Index: /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/sys_mgmt/email/email.controller.js
===================================================================
--- /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/sys_mgmt/email/email.controller.js	(revision 9233)
+++ /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/sys_mgmt/email/email.controller.js	(working copy)
@@ -33,11 +33,63 @@
                 email: '',
                 password: ''
             };
+            avxViewModel.showPassword = false;
             avxViewModel.relay = {
                 enable: false
             };
             avxViewModel.relay_data = [];
             
+            // Form validation function
+            avxViewModel.isFormInvalid = function(form, fromString) {
+                return form.$invalid || 
+                       form.from_string.$error.email || 
+                       form.from_string.$error.maxlength || 
+                       (fromString && fromString.length > 64);
+            };
+            
+            // External sender form validation function
+            avxViewModel.isExternalSenderFormInvalid = function(form, email) {
+                var password = avxViewModel.externalSender.password;
+                return form.$invalid || 
+                       form.external_sender_email.$error.email || 
+                       form.external_sender_email.$error.maxlength || 
+                       (email && email.length > 32) ||
+                       !password || // Password required
+                       password.length === 0 ||
+                       (password && password.length > 64); // Password length check
+            };
+            
+            // Hostname validation function
+            avxViewModel.isValidHostname = function(hostname) {
+                if (!hostname) return true; // Empty is valid
+                
+                // IP address regex (IPv4)
+                var ipRegex = /^(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))$/;
+                
+                // FQDN regex
+                var fqdnRegex = /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)*[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?$/;
+                
+                return ipRegex.test(hostname) || fqdnRegex.test(hostname);
+            };
+            
+            // Alert form validation function
+            avxViewModel.isAlertFormInvalid = function(form, hostname) {
+                return (hostname && hostname.length > 128) || 
+                       (hostname && !avxViewModel.isValidHostname(hostname));
+            };
+            
+            // External server form validation function
+            avxViewModel.isExternalServerFormInvalid = function(form, emailServer) {
+                var port = avxViewModel.externalServer.server_port;
+                var isPortValid = (port === null || port === undefined || port === '' || (port >= 0 && port <= 65535));
+                
+                return !emailServer || // Required field check
+                       emailServer.length === 0 ||
+                       (emailServer && emailServer.length > 64) || 
+                       (emailServer && !avxViewModel.isValidHostname(emailServer)) ||
+                       !isPortValid; // Port validation - allow empty
+            };
+            
             // Define showProgressBar function early so it can be used by all functions
             var showProgressBar = function() {
                 var modalInstance = $uibModal.open({
@@ -329,22 +381,11 @@
             avxViewModel.refreshRelayList();
             
             avxViewModel.saveEmail = function(from) {
-                var reminder = $filter('T')('Warning: This operation will take approximately 1–2 minutes. Please do not refresh the page or perform other actions until it is completed.');
-                var action_reminder = confirm(reminder);
-                
-                if (!action_reminder) {
-                    avxViewModel.email.from_string = avxViewModel.originalFromString;
-                    from.$dirty = true;
-                    return;
-                }
-                
                 showProgressBar();
                 sysResourceService
                     .update_email(avxViewModel.email.from_string || "")
                     .then(function(res) {
-                        setTimeout(function() {
-                            $rootScope.$broadcast('endLoading', true);
-                        }, 60000);
+                        $rootScope.$broadcast('endLoading', true);
                         
                         if (res&&res.status === 200) {
                             if (!res.data[0]) {
@@ -352,23 +393,20 @@
                                 from.$dirty=true;
                             } else {
                                 from.$dirty=false;
-
                                 avxViewModel.originalFromString = avxViewModel.email.from_string;
                             }
                         } else {
                             alert("Internal error.");
                             from.$dirty=true;
                         }
-                });
+                    })
+                    .catch(function(error) {
+                        $rootScope.$broadcast('endLoading', true);
+                        alert("Internal error.");
+                        from.$dirty=true;
+                    });
             };
             avxViewModel.saveAlert = function(form) {
-                var reminder = $filter('T')('Warning: This operation will take approximately 1–2 minutes. Please do not refresh the page or perform other actions until it is completed.');
-                var action_reminder = confirm(reminder);
-                
-                if (!action_reminder) {
-                    return;
-                }
-                
                 showProgressBar();
                 var post_data = {
                     host_string: avxViewModel.alert.hostname || "",
@@ -409,6 +447,8 @@
                                 form.$dirty=true;
                             } else {
                                 form.$dirty=false;
+                                // Refresh external mail server data after successful save
+                                get_external_mail_info();
                             }
                         } else {
                             alert("Internal error.");
@@ -507,6 +547,31 @@
             };
             avxViewModel.loading = false;
             
+            // Hostname validation function (same as main email controller)
+            avxViewModel.isValidHostname = function(hostname) {
+                if (!hostname) return true; // Empty is valid
+                
+                // IP address regex (IPv4)
+                var ipRegex = /^(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))$/;
+                
+                // FQDN regex
+                var fqdnRegex = /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)*[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?$/;
+                
+                return ipRegex.test(hostname) || fqdnRegex.test(hostname);
+            };
+            
+            // Form validation function
+            avxViewModel.isFormInvalid = function(form, hostname, relayServer) {
+                return !hostname || // Required field check
+                       !relayServer || // Required field check
+                       hostname.length === 0 ||
+                       relayServer.length === 0 ||
+                       (hostname && hostname.length > 50) || 
+                       (relayServer && relayServer.length > 30) ||
+                       (hostname && !avxViewModel.isValidHostname(hostname)) ||
+                       (relayServer && !avxViewModel.isValidHostname(relayServer));
+            };
+            
             var showProgressBar = function() {
                 var modalInstance = $uibModal.open({
                     templateUrl: 'app/modules/common/templates/progress.html',
@@ -537,6 +602,16 @@
                             if (!res.data[0]) {
                                 alert(res.data[1]);
                             } else {
+                                // Check for warnings even when API call succeeds
+                                if (res.data[2] && Array.isArray(res.data[2])) {
+                                    var warnings = res.data[2];
+                                    for (var i = 0; i < warnings.length; i++) {
+                                        if (warnings[i][0] === "warning") {
+                                            alert(warnings[i][1]);
+                                            return; // Don't close modal if there's a warning
+                                        }
+                                    }
+                                }
                                 $uibModalInstance.close();
                             }
                         } else {
Index: /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/sys_mgmt/email/email.html
===================================================================
--- /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/sys_mgmt/email/email.html	(revision 9233)
+++ /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/sys_mgmt/email/email.html	(working copy)
@@ -8,12 +8,14 @@
                     <div class="form-group">
                         <label class="col-md-3 control-label">{{'From'|T}}</label>
                         <div class="col-md-6">
-                            <input ng-verify="required:false" type="email" name="from_string" class="form-control" placeholder="{{sys_email.emailPlaceholder}}" ng-model="sys_email.email.from_string" resettable>
+                            <input ng-verify="required:false, maxlength:64" type="email" name="from_string" class="form-control" placeholder="{{sys_email.emailPlaceholder}}" ng-model="sys_email.email.from_string" resettable>
+                            <p class="help-block" ng-show="sender.from_string.$error.email && (sender.from_string.$dirty || sender.$submitted)" style="font-size:12px; margin-top:5px; color:#d9534f;">{{'Please enter a valid email address'|T}}</p>
+                            <p class="help-block" ng-show="sys_email.email.from_string && sys_email.email.from_string.length > 64" style="font-size:12px; margin-top:5px; color:#d9534f;">{{'Please do not exceed 64 characters'|T}}</p>
                         </div>
                     </div>
                     <div class="form-group" ng-show="sys_email.email.from_string !== sys_email.originalFromString">
                         <div class="col-md-offset-3 col-md-9">
-                            <button type="submit" ng-verify="control:'sender'" class="btn btn-primary" ng-click="sys_email.saveEmail(sys_email.email.from_string, sender)">{{'Apply Changes'|T}}</button>
+                            <button type="submit" class="btn btn-primary" ng-click="sys_email.saveEmail(sys_email.email.from_string, sender)" ng-disabled="sys_email.isFormInvalid(sender, sys_email.email.from_string)">{{'Apply Changes'|T}}</button>
                             <button type="reset" class="btn btn-default btn-cancel" ng-click="sys_email.email.from_string=sys_email.originalFromString">{{'Cancel'|T}}</button>
                         </div>
                     </div>
@@ -33,7 +35,9 @@
                     <div class="form-group">
                         <label class="col-md-3 control-label">{{'Hostname'|T}}</label>
                         <div class="col-md-6">
-                            <input type="text" name="hostname" class="form-control" placeholder="{{sys_email.alertHostnamePlaceholder}}" ng-model="sys_email.alert.hostname" resettable>
+                            <input ng-verify="required:false, maxlength:128" type="text" name="hostname" class="form-control" placeholder="{{sys_email.alertHostnamePlaceholder}}" ng-model="sys_email.alert.hostname" resettable>
+                            <p class="help-block" ng-show="sys_email.alert.hostname && sys_email.alert.hostname.length > 128" style="font-size:12px; margin-top:5px; color:#d9534f;">{{'Please do not exceed 128 characters'|T}}</p>
+                            <p class="help-block" ng-show="sys_email.alert.hostname && !sys_email.isValidHostname(sys_email.alert.hostname)" style="font-size:12px; margin-top:5px; color:#d9534f;">{{'Please enter a valid IP address or FQDN'|T}}</p>
                         </div>
                     </div>
                     <div class="form-group">
@@ -44,7 +48,7 @@
                     </div>
                     <div class="form-group" ng-show="alert.$dirty">
                         <div class="col-md-offset-3 col-md-9">
-                            <button type="submit" class="btn btn-primary" ng-click="sys_email.saveAlert(alert)">{{'Apply Changes'|T}}</button>
+                            <button type="submit" class="btn btn-primary" ng-click="sys_email.saveAlert(alert)" ng-disabled="sys_email.isAlertFormInvalid(alert, sys_email.alert.hostname)">{{'Apply Changes'|T}}</button>
                             <button type="reset" class="btn btn-default btn-cancel" ng-click="alert.$dirty=false;sys_email.cancel()">{{'Cancel'|T}}</button>
                         </div>
                     </div>
@@ -72,12 +76,15 @@
                         <label class="col-md-3 control-label">{{'External Email Server'|T}}</label>
                         <div class="col-md-6">
                             <input type="text" name="email_server" class="form-control" placeholder="" ng-model="sys_email.externalServer.email_server" ng-verify="required:true, minlength:1, maxlength:64, pattern:'^(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)*[a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?)$'" resettable>
+                            <p class="help-block" ng-show="sys_email.externalServer.email_server && sys_email.externalServer.email_server.length > 64" style="font-size:12px; margin-top:5px; color:#d9534f;">{{'Please do not exceed 64 characters'|T}}</p>
+                            <p class="help-block" ng-show="sys_email.externalServer.email_server && !sys_email.isValidHostname(sys_email.externalServer.email_server)" style="font-size:12px; margin-top:5px; color:#d9534f;">{{'Please enter a valid IP address or hostname'|T}}</p>
                         </div>
                     </div>
                     <div class="form-group">
                         <label class="col-md-3 control-label">{{'Server Port'|T}}</label>
                         <div class="col-md-6">
-                            <input type="number" name="server_port" class="form-control" placeholder="25" ng-model="sys_email.externalServer.server_port" min="0" max="65535" ng-verify="required:true" resettable>
+                            <input type="number" name="server_port" class="form-control" placeholder="25" ng-model="sys_email.externalServer.server_port" resettable>
+                            <p class="help-block" ng-show="sys_email.externalServer.server_port !== null && sys_email.externalServer.server_port !== undefined && sys_email.externalServer.server_port !== '' && (sys_email.externalServer.server_port > 65535 || sys_email.externalServer.server_port < 0)" style="font-size:12px; margin-top:5px; color:#d9534f;">{{'Please enter a valid port number (0-65535)'|T}}</p>
                         </div>
                     </div>
                     <div class="form-group">
@@ -93,7 +100,7 @@
                     </div>
                     <div class="form-group" ng-show="externalServer.$dirty">
                         <div class="col-md-offset-3 col-md-9">
-                            <button type="submit" ng-verify="control:'externalServer'" class="btn btn-primary" ng-click="sys_email.saveExternalMailServer(externalServer)">{{'Apply Changes'|T}}</button>
+                            <button type="submit" class="btn btn-primary" ng-click="sys_email.saveExternalMailServer(externalServer)" ng-disabled="sys_email.isExternalServerFormInvalid(externalServer, sys_email.externalServer.email_server)">{{'Apply Changes'|T}}</button>
                             <button type="reset" class="btn btn-default btn-cancel" ng-click="externalServer.$dirty=false;sys_email.cancel()">{{'Cancel'|T}}</button>
                         </div>
                     </div>
@@ -114,17 +121,28 @@
                         <label class="col-md-3 control-label">{{'Email'|T}}</label>
                         <div class="col-md-6">
                             <input type="email" name="external_sender_email" class="form-control" placeholder="" ng-model="sys_email.externalSender.email" ng-verify="required:true, minlength:1, maxlength:32" resettable>
+                            <p class="help-block" ng-show="externalSender.external_sender_email.$error.email && (externalSender.external_sender_email.$dirty || externalSender.$submitted)" style="font-size:12px; margin-top:5px; color:#d9534f;">{{'Please enter a valid email address'|T}}</p>
+                            <p class="help-block" ng-show="sys_email.externalSender.email && sys_email.externalSender.email.length > 32" style="font-size:12px; margin-top:5px; color:#d9534f;">{{'Please do not exceed 32 characters'|T}}</p>
                         </div>
                     </div>
                     <div class="form-group">
                         <label class="col-md-3 control-label">{{'Password'|T}}</label>
                         <div class="col-md-6">
-                            <input type="password" name="external_sender_password" class="form-control" placeholder="" ng-model="sys_email.externalSender.password" ng-verify="required:true, minlength:1, maxlength:64" resettable>
+                            <div class="input-group">
+                                <input type="{{sys_email.showPassword ? 'text' : 'password'}}" name="external_sender_password" class="form-control" placeholder="" ng-model="sys_email.externalSender.password" ng-verify="required:true, minlength:1, maxlength:64" resettable>
+                                <span class="input-group-btn" ng-show="!sys_email.externalSender.password || !sys_email.externalSender.password.match(/^\*+$/)">
+                                    <button class="btn btn-default" type="button" ng-click="sys_email.showPassword = !sys_email.showPassword" title="{{sys_email.showPassword ? 'Hide Password' : 'Show Password'}}">
+                                        <i class="fa" ng-class="sys_email.showPassword ? 'fa-eye-slash' : 'fa-eye'"></i>
+                                    </button>
+                                </span>
+                            </div>
+                            <p class="help-block" ng-show="!sys_email.externalSender.password && (externalSender.external_sender_password.$dirty || externalSender.external_sender_password.$touched || externalSender.$submitted)" style="font-size:12px; margin-top:5px; color:#d9534f;">{{'Password is required'|T}}</p>
+                            <p class="help-block" ng-show="sys_email.externalSender.password && sys_email.externalSender.password.length > 64" style="font-size:12px; margin-top:5px; color:#d9534f;">{{'Please do not exceed 64 characters'|T}}</p>
                         </div>
                     </div>
                     <div class="form-group" ng-show="externalSender.$dirty">
                         <div class="col-md-offset-3 col-md-9">
-                            <button type="submit" ng-verify="control:'externalSender'" class="btn btn-primary" ng-click="sys_email.saveExternalSender(externalSender)">{{'Apply Changes'|T}}</button>
+                            <button type="submit" class="btn btn-primary" ng-click="sys_email.saveExternalSender(externalSender)" ng-disabled="sys_email.isExternalSenderFormInvalid(externalSender, sys_email.externalSender.email)">{{'Apply Changes'|T}}</button>
                             <button type="reset" class="btn btn-default btn-cancel" ng-click="externalSender.$dirty=false;sys_email.cancel()">{{'Cancel'|T}}</button>
                         </div>
                     </div>
@@ -152,10 +170,9 @@
                         </div>
                     </div>
                 </div>
-                <div class="table-toolbar"> 
+                <div class="table-toolbar">
                     <div class="">
                         <div class="btn-group">
-                            <button class="btn btn-link hive_enable_active" title="{{'Refresh'|T}}" ng-click="sys_email.refreshRelayList()"><i class="fa fa-refresh"></i></button>
                             <button class="btn btn-link" title="{{'Add'|T}}" ng-click="sys_email.showRelayAddModal()"><i class="fa fa-plus-circle"></i></button>
                             <button class="btn btn-link" title="{{'Clear All'|T}}" ng-click="sys_email.clearAllRelayServers()"><i class="fa fa-times-circle"></i></button>
                         </div>
@@ -176,7 +193,7 @@
                                     <td>{{row.host_name}}</td>
                                     <td>{{row.relay_server}}</td>
                                     <td>
-                                        <a title="{{'Delete'|T}}" class="fa fa-times-circle" href="" ng-click="sys_email.deleteRelay(row)"><span style="margin-left: 8px; font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;">{{'Delete'|T}}</span></a>
+                                        <a title="{{'Delete'|T}}" class="fa fa-times-circle" href="" ng-click="sys_email.deleteRelay(row)"><span style="margin-left: 8px; font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;"></span></a>
                                     </td>
                                 </tr>
                             </tbody>
Index: /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/sys_mgmt/email/relay-add.html
===================================================================
--- /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/sys_mgmt/email/relay-add.html	(revision 9233)
+++ /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/modules/system/submenu/sys_mgmt/email/relay-add.html	(working copy)
@@ -11,12 +11,16 @@
                     <label class="col-md-3 control-label">{{'Hostname'|T}}</label>
                     <div class="col-md-9">
                         <input ng-verify="required:true, minlength:1, maxlength:50" type="text" class="form-control" placeholder="" ng-model="relayAdd.data.host_name" name="host_name">
+                        <p class="help-block" ng-show="relayAdd.data.host_name && relayAdd.data.host_name.length > 50" style="font-size:12px; margin-top:5px; color:#d9534f;">Please do not exceed 50 characters</p>
+                        <p class="help-block" ng-show="relayAdd.data.host_name && !relayAdd.isValidHostname(relayAdd.data.host_name)" style="font-size:12px; margin-top:5px; color:#d9534f;">Please enter a valid IP address or FQDN</p>
                     </div>
                 </div>
                 <div class="form-group">
                     <label class="col-md-3 control-label">{{'Relay Server'|T}}</label>
                     <div class="col-md-9">
                         <input ng-verify="required:true, minlength:1, maxlength:30" type="text" class="form-control" placeholder="" ng-model="relayAdd.data.relay_server" name="relay_server">
+                        <p class="help-block" ng-show="relayAdd.data.relay_server && relayAdd.data.relay_server.length > 30" style="font-size:12px; margin-top:5px; color:#d9534f;">Please do not exceed 30 characters</p>
+                        <p class="help-block" ng-show="relayAdd.data.relay_server && !relayAdd.isValidHostname(relayAdd.data.relay_server)" style="font-size:12px; margin-top:5px; color:#d9534f;">Please enter a valid IP address or FQDN</p>
                     </div>
                 </div>
             </form>
@@ -25,5 +29,5 @@
 </div>
 <div class="modal-footer">
     <button type="button" class="btn btn-default" ng-click="relayAdd.modalClose()">{{'Cancel'|T}}</button>
-    <button ng-verify="control:'relayForm'" type="button" disabled="relayAdd.loading" class="btn btn-primary" ng-click="relayAdd.add(relayAdd.data)">{{'Save'|T}}</button>
+    <button type="button" disabled="relayAdd.loading" class="btn btn-primary" ng-click="relayAdd.add(relayAdd.data)" ng-disabled="relayAdd.isFormInvalid(relayForm, relayAdd.data.host_name, relayAdd.data.relay_server)">{{'Save'|T}}</button>
 </div>
Index: /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/scripts/avx.built.fcd117a5.js
===================================================================
--- /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/scripts/avx.built.fcd117a5.js	(revision 0)
+++ /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/app/scripts/avx.built.fcd117a5.js	(working copy)
@@ -0,0 +1,127 @@
+function _typeof(a){return a&&"undefined"!=typeof Symbol&&a.constructor===Symbol?"symbol":typeof a}function getI18NString(a){if(!i18n[lang])return a;var b=i18n[lang][a];return void 0===b?a:b}function GridBackground(a){this.graph=a,a.onPropertyChange("viewport",this.update.bind(this)),a.onPropertyChange("transform",this.update.bind(this)),this.canvas=Q.createCanvas(a.width,a.height,!0),this.canvas.style.position="absolute",this.canvas.style.top="0px",this.canvas.style["-webkit-user-select"]="none",this.canvas.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",a.canvasPanel.insertBefore(this.canvas,a.canvasPanel.firstChild),this.update()}function setButtonByTab(a,b){for(var c=[],d=0;d<a.ngVerify.elems.length;d++)a.ngVerify.elems[d].is(":visible")&&c.push(a.ngVerify.elems[d]);checkAll(c,b).hasError?DisableButtons(a.ngVerify.subBtn,!0):DisableButtons(a.ngVerify.subBtn,!1)}function isEmptyObject(a){if("object"!=typeof a)return!1;var b;for(b in a)return!1;return!0}function formatOpt(str,iElm){"{"!=str.charAt(0)&&(str="{"+str+"}");try{return eval("("+str+")")}catch(e){console.error("ngVerify options has error:"),console.error(iElm)}}function Init(a,b){var c=a.ngVerify.$scope,d=a.ngVerify.iAttrs,e=a.ngVerify.OPTS,f={message:b("T")("Mandatory"),required:!0,option:0,min:d.minlength,max:d.maxlength,min_length:void 0,max_length:void 0,union_require:void 0,skip_chainese_verify:!1,errorClass:"verifyError",disabled:!0,least:1,tipStyle:c.ngVerify.tipStyle>=0?c.ngVerify.tipStyle:1};if("radio"==d.type&&e.least&&(console.warn("least is not radio's effective parameter:"),console.warn(a),e.least=f.least),e=angular.extend({},f,e),a.ngVerify.OPTS=e,a.attr({maxlength:e.max,minlength:e.min}),e.control||"submit"==d.type)c.ngVerify.subBtn.push(a),a.on("click",function(){c.ngVerify.submit()});else{c.ngVerify.elems.push(a);var g="checkbox"==d.type||"radio"==d.type,h=angular.element('<div class="verifyTips"><p class="tipStyle-'+e.tipStyle+'"><span class="tipMsg"></span><i></i></p></div>');a.ngVerify.errtip={tip:h.find("p"),message:h.find("span")};var i=a.parent();if(g&&"label"==i[0].localName?(i=i.parent(),i.append(h)):a.after(h),"textarea"==a[0].localName&&1==e.tipStyle&&a.on("click",function(){return a.ngVerify.errtip.tip.css("top",a[0].offsetHeight*-1+"px"),!1}),e.recheck){var j,k=getDom(e.recheck);angular.forEach(c.ngVerify.elems,function(a){if(a[0]===k)return j=a,!1}),j.ngVerify.recheck||(j.ngVerify.recheck={recheckDoms:[]}),j.ngVerify.recheck.recheckDoms.push(a),a.ngVerify.recheck={mainDom:j,getValue:function(){return j[0].value}}}if(bindVaild(a,b),g)for(var l=document.getElementsByName(d.name),m=0;m<l.length;m++)l[m]!=a[0]&&angular.element(l[m]).on("change",function(){a.triggerHandler("change")})}setTimeout(function(){a[0].addEventListener("DOMNodeRemovedFromDocument",function(){var f;f=e.control||"submit"==d.type?c.ngVerify.subBtn:c.ngVerify.elems;for(var g=0;g<f.length;g++)f[g]==a&&f.splice(g,1);var h=checkAll(c.ngVerify.elems,b).hasError;DisableButtons(c.ngVerify.subBtn,h)})}),checkAll(c.ngVerify.elems,b).hasError&&DisableButtons(c.ngVerify.subBtn,!0)}function bindVaild(a,b){function c(){ISVALID(a,b)||(tipMsg(a,!1),makeError(a,!0),DisableButtons(e.ngVerify.subBtn,!0))}function d(){var c=ISVALID(a,b);if(c){var d=checkAll(e.ngVerify.elems,b);if(DisableButtons(e.ngVerify.subBtn,d.hasError),a.ngVerify.recheck){var f=a.ngVerify.recheck.recheckDoms;if(f)for(var g=0;g<f.length;g++)f[g].val()&&makeError(f[g],!ISVALID(f[g],b))}}else DisableButtons(e.ngVerify.subBtn,!0);(a.ngVerify.invalid||j)&&(makeError(a,!c),tipMsg(a,!c))}var e=a.ngVerify.$scope,f=a.ngVerify.scope,g=a.ngVerify.iAttrs,h="",i="",j="checkbox"==g.type||"radio"==g.type;"number"==g.type&&a.on("keypress",function(a){"e"===a.key&&a.preventDefault()}),g.ngModel&&f.$watch(g.ngModel,function(b,c){null==b&&null==c||(null==b||isEmptyObject(b)?a.ngVerify.modelValue=null:a.ngVerify.modelValue="number"==g.type?Number(b):String(b),void 0===a[0].value&&isEmptyObject(b)&&a[0].focus(),d())}),void 0===a[0].value?(h="blur",a.attr("tabindex",0),a.ngVerify.triggerInput=angular.element(a[0].querySelector("input")),a.ngVerify.triggerInput.on("blur",function(){c()}).on("change",function(){d()})):j?i="change":(h="blur",i="change keyup"),a.on(h,function(){c()}).on(i,function(){d()}).on("focus",function(){a.ngVerify.invalid&&tipMsg(a,!0)})}function tipMsg(a,b){var c=a.ngVerify.OPTS;if(0!=c.tipStyle){var d=a.ngVerify.errtip,e=c.errmsg?c.errmsg:c.message;a[0]._verifySetError&&(e=a[0]._verifySetError),d.message.text(e),d.tip.toggleClass("showTip-"+c.tipStyle,b),1==c.tipStyle&&d.tip.css("top",a[0].offsetHeight*-1+"px")}}function makeError(a,b){var c=a.ngVerify.OPTS.errorClass,d=a.parent();a.ngVerify.invalid=b,"checkbox"!=a[0].type&&"radio"!=a[0].type||("label"==d[0].localName&&(d=d.parent()),a=d,a.toggleClass(c+"-dash",b)),a.toggleClass(c,b)}function DisableButtons(a,b){for(var c=0;c<a.length;c++)a[c].ngVerify.OPTS.disabled&&(a[c].prop("disabled",b),"a"===a[c][0].localName&&(console.error(a[c],"<a> tag has no 'disabled' attrbute, please use <button> or <input>."),a[c].css({background:"#bd3a41",color:"#fff"})))}function brotherNodeList(a){for(var b=[],c=a.parentNode.children,d=0,e=c.length;d<e;d++)c[d]!==a&&b.push(c[d]);return b}function unionRender(a,b){if(!a.hasClass("tab-pane"))return!0;for(var c=brotherNodeList(a[0]),d=!0,e=[],f=0;f<c.length;f++)c[f].classList.contains("tab-pane")&&(c[f].classList.contains("active")?e.push(!0):e.push(!1));a.hasClass("tab-pane")&&(a.hasClass("active")?e.push(!0):e.push(!1));for(var g=0;g<e.length;g++)e[g]&&(d=!1);return(1!=b.union_require||!d)&&void 0}function ISVALID(a,b){var c,d,e=a.ngVerify.iAttrs,f=a.ngVerify.OPTS;if("none"==a[0].style.display)return!0;var g=a.parent().parent(),h=a.parent().parent().parent(),i=a.parent().parent().parent().parent();if(0==f.union_require)return!0;if(0==unionRender(g,f))return!1;if(0==unionRender(h,f))return!1;if(0==unionRender(i,f))return!1;if(!g.hasClass("active")&&g.hasClass("tab-pane"))return!0;if(!h.hasClass("active")&&h.hasClass("tab-pane"))return!0;if(!i.hasClass("active")&&i.hasClass("tab-pane"))return!0;if(a[0]._verifySetError)return!1;if("checkbox"==e.type||"radio"==e.type){for(var j=document.getElementsByName(a.attr("name")),k=0,l=0;l<j.length;l++)j[l].checked&&k++;return k>=f.least||(f.message=b("T")("Select at least ")+f.least+b("T")("option(s)"),!1)}if("select"==a[0].localName){var m=!1;if(a[0].value)for(var l=a[0].length-1;l>=0;l--)if(a[0][l].value===a[0].value){m=!0;break}return!(a[0].selectedIndex===f.option&&!m)||(f.message=b("T")("Please select"),!1)}if(d=void 0!==a[0].value?null!=a.val()?a.val():a.ngVerify.modelValue:e.ngModel?a.ngVerify.modelValue:a.text(),null==d&&(d=""),d=d.trim(),f.required&&""==d)return"number"==e.type?f.message=b("T")("Enter numbers"):f.message=b("T")("Mandatory"),!1;if(!f.required&&""==d)return!0;if(!f.skip_chainese_verify){var n=/[\u4e00-\u9fa5]/;if(n.test(d))return f.message=b("T")("Does not support Chinese"),!1}if(d.length<f.min)return f.message=b("T")("At least ")+f.min+b("T")("character(s)"),!1;if(d.length>f.max)return f.message=b("T")("Up to ")+f.max+b("T")("character(s)"),!1;if(f.pattern)c=f.pattern,c.name="";else switch(e.type){case"number":c=/^[-+]?\d+(\d+)?$/,c.name="number";break;case"hex_number":c=/^[0x|0X]*[0-9a-fA-F]+$/,c.name="hex";break;case"email":c=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/,c.name="email";break;case"phone":c=/^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/,c.name="phone";break;case"url":c=/^(http|ftp|https):\/\/[\S\s]+$/,c.name="url";break;case"char":c=/^[A-Za-z_]+$/,c.name="char";break;case"ipv4":c=/^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})){3}$/,c.name="ipv4";break;case"ipv6":c=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,c.name="ipv6";break;case"ip":c=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})){3}$)|^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,c.name="ip";break;case"mac":c=/^([0-9a-fA-F]{1,2})(([/\s:][0-9a-fA-F]{1,2}){5})$/,c.name="mac";break;case"netmask":c=/(^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})){3}$)|(^(?![^123].)(?!3[3-9])[0-9]\d?$)/,c.name="netmask";break;case"dates":c=d.length>10?/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29) (\d{2}):(\d{2})(:(\d{2}))?$/:7===d.length?/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])))$/:/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/,c.name="date"}if(f.min_length||f.max_length||0==f.min_length){if(d<f.min_length)return f.message=b("T")("The minimum value for this field is: ")+f.min_length.toString(),!1;if(d>f.max_length)return f.message=b("T")("The maximum value for this field is: ")+f.max_length.toString(),!1}return c?null!=d.match(c)||(f.message=c.name+b("T")("Format error"),!1):!f.recheck||d===a.ngVerify.recheck.getValue()||(f.message=b("T")("Two inputs do not match."),!1)}function checkAll(a,b){for(var c={hasError:!1,errEls:[]},d=0;d<a.length;d++)ISVALID(a[d],b)||c.errEls.push(a[d]);return c.hasError=!!c.errEls.length,c}function XDRInfosec(userOptions){if(window.XDomainRequest){var xdr=null,postData="",userType=(userOptions.dataType||"").toLowerCase();xdr=new XDomainRequest,/^\d+$/.test(userOptions.timeout)&&(xdr.timeout=userOptions.timeout),xdr.ontimeout=function(){userOptions.error(500,"timeout")},xdr.onload=function(){var allResponseHeaders="Content-Length: "+xdr.responseText.length+"\r\nContent-Type: "+xdr.contentType,status={code:200,message:"success"},responses={text:xdr.responseText};try{if("html"===userType||/text\/html/i.test(xdr.contentType))responses.html=xdr.responseText;else if("json"===userType||"text"!==userType&&/\/json/i.test(xdr.contentType))try{responses.json=$.parseJSON(xdr.responseText)}catch(e){status.code=500,status.message="parseerror"}else if("xml"===userType||"text"!==userType&&/\/xml/i.test(xdr.contentType)){var doc=new ActiveXObject("Microsoft.XMLDOM");doc.async=!1;try{doc.loadXML(xdr.responseText)}catch(e){doc=void 0}if(!doc||!doc.documentElement||doc.getElementsByTagName("parsererror").length)throw status.code=500,status.message="parseerror","Invalid XML: "+xdr.responseText;responses.xml=doc}}catch(e){throw e}finally{200==status.code&&"success"==status.message?(result=eval("("+xdr.responseText+")"),userOptions.success(result)):userOptions.error(status.code,"error",responses)}},xdr.onprogress=function(){},xdr.onerror=function(){userOptions.error(500,"error",{text:xdr.responseText})},userOptions.data&&(postData=userOptions.data),xdr.open(userOptions.method,userOptions.url),xdr.send(postData)}}function ajaxInfosec(opts){if(window.XDomainRequest)return void XDRInfosec(opts);var defaults={method:"GET",dataType:"json",url:"",data:"",async:!0,cache:!0,contentType:"application/x-www-form-urlencoded",success:function(){},error:function(){},custom:function(){},complete:function(){}};for(var key in opts)defaults[key]=opts[key];if("object"==typeof defaults.data){var str="",value="";for(var key in defaults.data)value=defaults.data[key],defaults.data[key].indexOf("&")!==-1&&(value=defaults.data[key].replace(/&/g,escape("&"))),key.indexOf("&")!==-1&&(key=key.replace(/&/g,escape("&"))),str+=key+"="+value+"&";defaults.data=str.substring(0,str.length-1)}defaults.method=defaults.method.toUpperCase(),defaults.cache=defaults.cache?"":"&"+(new Date).getTime(),"GET"===defaults.method&&(defaults.data||defaults.cache)&&(defaults.url+="?"+defaults.data+defaults.cache);var oXhr=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");if(oXhr.open(defaults.method,defaults.url,defaults.async),oXhr.setRequestHeader("Accept","application/json, text/javascript, */*; q=0.01"),"GET"===defaults.method?oXhr.send(null):(oXhr.setRequestHeader("Content-type",defaults.contentType),oXhr.send(defaults.data)),defaults.async)oXhr.onreadystatechange=function(){if(4===oXhr.readyState)if(200===oXhr.status){var result;result="json"===defaults.dataType?eval("("+oXhr.responseText+")"):oXhr.responseText,defaults.success.call(oXhr,result)}else defaults.error()};else if(4===oXhr.readyState)if(200===oXhr.status){var result;result="json"===defaults.dataType?eval("("+oXhr.responseText+")"):oXhr.responseText,defaults.success.call(oXhr,result)}else defaults.error.call(oXhr,oXhr.responseText)}function GetPlanTextForConvertMode(a){var b=a;if("\r\n"==m_PlanTextConvertMode){var c=b.search("\n"),d=b.search("\r");return c-d!=1&&c>=1&&d==-1&&(b=b.replace(/\n/g,"\r\n")),b}if("\n"==m_PlanTextConvertMode){var c=b.search("\n"),d=b.search("\r");return c-d==1&&c>=1&&d>-1&&(b=b.replace(/\r\n/g,"\n")),b}return b}function BASE64URLEN(a){if(void 0==a)return"";var b=a;return b=b.replace(/\+/g,"-"),b=b.replace(/\//g,"_")}function BASE64URLDE(a){if(void 0==a)return"";var b=a;return b=b.replace(/-/g,"+"),b=b.replace(/_/g,"/")}function JointSendData(a,b){var c="";if(b.length!=a.length||b.length<0)return c;for(var d=0;d<b.length;d++)b[d]=encodeURIComponent(b[d]),b[d]=encodeURIComponent(b[d]),c+=a[d],c+=b[d];return c}function JsonPlantextSpecialCharProcess(a){return""==a||void 0==a?"":(a=decodeURIComponent(a),a=decodeURIComponent(a))}function GetPortForIE(){try{var a=new ActiveXObject("InfosecIWSAComPort.InfosecComPortMain.1"),b=a.GetPort();return b<=0?0:(m_StorePort=b,b)}catch(a){return 0}}function sendAjaxSniffingData(a){var b=Math.random(),c=SendToIp+a+"/PortRight?randtmp="+b,d=0;return"Microsoft Internet Explorer"==navigator.appName?GetPortForIE():(ajaxInfosec({url:c,method:"GET",timeout:100,data:"",async:!1,dataType:"json",beforeSend:function(){},complete:function(a,b){},error:function(a,b,c){d=0},success:function(b){return 0==b[0].errorCode?void(d=a):void(d=0)}}),d)}function sendAjaxSniffingDataAsync(a){var b=Math.random(),c=SendToIp+a+"/PortRight?randtmp="+b;ajaxInfosec({url:c,method:"GET",timeout:100,data:"",async:!0,dataType:"json",beforeSend:function(){},complete:function(a,b){},error:function(a,b,c){},success:function(b){if(0==b[0].errorCode)return void(m_StorePort=a)}})}function PortIsRight(){for(var a=0;a<PortList.length;a++)if(m_StorePort==PortList[a])return!0;return!1}function GetRightPORT(){var a=0;m_StorePort=0;for(var b=0;b<PortList.length;b++){var c=sendAjaxSniffingData(PortList[b]);if(c>0){a=c,m_StorePort=a;break}}return a}function AddFormListFromResponse(resultForm){if(""!=resultForm&&void 0!=resultForm){resultForm=JsonPlantextSpecialCharProcess(resultForm);var objForm=eval("("+resultForm+")");if(!(objForm.length<0))for(var i=0;i<objForm.length;i++)objForm[i].FormValue=JsonPlantextSpecialCharProcess(objForm[i].FormValue),m_ListFormResponsed.push(objForm[i].FormValue)}}function AddFileNameListFileNameResponse(resultFileName){if(""!=resultFileName&&void 0!=resultFileName){resultFileName=JsonPlantextSpecialCharProcess(resultFileName);var objFileName=eval("("+resultFileName+")");if(!(objFileName.length<0))for(var i=0;i<objFileName.length;i++)objFileName[i].FileNameValue=JsonPlantextSpecialCharProcess(objFileName[i].FileNameValue),m_ListFileNameResponsed.push(objFileName[i].FileNameValue)}}function GetStringAryMagic(){for(var a=new Array,b=0;b<arguments.length;b++)a[b]=arguments[b];return a}function SendDataSucceedProcess(a,b,c){if("GetVersion"==a)return void 0!=c?void c(b[0].Version):b[0].Version;if("NSBase64Encode"==a){var d=b[0].errorCode,e=b[0].TextData;return e=BASE64URLDE(e),void 0!=c?void c(d,e):GetStringAryMagic(d,e)}if("NSBase64Decode"==a){var e=b[0].TextData;return e=JsonPlantextSpecialCharProcess(e),void 0!=c?void c(b[0].errorCode,e):GetStringAryMagic(b[0].errorCode,e)}if("NSHashAndBase64Encode"==a){var e=b[0].TextData;return e=BASE64URLDE(e),void 0!=c?void c(b[0].errorCode,e):GetStringAryMagic(b[0].errorCode,e)}if("NSDetachedSign"==a||"NSDetachedSignDefaultDN"==a||"NSSignHash"==a){var f=b[0].signedData;return f=BASE64URLDE(f),void 0!=c?void c(b[0].errorCode,f):GetStringAryMagic(b[0].errorCode,f)}if("NSDetachedVerify"==a||"NSVerifyHash"==a)return void 0!=c?void c(b[0].errorCode):b[0].errorCode;if("NSBigFileDetachedSign"==a||"NSBigFileDetachedSignDefaultDN"==a){var f=b[0].signedData;return f=BASE64URLDE(f),void 0!=c?void c(b[0].errorCode,f):GetStringAryMagic(b[0].errorCode,f)}if("NSBigFileHash"==a){var g=b[0].hashData;return g=BASE64URLDE(g),void 0!=c?void c(b[0].errorCode,g):GetStringAryMagic(b[0].errorCode,g)}if("NSBigFileDetachedVerify"==a)return void 0!=c?void c(b[0].errorCode):b[0].errorCode;if("NSSkfGetCertsListInfo"==a){var h=0;for(h=0;h<b.length;h++)b[h].certDN=JsonPlantextSpecialCharProcess(b[h].certDN),b[h].issuerDN=JsonPlantextSpecialCharProcess(b[h].issuerDN),b[h].certSN=JsonPlantextSpecialCharProcess(b[h].certSN),b[h].validBegin=JsonPlantextSpecialCharProcess(b[h].validBegin),b[h].validEnd=JsonPlantextSpecialCharProcess(b[h].validEnd),b[h].CertStore=JsonPlantextSpecialCharProcess(b[h].CertStore),b[h].KeyUsage=JsonPlantextSpecialCharProcess(b[h].KeyUsage),b[h].CertType=JsonPlantextSpecialCharProcess(b[h].CertType);return ReturnOnlyOneParameter(b,c)}if("NSSkfAttachedSign"==a){var f=b[0].signedData;return f=BASE64URLDE(f),void 0!=c?void c(b[0].errorCode,f):GetStringAryMagic(b[0].errorCode,f)}if("NSSkfAttachedSign"==a||"NSSkfDetachedSign"==a||"NSSkfRawSign"==a){var f=b[0].signedData;return f=BASE64URLDE(f),void 0!=c?void c(b[0].errorCode,f):GetStringAryMagic(b[0].errorCode,f)}if("NSSkfAttachedVerify"==a){b[0].PlainText=JsonPlantextSpecialCharProcess(b[0].PlainText),b[0].Cert=JsonPlantextSpecialCharProcess(b[0].Cert),b[0].Cert=BASE64URLDE(b[0].Cert),b[0].certDN=JsonPlantextSpecialCharProcess(b[0].certDN),b[0].issuerDN=JsonPlantextSpecialCharProcess(b[0].issuerDN),b[0].certSN=JsonPlantextSpecialCharProcess(b[0].certSN),b[0].validBegin=JsonPlantextSpecialCharProcess(b[0].validBegin),b[0].validEnd=JsonPlantextSpecialCharProcess(b[0].validEnd);var i=b[0].certDN+" "+b[0].issuerDN+" "+b[0].certSN+" "+b[0].validBegin+" "+b[0].validEnd;return void 0!=c?void c(b[0].errorCode,b[0].PlainText,i,b[0].Cert):GetStringAryMagic(b[0].errorCode,b[0].PlainText,b[0].CertInfo,b[0].Cert)}if("NSSkfDetachedVerify"==a||"NSSkfRawVerify"==a){b[0].Cert=JsonPlantextSpecialCharProcess(b[0].Cert),b[0].Cert=BASE64URLDE(b[0].Cert),b[0].certDN=JsonPlantextSpecialCharProcess(b[0].certDN),b[0].issuerDN=JsonPlantextSpecialCharProcess(b[0].issuerDN),b[0].certSN=JsonPlantextSpecialCharProcess(b[0].certSN),b[0].validBegin=JsonPlantextSpecialCharProcess(b[0].validBegin),b[0].validEnd=JsonPlantextSpecialCharProcess(b[0].validEnd);var i=b[0].certDN+" "+b[0].issuerDN+" "+b[0].certSN+" "+b[0].validBegin+" "+b[0].validEnd;return void 0!=c?void c(b[0].errorCode,i,b[0].Cert):GetStringAryMagic(b[0].errorCode,i,b[0].Cert)}if("NSSkfEncryptedSignEnvelop"==a||"NSSkfEncryptedEnvelop"==a){var j=JsonPlantextSpecialCharProcess(b[0].Data);return j=BASE64URLDE(j),void 0!=c?void c(b[0].errorCode,j):GetStringAryMagic(b[0].errorCode,j)}if("NSAttachedSign"==a||"NSAttachedSignDefaultDN"==a||"NSFormFileSign"==a||"NSFormFileSignDefaultDN"==a){var f=b[0].signedData;return f=BASE64URLDE(f),void 0!=c?void c(b[0].errorCode,f):GetStringAryMagic(b[0].errorCode,f)}if("NSAttachedVerify"==a)return b[0].PlainText=JsonPlantextSpecialCharProcess(b[0].PlainText),b[0].SigncertDN=JsonPlantextSpecialCharProcess(b[0].SigncertDN),void 0!=c?void c(b[0].errorCode,b[0].PlainText,b[0].SigncertDN):GetStringAryMagic(b[0].errorCode,b[0].PlainText,b[0].SigncertDN);if("NSFormFileVerify"==a)return b[0].SigncertDN=JsonPlantextSpecialCharProcess(b[0].SigncertDN),AddFormListFromResponse(b[0].FormTotal),AddFileNameListFileNameResponse(b[0].FileNameTotal),void 0!=c?void c(b[0].errorCode,b[0].SigncertDN):GetStringAryMagic(b[0].errorCode,b[0].SigncertDN);if("NSFormFileGetFile"==a||"NSRawVerify"==a||"NSRawVerifyDefaultDN"==a)return void 0!=c?void c(b[0].errorCode):b[0].errorCode;if("NSRawSign"==a||"NSRawSignDefaultDN"==a){var f=b[0].signedData;return f=BASE64URLDE(f),void 0!=c?void c(b[0].errorCode,f):GetStringAryMagic(b[0].errorCode,f)}if("NSEncryptedEnvelop"==a||"NSEncryptedEnvelopDefaultDN"==a||"NSFormFileEncryptedEnvelop"==a||"NSFormFileEncryptedEnvelopDefaultDN"==a){var k=b[0].envelopedMsg;return k=BASE64URLDE(k),void 0!=c?void c(b[0].errorCode,k):GetStringAryMagic(b[0].errorCode,k)}if("NSDecryptEnvelop"==a)return b[0].PlainText=JsonPlantextSpecialCharProcess(b[0].PlainText),b[0].EncryptcertDN=JsonPlantextSpecialCharProcess(b[0].EncryptcertDN),void 0!=c?void c(b[0].errorCode,b[0].PlainText,b[0].EncryptcertDN):GetStringAryMagic(b[0].errorCode,b[0].PlainText,b[0].EncryptcertDN);if("NSFormFileDecryptedEnvelop"==a)return b[0].EncryptcertDN=JsonPlantextSpecialCharProcess(b[0].EncryptcertDN),AddFormListFromResponse(b[0].FormTotal),AddFileNameListFileNameResponse(b[0].FileNameTotal),void 0!=c?void c(b[0].errorCode,b[0].EncryptcertDN):GetStringAryMagic(b[0].errorCode,b[0].EncryptcertDN);if("NSEncryptedSignEnvelop"==a||"NSEncryptedSignEnvelopDefaultDN"==a||"NSFormFileEncryptedSignEnvelop"==a||"NSFormFileEncryptedSignEnvelopDefaultDN"==a){var k=b[0].envelopedMsg;return k=BASE64URLDE(k),void 0!=c?void c(b[0].errorCode,k):GetStringAryMagic(b[0].errorCode,k)}if("NSDecryptSignEnvelop"==a)return b[0].PlainText=JsonPlantextSpecialCharProcess(b[0].PlainText),b[0].SigncertDN=JsonPlantextSpecialCharProcess(b[0].SigncertDN),b[0].EncryptcertDN=JsonPlantextSpecialCharProcess(b[0].EncryptcertDN),void 0!=c?void c(b[0].errorCode,b[0].PlainText,b[0].SigncertDN,b[0].EncryptcertDN):GetStringAryMagic(b[0].errorCode,b[0].PlainText,b[0].SigncertDN,b[0].EncryptcertDN);if("NSFormFileDecryptedSignEnvelop"==a)return b[0].SigncertDN=JsonPlantextSpecialCharProcess(b[0].SigncertDN),b[0].EncryptcertDN=JsonPlantextSpecialCharProcess(b[0].EncryptcertDN),AddFormListFromResponse(b[0].FormTotal),AddFileNameListFileNameResponse(b[0].FileNameTotal),void 0!=c?void c(b[0].errorCode,b[0].SigncertDN,b[0].EncryptcertDN):GetStringAryMagic(b[0].errorCode,b[0].SigncertDN,b[0].EncryptcertDN);if("NSSetCertsListInfoCache"==a)return void 0!=c?void c(b[0].errorCode):b[0].errorCode;if("NSGetCertInfoForIndex"==a||"NSSkfGetCertInfoForIndex"==a)return void 0!=c?void c(b[0].CertInfoData):b[0].CertInfoData;if("NSGetCertPublicKeyInfoForIndex"==a||"NSSkfGetCertPublicKeyInfoForIndex"==a)return void 0!=c?void c(b[0].CertPublicKeyInfoData):b[0].CertPublicKeyInfoData;if("NSGetCertsListInfo"==a){var h=0;for(h=0;h<b.length;h++)b[h].certDN=JsonPlantextSpecialCharProcess(b[h].certDN),b[h].issuerDN=JsonPlantextSpecialCharProcess(b[h].issuerDN),b[h].certSN=JsonPlantextSpecialCharProcess(b[h].certSN),b[h].validBegin=JsonPlantextSpecialCharProcess(b[h].validBegin),b[h].validEnd=JsonPlantextSpecialCharProcess(b[h].validEnd),b[h].CertStore=JsonPlantextSpecialCharProcess(b[h].CertStore),b[h].KeyUsage=JsonPlantextSpecialCharProcess(b[h].KeyUsage),b[h].CertType=JsonPlantextSpecialCharProcess(b[h].CertType);return ReturnOnlyOneParameter(b,c)}if("NSGetEVersion"==a)return ReturnOnlyOneParameter(b[0].Version,c);if("NSGetRsaCspListProvider"==a||"NSSm2CfcaGetProviderList"==a)return void 0!=c?void c(b):b;if("NSSm2SkfGetDeviceList"==a){for(var h=0;h<b.length;h++)b[h].Device=JsonPlantextSpecialCharProcess(b[h].Device);return void 0!=c?void c(b):b}if("NSSm2SkfGetProviderList"==a){for(var h=0;h<b.length;h++)b[h].Provider=JsonPlantextSpecialCharProcess(b[h].Provider);return void 0!=c?void c(b):b}if("NSSm2SkfGetApplicationList"==a){for(var h=0;h<b.length;h++)b[h].Application=JsonPlantextSpecialCharProcess(b[h].Application);return void 0!=c?void c(b):b}if("NSSm2SkfGetContainerList"==a){for(var h=0;h<b.length;h++)b[h].Container=JsonPlantextSpecialCharProcess(b[h].Container);return void 0!=c?void c(b):b}return"NSGetRsaCspCountOfCert"==a||"NSSm2CfcaGetCountOfCert"==a||"NSSm2SkfGetCountOfCert"==a?void 0!=c?void c(b[0].CertCount):b[0].CertCount:"NSGetRsaCspCertInfo"==a||"NSSm2CfcaGetCertInfo"==a?(b[0].Provider=JsonPlantextSpecialCharProcess(b[0].Provider),b[0].Container=JsonPlantextSpecialCharProcess(b[0].Container),b[0].DN=JsonPlantextSpecialCharProcess(b[0].DN),b[0].Issuer=JsonPlantextSpecialCharProcess(b[0].Issuer),b[0].StartDate=JsonPlantextSpecialCharProcess(b[0].StartDate),b[0].EndDate=JsonPlantextSpecialCharProcess(b[0].EndDate),b[0].CertSN=JsonPlantextSpecialCharProcess(b[0].CertSN),b[0].CertPurpose=JsonPlantextSpecialCharProcess(b[0].CertPurpose),void 0!=c?void c(b[0].errorCode,b[0].Provider,b[0].Container,b[0].DN,b[0].Issuer,b[0].StartDate,b[0].EndDate,b[0].CertSN,b[0].CertPurpose):GetStringAryMagic(b[0].errorCode,b[0].Provider,b[0].Container,b[0].DN,b[0].Issuer,b[0].StartDate,b[0].EndDate,b[0].CertSN,b[0].CertPurpose)):"NSSm2SkfGetCertInfo"==a?(b[0].Provider=JsonPlantextSpecialCharProcess(b[0].Provider),b[0].Device=JsonPlantextSpecialCharProcess(b[0].Device),b[0].DeviceSN=JsonPlantextSpecialCharProcess(b[0].DeviceSN),b[0].application=JsonPlantextSpecialCharProcess(b[0].application),b[0].Container=JsonPlantextSpecialCharProcess(b[0].Container),b[0].DN=JsonPlantextSpecialCharProcess(b[0].DN),b[0].Issuer=JsonPlantextSpecialCharProcess(b[0].Issuer),b[0].StartDate=JsonPlantextSpecialCharProcess(b[0].StartDate),b[0].EndDate=JsonPlantextSpecialCharProcess(b[0].EndDate),b[0].CertSN=JsonPlantextSpecialCharProcess(b[0].CertSN),b[0].CertPurpose=JsonPlantextSpecialCharProcess(b[0].CertPurpose),void 0!=c?void c(b[0].errorCode,b[0].Provider,b[0].Device,b[0].DeviceSN,b[0].application,b[0].Container,b[0].DN,b[0].Issuer,b[0].StartDate,b[0].EndDate,b[0].CertSN,b[0].CertPurpose):GetStringAryMagic(b[0].errorCode,b[0].Provider,b[0].Device,b[0].DeviceSN,b[0].application,b[0].Container,b[0].DN,b[0].Issuer,b[0].StartDate,b[0].EndDate,b[0].CertSN,b[0].CertPurpose)):"NSAdvRsaCspGenContainerP10"==a?void 0!=c?void c(b[0].errorCode,b[0].P10Value,b[0].EncKeyPair):GetStringAryMagic(b[0].errorCode,b[0].P10Value,b[0].EncKeyPair):"NSRsaCspImportSignEncP7Cert"==a||"NSRsaCspImportSignEncX509Cert"==a||"NSRsaCspDelContainer"==a||"NSRsaCspCreateContainer"==a||"NSRsaCspDeleteContainer"==a||"NSRsaCspVerifySignData"==a||"NSSm2SkfVerifySignData"==a||"NSRsaCspImportEncP7Cert"==a||"NSRsaCspImportSignP7Cert"==a||"NSRsaCspImportEncX509Cert"==a||"NSRsaCspImportSignX509Cert"==a||"NSRsaCspImportX509CertToStore"==a||"NSRsaCspDelX509CertInStore"==a||"NSRsaCspDelEncKeyPair"==a||"NSSm2CfcaCreateContainer"==a||"NSSm2CfcaDelContainer"==a||"NSSm2CfcaDeleteContainer"==a||"NSSm2CfcaImportSignX509Cert"==a||"NSSm2CfcaImportEncX509Cert"==a||"NSSm2SkfImportSignX509Cert"==a||"NSSm2SkfImportEncX509Cert"==a||"NSSm2SkfWriteData"==a||"NSSm2SkfDelContainer"==a||"NSSm2SkfCreateContainer"==a||"NSSm2SkfDeleteContainer"==a||"NSSm2SkfVerifyPin"==a||"NSSm2SkfVerifyPinOfCtrl"==a||"NSSetCertEnrollShowErrMsg"==a||"NSSm2CfcaImportSignEncX509Cert"==a||"NSSm2SkfImportSignEncX509Cert"==a?void 0!=c?void c(b[0].errorCode):b[0].errorCode:"NSRsaCspGenContainer"==a||"NSSm2CfcaGenContainer"==a||"NSSm2SkfGenContainer"==a?void 0!=c?void c(b[0].errorCode,b[0].Container):GetStringAryMagic(b[0].errorCode,b[0].Container):"NSRsaCspSignData"==a||"NSRsaCspEncryptData"==a||"NSRsaCspDecryptData"==a||"NSRsaCspExportContainerPfxCert"==a||"NSRsaCspExportPfxCert"==a||"NSRsaCspExportSignX509Cert"==a||"NSRsaCspExportEncX509Cert"==a||"NSRsaCspGenEncKeyPair"==a||"NSRsaCspGenP10"==a||"NSGenSecureAuthCode"==a||"NSGetX509FromP7Cert"==a||"NSSm2CfcaSignData"==a||"NSSm2SkfSignData"==a||"NSSm2SkfEncryptData"==a||"NSSm2SkfDecryptData"==a||"NSSm2SkfExportSignX509Cert"==a||"NSSm2SkfExportEncX509Cert"==a||"NSSm2SkfGenP10"==a||"NSSm2SkfGetEnveloped"==a?void 0!=c?void c(b[0].errorCode,b[0].Data):GetStringAryMagic(b[0].errorCode,b[0].Data):"NSSm2SkfReadData"==a?(b[0].Data=JsonPlantextSpecialCharProcess(b[0].Data),void 0!=c?void c(b[0].errorCode,b[0].Data):GetStringAryMagic(b[0].errorCode,b[0].Data)):"NSRsaCspGenContainerP10"==a||"NSSm2SkfGenContainerP10"==a?void 0!=c?void c(b[0].errorCode,b[0].Container,b[0].P10):GetStringAryMagic(b[0].errorCode,b[0].Container,b[0].P10):"NSGetRsaCertStore"==a||"NSGetSm2CFCACertStore"==a?ReturnOnlyOneParameter(b[0].CertStore,c):"NSGetDistinctNameKeyValuePairNumber"==a?ReturnOnlyOneParameter(b[0].Count,c):"NSGetDistinctNameKeyValuePair"==a?(b[0].Key=JsonPlantextSpecialCharProcess(b[0].Key),b[0].Value=JsonPlantextSpecialCharProcess(b[0].Value),void 0!=c?void c(b[0].errorCode,b[0].Key,b[0].Value):GetStringAryMagic(b[0].errorCode,b[0].Key,b[0].Value)):"NSCompareCertTime"==a?ReturnOnlyOneParameter(b[0].RetResult,c):"NSGetX509CertInfo"==a?(b[0].DN=JsonPlantextSpecialCharProcess(b[0].DN),b[0].Issuer=JsonPlantextSpecialCharProcess(b[0].Issuer),b[0].StartDate=JsonPlantextSpecialCharProcess(b[0].StartDate),b[0].EndDate=JsonPlantextSpecialCharProcess(b[0].EndDate),b[0].CertSN=JsonPlantextSpecialCharProcess(b[0].CertSN),b[0].CertPurpose=JsonPlantextSpecialCharProcess(b[0].CertPurpose),void 0!=c?void c(b[0].errorCode,b[0].DN,b[0].Issuer,b[0].StartDate,b[0].EndDate,b[0].CertSN,b[0].CertPurpose):GetStringAryMagic(b[0].errorCode,b[0].DN,b[0].Issuer,b[0].StartDate,b[0].EndDate,b[0].CertSN,b[0].CertPurpose)):"NSSm2CfcaGenContainerP10Encpubkey"==a?void 0!=c?void c(b[0].errorCode,b[0].Container,b[0].P10,b[0].Pubkey):GetStringAryMagic(b[0].errorCode,b[0].Container,b[0].P10,b[0].Pubkey):"NSSm2CfcaGenP10Encpubkey"==a?void 0!=c?void c(b[0].errorCode,b[0].P10,b[0].Pubkey):GetStringAryMagic(b[0].errorCode,b[0].P10,b[0].Pubkey):"NSSm2SkfGetDeviceInfo"==a?void 0!=c?void c(b[0].errorCode,b[0].SN,b[0].Lable):GetStringAryMagic(b[0].errorCode,b[0].SN,b[0].Lable):"NSSm2SkfGetPinInfo"==a?void 0!=c?void c(b[0].errorCode,b[0].MaxNum,b[0].NowSurplusNum):GetStringAryMagic(b[0].errorCode,b[0].MaxNum,b[0].NowSurplusNum):"NSLoginExec"==a||"NSLoginExecParams"==a||"NSLoginStartAll"==a||"NSLoginStopAll"==a||"NSLoginStartMessageLoginInBack"==a||"NSLoginStopMessageLoginInBack"==a||"NSLoginStartMessageLogin"==a||"NSLoginStartTabLoginLoginInBack"==a||"NSLoginStopTabLoginInBack"==a||"NSLoginStartTabLoginLogin"==a||"NSLoginIsLoginFailed"==a||"NSLoginStartMessageMultiWindowLogin"==a||"NSLoginautoLoginHTTP"==a||"NSLoginStartLogin"==a||"NSLoginSetFailFormat"==a||"NSLoginStartMessageLoginHXPOC"==a?void 0!=c?void c(b[0].errorCode):b[0].errorCode:"NSLoginEncrypt"==a||"NSLoginDecrypt"==a?void 0!=c?void c(b[0].errorCode,b[0].Data):GetStringAryMagic(b[0].errorCode,b[0].Data):"NSLoadExtendDLL"==a||"NSFreeExtendDLL"==a||"NSStdCallDLLFuncParameterZero"==a||"NSCallDLLFuncParameterZero"==a?void 0!=c?void c(b[0].errorCode):b[0].errorCode:"NSStdCallDLLFuncParameterOutCPtrOne"==a||"NSCallDLLFuncParameterOutCPtrOne"==a?void 0!=c?void c(b[0].errorCode,b[0].Data):GetStringAryMagic(b[0].errorCode,b[0].Data):void 0;
+}function ReturnOnlyOneParameter(a,b){return void 0!=b?void b(a):a}function RetrySendAjaxData(a,b,c,d){var e=Math.random();if(0==PortIsRight()&&GetRightPORT(),0!=PortIsRight()){var f=SendToIp+m_StorePort+"/"+a+"?randtmp="+e;ajaxInfosec({url:f,method:b,data:c,dataType:"json",beforeSend:function(){},complete:function(a,b){},error:function(a,b,c){},success:function(b){SendDataSucceedProcess(a,b,d)},timeout:m_SetTimeOut})}}function sendAjaxData(a,b,c,d){var e,f=Math.random();if(0==PortIsRight()&&GetRightPORT(),0==PortIsRight())return e;var g=SendToIp+m_StorePort+"/"+a+"?randtmp="+f;return ajaxInfosec({url:g,method:b,data:c,async:m_Async,dataType:"json",beforeSend:function(){},complete:function(a,b){},error:function(e,f,g){1==m_Async&&RetrySendAjaxData(a,b,c,d)},success:function(b){e=SendDataSucceedProcess(a,b,d)},timeout:m_SetTimeOut}),e}function GetDigestArithmeticByName(a){return"SM3"==a?"1.2.156.10197.1.401":"SHA1"==a?"1.3.14.3.2.26":"MD5"==a?"1.2.840.113549.2.5":"SHA256"==a?"2.16.840.1.101.3.4.2.1":""}function GetSymmetryArithmeticByName(a){return"RC4"==a?"1.2.840.113549.3.4":"3DES"==a?"1.2.840.113549.3.7":"RC2"==a?"1.2.840.113549.3.2":"DES"==a?"1.3.14.3.2.7":""}function InfosecGetCertStoreName(a,b){var c="";return"SignAndEncrypt"==b&&(c="MY,ROOT,CA,AddressBook"),"Encrypt"==b&&(c="ROOT,CA,AddressBook"),"Sign"==b&&(c="MY"),""==a||void 0==a?c:(""!=c&&(a+=",",a+=c),a)}function PrefixInteger(a,b){return(Array(b).join(0)+a).slice(-b)}function mbStringLength(a){var b,c,d=0;for(b=0;b<a.length;b++)c=a.charCodeAt(b),c<127?d+=1:128<=c&&c<=2047?d+=2:2048<=c&&c<=65535?d+=3:65536<=c&&c<=2097151?d+=4:2097152<=c&&c<=67108863?d+=5:67108864<=c&&c<=2147483647&&(d+=6);return d}function GetSendFormFilePlantText(){for(var a="",b=0;b<m_ListForm.length;b++){a+="01";var c=mbStringLength(m_ListForm[b]);a+=PrefixInteger(c,31),a+=m_ListForm[b]}for(var b=0;b<m_ListFile.length;b++){a+="02";var c=mbStringLength(m_ListFile[b]);a+=PrefixInteger(c,31),a+=m_ListFile[b]}return a}function AttachedSignVerify(a,b,c,d){c=BASE64URLEN(c);var e=["PortGrade=","&signedMsg="],f=[b,c];1==b&&(e=["PortGrade=","&signedMsg="],f=[b,c]),2==b&&(m_SM2IssuerCert=BASE64URLEN(m_SM2IssuerCert),e=["PortGrade=","&signedMsg=","&SM2IssuerCert="],f=[b,c,m_SM2IssuerCert]);var g=JointSendData(e,f);return sendAjaxData(a,"POST",g,d)}function DecryptEnvelop(a,b,c){b=BASE64URLEN(b);var d=["envelopedMsg="],e=[b],f=JointSendData(d,e);return sendAjaxData(a,"POST",f,c)}function DecryptSignEnvelop(a,b,c){b=BASE64URLEN(b);var d=["envelopedMsg="],e=[b],f=JointSendData(d,e);return sendAjaxData(a,"POST",f,c)}function clearResponsedList(){m_ListFormResponsed=[],m_ListFileNameResponsed=[]}function GetAllreadyDeviceName(){var a=["SkfDeviceType=","&Null=","&Null=","&Null="];return 1==SkfDeviceType&&(a[1]=SkfUseDeviceNameAry[0],a[2]=SkfUseDeviceNameAry[1],a[3]=SkfUseDeviceNameAry[2]),2==SkfDeviceType&&(a[1]=SkfSetDeviceNameAry[0],a[2]=SkfSetDeviceNameAry[1],a[3]=SkfSetDeviceNameAry[2]),a}function GetAllreadyDeviceInfo(){var a=["","","",""];return a[0]=SkfDeviceType,1==SkfDeviceType&&(a[1]=SkfUseDeviceInfoAry[0],a[2]=SkfUseDeviceInfoAry[1],a[3]=SkfUseDeviceInfoAry[2]),2==SkfDeviceType&&(a[1]=SkfSetDeviceInfoAry[0],a[2]=SkfSetDeviceInfoAry[1],a[3]=SkfSetDeviceInfoAry[2]),a}function GetSkfTitleParameterAndAllreadyDevice(){for(var a=new Array,b=GetAllreadyDeviceName(),c=0;c<b.length;c++)a[c]=b[c];for(var d=b.length,e="",f=0;f<arguments.length;f++)e="&",e+=arguments[f],e+="=",a[d+f]=e;return a}function GetSkfDataParameterAndAllreadyDevice(){for(var a=new Array,b=GetAllreadyDeviceInfo(),c=0;c<b.length;c++)a[c]=b[c];for(var d=b.length,e=0;e<arguments.length;e++)a[d+e]=arguments[e];return a}function IWSAgent(){var a=new Object;return a.IWSASendAvailable=function(){if(m_StorePort=0,"Microsoft Internet Explorer"==navigator.appName)return GetPortForIE();for(var a=0;a<PortList.length;a++)sendAjaxSniffingDataAsync(PortList[a])},a.IWSAGetAvailable=function(){return PortIsRight()},a.IWSAAvailable=function(){for(var a=0;a<PortList.length;a++){var b=sendAjaxSniffingData(PortList[a]);if(0!=b)return m_StorePort=b,!0}return!1},a.IWSASetAsyncMode=function(a){m_Async=a},a.IWSAGetAsyncMode=function(){return m_Async},a.IWSASetTimeOut=function(a){m_SetTimeOut=a},a.IWSASetPlanTextConvertMode=function(a){m_PlanTextConvertMode=a},a.IWSASetSM2IssuerCert=function(a){m_SM2IssuerCert=a},a.IWSAGetVersion=function(a){return sendAjaxData("GetVersion","GET","",a)},a.IWSABase64Encode=function(a,b){""!=a&&(a=GetPlanTextForConvertMode(a));var c=["PlainText="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSBase64Encode","POST",e,b)},a.IWSABase64Decode=function(a,b){a=BASE64URLEN(a);var c=["PlainText="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSBase64Decode","POST",e,b)},a.IWSAHashAndBase64Encode=function(a,b,c){b=GetDigestArithmeticByName(b),""!=a&&(a=GetPlanTextForConvertMode(a));var d=["PlainText=","&DigestArithmetic="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSHashAndBase64Encode","POST",f,c)},a.IWSASignHash=function(a,b,c,d){c=GetDigestArithmeticByName(c),""!=a&&(a=GetPlanTextForConvertMode(a));var e=["&PlainText=","&CertIndex=","&DigestArithmetic="],f=[a,b,c],g=JointSendData(e,f);return sendAjaxData("NSSignHash","POST",g,d)},a.IWSAVerifyHash=function(a,b,c){a=BASE64URLEN(a),""!=b&&(b=GetPlanTextForConvertMode(b));var d=["&signedMsg=","&PlainText="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSVerifyHash","POST",f,c)},a.IWSADetachedSign=function(a,b,c,d,e){d=GetDigestArithmeticByName(d),""!=b&&(b=GetPlanTextForConvertMode(b));var f=["PortGrade=","&PlainText=","&CertIndex=","&DigestArithmetic="],g=[a,b,c,d],h=JointSendData(f,g);return sendAjaxData("NSDetachedSign","POST",h,e)},a.IWSADetachedVerify=function(a,b,c,d){b=BASE64URLEN(b),""!=c&&(c=GetPlanTextForConvertMode(c));var e=["PortGrade=","&signedMsg=","&PlainText=","&SM2IssuerCert="],f=["","","",""];1==a&&(e=["PortGrade=","&signedMsg=","&PlainText="],f=[a,b,c]),2==a&&(m_SM2IssuerCert=BASE64URLEN(m_SM2IssuerCert),e=["PortGrade=","&signedMsg=","&PlainText=","&SM2IssuerCert="],f=[a,b,c,m_SM2IssuerCert]);var g=JointSendData(e,f);return sendAjaxData("NSDetachedVerify","POST",g,d)},a.IWSAAttachedSign=function(a,b,c,d,e){d=GetDigestArithmeticByName(d),""!=b&&(b=GetPlanTextForConvertMode(b));var f=["PortGrade=","&PlainText=","&CertIndex=","&DigestArithmetic="],g=[a,b,c,d],h=JointSendData(f,g);return sendAjaxData("NSAttachedSign","POST",h,e)},a.IWSAAttachedSignDefaultDN=function(a,b,c,d,e){d=GetDigestArithmeticByName(d),""!=a&&(a=GetPlanTextForConvertMode(a));var f=InfosecGetCertStoreName("","Sign"),g="";"1"==c&&(g="2"),"0"==c&&(g="0");var h=["PortGrade=","&PlainText=","&CertStore=","&defultDN=","&Keyspec=","&DigestArithmetic="],i=[1,a,f,b,g,d],j=JointSendData(h,i);return sendAjaxData("NSAttachedSignDefaultDN","POST",j,e)},a.IWSAAttachedSignAdvDefaultDN=function(a,b,c,d,e,f,g){f=GetDigestArithmeticByName(f),""!=a&&(a=GetPlanTextForConvertMode(a));var h=InfosecGetCertStoreName("","Sign"),i="";"1"==e&&(i="2"),"0"==e&&(i="0");var j=["PortGrade=","&PlainText=","&CertStore=","&CertStoreSM2=","&CertStoreType=","&defultDN=","&Keyspec=","&DigestArithmetic="],k=[2,a,h,b,c,d,i,f],l=JointSendData(j,k);return sendAjaxData("NSAttachedSignDefaultDN","POST",l,g)},a.IWSADetachedSignDefaultDN=function(a,b,c,d,e){d=GetDigestArithmeticByName(d),""!=a&&(a=GetPlanTextForConvertMode(a));var f=InfosecGetCertStoreName("","Sign"),g="";"1"==c&&(g="2"),"0"==c&&(g="0");var h=["PortGrade=","&PlainText=","&CertStore=","&defultDN=","&Keyspec=","&DigestArithmetic="],i=[1,a,f,b,g,d],j=JointSendData(h,i);return sendAjaxData("NSDetachedSignDefaultDN","POST",j,e)},a.IWSADetachedSignAdvDefaultDN=function(a,b,c,d,e,f,g){f=GetDigestArithmeticByName(f),""!=a&&(a=GetPlanTextForConvertMode(a));var h=InfosecGetCertStoreName("","Sign"),i="";"1"==e&&(i="2"),"0"==e&&(i="0");var j=["PortGrade=","&PlainText=","&CertStore=","&CertStoreSM2=","&CertStoreType=","&defultDN=","&Keyspec=","&DigestArithmetic="],k=[2,a,h,b,c,d,i,f],l=JointSendData(j,k);return sendAjaxData("NSDetachedSignDefaultDN","POST",l,g)},a.IWSAAttachedVerify=function(a,b,c){return AttachedSignVerify("NSAttachedVerify",a,b,c)},a.IWSARawSign=function(a,b,c,d){c=GetDigestArithmeticByName(c),""!=a&&(a=GetPlanTextForConvertMode(a));var e=["PlainText=","&CertIndex=","&DigestArithmetic="],f=[a,b,c],g=JointSendData(e,f);return sendAjaxData("NSRawSign","POST",g,d)},a.IWSARawSignDefaultDN=function(a,b,c,d,e){d=GetDigestArithmeticByName(d),""!=a&&(a=GetPlanTextForConvertMode(a));var f=InfosecGetCertStoreName("","Sign"),g="";"1"==c&&(g="2"),"0"==c&&(g="0");var h=["PlainText=","&CertStore=","&defultDN=","&Keyspec=","&DigestArithmetic="],i=[a,f,b,g,d],j=JointSendData(h,i);return sendAjaxData("NSRawSignDefaultDN","POST",j,e)},a.IWSARawVerifyDefaultDN=function(a,b,c,d,e){d=GetDigestArithmeticByName(d),""!=a&&(a=GetPlanTextForConvertMode(a)),b=BASE64URLEN(b);var f=InfosecGetCertStoreName("","Encrypt"),g=["PlainText=","&signedMsg=","&CertStore=","&defultDN=","&DigestArithmetic="],h=[a,b,f,c,d],i=JointSendData(g,h);return sendAjaxData("NSRawVerifyDefaultDN","POST",i,e)},a.IWSARawVerify=function(a,b,c,d,e){d=GetDigestArithmeticByName(d),""!=a&&(a=GetPlanTextForConvertMode(a)),b=BASE64URLEN(b);var f=["PlainText=","&signedMsg=","&CertIndex=","&DigestArithmetic="],g=[a,b,c,d],h=JointSendData(f,g);return sendAjaxData("NSRawVerify","POST",h,e)},a.IWSAAddForm=function(a){""!=a&&(a=GetPlanTextForConvertMode(a)),m_ListForm.push(a)},a.IWSAAddFile=function(a){m_ListFile.push(a)},a.IWSAClearFormList=function(){m_ListForm=[]},a.IWSAClearFileList=function(){m_ListFile=[]},a.IWSAGetAlreadyFormList=function(){return m_ListForm},a.IWSAGetAlreadyFileList=function(){return m_ListFile},a.IWSAGetResponsedForm=function(){var a="";return m_ListFormResponsed.length>0&&(a=m_ListFormResponsed[0],m_ListFormResponsed=m_ListFormResponsed.slice(1)),a},a.IWSAGetResponsedFileName=function(){var a="";return m_ListFileNameResponsed.length>0&&(a=m_ListFileNameResponsed[0]),a},a.IWSAGetResponsedFile=function(a,b){var c="";m_ListFileNameResponsed.length>0&&(c=m_ListFileNameResponsed[0],m_ListFileNameResponsed=m_ListFileNameResponsed.slice(1));var d=["FileName=","&FilePathName="],e=[c,a],f=JointSendData(d,e);return sendAjaxData("NSFormFileGetFile","POST",f,b)},a.IWSAFormFileSign=function(a,b,c){var d=GetSendFormFilePlantText();b=GetDigestArithmeticByName(b);var e=["PortGrade=","&PlainText=","&CertIndex=","&DigestArithmetic="],f=["2",d,a,b],g=JointSendData(e,f);return sendAjaxData("NSFormFileSign","POST",g,c)},a.IWSAFormFileSignDefaultDN=function(a,b,c,d,e,f){var g=GetSendFormFilePlantText();e=GetDigestArithmeticByName(e);var h=InfosecGetCertStoreName("","Sign"),i="";"1"==d&&(i="2"),"0"==d&&(i="0");var j=["PortGrade=","&PlainText=","&CertStore=","&CertStoreSM2=","&CertStoreType=","&defultDN=","&Keyspec=","&DigestArithmetic="],k=[2,g,h,a,b,c,i,e],l=JointSendData(j,k);return sendAjaxData("NSFormFileSignDefaultDN","POST",l,f)},a.IWSAFormFileVerify=function(a,b){return clearResponsedList(),AttachedSignVerify("NSFormFileVerify","2",a,b)},a.IWSAEncryptedEnvelop=function(a,b,c,d){c=GetSymmetryArithmeticByName(c),""!=a&&(a=GetPlanTextForConvertMode(a));var e=["PlainText=","&CertIndex=","&SymmetryArithmetic="],f=[a,b,c],g=JointSendData(e,f);return sendAjaxData("NSEncryptedEnvelop","POST",g,d)},a.IWSAEncryptedEnvelopDefaultDN=function(a,b,c,d){c=GetSymmetryArithmeticByName(c),""!=a&&(a=GetPlanTextForConvertMode(a));var e=InfosecGetCertStoreName("","Encrypt"),f=["PlainText=","&CertStore=","&defultDN=","&SymmetryArithmetic="],g=[a,e,b,c],h=JointSendData(f,g);return sendAjaxData("NSEncryptedEnvelopDefaultDN","POST",h,d)},a.IWSADecryptEnvelop=function(a,b){return DecryptEnvelop("NSDecryptEnvelop",a,b)},a.IWSAFormFileEncryptedEnvelop=function(a,b,c){var d=GetSendFormFilePlantText();b=GetSymmetryArithmeticByName(b);var e=["PlainText=","&CertIndex=","&SymmetryArithmetic="],f=[d,a,b],g=JointSendData(e,f);return sendAjaxData("NSFormFileEncryptedEnvelop","POST",g,c)},a.IWSAFormFileEncryptedEnvelopDefaultDN=function(a,b,c){var d=GetSendFormFilePlantText(),e=InfosecGetCertStoreName("","Encrypt");b=GetSymmetryArithmeticByName(b);var f=["PlainText=","&CertStore=","&defultDN=","&SymmetryArithmetic="],g=[d,e,a,b],h=JointSendData(f,g);return sendAjaxData("NSFormFileEncryptedEnvelopDefaultDN","POST",h,c)},a.IWSAFormFileDecryptEnvelop=function(a,b){return clearResponsedList(),DecryptEnvelop("NSFormFileDecryptedEnvelop",a,b)},a.IWSAEncryptedSignEnvelop=function(a,b,c,d,e,f){d=GetDigestArithmeticByName(d),e=GetSymmetryArithmeticByName(e),""!=a&&(a=GetPlanTextForConvertMode(a));var g=["PlainText=","&SignCertIndex=","&EncryptCertIndex=","&DigestArithmetic=","&SymmetryArithmetic="],h=[a,b,c,d,e],i=JointSendData(g,h);return sendAjaxData("NSEncryptedSignEnvelop","POST",i,f)},a.IWSAEncryptedSignEnvelopDefaultDN=function(a,b,c,d,e,f,g){e=GetDigestArithmeticByName(e),f=GetSymmetryArithmeticByName(f),""!=a&&(a=GetPlanTextForConvertMode(a));var h=InfosecGetCertStoreName("","Sign"),i=InfosecGetCertStoreName("","Encrypt"),j="";"1"==d&&(j="2"),"0"==d&&(j="0");var k=["PlainText=","&CertStore=","&CertStore1=","&defultDNSign=","&defultDNEncrypt=","&Keyspec=","&DigestArithmetic=","&SymmetryArithmetic="],l=[a,h,i,b,c,j,e,f],m=JointSendData(k,l);return sendAjaxData("NSEncryptedSignEnvelopDefaultDN","POST",m,g)},a.IWSADecryptSignEnvelop=function(a,b){DecryptSignEnvelop("NSDecryptSignEnvelop",a,b)},a.IWSAFormFileEncryptedSignEnvelop=function(a,b,c,d,e){var f=GetSendFormFilePlantText();c=GetDigestArithmeticByName(c),d=GetSymmetryArithmeticByName(d);var g=["PlainText=","&SignCertIndex=","&EncryptCertIndex=","&DigestArithmetic=","&SymmetryArithmetic="],h=[f,a,b,c,d],i=JointSendData(g,h);return sendAjaxData("NSFormFileEncryptedSignEnvelop","POST",i,e)},a.IWSAFormFileEncryptedSignEnvelopDefaultDN=function(a,b,c,d,e,f){var g=GetSendFormFilePlantText();d=GetDigestArithmeticByName(d),e=GetSymmetryArithmeticByName(e);var h=InfosecGetCertStoreName("","Sign"),i=InfosecGetCertStoreName("","Encrypt"),j="";"1"==c&&(j="2"),"0"==c&&(j="0");var k=["PlainText=","&CertStore=","&CertStore1=","&defultDNSign=","&defultDNEncrypt=","&Keyspec=","&DigestArithmetic=","&SymmetryArithmetic="],l=[g,h,i,a,b,j,d,e],m=JointSendData(k,l);return sendAjaxData("NSFormFileEncryptedSignEnvelopDefaultDN","POST",m,f)},a.IWSAFormFileDecryptSignEnvelop=function(a,b){clearResponsedList(),DecryptSignEnvelop("NSFormFileDecryptedSignEnvelop",a,b)},a.IWSAGetAllCertsListInfo=function(a,b,c,d){var e=InfosecGetCertStoreName(a,b),f=["CertStore=","&Keyspec="],g=[e,c],h=JointSendData(f,g);return sendAjaxData("NSGetCertsListInfo","POST",h,d)},a.IWSAGetAllCertsListInfoByCertDN=function(a,b,c,d,e){var f=InfosecGetCertStoreName(a,b),g=["CertStore=","&defultDN=","&Keyspec="],h=[f,c,d],i=JointSendData(g,h);return sendAjaxData("NSGetCertsListInfo","POST",i,e)},a.IWSAGetAllCertsListInfoByCertIssuerDNAndCertSN=function(a,b,c,d,e,f){var g=InfosecGetCertStoreName(a,b),h=["CertStore=","&IssuerDN=","&CertSN=","&Keyspec="],i=[g,c,d,e],j=JointSendData(h,i);return sendAjaxData("NSGetCertsListInfo","POST",j,f)},a.IWSASetCertsListInfoCache=function(a,b){var c=["IsStore="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSSetCertsListInfoCache","POST",e,b)},a.IWSAGetCertInfoForIndex=function(a,b){var c=["CertIndex="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSGetCertInfoForIndex","POST",e,b)},a.IWSAGetCertPublicKeyInfoForIndex=function(a,b){var c=["CertIndex="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSGetCertPublicKeyInfoForIndex","POST",e,b)},a.IWSASkfGetCertList=function(a,b){var c=["DllFilePath="],d=[a],e=JointSendData(c,d);sendAjaxData("NSSkfGetCertsListInfo","POST",e,b)},a.IWSASkfSignData=function(a,b,c,d,e){d=GetDigestArithmeticByName(d);var f=["&PlainText=","&CertIndex=","&UsbKeyPin=","&DigestArithmetic="],g=[a,b,c,d],h=JointSendData(f,g);sendAjaxData("NSSkfAttachedSign","POST",h,e)},a.IWSASkfAttachedSignWithDN=function(a,b,c,d,e,f,g){d=GetDigestArithmeticByName(d);var h="";"1"==f&&(h="2"),"0"==f&&(h="0");var i=["PlainText=","&defultDN=","&UsbKeyPin=","&DigestArithmetic=","&DllFilename=","&Keyspec="],j=[a,b,c,d,e,h],k=JointSendData(i,j);sendAjaxData("NSSkfAttachedSign","POST",k,g)},a.IWSASkfVerifySignData=function(a,b,c,d,e,f){var g=["signedMsg=","&PlainText=","&CertIndex=","&UsbKeyPin=","&DllFilename="],h=[a,b,c,d,e],i=JointSendData(g,h);sendAjaxData("NSSkfAttachedVerify","POST",i,f)},a.IWSASkfDetachedSign=function(a,b,c,d,e){d=GetDigestArithmeticByName(d);var f=["&PlainText=","&CertIndex=","&UsbKeyPin=","&DigestArithmetic="],g=[a,b,c,d],h=JointSendData(f,g);sendAjaxData("NSSkfDetachedSign","POST",h,e)},a.IWSASkfDetachedSignDefaultDN=function(a,b,c,d,e,f,g){d=GetDigestArithmeticByName(d);var h="";"1"==f&&(h="2"),"0"==f&&(h="0");var i=["PlainText=","&DefaultDN=","&UsbKeyPin=","&DigestArithmetic=","&DllFilePath=","&Keyspec="],j=[a,b,c,d,e,h],k=JointSendData(i,j);sendAjaxData("NSSkfDetachedSign","POST",k,g)},a.IWSASkfDetachedVerify=function(a,b,c){var d=["SignedMsg=","&PlainText="],e=[a,b],f=JointSendData(d,e);sendAjaxData("NSSkfDetachedVerify","POST",f,c)},a.IWSASkfRawSign=function(a,b,c,d,e){d=GetDigestArithmeticByName(d),""!=a&&(a=GetPlanTextForConvertMode(a));var f=["PlainText=","&CertIndex=","&UsbKeyPin=","&DigestArithmetic="],g=[a,b,c,d],h=JointSendData(f,g);return sendAjaxData("NSSkfRawSign","POST",h,e)},a.IWSASkfRawSignDefaultDN=function(a,b,c,d,e,f,g){e=GetDigestArithmeticByName(e),""!=a&&(a=GetPlanTextForConvertMode(a));var h="";"1"==c&&(h="2"),"0"==c&&(h="0");var i=["PlainText=","&DefaultDN=","&Keyspec=","&UsbKeyPin=","&DigestArithmetic=","&DllFilePath="],j=[a,b,h,d,e,f],k=JointSendData(i,j);return sendAjaxData("NSSkfRawSign","POST",k,g)},a.IWSASkfRawVerify=function(a,b,c,d,e,f){d=GetDigestArithmeticByName(d),""!=a&&(a=GetPlanTextForConvertMode(a)),b=BASE64URLEN(b);var g=["PlainText=","&SignedMsg=","&CertIndex=","&DigestArithmetic=","&DllFilePath="],h=[a,b,c,d,e],i=JointSendData(g,h);return sendAjaxData("NSSkfRawVerify","POST",i,f)},a.IWSASkfRawVerifyDefaultDN=function(a,b,c,d,e,f,g){e=GetDigestArithmeticByName(e),""!=a&&(a=GetPlanTextForConvertMode(a)),b=BASE64URLEN(b);var h="";"1"==d&&(h="2"),"0"==d&&(h="0");var i=["PlainText=","&SignedMsg=","&DefaultDN=","&DigestArithmetic=","&DllFilePath=","&Keyspec="],j=[a,b,c,e,f,h],k=JointSendData(i,j);return sendAjaxData("NSSkfRawVerify","POST",k,g)},a.IWSASkfEncryptedEnvelop=function(a,b,c,d){""!=a&&(a=GetPlanTextForConvertMode(a));var e=["PlainText=","&EncCert=","&SymmetryArithmetic="],f=[a,b,c],g=JointSendData(e,f);return sendAjaxData("NSSkfEncryptedEnvelop","POST",g,d)},a.IWSASkfEncryptedSignEnvelop=function(a,b,c,d,e,f,g){e=GetDigestArithmeticByName(e),""!=a&&(a=GetPlanTextForConvertMode(a));var h=["PlainText=","&EncCert=","&CertIndex=","&UsbKeyPin=","&DigestArithmetic=","&SymmetryArithmetic="],i=[a,b,c,d,e,f],j=JointSendData(h,i);return sendAjaxData("NSSkfEncryptedSignEnvelop","POST",j,g)},a.IWSASkfEncryptedSignEnvelopDefaultDN=function(a,b,c,d,e,f,g,h,i){f=GetDigestArithmeticByName(f),""!=a&&(a=GetPlanTextForConvertMode(a));var j="";"1"==d&&(j="2"),"0"==d&&(j="0");var k=["PlainText=","&EncCert=","&DefaultDN=","&Keyspec=","&UsbKeyPin=","&DigestArithmetic=","&SymmetryArithmetic=","&DllFilePath="],l=[a,b,c,j,e,f,g,h],m=JointSendData(k,l);return sendAjaxData("NSSkfEncryptedSignEnvelop","POST",m,i)},a.IWSASetCertEnrollShowErrMsg=function(a,b){var c=["IsShow="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSSetCertEnrollShowErrMsg","POST",e,b)},a.IWSAGetEVersion=function(a){return sendAjaxData("NSGetEVersion","GET","",a)},a.IWSAGetERsaCertStore=function(a){return sendAjaxData("NSGetRsaCertStore","GET","",a)},a.IWSAGetESm2CFCACertStore=function(a){return sendAjaxData("NSGetSm2CFCACertStore","GET","",a)},a.IWSAGetDistinctNameKeyValuePairNumber=function(a,b){var c=["DN="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSGetDistinctNameKeyValuePairNumber","POST",e,b)},a.IWSAGetDistinctNameKeyValuePair=function(a,b,c){var d=["DN=","&Index="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSGetDistinctNameKeyValuePair","POST",f,c)},a.IWSAECompareCertTime=function(a,b,c){var d=["CT1=","&CT2="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSCompareCertTime","POST",f,c)},a.IWSAGenSecureAuthCode=function(a,b,c,d){var e=["RefNo=","&AuthCode=","&P10="],f=[a,b,c],g=JointSendData(e,f);return sendAjaxData("NSGenSecureAuthCode","POST",g,d)},a.IWSAGetX509CertInfo=function(a,b){var c=["X509Cert="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSGetX509CertInfo","POST",e,b)},a.IWSAGetX509FromP7Cert=function(a,b){var c=["P7Cert="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSGetX509FromP7Cert","POST",e,b)},a.IWSA_rsa_csp_listProvider=function(a){return sendAjaxData("NSGetRsaCspListProvider","GET","",a)},a.IWSA_rsa_csp_getCountOfCert=function(a){return sendAjaxData("NSGetRsaCspCountOfCert","GET","",a)},a.IWSA_rsa_csp_getCertInfo=function(a,b){var c=["CertIndex="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSGetRsaCspCertInfo","POST",e,b)},a.IWSA_rsa_csp_AdvgenContainerP10=function(a,b,c,d){var e=["CspName=","&IKeySize=","&DN=","&bDoubleCert="],f=[m_CspName,a,b,c],g=JointSendData(e,f);return sendAjaxData("NSAdvRsaCspGenContainerP10","POST",g,d)},a.IWSA_rsa_csp_AdvImportSignEncCert=function(a,b,c,d,e,f){if("X509"==a){var g=["CspName=","&SignCert_Base64=","&EncCert_Base64=","&EncPrikey_Base64=","&UKEK_Base64="],h=[m_CspName,b,c,d,e],i=JointSendData(g,h);return sendAjaxData("NSRsaCspImportSignEncX509Cert","POST",i,f)}if("P7"==a){var g=["CspName=","&SignCert_Base64=","&EncCert_Base64=","&EncPrikey_Base64=","&UKEK_Base64="],h=[m_CspName,b,c,d,e],i=JointSendData(g,h);return sendAjaxData("NSRsaCspImportSignEncP7Cert","POST",i,f)}},a.IWSA_rsa_csp_setProvider=function(a){m_CspName=a},a.IWSA_rsa_csp_deleteContainer=function(a,b){var c=["CspName=","&Container="],d=[m_CspName,a],e=JointSendData(c,d);return sendAjaxData("NSRsaCspDeleteContainer","POST",e,b)},a.IWSA_rsa_csp_createContainer=function(a,b){var c=["CspName=","&Container="],d=[m_CspName,a],e=JointSendData(c,d);return sendAjaxData("NSRsaCspCreateContainer","POST",e,b)},a.IWSA_rsa_csp_delContainer=function(a,b,c){var d=["CspNamedel=","&Container="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSRsaCspDelContainer","POST",f,c)},a.IWSA_rsa_csp_genContainer=function(a){var b=["CspName="],c=[m_CspName],d=JointSendData(b,c);return sendAjaxData("NSRsaCspGenContainer","POST",d,a)},a.IWSA_rsa_csp_genContainerP10=function(a,b,c,d,e,f,g,h,i){var j=["CspName=","&bSign=","&KeySize=","&DN=","&DigestOID=","&PubKeyAlgOID=","&SignAlgOID=","&bExport=","&bProtect="],k=[m_CspName,a,b,c,d,e,f,g,h],l=JointSendData(j,k);return sendAjaxData("NSRsaCspGenContainerP10","POST",l,i)},a.IWSA_rsa_csp_genP10=function(a,b,c,d,e,f,g,h,i,j){var k=["CspName=","&Container=","&bSign=","&KeySize=","&DN=","&DigestOID=","&PubKeyAlgOID=","&SignAlgOID=","&bExport=","&bProtect="],l=[m_CspName,a,b,c,d,e,f,g,h,i],m=JointSendData(k,l);return sendAjaxData("NSRsaCspGenP10","POST",m,j)},a.IWSA_rsa_csp_genEncKeyPair=function(a){var b=["CspName="],c=[m_CspName],d=JointSendData(b,c);return sendAjaxData("NSRsaCspGenEncKeyPair","POST",d,a)},a.IWSA_rsa_csp_delEncKeyPair=function(a){var b=["CspName="],c=[m_CspName],d=JointSendData(b,c);return sendAjaxData("NSRsaCspDelEncKeyPair","POST",d,a)},a.IWSA_rsa_csp_importX509CertToStore=function(a,b,c){var d=["CspName=","&X509Cert=","&bRoot="],e=[m_CspName,a,b],f=JointSendData(d,e);return sendAjaxData("NSRsaCspImportX509CertToStore","POST",f,c)},a.IWSA_rsa_csp_delX509CertInStore=function(a,b,c){var d=["CspName=","&Issuer=","&Serial="],e=[m_CspName,a,b],f=JointSendData(d,e);return sendAjaxData("NSRsaCspDelX509CertInStore","POST",f,c)},a.IWSA_rsa_csp_importSignX509Cert=function(a,b,c){var d=["CspName=","&Container=","&X509Cert="],e=[m_CspName,a,b],f=JointSendData(d,e);return sendAjaxData("NSRsaCspImportSignX509Cert","POST",f,c)},a.IWSA_rsa_csp_importEncX509Cert=function(a,b,c,d,e,f,g){var h=["CspName=","&Container=","&X509Cert=","&EncPrikey=","&UKEK=","&bExport=","&bProtect="],i=[m_CspName,a,b,c,d,e,f],j=JointSendData(h,i);return sendAjaxData("NSRsaCspImportEncX509Cert","POST",j,g)},a.IWSA_rsa_csp_importSignP7Cert=function(a,b,c){var d=["CspName=","&Container=","&P7Cert="],e=[m_CspName,a,b],f=JointSendData(d,e);return sendAjaxData("NSRsaCspImportSignP7Cert","POST",f,c)},a.IWSA_rsa_csp_importEncP7Cert=function(a,b,c,d,e,f,g){var h=["CspName=","&Container=","&P7Cert=","&EncPrikey=","&UKEK=","&bExport=","&bProtect="],i=[m_CspName,a,b,c,d,e,f],j=JointSendData(h,i);return sendAjaxData("NSRsaCspImportEncP7Cert","POST",j,g)},a.IWSA_rsa_csp_exportSignX509Cert=function(a,b){var c=["CspName=","&Container="],d=[m_CspName,a],e=JointSendData(c,d);return sendAjaxData("NSRsaCspExportSignX509Cert","POST",e,b)},a.IWSA_rsa_csp_exportEncX509Cert=function(a,b){var c=["CspName=","&Container="],d=[m_CspName,a],e=JointSendData(c,d);return sendAjaxData("NSRsaCspExportEncX509Cert","POST",e,b)},a.IWSA_rsa_csp_exportPfxCert=function(a,b,c,d,e){var f=["CspName=","&Issuer=","&Serial=","&Password=","&bSaveAs="],g=[m_CspName,a,b,c,d],h=JointSendData(f,g);return sendAjaxData("NSRsaCspExportPfxCert","POST",h,e)},a.IWSA_rsa_csp_exportContainerPfxCert=function(a,b,c,d,e){var f=["CspName=","&Container=","&bSignCert=","&Password=","&bSaveAs="],g=[m_CspName,a,b,c,d],h=JointSendData(f,g);return sendAjaxData("NSRsaCspExportContainerPfxCert","POST",h,e)},a.IWSA_rsa_csp_signData=function(a,b,c,d){var e=["CspName=","&Container=","&PlantText=","&DigestOID="],f=[m_CspName,a,b,c],g=JointSendData(e,f);return sendAjaxData("NSRsaCspSignData","POST",g,d)},a.IWSA_rsa_csp_verifySignData=function(a,b,c,d,e){var f=["CspName=","&Container=","&PlantText=","&DigestOID=","&SignedData="],g=[m_CspName,a,b,c,d],h=JointSendData(f,g);return sendAjaxData("NSRsaCspVerifySignData","POST",h,e)},a.IWSA_rsa_csp_encryptData=function(a,b,c){var d=["CspName=","&Container=","&PlantText="],e=[m_CspName,a,b],f=JointSendData(d,e);return sendAjaxData("NSRsaCspEncryptData","POST",f,c)},a.IWSA_rsa_csp_decryptData=function(a,b,c){var d=["CspName=","&Container=","&EncryptText="],e=[m_CspName,a,b],f=JointSendData(d,e);return sendAjaxData("NSRsaCspDecryptData","POST",f,c)},a.IWSA_sm2_cfca_listProvider=function(a){return sendAjaxData("NSSm2CfcaGetProviderList","GET","",a)},a.IWSA_sm2_cfca_getCountOfCert=function(a){return sendAjaxData("NSSm2CfcaGetCountOfCert","GET","",a)},a.IWSA_sm2_cfca_getCertInfo=function(a,b){var c=["CertIndex="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSSm2CfcaGetCertInfo","POST",e,b)},a.IWSA_sm2_cfca_setProvider=function(a){m_CspName=a},a.IWSA_sm2_cfca_deleteContainer=function(a,b){var c=["CspName=","&Container="],d=[m_CspName,a],e=JointSendData(c,d);return sendAjaxData("NSSm2CfcaDeleteContainer","POST",e,b)},a.IWSA_sm2_cfca_createContainer=function(a,b){var c=["CspName=","&Container="],d=[m_CspName,a],e=JointSendData(c,d);return sendAjaxData("NSSm2CfcaCreateContainer","POST",e,b)},a.IWSA_sm2_cfca_delContainer=function(a,b,c){var d=["CspNamedel=","&Container="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSSm2CfcaDelContainer","POST",f,c)},a.IWSA_sm2_cfca_genContainer=function(a){var b=["CspName="],c=[m_CspName],d=JointSendData(b,c);return sendAjaxData("NSSm2CfcaGenContainer","POST",d,a)},a.IWSA_sm2_cfca_genContainerP10Encpubkey=function(a,b){var c=["CspName=","&DN="],d=[m_CspName,a],e=JointSendData(c,d);return sendAjaxData("NSSm2CfcaGenContainerP10Encpubkey","POST",e,b)},a.IWSA_sm2_cfca_genP10Encpubkey=function(a,b,c){var d=["CspName=","&Container=","&DN="],e=[m_CspName,a,b],f=JointSendData(d,e);return sendAjaxData("NSSm2CfcaGenP10Encpubkey","POST",f,c)},a.IWSA_sm2_cfca_importSignX509Cert=function(a,b,c){var d=["CspName=","&Container=","&X509Cert="],e=[m_CspName,a,b],f=JointSendData(d,e);return sendAjaxData("NSSm2CfcaImportSignX509Cert","POST",f,c)},a.IWSA_sm2_cfca_importEncX509Cert=function(a,b,c,d){var e=["CspName=","&Container=","&X509Cert=","&EncPrikey="],f=[m_CspName,a,b,c],g=JointSendData(e,f);return sendAjaxData("NSSm2CfcaImportEncX509Cert","POST",g,d)},a.IWSA_sm2_cfca_AdvImportSignEncX509Cert=function(a,b,c,d){var e=["CspName=","&SignCert=","&EncCert=","&EncPrikey="],f=[m_CspName,a,b,c],g=JointSendData(e,f);return sendAjaxData("NSSm2CfcaImportSignEncX509Cert","POST",g,d)},a.IWSA_sm2_cfca_signData=function(a,b,c){var d=["CspName=","&Container=","&PlantText="],e=[m_CspName,a,b],f=JointSendData(d,e);return sendAjaxData("NSSm2CfcaSignData","POST",f,c)},a.IWSA_sm2_skf_getCountOfCert=function(a){return sendAjaxData("NSSm2SkfGetCountOfCert","GET","",a)},a.IWSA_sm2_skf_getCertInfo=function(a,b){var c=["CertIndex="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSSm2SkfGetCertInfo","POST",e,b)},a.IWSA_sm2_skf_getProviderList=function(a){return sendAjaxData("NSSm2SkfGetProviderList","GET","",a)},a.IWSA_sm2_skf_getDeviceList=function(a,b){var c=["Provider="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSSm2SkfGetDeviceList","POST",e,b)},a.IWSA_sm2_skf_getApplicationList=function(a,b,c){var d=["Provider=","&Device="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSSm2SkfGetApplicationList","POST",f,c)},a.IWSA_sm2_skf_useDevice=function(a,b,c){SkfDeviceType=1,SkfUseDeviceInfoAry[0]=a,SkfUseDeviceInfoAry[1]=b,SkfUseDeviceInfoAry[2]="","true"!=c&&"false"!=c||(SkfUseDeviceInfoAry[2]=c)},a.IWSA_sm2_skf_setDevice=function(a,b,c){SkfDeviceType=2,SkfSetDeviceInfoAry[0]=a,SkfSetDeviceInfoAry[1]=b,SkfSetDeviceInfoAry[2]=c},a.IWSA_sm2_skf_getContainerList=function(a){var b=GetSkfTitleParameterAndAllreadyDevice(),c=GetSkfDataParameterAndAllreadyDevice(),d=JointSendData(b,c);return sendAjaxData("NSSm2SkfGetContainerList","POST",d,a)},a.IWSA_sm2_skf_getDeviceInfo=function(a,b,c){var d=["Provider=","&Device="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSSm2SkfGetDeviceInfo","POST",f,c)},a.IWSA_sm2_skf_verifyPin=function(a,b){var c=GetSkfTitleParameterAndAllreadyDevice("PIN"),d=GetSkfDataParameterAndAllreadyDevice(a),e=JointSendData(c,d);return sendAjaxData("NSSm2SkfVerifyPin","POST",e,b)},a.IWSA_sm2_skf_verifyPinOfCtrl=function(a){var b=GetSkfTitleParameterAndAllreadyDevice(),c=GetSkfDataParameterAndAllreadyDevice(),d=JointSendData(b,c);return sendAjaxData("NSSm2SkfVerifyPinOfCtrl","POST",d,a)},a.IWSA_sm2_skf_getPinInfo=function(a){var b=GetSkfTitleParameterAndAllreadyDevice(),c=GetSkfDataParameterAndAllreadyDevice(),d=JointSendData(b,c);return sendAjaxData("NSSm2SkfGetPinInfo","POST",d,a)},a.IWSA_sm2_skf_createContainer=function(a,b,c){var d=GetSkfTitleParameterAndAllreadyDevice("PIN","Container"),e=GetSkfDataParameterAndAllreadyDevice(a,b),f=JointSendData(d,e);return sendAjaxData("NSSm2SkfCreateContainer","POST",f,c)},a.IWSA_sm2_skf_delContainer=function(a,b,c,d,e,f){var g=GetSkfTitleParameterAndAllreadyDevice("Providerdel","Devicedel","Applicationdel","Containerdel","bVerifyPin"),h=GetSkfDataParameterAndAllreadyDevice(a,b,c,d,e),i=JointSendData(g,h);return sendAjaxData("NSSm2SkfDelContainer","POST",i,f)},a.IWSA_sm2_skf_deleteContainer=function(a,b,c){var d=GetSkfTitleParameterAndAllreadyDevice("PIN","Container"),e=GetSkfDataParameterAndAllreadyDevice(a,b),f=JointSendData(d,e);return sendAjaxData("NSSm2SkfDeleteContainer","POST",f,c)},a.IWSA_sm2_skf_writeData=function(a,b,c){var d=GetSkfTitleParameterAndAllreadyDevice("PIN","Data"),e=GetSkfDataParameterAndAllreadyDevice(a,b),f=JointSendData(d,e);return sendAjaxData("NSSm2SkfWriteData","POST",f,c)},a.IWSA_sm2_skf_readData=function(a,b){var c=GetSkfTitleParameterAndAllreadyDevice("PIN"),d=GetSkfDataParameterAndAllreadyDevice(a),e=JointSendData(c,d);return sendAjaxData("NSSm2SkfReadData","POST",e,b)},a.IWSA_sm2_skf_genContainer=function(a,b){var c=GetSkfTitleParameterAndAllreadyDevice("PIN"),d=GetSkfDataParameterAndAllreadyDevice(a),e=JointSendData(c,d);return sendAjaxData("NSSm2SkfGenContainer","POST",e,b)},a.IWSA_sm2_skf_genContainerP10=function(a,b,c,d,e){var f=GetSkfTitleParameterAndAllreadyDevice("PIN","DN","ID","bID"),g=GetSkfDataParameterAndAllreadyDevice(a,b,c,d),h=JointSendData(f,g);
+return sendAjaxData("NSSm2SkfGenContainerP10","POST",h,e)},a.IWSA_sm2_skf_genP10=function(a,b,c,d,e,f){var g=GetSkfTitleParameterAndAllreadyDevice("PIN","Container","DN","ID","bID"),h=GetSkfDataParameterAndAllreadyDevice(a,b,c,d,e),i=JointSendData(g,h);return sendAjaxData("NSSm2SkfGenP10","POST",i,f)},a.IWSA_sm2_skf_getEnveloped=function(a,b,c,d,e){var f=["X509Cert=","&SGDSMECB=","&EncPrikey=","&UKEK="],g=[a,b,c,d],h=JointSendData(f,g);return sendAjaxData("NSSm2SkfGetEnveloped","POST",h,e)},a.IWSA_sm2_skf_importSignX509Cert=function(a,b,c,d){var e=GetSkfTitleParameterAndAllreadyDevice("PIN","Container","X509Cert"),f=GetSkfDataParameterAndAllreadyDevice(a,b,c),g=JointSendData(e,f);return sendAjaxData("NSSm2SkfImportSignX509Cert","POST",g,d)},a.IWSA_sm2_skf_importEncX509Cert=function(a,b,c,d,e){var f=GetSkfTitleParameterAndAllreadyDevice("PIN","Container","X509Cert","EncPrikey"),g=GetSkfDataParameterAndAllreadyDevice(a,b,c,d),h=JointSendData(f,g);return sendAjaxData("NSSm2SkfImportEncX509Cert","POST",h,e)},a.IWSA_sm2_skf_AdvImportSignEncX509Cert=function(a,b,c,d,e){var f=GetSkfTitleParameterAndAllreadyDevice("PIN","SignCert","EncCert","EncPrikey"),g=GetSkfDataParameterAndAllreadyDevice(a,b,c,d),h=JointSendData(f,g);return sendAjaxData("NSSm2SkfImportSignEncX509Cert","POST",h,e)},a.IWSA_sm2_skf_exportSignX509Cert=function(a,b,c){var d=GetSkfTitleParameterAndAllreadyDevice("PIN","Container"),e=GetSkfDataParameterAndAllreadyDevice(a,b),f=JointSendData(d,e);return sendAjaxData("NSSm2SkfExportSignX509Cert","POST",f,c)},a.IWSA_sm2_skf_exportEncX509Cert=function(a,b,c){var d=GetSkfTitleParameterAndAllreadyDevice("PIN","Container"),e=GetSkfDataParameterAndAllreadyDevice(a,b),f=JointSendData(d,e);return sendAjaxData("NSSm2SkfExportEncX509Cert","POST",f,c)},a.IWSA_sm2_skf_signData=function(a,b,c,d,e,f){var g=GetSkfTitleParameterAndAllreadyDevice("PIN","Container","PlantText","ID","bID"),h=GetSkfDataParameterAndAllreadyDevice(a,b,c,d,e),i=JointSendData(g,h);return sendAjaxData("NSSm2SkfSignData","POST",i,f)},a.IWSA_sm2_skf_verifySignData=function(a,b,c,d,e,f,g){var h=GetSkfTitleParameterAndAllreadyDevice("PIN","Container","PlantText","SignData","ID","bID"),i=GetSkfDataParameterAndAllreadyDevice(a,b,c,d,e,f),j=JointSendData(h,i);return sendAjaxData("NSSm2SkfVerifySignData","POST",j,g)},a.IWSA_sm2_skf_encryptData=function(a,b,c,d){var e=GetSkfTitleParameterAndAllreadyDevice("PIN","Container","PlantText"),f=GetSkfDataParameterAndAllreadyDevice(a,b,c),g=JointSendData(e,f);return sendAjaxData("NSSm2SkfEncryptData","POST",g,d)},a.IWSA_sm2_skf_decryptData=function(a,b,c,d){var e=GetSkfTitleParameterAndAllreadyDevice("PIN","Container","EncryptText"),f=GetSkfDataParameterAndAllreadyDevice(a,b,c),g=JointSendData(e,f);return sendAjaxData("NSSm2SkfDecryptData","POST",g,d)},a.IWSABigFileDetachedSign=function(a,b,c,d){c=GetDigestArithmeticByName(c),""!=a&&(a=GetPlanTextForConvertMode(a));var e=["FilePathName=","&CertIndex=","&DigestArithmetic="],f=[a,b,c],g=JointSendData(e,f);return sendAjaxData("NSBigFileDetachedSign","POST",g,d)},a.IWSABigFileDetachedVerify=function(a,b,c){a=BASE64URLEN(a),""!=b&&(b=GetPlanTextForConvertMode(b));var d=["signedMsg=","&FilePathName="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSBigFileDetachedVerify","POST",f,c)},a.IWSABigFileDetachedSignDefaultDN=function(a,b,c,d,e){d=GetDigestArithmeticByName(d),""!=a&&(a=GetPlanTextForConvertMode(a));var f=InfosecGetCertStoreName("","Sign"),g="";"1"==c&&(g="2"),"0"==c&&(g="0");var h=["FilePathName=","&CertStore=","&defultDN=","&Keyspec=","&DigestArithmetic="],i=[a,f,b,g,d],j=JointSendData(h,i);return sendAjaxData("NSBigFileDetachedSignDefaultDN","POST",j,e)},a.IWSALoadDLL=function(a,b){var c=["dllPathName="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSLoadExtendDLL","POST",e,b)},a.IWSAFreeDLL=function(a){return sendAjaxData("NSFreeExtendDLL","GET","",a)},a.IWSAStdCallDLLFuncParameterZero=function(a,b){var c=["dllFuncName="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSStdCallDLLFuncParameterZero","POST",e,b)},a.IWSAStdCallDLLFuncParameterOutCPtrOne=function(a,b,c){var d=["dllFuncName=","&OutCharLen="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSStdCallDLLFuncParameterOutCPtrOne","POST",f,c)},a.IWSACallDLLFuncParameterZero=function(a,b){var c=["dllFuncName="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSCallDLLFuncParameterZero","POST",e,b)},a.IWSACallDLLFuncParameterOutCPtrOne=function(a,b,c){var d=["dllFuncName=","&OutCharLen="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSCallDLLFuncParameterOutCPtrOne","POST",f,c)},a.IWSASkfGetCertsListInfoDIY=function(a,b){var c=["DllFilePath="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSSkfGetCertsListInfo","POST",e,b)},a.IWSASkfRawSignDIY=function(a,b,c,d,e){""!=a&&(a=GetPlanTextForConvertMode(a));var f=["PlainText=","&CertIndex=","&UsbKeyPin=","&DigestArithmetic="],g=[a,b,c,d],h=JointSendData(f,g);return sendAjaxData("NSSkfRawSign","POST",h,e)},a.IWSASkfGetCertInfoForIndex=function(a,b){var c=["CertIndex="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSSkfGetCertInfoForIndex","POST",e,b)},a.IWSASkfGetCertPublicKeyInfoForIndex=function(a,b){var c=["CertIndex="],d=[a],e=JointSendData(c,d);return sendAjaxData("NSSkfGetCertPublicKeyInfoForIndex","POST",e,b)},a.IWSABigFileHash=function(a,b,c){""!=a&&(a=GetPlanTextForConvertMode(a));var d=["FilePathName=","&DigestArithmetic="],e=[a,b],f=JointSendData(d,e);return sendAjaxData("NSBigFileHash","POST",f,c)},a}if(function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return md.apply(null,arguments)}function b(a){md=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)return!1;return!0}function f(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function g(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function h(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function i(a,b){for(var c in b)h(b,c)&&(a[c]=b[c]);return h(b,"toString")&&(a.toString=b.toString),h(b,"valueOf")&&(a.valueOf=b.valueOf),a}function j(a,b,c,d){return qb(a,b,c,d,!0).utc()}function k(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null}}function l(a){return null==a._pf&&(a._pf=k()),a._pf}function m(a){if(null==a._isValid){var b=l(a),c=nd.call(b.parsedDateParts,function(a){return null!=a}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d}return a._isValid}function n(a){var b=j(NaN);return null!=a?i(l(b),a):l(b).userInvalidated=!0,b}function o(a){return void 0===a}function p(a,b){var c,d,e;if(o(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),o(b._i)||(a._i=b._i),o(b._f)||(a._f=b._f),o(b._l)||(a._l=b._l),o(b._strict)||(a._strict=b._strict),o(b._tzm)||(a._tzm=b._tzm),o(b._isUTC)||(a._isUTC=b._isUTC),o(b._offset)||(a._offset=b._offset),o(b._pf)||(a._pf=l(b)),o(b._locale)||(a._locale=b._locale),od.length>0)for(c in od)d=od[c],e=b[d],o(e)||(a[d]=e);return a}function q(b){p(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),pd===!1&&(pd=!0,a.updateOffset(this),pd=!1)}function r(a){return a instanceof q||null!=a&&null!=a._isAMomentObject}function s(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function t(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=s(b)),c}function u(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++)(c&&a[d]!==b[d]||!c&&t(a[d])!==t(b[d]))&&g++;return g+f}function v(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function w(b,c){var d=!0;return i(function(){if(null!=a.deprecationHandler&&a.deprecationHandler(null,b),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==typeof arguments[g]){e+="\n["+g+"] ";for(var h in arguments[0])e+=h+": "+arguments[0][h]+", ";e=e.slice(0,-2)}else e=arguments[g];f.push(e)}v(b+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+(new Error).stack),d=!1}return c.apply(this,arguments)},c)}function x(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),qd[b]||(v(c),qd[b]=!0)}function y(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function z(a){var b,c;for(c in a)b=a[c],y(b)?this[c]=b:this["_"+c]=b;this._config=a,this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function A(a,b){var c,e=i({},a);for(c in b)h(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},i(e[c],a[c]),i(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)h(a,c)&&!h(b,c)&&d(a[c])&&(e[c]=i({},e[c]));return e}function B(a){null!=a&&this.set(a)}function C(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return y(d)?d.call(b,c):d}function D(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function E(){return this._invalidDate}function F(a){return this._ordinal.replace("%d",a)}function G(a,b,c,d){var e=this._relativeTime[c];return y(e)?e(a,b,c,d):e.replace(/%d/i,a)}function H(a,b){var c=this._relativeTime[a>0?"future":"past"];return y(c)?c(b):c.replace(/%s/i,b)}function I(a,b){var c=a.toLowerCase();zd[c]=zd[c+"s"]=zd[b]=a}function J(a){return"string"==typeof a?zd[a]||zd[a.toLowerCase()]:void 0}function K(a){var b,c,d={};for(c in a)h(a,c)&&(b=J(c),b&&(d[b]=a[c]));return d}function L(a,b){Ad[a]=b}function M(a){var b=[];for(var c in a)b.push({unit:c,priority:Ad[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function N(b,c){return function(d){return null!=d?(P(this,b,d),a.updateOffset(this,c),this):O(this,b)}}function O(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function P(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}function Q(a){return a=J(a),y(this[a])?this[a]():this}function R(a,b){if("object"==typeof a){a=K(a);for(var c=M(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=J(a),y(this[a]))return this[a](b);return this}function S(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function T(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Ed[a]=e),b&&(Ed[b[0]]=function(){return S(e.apply(this,arguments),b[1],b[2])}),c&&(Ed[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function U(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function V(a){var b,c,d=a.match(Bd);for(b=0,c=d.length;b<c;b++)Ed[d[b]]?d[b]=Ed[d[b]]:d[b]=U(d[b]);return function(b){var e,f="";for(e=0;e<c;e++)f+=d[e]instanceof Function?d[e].call(b,a):d[e];return f}}function W(a,b){return a.isValid()?(b=X(b,a.localeData()),Dd[b]=Dd[b]||V(b),Dd[b](a)):a.localeData().invalidDate()}function X(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Cd.lastIndex=0;d>=0&&Cd.test(a);)a=a.replace(Cd,c),Cd.lastIndex=0,d-=1;return a}function Y(a,b,c){Wd[a]=y(b)?b:function(a,d){return a&&c?c:b}}function Z(a,b){return h(Wd,a)?Wd[a](b._strict,b._locale):new RegExp($(a))}function $(a){return _(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function _(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function aa(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=t(a)}),c=0;c<a.length;c++)Xd[a[c]]=d}function ba(a,b){aa(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function ca(a,b,c){null!=b&&h(Xd,a)&&Xd[a](b,c._a,c,a)}function da(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function ea(a,b){return a?c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||fe).test(b)?"format":"standalone"][a.month()]:this._months}function fa(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[fe.test(b)?"format":"standalone"][a.month()]:this._monthsShort}function ga(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;d<12;++d)f=j([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=sd.call(this._shortMonthsParse,g),e!==-1?e:null):(e=sd.call(this._longMonthsParse,g),e!==-1?e:null):"MMM"===b?(e=sd.call(this._shortMonthsParse,g),e!==-1?e:(e=sd.call(this._longMonthsParse,g),e!==-1?e:null)):(e=sd.call(this._longMonthsParse,g),e!==-1?e:(e=sd.call(this._shortMonthsParse,g),e!==-1?e:null))}function ha(a,b,c){var d,e,f;if(this._monthsParseExact)return ga.call(this,a,b,c);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;d<12;d++){if(e=j([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function ia(a,b){var c;if(!a.isValid())return a;if("string"==typeof b)if(/^\d+$/.test(b))b=t(b);else if(b=a.localeData().monthsParse(b),"number"!=typeof b)return a;return c=Math.min(a.date(),da(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function ja(b){return null!=b?(ia(this,b),a.updateOffset(this,!0),this):O(this,"Month")}function ka(){return da(this.year(),this.month())}function la(a){return this._monthsParseExact?(h(this,"_monthsRegex")||na.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(h(this,"_monthsShortRegex")||(this._monthsShortRegex=ie),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function ma(a){return this._monthsParseExact?(h(this,"_monthsRegex")||na.call(this),a?this._monthsStrictRegex:this._monthsRegex):(h(this,"_monthsRegex")||(this._monthsRegex=je),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function na(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)c=j([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=_(d[b]),e[b]=_(e[b]);for(b=0;b<24;b++)f[b]=_(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")}function oa(a){return pa(a)?366:365}function pa(a){return a%4===0&&a%100!==0||a%400===0}function qa(){return pa(this.year())}function ra(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function sa(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function ta(a,b,c){var d=7+b-c,e=(7+sa(a,0,d).getUTCDay()-b)%7;return-e+d-1}function ua(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ta(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=oa(f)+j):j>oa(a)?(f=a+1,g=j-oa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function va(a,b,c){var d,e,f=ta(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+wa(e,b,c)):g>wa(a.year(),b,c)?(d=g-wa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function wa(a,b,c){var d=ta(a,b,c),e=ta(a+1,b,c);return(oa(a)-d+e)/7}function xa(a){return va(a,this._week.dow,this._week.doy).week}function ya(){return this._week.dow}function za(){return this._week.doy}function Aa(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ba(a){var b=va(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Ca(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Da(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Ea(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:this._weekdays}function Fa(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ga(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=j([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=sd.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=sd.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=sd.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=sd.call(this._weekdaysParse,g),e!==-1?e:(e=sd.call(this._shortWeekdaysParse,g),e!==-1?e:(e=sd.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=sd.call(this._shortWeekdaysParse,g),e!==-1?e:(e=sd.call(this._weekdaysParse,g),e!==-1?e:(e=sd.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=sd.call(this._minWeekdaysParse,g),e!==-1?e:(e=sd.call(this._weekdaysParse,g),e!==-1?e:(e=sd.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ia(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ha.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(e=j([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function Ja(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Ca(a,this.localeData()),this.add(a-b,"d")):b}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function La(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Da(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Ma(a){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Pa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=pe),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Na(a){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Pa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=qe),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Oa(a){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||Pa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=re),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Pa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],k=[];for(b=0;b<7;b++)c=j([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),k.push(d),k.push(e),k.push(f);for(g.sort(a),h.sort(a),i.sort(a),k.sort(a),b=0;b<7;b++)h[b]=_(h[b]),i[b]=_(i[b]),k[b]=_(k[b]);this._weekdaysRegex=new RegExp("^("+k.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}function Qa(){return this.hours()%12||12}function Ra(){return this.hours()||24}function Sa(a,b){T(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Ta(a,b){return b._meridiemParse}function Ua(a){return"p"===(a+"").toLowerCase().charAt(0)}function Va(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Wa(a){return a?a.toLowerCase().replace("_","-"):a}function Xa(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Wa(a[f]).split("-"),b=e.length,c=Wa(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=Ya(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&u(e,c,!0)>=b-1)break;b--}f++}return null}function Ya(a){var b=null;if(!we[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=se._abbr,require("./locale/"+a),Za(b)}catch(c){}return we[a]}function Za(a,b){var c;return a&&(c=o(b)?ab(a):$a(a,b),c&&(se=c)),se._abbr}function $a(a,b){if(null!==b){var c=ve;return b.abbr=a,null!=we[a]?(x("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=we[a]._config):null!=b.parentLocale&&(null!=we[b.parentLocale]?c=we[b.parentLocale]._config:x("parentLocaleUndefined","specified parentLocale is not defined yet. See http://momentjs.com/guides/#/warnings/parent-locale/")),we[a]=new B(A(c,b)),Za(a),we[a]}return delete we[a],null}function _a(a,b){if(null!=b){var c,d=ve;null!=we[a]&&(d=we[a]._config),b=A(d,b),c=new B(b),c.parentLocale=we[a],we[a]=c,Za(a)}else null!=we[a]&&(null!=we[a].parentLocale?we[a]=we[a].parentLocale:null!=we[a]&&delete we[a]);return we[a]}function ab(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return se;if(!c(a)){if(b=Ya(a))return b;a=[a]}return Xa(a)}function bb(){return rd(we)}function cb(a){var b,c=a._a;return c&&l(a).overflow===-2&&(b=c[Zd]<0||c[Zd]>11?Zd:c[$d]<1||c[$d]>da(c[Yd],c[Zd])?$d:c[_d]<0||c[_d]>24||24===c[_d]&&(0!==c[ae]||0!==c[be]||0!==c[ce])?_d:c[ae]<0||c[ae]>59?ae:c[be]<0||c[be]>59?be:c[ce]<0||c[ce]>999?ce:-1,l(a)._overflowDayOfYear&&(b<Yd||b>$d)&&(b=$d),l(a)._overflowWeeks&&b===-1&&(b=de),l(a)._overflowWeekday&&b===-1&&(b=ee),l(a).overflow=b),a}function db(a){var b,c,d,e,f,g,h=a._i,i=xe.exec(h)||ye.exec(h);if(i){for(l(a).iso=!0,b=0,c=Ae.length;b<c;b++)if(Ae[b][1].exec(i[1])){e=Ae[b][0],d=Ae[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Be.length;b<c;b++)if(Be[b][1].exec(i[3])){f=(i[2]||" ")+Be[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!ze.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),jb(a)}else a._isValid=!1}function eb(b){var c=Ce.exec(b._i);return null!==c?void(b._d=new Date((+c[1]))):(db(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}function fb(a,b,c){return null!=a?a:null!=b?b:c}function gb(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function hb(a){var b,c,d,e,f=[];if(!a._d){for(d=gb(a),a._w&&null==a._a[$d]&&null==a._a[Zd]&&ib(a),a._dayOfYear&&(e=fb(a._a[Yd],d[Yd]),a._dayOfYear>oa(e)&&(l(a)._overflowDayOfYear=!0),c=sa(e,0,a._dayOfYear),a._a[Zd]=c.getUTCMonth(),a._a[$d]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[_d]&&0===a._a[ae]&&0===a._a[be]&&0===a._a[ce]&&(a._nextDay=!0,a._a[_d]=0),a._d=(a._useUTC?sa:ra).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[_d]=24)}}function ib(a){var b,c,d,e,f,g,h,i;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=fb(b.GG,a._a[Yd],va(rb(),1,4).year),d=fb(b.W,1),e=fb(b.E,1),(e<1||e>7)&&(i=!0)):(f=a._locale._week.dow,g=a._locale._week.doy,c=fb(b.gg,a._a[Yd],va(rb(),f,g).year),d=fb(b.w,1),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f),d<1||d>wa(c,f,g)?l(a)._overflowWeeks=!0:null!=i?l(a)._overflowWeekday=!0:(h=ua(c,d,e,f,g),a._a[Yd]=h.year,a._dayOfYear=h.dayOfYear)}function jb(b){if(b._f===a.ISO_8601)return void db(b);b._a=[],l(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=X(b._f,b._locale).match(Bd)||[],c=0;c<e.length;c++)f=e[c],d=(h.match(Z(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&l(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Ed[f]?(d?l(b).empty=!1:l(b).unusedTokens.push(f),ca(f,d,b)):b._strict&&!d&&l(b).unusedTokens.push(f);l(b).charsLeftOver=i-j,h.length>0&&l(b).unusedInput.push(h),b._a[_d]<=12&&l(b).bigHour===!0&&b._a[_d]>0&&(l(b).bigHour=void 0),l(b).parsedDateParts=b._a.slice(0),l(b).meridiem=b._meridiem,b._a[_d]=kb(b._locale,b._a[_d],b._meridiem),hb(b),cb(b)}function kb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}function lb(a){var b,c,d,e,f;if(0===a._f.length)return l(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=p({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],jb(b),m(b)&&(f+=l(b).charsLeftOver,f+=10*l(b).unusedTokens.length,l(b).score=f,(null==d||f<d)&&(d=f,c=b));i(a,c||b)}function mb(a){if(!a._d){var b=K(a._i);a._a=g([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),hb(a)}}function nb(a){var b=new q(cb(ob(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function ob(a){var b=a._i,d=a._f;return a._locale=a._locale||ab(a._l),null===b||void 0===d&&""===b?n({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),r(b)?new q(cb(b)):(c(d)?lb(a):f(b)?a._d=b:d?jb(a):pb(a),m(a)||(a._d=null),a))}function pb(b){var d=b._i;void 0===d?b._d=new Date(a.now()):f(d)?b._d=new Date(d.valueOf()):"string"==typeof d?eb(b):c(d)?(b._a=g(d.slice(0),function(a){return parseInt(a,10)}),hb(b)):"object"==typeof d?mb(b):"number"==typeof d?b._d=new Date(d):a.createFromInputFallback(b)}function qb(a,b,f,g,h){var i={};return"boolean"==typeof f&&(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,nb(i)}function rb(a,b,c,d){return qb(a,b,c,d,!1)}function sb(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return rb();for(d=b[0],e=1;e<b.length;++e)b[e].isValid()&&!b[e][a](d)||(d=b[e]);return d}function tb(){var a=[].slice.call(arguments,0);return sb("isBefore",a)}function ub(){var a=[].slice.call(arguments,0);return sb("isAfter",a)}function vb(a){var b=K(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+1e3*h*60*60,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=ab(),this._bubble()}function wb(a){return a instanceof vb}function xb(a){return a<0?Math.round(-1*a)*-1:Math.round(a)}function yb(a,b){T(a,0,0,function(){var a=this.utcOffset(),c="+";return a<0&&(a=-a,c="-"),c+S(~~(a/60),2)+b+S(~~a%60,2)})}function zb(a,b){var c=(b||"").match(a)||[],d=c[c.length-1]||[],e=(d+"").match(Ge)||["-",0,0],f=+(60*e[1])+t(e[2]);return"+"===e[0]?f:-f}function Ab(b,c){var d,e;return c._isUTC?(d=c.clone(),e=(r(b)||f(b)?b.valueOf():rb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):rb(b).local()}function Bb(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Cb(b,c){var d,e=this._offset||0;return this.isValid()?null!=b?("string"==typeof b?b=zb(Td,b):Math.abs(b)<16&&(b=60*b),!this._isUTC&&c&&(d=Bb(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?Sb(this,Nb(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Bb(this):null!=b?this:NaN}function Db(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Eb(a){return this.utcOffset(0,a)}function Fb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Bb(this),"m")),this}function Gb(){if(this._tzm)this.utcOffset(this._tzm);else if("string"==typeof this._i){var a=zb(Sd,this._i);0===a?this.utcOffset(0,!0):this.utcOffset(zb(Sd,this._i))}return this}function Hb(a){return!!this.isValid()&&(a=a?rb(a).utcOffset():0,(this.utcOffset()-a)%60===0)}function Ib(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Jb(){if(!o(this._isDSTShifted))return this._isDSTShifted;var a={};if(p(a,this),a=ob(a),a._a){var b=a._isUTC?j(a._a):rb(a._a);this._isDSTShifted=this.isValid()&&u(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Kb(){return!!this.isValid()&&!this._isUTC}function Lb(){return!!this.isValid()&&this._isUTC}function Mb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Nb(a,b){var c,d,e,f=a,g=null;return wb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(g=He.exec(a))?(c="-"===g[1]?-1:1,f={y:0,d:t(g[$d])*c,h:t(g[_d])*c,m:t(g[ae])*c,s:t(g[be])*c,ms:t(xb(1e3*g[ce]))*c}):(g=Ie.exec(a))?(c="-"===g[1]?-1:1,f={y:Ob(g[2],c),M:Ob(g[3],c),w:Ob(g[4],c),d:Ob(g[5],c),h:Ob(g[6],c),m:Ob(g[7],c),s:Ob(g[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Qb(rb(f.from),rb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new vb(f),wb(a)&&h(a,"_locale")&&(d._locale=a._locale),d}function Ob(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Pb(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Qb(a,b){var c;return a.isValid()&&b.isValid()?(b=Ab(b,a),a.isBefore(b)?c=Pb(a,b):(c=Pb(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Rb(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(x(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Nb(c,d),Sb(this,e,a),this}}function Sb(b,c,d,e){var f=c._milliseconds,g=xb(c._days),h=xb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&P(b,"Date",O(b,"Date")+g*d),h&&ia(b,O(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Tb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Ub(b,c){var d=b||rb(),e=Ab(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(y(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,rb(d)))}function Vb(){return new q(this)}function Wb(a,b){
+var c=r(a)?a:rb(a);return!(!this.isValid()||!c.isValid())&&(b=J(o(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf())}function Xb(a,b){var c=r(a)?a:rb(a);return!(!this.isValid()||!c.isValid())&&(b=J(o(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf())}function Yb(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c))}function Zb(a,b){var c,d=r(a)?a:rb(a);return!(!this.isValid()||!d.isValid())&&(b=J(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf()))}function $b(a,b){return this.isSame(a,b)||this.isAfter(a,b)}function _b(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function ac(a,b,c){var d,e,f,g;return this.isValid()?(d=Ab(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=J(b),"year"===b||"month"===b||"quarter"===b?(g=bc(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:s(g)):NaN):NaN}function bc(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return b-f<0?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function cc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function dc(){var a=this.clone().utc();return 0<a.year()&&a.year()<=9999?y(Date.prototype.toISOString)?this.toDate().toISOString():W(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):W(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function ec(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=W(this,b);return this.localeData().postformat(c)}function fc(a,b){return this.isValid()&&(r(a)&&a.isValid()||rb(a).isValid())?Nb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function gc(a){return this.from(rb(),a)}function hc(a,b){return this.isValid()&&(r(a)&&a.isValid()||rb(a).isValid())?Nb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function ic(a){return this.to(rb(),a)}function jc(a){var b;return void 0===a?this._locale._abbr:(b=ab(a),null!=b&&(this._locale=b),this)}function kc(){return this._locale}function lc(a){switch(a=J(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function mc(a){return a=J(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function nc(){return this._d.valueOf()-6e4*(this._offset||0)}function oc(){return Math.floor(this.valueOf()/1e3)}function pc(){return new Date(this.valueOf())}function qc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function rc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function sc(){return this.isValid()?this.toISOString():null}function tc(){return m(this)}function uc(){return i({},l(this))}function vc(){return l(this).overflow}function wc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function xc(a,b){T(0,[a,a.length],0,b)}function yc(a){return Cc.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function zc(a){return Cc.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Ac(){return wa(this.year(),1,4)}function Bc(){var a=this.localeData()._week;return wa(this.year(),a.dow,a.doy)}function Cc(a,b,c,d,e){var f;return null==a?va(this,d,e).year:(f=wa(a,d,e),b>f&&(b=f),Dc.call(this,a,b,c,d,e))}function Dc(a,b,c,d,e){var f=ua(a,b,c,d,e),g=sa(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Ec(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Fc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Gc(a,b){b[ce]=t(1e3*("0."+a))}function Hc(){return this._isUTC?"UTC":""}function Ic(){return this._isUTC?"Coordinated Universal Time":""}function Jc(a){return rb(1e3*a)}function Kc(){return rb.apply(null,arguments).parseZone()}function Lc(a){return a}function Mc(a,b,c,d){var e=ab(),f=j().set(d,b);return e[c](f,a)}function Nc(a,b,c){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return Mc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Mc(a,d,c,"month");return e}function Oc(a,b,c,d){"boolean"==typeof a?("number"==typeof b&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,"number"==typeof b&&(c=b,b=void 0),b=b||"");var e=ab(),f=a?e._week.dow:0;if(null!=c)return Mc(b,(c+f)%7,d,"day");var g,h=[];for(g=0;g<7;g++)h[g]=Mc(b,(g+f)%7,d,"day");return h}function Pc(a,b){return Nc(a,b,"months")}function Qc(a,b){return Nc(a,b,"monthsShort")}function Rc(a,b,c){return Oc(a,b,c,"weekdays")}function Sc(a,b,c){return Oc(a,b,c,"weekdaysShort")}function Tc(a,b,c){return Oc(a,b,c,"weekdaysMin")}function Uc(){var a=this._data;return this._milliseconds=Ue(this._milliseconds),this._days=Ue(this._days),this._months=Ue(this._months),a.milliseconds=Ue(a.milliseconds),a.seconds=Ue(a.seconds),a.minutes=Ue(a.minutes),a.hours=Ue(a.hours),a.months=Ue(a.months),a.years=Ue(a.years),this}function Vc(a,b,c,d){var e=Nb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function Wc(a,b){return Vc(this,a,b,1)}function Xc(a,b){return Vc(this,a,b,-1)}function Yc(a){return a<0?Math.floor(a):Math.ceil(a)}function Zc(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*Yc(_c(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=s(f/1e3),i.seconds=a%60,b=s(a/60),i.minutes=b%60,c=s(b/60),i.hours=c%24,g+=s(c/24),e=s($c(g)),h+=e,g-=Yc(_c(e)),d=s(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function $c(a){return 4800*a/146097}function _c(a){return 146097*a/4800}function ad(a){var b,c,d=this._milliseconds;if(a=J(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+$c(b),"month"===a?c:c/12;switch(b=this._days+Math.round(_c(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function bd(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*t(this._months/12)}function cd(a){return function(){return this.as(a)}}function dd(a){return a=J(a),this[a+"s"]()}function ed(a){return function(){return this._data[a]}}function fd(){return s(this.days()/7)}function gd(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function hd(a,b,c){var d=Nb(a).abs(),e=jf(d.as("s")),f=jf(d.as("m")),g=jf(d.as("h")),h=jf(d.as("d")),i=jf(d.as("M")),j=jf(d.as("y")),k=e<kf.s&&["s",e]||f<=1&&["m"]||f<kf.m&&["mm",f]||g<=1&&["h"]||g<kf.h&&["hh",g]||h<=1&&["d"]||h<kf.d&&["dd",h]||i<=1&&["M"]||i<kf.M&&["MM",i]||j<=1&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,gd.apply(null,k)}function id(a){return void 0===a?jf:"function"==typeof a&&(jf=a,!0)}function jd(a,b){return void 0!==kf[a]&&(void 0===b?kf[a]:(kf[a]=b,!0))}function kd(a){var b=this.localeData(),c=hd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function ld(){var a,b,c,d=lf(this._milliseconds)/1e3,e=lf(this._days),f=lf(this._months);a=s(d/60),b=s(a/60),d%=60,a%=60,c=s(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var md,nd;nd=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d<c;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1};var od=a.momentProperties=[],pd=!1,qd={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var rd;rd=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)h(a,b)&&c.push(b);return c};var sd,td={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},ud={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},vd="Invalid date",wd="%d",xd=/\d{1,2}/,yd={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},zd={},Ad={},Bd=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Cd=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Dd={},Ed={},Fd=/\d/,Gd=/\d\d/,Hd=/\d{3}/,Id=/\d{4}/,Jd=/[+-]?\d{6}/,Kd=/\d\d?/,Ld=/\d\d\d\d?/,Md=/\d\d\d\d\d\d?/,Nd=/\d{1,3}/,Od=/\d{1,4}/,Pd=/[+-]?\d{1,6}/,Qd=/\d+/,Rd=/[+-]?\d+/,Sd=/Z|[+-]\d\d:?\d\d/gi,Td=/Z|[+-]\d\d(?::?\d\d)?/gi,Ud=/[+-]?\d+(\.\d{1,3})?/,Vd=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Wd={},Xd={},Yd=0,Zd=1,$d=2,_d=3,ae=4,be=5,ce=6,de=7,ee=8;sd=Array.prototype.indexOf?Array.prototype.indexOf:function(a){var b;for(b=0;b<this.length;++b)if(this[b]===a)return b;return-1},T("M",["MM",2],"Mo",function(){return this.month()+1}),T("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),T("MMMM",0,0,function(a){return this.localeData().months(this,a)}),I("month","M"),L("month",8),Y("M",Kd),Y("MM",Kd,Gd),Y("MMM",function(a,b){return b.monthsShortRegex(a)}),Y("MMMM",function(a,b){return b.monthsRegex(a)}),aa(["M","MM"],function(a,b){b[Zd]=t(a)-1}),aa(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[Zd]=e:l(c).invalidMonth=a});var fe=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,ge="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),he="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),ie=Vd,je=Vd;T("Y",0,0,function(){var a=this.year();return a<=9999?""+a:"+"+a}),T(0,["YY",2],0,function(){return this.year()%100}),T(0,["YYYY",4],0,"year"),T(0,["YYYYY",5],0,"year"),T(0,["YYYYYY",6,!0],0,"year"),I("year","y"),L("year",1),Y("Y",Rd),Y("YY",Kd,Gd),Y("YYYY",Od,Id),Y("YYYYY",Pd,Jd),Y("YYYYYY",Pd,Jd),aa(["YYYYY","YYYYYY"],Yd),aa("YYYY",function(b,c){c[Yd]=2===b.length?a.parseTwoDigitYear(b):t(b)}),aa("YY",function(b,c){c[Yd]=a.parseTwoDigitYear(b)}),aa("Y",function(a,b){b[Yd]=parseInt(a,10)}),a.parseTwoDigitYear=function(a){return t(a)+(t(a)>68?1900:2e3)};var ke=N("FullYear",!0);T("w",["ww",2],"wo","week"),T("W",["WW",2],"Wo","isoWeek"),I("week","w"),I("isoWeek","W"),L("week",5),L("isoWeek",5),Y("w",Kd),Y("ww",Kd,Gd),Y("W",Kd),Y("WW",Kd,Gd),ba(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=t(a)});var le={dow:0,doy:6};T("d",0,"do","day"),T("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),T("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),T("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),T("e",0,0,"weekday"),T("E",0,0,"isoWeekday"),I("day","d"),I("weekday","e"),I("isoWeekday","E"),L("day",11),L("weekday",11),L("isoWeekday",11),Y("d",Kd),Y("e",Kd),Y("E",Kd),Y("dd",function(a,b){return b.weekdaysMinRegex(a)}),Y("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Y("dddd",function(a,b){return b.weekdaysRegex(a)}),ba(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:l(c).invalidWeekday=a}),ba(["d","e","E"],function(a,b,c,d){b[d]=t(a)});var me="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ne="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),oe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),pe=Vd,qe=Vd,re=Vd;T("H",["HH",2],0,"hour"),T("h",["hh",2],0,Qa),T("k",["kk",2],0,Ra),T("hmm",0,0,function(){return""+Qa.apply(this)+S(this.minutes(),2)}),T("hmmss",0,0,function(){return""+Qa.apply(this)+S(this.minutes(),2)+S(this.seconds(),2)}),T("Hmm",0,0,function(){return""+this.hours()+S(this.minutes(),2)}),T("Hmmss",0,0,function(){return""+this.hours()+S(this.minutes(),2)+S(this.seconds(),2)}),Sa("a",!0),Sa("A",!1),I("hour","h"),L("hour",13),Y("a",Ta),Y("A",Ta),Y("H",Kd),Y("h",Kd),Y("HH",Kd,Gd),Y("hh",Kd,Gd),Y("hmm",Ld),Y("hmmss",Md),Y("Hmm",Ld),Y("Hmmss",Md),aa(["H","HH"],_d),aa(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),aa(["h","hh"],function(a,b,c){b[_d]=t(a),l(c).bigHour=!0}),aa("hmm",function(a,b,c){var d=a.length-2;b[_d]=t(a.substr(0,d)),b[ae]=t(a.substr(d)),l(c).bigHour=!0}),aa("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[_d]=t(a.substr(0,d)),b[ae]=t(a.substr(d,2)),b[be]=t(a.substr(e)),l(c).bigHour=!0}),aa("Hmm",function(a,b,c){var d=a.length-2;b[_d]=t(a.substr(0,d)),b[ae]=t(a.substr(d))}),aa("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[_d]=t(a.substr(0,d)),b[ae]=t(a.substr(d,2)),b[be]=t(a.substr(e))});var se,te=/[ap]\.?m?\.?/i,ue=N("Hours",!0),ve={calendar:td,longDateFormat:ud,invalidDate:vd,ordinal:wd,ordinalParse:xd,relativeTime:yd,months:ge,monthsShort:he,week:le,weekdays:me,weekdaysMin:oe,weekdaysShort:ne,meridiemParse:te},we={},xe=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,ye=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,ze=/Z|[+-]\d\d(?::?\d\d)?/,Ae=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Be=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ce=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=w("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),a.ISO_8601=function(){};var De=w("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=rb.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:n()}),Ee=w("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=rb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:n()}),Fe=function(){return Date.now?Date.now():+new Date};yb("Z",":"),yb("ZZ",""),Y("Z",Td),Y("ZZ",Td),aa(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=zb(Td,a)});var Ge=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var He=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ie=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Nb.fn=vb.prototype;var Je=Rb(1,"add"),Ke=Rb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Le=w("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});T(0,["gg",2],0,function(){return this.weekYear()%100}),T(0,["GG",2],0,function(){return this.isoWeekYear()%100}),xc("gggg","weekYear"),xc("ggggg","weekYear"),xc("GGGG","isoWeekYear"),xc("GGGGG","isoWeekYear"),I("weekYear","gg"),I("isoWeekYear","GG"),L("weekYear",1),L("isoWeekYear",1),Y("G",Rd),Y("g",Rd),Y("GG",Kd,Gd),Y("gg",Kd,Gd),Y("GGGG",Od,Id),Y("gggg",Od,Id),Y("GGGGG",Pd,Jd),Y("ggggg",Pd,Jd),ba(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=t(a)}),ba(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),T("Q",0,"Qo","quarter"),I("quarter","Q"),L("quarter",7),Y("Q",Fd),aa("Q",function(a,b){b[Zd]=3*(t(a)-1)}),T("D",["DD",2],"Do","date"),I("date","D"),L("date",9),Y("D",Kd),Y("DD",Kd,Gd),Y("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),aa(["D","DD"],$d),aa("Do",function(a,b){b[$d]=t(a.match(Kd)[0],10)});var Me=N("Date",!0);T("DDD",["DDDD",3],"DDDo","dayOfYear"),I("dayOfYear","DDD"),L("dayOfYear",4),Y("DDD",Nd),Y("DDDD",Hd),aa(["DDD","DDDD"],function(a,b,c){c._dayOfYear=t(a)}),T("m",["mm",2],0,"minute"),I("minute","m"),L("minute",14),Y("m",Kd),Y("mm",Kd,Gd),aa(["m","mm"],ae);var Ne=N("Minutes",!1);T("s",["ss",2],0,"second"),I("second","s"),L("second",15),Y("s",Kd),Y("ss",Kd,Gd),aa(["s","ss"],be);var Oe=N("Seconds",!1);T("S",0,0,function(){return~~(this.millisecond()/100)}),T(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),T(0,["SSS",3],0,"millisecond"),T(0,["SSSS",4],0,function(){return 10*this.millisecond()}),T(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),T(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),T(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),T(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),T(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),I("millisecond","ms"),L("millisecond",16),Y("S",Nd,Fd),Y("SS",Nd,Gd),Y("SSS",Nd,Hd);var Pe;for(Pe="SSSS";Pe.length<=9;Pe+="S")Y(Pe,Qd);for(Pe="S";Pe.length<=9;Pe+="S")aa(Pe,Gc);var Qe=N("Milliseconds",!1);T("z",0,0,"zoneAbbr"),T("zz",0,0,"zoneName");var Re=q.prototype;Re.add=Je,Re.calendar=Ub,Re.clone=Vb,Re.diff=ac,Re.endOf=mc,Re.format=ec,Re.from=fc,Re.fromNow=gc,Re.to=hc,Re.toNow=ic,Re.get=Q,Re.invalidAt=vc,Re.isAfter=Wb,Re.isBefore=Xb,Re.isBetween=Yb,Re.isSame=Zb,Re.isSameOrAfter=$b,Re.isSameOrBefore=_b,Re.isValid=tc,Re.lang=Le,Re.locale=jc,Re.localeData=kc,Re.max=Ee,Re.min=De,Re.parsingFlags=uc,Re.set=R,Re.startOf=lc,Re.subtract=Ke,Re.toArray=qc,Re.toObject=rc,Re.toDate=pc,Re.toISOString=dc,Re.toJSON=sc,Re.toString=cc,Re.unix=oc,Re.valueOf=nc,Re.creationData=wc,Re.year=ke,Re.isLeapYear=qa,Re.weekYear=yc,Re.isoWeekYear=zc,Re.quarter=Re.quarters=Ec,Re.month=ja,Re.daysInMonth=ka,Re.week=Re.weeks=Aa,Re.isoWeek=Re.isoWeeks=Ba,Re.weeksInYear=Bc,Re.isoWeeksInYear=Ac,Re.date=Me,Re.day=Re.days=Ja,Re.weekday=Ka,Re.isoWeekday=La,Re.dayOfYear=Fc,Re.hour=Re.hours=ue,Re.minute=Re.minutes=Ne,Re.second=Re.seconds=Oe,Re.millisecond=Re.milliseconds=Qe,Re.utcOffset=Cb,Re.utc=Eb,Re.local=Fb,Re.parseZone=Gb,Re.hasAlignedHourOffset=Hb,Re.isDST=Ib,Re.isLocal=Kb,Re.isUtcOffset=Lb,Re.isUtc=Mb,Re.isUTC=Mb,Re.zoneAbbr=Hc,Re.zoneName=Ic,Re.dates=w("dates accessor is deprecated. Use date instead.",Me),Re.months=w("months accessor is deprecated. Use month instead",ja),Re.years=w("years accessor is deprecated. Use year instead",ke),Re.zone=w("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Db),Re.isDSTShifted=w("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Jb);var Se=Re,Te=B.prototype;Te.calendar=C,Te.longDateFormat=D,Te.invalidDate=E,Te.ordinal=F,Te.preparse=Lc,Te.postformat=Lc,Te.relativeTime=G,Te.pastFuture=H,Te.set=z,Te.months=ea,Te.monthsShort=fa,Te.monthsParse=ha,Te.monthsRegex=ma,Te.monthsShortRegex=la,Te.week=xa,Te.firstDayOfYear=za,Te.firstDayOfWeek=ya,Te.weekdays=Ea,Te.weekdaysMin=Ga,Te.weekdaysShort=Fa,Te.weekdaysParse=Ia,Te.weekdaysRegex=Ma,Te.weekdaysShortRegex=Na,Te.weekdaysMinRegex=Oa,Te.isPM=Ua,Te.meridiem=Va,Za("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===t(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=w("moment.lang is deprecated. Use moment.locale instead.",Za),a.langData=w("moment.langData is deprecated. Use moment.localeData instead.",ab);var Ue=Math.abs,Ve=cd("ms"),We=cd("s"),Xe=cd("m"),Ye=cd("h"),Ze=cd("d"),$e=cd("w"),_e=cd("M"),af=cd("y"),bf=ed("milliseconds"),cf=ed("seconds"),df=ed("minutes"),ef=ed("hours"),ff=ed("days"),gf=ed("months"),hf=ed("years"),jf=Math.round,kf={s:45,m:45,h:22,d:26,M:11},lf=Math.abs,mf=vb.prototype;mf.abs=Uc,mf.add=Wc,mf.subtract=Xc,mf.as=ad,mf.asMilliseconds=Ve,mf.asSeconds=We,mf.asMinutes=Xe,mf.asHours=Ye,mf.asDays=Ze,mf.asWeeks=$e,mf.asMonths=_e,mf.asYears=af,mf.valueOf=bd,mf._bubble=Zc,mf.get=dd,mf.milliseconds=bf,mf.seconds=cf,mf.minutes=df,mf.hours=ef,mf.days=ff,mf.weeks=fd,mf.months=gf,mf.years=hf,mf.humanize=kd,mf.toISOString=ld,mf.toString=ld,mf.toJSON=ld,mf.locale=jc,mf.localeData=kc,mf.toIsoString=w("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",ld),mf.lang=Le,T("X",0,0,"unix"),T("x",0,0,"valueOf"),Y("x",Rd),Y("X",Ud),aa("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),aa("x",function(a,b,c){c._d=new Date(t(a))}),a.version="2.15.1",b(rb),a.fn=Se,a.min=tb,a.max=ub,a.now=Fe,a.utc=j,a.unix=Jc,a.months=Pc,a.isDate=f,a.locale=Za,a.invalid=n,a.duration=Nb,a.isMoment=r,a.weekdays=Rc,a.parseZone=Kc,a.localeData=ab,a.isDuration=wb,a.monthsShort=Qc,a.weekdaysMin=Tc,a.defineLocale=$a,a.updateLocale=_a,a.locales=bb,a.weekdaysShort=Sc,a.normalizeUnits=J,a.relativeTimeRounding=id,a.relativeTimeThreshold=jd,a.calendarFormat=Tb,a.prototype=Se;var nf=a;return nf}),function(){function a(a){function b(b,c,d,e,f,g){for(;f>=0&&f<g;f+=a){var h=e?e[f]:f;d=c(d,b[h],h,b)}return d}return function(c,d,e,f){d=t(d,f,4);var g=!A(c)&&s.keys(c),h=(g||c).length,i=a>0?0:h-1;return arguments.length<3&&(e=c[g?g[i]:i],i+=a),b(c,d,e,g,i,h)}}function b(a){return function(b,c,d){c=u(c,d);for(var e=z(b),f=a>0?0:e-1;f>=0&&f<e;f+=a)if(c(b[f],f,b))return f;return-1}}function c(a,b,c){return function(d,e,f){var g=0,h=z(d);if("number"==typeof f)a>0?g=f>=0?f:Math.max(f+h,g):h=f>=0?Math.min(f+1,h):f+h+1;else if(c&&f&&h)return f=c(d,e),d[f]===e?f:-1;if(e!==e)return f=b(k.call(d,g,h),s.isNaN),f>=0?f+g:-1;for(f=a>0?g:h-1;f>=0&&f<h;f+=a)if(d[f]===e)return f;return-1}}function d(a,b){var c=F.length,d=a.constructor,e=s.isFunction(d)&&d.prototype||h,f="constructor";for(s.has(a,f)&&!s.contains(b,f)&&b.push(f);c--;)f=F[c],f in a&&a[f]!==e[f]&&!s.contains(b,f)&&b.push(f)}var e=this,f=e._,g=Array.prototype,h=Object.prototype,i=Function.prototype,j=g.push,k=g.slice,l=h.toString,m=h.hasOwnProperty,n=Array.isArray,o=Object.keys,p=i.bind,q=Object.create,r=function(){},s=function(a){return a instanceof s?a:this instanceof s?void(this._wrapped=a):new s(a)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports._=s):e._=s,s.VERSION="1.8.3";var t=function(a,b,c){if(void 0===b)return a;switch(null==c?3:c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)};case 4:return function(c,d,e,f){return a.call(b,c,d,e,f)}}return function(){return a.apply(b,arguments)}},u=function(a,b,c){return null==a?s.identity:s.isFunction(a)?t(a,b,c):s.isObject(a)?s.matcher(a):s.property(a)};s.iteratee=function(a,b){return u(a,b,1/0)};var v=function(a,b){return function(c){var d=arguments.length;if(d<2||null==c)return c;for(var e=1;e<d;e++)for(var f=arguments[e],g=a(f),h=g.length,i=0;i<h;i++){var j=g[i];b&&void 0!==c[j]||(c[j]=f[j])}return c}},w=function(a){if(!s.isObject(a))return{};if(q)return q(a);r.prototype=a;var b=new r;return r.prototype=null,b},x=function(a){return function(b){return null==b?void 0:b[a]}},y=Math.pow(2,53)-1,z=x("length"),A=function(a){var b=z(a);return"number"==typeof b&&b>=0&&b<=y};s.each=s.forEach=function(a,b,c){b=t(b,c);var d,e;if(A(a))for(d=0,e=a.length;d<e;d++)b(a[d],d,a);else{var f=s.keys(a);for(d=0,e=f.length;d<e;d++)b(a[f[d]],f[d],a)}return a},s.map=s.collect=function(a,b,c){b=u(b,c);for(var d=!A(a)&&s.keys(a),e=(d||a).length,f=Array(e),g=0;g<e;g++){var h=d?d[g]:g;f[g]=b(a[h],h,a)}return f},s.reduce=s.foldl=s.inject=a(1),s.reduceRight=s.foldr=a(-1),s.find=s.detect=function(a,b,c){var d;if(d=A(a)?s.findIndex(a,b,c):s.findKey(a,b,c),void 0!==d&&d!==-1)return a[d]},s.filter=s.select=function(a,b,c){var d=[];return b=u(b,c),s.each(a,function(a,c,e){b(a,c,e)&&d.push(a)}),d},s.reject=function(a,b,c){return s.filter(a,s.negate(u(b)),c)},s.every=s.all=function(a,b,c){b=u(b,c);for(var d=!A(a)&&s.keys(a),e=(d||a).length,f=0;f<e;f++){var g=d?d[f]:f;if(!b(a[g],g,a))return!1}return!0},s.some=s.any=function(a,b,c){b=u(b,c);for(var d=!A(a)&&s.keys(a),e=(d||a).length,f=0;f<e;f++){var g=d?d[f]:f;if(b(a[g],g,a))return!0}return!1},s.contains=s.includes=s.include=function(a,b,c,d){return A(a)||(a=s.values(a)),("number"!=typeof c||d)&&(c=0),s.indexOf(a,b,c)>=0},s.invoke=function(a,b){var c=k.call(arguments,2),d=s.isFunction(b);return s.map(a,function(a){var e=d?b:a[b];return null==e?e:e.apply(a,c)})},s.pluck=function(a,b){return s.map(a,s.property(b))},s.where=function(a,b){return s.filter(a,s.matcher(b))},s.findWhere=function(a,b){return s.find(a,s.matcher(b))},s.max=function(a,b,c){var d,e,f=-(1/0),g=-(1/0);if(null==b&&null!=a){a=A(a)?a:s.values(a);for(var h=0,i=a.length;h<i;h++)d=a[h],d>f&&(f=d)}else b=u(b,c),s.each(a,function(a,c,d){e=b(a,c,d),(e>g||e===-(1/0)&&f===-(1/0))&&(f=a,g=e)});return f},s.min=function(a,b,c){var d,e,f=1/0,g=1/0;if(null==b&&null!=a){a=A(a)?a:s.values(a);for(var h=0,i=a.length;h<i;h++)d=a[h],d<f&&(f=d)}else b=u(b,c),s.each(a,function(a,c,d){e=b(a,c,d),(e<g||e===1/0&&f===1/0)&&(f=a,g=e)});return f},s.shuffle=function(a){for(var b,c=A(a)?a:s.values(a),d=c.length,e=Array(d),f=0;f<d;f++)b=s.random(0,f),b!==f&&(e[f]=e[b]),e[b]=c[f];return e},s.sample=function(a,b,c){return null==b||c?(A(a)||(a=s.values(a)),a[s.random(a.length-1)]):s.shuffle(a).slice(0,Math.max(0,b))},s.sortBy=function(a,b,c){return b=u(b,c),s.pluck(s.map(a,function(a,c,d){return{value:a,index:c,criteria:b(a,c,d)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;if(c!==d){if(c>d||void 0===c)return 1;if(c<d||void 0===d)return-1}return a.index-b.index}),"value")};var B=function(a){return function(b,c,d){var e={};return c=u(c,d),s.each(b,function(d,f){var g=c(d,f,b);a(e,d,g)}),e}};s.groupBy=B(function(a,b,c){s.has(a,c)?a[c].push(b):a[c]=[b]}),s.indexBy=B(function(a,b,c){a[c]=b}),s.countBy=B(function(a,b,c){s.has(a,c)?a[c]++:a[c]=1}),s.toArray=function(a){return a?s.isArray(a)?k.call(a):A(a)?s.map(a,s.identity):s.values(a):[]},s.size=function(a){return null==a?0:A(a)?a.length:s.keys(a).length},s.partition=function(a,b,c){b=u(b,c);var d=[],e=[];return s.each(a,function(a,c,f){(b(a,c,f)?d:e).push(a)}),[d,e]},s.first=s.head=s.take=function(a,b,c){if(null!=a)return null==b||c?a[0]:s.initial(a,a.length-b)},s.initial=function(a,b,c){return k.call(a,0,Math.max(0,a.length-(null==b||c?1:b)))},s.last=function(a,b,c){if(null!=a)return null==b||c?a[a.length-1]:s.rest(a,Math.max(0,a.length-b))},s.rest=s.tail=s.drop=function(a,b,c){return k.call(a,null==b||c?1:b)},s.compact=function(a){return s.filter(a,s.identity)};var C=function(a,b,c,d){for(var e=[],f=0,g=d||0,h=z(a);g<h;g++){var i=a[g];if(A(i)&&(s.isArray(i)||s.isArguments(i))){b||(i=C(i,b,c));var j=0,k=i.length;for(e.length+=k;j<k;)e[f++]=i[j++]}else c||(e[f++]=i)}return e};s.flatten=function(a,b){return C(a,b,!1)},s.without=function(a){return s.difference(a,k.call(arguments,1))},s.uniq=s.unique=function(a,b,c,d){s.isBoolean(b)||(d=c,c=b,b=!1),null!=c&&(c=u(c,d));for(var e=[],f=[],g=0,h=z(a);g<h;g++){var i=a[g],j=c?c(i,g,a):i;b?(g&&f===j||e.push(i),f=j):c?s.contains(f,j)||(f.push(j),e.push(i)):s.contains(e,i)||e.push(i)}return e},s.union=function(){return s.uniq(C(arguments,!0,!0))},s.intersection=function(a){for(var b=[],c=arguments.length,d=0,e=z(a);d<e;d++){var f=a[d];if(!s.contains(b,f)){for(var g=1;g<c&&s.contains(arguments[g],f);g++);g===c&&b.push(f)}}return b},s.difference=function(a){var b=C(arguments,!0,!0,1);return s.filter(a,function(a){return!s.contains(b,a)})},s.zip=function(){return s.unzip(arguments)},s.unzip=function(a){for(var b=a&&s.max(a,z).length||0,c=Array(b),d=0;d<b;d++)c[d]=s.pluck(a,d);return c},s.object=function(a,b){for(var c={},d=0,e=z(a);d<e;d++)b?c[a[d]]=b[d]:c[a[d][0]]=a[d][1];return c},s.findIndex=b(1),s.findLastIndex=b(-1),s.sortedIndex=function(a,b,c,d){c=u(c,d,1);for(var e=c(b),f=0,g=z(a);f<g;){var h=Math.floor((f+g)/2);c(a[h])<e?f=h+1:g=h}return f},s.indexOf=c(1,s.findIndex,s.sortedIndex),s.lastIndexOf=c(-1,s.findLastIndex),s.range=function(a,b,c){null==b&&(b=a||0,a=0),c=c||1;for(var d=Math.max(Math.ceil((b-a)/c),0),e=Array(d),f=0;f<d;f++,a+=c)e[f]=a;return e};var D=function(a,b,c,d,e){if(!(d instanceof b))return a.apply(c,e);var f=w(a.prototype),g=a.apply(f,e);return s.isObject(g)?g:f};s.bind=function(a,b){if(p&&a.bind===p)return p.apply(a,k.call(arguments,1));if(!s.isFunction(a))throw new TypeError("Bind must be called on a function");var c=k.call(arguments,2),d=function(){return D(a,d,b,this,c.concat(k.call(arguments)))};return d},s.partial=function(a){var b=k.call(arguments,1),c=function(){for(var d=0,e=b.length,f=Array(e),g=0;g<e;g++)f[g]=b[g]===s?arguments[d++]:b[g];for(;d<arguments.length;)f.push(arguments[d++]);return D(a,c,this,this,f)};return c},s.bindAll=function(a){var b,c,d=arguments.length;if(d<=1)throw new Error("bindAll must be passed function names");for(b=1;b<d;b++)c=arguments[b],a[c]=s.bind(a[c],a);return a},s.memoize=function(a,b){var c=function(d){var e=c.cache,f=""+(b?b.apply(this,arguments):d);return s.has(e,f)||(e[f]=a.apply(this,arguments)),e[f]};return c.cache={},c},s.delay=function(a,b){var c=k.call(arguments,2);return setTimeout(function(){return a.apply(null,c)},b)},s.defer=s.partial(s.delay,s,1),s.throttle=function(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:s.now(),g=null,f=a.apply(d,e),g||(d=e=null)};return function(){var j=s.now();h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,k<=0||k>b?(g&&(clearTimeout(g),g=null),h=j,f=a.apply(d,e),g||(d=e=null)):g||c.trailing===!1||(g=setTimeout(i,k)),f}},s.debounce=function(a,b,c){var d,e,f,g,h,i=function(){var j=s.now()-g;j<b&&j>=0?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e),d||(f=e=null)))};return function(){f=this,e=arguments,g=s.now();var j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e),f=e=null),h}},s.wrap=function(a,b){return s.partial(b,a)},s.negate=function(a){return function(){return!a.apply(this,arguments)}},s.compose=function(){var a=arguments,b=a.length-1;return function(){for(var c=b,d=a[b].apply(this,arguments);c--;)d=a[c].call(this,d);return d}},s.after=function(a,b){return function(){if(--a<1)return b.apply(this,arguments)}},s.before=function(a,b){var c;return function(){return--a>0&&(c=b.apply(this,arguments)),a<=1&&(b=null),c}},s.once=s.partial(s.before,2);var E=!{toString:null}.propertyIsEnumerable("toString"),F=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];s.keys=function(a){if(!s.isObject(a))return[];if(o)return o(a);var b=[];for(var c in a)s.has(a,c)&&b.push(c);return E&&d(a,b),b},s.allKeys=function(a){if(!s.isObject(a))return[];var b=[];for(var c in a)b.push(c);return E&&d(a,b),b},s.values=function(a){for(var b=s.keys(a),c=b.length,d=Array(c),e=0;e<c;e++)d[e]=a[b[e]];return d},s.mapObject=function(a,b,c){b=u(b,c);for(var d,e=s.keys(a),f=e.length,g={},h=0;h<f;h++)d=e[h],g[d]=b(a[d],d,a);
+return g},s.pairs=function(a){for(var b=s.keys(a),c=b.length,d=Array(c),e=0;e<c;e++)d[e]=[b[e],a[b[e]]];return d},s.invert=function(a){for(var b={},c=s.keys(a),d=0,e=c.length;d<e;d++)b[a[c[d]]]=c[d];return b},s.functions=s.methods=function(a){var b=[];for(var c in a)s.isFunction(a[c])&&b.push(c);return b.sort()},s.extend=v(s.allKeys),s.extendOwn=s.assign=v(s.keys),s.findKey=function(a,b,c){b=u(b,c);for(var d,e=s.keys(a),f=0,g=e.length;f<g;f++)if(d=e[f],b(a[d],d,a))return d},s.pick=function(a,b,c){var d,e,f={},g=a;if(null==g)return f;s.isFunction(b)?(e=s.allKeys(g),d=t(b,c)):(e=C(arguments,!1,!1,1),d=function(a,b,c){return b in c},g=Object(g));for(var h=0,i=e.length;h<i;h++){var j=e[h],k=g[j];d(k,j,g)&&(f[j]=k)}return f},s.omit=function(a,b,c){if(s.isFunction(b))b=s.negate(b);else{var d=s.map(C(arguments,!1,!1,1),String);b=function(a,b){return!s.contains(d,b)}}return s.pick(a,b,c)},s.defaults=v(s.allKeys,!0),s.create=function(a,b){var c=w(a);return b&&s.extendOwn(c,b),c},s.clone=function(a){return s.isObject(a)?s.isArray(a)?a.slice():s.extend({},a):a},s.tap=function(a,b){return b(a),a},s.isMatch=function(a,b){var c=s.keys(b),d=c.length;if(null==a)return!d;for(var e=Object(a),f=0;f<d;f++){var g=c[f];if(b[g]!==e[g]||!(g in e))return!1}return!0};var G=function(a,b,c,d){if(a===b)return 0!==a||1/a===1/b;if(null==a||null==b)return a===b;a instanceof s&&(a=a._wrapped),b instanceof s&&(b=b._wrapped);var e=l.call(a);if(e!==l.call(b))return!1;switch(e){case"[object RegExp]":case"[object String]":return""+a==""+b;case"[object Number]":return+a!==+a?+b!==+b:0===+a?1/+a===1/b:+a===+b;case"[object Date]":case"[object Boolean]":return+a===+b}var f="[object Array]"===e;if(!f){if("object"!=typeof a||"object"!=typeof b)return!1;var g=a.constructor,h=b.constructor;if(g!==h&&!(s.isFunction(g)&&g instanceof g&&s.isFunction(h)&&h instanceof h)&&"constructor"in a&&"constructor"in b)return!1}c=c||[],d=d||[];for(var i=c.length;i--;)if(c[i]===a)return d[i]===b;if(c.push(a),d.push(b),f){if(i=a.length,i!==b.length)return!1;for(;i--;)if(!G(a[i],b[i],c,d))return!1}else{var j,k=s.keys(a);if(i=k.length,s.keys(b).length!==i)return!1;for(;i--;)if(j=k[i],!s.has(b,j)||!G(a[j],b[j],c,d))return!1}return c.pop(),d.pop(),!0};s.isEqual=function(a,b){return G(a,b)},s.isEmpty=function(a){return null==a||(A(a)&&(s.isArray(a)||s.isString(a)||s.isArguments(a))?0===a.length:0===s.keys(a).length)},s.isElement=function(a){return!(!a||1!==a.nodeType)},s.isArray=n||function(a){return"[object Array]"===l.call(a)},s.isObject=function(a){var b=typeof a;return"function"===b||"object"===b&&!!a},s.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(a){s["is"+a]=function(b){return l.call(b)==="[object "+a+"]"}}),s.isArguments(arguments)||(s.isArguments=function(a){return s.has(a,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(s.isFunction=function(a){return"function"==typeof a||!1}),s.isFinite=function(a){return isFinite(a)&&!isNaN(parseFloat(a))},s.isNaN=function(a){return s.isNumber(a)&&a!==+a},s.isBoolean=function(a){return a===!0||a===!1||"[object Boolean]"===l.call(a)},s.isNull=function(a){return null===a},s.isUndefined=function(a){return void 0===a},s.has=function(a,b){return null!=a&&m.call(a,b)},s.noConflict=function(){return e._=f,this},s.identity=function(a){return a},s.constant=function(a){return function(){return a}},s.noop=function(){},s.property=x,s.propertyOf=function(a){return null==a?function(){}:function(b){return a[b]}},s.matcher=s.matches=function(a){return a=s.extendOwn({},a),function(b){return s.isMatch(b,a)}},s.times=function(a,b,c){var d=Array(Math.max(0,a));b=t(b,c,1);for(var e=0;e<a;e++)d[e]=b(e);return d},s.random=function(a,b){return null==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))},s.now=Date.now||function(){return(new Date).getTime()};var H={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},I=s.invert(H),J=function(a){var b=function(b){return a[b]},c="(?:"+s.keys(a).join("|")+")",d=RegExp(c),e=RegExp(c,"g");return function(a){return a=null==a?"":""+a,d.test(a)?a.replace(e,b):a}};s.escape=J(H),s.unescape=J(I),s.result=function(a,b,c){var d=null==a?void 0:a[b];return void 0===d&&(d=c),s.isFunction(d)?d.call(a):d};var K=0;s.uniqueId=function(a){var b=++K+"";return a?a+b:b},s.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var L=/(.)^/,M={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},N=/\\|'|\r|\n|\u2028|\u2029/g,O=function(a){return"\\"+M[a]};s.template=function(a,b,c){!b&&c&&(b=c),b=s.defaults({},b,s.templateSettings);var d=RegExp([(b.escape||L).source,(b.interpolate||L).source,(b.evaluate||L).source].join("|")+"|$","g"),e=0,f="__p+='";a.replace(d,function(b,c,d,g,h){return f+=a.slice(e,h).replace(N,O),e=h+b.length,c?f+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'":d?f+="'+\n((__t=("+d+"))==null?'':__t)+\n'":g&&(f+="';\n"+g+"\n__p+='"),b}),f+="';\n",b.variable||(f="with(obj||{}){\n"+f+"}\n"),f="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+f+"return __p;\n";try{var g=new Function(b.variable||"obj","_",f)}catch(h){throw h.source=f,h}var i=function(a){return g.call(this,a,s)},j=b.variable||"obj";return i.source="function("+j+"){\n"+f+"}",i},s.chain=function(a){var b=s(a);return b._chain=!0,b};var P=function(a,b){return a._chain?s(b).chain():b};s.mixin=function(a){s.each(s.functions(a),function(b){var c=s[b]=a[b];s.prototype[b]=function(){var a=[this._wrapped];return j.apply(a,arguments),P(this,c.apply(s,a))}})},s.mixin(s),s.each(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=g[a];s.prototype[a]=function(){var c=this._wrapped;return b.apply(c,arguments),"shift"!==a&&"splice"!==a||0!==c.length||delete c[0],P(this,c)}}),s.each(["concat","join","slice"],function(a){var b=g[a];s.prototype[a]=function(){return P(this,b.apply(this._wrapped,arguments))}}),s.prototype.value=function(){return this._wrapped},s.prototype.valueOf=s.prototype.toJSON=s.prototype.value,s.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return s})}.call(this),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){function c(a){var b=!!a&&"length"in a&&a.length,c=fa.type(a);return"function"!==c&&!fa.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a,b,c){if(fa.isFunction(b))return fa.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return fa.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(pa.test(b))return fa.filter(b,a,c);b=fa.filter(b,a)}return fa.grep(a,function(a){return _.call(b,a)>-1!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b={};return fa.each(a.match(va)||[],function(a,c){b[c]=!0}),b}function g(){X.removeEventListener("DOMContentLoaded",g),a.removeEventListener("load",g),fa.ready()}function h(){this.expando=fa.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Ca,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:Ba.test(c)?fa.parseJSON(c):c)}catch(e){}Aa.set(a,b,c)}else c=void 0;return c}function j(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return fa.css(a,b,"")},i=h(),j=c&&c[3]||(fa.cssNumber[b]?"":"px"),k=(fa.cssNumber[b]||"px"!==j&&+i)&&Ea.exec(fa.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,fa.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}function k(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&fa.nodeName(a,b)?fa.merge([a],c):c}function l(a,b){for(var c=0,d=a.length;c<d;c++)za.set(a[c],"globalEval",!b||za.get(b[c],"globalEval"))}function m(a,b,c,d,e){for(var f,g,h,i,j,m,n=b.createDocumentFragment(),o=[],p=0,q=a.length;p<q;p++)if(f=a[p],f||0===f)if("object"===fa.type(f))fa.merge(o,f.nodeType?[f]:f);else if(La.test(f)){for(g=g||n.appendChild(b.createElement("div")),h=(Ia.exec(f)||["",""])[1].toLowerCase(),i=Ka[h]||Ka._default,g.innerHTML=i[1]+fa.htmlPrefilter(f)+i[2],m=i[0];m--;)g=g.lastChild;fa.merge(o,g.childNodes),g=n.firstChild,g.textContent=""}else o.push(b.createTextNode(f));for(n.textContent="",p=0;f=o[p++];)if(d&&fa.inArray(f,d)>-1)e&&e.push(f);else if(j=fa.contains(f.ownerDocument,f),g=k(n.appendChild(f),"script"),j&&l(g),c)for(m=0;f=g[m++];)Ja.test(f.type||"")&&c.push(f);return n}function n(){return!0}function o(){return!1}function p(){try{return X.activeElement}catch(a){}}function q(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)q(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=o;else if(!e)return a;return 1===f&&(g=e,e=function(a){return fa().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=fa.guid++)),a.each(function(){fa.event.add(this,b,e,d,c)})}function r(a,b){return fa.nodeName(a,"table")&&fa.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function s(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function t(a){var b=Sa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function u(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(za.hasData(a)&&(f=za.access(a),g=za.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)fa.event.add(b,e,j[e][c])}Aa.hasData(a)&&(h=Aa.access(a),i=fa.extend({},h),Aa.set(b,i))}}function v(a,b){var c=b.nodeName.toLowerCase();"input"===c&&Ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function w(a,b,c,d){b=Z.apply([],b);var e,f,g,h,i,j,l=0,n=a.length,o=n-1,p=b[0],q=fa.isFunction(p);if(q||n>1&&"string"==typeof p&&!da.checkClone&&Ra.test(p))return a.each(function(e){var f=a.eq(e);q&&(b[0]=p.call(this,e,f.html())),w(f,b,c,d)});if(n&&(e=m(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(g=fa.map(k(e,"script"),s),h=g.length;l<n;l++)i=e,l!==o&&(i=fa.clone(i,!0,!0),h&&fa.merge(g,k(i,"script"))),c.call(a[l],i,l);if(h)for(j=g[g.length-1].ownerDocument,fa.map(g,t),l=0;l<h;l++)i=g[l],Ja.test(i.type||"")&&!za.access(i,"globalEval")&&fa.contains(j,i)&&(i.src?fa._evalUrl&&fa._evalUrl(i.src):fa.globalEval(i.textContent.replace(Ta,"")))}return a}function x(a,b,c){for(var d,e=b?fa.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||fa.cleanData(k(d)),d.parentNode&&(c&&fa.contains(d.ownerDocument,d)&&l(k(d,"script")),d.parentNode.removeChild(d));return a}function y(a,b){var c=fa(b.createElement(a)).appendTo(b.body),d=fa.css(c[0],"display");return c.detach(),d}function z(a){var b=X,c=Va[a];return c||(c=y(a,b),"none"!==c&&c||(Ua=(Ua||fa("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=Ua[0].contentDocument,b.write(),b.close(),c=y(a,b),Ua.detach()),Va[a]=c),c}function A(a,b,c){var d,e,f,g,h=a.style;return c=c||Ya(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||fa.contains(a.ownerDocument,a)||(g=fa.style(a,b)),c&&!da.pixelMarginRight()&&Xa.test(g)&&Wa.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 B(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}function C(a){if(a in db)return a;for(var b=a[0].toUpperCase()+a.slice(1),c=cb.length;c--;)if(a=cb[c]+b,a in db)return a}function D(a,b,c){var d=Ea.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function E(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=fa.css(a,c+Fa[f],!0,e)),d?("content"===c&&(g-=fa.css(a,"padding"+Fa[f],!0,e)),"margin"!==c&&(g-=fa.css(a,"border"+Fa[f]+"Width",!0,e))):(g+=fa.css(a,"padding"+Fa[f],!0,e),"padding"!==c&&(g+=fa.css(a,"border"+Fa[f]+"Width",!0,e)));return g}function F(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ya(a),g="border-box"===fa.css(a,"boxSizing",!1,f);if(e<=0||null==e){if(e=A(a,b,f),(e<0||null==e)&&(e=a.style[b]),Xa.test(e))return e;d=g&&(da.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+E(a,b,c||(g?"border":"content"),d,f)+"px"}function G(a,b){for(var c,d,e,f=[],g=0,h=a.length;g<h;g++)d=a[g],d.style&&(f[g]=za.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&Ga(d)&&(f[g]=za.access(d,"olddisplay",z(d.nodeName)))):(e=Ga(d),"none"===c&&e||za.set(d,"olddisplay",e?c:fa.css(d,"display"))));for(g=0;g<h;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function H(a,b,c,d,e){return new H.prototype.init(a,b,c,d,e)}function I(){return a.setTimeout(function(){eb=void 0}),eb=fa.now()}function J(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=Fa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function K(a,b,c){for(var d,e=(N.tweeners[b]||[]).concat(N.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function L(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},n=a.style,o=a.nodeType&&Ga(a),p=za.get(a,"fxshow");c.queue||(h=fa._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--,fa.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[n.overflow,n.overflowX,n.overflowY],j=fa.css(a,"display"),k="none"===j?za.get(a,"olddisplay")||z(a.nodeName):j,"inline"===k&&"none"===fa.css(a,"float")&&(n.display="inline-block")),c.overflow&&(n.overflow="hidden",l.always(function(){n.overflow=c.overflow[0],n.overflowX=c.overflow[1],n.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],gb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(o?"hide":"show")){if("show"!==e||!p||void 0===p[d])continue;o=!0}m[d]=p&&p[d]||fa.style(a,d)}else j=void 0;if(fa.isEmptyObject(m))"inline"===("none"===j?z(a.nodeName):j)&&(n.display=j);else{p?"hidden"in p&&(o=p.hidden):p=za.access(a,"fxshow",{}),f&&(p.hidden=!o),o?fa(a).show():l.done(function(){fa(a).hide()}),l.done(function(){var b;za.remove(a,"fxshow");for(b in m)fa.style(a,b,m[b])});for(d in m)g=K(o?p[d]:0,d,l),d in p||(p[d]=g.start,o&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function M(a,b){var c,d,e,f,g;for(c in a)if(d=fa.camelCase(c),e=b[d],f=a[c],fa.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=fa.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 N(a,b,c){var d,e,f=0,g=N.prefilters.length,h=fa.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=eb||I(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:fa.extend({},b),opts:fa.extend(!0,{specialEasing:{},easing:fa.easing._default},c),originalProperties:b,originalOptions:c,startTime:eb||I(),duration:c.duration,tweens:[],createTween:function(b,c){var d=fa.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;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(M(k,j.opts.specialEasing);f<g;f++)if(d=N.prefilters[f].call(j,a,k,j.opts))return fa.isFunction(d.stop)&&(fa._queueHooks(j.elem,j.opts.queue).stop=fa.proxy(d.stop,d)),d;return fa.map(k,K,j),fa.isFunction(j.opts.start)&&j.opts.start.call(a,j),fa.fx.timer(fa.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)}function O(a){return a.getAttribute&&a.getAttribute("class")||""}function P(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(va)||[];if(fa.isFunction(c))for(;d=f[e++];)"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Q(a,b,c,d){function e(h){var i;return f[h]=!0,fa.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||g||f[j]?g?!(i=j):void 0:(b.dataTypes.unshift(j),e(j),!1)}),i}var f={},g=a===Ab;return e(b.dataTypes[0])||!f["*"]&&e("*")}function R(a,b){var c,d,e=fa.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&fa.extend(!0,a,d),a}function S(a,b,c){for(var d,e,f,g,h=a.contents,i=a.dataTypes;"*"===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}if(f)return f!==i[0]&&i.unshift(f),c[f]}function T(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];for(f=k.shift();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}}function U(a,b,c,d){var e;if(fa.isArray(b))fa.each(b,function(b,e){c||Eb.test(a)?d(a,e):U(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==fa.type(b))d(a,b);else for(e in b)U(a+"["+e+"]",b[e],c,d)}function V(a){return fa.isWindow(a)?a:9===a.nodeType&&a.defaultView}var W=[],X=a.document,Y=W.slice,Z=W.concat,$=W.push,_=W.indexOf,aa={},ba=aa.toString,ca=aa.hasOwnProperty,da={},ea="2.2.4",fa=function(a,b){return new fa.fn.init(a,b)},ga=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ha=/^-ms-/,ia=/-([\da-z])/gi,ja=function(a,b){return b.toUpperCase()};fa.fn=fa.prototype={jquery:ea,constructor:fa,selector:"",length:0,toArray:function(){return Y.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:Y.call(this)},pushStack:function(a){var b=fa.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return fa.each(this,a)},map:function(a){return this.pushStack(fa.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(Y.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:$,sort:W.sort,splice:W.splice},fa.extend=fa.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||fa.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(fa.isPlainObject(d)||(e=fa.isArray(d)))?(e?(e=!1,f=c&&fa.isArray(c)?c:[]):f=c&&fa.isPlainObject(c)?c:{},g[b]=fa.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},fa.extend({expando:"jQuery"+(ea+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===fa.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!fa.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==fa.type(a)||a.nodeType||fa.isWindow(a))return!1;if(a.constructor&&!ca.call(a,"constructor")&&!ca.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||ca.call(a,b)},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?aa[ba.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=fa.trim(a),a&&(1===a.indexOf("use strict")?(b=X.createElement("script"),b.text=a,X.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(ha,"ms-").replace(ia,ja)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var d,e=0;if(c(a))for(d=a.length;e<d&&b.call(a[e],e,a[e])!==!1;e++);else for(e in a)if(b.call(a[e],e,a[e])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(ga,"")},makeArray:function(a,b){var d=b||[];return null!=a&&(c(Object(a))?fa.merge(d,"string"==typeof a?[a]:a):$.call(d,a)),d},inArray:function(a,b,c){return null==b?-1:_.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;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;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,d){var e,f,g=0,h=[];if(c(a))for(e=a.length;g<e;g++)f=b(a[g],g,d),null!=f&&h.push(f);else for(g in a)f=b(a[g],g,d),null!=f&&h.push(f);return Z.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),fa.isFunction(a))return d=Y.call(arguments,2),e=function(){return a.apply(b||this,d.concat(Y.call(arguments)))},e.guid=a.guid=a.guid||fa.guid++,e},now:Date.now,support:da}),"function"==typeof Symbol&&(fa.fn[Symbol.iterator]=W[Symbol.iterator]),fa.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){aa["[object "+b+"]"]=b.toLowerCase()});var ka=function(a){function b(a,b,c,d){var e,f,g,h,i,j,l,n,o=b&&b.ownerDocument,p=b?b.nodeType:9;if(c=c||[],"string"!=typeof a||!a||1!==p&&9!==p&&11!==p)return c;if(!d&&((b?b.ownerDocument||b:O)!==G&&F(b),b=b||G,I)){if(11!==p&&(j=ra.exec(a)))if(e=j[1]){if(9===p){if(!(g=b.getElementById(e)))return c;if(g.id===e)return c.push(g),c}else if(o&&(g=o.getElementById(e))&&M(b,g)&&g.id===e)return c.push(g),c}else{if(j[2])return $.apply(c,b.getElementsByTagName(a)),c;if((e=j[3])&&v.getElementsByClassName&&b.getElementsByClassName)return $.apply(c,b.getElementsByClassName(e)),c}if(v.qsa&&!T[a+" "]&&(!J||!J.test(a))){if(1!==p)o=b,n=a;else if("object"!==b.nodeName.toLowerCase()){for((h=b.getAttribute("id"))?h=h.replace(ta,"\\$&"):b.setAttribute("id",h=N),l=z(a),f=l.length,i=ma.test(h)?"#"+h:"[id='"+h+"']";f--;)l[f]=i+" "+m(l[f]);n=l.join(","),o=sa.test(a)&&k(b.parentNode)||b}if(n)try{return $.apply(c,o.querySelectorAll(n)),c}catch(q){}finally{h===N&&b.removeAttribute("id")}}}return B(a.replace(ha,"$1"),b,c,d)}function c(){function a(c,d){return b.push(c+" ")>w.cacheLength&&delete a[b.shift()],a[c+" "]=d}var b=[];return a}function d(a){return a[N]=!0,a}function e(a){var b=G.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function f(a,b){for(var c=a.split("|"),d=c.length;d--;)w.attrHandle[c[d]]=b}function g(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||V)-(~a.sourceIndex||V);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function h(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function i(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function j(a){return d(function(b){return b=+b,d(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function k(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}function l(){}function m(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function n(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[P,f];if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e){if(j=b[N]||(b[N]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===P&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function o(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function p(a,c,d){for(var e=0,f=c.length;e<f;e++)b(a,c[e],d);return d}function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function r(a,b,c,e,f,g){return e&&!e[N]&&(e=r(e)),f&&!f[N]&&(f=r(f,g)),d(function(d,g,h,i){var j,k,l,m=[],n=[],o=g.length,r=d||p(b||"*",h.nodeType?[h]:h,[]),s=!a||!d&&b?r:q(r,m,a,h,i),t=c?f||(d?a:o||e)?[]:g:s;if(c&&c(s,t,h,i),e)for(j=q(t,n),e(j,[],h,i),k=j.length;k--;)(l=j[k])&&(t[n[k]]=!(s[n[k]]=l));if(d){if(f||a){if(f){for(j=[],k=t.length;k--;)(l=t[k])&&j.push(s[k]=l);f(null,t=[],j,i)}for(k=t.length;k--;)(l=t[k])&&(j=f?aa(d,l):m[k])>-1&&(d[j]=!(g[j]=l))}}else t=q(t===g?t.splice(o,t.length):t),f?f(null,g,t,i):$.apply(g,t)})}function s(a){for(var b,c,d,e=a.length,f=w.relative[a[0].type],g=f||w.relative[" "],h=f?1:0,i=n(function(a){return a===b},g,!0),j=n(function(a){return aa(b,a)>-1},g,!0),k=[function(a,c,d){var e=!f&&(d||c!==C)||((b=c).nodeType?i(a,c,d):j(a,c,d));return b=null,e}];h<e;h++)if(c=w.relative[a[h].type])k=[n(o(k),c)];else{if(c=w.filter[a[h].type].apply(null,a[h].matches),c[N]){for(d=++h;d<e&&!w.relative[a[d].type];d++);return r(h>1&&o(k),h>1&&m(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(ha,"$1"),c,h<d&&s(a.slice(h,d)),d<e&&s(a=a.slice(d)),d<e&&m(a))}k.push(c)}return o(k)}function t(a,c){var e=c.length>0,f=a.length>0,g=function(d,g,h,i,j){var k,l,m,n=0,o="0",p=d&&[],r=[],s=C,t=d||f&&w.find.TAG("*",j),u=P+=null==s?1:Math.random()||.1,v=t.length;for(j&&(C=g===G||g||j);o!==v&&null!=(k=t[o]);o++){if(f&&k){for(l=0,g||k.ownerDocument===G||(F(k),h=!I);m=a[l++];)if(m(k,g||G,h)){i.push(k);break}j&&(P=u)}e&&((k=!m&&k)&&n--,d&&p.push(k))}if(n+=o,e&&o!==n){for(l=0;m=c[l++];)m(p,r,g,h);if(d){if(n>0)for(;o--;)p[o]||r[o]||(r[o]=Y.call(i));r=q(r)}$.apply(i,r),j&&!d&&r.length>0&&n+c.length>1&&b.uniqueSort(i)}return j&&(P=u,C=s),p};return e?d(g):g}var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+1*new Date,O=a.document,P=0,Q=0,R=c(),S=c(),T=c(),U=function(a,b){return a===b&&(E=!0),0},V=1<<31,W={}.hasOwnProperty,X=[],Y=X.pop,Z=X.push,$=X.push,_=X.slice,aa=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},ba="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ca="[\\x20\\t\\r\\n\\f]",da="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ea="\\["+ca+"*("+da+")(?:"+ca+"*([*^$|!~]?=)"+ca+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+da+"))|)"+ca+"*\\]",fa=":("+da+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ea+")*)|.*)\\)|)",ga=new RegExp(ca+"+","g"),ha=new RegExp("^"+ca+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ca+"+$","g"),ia=new RegExp("^"+ca+"*,"+ca+"*"),ja=new RegExp("^"+ca+"*([>+~]|"+ca+")"+ca+"*"),ka=new RegExp("="+ca+"*([^\\]'\"]*?)"+ca+"*\\]","g"),la=new RegExp(fa),ma=new RegExp("^"+da+"$"),na={ID:new RegExp("^#("+da+")"),CLASS:new RegExp("^\\.("+da+")"),TAG:new RegExp("^("+da+"|[*])"),ATTR:new RegExp("^"+ea),PSEUDO:new RegExp("^"+fa),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ca+"*(even|odd|(([+-]|)(\\d*)n|)"+ca+"*(?:([+-]|)"+ca+"*(\\d+)|))"+ca+"*\\)|)","i"),bool:new RegExp("^(?:"+ba+")$","i"),needsContext:new RegExp("^"+ca+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ca+"*((?:-\\d)?\\d*)"+ca+"*\\)|)(?=[^-]|$)","i")},oa=/^(?:input|select|textarea|button)$/i,pa=/^h\d$/i,qa=/^[^{]+\{\s*\[native \w/,ra=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,sa=/[+~]/,ta=/'|\\/g,ua=new RegExp("\\\\([\\da-f]{1,6}"+ca+"?|("+ca+")|.)","ig"),va=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},wa=function(){F()};try{$.apply(X=_.call(O.childNodes),O.childNodes),X[O.childNodes.length].nodeType}catch(xa){$={apply:X.length?function(a,b){Z.apply(a,_.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}v=b.support={},y=b.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},F=b.setDocument=function(a){var b,c,d=a?a.ownerDocument||a:O;return d!==G&&9===d.nodeType&&d.documentElement?(G=d,H=G.documentElement,I=!y(G),(c=G.defaultView)&&c.top!==c&&(c.addEventListener?c.addEventListener("unload",wa,!1):c.attachEvent&&c.attachEvent("onunload",wa)),v.attributes=e(function(a){return a.className="i",!a.getAttribute("className")}),v.getElementsByTagName=e(function(a){return a.appendChild(G.createComment("")),!a.getElementsByTagName("*").length}),v.getElementsByClassName=qa.test(G.getElementsByClassName),v.getById=e(function(a){return H.appendChild(a).id=N,!G.getElementsByName||!G.getElementsByName(N).length}),v.getById?(w.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&I){var c=b.getElementById(a);return c?[c]:[]}},w.filter.ID=function(a){var b=a.replace(ua,va);return function(a){return a.getAttribute("id")===b}}):(delete w.find.ID,w.filter.ID=function(a){var b=a.replace(ua,va);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),w.find.TAG=v.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):v.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},w.find.CLASS=v.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&I)return b.getElementsByClassName(a)},K=[],J=[],(v.qsa=qa.test(G.querySelectorAll))&&(e(function(a){H.appendChild(a).innerHTML="<a id='"+N+"'></a><select id='"+N+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&J.push("[*^$]="+ca+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||J.push("\\["+ca+"*(?:value|"+ba+")"),a.querySelectorAll("[id~="+N+"-]").length||J.push("~="),a.querySelectorAll(":checked").length||J.push(":checked"),a.querySelectorAll("a#"+N+"+*").length||J.push(".#.+[+~]")}),e(function(a){var b=G.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&J.push("name"+ca+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(v.matchesSelector=qa.test(L=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&e(function(a){v.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",fa)}),J=J.length&&new RegExp(J.join("|")),K=K.length&&new RegExp(K.join("|")),b=qa.test(H.compareDocumentPosition),M=b||qa.test(H.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)for(;b=b.parentNode;)if(b===a)return!0;return!1},U=b?function(a,b){if(a===b)return E=!0,0;var c=!a.compareDocumentPosition-!b.compareDocumentPosition;return c?c:(c=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&c||!v.sortDetached&&b.compareDocumentPosition(a)===c?a===G||a.ownerDocument===O&&M(O,a)?-1:b===G||b.ownerDocument===O&&M(O,b)?1:D?aa(D,a)-aa(D,b):0:4&c?-1:1)}:function(a,b){
+if(a===b)return E=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===G?-1:b===G?1:e?-1:f?1:D?aa(D,a)-aa(D,b):0;if(e===f)return g(a,b);for(c=a;c=c.parentNode;)h.unshift(c);for(c=b;c=c.parentNode;)i.unshift(c);for(;h[d]===i[d];)d++;return d?g(h[d],i[d]):h[d]===O?-1:i[d]===O?1:0},G):G},b.matches=function(a,c){return b(a,null,null,c)},b.matchesSelector=function(a,c){if((a.ownerDocument||a)!==G&&F(a),c=c.replace(ka,"='$1']"),v.matchesSelector&&I&&!T[c+" "]&&(!K||!K.test(c))&&(!J||!J.test(c)))try{var d=L.call(a,c);if(d||v.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return b(c,G,null,[a]).length>0},b.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},b.attr=function(a,b){(a.ownerDocument||a)!==G&&F(a);var c=w.attrHandle[b.toLowerCase()],d=c&&W.call(w.attrHandle,b.toLowerCase())?c(a,b,!I):void 0;return void 0!==d?d:v.attributes||!I?a.getAttribute(b):(d=a.getAttributeNode(b))&&d.specified?d.value:null},b.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},b.uniqueSort=function(a){var b,c=[],d=0,e=0;if(E=!v.detectDuplicates,D=!v.sortStable&&a.slice(0),a.sort(U),E){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return D=null,a},x=b.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=x(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d++];)c+=x(b);return c},w=b.selectors={cacheLength:50,createPseudo:d,match:na,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(ua,va),a[3]=(a[3]||a[4]||a[5]||"").replace(ua,va),"~="===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]||b.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]&&b.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return na.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&la.test(c)&&(b=z(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(ua,va).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=new RegExp("(^|"+ca+")"+a+"("+ca+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,c,d){return function(e){var f=b.attr(e,a);return null==f?"!="===c:!c||(f+="","="===c?f===d:"!="===c?f!==d:"^="===c?d&&0===f.indexOf(d):"*="===c?d&&f.indexOf(d)>-1:"$="===c?d&&f.slice(-d.length)===d:"~="===c?(" "+f.replace(ga," ")+" ").indexOf(d)>-1:"|="===c&&(f===d||f.slice(0,d.length+1)===d+"-"))}},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,t=!1;if(q){if(f){for(;p;){for(m=b;m=m[p];)if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(m=q,l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===P&&j[1],t=n&&j[2],m=n&&q.childNodes[n];m=++n&&m&&m[p]||(t=n=0)||o.pop();)if(1===m.nodeType&&++t&&m===b){k[a]=[P,n,t];break}}else if(s&&(m=b,l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===P&&j[1],t=n),t===!1)for(;(m=++n&&m&&m[p]||(t=n=0)||o.pop())&&((h?m.nodeName.toLowerCase()!==r:1!==m.nodeType)||!++t||(s&&(l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[P,t]),m!==b)););return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,c){var e,f=w.pseudos[a]||w.setFilters[a.toLowerCase()]||b.error("unsupported pseudo: "+a);return f[N]?f(c):f.length>1?(e=[a,a,"",c],w.setFilters.hasOwnProperty(a.toLowerCase())?d(function(a,b){for(var d,e=f(a,c),g=e.length;g--;)d=aa(a,e[g]),a[d]=!(b[d]=e[g])}):function(a){return f(a,0,e)}):f}},pseudos:{not:d(function(a){var b=[],c=[],e=A(a.replace(ha,"$1"));return e[N]?d(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,d,f){return b[0]=a,e(b,null,f,c),b[0]=null,!c.pop()}}),has:d(function(a){return function(c){return b(a,c).length>0}}),contains:d(function(a){return a=a.replace(ua,va),function(b){return(b.textContent||b.innerText||x(b)).indexOf(a)>-1}}),lang:d(function(a){return ma.test(a||"")||b.error("unsupported lang: "+a),a=a.replace(ua,va).toLowerCase(),function(b){var c;do if(c=I?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===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.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!w.pseudos.empty(a)},header:function(a){return pa.test(a.nodeName)},input:function(a){return oa.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:j(function(){return[0]}),last:j(function(a,b){return[b-1]}),eq:j(function(a,b,c){return[c<0?c+b:c]}),even:j(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:j(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:j(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:j(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},w.pseudos.nth=w.pseudos.eq;for(u in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[u]=h(u);for(u in{submit:!0,reset:!0})w.pseudos[u]=i(u);return l.prototype=w.filters=w.pseudos,w.setFilters=new l,z=b.tokenize=function(a,c){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return c?0:k.slice(0);for(h=a,i=[],j=w.preFilter;h;){d&&!(e=ia.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=ja.exec(h))&&(d=e.shift(),f.push({value:d,type:e[0].replace(ha," ")}),h=h.slice(d.length));for(g in w.filter)!(e=na[g].exec(h))||j[g]&&!(e=j[g](e))||(d=e.shift(),f.push({value:d,type:g,matches:e}),h=h.slice(d.length));if(!d)break}return c?h.length:h?b.error(a):S(a,i).slice(0)},A=b.compile=function(a,b){var c,d=[],e=[],f=T[a+" "];if(!f){for(b||(b=z(a)),c=b.length;c--;)f=s(b[c]),f[N]?d.push(f):e.push(f);f=T(a,t(e,d)),f.selector=a}return f},B=b.select=function(a,b,c,d){var e,f,g,h,i,j="function"==typeof a&&a,l=!d&&z(a=j.selector||a);if(c=c||[],1===l.length){if(f=l[0]=l[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&v.getById&&9===b.nodeType&&I&&w.relative[f[1].type]){if(b=(w.find.ID(g.matches[0].replace(ua,va),b)||[])[0],!b)return c;j&&(b=b.parentNode),a=a.slice(f.shift().value.length)}for(e=na.needsContext.test(a)?0:f.length;e--&&(g=f[e],!w.relative[h=g.type]);)if((i=w.find[h])&&(d=i(g.matches[0].replace(ua,va),sa.test(f[0].type)&&k(b.parentNode)||b))){if(f.splice(e,1),a=d.length&&m(f),!a)return $.apply(c,d),c;break}}return(j||A(a,l))(d,b,!I,c,!b||sa.test(a)&&k(b.parentNode)||b),c},v.sortStable=N.split("").sort(U).join("")===N,v.detectDuplicates=!!E,F(),v.sortDetached=e(function(a){return 1&a.compareDocumentPosition(G.createElement("div"))}),e(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||f("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),v.attributes&&e(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||f("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),e(function(a){return null==a.getAttribute("disabled")})||f(ba,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),b}(a);fa.find=ka,fa.expr=ka.selectors,fa.expr[":"]=fa.expr.pseudos,fa.uniqueSort=fa.unique=ka.uniqueSort,fa.text=ka.getText,fa.isXMLDoc=ka.isXML,fa.contains=ka.contains;var la=function(a,b,c){for(var d=[],e=void 0!==c;(a=a[b])&&9!==a.nodeType;)if(1===a.nodeType){if(e&&fa(a).is(c))break;d.push(a)}return d},ma=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},na=fa.expr.match.needsContext,oa=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,pa=/^.[^:#\[\.,]*$/;fa.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?fa.find.matchesSelector(d,a)?[d]:[]:fa.find.matches(a,fa.grep(b,function(a){return 1===a.nodeType}))},fa.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(fa(a).filter(function(){for(b=0;b<c;b++)if(fa.contains(e[b],this))return!0}));for(b=0;b<c;b++)fa.find(a,e[b],d);return d=this.pushStack(c>1?fa.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(d(this,a||[],!1))},not:function(a){return this.pushStack(d(this,a||[],!0))},is:function(a){return!!d(this,"string"==typeof a&&na.test(a)?fa(a):a||[],!1).length}});var qa,ra=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,sa=fa.fn.init=function(a,b,c){var d,e;if(!a)return this;if(c=c||qa,"string"==typeof a){if(d="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:ra.exec(a),!d||!d[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(d[1]){if(b=b instanceof fa?b[0]:b,fa.merge(this,fa.parseHTML(d[1],b&&b.nodeType?b.ownerDocument||b:X,!0)),oa.test(d[1])&&fa.isPlainObject(b))for(d in b)fa.isFunction(this[d])?this[d](b[d]):this.attr(d,b[d]);return this}return e=X.getElementById(d[2]),e&&e.parentNode&&(this.length=1,this[0]=e),this.context=X,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):fa.isFunction(a)?void 0!==c.ready?c.ready(a):a(fa):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),fa.makeArray(a,this))};sa.prototype=fa.fn,qa=fa(X);var ta=/^(?:parents|prev(?:Until|All))/,ua={children:!0,contents:!0,next:!0,prev:!0};fa.fn.extend({has:function(a){var b=fa(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(fa.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=na.test(a)||"string"!=typeof a?fa(a,b||this.context):0;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&fa.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?fa.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?_.call(fa(a),this[0]):_.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(fa.uniqueSort(fa.merge(this.get(),fa(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),fa.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return la(a,"parentNode")},parentsUntil:function(a,b,c){return la(a,"parentNode",c)},next:function(a){return e(a,"nextSibling")},prev:function(a){return e(a,"previousSibling")},nextAll:function(a){return la(a,"nextSibling")},prevAll:function(a){return la(a,"previousSibling")},nextUntil:function(a,b,c){return la(a,"nextSibling",c)},prevUntil:function(a,b,c){return la(a,"previousSibling",c)},siblings:function(a){return ma((a.parentNode||{}).firstChild,a)},children:function(a){return ma(a.firstChild)},contents:function(a){return a.contentDocument||fa.merge([],a.childNodes)}},function(a,b){fa.fn[a]=function(c,d){var e=fa.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=fa.filter(d,e)),this.length>1&&(ua[a]||fa.uniqueSort(e),ta.test(a)&&e.reverse()),this.pushStack(e)}});var va=/\S+/g;fa.Callbacks=function(a){a="string"==typeof a?f(a):fa.extend({},a);var b,c,d,e,g=[],h=[],i=-1,j=function(){for(e=a.once,d=b=!0;h.length;i=-1)for(c=h.shift();++i<g.length;)g[i].apply(c[0],c[1])===!1&&a.stopOnFalse&&(i=g.length,c=!1);a.memory||(c=!1),b=!1,e&&(g=c?[]:"")},k={add:function(){return g&&(c&&!b&&(i=g.length-1,h.push(c)),function d(b){fa.each(b,function(b,c){fa.isFunction(c)?a.unique&&k.has(c)||g.push(c):c&&c.length&&"string"!==fa.type(c)&&d(c)})}(arguments),c&&!b&&j()),this},remove:function(){return fa.each(arguments,function(a,b){for(var c;(c=fa.inArray(b,g,c))>-1;)g.splice(c,1),c<=i&&i--}),this},has:function(a){return a?fa.inArray(a,g)>-1:g.length>0},empty:function(){return g&&(g=[]),this},disable:function(){return e=h=[],g=c="",this},disabled:function(){return!g},lock:function(){return e=h=[],c||(g=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],h.push(c),b||j()),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},fa.extend({Deferred:function(a){var b=[["resolve","done",fa.Callbacks("once memory"),"resolved"],["reject","fail",fa.Callbacks("once memory"),"rejected"],["notify","progress",fa.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return fa.Deferred(function(c){fa.each(b,function(b,f){var g=fa.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&fa.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?fa.extend(a,d):d}},e={};return d.pipe=d.then,fa.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,c,d,e=0,f=Y.call(arguments),g=f.length,h=1!==g||a&&fa.isFunction(a.promise)?g:0,i=1===h?a:fa.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?Y.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);e<g;e++)f[e]&&fa.isFunction(f[e].promise)?f[e].promise().progress(j(e,c,b)).done(j(e,d,f)).fail(i.reject):--h;return h||i.resolveWith(d,f),i.promise()}});var wa;fa.fn.ready=function(a){return fa.ready.promise().done(a),this},fa.extend({isReady:!1,readyWait:1,holdReady:function(a){a?fa.readyWait++:fa.ready(!0)},ready:function(a){(a===!0?--fa.readyWait:fa.isReady)||(fa.isReady=!0,a!==!0&&--fa.readyWait>0||(wa.resolveWith(X,[fa]),fa.fn.triggerHandler&&(fa(X).triggerHandler("ready"),fa(X).off("ready"))))}}),fa.ready.promise=function(b){return wa||(wa=fa.Deferred(),"complete"===X.readyState||"loading"!==X.readyState&&!X.documentElement.doScroll?a.setTimeout(fa.ready):(X.addEventListener("DOMContentLoaded",g),a.addEventListener("load",g))),wa.promise(b)},fa.ready.promise();var xa=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===fa.type(c)){e=!0;for(h in c)xa(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,fa.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(fa(a),c)})),b))for(;h<i;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},ya=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};h.uid=1,h.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!ya(a))return{};var b=a[this.expando];return b||(b={},ya(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][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,fa.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{fa.isArray(b)?d=b.concat(b.map(fa.camelCase)):(e=fa.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(va)||[])),c=d.length;for(;c--;)delete f[d[c]]}(void 0===b||fa.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!fa.isEmptyObject(b)}};var za=new h,Aa=new h,Ba=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Ca=/[A-Z]/g;fa.extend({hasData:function(a){return Aa.hasData(a)||za.hasData(a)},data:function(a,b,c){return Aa.access(a,b,c)},removeData:function(a,b){Aa.remove(a,b)},_data:function(a,b,c){return za.access(a,b,c)},_removeData:function(a,b){za.remove(a,b)}}),fa.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=Aa.get(f),1===f.nodeType&&!za.get(f,"hasDataAttrs"))){for(c=g.length;c--;)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=fa.camelCase(d.slice(5)),i(f,d,e[d])));za.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){Aa.set(this,a)}):xa(this,function(b){var c,d;if(f&&void 0===b){if(c=Aa.get(f,a)||Aa.get(f,a.replace(Ca,"-$&").toLowerCase()),void 0!==c)return c;if(d=fa.camelCase(a),c=Aa.get(f,d),void 0!==c)return c;if(c=i(f,d,void 0),void 0!==c)return c}else d=fa.camelCase(a),this.each(function(){var c=Aa.get(this,d);Aa.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&Aa.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){Aa.remove(this,a)})}}),fa.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=za.get(a,b),c&&(!d||fa.isArray(c)?d=za.access(a,b,fa.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=fa.queue(a,b),d=c.length,e=c.shift(),f=fa._queueHooks(a,b),g=function(){fa.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 za.get(a,c)||za.access(a,c,{empty:fa.Callbacks("once memory").add(function(){za.remove(a,[b+"queue",c])})})}}),fa.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?fa.queue(this[0],a):void 0===b?this:this.each(function(){var c=fa.queue(this,a,b);fa._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&fa.dequeue(this,a)})},dequeue:function(a){return this.each(function(){fa.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=fa.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};for("string"!=typeof a&&(b=a,a=void 0),a=a||"fx";g--;)c=za.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Da=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Ea=new RegExp("^(?:([+-])=|)("+Da+")([a-z%]*)$","i"),Fa=["Top","Right","Bottom","Left"],Ga=function(a,b){return a=b||a,"none"===fa.css(a,"display")||!fa.contains(a.ownerDocument,a)},Ha=/^(?:checkbox|radio)$/i,Ia=/<([\w:-]+)/,Ja=/^$|\/(?:java|ecma)script/i,Ka={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,"",""]};Ka.optgroup=Ka.option,Ka.tbody=Ka.tfoot=Ka.colgroup=Ka.caption=Ka.thead,Ka.th=Ka.td;var La=/<|&#?\w+;/;!function(){var a=X.createDocumentFragment(),b=a.appendChild(X.createElement("div")),c=X.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),da.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",da.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var Ma=/^key/,Na=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Oa=/^([^.]*)(?:\.(.+)|)/;fa.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=za.get(a);if(q)for(c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=fa.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof fa&&fa.event.triggered!==b.type?fa.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(va)||[""],j=b.length;j--;)h=Oa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=fa.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=fa.event.special[n]||{},k=fa.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&fa.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),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),fa.event.global[n]=!0)},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=za.hasData(a)&&za.get(a);if(q&&(i=q.events)){for(b=(b||"").match(va)||[""],j=b.length;j--;)if(h=Oa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=fa.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;f--;)k=m[f],!e&&p!==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,o,q.handle)!==!1||fa.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)fa.event.remove(a,n+b[j],c,d,!0);fa.isEmptyObject(i)&&za.remove(a,"handle events")}},dispatch:function(a){a=fa.event.fix(a);var b,c,d,e,f,g=[],h=Y.call(arguments),i=(za.get(this,"events")||{})[a.type]||[],j=fa.event.special[a.type]||{};if(h[0]=a,a.delegateTarget=this,!j.preDispatch||j.preDispatch.call(this,a)!==!1){for(g=fa.event.handlers.call(this,a,i),b=0;(e=g[b++])&&!a.isPropagationStopped();)for(a.currentTarget=e.elem,c=0;(f=e.handlers[c++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(f.namespace)||(a.handleObj=f,a.data=f.data,d=((fa.event.special[f.origType]||{}).handle||f.handler).apply(e.elem,h),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return j.postDispatch&&j.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&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?fa(e,this).index(i)>-1:fa.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 detail 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||X,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[fa.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];for(g||(this.fixHooks[e]=g=Na.test(e)?this.mouseHooks:Ma.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new fa.Event(f),b=d.length;b--;)c=d[b],a[c]=f[c];return a.target||(a.target=X),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==p()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===p()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&fa.nodeName(this,"input"))return this.click(),!1},_default:function(a){return fa.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},fa.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},fa.Event=function(a,b){return this instanceof fa.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?n:o):this.type=a,b&&fa.extend(this,b),this.timeStamp=a&&a.timeStamp||fa.now(),void(this[fa.expando]=!0)):new fa.Event(a,b)},fa.Event.prototype={constructor:fa.Event,isDefaultPrevented:o,isPropagationStopped:o,isImmediatePropagationStopped:o,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=n,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=n,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=n,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},fa.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){fa.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||fa.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),fa.fn.extend({on:function(a,b,c,d){return q(this,a,b,c,d)},one:function(a,b,c,d){return q(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,fa(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=o),this.each(function(){fa.event.remove(this,a,c,b)})}});var Pa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Qa=/<script|<style|<link/i,Ra=/checked\s*(?:[^=]|=\s*.checked.)/i,Sa=/^true\/(.*)/,Ta=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;fa.extend({htmlPrefilter:function(a){return a.replace(Pa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=fa.contains(a.ownerDocument,a);if(!(da.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||fa.isXMLDoc(a)))for(g=k(h),f=k(a),d=0,e=f.length;d<e;d++)v(f[d],g[d]);if(b)if(c)for(f=f||k(a),g=g||k(h),d=0,e=f.length;d<e;d++)u(f[d],g[d]);else u(a,h);return g=k(h,"script"),g.length>0&&l(g,!i&&k(a,"script")),h},cleanData:function(a){for(var b,c,d,e=fa.event.special,f=0;void 0!==(c=a[f]);f++)if(ya(c)){if(b=c[za.expando]){if(b.events)for(d in b.events)e[d]?fa.event.remove(c,d):fa.removeEvent(c,d,b.handle);c[za.expando]=void 0}c[Aa.expando]&&(c[Aa.expando]=void 0)}}}),fa.fn.extend({domManip:w,detach:function(a){return x(this,a,!0)},remove:function(a){return x(this,a)},text:function(a){return xa(this,function(a){return void 0===a?fa.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 w(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=r(this,a);b.appendChild(a)}})},prepend:function(){return w(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=r(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return w(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return w(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(fa.cleanData(k(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return fa.clone(this,a,b)})},html:function(a){return xa(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&&!Qa.test(a)&&!Ka[(Ia.exec(a)||["",""])[1].toLowerCase()]){a=fa.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(fa.cleanData(k(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return w(this,arguments,function(b){var c=this.parentNode;fa.inArray(this,a)<0&&(fa.cleanData(k(this)),c&&c.replaceChild(b,this))},a)}}),fa.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){fa.fn[a]=function(a){for(var c,d=[],e=fa(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),fa(e[g])[b](c),$.apply(d,c.get());return this.pushStack(d)}});var Ua,Va={HTML:"block",BODY:"block"},Wa=/^margin/,Xa=new RegExp("^("+Da+")(?!px)[a-z%]+$","i"),Ya=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Za=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},$a=X.documentElement;!function(){function b(){h.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",h.innerHTML="",$a.appendChild(g);var b=a.getComputedStyle(h);c="1%"!==b.top,f="2px"===b.marginLeft,d="4px"===b.width,h.style.marginRight="50%",e="4px"===b.marginRight,$a.removeChild(g)}var c,d,e,f,g=X.createElement("div"),h=X.createElement("div");h.style&&(h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",da.clearCloneStyle="content-box"===h.style.backgroundClip,g.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",g.appendChild(h),fa.extend(da,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return null==d&&b(),d},pixelMarginRight:function(){return null==d&&b(),e},reliableMarginLeft:function(){return null==d&&b(),f},reliableMarginRight:function(){var b,c=h.appendChild(X.createElement("div"));return c.style.cssText=h.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",h.style.width="1px",$a.appendChild(g),b=!parseFloat(a.getComputedStyle(c).marginRight),$a.removeChild(g),h.removeChild(c),b}}))}();var _a=/^(none|table(?!-c[ea]).+)/,ab={position:"absolute",visibility:"hidden",display:"block"},bb={letterSpacing:"0",fontWeight:"400"},cb=["Webkit","O","Moz","ms"],db=X.createElement("div").style;fa.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=A(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,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=fa.camelCase(b),i=a.style;return b=fa.cssProps[h]||(fa.cssProps[h]=C(h)||h),g=fa.cssHooks[b]||fa.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=Ea.exec(c))&&e[1]&&(c=j(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(fa.cssNumber[h]?"":"px")),da.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=fa.camelCase(b);return b=fa.cssProps[h]||(fa.cssProps[h]=C(h)||h),g=fa.cssHooks[b]||fa.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=A(a,b,d)),"normal"===e&&b in bb&&(e=bb[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),fa.each(["height","width"],function(a,b){fa.cssHooks[b]={get:function(a,c,d){if(c)return _a.test(fa.css(a,"display"))&&0===a.offsetWidth?Za(a,ab,function(){return F(a,b,d)}):F(a,b,d)},set:function(a,c,d){var e,f=d&&Ya(a),g=d&&E(a,b,d,"border-box"===fa.css(a,"boxSizing",!1,f),f);return g&&(e=Ea.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=fa.css(a,b)),D(a,c,g)}}}),fa.cssHooks.marginLeft=B(da.reliableMarginLeft,function(a,b){if(b)return(parseFloat(A(a,"marginLeft"))||a.getBoundingClientRect().left-Za(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),fa.cssHooks.marginRight=B(da.reliableMarginRight,function(a,b){if(b)return Za(a,{display:"inline-block"},A,[a,"marginRight"])}),fa.each({margin:"",padding:"",border:"Width"},function(a,b){fa.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+Fa[d]+b]=f[d]||f[d-2]||f[0];return e}},Wa.test(a)||(fa.cssHooks[a+b].set=D)}),fa.fn.extend({css:function(a,b){return xa(this,function(a,b,c){var d,e,f={},g=0;if(fa.isArray(b)){for(d=Ya(a),e=b.length;g<e;g++)f[b[g]]=fa.css(a,b[g],!1,d);return f}return void 0!==c?fa.style(a,b,c):fa.css(a,b)},a,b,arguments.length>1)},show:function(){return G(this,!0)},hide:function(){return G(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){Ga(this)?fa(this).show():fa(this).hide()})}}),fa.Tween=H,H.prototype={constructor:H,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||fa.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(fa.cssNumber[c]?"":"px")},cur:function(){var a=H.propHooks[this.prop];return a&&a.get?a.get(this):H.propHooks._default.get(this)},run:function(a){var b,c=H.propHooks[this.prop];return this.options.duration?this.pos=b=fa.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=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):H.propHooks._default.set(this),this}},H.prototype.init.prototype=H.prototype,H.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=fa.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){fa.fx.step[a.prop]?fa.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[fa.cssProps[a.prop]]&&!fa.cssHooks[a.prop]?a.elem[a.prop]=a.now:fa.style(a.elem,a.prop,a.now+a.unit)}}},H.propHooks.scrollTop=H.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},fa.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},fa.fx=H.prototype.init,fa.fx.step={};var eb,fb,gb=/^(?:toggle|show|hide)$/,hb=/queueHooks$/;fa.Animation=fa.extend(N,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return j(c.elem,a,Ea.exec(b),c),c}]},tweener:function(a,b){fa.isFunction(a)?(b=a,a=["*"]):a=a.match(va);for(var c,d=0,e=a.length;d<e;d++)c=a[d],N.tweeners[c]=N.tweeners[c]||[],N.tweeners[c].unshift(b)},prefilters:[L],prefilter:function(a,b){b?N.prefilters.unshift(a):N.prefilters.push(a)}}),fa.speed=function(a,b,c){var d=a&&"object"==typeof a?fa.extend({},a):{complete:c||!c&&b||fa.isFunction(a)&&a,duration:a,easing:c&&b||b&&!fa.isFunction(b)&&b};return d.duration=fa.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in fa.fx.speeds?fa.fx.speeds[d.duration]:fa.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){fa.isFunction(d.old)&&d.old.call(this),d.queue&&fa.dequeue(this,d.queue)},d},fa.fn.extend({fadeTo:function(a,b,c,d){return this.filter(Ga).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=fa.isEmptyObject(a),f=fa.speed(b,c,d),g=function(){var b=N(this,fa.extend({},a),f);(e||za.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=fa.timers,g=za.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&hb.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||fa.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=za.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=fa.timers,g=d?d.length:0;for(c.finish=!0,fa.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;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),fa.each(["toggle","show","hide"],function(a,b){var c=fa.fn[b];fa.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(J(b,!0),a,d,e)}}),fa.each({slideDown:J("show"),slideUp:J("hide"),slideToggle:J("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){fa.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),fa.timers=[],fa.fx.tick=function(){var a,b=0,c=fa.timers;for(eb=fa.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||fa.fx.stop(),eb=void 0},fa.fx.timer=function(a){fa.timers.push(a),a()?fa.fx.start():fa.timers.pop()},fa.fx.interval=13,fa.fx.start=function(){fb||(fb=a.setInterval(fa.fx.tick,fa.fx.interval))},fa.fx.stop=function(){a.clearInterval(fb),fb=null},fa.fx.speeds={slow:600,fast:200,_default:400},fa.fn.delay=function(b,c){return b=fa.fx?fa.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=X.createElement("input"),b=X.createElement("select"),c=b.appendChild(X.createElement("option"));a.type="checkbox",da.checkOn=""!==a.value,da.optSelected=c.selected,b.disabled=!0,da.optDisabled=!c.disabled,a=X.createElement("input"),a.value="t",a.type="radio",da.radioValue="t"===a.value}();var ib,jb=fa.expr.attrHandle;fa.fn.extend({attr:function(a,b){return xa(this,fa.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){fa.removeAttr(this,a)})}}),fa.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?fa.prop(a,b,c):(1===f&&fa.isXMLDoc(a)||(b=b.toLowerCase(),e=fa.attrHooks[b]||(fa.expr.match.bool.test(b)?ib:void 0)),void 0!==c?null===c?void fa.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=fa.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!da.radioValue&&"radio"===b&&fa.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(va);if(f&&1===a.nodeType)for(;c=f[e++];)d=fa.propFix[c]||c,fa.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?fa.removeAttr(a,c):a.setAttribute(c,c),c}},fa.each(fa.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||fa.find.attr;jb[b]=function(a,b,d){var e,f;return d||(f=jb[b],jb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,jb[b]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;fa.fn.extend({prop:function(a,b){return xa(this,fa.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[fa.propFix[a]||a]})}}),fa.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&fa.isXMLDoc(a)||(b=fa.propFix[b]||b,e=fa.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){var b=fa.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),da.optSelected||(fa.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),fa.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){fa.propFix[this.toLowerCase()]=this});var mb=/[\t\r\n\f]/g;fa.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(fa.isFunction(a))return this.each(function(b){fa(this).addClass(a.call(this,b,O(this)))});if("string"==typeof a&&a)for(b=a.match(va)||[];c=this[i++];)if(e=O(c),d=1===c.nodeType&&(" "+e+" ").replace(mb," ")){for(g=0;f=b[g++];)d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=fa.trim(d),e!==h&&c.setAttribute("class",h)}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(fa.isFunction(a))return this.each(function(b){fa(this).removeClass(a.call(this,b,O(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a)for(b=a.match(va)||[];c=this[i++];)if(e=O(c),d=1===c.nodeType&&(" "+e+" ").replace(mb," ")){for(g=0;f=b[g++];)for(;d.indexOf(" "+f+" ")>-1;)d=d.replace(" "+f+" "," ");h=fa.trim(d),e!==h&&c.setAttribute("class",h)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):fa.isFunction(a)?this.each(function(c){fa(this).toggleClass(a.call(this,c,O(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c)for(d=0,e=fa(this),f=a.match(va)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else void 0!==a&&"boolean"!==c||(b=O(this),b&&za.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":za.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;for(b=" "+a+" ";c=this[d++];)if(1===c.nodeType&&(" "+O(c)+" ").replace(mb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/g;fa.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=fa.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,fa(this).val()):a,null==e?e="":"number"==typeof e?e+="":fa.isArray(e)&&(e=fa.map(e,function(a){return null==a?"":a+""})),b=fa.valHooks[this.type]||fa.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=fa.valHooks[e.type]||fa.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(nb,""):null==c?"":c)}}}),fa.extend({valHooks:{option:{get:function(a){var b=fa.find.attr(a,"value");return null!=b?b:fa.trim(fa.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||e<0,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&(da.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!fa.nodeName(c.parentNode,"optgroup"))){if(b=fa(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=fa.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=fa.inArray(fa.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),fa.each(["radio","checkbox"],function(){fa.valHooks[this]={set:function(a,b){if(fa.isArray(b))return a.checked=fa.inArray(fa(a).val(),b)>-1}},da.checkOn||(fa.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;fa.extend(fa.event,{trigger:function(b,c,d,e){var f,g,h,i,j,k,l,m=[d||X],n=ca.call(b,"type")?b.type:b,o=ca.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||X,3!==d.nodeType&&8!==d.nodeType&&!pb.test(n+fa.event.triggered)&&(n.indexOf(".")>-1&&(o=n.split("."),n=o.shift(),o.sort()),j=n.indexOf(":")<0&&"on"+n,b=b[fa.expando]?b:new fa.Event(n,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=o.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:fa.makeArray(c,[b]),l=fa.event.special[n]||{},e||!l.trigger||l.trigger.apply(d,c)!==!1)){if(!e&&!l.noBubble&&!fa.isWindow(d)){for(i=l.delegateType||n,pb.test(i+n)||(g=g.parentNode);g;g=g.parentNode)m.push(g),h=g;h===(d.ownerDocument||X)&&m.push(h.defaultView||h.parentWindow||a)}for(f=0;(g=m[f++])&&!b.isPropagationStopped();)b.type=f>1?i:l.bindType||n,k=(za.get(g,"events")||{})[b.type]&&za.get(g,"handle"),k&&k.apply(g,c),k=j&&g[j],k&&k.apply&&ya(g)&&(b.result=k.apply(g,c),b.result===!1&&b.preventDefault());return b.type=n,e||b.isDefaultPrevented()||l._default&&l._default.apply(m.pop(),c)!==!1||!ya(d)||j&&fa.isFunction(d[n])&&!fa.isWindow(d)&&(h=d[j],h&&(d[j]=null),fa.event.triggered=n,d[n](),fa.event.triggered=void 0,h&&(d[j]=h)),b.result}},simulate:function(a,b,c){var d=fa.extend(new fa.Event,c,{type:a,isSimulated:!0});fa.event.trigger(d,null,b)}}),fa.fn.extend({trigger:function(a,b){return this.each(function(){fa.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return fa.event.trigger(a,b,c,!0)}}),fa.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){fa.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),fa.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),da.focusin="onfocusin"in a,da.focusin||fa.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){fa.event.simulate(b,a.target,fa.event.fix(a))};fa.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=za.access(d,b);e||d.addEventListener(a,c,!0),za.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=za.access(d,b)-1;e?za.access(d,b,e):(d.removeEventListener(a,c,!0),za.remove(d,b))}}});var qb=a.location,rb=fa.now(),sb=/\?/;fa.parseJSON=function(a){return JSON.parse(a+"")},fa.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||fa.error("Invalid XML: "+b),c};var tb=/#.*$/,ub=/([?&])_=[^&]*/,vb=/^(.*?):[ \t]*([^\r\n]*)$/gm,wb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,xb=/^(?:GET|HEAD)$/,yb=/^\/\//,zb={},Ab={},Bb="*/".concat("*"),Cb=X.createElement("a");Cb.href=qb.href,fa.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:wb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Bb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":fa.parseJSON,"text xml":fa.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?R(R(a,fa.ajaxSettings),b):R(fa.ajaxSettings,a)},ajaxPrefilter:P(zb),ajaxTransport:P(Ab),ajax:function(b,c){function d(b,c,d,h){var j,l,s,t,v,x=c;2!==u&&(u=2,i&&a.clearTimeout(i),e=void 0,g=h||"",w.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(t=S(m,w,d)),t=T(m,t,w,j),j?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&(fa.lastModified[f]=v),v=w.getResponseHeader("etag"),v&&(fa.etag[f]=v)),204===b||"HEAD"===m.type?x="nocontent":304===b?x="notmodified":(x=t.state,l=t.data,s=t.error,j=!s)):(s=x,!b&&x||(x="error",b<0&&(b=0))),w.status=b,w.statusText=(c||x)+"",j?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=void 0,k&&o.trigger(j?"ajaxSuccess":"ajaxError",[w,m,j?l:s]),q.fireWith(n,[w,x]),k&&(o.trigger("ajaxComplete",[w,m]),--fa.active||fa.event.trigger("ajaxStop")))}"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=fa.ajaxSetup({},c),n=m.context||m,o=m.context&&(n.nodeType||n.jquery)?fa(n):fa.event,p=fa.Deferred(),q=fa.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!h)for(h={};b=vb.exec(g);)h[b[1].toLowerCase()]=b[2];b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(u<2)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return e&&e.abort(b),d(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,m.url=((b||m.url||qb.href)+"").replace(tb,"").replace(yb,qb.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=fa.trim(m.dataType||"*").toLowerCase().match(va)||[""],null==m.crossDomain){j=X.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=Cb.protocol+"//"+Cb.host!=j.protocol+"//"+j.host}catch(x){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=fa.param(m.data,m.traditional)),Q(zb,m,c,w),2===u)return w;k=fa.event&&m.global,k&&0===fa.active++&&fa.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!xb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(sb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=ub.test(f)?f.replace(ub,"$1_="+rb++):f+(sb.test(f)?"&":"?")+"_="+rb++)),m.ifModified&&(fa.lastModified[f]&&w.setRequestHeader("If-Modified-Since",fa.lastModified[f]),fa.etag[f]&&w.setRequestHeader("If-None-Match",fa.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Bb+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)w.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(l in{success:1,error:1,complete:1})w[l](m[l]);if(e=Q(Ab,m,c,w)){if(w.readyState=1,k&&o.trigger("ajaxSend",[w,m]),2===u)return w;m.async&&m.timeout>0&&(i=a.setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,e.send(s,d)}catch(x){if(!(u<2))throw x;d(-1,x)}}else d(-1,"No Transport");return w},getJSON:function(a,b,c){return fa.get(a,b,c,"json")},getScript:function(a,b){return fa.get(a,void 0,b,"script")}}),fa.each(["get","post"],function(a,b){fa[b]=function(a,c,d,e){return fa.isFunction(c)&&(e=e||d,d=c,c=void 0),fa.ajax(fa.extend({url:a,type:b,dataType:e,data:c,success:d},fa.isPlainObject(a)&&a))}}),fa._evalUrl=function(a){return fa.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},fa.fn.extend({wrapAll:function(a){var b;return fa.isFunction(a)?this.each(function(b){fa(this).wrapAll(a.call(this,b))}):(this[0]&&(b=fa(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return fa.isFunction(a)?this.each(function(b){fa(this).wrapInner(a.call(this,b))}):this.each(function(){var b=fa(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=fa.isFunction(a);return this.each(function(c){fa(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){fa.nodeName(this,"body")||fa(this).replaceWith(this.childNodes)}).end()}}),fa.expr.filters.hidden=function(a){return!fa.expr.filters.visible(a)},fa.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Db=/%20/g,Eb=/\[\]$/,Fb=/\r?\n/g,Gb=/^(?:submit|button|image|reset|file)$/i,Hb=/^(?:input|select|textarea|keygen)/i;fa.param=function(a,b){var c,d=[],e=function(a,b){b=fa.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=fa.ajaxSettings&&fa.ajaxSettings.traditional),fa.isArray(a)||a.jquery&&!fa.isPlainObject(a))fa.each(a,function(){e(this.name,this.value)});else for(c in a)U(c,a[c],b,e);return d.join("&").replace(Db,"+")},fa.fn.extend({serialize:function(){return fa.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=fa.prop(this,"elements");return a?fa.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!fa(this).is(":disabled")&&Hb.test(this.nodeName)&&!Gb.test(a)&&(this.checked||!Ha.test(a))}).map(function(a,b){var c=fa(this).val();return null==c?null:fa.isArray(c)?fa.map(c,function(a){return{name:b.name,value:a.replace(Fb,"\r\n")}}):{name:b.name,value:c.replace(Fb,"\r\n")}}).get()}}),fa.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ib={0:200,1223:204},Jb=fa.ajaxSettings.xhr();da.cors=!!Jb&&"withCredentials"in Jb,da.ajax=Jb=!!Jb,fa.ajaxTransport(function(b){var c,d;if(da.cors||Jb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ib[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),fa.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return fa.globalEval(a),a}}}),fa.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),fa.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=fa("<script>").prop({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)}),X.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Kb=[],Lb=/(=)\?(?=&|$)|\?\?/;fa.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Kb.pop()||fa.expando+"_"+rb++;return this[a]=!0,a}}),fa.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Lb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Lb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=fa.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Lb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||fa.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?fa(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Kb.push(e)),g&&fa.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),fa.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||X;var d=oa.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m([a],b,e),e&&e.length&&fa(e).remove(),fa.merge([],d.childNodes))};var Mb=fa.fn.load;fa.fn.load=function(a,b,c){if("string"!=typeof a&&Mb)return Mb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=fa.trim(a.slice(h)),a=a.slice(0,h)),fa.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&fa.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?fa("<div>").append(fa.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},fa.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){fa.fn[b]=function(a){return this.on(b,a)}}),fa.expr.filters.animated=function(a){return fa.grep(fa.timers,function(b){return a===b.elem}).length},fa.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=fa.css(a,"position"),l=fa(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=fa.css(a,"top"),i=fa.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),fa.isFunction(b)&&(b=b.call(a,c,fa.extend({},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)}},fa.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){fa.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,fa.contains(b,d)?(e=d.getBoundingClientRect(),c=V(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"===fa.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),fa.nodeName(a[0],"html")||(d=a.offset()),d.top+=fa.css(a[0],"borderTopWidth",!0),d.left+=fa.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-fa.css(c,"marginTop",!0),left:b.left-d.left-fa.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent;a&&"static"===fa.css(a,"position");)a=a.offsetParent;return a||$a})}}),fa.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;fa.fn[a]=function(d){return xa(this,function(a,d,e){var f=V(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),fa.each(["top","left"],function(a,b){fa.cssHooks[b]=B(da.pixelPosition,function(a,c){if(c)return c=A(a,b),Xa.test(c)?fa(a).position()[b]+"px":c})}),fa.each({Height:"height",Width:"width"},function(a,b){fa.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){fa.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return xa(this,function(b,c,d){var e;return fa.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?fa.css(b,c,g):fa.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),fa.fn.extend({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)},size:function(){return this.length}}),fa.fn.andSelf=fa.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return fa});var Nb=a.jQuery,Ob=a.$;return fa.noConflict=function(b){return a.$===fa&&(a.$=Ob),b&&a.jQuery===fa&&(a.jQuery=Nb),fa},b||(a.jQuery=a.$=fa),fa}),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){function b(a){for(var b=a.css("visibility");"inherit"===b;)a=a.parent(),b=a.css("visibility");return"hidden"!==b}function c(a){for(var b,c;a.length&&a[0]!==document;){if(b=a.css("position"),("absolute"===b||"relative"===b||"fixed"===b)&&(c=parseInt(a.css("zIndex"),10),!isNaN(c)&&0!==c))return c;a=a.parent()}return 0}function d(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},a.extend(this._defaults,this.regional[""]),this.regional.en=a.extend(!0,{},this.regional[""]),this.regional["en-US"]=a.extend(!0,{},this.regional.en),this.dpDiv=e(a("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function e(b){var c="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return b.on("mouseout",c,function(){a(this).removeClass("ui-state-hover"),this.className.indexOf("ui-datepicker-prev")!==-1&&a(this).removeClass("ui-datepicker-prev-hover"),this.className.indexOf("ui-datepicker-next")!==-1&&a(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",c,f)}function f(){a.datepicker._isDisabledDatepicker(q.inline?q.dpDiv.parent()[0]:q.input[0])||(a(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),a(this).addClass("ui-state-hover"),this.className.indexOf("ui-datepicker-prev")!==-1&&a(this).addClass("ui-datepicker-prev-hover"),this.className.indexOf("ui-datepicker-next")!==-1&&a(this).addClass("ui-datepicker-next-hover"))}function g(b,c){a.extend(b,c);for(var d in c)null==c[d]&&(b[d]=c[d]);return b}function h(a){return function(){var b=this.element.val();a.apply(this,arguments),this._refresh(),b!==this.element.val()&&this._trigger("change")}}a.ui=a.ui||{};var i=(a.ui.version="1.12.1",0),j=Array.prototype.slice;a.cleanData=function(b){return function(c){var d,e,f;for(f=0;null!=(e=c[f]);f++)try{d=a._data(e,"events"),d&&d.remove&&a(e).triggerHandler("remove")}catch(g){}b(c)}}(a.cleanData),a.widget=function(b,c,d){var e,f,g,h={},i=b.split(".")[0];b=b.split(".")[1];var j=i+"-"+b;return d||(d=c,
+c=a.Widget),a.isArray(d)&&(d=a.extend.apply(null,[{}].concat(d))),a.expr[":"][j.toLowerCase()]=function(b){return!!a.data(b,j)},a[i]=a[i]||{},e=a[i][b],f=a[i][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new f(a,b)},a.extend(f,e,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),g=new c,g.options=a.widget.extend({},g.options),a.each(d,function(b,d){return a.isFunction(d)?void(h[b]=function(){function a(){return c.prototype[b].apply(this,arguments)}function e(a){return c.prototype[b].apply(this,a)}return function(){var b,c=this._super,f=this._superApply;return this._super=a,this._superApply=e,b=d.apply(this,arguments),this._super=c,this._superApply=f,b}}()):void(h[b]=d)}),f.prototype=a.widget.extend(g,{widgetEventPrefix:e?g.widgetEventPrefix||b:b},h,{constructor:f,namespace:i,widgetName:b,widgetFullName:j}),e?(a.each(e._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,f,c._proto)}),delete e._childConstructors):c._childConstructors.push(f),a.widget.bridge(b,f),f},a.widget.extend=function(b){for(var c,d,e=j.call(arguments,1),f=0,g=e.length;f<g;f++)for(c in e[f])d=e[f][c],e[f].hasOwnProperty(c)&&void 0!==d&&(a.isPlainObject(d)?b[c]=a.isPlainObject(b[c])?a.widget.extend({},b[c],d):a.widget.extend({},d):b[c]=d);return b},a.widget.bridge=function(b,c){var d=c.prototype.widgetFullName||b;a.fn[b]=function(e){var f="string"==typeof e,g=j.call(arguments,1),h=this;return f?this.length||"instance"!==e?this.each(function(){var c,f=a.data(this,d);return"instance"===e?(h=f,!1):f?a.isFunction(f[e])&&"_"!==e.charAt(0)?(c=f[e].apply(f,g),c!==f&&void 0!==c?(h=c&&c.jquery?h.pushStack(c.get()):c,!1):void 0):a.error("no such method '"+e+"' for "+b+" widget instance"):a.error("cannot call methods on "+b+" prior to initialization; attempted to call method '"+e+"'")}):h=void 0:(g.length&&(e=a.widget.extend.apply(null,[e].concat(g))),this.each(function(){var b=a.data(this,d);b?(b.option(e||{}),b._init&&b._init()):a.data(this,d,new c(e,this))})),h}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(b,c){c=a(c||this.defaultElement||this)[0],this.element=a(c),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=a(),this.hoverable=a(),this.focusable=a(),this.classesElementLookup={},c!==this&&(a.data(c,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===c&&this.destroy()}}),this.document=a(c.style?c.ownerDocument:c.document||c),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this.options=a.widget.extend({},this.options,this._getCreateOptions(),b),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){var b=this;this._destroy(),a.each(this.classesElementLookup,function(a,c){b._removeClass(c,a)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:a.noop,widget:function(){return this.element},option:function(b,c){var d,e,f,g=b;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof b)if(g={},d=b.split("."),b=d.shift(),d.length){for(e=g[b]=a.widget.extend({},this.options[b]),f=0;f<d.length-1;f++)e[d[f]]=e[d[f]]||{},e=e[d[f]];if(b=d.pop(),1===arguments.length)return void 0===e[b]?null:e[b];e[b]=c}else{if(1===arguments.length)return void 0===this.options[b]?null:this.options[b];g[b]=c}return this._setOptions(g),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return"classes"===a&&this._setOptionClasses(b),this.options[a]=b,"disabled"===a&&this._setOptionDisabled(b),this},_setOptionClasses:function(b){var c,d,e;for(c in b)e=this.classesElementLookup[c],b[c]!==this.options.classes[c]&&e&&e.length&&(d=a(e.get()),this._removeClass(e,c),d.addClass(this._classes({element:d,keys:c,classes:b,add:!0})))},_setOptionDisabled:function(a){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!a),a&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(b){function c(c,f){var g,h;for(h=0;h<c.length;h++)g=e.classesElementLookup[c[h]]||a(),g=a(b.add?a.unique(g.get().concat(b.element.get())):g.not(b.element).get()),e.classesElementLookup[c[h]]=g,d.push(c[h]),f&&b.classes[c[h]]&&d.push(b.classes[c[h]])}var d=[],e=this;return b=a.extend({element:this.element,classes:this.options.classes||{}},b),this._on(b.element,{remove:"_untrackClassesElement"}),b.keys&&c(b.keys.match(/\S+/g)||[],!0),b.extra&&c(b.extra.match(/\S+/g)||[]),d.join(" ")},_untrackClassesElement:function(b){var c=this;a.each(c.classesElementLookup,function(d,e){a.inArray(b.target,e)!==-1&&(c.classesElementLookup[d]=a(e.not(b.target).get()))})},_removeClass:function(a,b,c){return this._toggleClass(a,b,c,!1)},_addClass:function(a,b,c){return this._toggleClass(a,b,c,!0)},_toggleClass:function(a,b,c,d){d="boolean"==typeof d?d:c;var e="string"==typeof a||null===a,f={extra:e?b:c,keys:e?a:b,element:e?this.element:a,add:d};return f.element.toggleClass(this._classes(f),d),this},_on:function(b,c,d){var e,f=this;"boolean"!=typeof b&&(d=c,c=b,b=!1),d?(c=e=a(c),this.bindings=this.bindings.add(c)):(d=c,c=this.element,e=this.widget()),a.each(d,function(d,g){function h(){if(b||f.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled"))return("string"==typeof g?f[g]:g).apply(f,arguments)}"string"!=typeof g&&(h.guid=g.guid=g.guid||h.guid||a.guid++);var i=d.match(/^([\w:-]*)\s*(.*)$/),j=i[1]+f.eventNamespace,k=i[2];k?e.on(j,k,h):c.on(j,h)})},_off:function(b,c){c=(c||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,b.off(c).off(c),this.bindings=a(this.bindings.not(b).get()),this.focusable=a(this.focusable.not(b).get()),this.hoverable=a(this.hoverable.not(b).get())},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){this._addClass(a(b.currentTarget),null,"ui-state-hover")},mouseleave:function(b){this._removeClass(a(b.currentTarget),null,"ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){this._addClass(a(b.currentTarget),null,"ui-state-focus")},focusout:function(b){this._removeClass(a(b.currentTarget),null,"ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}});a.widget;!function(){function b(a,b,c){return[parseFloat(a[0])*(l.test(a[0])?b/100:1),parseFloat(a[1])*(l.test(a[1])?c/100:1)]}function c(b,c){return parseInt(a.css(b,c),10)||0}function d(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}var e,f=Math.max,g=Math.abs,h=/left|center|right/,i=/top|center|bottom/,j=/[\+\-]\d+(\.[\d]+)?%?/,k=/^\w+/,l=/%$/,m=a.fn.position;a.position={scrollbarWidth:function(){if(void 0!==e)return e;var b,c,d=a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),f=d.children()[0];return a("body").append(d),b=f.offsetWidth,d.css("overflow","scroll"),c=f.offsetWidth,b===c&&(c=d[0].clientWidth),d.remove(),e=b-c},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.position.scrollbarWidth():0,height:e?a.position.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]),e=!!c[0]&&9===c[0].nodeType,f=!d&&!e;return{element:c,isWindow:d,isDocument:e,offset:f?a(b).offset():{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:c.outerWidth(),height:c.outerHeight()}}},a.fn.position=function(e){if(!e||!e.of)return m.apply(this,arguments);e=a.extend({},e);var l,n,o,p,q,r,s=a(e.of),t=a.position.getWithinInfo(e.within),u=a.position.getScrollInfo(t),v=(e.collision||"flip").split(" "),w={};return r=d(s),s[0].preventDefault&&(e.at="left top"),n=r.width,o=r.height,p=r.offset,q=a.extend({},p),a.each(["my","at"],function(){var a,b,c=(e[this]||"").split(" ");1===c.length&&(c=h.test(c[0])?c.concat(["center"]):i.test(c[0])?["center"].concat(c):["center","center"]),c[0]=h.test(c[0])?c[0]:"center",c[1]=i.test(c[1])?c[1]:"center",a=j.exec(c[0]),b=j.exec(c[1]),w[this]=[a?a[0]:0,b?b[0]:0],e[this]=[k.exec(c[0])[0],k.exec(c[1])[0]]}),1===v.length&&(v[1]=v[0]),"right"===e.at[0]?q.left+=n:"center"===e.at[0]&&(q.left+=n/2),"bottom"===e.at[1]?q.top+=o:"center"===e.at[1]&&(q.top+=o/2),l=b(w.at,n,o),q.left+=l[0],q.top+=l[1],this.each(function(){var d,h,i=a(this),j=i.outerWidth(),k=i.outerHeight(),m=c(this,"marginLeft"),r=c(this,"marginTop"),x=j+m+c(this,"marginRight")+u.width,y=k+r+c(this,"marginBottom")+u.height,z=a.extend({},q),A=b(w.my,i.outerWidth(),i.outerHeight());"right"===e.my[0]?z.left-=j:"center"===e.my[0]&&(z.left-=j/2),"bottom"===e.my[1]?z.top-=k:"center"===e.my[1]&&(z.top-=k/2),z.left+=A[0],z.top+=A[1],d={marginLeft:m,marginTop:r},a.each(["left","top"],function(b,c){a.ui.position[v[b]]&&a.ui.position[v[b]][c](z,{targetWidth:n,targetHeight:o,elemWidth:j,elemHeight:k,collisionPosition:d,collisionWidth:x,collisionHeight:y,offset:[l[0]+A[0],l[1]+A[1]],my:e.my,at:e.at,within:t,elem:i})}),e.using&&(h=function(a){var b=p.left-z.left,c=b+n-j,d=p.top-z.top,h=d+o-k,l={target:{element:s,left:p.left,top:p.top,width:n,height:o},element:{element:i,left:z.left,top:z.top,width:j,height:k},horizontal:c<0?"left":b>0?"right":"center",vertical:h<0?"top":d>0?"bottom":"middle"};n<j&&g(b+c)<n&&(l.horizontal="center"),o<k&&g(d+h)<o&&(l.vertical="middle"),f(g(b),g(c))>f(g(d),g(h))?l.important="horizontal":l.important="vertical",e.using.call(this,a,l)}),i.offset(a.extend(z,{using:h}))})},a.ui.position={fit:{left:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollLeft:d.offset.left,g=d.width,h=a.left-b.collisionPosition.marginLeft,i=e-h,j=h+b.collisionWidth-g-e;b.collisionWidth>g?i>0&&j<=0?(c=a.left+i+b.collisionWidth-g-e,a.left+=i-c):j>0&&i<=0?a.left=e:i>j?a.left=e+g-b.collisionWidth:a.left=e:i>0?a.left+=i:j>0?a.left-=j:a.left=f(a.left-h,a.left)},top:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollTop:d.offset.top,g=b.within.height,h=a.top-b.collisionPosition.marginTop,i=e-h,j=h+b.collisionHeight-g-e;b.collisionHeight>g?i>0&&j<=0?(c=a.top+i+b.collisionHeight-g-e,a.top+=i-c):j>0&&i<=0?a.top=e:i>j?a.top=e+g-b.collisionHeight:a.top=e:i>0?a.top+=i:j>0?a.top-=j:a.top=f(a.top-h,a.top)}},flip:{left:function(a,b){var c,d,e=b.within,f=e.offset.left+e.scrollLeft,h=e.width,i=e.isWindow?e.scrollLeft:e.offset.left,j=a.left-b.collisionPosition.marginLeft,k=j-i,l=j+b.collisionWidth-h-i,m="left"===b.my[0]?-b.elemWidth:"right"===b.my[0]?b.elemWidth:0,n="left"===b.at[0]?b.targetWidth:"right"===b.at[0]?-b.targetWidth:0,o=-2*b.offset[0];k<0?(c=a.left+m+n+o+b.collisionWidth-h-f,(c<0||c<g(k))&&(a.left+=m+n+o)):l>0&&(d=a.left-b.collisionPosition.marginLeft+m+n+o-i,(d>0||g(d)<l)&&(a.left+=m+n+o))},top:function(a,b){var c,d,e=b.within,f=e.offset.top+e.scrollTop,h=e.height,i=e.isWindow?e.scrollTop:e.offset.top,j=a.top-b.collisionPosition.marginTop,k=j-i,l=j+b.collisionHeight-h-i,m="top"===b.my[1],n=m?-b.elemHeight:"bottom"===b.my[1]?b.elemHeight:0,o="top"===b.at[1]?b.targetHeight:"bottom"===b.at[1]?-b.targetHeight:0,p=-2*b.offset[1];k<0?(d=a.top+n+o+p+b.collisionHeight-h-f,(d<0||d<g(k))&&(a.top+=n+o+p)):l>0&&(c=a.top-b.collisionPosition.marginTop+n+o+p-i,(c>0||g(c)<l)&&(a.top+=n+o+p))}},flipfit:{left:function(){a.ui.position.flip.left.apply(this,arguments),a.ui.position.fit.left.apply(this,arguments)},top:function(){a.ui.position.flip.top.apply(this,arguments),a.ui.position.fit.top.apply(this,arguments)}}}}();var k=(a.ui.position,a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])}}),a.fn.extend({disableSelection:function(){var a="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(a+".ui-disableSelection",function(a){a.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),"ui-effects-"),l="ui-effects-style",m="ui-effects-animated",n=a;a.effects={effect:{}},function(a,b){function c(a,b,c){var d=l[b.type]||{};return null==a?c||!b.def?null:b.def:(a=d.floor?~~a:parseFloat(a),isNaN(a)?b.def:d.mod?(a+d.mod)%d.mod:0>a?0:d.max<a?d.max:a)}function d(b){var c=j(),d=c._rgba=[];return b=b.toLowerCase(),o(i,function(a,e){var f,g=e.re.exec(b),h=g&&e.parse(g),i=e.space||"rgba";if(h)return f=c[i](h),c[k[i].cache]=f[k[i].cache],d=c._rgba=f._rgba,!1}),d.length?("0,0,0,0"===d.join()&&a.extend(d,f.transparent),c):f[b]}function e(a,b,c){return c=(c+1)%1,6*c<1?a+(b-a)*c*6:2*c<1?b:3*c<2?a+(b-a)*(2/3-c)*6:a}var f,g="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",h=/^([\-+])=\s*(\d+\.?\d*)/,i=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(a){return[a[1],a[2]/100,a[3]/100,a[4]]}}],j=a.Color=function(b,c,d,e){return new a.Color.fn.parse(b,c,d,e)},k={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},l={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},m=j.support={},n=a("<p>")[0],o=a.each;n.style.cssText="background-color:rgba(1,1,1,.5)",m.rgba=n.style.backgroundColor.indexOf("rgba")>-1,o(k,function(a,b){b.cache="_"+a,b.props.alpha={idx:3,type:"percent",def:1}}),j.fn=a.extend(j.prototype,{parse:function(e,g,h,i){if(e===b)return this._rgba=[null,null,null,null],this;(e.jquery||e.nodeType)&&(e=a(e).css(g),g=b);var l=this,m=a.type(e),n=this._rgba=[];return g!==b&&(e=[e,g,h,i],m="array"),"string"===m?this.parse(d(e)||f._default):"array"===m?(o(k.rgba.props,function(a,b){n[b.idx]=c(e[b.idx],b)}),this):"object"===m?(e instanceof j?o(k,function(a,b){e[b.cache]&&(l[b.cache]=e[b.cache].slice())}):o(k,function(b,d){var f=d.cache;o(d.props,function(a,b){if(!l[f]&&d.to){if("alpha"===a||null==e[a])return;l[f]=d.to(l._rgba)}l[f][b.idx]=c(e[a],b,!0)}),l[f]&&a.inArray(null,l[f].slice(0,3))<0&&(l[f][3]=1,d.from&&(l._rgba=d.from(l[f])))}),this):void 0},is:function(a){var b=j(a),c=!0,d=this;return o(k,function(a,e){var f,g=b[e.cache];return g&&(f=d[e.cache]||e.to&&e.to(d._rgba)||[],o(e.props,function(a,b){if(null!=g[b.idx])return c=g[b.idx]===f[b.idx]})),c}),c},_space:function(){var a=[],b=this;return o(k,function(c,d){b[d.cache]&&a.push(c)}),a.pop()},transition:function(a,b){var d=j(a),e=d._space(),f=k[e],g=0===this.alpha()?j("transparent"):this,h=g[f.cache]||f.to(g._rgba),i=h.slice();return d=d[f.cache],o(f.props,function(a,e){var f=e.idx,g=h[f],j=d[f],k=l[e.type]||{};null!==j&&(null===g?i[f]=j:(k.mod&&(j-g>k.mod/2?g+=k.mod:g-j>k.mod/2&&(g-=k.mod)),i[f]=c((j-g)*b+g,e)))}),this[e](i)},blend:function(b){if(1===this._rgba[3])return this;var c=this._rgba.slice(),d=c.pop(),e=j(b)._rgba;return j(a.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var b="rgba(",c=a.map(this._rgba,function(a,b){return null==a?b>2?1:0:a});return 1===c[3]&&(c.pop(),b="rgb("),b+c.join()+")"},toHslaString:function(){var b="hsla(",c=a.map(this.hsla(),function(a,b){return null==a&&(a=b>2?1:0),b&&b<3&&(a=Math.round(100*a)+"%"),a});return 1===c[3]&&(c.pop(),b="hsl("),b+c.join()+")"},toHexString:function(b){var c=this._rgba.slice(),d=c.pop();return b&&c.push(~~(255*d)),"#"+a.map(c,function(a){return a=(a||0).toString(16),1===a.length?"0"+a:a}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),j.fn.parse.prototype=j.fn,k.hsla.to=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b,c,d=a[0]/255,e=a[1]/255,f=a[2]/255,g=a[3],h=Math.max(d,e,f),i=Math.min(d,e,f),j=h-i,k=h+i,l=.5*k;return b=i===h?0:d===h?60*(e-f)/j+360:e===h?60*(f-d)/j+120:60*(d-e)/j+240,c=0===j?0:l<=.5?j/k:j/(2-k),[Math.round(b)%360,c,l,null==g?1:g]},k.hsla.from=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],f=a[3],g=d<=.5?d*(1+c):d+c-d*c,h=2*d-g;return[Math.round(255*e(h,g,b+1/3)),Math.round(255*e(h,g,b)),Math.round(255*e(h,g,b-1/3)),f]},o(k,function(d,e){var f=e.props,g=e.cache,i=e.to,k=e.from;j.fn[d]=function(d){if(i&&!this[g]&&(this[g]=i(this._rgba)),d===b)return this[g].slice();var e,h=a.type(d),l="array"===h||"object"===h?d:arguments,m=this[g].slice();return o(f,function(a,b){var d=l["object"===h?a:b.idx];null==d&&(d=m[b.idx]),m[b.idx]=c(d,b)}),k?(e=j(k(m)),e[g]=m,e):j(m)},o(f,function(b,c){j.fn[b]||(j.fn[b]=function(e){var f,g=a.type(e),i="alpha"===b?this._hsla?"hsla":"rgba":d,j=this[i](),k=j[c.idx];return"undefined"===g?k:("function"===g&&(e=e.call(this,k),g=a.type(e)),null==e&&c.empty?this:("string"===g&&(f=h.exec(e),f&&(e=k+parseFloat(f[2])*("+"===f[1]?1:-1))),j[c.idx]=e,this[i](j)))})})}),j.hook=function(b){var c=b.split(" ");o(c,function(b,c){a.cssHooks[c]={set:function(b,e){var f,g,h="";if("transparent"!==e&&("string"!==a.type(e)||(f=d(e)))){if(e=j(f||e),!m.rgba&&1!==e._rgba[3]){for(g="backgroundColor"===c?b.parentNode:b;(""===h||"transparent"===h)&&g&&g.style;)try{h=a.css(g,"backgroundColor"),g=g.parentNode}catch(i){}e=e.blend(h&&"transparent"!==h?h:"_default")}e=e.toRgbaString()}try{b.style[c]=e}catch(i){}}},a.fx.step[c]=function(b){b.colorInit||(b.start=j(b.elem,c),b.end=j(b.end),b.colorInit=!0),a.cssHooks[c].set(b.elem,b.start.transition(b.end,b.pos))}})},j.hook(g),a.cssHooks.borderColor={expand:function(a){var b={};return o(["Top","Right","Bottom","Left"],function(c,d){b["border"+d+"Color"]=a}),b}},f=a.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(n),function(){function b(b){var c,d,e=b.ownerDocument.defaultView?b.ownerDocument.defaultView.getComputedStyle(b,null):b.currentStyle,f={};if(e&&e.length&&e[0]&&e[e[0]])for(d=e.length;d--;)c=e[d],"string"==typeof e[c]&&(f[a.camelCase(c)]=e[c]);else for(c in e)"string"==typeof e[c]&&(f[c]=e[c]);return f}function c(b,c){var d,f,g={};for(d in c)f=c[d],b[d]!==f&&(e[d]||!a.fx.step[d]&&isNaN(parseFloat(f))||(g[d]=f));return g}var d=["add","remove","toggle"],e={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(b,c){a.fx.step[c]=function(a){("none"!==a.end&&!a.setAttr||1===a.pos&&!a.setAttr)&&(n.style(a.elem,c,a.end),a.setAttr=!0)}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a.effects.animateClass=function(e,f,g,h){var i=a.speed(f,g,h);return this.queue(function(){var f,g=a(this),h=g.attr("class")||"",j=i.children?g.find("*").addBack():g;j=j.map(function(){var c=a(this);return{el:c,start:b(this)}}),f=function(){a.each(d,function(a,b){e[b]&&g[b+"Class"](e[b])})},f(),j=j.map(function(){return this.end=b(this.el[0]),this.diff=c(this.start,this.end),this}),g.attr("class",h),j=j.map(function(){var b=this,c=a.Deferred(),d=a.extend({},i,{queue:!1,complete:function(){c.resolve(b)}});return this.el.animate(this.diff,d),c.promise()}),a.when.apply(a,j.get()).done(function(){f(),a.each(arguments,function(){var b=this.el;a.each(this.diff,function(a){b.css(a,"")})}),i.complete.call(g[0])})})},a.fn.extend({addClass:function(b){return function(c,d,e,f){return d?a.effects.animateClass.call(this,{add:c},d,e,f):b.apply(this,arguments)}}(a.fn.addClass),removeClass:function(b){return function(c,d,e,f){return arguments.length>1?a.effects.animateClass.call(this,{remove:c},d,e,f):b.apply(this,arguments)}}(a.fn.removeClass),toggleClass:function(b){return function(c,d,e,f,g){return"boolean"==typeof d||void 0===d?e?a.effects.animateClass.call(this,d?{add:c}:{remove:c},e,f,g):b.apply(this,arguments):a.effects.animateClass.call(this,{toggle:c},d,e,f)}}(a.fn.toggleClass),switchClass:function(b,c,d,e,f){return a.effects.animateClass.call(this,{add:c,remove:b},d,e,f)}})}(),function(){function b(b,c,d,e){return a.isPlainObject(b)&&(c=b,b=b.effect),b={effect:b},null==c&&(c={}),a.isFunction(c)&&(e=c,d=null,c={}),("number"==typeof c||a.fx.speeds[c])&&(e=d,d=c,c={}),a.isFunction(d)&&(e=d,d=null),c&&a.extend(b,c),d=d||c.duration,b.duration=a.fx.off?0:"number"==typeof d?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,b.complete=e||c.complete,b}function c(b){return!(b&&"number"!=typeof b&&!a.fx.speeds[b])||("string"==typeof b&&!a.effects.effect[b]||(!!a.isFunction(b)||"object"==typeof b&&!b.effect))}function d(a,b){var c=b.outerWidth(),d=b.outerHeight(),e=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,f=e.exec(a)||["",0,c,d,0];return{top:parseFloat(f[1])||0,right:"auto"===f[2]?c:parseFloat(f[2]),bottom:"auto"===f[3]?d:parseFloat(f[3]),left:parseFloat(f[4])||0}}a.expr&&a.expr.filters&&a.expr.filters.animated&&(a.expr.filters.animated=function(b){return function(c){return!!a(c).data(m)||b(c)}}(a.expr.filters.animated)),a.uiBackCompat!==!1&&a.extend(a.effects,{save:function(a,b){for(var c=0,d=b.length;c<d;c++)null!==b[c]&&a.data(k+b[c],a[0].style[b[c]])},restore:function(a,b){for(var c,d=0,e=b.length;d<e;d++)null!==b[d]&&(c=a.data(k+b[d]),a.css(b[d],c))},setMode:function(a,b){return"toggle"===b&&(b=a.is(":hidden")?"show":"hide"),b},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:b.width(),height:b.height()},f=document.activeElement;try{f.id}catch(g){f=document.body}return b.wrap(d),(b[0]===f||a.contains(b[0],f))&&a(f).trigger("focus"),d=b.parent(),"static"===b.css("position")?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),b.css(e),d.css(c).show()},removeWrapper:function(b){var c=document.activeElement;return b.parent().is(".ui-effects-wrapper")&&(b.parent().replaceWith(b),(b[0]===c||a.contains(b[0],c))&&a(c).trigger("focus")),b}}),a.extend(a.effects,{version:"1.12.1",define:function(b,c,d){return d||(d=c,c="effect"),a.effects.effect[b]=d,a.effects.effect[b].mode=c,d},scaledDimensions:function(a,b,c){if(0===b)return{height:0,width:0,outerHeight:0,outerWidth:0};var d="horizontal"!==c?(b||100)/100:1,e="vertical"!==c?(b||100)/100:1;return{height:a.height()*e,width:a.width()*d,outerHeight:a.outerHeight()*e,outerWidth:a.outerWidth()*d}},clipToBox:function(a){return{width:a.clip.right-a.clip.left,height:a.clip.bottom-a.clip.top,left:a.clip.left,top:a.clip.top}},unshift:function(a,b,c){var d=a.queue();b>1&&d.splice.apply(d,[1,0].concat(d.splice(b,c))),a.dequeue()},saveStyle:function(a){a.data(l,a[0].style.cssText)},restoreStyle:function(a){a[0].style.cssText=a.data(l)||"",a.removeData(l)},mode:function(a,b){var c=a.is(":hidden");return"toggle"===b&&(b=c?"show":"hide"),(c?"hide"===b:"show"===b)&&(b="none"),b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createPlaceholder:function(b){var c,d=b.css("position"),e=b.position();return b.css({marginTop:b.css("marginTop"),marginBottom:b.css("marginBottom"),marginLeft:b.css("marginLeft"),marginRight:b.css("marginRight")}).outerWidth(b.outerWidth()).outerHeight(b.outerHeight()),/^(static|relative)/.test(d)&&(d="absolute",c=a("<"+b[0].nodeName+">").insertAfter(b).css({display:/^(inline|ruby)/.test(b.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:b.css("marginTop"),marginBottom:b.css("marginBottom"),marginLeft:b.css("marginLeft"),marginRight:b.css("marginRight"),"float":b.css("float")}).outerWidth(b.outerWidth()).outerHeight(b.outerHeight()).addClass("ui-effects-placeholder"),b.data(k+"placeholder",c)),b.css({position:d,left:e.left,top:e.top}),c},removePlaceholder:function(a){var b=k+"placeholder",c=a.data(b);c&&(c.remove(),a.removeData(b))},cleanUp:function(b){a.effects.restoreStyle(b),a.effects.removePlaceholder(b)},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(){function c(b){function c(){h.removeData(m),a.effects.cleanUp(h),"hide"===d.mode&&h.hide(),g()}function g(){a.isFunction(i)&&i.call(h[0]),a.isFunction(b)&&b()}var h=a(this);d.mode=k.shift(),a.uiBackCompat===!1||f?"none"===d.mode?(h[j](),g()):e.call(h[0],d,c):(h.is(":hidden")?"hide"===j:"show"===j)?(h[j](),g()):e.call(h[0],d,g)}var d=b.apply(this,arguments),e=a.effects.effect[d.effect],f=e.mode,g=d.queue,h=g||"fx",i=d.complete,j=d.mode,k=[],l=function(b){var c=a(this),d=a.effects.mode(c,j)||f;c.data(m,!0),k.push(d),f&&("show"===d||d===f&&"hide"===d)&&c.show(),f&&"none"===d||a.effects.saveStyle(c),a.isFunction(b)&&b()};return a.fx.off||!e?j?this[j](d.duration,i):this.each(function(){i&&i.call(this)}):g===!1?this.each(l).each(c):this.queue(h,l).queue(h,c)},show:function(a){return function(d){if(c(d))return a.apply(this,arguments);var e=b.apply(this,arguments);return e.mode="show",this.effect.call(this,e)}}(a.fn.show),hide:function(a){return function(d){if(c(d))return a.apply(this,arguments);var e=b.apply(this,arguments);return e.mode="hide",this.effect.call(this,e)}}(a.fn.hide),toggle:function(a){return function(d){if(c(d)||"boolean"==typeof d)return a.apply(this,arguments);var e=b.apply(this,arguments);return e.mode="toggle",this.effect.call(this,e)}}(a.fn.toggle),cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d},cssClip:function(a){return a?this.css("clip","rect("+a.top+"px "+a.right+"px "+a.bottom+"px "+a.left+"px)"):d(this.css("clip"),this)},transfer:function(b,c){var d=a(this),e=a(b.to),f="fixed"===e.css("position"),g=a("body"),h=f?g.scrollTop():0,i=f?g.scrollLeft():0,j=e.offset(),k={top:j.top-h,left:j.left-i,height:e.innerHeight(),width:e.innerWidth()},l=d.offset(),m=a("<div class='ui-effects-transfer'></div>").appendTo("body").addClass(b.className).css({top:l.top-h,left:l.left-i,height:d.innerHeight(),width:d.innerWidth(),position:f?"fixed":"absolute"}).animate(k,b.duration,b.easing,function(){m.remove(),a.isFunction(c)&&c()})}}),a.fx.step.clip=function(b){b.clipInit||(b.start=a(b.elem).cssClip(),"string"==typeof b.end&&(b.end=d(b.end,b.elem)),b.clipInit=!0),a(b.elem).cssClip({top:b.pos*(b.end.top-b.start.top)+b.start.top,right:b.pos*(b.end.right-b.start.right)+b.start.right,bottom:b.pos*(b.end.bottom-b.start.bottom)+b.start.bottom,left:b.pos*(b.end.left-b.start.left)+b.start.left})}}(),function(){var b={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,c){b[c]=function(b){return Math.pow(b,a+2)}}),a.extend(b,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return 0===a||1===a?a:-Math.pow(2,8*(a-1))*Math.sin((80*(a-1)-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){for(var b,c=4;a<((b=Math.pow(2,--c))-1)/11;);return 1/Math.pow(4,3-c)-7.5625*Math.pow((3*b-2)/22-a,2)}}),a.each(b,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return a<.5?c(2*a)/2:1-c(a*-2+2)/2}})}();var o,o=a.effects;a.effects.define("blind","hide",function(b,c){var d={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},e=a(this),f=b.direction||"up",g=e.cssClip(),h={clip:a.extend({},g)},i=a.effects.createPlaceholder(e);h.clip[d[f][0]]=h.clip[d[f][1]],"show"===b.mode&&(e.cssClip(h.clip),i&&i.css(a.effects.clipToBox(h)),h.clip=g),i&&i.animate(a.effects.clipToBox(h),b.duration,b.easing),e.animate(h,{queue:!1,duration:b.duration,easing:b.easing,complete:c})}),a.effects.define("bounce",function(b,c){var d,e,f,g=a(this),h=b.mode,i="hide"===h,j="show"===h,k=b.direction||"up",l=b.distance,m=b.times||5,n=2*m+(j||i?1:0),o=b.duration/n,p=b.easing,q="up"===k||"down"===k?"top":"left",r="up"===k||"left"===k,s=0,t=g.queue().length;for(a.effects.createPlaceholder(g),f=g.css(q),l||(l=g["top"===q?"outerHeight":"outerWidth"]()/3),j&&(e={opacity:1},e[q]=f,g.css("opacity",0).css(q,r?2*-l:2*l).animate(e,o,p)),i&&(l/=Math.pow(2,m-1)),e={},e[q]=f;s<m;s++)d={},d[q]=(r?"-=":"+=")+l,g.animate(d,o,p).animate(e,o,p),l=i?2*l:l/2;i&&(d={opacity:0},d[q]=(r?"-=":"+=")+l,g.animate(d,o,p)),g.queue(c),a.effects.unshift(g,t,n+1)}),a.effects.define("clip","hide",function(b,c){var d,e={},f=a(this),g=b.direction||"vertical",h="both"===g,i=h||"horizontal"===g,j=h||"vertical"===g;d=f.cssClip(),e.clip={top:j?(d.bottom-d.top)/2:d.top,right:i?(d.right-d.left)/2:d.right,bottom:j?(d.bottom-d.top)/2:d.bottom,left:i?(d.right-d.left)/2:d.left},a.effects.createPlaceholder(f),"show"===b.mode&&(f.cssClip(e.clip),e.clip=d),f.animate(e,{queue:!1,duration:b.duration,easing:b.easing,
+complete:c})}),a.effects.define("drop","hide",function(b,c){var d,e=a(this),f=b.mode,g="show"===f,h=b.direction||"left",i="up"===h||"down"===h?"top":"left",j="up"===h||"left"===h?"-=":"+=",k="+="===j?"-=":"+=",l={opacity:0};a.effects.createPlaceholder(e),d=b.distance||e["top"===i?"outerHeight":"outerWidth"](!0)/2,l[i]=j+d,g&&(e.css(l),l[i]=k+d,l.opacity=1),e.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:c})}),a.effects.define("explode","hide",function(b,c){function d(){t.push(this),t.length===l*m&&e()}function e(){n.css({visibility:"visible"}),a(t).remove(),c()}var f,g,h,i,j,k,l=b.pieces?Math.round(Math.sqrt(b.pieces)):3,m=l,n=a(this),o=b.mode,p="show"===o,q=n.show().css("visibility","hidden").offset(),r=Math.ceil(n.outerWidth()/m),s=Math.ceil(n.outerHeight()/l),t=[];for(f=0;f<l;f++)for(i=q.top+f*s,k=f-(l-1)/2,g=0;g<m;g++)h=q.left+g*r,j=g-(m-1)/2,n.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-g*r,top:-f*s}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:r,height:s,left:h+(p?j*r:0),top:i+(p?k*s:0),opacity:p?0:1}).animate({left:h+(p?0:j*r),top:i+(p?0:k*s),opacity:p?1:0},b.duration||500,b.easing,d)}),a.effects.define("fade","toggle",function(b,c){var d="show"===b.mode;a(this).css("opacity",d?0:1).animate({opacity:d?1:0},{queue:!1,duration:b.duration,easing:b.easing,complete:c})}),a.effects.define("fold","hide",function(b,c){var d=a(this),e=b.mode,f="show"===e,g="hide"===e,h=b.size||15,i=/([0-9]+)%/.exec(h),j=!!b.horizFirst,k=j?["right","bottom"]:["bottom","right"],l=b.duration/2,m=a.effects.createPlaceholder(d),n=d.cssClip(),o={clip:a.extend({},n)},p={clip:a.extend({},n)},q=[n[k[0]],n[k[1]]],r=d.queue().length;i&&(h=parseInt(i[1],10)/100*q[g?0:1]),o.clip[k[0]]=h,p.clip[k[0]]=h,p.clip[k[1]]=0,f&&(d.cssClip(p.clip),m&&m.css(a.effects.clipToBox(p)),p.clip=n),d.queue(function(c){m&&m.animate(a.effects.clipToBox(o),l,b.easing).animate(a.effects.clipToBox(p),l,b.easing),c()}).animate(o,l,b.easing).animate(p,l,b.easing).queue(c),a.effects.unshift(d,r,4)}),a.effects.define("highlight","show",function(b,c){var d=a(this),e={backgroundColor:d.css("backgroundColor")};"hide"===b.mode&&(e.opacity=0),a.effects.saveStyle(d),d.css({backgroundImage:"none",backgroundColor:b.color||"#ffff99"}).animate(e,{queue:!1,duration:b.duration,easing:b.easing,complete:c})}),a.effects.define("size",function(b,c){var d,e,f,g=a(this),h=["fontSize"],i=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],j=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],k=b.mode,l="effect"!==k,m=b.scale||"both",n=b.origin||["middle","center"],o=g.css("position"),p=g.position(),q=a.effects.scaledDimensions(g),r=b.from||q,s=b.to||a.effects.scaledDimensions(g,0);a.effects.createPlaceholder(g),"show"===k&&(f=r,r=s,s=f),e={from:{y:r.height/q.height,x:r.width/q.width},to:{y:s.height/q.height,x:s.width/q.width}},"box"!==m&&"both"!==m||(e.from.y!==e.to.y&&(r=a.effects.setTransition(g,i,e.from.y,r),s=a.effects.setTransition(g,i,e.to.y,s)),e.from.x!==e.to.x&&(r=a.effects.setTransition(g,j,e.from.x,r),s=a.effects.setTransition(g,j,e.to.x,s))),"content"!==m&&"both"!==m||e.from.y!==e.to.y&&(r=a.effects.setTransition(g,h,e.from.y,r),s=a.effects.setTransition(g,h,e.to.y,s)),n&&(d=a.effects.getBaseline(n,q),r.top=(q.outerHeight-r.outerHeight)*d.y+p.top,r.left=(q.outerWidth-r.outerWidth)*d.x+p.left,s.top=(q.outerHeight-s.outerHeight)*d.y+p.top,s.left=(q.outerWidth-s.outerWidth)*d.x+p.left),g.css(r),"content"!==m&&"both"!==m||(i=i.concat(["marginTop","marginBottom"]).concat(h),j=j.concat(["marginLeft","marginRight"]),g.find("*[width]").each(function(){var c=a(this),d=a.effects.scaledDimensions(c),f={height:d.height*e.from.y,width:d.width*e.from.x,outerHeight:d.outerHeight*e.from.y,outerWidth:d.outerWidth*e.from.x},g={height:d.height*e.to.y,width:d.width*e.to.x,outerHeight:d.height*e.to.y,outerWidth:d.width*e.to.x};e.from.y!==e.to.y&&(f=a.effects.setTransition(c,i,e.from.y,f),g=a.effects.setTransition(c,i,e.to.y,g)),e.from.x!==e.to.x&&(f=a.effects.setTransition(c,j,e.from.x,f),g=a.effects.setTransition(c,j,e.to.x,g)),l&&a.effects.saveStyle(c),c.css(f),c.animate(g,b.duration,b.easing,function(){l&&a.effects.restoreStyle(c)})})),g.animate(s,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){var b=g.offset();0===s.opacity&&g.css("opacity",r.opacity),l||(g.css("position","static"===o?"relative":o).offset(b),a.effects.saveStyle(g)),c()}})}),a.effects.define("scale",function(b,c){var d=a(this),e=b.mode,f=parseInt(b.percent,10)||(0===parseInt(b.percent,10)?0:"effect"!==e?0:100),g=a.extend(!0,{from:a.effects.scaledDimensions(d),to:a.effects.scaledDimensions(d,f,b.direction||"both"),origin:b.origin||["middle","center"]},b);b.fade&&(g.from.opacity=1,g.to.opacity=0),a.effects.effect.size.call(this,g,c)}),a.effects.define("puff","hide",function(b,c){var d=a.extend(!0,{},b,{fade:!0,percent:parseInt(b.percent,10)||150});a.effects.effect.scale.call(this,d,c)}),a.effects.define("pulsate","show",function(b,c){var d=a(this),e=b.mode,f="show"===e,g="hide"===e,h=f||g,i=2*(b.times||5)+(h?1:0),j=b.duration/i,k=0,l=1,m=d.queue().length;for(!f&&d.is(":visible")||(d.css("opacity",0).show(),k=1);l<i;l++)d.animate({opacity:k},j,b.easing),k=1-k;d.animate({opacity:k},j,b.easing),d.queue(c),a.effects.unshift(d,m,i+1)}),a.effects.define("shake",function(b,c){var d=1,e=a(this),f=b.direction||"left",g=b.distance||20,h=b.times||3,i=2*h+1,j=Math.round(b.duration/i),k="up"===f||"down"===f?"top":"left",l="up"===f||"left"===f,m={},n={},o={},p=e.queue().length;for(a.effects.createPlaceholder(e),m[k]=(l?"-=":"+=")+g,n[k]=(l?"+=":"-=")+2*g,o[k]=(l?"-=":"+=")+2*g,e.animate(m,j,b.easing);d<h;d++)e.animate(n,j,b.easing).animate(o,j,b.easing);e.animate(n,j,b.easing).animate(m,j/2,b.easing).queue(c),a.effects.unshift(e,p,i+1)}),a.effects.define("slide","show",function(b,c){var d,e,f=a(this),g={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},h=b.mode,i=b.direction||"left",j="up"===i||"down"===i?"top":"left",k="up"===i||"left"===i,l=b.distance||f["top"===j?"outerHeight":"outerWidth"](!0),m={};a.effects.createPlaceholder(f),d=f.cssClip(),e=f.position()[j],m[j]=(k?-1:1)*l+e,m.clip=f.cssClip(),m.clip[g[i][1]]=m.clip[g[i][0]],"show"===h&&(f.cssClip(m.clip),f.css(j,m[j]),m.clip=d,m[j]=e),f.animate(m,{queue:!1,duration:b.duration,easing:b.easing,complete:c})});a.uiBackCompat!==!1&&(o=a.effects.define("transfer",function(b,c){a(this).transfer(b,c)}));a.ui.focusable=function(c,d){var e,f,g,h,i,j=c.nodeName.toLowerCase();return"area"===j?(e=c.parentNode,f=e.name,!(!c.href||!f||"map"!==e.nodeName.toLowerCase())&&(g=a("img[usemap='#"+f+"']"),g.length>0&&g.is(":visible"))):(/^(input|select|textarea|button|object)$/.test(j)?(h=!c.disabled,h&&(i=a(c).closest("fieldset")[0],i&&(h=!i.disabled))):h="a"===j?c.href||d:d,h&&a(c).is(":visible")&&b(a(c)))},a.extend(a.expr[":"],{focusable:function(b){return a.ui.focusable(b,null!=a.attr(b,"tabindex"))}});a.ui.focusable,a.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):a(this[0].form)},a.ui.formResetMixin={_formResetHandler:function(){var b=a(this);setTimeout(function(){var c=b.data("ui-form-reset-instances");a.each(c,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var a=this.form.data("ui-form-reset-instances")||[];a.length||this.form.on("reset.ui-form-reset",this._formResetHandler),a.push(this),this.form.data("ui-form-reset-instances",a)}},_unbindFormResetHandler:function(){if(this.form.length){var b=this.form.data("ui-form-reset-instances");b.splice(a.inArray(this,b),1),b.length?this.form.data("ui-form-reset-instances",b):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}};"1.7"===a.fn.jquery.substring(0,3)&&(a.each(["Width","Height"],function(b,c){function d(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),f&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var e="Width"===c?["Left","Right"]:["Top","Bottom"],f=c.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+c]=function(b){return void 0===b?g["inner"+c].call(this):this.each(function(){a(this).css(f,d(this,b)+"px")})},a.fn["outer"+c]=function(b,e){return"number"!=typeof b?g["outer"+c].call(this,b):this.each(function(){a(this).css(f,d(this,b,!0,e)+"px")})}}),a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))});a.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},a.ui.escapeSelector=function(){var a=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(b){return b.replace(a,"\\$1")}}(),a.fn.labels=function(){var b,c,d,e,f;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(e=this.eq(0).parents("label"),d=this.attr("id"),d&&(b=this.eq(0).parents().last(),f=b.add(b.length?b.siblings():this.siblings()),c="label[for='"+a.ui.escapeSelector(d)+"']",e=e.add(f.find(c).addBack(c))),this.pushStack(e))},a.fn.scrollParent=function(b){var c=this.css("position"),d="absolute"===c,e=b?/(auto|scroll|hidden)/:/(auto|scroll)/,f=this.parents().filter(function(){var b=a(this);return(!d||"static"!==b.css("position"))&&e.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&f.length?f:a(this[0].ownerDocument||document)},a.extend(a.expr[":"],{tabbable:function(b){var c=a.attr(b,"tabindex"),d=null!=c;return(!d||c>=0)&&a.ui.focusable(b,d)}}),a.fn.extend({uniqueId:function(){var a=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&a(this).removeAttr("id")})}}),a.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var b=this.options;this.prevShow=this.prevHide=a(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),b.collapsible||b.active!==!1&&null!=b.active||(b.active=0),this._processPanels(),b.active<0&&(b.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():a()}},_createIcons:function(){var b,c,d=this.options.icons;d&&(b=a("<span>"),this._addClass(b,"ui-accordion-header-icon","ui-icon "+d.header),b.prependTo(this.headers),c=this.active.children(".ui-accordion-header-icon"),this._removeClass(c,d.header)._addClass(c,null,d.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var a;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),a=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&a.css("height","")},_setOption:function(a,b){return"active"===a?void this._activate(b):("event"===a&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(b)),this._super(a,b),"collapsible"!==a||b||this.options.active!==!1||this._activate(0),void("icons"===a&&(this._destroyIcons(),b&&this._createIcons())))},_setOptionDisabled:function(a){this._super(a),this.element.attr("aria-disabled",a),this._toggleClass(null,"ui-state-disabled",!!a),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!a)},_keydown:function(b){if(!b.altKey&&!b.ctrlKey){var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._eventHandler(b);break;case c.HOME:f=this.headers[0];break;case c.END:f=this.headers[d-1]}f&&(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),a(f).trigger("focus"),b.preventDefault())}},_panelKeyDown:function(b){b.keyCode===a.ui.keyCode.UP&&b.ctrlKey&&a(b.currentTarget).prev().trigger("focus")},refresh:function(){var b=this.options;this._processPanels(),b.active===!1&&b.collapsible===!0||!this.headers.length?(b.active=!1,this.active=a()):b.active===!1?this._activate(0):this.active.length&&!a.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(b.active=!1,this.active=a()):this._activate(Math.max(0,b.active-1)):b.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var a=this.headers,b=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),b&&(this._off(a.not(this.headers)),this._off(b.not(this.panels)))},_refresh:function(){var b,c=this.options,d=c.heightStyle,e=this.element.parent();this.active=this._findActive(c.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var b=a(this),c=b.uniqueId().attr("id"),d=b.next(),e=d.uniqueId().attr("id");b.attr("aria-controls",e),d.attr("aria-labelledby",c)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(c.event),"fill"===d?(b=e.height(),this.element.siblings(":visible").each(function(){var c=a(this),d=c.css("position");"absolute"!==d&&"fixed"!==d&&(b-=c.outerHeight(!0))}),this.headers.each(function(){b-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,b-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===d&&(b=0,this.headers.next().each(function(){var c=a(this).is(":visible");c||a(this).show(),b=Math.max(b,a(this).css("height","").height()),c||a(this).hide()}).height(b))},_activate:function(b){var c=this._findActive(b)[0];c!==this.active[0]&&(c=c||this.active[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return"number"==typeof b?this.headers.eq(b):a()},_setupEvents:function(b){var c={keydown:"_keydown"};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,c),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(b){var c,d,e=this.options,f=this.active,g=a(b.currentTarget),h=g[0]===f[0],i=h&&e.collapsible,j=i?a():g.next(),k=f.next(),l={oldHeader:f,oldPanel:k,newHeader:i?a():g,newPanel:j};b.preventDefault(),h&&!e.collapsible||this._trigger("beforeActivate",b,l)===!1||(e.active=!i&&this.headers.index(g),this.active=h?a():g,this._toggle(l),this._removeClass(f,"ui-accordion-header-active","ui-state-active"),e.icons&&(c=f.children(".ui-accordion-header-icon"),this._removeClass(c,null,e.icons.activeHeader)._addClass(c,null,e.icons.header)),h||(this._removeClass(g,"ui-accordion-header-collapsed")._addClass(g,"ui-accordion-header-active","ui-state-active"),e.icons&&(d=g.children(".ui-accordion-header-icon"),this._removeClass(d,null,e.icons.header)._addClass(d,null,e.icons.activeHeader)),this._addClass(g.next(),"ui-accordion-content-active")))},_toggle:function(b){var c=b.newPanel,d=this.prevShow.length?this.prevShow:b.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=c,this.prevHide=d,this.options.animate?this._animate(c,d,b):(d.hide(),c.show(),this._toggleComplete(b)),d.attr({"aria-hidden":"true"}),d.prev().attr({"aria-selected":"false","aria-expanded":"false"}),c.length&&d.length?d.prev().attr({tabIndex:-1,"aria-expanded":"false"}):c.length&&this.headers.filter(function(){return 0===parseInt(a(this).attr("tabIndex"),10)}).attr("tabIndex",-1),c.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(a,b,c){var d,e,f,g=this,h=0,i=a.css("box-sizing"),j=a.length&&(!b.length||a.index()<b.index()),k=this.options.animate||{},l=j&&k.down||k,m=function(){g._toggleComplete(c)};return"number"==typeof l&&(f=l),"string"==typeof l&&(e=l),e=e||l.easing||k.easing,f=f||l.duration||k.duration,b.length?a.length?(d=a.show().outerHeight(),b.animate(this.hideProps,{duration:f,easing:e,step:function(a,b){b.now=Math.round(a)}}),void a.hide().animate(this.showProps,{duration:f,easing:e,complete:m,step:function(a,c){c.now=Math.round(a),"height"!==c.prop?"content-box"===i&&(h+=c.now):"content"!==g.options.heightStyle&&(c.now=Math.round(d-b.outerHeight()-h),h=0)}})):b.animate(this.hideProps,f,e,m):a.animate(this.showProps,f,e,m)},_toggleComplete:function(a){var b=a.oldPanel,c=b.prev();this._removeClass(b,"ui-accordion-content-active"),this._removeClass(c,"ui-accordion-header-active")._addClass(c,"ui-accordion-header-collapsed"),b.length&&(b.parent()[0].className=b.parent()[0].className),this._trigger("activate",null,a)}}),a.ui.safeActiveElement=function(a){var b;try{b=a.activeElement}catch(c){b=a.body}return b||(b=a.body),b.nodeName||(b=a.body),b},a.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(a){a.preventDefault()},"click .ui-menu-item":function(b){var c=a(b.target),d=a(a.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&c.not(".ui-state-disabled").length&&(this.select(b),b.isPropagationStopped()||(this.mouseHandled=!0),c.has(".ui-menu").length?this.expand(b):!this.element.is(":focus")&&d.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(b){if(!this.previousFilter){var c=a(b.target).closest(".ui-menu-item"),d=a(b.currentTarget);c[0]===d[0]&&(this._removeClass(d.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(b,d))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(a,b){var c=this.active||this.element.find(this.options.items).eq(0);b||this.focus(a,c)},blur:function(b){this._delay(function(){var c=!a.contains(this.element[0],a.ui.safeActiveElement(this.document[0]));c&&this.collapseAll(b)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(a){this._closeOnDocumentClick(a)&&this.collapseAll(a),this.mouseHandled=!1}})},_destroy:function(){var b=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),c=b.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),c.children().each(function(){var b=a(this);b.data("ui-menu-submenu-caret")&&b.remove()})},_keydown:function(b){var c,d,e,f,g=!0;switch(b.keyCode){case a.ui.keyCode.PAGE_UP:this.previousPage(b);break;case a.ui.keyCode.PAGE_DOWN:this.nextPage(b);break;case a.ui.keyCode.HOME:this._move("first","first",b);break;case a.ui.keyCode.END:this._move("last","last",b);break;case a.ui.keyCode.UP:this.previous(b);break;case a.ui.keyCode.DOWN:this.next(b);break;case a.ui.keyCode.LEFT:this.collapse(b);break;case a.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(b);break;case a.ui.keyCode.ENTER:case a.ui.keyCode.SPACE:this._activate(b);break;case a.ui.keyCode.ESCAPE:this.collapse(b);break;default:g=!1,d=this.previousFilter||"",f=!1,e=b.keyCode>=96&&b.keyCode<=105?(b.keyCode-96).toString():String.fromCharCode(b.keyCode),clearTimeout(this.filterTimer),e===d?f=!0:e=d+e,c=this._filterMenuItems(e),c=f&&c.index(this.active.next())!==-1?this.active.nextAll(".ui-menu-item"):c,c.length||(e=String.fromCharCode(b.keyCode),c=this._filterMenuItems(e)),c.length?(this.focus(b,c),this.previousFilter=e,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}g&&b.preventDefault()},_activate:function(a){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(a):this.select(a))},refresh:function(){var b,c,d,e,f,g=this,h=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),d=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var b=a(this),c=b.prev(),d=a("<span>").data("ui-menu-submenu-caret",!0);g._addClass(d,"ui-menu-icon","ui-icon "+h),c.attr("aria-haspopup","true").prepend(d),b.attr("aria-labelledby",c.attr("id"))}),this._addClass(d,"ui-menu","ui-widget ui-widget-content ui-front"),b=i.add(this.element),c=b.find(this.options.items),c.not(".ui-menu-item").each(function(){var b=a(this);g._isDivider(b)&&g._addClass(b,"ui-menu-divider","ui-widget-content")}),e=c.not(".ui-menu-item, .ui-menu-divider"),f=e.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(f,"ui-menu-item-wrapper"),c.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!a.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(a,b){if("icons"===a){var c=this.element.find(".ui-menu-icon");this._removeClass(c,null,this.options.icons.submenu)._addClass(c,null,b.submenu)}this._super(a,b)},_setOptionDisabled:function(a){this._super(a),this.element.attr("aria-disabled",String(a)),this._toggleClass(null,"ui-state-disabled",!!a)},focus:function(a,b){var c,d,e;this.blur(a,a&&"focus"===a.type),this._scrollIntoView(b),this.active=b.first(),d=this.active.children(".ui-menu-item-wrapper"),this._addClass(d,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",d.attr("id")),e=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(e,null,"ui-state-active"),a&&"keydown"===a.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),c=b.children(".ui-menu"),c.length&&a&&/^mouse/.test(a.type)&&this._startOpening(c),this.activeMenu=b.parent(),this._trigger("focus",a,{item:b})},_scrollIntoView:function(b){var c,d,e,f,g,h;this._hasScroll()&&(c=parseFloat(a.css(this.activeMenu[0],"borderTopWidth"))||0,d=parseFloat(a.css(this.activeMenu[0],"paddingTop"))||0,e=b.offset().top-this.activeMenu.offset().top-c-d,f=this.activeMenu.scrollTop(),g=this.activeMenu.height(),h=b.outerHeight(),e<0?this.activeMenu.scrollTop(f+e):e+h>g&&this.activeMenu.scrollTop(f+e-g+h))},blur:function(a,b){b||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",a,{item:this.active}),this.active=null)},_startOpening:function(a){clearTimeout(this.timer),"true"===a.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(a)},this.delay))},_open:function(b){var c=a.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(b.parents(".ui-menu")).hide().attr("aria-hidden","true"),b.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(c)},collapseAll:function(b,c){clearTimeout(this.timer),this.timer=this._delay(function(){var d=c?this.element:a(b&&b.target).closest(this.element.find(".ui-menu"));d.length||(d=this.element),this._close(d),this.blur(b),this._removeClass(d.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=d},this.delay)},_close:function(a){a||(a=this.active?this.active.parent():this.element),a.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(b){return!a(b.target).closest(".ui-menu").length},_isDivider:function(a){return!/[^\-\u2014\u2013\s]/.test(a.text())},collapse:function(a){var b=this.active&&this.active.parent().closest(".ui-menu-item",this.element);b&&b.length&&(this._close(),this.focus(a,b))},expand:function(a){var b=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();b&&b.length&&(this._open(b.parent()),this._delay(function(){this.focus(a,b)}))},next:function(a){this._move("next","first",a)},previous:function(a){this._move("prev","last",a)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(a,b,c){var d;this.active&&(d="first"===a||"last"===a?this.active["first"===a?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[a+"All"](".ui-menu-item").eq(0)),d&&d.length&&this.active||(d=this.activeMenu.find(this.options.items)[b]()),this.focus(c,d)},nextPage:function(b){var c,d,e;return this.active?void(this.isLastItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d-e<0}),this.focus(b,c)):this.focus(b,this.activeMenu.find(this.options.items)[this.active?"last":"first"]()))):void this.next(b)},previousPage:function(b){var c,d,e;return this.active?void(this.isFirstItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d+e>0}),this.focus(b,c)):this.focus(b,this.activeMenu.find(this.options.items).first()))):void this.next(b)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(b){this.active=this.active||a(b.target).closest(".ui-menu-item");var c={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(b,!0),this._trigger("select",b,c)},_filterMenuItems:function(b){var c=b.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),d=new RegExp("^"+c,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return d.test(a.trim(a(this).children(".ui-menu-item-wrapper").text()))})}});a.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var b,c,d,e=this.element[0].nodeName.toLowerCase(),f="textarea"===e,g="input"===e;this.isMultiLine=f||!g&&this._isContentEditable(this.element),this.valueMethod=this.element[f||g?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(e){if(this.element.prop("readOnly"))return b=!0,d=!0,void(c=!0);b=!1,d=!1,c=!1;var f=a.ui.keyCode;switch(e.keyCode){case f.PAGE_UP:b=!0,this._move("previousPage",e);break;case f.PAGE_DOWN:b=!0,this._move("nextPage",e);break;case f.UP:b=!0,this._keyEvent("previous",e);break;case f.DOWN:b=!0,this._keyEvent("next",e);break;case f.ENTER:this.menu.active&&(b=!0,e.preventDefault(),this.menu.select(e));break;case f.TAB:this.menu.active&&this.menu.select(e);break;case f.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(e),e.preventDefault());break;default:c=!0,this._searchTimeout(e)}},keypress:function(d){if(b)return b=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||d.preventDefault());if(!c){var e=a.ui.keyCode;switch(d.keyCode){case e.PAGE_UP:this._move("previousPage",d);break;case e.PAGE_DOWN:this._move("nextPage",d);break;case e.UP:this._keyEvent("previous",d);break;case e.DOWN:this._keyEvent("next",d)}}},input:function(a){return d?(d=!1,void a.preventDefault()):void this._searchTimeout(a)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(clearTimeout(this.searching),this.close(a),void this._change(a))}}),this._initSource(),this.menu=a("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(b){b.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==a.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(b,c){var d,e;return this.isNewMenu&&(this.isNewMenu=!1,b.originalEvent&&/^mouse/.test(b.originalEvent.type))?(this.menu.blur(),void this.document.one("mousemove",function(){a(b.target).trigger(b.originalEvent)})):(e=c.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",b,{item:e})&&b.originalEvent&&/^key/.test(b.originalEvent.type)&&this._value(e.value),d=c.item.attr("aria-label")||e.value,void(d&&a.trim(d).length&&(this.liveRegion.children().hide(),a("<div>").text(d).appendTo(this.liveRegion))))},menuselect:function(b,c){var d=c.item.data("ui-autocomplete-item"),e=this.previous;this.element[0]!==a.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=e,this._delay(function(){this.previous=e,this.selectedItem=d})),!1!==this._trigger("select",b,{item:d})&&this._value(d.value),this.term=this._value(),this.close(b),this.selectedItem=d}}),this.liveRegion=a("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(a,b){this._super(a,b),"source"===a&&this._initSource(),"appendTo"===a&&this.menu.element.appendTo(this._appendTo()),"disabled"===a&&b&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(b){var c=this.menu.element[0];return b.target===this.element[0]||b.target===c||a.contains(c,b.target)},_closeOnClickOutside:function(a){this._isEventTargetInWidget(a)||this.close()},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),
+b&&b[0]||(b=this.element.closest(".ui-front, dialog")),b.length||(b=this.document[0].body),b},_initSource:function(){var b,c,d=this;a.isArray(this.options.source)?(b=this.options.source,this.source=function(c,d){d(a.ui.autocomplete.filter(b,c.term))}):"string"==typeof this.options.source?(c=this.options.source,this.source=function(b,e){d.xhr&&d.xhr.abort(),d.xhr=a.ajax({url:c,data:b,dataType:"json",success:function(a){e(a)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(a){clearTimeout(this.searching),this.searching=this._delay(function(){var b=this.term===this._value(),c=this.menu.element.is(":visible"),d=a.altKey||a.ctrlKey||a.metaKey||a.shiftKey;b&&(!b||c||d)||(this.selectedItem=null,this.search(null,a))},this.options.delay)},search:function(a,b){return a=null!=a?a:this._value(),this.term=this._value(),a.length<this.options.minLength?this.close(b):this._trigger("search",b)!==!1?this._search(a):void 0},_search:function(a){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:a},this._response())},_response:function(){var b=++this.requestIndex;return a.proxy(function(a){b===this.requestIndex&&this.__response(a),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(a){a&&(a=this._normalize(a)),this._trigger("response",null,{content:a}),!this.options.disabled&&a&&a.length&&!this.cancelSearch?(this._suggest(a),this._trigger("open")):this._close()},close:function(a){this.cancelSearch=!0,this._close(a)},_close:function(a){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",a))},_change:function(a){this.previous!==this._value()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return"string"==typeof b?{label:b,value:b}:a.extend({},b,{label:b.label||b.value,value:b.value||b.label})})},_suggest:function(b){var c=this.menu.element.empty();this._renderMenu(c,b),this.isNewMenu=!0,this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItemData(b,c)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-autocomplete-item",b)},_renderItem:function(b,c){return a("<li>").append(a("<div>").text(c.label)).appendTo(b)},_move:function(a,b){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(a)||this.menu.isLastItem()&&/^next/.test(a)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[a](b):void this.search(null,b)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(a,b){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(a,b),b.preventDefault())},_isContentEditable:function(a){if(!a.length)return!1;var b=a.prop("contentEditable");return"inherit"===b?this._isContentEditable(a.parent()):"true"===b}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}}),a.widget("ui.autocomplete",a.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(a){return a+(a>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(b){var c;this._superApply(arguments),this.options.disabled||this.cancelSearch||(c=b&&b.length?this.options.messages.results(b.length):this.options.messages.noResults,this.liveRegion.children().hide(),a("<div>").text(c).appendTo(this.liveRegion))}});var p=(a.ui.autocomplete,/ui-corner-([a-z]){2,6}/g);a.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var b=this,c=[];a.each(this.options.items,function(d,e){var f,g={};if(e)return"controlgroupLabel"===d?(f=b.element.find(e),f.each(function(){var b=a(this);b.children(".ui-controlgroup-label-contents").length||b.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")}),b._addClass(f,null,"ui-widget ui-widget-content ui-state-default"),void(c=c.concat(f.get()))):void(a.fn[d]&&(g=b["_"+d+"Options"]?b["_"+d+"Options"]("middle"):{classes:{}},b.element.find(e).each(function(){var e=a(this),f=e[d]("instance"),h=a.widget.extend({},g);if("button"!==d||!e.parent(".ui-spinner").length){f||(f=e[d]()[d]("instance")),f&&(h.classes=b._resolveClassesValues(h.classes,f)),e[d](h);var i=e[d]("widget");a.data(i[0],"ui-controlgroup-data",f?f:e[d]("instance")),c.push(i[0])}})))}),this.childWidgets=a(a.unique(c)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(b){this.childWidgets.each(function(){var c=a(this),d=c.data("ui-controlgroup-data");d&&d[b]&&d[b]()})},_updateCornerClass:function(a,b){var c="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all",d=this._buildSimpleOptions(b,"label").classes.label;this._removeClass(a,null,c),this._addClass(a,null,d)},_buildSimpleOptions:function(a,b){var c="vertical"===this.options.direction,d={classes:{}};return d.classes[b]={middle:"",first:"ui-corner-"+(c?"top":"left"),last:"ui-corner-"+(c?"bottom":"right"),only:"ui-corner-all"}[a],d},_spinnerOptions:function(a){var b=this._buildSimpleOptions(a,"ui-spinner");return b.classes["ui-spinner-up"]="",b.classes["ui-spinner-down"]="",b},_buttonOptions:function(a){return this._buildSimpleOptions(a,"ui-button")},_checkboxradioOptions:function(a){return this._buildSimpleOptions(a,"ui-checkboxradio-label")},_selectmenuOptions:function(a){var b="vertical"===this.options.direction;return{width:!!b&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(b?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(b?"top":"left")},last:{"ui-selectmenu-button-open":b?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(b?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[a]}},_resolveClassesValues:function(b,c){var d={};return a.each(b,function(e){var f=c.options.classes[e]||"";f=a.trim(f.replace(p,"")),d[e]=(f+" "+b[e]).replace(/\s+/g," ")}),d},_setOption:function(a,b){return"direction"===a&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(a,b),"disabled"===a?void this._callChildMethod(b?"disable":"enable"):void this.refresh()},refresh:function(){var b,c=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),b=this.childWidgets,this.options.onlyVisible&&(b=b.filter(":visible")),b.length&&(a.each(["first","last"],function(a,d){var e=b[d]().data("ui-controlgroup-data");if(e&&c["_"+e.widgetName+"Options"]){var f=c["_"+e.widgetName+"Options"](1===b.length?"only":d);f.classes=c._resolveClassesValues(f.classes,e),e.element[e.widgetName](f)}else c._updateCornerClass(b[d](),d)}),this._callChildMethod("refresh"))}});a.widget("ui.checkboxradio",[a.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var b,c,d=this,e=this._super()||{};return this._readType(),c=this.element.labels(),this.label=a(c[c.length-1]),this.label.length||a.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){d.originalLabel+=3===this.nodeType?a(this).text():this.outerHTML}),this.originalLabel&&(e.label=this.originalLabel),b=this.element[0].disabled,null!=b&&(e.disabled=b),e},_create:function(){var a=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),a&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var b=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===b&&/radio|checkbox/.test(this.type)||a.error("Can't create checkboxradio on element.nodeName="+b+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var b,c=this.element[0].name,d="input[name='"+a.ui.escapeSelector(c)+"']";return c?(b=this.form.length?a(this.form[0].elements).filter(d):a(d).filter(function(){return 0===a(this).form().length}),b.not(this.element)):a([])},_toggleClasses:function(){var b=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",b),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",b)._toggleClass(this.icon,null,"ui-icon-blank",!b),"radio"===this.type&&this._getRadioGroup().each(function(){var b=a(this).checkboxradio("instance");b&&b._removeClass(b.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(a,b){if("label"!==a||b)return this._super(a,b),"disabled"===a?(this._toggleClass(this.label,null,"ui-state-disabled",b),void(this.element[0].disabled=b)):void this.refresh()},_updateIcon:function(b){var c="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=a("<span>"),this.iconSpace=a("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(c+=b?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,b?"ui-icon-blank":"ui-icon-check")):c+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",c),b||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var a=this.label.contents().not(this.element[0]);this.icon&&(a=a.not(this.icon[0])),this.iconSpace&&(a=a.not(this.iconSpace[0])),a.remove(),this.label.append(this.options.label)},refresh:function(){var a=this.element[0].checked,b=this.element[0].disabled;this._updateIcon(a),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",a),null!==this.options.label&&this._updateLabel(),b!==this.options.disabled&&this._setOptions({disabled:b})}}]);a.ui.checkboxradio;a.widget("ui.button",{version:"1.12.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var a,b=this._super()||{};return this.isInput=this.element.is("input"),a=this.element[0].disabled,null!=a&&(b.disabled=a),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(b.label=this.originalLabel),b},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(b){b.keyCode===a.ui.keyCode.SPACE&&(b.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(b,c){var d="iconPosition"!==b,e=d?this.options.iconPosition:c,f="top"===e||"bottom"===e;this.icon?d&&this._removeClass(this.icon,null,this.options.icon):(this.icon=a("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),d&&this._addClass(this.icon,null,c),this._attachIcon(e),f?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=a("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(e))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(a){this.icon[/^(?:end|bottom)/.test(a)?"before":"after"](this.iconSpace)},_attachIcon:function(a){this.element[/^(?:end|bottom)/.test(a)?"append":"prepend"](this.icon)},_setOptions:function(a){var b=void 0===a.showLabel?this.options.showLabel:a.showLabel,c=void 0===a.icon?this.options.icon:a.icon;b||c||(a.showLabel=!0),this._super(a)},_setOption:function(a,b){"icon"===a&&(b?this._updateIcon(a,b):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove())),"iconPosition"===a&&this._updateIcon(a,b),"showLabel"===a&&(this._toggleClass("ui-button-icon-only",null,!b),this._updateTooltip()),"label"===a&&(this.isInput?this.element.val(b):(this.element.html(b),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(a,b),"disabled"===a&&(this._toggleClass(null,"ui-state-disabled",b),this.element[0].disabled=b,b&&this.element.blur())},refresh:function(){var a=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");a!==this.options.disabled&&this._setOptions({disabled:a}),this._updateTooltip()}}),a.uiBackCompat!==!1&&(a.widget("ui.button",a.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(a,b){return"text"===a?void this._super("showLabel",b):("showLabel"===a&&(this.options.text=b),"icon"===a&&(this.options.icons.primary=b),"icons"===a&&(b.primary?(this._super("icon",b.primary),this._super("iconPosition","beginning")):b.secondary&&(this._super("icon",b.secondary),this._super("iconPosition","end"))),void this._superApply(arguments))}}),a.fn.button=function(b){return function(){return!this.length||this.length&&"INPUT"!==this[0].tagName||this.length&&"INPUT"===this[0].tagName&&"checkbox"!==this.attr("type")&&"radio"!==this.attr("type")?b.apply(this,arguments):(a.ui.checkboxradio||a.error("Checkboxradio widget missing"),0===arguments.length?this.checkboxradio({icon:!1}):this.checkboxradio.apply(this,arguments))}}(a.fn.button),a.fn.buttonset=function(){return a.ui.controlgroup||a.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))});a.ui.button;a.extend(a.ui,{datepicker:{version:"1.12.1"}});var q;a.extend(d.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return g(this._defaults,a||{}),this},_attachDatepicker:function(b,c){var d,e,f;d=b.nodeName.toLowerCase(),e="div"===d||"span"===d,b.id||(this.uuid+=1,b.id="dp"+this.uuid),f=this._newInst(a(b),e),f.settings=a.extend({},c||{}),"input"===d?this._connectDatepicker(b,f):e&&this._inlineDatepicker(b,f)},_newInst:function(b,c){var d=b[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:d,input:b,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:c,dpDiv:c?e(a("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(b,c){var d=a(b);c.append=a([]),c.trigger=a([]),d.hasClass(this.markerClassName)||(this._attachments(d,c),d.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(c),a.data(b,"datepicker",c),c.settings.disabled&&this._disableDatepicker(b))},_attachments:function(b,c){var d,e,f,g=this._get(c,"appendText"),h=this._get(c,"isRTL");c.append&&c.append.remove(),g&&(c.append=a("<span class='"+this._appendClass+"'>"+g+"</span>"),b[h?"before":"after"](c.append)),b.off("focus",this._showDatepicker),c.trigger&&c.trigger.remove(),d=this._get(c,"showOn"),"focus"!==d&&"both"!==d||b.on("focus",this._showDatepicker),"button"!==d&&"both"!==d||(e=this._get(c,"buttonText"),f=this._get(c,"buttonImage"),c.trigger=a(this._get(c,"buttonImageOnly")?a("<img/>").addClass(this._triggerClass).attr({src:f,alt:e,title:e}):a("<button type='button'></button>").addClass(this._triggerClass).html(f?a("<img/>").attr({src:f,alt:e,title:e}):e)),b[h?"before":"after"](c.trigger),c.trigger.on("click",function(){return a.datepicker._datepickerShowing&&a.datepicker._lastInput===b[0]?a.datepicker._hideDatepicker():a.datepicker._datepickerShowing&&a.datepicker._lastInput!==b[0]?(a.datepicker._hideDatepicker(),a.datepicker._showDatepicker(b[0])):a.datepicker._showDatepicker(b[0]),!1}))},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b,c,d,e,f=new Date(2009,11,20),g=this._get(a,"dateFormat");g.match(/[DM]/)&&(b=function(a){for(c=0,d=0,e=0;e<a.length;e++)a[e].length>c&&(c=a[e].length,d=e);return d},f.setMonth(b(this._get(a,g.match(/MM/)?"monthNames":"monthNamesShort"))),f.setDate(b(this._get(a,g.match(/DD/)?"dayNames":"dayNamesShort"))+20-f.getDay())),a.input.attr("size",this._formatDate(a,f).length)}},_inlineDatepicker:function(b,c){var d=a(b);d.hasClass(this.markerClassName)||(d.addClass(this.markerClassName).append(c.dpDiv),a.data(b,"datepicker",c),this._setDate(c,this._getDefaultDate(c),!0),this._updateDatepicker(c),this._updateAlternate(c),c.settings.disabled&&this._disableDatepicker(b),c.dpDiv.css("display","block"))},_dialogDatepicker:function(b,c,d,e,f){var h,i,j,k,l,m=this._dialogInst;return m||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=a("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),a("body").append(this._dialogInput),m=this._dialogInst=this._newInst(this._dialogInput,!1),m.settings={},a.data(this._dialogInput[0],"datepicker",m)),g(m.settings,e||{}),c=c&&c.constructor===Date?this._formatDate(m,c):c,this._dialogInput.val(c),this._pos=f?f.length?f:[f.pageX,f.pageY]:null,this._pos||(i=document.documentElement.clientWidth,j=document.documentElement.clientHeight,k=document.documentElement.scrollLeft||document.body.scrollLeft,l=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[i/2-100+k,j/2-150+l]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),m.settings.onSelect=d,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),a.blockUI&&a.blockUI(this.dpDiv),a.data(this._dialogInput[0],"datepicker",m),this},_destroyDatepicker:function(b){var c,d=a(b),e=a.data(b,"datepicker");d.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),a.removeData(b,"datepicker"),"input"===c?(e.append.remove(),e.trigger.remove(),d.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):"div"!==c&&"span"!==c||d.removeClass(this.markerClassName).empty(),q===e&&(q=null))},_enableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!1,f.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):"div"!==c&&"span"!==c||(d=e.children("."+this._inlineClass),d.children().removeClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}))},_disableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!0,f.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):"div"!==c&&"span"!==c||(d=e.children("."+this._inlineClass),d.children().addClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}),this._disabledInputs[this._disabledInputs.length]=b)},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]===a)return!0;return!1},_getInst:function(b){try{return a.data(b,"datepicker")}catch(c){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(b,c,d){var e,f,h,i,j=this._getInst(b);return 2===arguments.length&&"string"==typeof c?"defaults"===c?a.extend({},a.datepicker._defaults):j?"all"===c?a.extend({},j.settings):this._get(j,c):null:(e=c||{},"string"==typeof c&&(e={},e[c]=d),void(j&&(this._curInst===j&&this._hideDatepicker(),f=this._getDateDatepicker(b,!0),h=this._getMinMaxDate(j,"min"),i=this._getMinMaxDate(j,"max"),g(j.settings,e),null!==h&&void 0!==e.dateFormat&&void 0===e.minDate&&(j.settings.minDate=this._formatDate(j,h)),null!==i&&void 0!==e.dateFormat&&void 0===e.maxDate&&(j.settings.maxDate=this._formatDate(j,i)),"disabled"in e&&(e.disabled?this._disableDatepicker(b):this._enableDatepicker(b)),this._attachments(a(b),j),this._autoSize(j),this._setDate(j,f),this._updateAlternate(j),this._updateDatepicker(j))))},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(b){var c,d,e,f=a.datepicker._getInst(b.target),g=!0,h=f.dpDiv.is(".ui-datepicker-rtl");if(f._keyEvent=!0,a.datepicker._datepickerShowing)switch(b.keyCode){case 9:a.datepicker._hideDatepicker(),g=!1;break;case 13:return e=a("td."+a.datepicker._dayOverClass+":not(."+a.datepicker._currentClass+")",f.dpDiv),e[0]&&a.datepicker._selectDay(b.target,f.selectedMonth,f.selectedYear,e[0]),c=a.datepicker._get(f,"onSelect"),c?(d=a.datepicker._formatDate(f),c.apply(f.input?f.input[0]:null,[d,f])):a.datepicker._hideDatepicker(),!1;case 27:a.datepicker._hideDatepicker();break;case 33:a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 34:a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 35:(b.ctrlKey||b.metaKey)&&a.datepicker._clearDate(b.target),g=b.ctrlKey||b.metaKey;break;case 36:(b.ctrlKey||b.metaKey)&&a.datepicker._gotoToday(b.target),g=b.ctrlKey||b.metaKey;break;case 37:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?1:-1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 38:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,-7,"D"),g=b.ctrlKey||b.metaKey;break;case 39:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?-1:1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 40:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,7,"D"),g=b.ctrlKey||b.metaKey;break;default:g=!1}else 36===b.keyCode&&b.ctrlKey?a.datepicker._showDatepicker(this):g=!1;g&&(b.preventDefault(),b.stopPropagation())},_doKeyPress:function(b){var c,d,e=a.datepicker._getInst(b.target);if(a.datepicker._get(e,"constrainInput"))return c=a.datepicker._possibleChars(a.datepicker._get(e,"dateFormat")),d=String.fromCharCode(null==b.charCode?b.keyCode:b.charCode),b.ctrlKey||b.metaKey||d<" "||!c||c.indexOf(d)>-1},_doKeyUp:function(b){var c,d=a.datepicker._getInst(b.target);if(d.input.val()!==d.lastVal)try{c=a.datepicker.parseDate(a.datepicker._get(d,"dateFormat"),d.input?d.input.val():null,a.datepicker._getFormatConfig(d)),c&&(a.datepicker._setDateFromField(d),a.datepicker._updateAlternate(d),a.datepicker._updateDatepicker(d))}catch(e){}return!0},_showDatepicker:function(b){if(b=b.target||b,"input"!==b.nodeName.toLowerCase()&&(b=a("input",b.parentNode)[0]),!a.datepicker._isDisabledDatepicker(b)&&a.datepicker._lastInput!==b){var d,e,f,h,i,j,k;d=a.datepicker._getInst(b),a.datepicker._curInst&&a.datepicker._curInst!==d&&(a.datepicker._curInst.dpDiv.stop(!0,!0),d&&a.datepicker._datepickerShowing&&a.datepicker._hideDatepicker(a.datepicker._curInst.input[0])),e=a.datepicker._get(d,"beforeShow"),f=e?e.apply(b,[b,d]):{},f!==!1&&(g(d.settings,f),d.lastVal=null,a.datepicker._lastInput=b,a.datepicker._setDateFromField(d),a.datepicker._inDialog&&(b.value=""),a.datepicker._pos||(a.datepicker._pos=a.datepicker._findPos(b),a.datepicker._pos[1]+=b.offsetHeight),h=!1,a(b).parents().each(function(){return h|="fixed"===a(this).css("position"),!h}),i={left:a.datepicker._pos[0],top:a.datepicker._pos[1]},a.datepicker._pos=null,d.dpDiv.empty(),d.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),a.datepicker._updateDatepicker(d),i=a.datepicker._checkOffset(d,i,h),d.dpDiv.css({position:a.datepicker._inDialog&&a.blockUI?"static":h?"fixed":"absolute",display:"none",left:i.left+"px",top:i.top+"px"}),d.inline||(j=a.datepicker._get(d,"showAnim"),k=a.datepicker._get(d,"duration"),d.dpDiv.css("z-index",c(a(b))+1),a.datepicker._datepickerShowing=!0,a.effects&&a.effects.effect[j]?d.dpDiv.show(j,a.datepicker._get(d,"showOptions"),k):d.dpDiv[j||"show"](j?k:null),a.datepicker._shouldFocusInput(d)&&d.input.trigger("focus"),a.datepicker._curInst=d))}},_updateDatepicker:function(b){this.maxRows=4,q=b,b.dpDiv.empty().append(this._generateHTML(b)),this._attachHandlers(b);var c,d=this._getNumberOfMonths(b),e=d[1],g=17,h=b.dpDiv.find("."+this._dayOverClass+" a");h.length>0&&f.apply(h.get(0)),b.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),e>1&&b.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",g*e+"em"),b.dpDiv[(1!==d[0]||1!==d[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),b.dpDiv[(this._get(b,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),b===a.datepicker._curInst&&a.datepicker._datepickerShowing&&a.datepicker._shouldFocusInput(b)&&b.input.trigger("focus"),b.yearshtml&&(c=b.yearshtml,setTimeout(function(){c===b.yearshtml&&b.yearshtml&&b.dpDiv.find("select.ui-datepicker-year:first").replaceWith(b.yearshtml),c=b.yearshtml=null},0))},_shouldFocusInput:function(a){return a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&!a.input.is(":focus")},_checkOffset:function(b,c,d){var e=b.dpDiv.outerWidth(),f=b.dpDiv.outerHeight(),g=b.input?b.input.outerWidth():0,h=b.input?b.input.outerHeight():0,i=document.documentElement.clientWidth+(d?0:a(document).scrollLeft()),j=document.documentElement.clientHeight+(d?0:a(document).scrollTop());return c.left-=this._get(b,"isRTL")?e-g:0,c.left-=d&&c.left===b.input.offset().left?a(document).scrollLeft():0,c.top-=d&&c.top===b.input.offset().top+h?a(document).scrollTop():0,c.left-=Math.min(c.left,c.left+e>i&&i>e?Math.abs(c.left+e-i):0),c.top-=Math.min(c.top,c.top+f>j&&j>f?Math.abs(f+h):0),c},_findPos:function(b){for(var c,d=this._getInst(b),e=this._get(d,"isRTL");b&&("hidden"===b.type||1!==b.nodeType||a.expr.filters.hidden(b));)b=b[e?"previousSibling":"nextSibling"];return c=a(b).offset(),[c.left,c.top]},_hideDatepicker:function(b){var c,d,e,f,g=this._curInst;!g||b&&g!==a.data(b,"datepicker")||this._datepickerShowing&&(c=this._get(g,"showAnim"),d=this._get(g,"duration"),e=function(){a.datepicker._tidyDialog(g)},a.effects&&(a.effects.effect[c]||a.effects[c])?g.dpDiv.hide(c,a.datepicker._get(g,"showOptions"),d,e):g.dpDiv["slideDown"===c?"slideUp":"fadeIn"===c?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1,f=this._get(g,"onClose"),f&&f.apply(g.input?g.input[0]:null,[g.input?g.input.val():"",g]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),a.blockUI&&(a.unblockUI(),a("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(b){if(a.datepicker._curInst){var c=a(b.target),d=a.datepicker._getInst(c[0]);(c[0].id===a.datepicker._mainDivId||0!==c.parents("#"+a.datepicker._mainDivId).length||c.hasClass(a.datepicker.markerClassName)||c.closest("."+a.datepicker._triggerClass).length||!a.datepicker._datepickerShowing||a.datepicker._inDialog&&a.blockUI)&&(!c.hasClass(a.datepicker.markerClassName)||a.datepicker._curInst===d)||a.datepicker._hideDatepicker()}},_adjustDate:function(b,c,d){var e=a(b),f=this._getInst(e[0]);this._isDisabledDatepicker(e[0])||(this._adjustInstDate(f,c+("M"===d?this._get(f,"showCurrentAtPos"):0),d),this._updateDatepicker(f))},_gotoToday:function(b){
+var c,d=a(b),e=this._getInst(d[0]);this._get(e,"gotoCurrent")&&e.currentDay?(e.selectedDay=e.currentDay,e.drawMonth=e.selectedMonth=e.currentMonth,e.drawYear=e.selectedYear=e.currentYear):(c=new Date,e.selectedDay=c.getDate(),e.drawMonth=e.selectedMonth=c.getMonth(),e.drawYear=e.selectedYear=c.getFullYear()),this._notifyChange(e),this._adjustDate(d)},_selectMonthYear:function(b,c,d){var e=a(b),f=this._getInst(e[0]);f["selected"+("M"===d?"Month":"Year")]=f["draw"+("M"===d?"Month":"Year")]=parseInt(c.options[c.selectedIndex].value,10),this._notifyChange(f),this._adjustDate(e)},_selectDay:function(b,c,d,e){var f,g=a(b);a(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(g[0])||(f=this._getInst(g[0]),f.selectedDay=f.currentDay=a("a",e).html(),f.selectedMonth=f.currentMonth=c,f.selectedYear=f.currentYear=d,this._selectDate(b,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear)))},_clearDate:function(b){var c=a(b);this._selectDate(c,"")},_selectDate:function(b,c){var d,e=a(b),f=this._getInst(e[0]);c=null!=c?c:this._formatDate(f),f.input&&f.input.val(c),this._updateAlternate(f),d=this._get(f,"onSelect"),d?d.apply(f.input?f.input[0]:null,[c,f]):f.input&&f.input.trigger("change"),f.inline?this._updateDatepicker(f):(this._hideDatepicker(),this._lastInput=f.input[0],"object"!=typeof f.input[0]&&f.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(b){var c,d,e,f=this._get(b,"altField");f&&(c=this._get(b,"altFormat")||this._get(b,"dateFormat"),d=this._getDate(b),e=this.formatDate(c,d,this._getFormatConfig(b)),a(f).val(e))},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b,c=new Date(a.getTime());return c.setDate(c.getDate()+4-(c.getDay()||7)),b=c.getTime(),c.setMonth(0),c.setDate(1),Math.floor(Math.round((b-c)/864e5)/7)+1},parseDate:function(b,c,d){if(null==b||null==c)throw"Invalid arguments";if(c="object"==typeof c?c.toString():c+"",""===c)return null;var e,f,g,h,i=0,j=(d?d.shortYearCutoff:null)||this._defaults.shortYearCutoff,k="string"!=typeof j?j:(new Date).getFullYear()%100+parseInt(j,10),l=(d?d.dayNamesShort:null)||this._defaults.dayNamesShort,m=(d?d.dayNames:null)||this._defaults.dayNames,n=(d?d.monthNamesShort:null)||this._defaults.monthNamesShort,o=(d?d.monthNames:null)||this._defaults.monthNames,p=-1,q=-1,r=-1,s=-1,t=!1,u=function(a){var c=e+1<b.length&&b.charAt(e+1)===a;return c&&e++,c},v=function(a){var b=u(a),d="@"===a?14:"!"===a?20:"y"===a&&b?4:"o"===a?3:2,e="y"===a?d:1,f=new RegExp("^\\d{"+e+","+d+"}"),g=c.substring(i).match(f);if(!g)throw"Missing number at position "+i;return i+=g[0].length,parseInt(g[0],10)},w=function(b,d,e){var f=-1,g=a.map(u(b)?e:d,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)});if(a.each(g,function(a,b){var d=b[1];if(c.substr(i,d.length).toLowerCase()===d.toLowerCase())return f=b[0],i+=d.length,!1}),f!==-1)return f+1;throw"Unknown name at position "+i},x=function(){if(c.charAt(i)!==b.charAt(e))throw"Unexpected literal at position "+i;i++};for(e=0;e<b.length;e++)if(t)"'"!==b.charAt(e)||u("'")?x():t=!1;else switch(b.charAt(e)){case"d":r=v("d");break;case"D":w("D",l,m);break;case"o":s=v("o");break;case"m":q=v("m");break;case"M":q=w("M",n,o);break;case"y":p=v("y");break;case"@":h=new Date(v("@")),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"!":h=new Date((v("!")-this._ticksTo1970)/1e4),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"'":u("'")?x():t=!0;break;default:x()}if(i<c.length&&(g=c.substr(i),!/^\s+/.test(g)))throw"Extra/unparsed characters found in date: "+g;if(p===-1?p=(new Date).getFullYear():p<100&&(p+=(new Date).getFullYear()-(new Date).getFullYear()%100+(p<=k?0:-100)),s>-1)for(q=1,r=s;;){if(f=this._getDaysInMonth(p,q-1),r<=f)break;q++,r-=f}if(h=this._daylightSavingAdjust(new Date(p,q-1,r)),h.getFullYear()!==p||h.getMonth()+1!==q||h.getDate()!==r)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d,e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=function(b){var c=d+1<a.length&&a.charAt(d+1)===b;return c&&d++,c},j=function(a,b,c){var d=""+b;if(i(a))for(;d.length<c;)d="0"+d;return d},k=function(a,b,c,d){return i(a)?d[b]:c[b]},l="",m=!1;if(b)for(d=0;d<a.length;d++)if(m)"'"!==a.charAt(d)||i("'")?l+=a.charAt(d):m=!1;else switch(a.charAt(d)){case"d":l+=j("d",b.getDate(),2);break;case"D":l+=k("D",b.getDay(),e,f);break;case"o":l+=j("o",Math.round((new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime()-new Date(b.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=j("m",b.getMonth()+1,2);break;case"M":l+=k("M",b.getMonth(),g,h);break;case"y":l+=i("y")?b.getFullYear():(b.getFullYear()%100<10?"0":"")+b.getFullYear()%100;break;case"@":l+=b.getTime();break;case"!":l+=1e4*b.getTime()+this._ticksTo1970;break;case"'":i("'")?l+="'":m=!0;break;default:l+=a.charAt(d)}return l},_possibleChars:function(a){var b,c="",d=!1,e=function(c){var d=b+1<a.length&&a.charAt(b+1)===c;return d&&b++,d};for(b=0;b<a.length;b++)if(d)"'"!==a.charAt(b)||e("'")?c+=a.charAt(b):d=!1;else switch(a.charAt(b)){case"d":case"m":case"y":case"@":c+="0123456789";break;case"D":case"M":return null;case"'":e("'")?c+="'":d=!0;break;default:c+=a.charAt(b)}return c},_get:function(a,b){return void 0!==a.settings[b]?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!==a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e=this._getDefaultDate(a),f=e,g=this._getFormatConfig(a);try{f=this.parseDate(c,d,g)||e}catch(h){d=b?"":d}a.selectedDay=f.getDate(),a.drawMonth=a.selectedMonth=f.getMonth(),a.drawYear=a.selectedYear=f.getFullYear(),a.currentDay=d?f.getDate():0,a.currentMonth=d?f.getMonth():0,a.currentYear=d?f.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(b,c,d){var e=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},f=function(c){try{return a.datepicker.parseDate(a.datepicker._get(b,"dateFormat"),c,a.datepicker._getFormatConfig(b))}catch(d){}for(var e=(c.toLowerCase().match(/^c/)?a.datepicker._getDate(b):null)||new Date,f=e.getFullYear(),g=e.getMonth(),h=e.getDate(),i=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,j=i.exec(c);j;){switch(j[2]||"d"){case"d":case"D":h+=parseInt(j[1],10);break;case"w":case"W":h+=7*parseInt(j[1],10);break;case"m":case"M":g+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g));break;case"y":case"Y":f+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g))}j=i.exec(c)}return new Date(f,g,h)},g=null==c||""===c?d:"string"==typeof c?f(c):"number"==typeof c?isNaN(c)?d:e(c):new Date(c.getTime());return g=g&&"Invalid Date"===g.toString()?d:g,g&&(g.setHours(0),g.setMinutes(0),g.setSeconds(0),g.setMilliseconds(0)),this._daylightSavingAdjust(g)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),e===a.selectedMonth&&f===a.selectedYear||c||this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&""===a.input.val()?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(b){var c=this._get(b,"stepMonths"),d="#"+b.id.replace(/\\\\/g,"\\");b.dpDiv.find("[data-handler]").map(function(){var b={prev:function(){a.datepicker._adjustDate(d,-c,"M")},next:function(){a.datepicker._adjustDate(d,+c,"M")},hide:function(){a.datepicker._hideDatepicker()},today:function(){a.datepicker._gotoToday(d)},selectDay:function(){return a.datepicker._selectDay(d,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return a.datepicker._selectMonthYear(d,this,"M"),!1},selectYear:function(){return a.datepicker._selectMonthYear(d,this,"Y"),!1}};a(this).on(this.getAttribute("data-event"),b[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O=new Date,P=this._daylightSavingAdjust(new Date(O.getFullYear(),O.getMonth(),O.getDate())),Q=this._get(a,"isRTL"),R=this._get(a,"showButtonPanel"),S=this._get(a,"hideIfNoPrevNext"),T=this._get(a,"navigationAsDateFormat"),U=this._getNumberOfMonths(a),V=this._get(a,"showCurrentAtPos"),W=this._get(a,"stepMonths"),X=1!==U[0]||1!==U[1],Y=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),Z=this._getMinMaxDate(a,"min"),$=this._getMinMaxDate(a,"max"),_=a.drawMonth-V,aa=a.drawYear;if(_<0&&(_+=12,aa--),$)for(b=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-U[0]*U[1]+1,$.getDate())),b=Z&&b<Z?Z:b;this._daylightSavingAdjust(new Date(aa,_,1))>b;)_--,_<0&&(_=11,aa--);for(a.drawMonth=_,a.drawYear=aa,c=this._get(a,"prevText"),c=T?this.formatDate(c,this._daylightSavingAdjust(new Date(aa,_-W,1)),this._getFormatConfig(a)):c,d=this._canAdjustMonth(a,-1,aa,_)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>":S?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>",e=this._get(a,"nextText"),e=T?this.formatDate(e,this._daylightSavingAdjust(new Date(aa,_+W,1)),this._getFormatConfig(a)):e,f=this._canAdjustMonth(a,1,aa,_)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>":S?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>",g=this._get(a,"currentText"),h=this._get(a,"gotoCurrent")&&a.currentDay?Y:P,g=T?this.formatDate(g,h,this._getFormatConfig(a)):g,i=a.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(a,"closeText")+"</button>",j=R?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Q?i:"")+(this._isInRange(a,h)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+g+"</button>":"")+(Q?"":i)+"</div>":"",k=parseInt(this._get(a,"firstDay"),10),k=isNaN(k)?0:k,l=this._get(a,"showWeek"),m=this._get(a,"dayNames"),n=this._get(a,"dayNamesMin"),o=this._get(a,"monthNames"),p=this._get(a,"monthNamesShort"),q=this._get(a,"beforeShowDay"),r=this._get(a,"showOtherMonths"),s=this._get(a,"selectOtherMonths"),t=this._getDefaultDate(a),u="",w=0;w<U[0];w++){for(x="",this.maxRows=4,y=0;y<U[1];y++){if(z=this._daylightSavingAdjust(new Date(aa,_,a.selectedDay)),A=" ui-corner-all",B="",X){if(B+="<div class='ui-datepicker-group",U[1]>1)switch(y){case 0:B+=" ui-datepicker-group-first",A=" ui-corner-"+(Q?"right":"left");break;case U[1]-1:B+=" ui-datepicker-group-last",A=" ui-corner-"+(Q?"left":"right");break;default:B+=" ui-datepicker-group-middle",A=""}B+="'>"}for(B+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+A+"'>"+(/all|left/.test(A)&&0===w?Q?f:d:"")+(/all|right/.test(A)&&0===w?Q?d:f:"")+this._generateMonthYearHeader(a,_,aa,Z,$,w>0||y>0,o,p)+"</div><table class='ui-datepicker-calendar'><thead><tr>",C=l?"<th class='ui-datepicker-week-col'>"+this._get(a,"weekHeader")+"</th>":"",v=0;v<7;v++)D=(v+k)%7,C+="<th scope='col'"+((v+k+6)%7>=5?" class='ui-datepicker-week-end'":"")+"><span title='"+m[D]+"'>"+n[D]+"</span></th>";for(B+=C+"</tr></thead><tbody>",E=this._getDaysInMonth(aa,_),aa===a.selectedYear&&_===a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,E)),F=(this._getFirstDayOfMonth(aa,_)-k+7)%7,G=Math.ceil((F+E)/7),H=X&&this.maxRows>G?this.maxRows:G,this.maxRows=H,I=this._daylightSavingAdjust(new Date(aa,_,1-F)),J=0;J<H;J++){for(B+="<tr>",K=l?"<td class='ui-datepicker-week-col'>"+this._get(a,"calculateWeek")(I)+"</td>":"",v=0;v<7;v++)L=q?q.apply(a.input?a.input[0]:null,[I]):[!0,""],M=I.getMonth()!==_,N=M&&!s||!L[0]||Z&&I<Z||$&&I>$,K+="<td class='"+((v+k+6)%7>=5?" ui-datepicker-week-end":"")+(M?" ui-datepicker-other-month":"")+(I.getTime()===z.getTime()&&_===a.selectedMonth&&a._keyEvent||t.getTime()===I.getTime()&&t.getTime()===z.getTime()?" "+this._dayOverClass:"")+(N?" "+this._unselectableClass+" ui-state-disabled":"")+(M&&!r?"":" "+L[1]+(I.getTime()===Y.getTime()?" "+this._currentClass:"")+(I.getTime()===P.getTime()?" ui-datepicker-today":""))+"'"+(M&&!r||!L[2]?"":" title='"+L[2].replace(/'/g,"&#39;")+"'")+(N?"":" data-handler='selectDay' data-event='click' data-month='"+I.getMonth()+"' data-year='"+I.getFullYear()+"'")+">"+(M&&!r?"&#xa0;":N?"<span class='ui-state-default'>"+I.getDate()+"</span>":"<a class='ui-state-default"+(I.getTime()===P.getTime()?" ui-state-highlight":"")+(I.getTime()===Y.getTime()?" ui-state-active":"")+(M?" ui-priority-secondary":"")+"' href='#'>"+I.getDate()+"</a>")+"</td>",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);B+=K+"</tr>"}_++,_>11&&(_=0,aa++),B+="</tbody></table>"+(X?"</div>"+(U[0]>0&&y===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=B}u+=x}return u+=j,a._keyEvent=!1,u},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q=this._get(a,"changeMonth"),r=this._get(a,"changeYear"),s=this._get(a,"showMonthAfterYear"),t="<div class='ui-datepicker-title'>",u="";if(f||!q)u+="<span class='ui-datepicker-month'>"+g[b]+"</span>";else{for(i=d&&d.getFullYear()===c,j=e&&e.getFullYear()===c,u+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",k=0;k<12;k++)(!i||k>=d.getMonth())&&(!j||k<=e.getMonth())&&(u+="<option value='"+k+"'"+(k===b?" selected='selected'":"")+">"+h[k]+"</option>");u+="</select>"}if(s||(t+=u+(!f&&q&&r?"":"&#xa0;")),!a.yearshtml)if(a.yearshtml="",f||!r)t+="<span class='ui-datepicker-year'>"+c+"</span>";else{for(l=this._get(a,"yearRange").split(":"),m=(new Date).getFullYear(),n=function(a){var b=a.match(/c[+\-].*/)?c+parseInt(a.substring(1),10):a.match(/[+\-].*/)?m+parseInt(a,10):parseInt(a,10);return isNaN(b)?m:b},o=n(l[0]),p=Math.max(o,n(l[1]||"")),o=d?Math.max(o,d.getFullYear()):o,p=e?Math.min(p,e.getFullYear()):p,a.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";o<=p;o++)a.yearshtml+="<option value='"+o+"'"+(o===c?" selected='selected'":"")+">"+o+"</option>";a.yearshtml+="</select>",t+=a.yearshtml,a.yearshtml=null}return t+=this._get(a,"yearSuffix"),s&&(t+=(!f&&q&&r?"":"&#xa0;")+u),t+="</div>"},_adjustInstDate:function(a,b,c){var d=a.selectedYear+("Y"===c?b:0),e=a.selectedMonth+("M"===c?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+("D"===c?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),"M"!==c&&"Y"!==c||this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&b<c?c:b;return d&&e>d?d:e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return null==b?[1,1]:"number"==typeof b?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return new Date(a,b,1).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c,d,e=this._getMinMaxDate(a,"min"),f=this._getMinMaxDate(a,"max"),g=null,h=null,i=this._get(a,"yearRange");return i&&(c=i.split(":"),d=(new Date).getFullYear(),g=parseInt(c[0],10),h=parseInt(c[1],10),c[0].match(/[+\-].*/)&&(g+=d),c[1].match(/[+\-].*/)&&(h+=d)),(!e||b.getTime()>=e.getTime())&&(!f||b.getTime()<=f.getTime())&&(!g||b.getFullYear()>=g)&&(!h||b.getFullYear()<=h)},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b="string"!=typeof b?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?"object"==typeof b?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),a.fn.datepicker=function(b){if(!this.length)return this;a.datepicker.initialized||(a(document).on("mousedown",a.datepicker._checkExternalClick),a.datepicker.initialized=!0),0===a("#"+a.datepicker._mainDivId).length&&a("body").append(a.datepicker.dpDiv);var c=Array.prototype.slice.call(arguments,1);return"string"!=typeof b||"isDisabled"!==b&&"getDate"!==b&&"widget"!==b?"option"===b&&2===arguments.length&&"string"==typeof arguments[1]?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c)):this.each(function(){"string"==typeof b?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this].concat(c)):a.datepicker._attachDatepicker(this,b)}):a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c))},a.datepicker=new d,a.datepicker.initialized=!1,a.datepicker.uuid=(new Date).getTime(),a.datepicker.version="1.12.1";var r=(a.datepicker,a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),!1);a(document).on("mouseup",function(){r=!1});a.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.on("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).on("click."+this.widgetName,function(c){if(!0===a.data(c.target,b.widgetName+".preventClickEvent"))return a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(b){if(!r){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(b),this._mouseDownEvent=b;var c=this,d=1===b.which,e=!("string"!=typeof this.options.cancel||!b.target.nodeName)&&a(b.target).closest(this.options.cancel).length;return!(d&&!e&&this._mouseCapture(b))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(b)!==!1,!this._mouseStarted)?(b.preventDefault(),!0):(!0===a.data(b.target,this.widgetName+".preventClickEvent")&&a.removeData(b.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return c._mouseMove(a)},this._mouseUpDelegate=function(a){return c._mouseUp(a)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),b.preventDefault(),r=!0,!0))}},_mouseMove:function(b){if(this._mouseMoved){if(a.ui.ie&&(!document.documentMode||document.documentMode<9)&&!b.button)return this._mouseUp(b);if(!b.which)if(b.originalEvent.altKey||b.originalEvent.ctrlKey||b.originalEvent.metaKey||b.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(b)}return(b.which||b.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted)},_mouseUp:function(b){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target===this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,r=!1,b.preventDefault()},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),a.ui.plugin={add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c,d){var e,f=a.plugins[b];if(f&&(d||a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType))for(e=0;e<f.length;e++)a.options[f[e][0]]&&f[e][1].apply(a.element,c)}},a.ui.safeBlur=function(b){b&&"body"!==b.nodeName.toLowerCase()&&a(b).trigger("blur")};a.widget("ui.draggable",a.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(a,b){this._super(a,b),"handle"===a&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?void(this.destroyOnClear=!0):(this._removeHandleClassName(),void this._mouseDestroy())},_mouseCapture:function(b){var c=this.options;return!(this.helper||c.disabled||a(b.target).closest(".ui-resizable-handle").length>0)&&(this.handle=this._getHandle(b),!!this.handle&&(this._blurActiveElement(b),this._blockFrames(c.iframeFix===!0?"iframe":c.iframeFix),!0))},_blockFrames:function(b){this.iframeBlocks=this.document.find(b).map(function(){var b=a(this);return a("<div>").css("position","absolute").appendTo(b.parent()).outerWidth(b.outerWidth()).outerHeight(b.outerHeight()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(b){var c=a.ui.safeActiveElement(this.document[0]),d=a(b.target);d.closest(c).length||a.ui.safeBlur(c)},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===a(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(b),this.originalPosition=this.position=this._generatePosition(b,!1),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_refreshOffsets:function(a){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:a.pageX-this.offset.left,top:a.pageY-this.offset.top}},_mouseDrag:function(b,c){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(b,!0),this.positionAbs=this._convertPositionTo("absolute"),!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp(new a.Event("mouseup",b)),!1;this.position=d.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=this,d=!1;return a.ui.ddmanager&&!this.options.dropBehaviour&&(d=a.ui.ddmanager.drop(this,b)),this.dropped&&(d=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!d||"valid"===this.options.revert&&d||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d)?a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",b)!==!1&&c._clear()}):this._trigger("stop",b)!==!1&&this._clear(),!1},_mouseUp:function(b){return this._unblockFrames(),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),this.handleElement.is(b.target)&&this.element.trigger("focus"),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new a.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(b){return!this.options.handle||!!a(b.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper),e=d?a(c.helper.apply(this.element[0],[b])):"clone"===c.helper?this.element.clone().removeAttr("id"):this.element;return e.parents("body").length||e.appendTo("parent"===c.appendTo?this.element[0].parentNode:c.appendTo),d&&e[0]===this.element[0]&&this._setPositionRelative(),e[0]===this.element[0]||/(fixed|absolute)/.test(e.css("position"))||e.css("position","absolute"),e},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_isRootNode:function(a){return/(html|body)/i.test(a.tagName)||a===this.document[0]},_getParentOffset:function(){var b=this.offsetParent.offset(),c=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==c&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var a=this.element.position(),b=this._isRootNode(this.scrollParent[0]);return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+(b?0:this.scrollParent.scrollTop()),left:a.left-(parseInt(this.helper.css("left"),10)||0)+(b?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options,f=this.document[0];return this.relativeContainer=null,e.containment?"window"===e.containment?void(this.containment=[a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,a(window).scrollLeft()+a(window).width()-this.helperProportions.width-this.margins.left,a(window).scrollTop()+(a(window).height()||f.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===e.containment?void(this.containment=[0,0,a(f).width()-this.helperProportions.width-this.margins.left,(a(f).height()||f.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):e.containment.constructor===Array?void(this.containment=e.containment):("parent"===e.containment&&(e.containment=this.helper[0].parentNode),c=a(e.containment),d=c[0],void(d&&(b=/(scroll|auto)/.test(c.css("overflow")),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(b?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(b?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=c))):void(this.containment=null)},_convertPositionTo:function(a,b){b||(b=this.position);var c="absolute"===a?1:-1,d=this._isRootNode(this.scrollParent[0]);return{top:b.top+this.offset.relative.top*c+this.offset.parent.top*c-("fixed"===this.cssPosition?-this.offset.scroll.top:d?0:this.offset.scroll.top)*c,left:b.left+this.offset.relative.left*c+this.offset.parent.left*c-("fixed"===this.cssPosition?-this.offset.scroll.left:d?0:this.offset.scroll.left)*c}},_generatePosition:function(a,b){var c,d,e,f,g=this.options,h=this._isRootNode(this.scrollParent[0]),i=a.pageX,j=a.pageY;return h&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),b&&(this.containment&&(this.relativeContainer?(d=this.relativeContainer.offset(),c=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):c=this.containment,a.pageX-this.offset.click.left<c[0]&&(i=c[0]+this.offset.click.left),a.pageY-this.offset.click.top<c[1]&&(j=c[1]+this.offset.click.top),a.pageX-this.offset.click.left>c[2]&&(i=c[2]+this.offset.click.left),a.pageY-this.offset.click.top>c[3]&&(j=c[3]+this.offset.click.top)),g.grid&&(e=g.grid[1]?this.originalPageY+Math.round((j-this.originalPageY)/g.grid[1])*g.grid[1]:this.originalPageY,
+j=c?e-this.offset.click.top>=c[1]||e-this.offset.click.top>c[3]?e:e-this.offset.click.top>=c[1]?e-g.grid[1]:e+g.grid[1]:e,f=g.grid[0]?this.originalPageX+Math.round((i-this.originalPageX)/g.grid[0])*g.grid[0]:this.originalPageX,i=c?f-this.offset.click.left>=c[0]||f-this.offset.click.left>c[2]?f:f-this.offset.click.left>=c[0]?f-g.grid[0]:f+g.grid[0]:f),"y"===g.axis&&(i=this.originalPageX),"x"===g.axis&&(j=this.originalPageY)),{top:j-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:h?0:this.offset.scroll.top),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:h?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d,this],!0),/^(drag|start|stop)/.test(b)&&(this.positionAbs=this._convertPositionTo("absolute"),d.offset=this.positionAbs),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c,d){var e=a.extend({},c,{item:d.element});d.sortables=[],a(d.options.connectToSortable).each(function(){var c=a(this).sortable("instance");c&&!c.options.disabled&&(d.sortables.push(c),c.refreshPositions(),c._trigger("activate",b,e))})},stop:function(b,c,d){var e=a.extend({},c,{item:d.element});d.cancelHelperRemoval=!1,a.each(d.sortables,function(){var a=this;a.isOver?(a.isOver=0,d.cancelHelperRemoval=!0,a.cancelHelperRemoval=!1,a._storedCSS={position:a.placeholder.css("position"),top:a.placeholder.css("top"),left:a.placeholder.css("left")},a._mouseStop(b),a.options.helper=a.options._helper):(a.cancelHelperRemoval=!0,a._trigger("deactivate",b,e))})},drag:function(b,c,d){a.each(d.sortables,function(){var e=!1,f=this;f.positionAbs=d.positionAbs,f.helperProportions=d.helperProportions,f.offset.click=d.offset.click,f._intersectsWith(f.containerCache)&&(e=!0,a.each(d.sortables,function(){return this.positionAbs=d.positionAbs,this.helperProportions=d.helperProportions,this.offset.click=d.offset.click,this!==f&&this._intersectsWith(this.containerCache)&&a.contains(f.element[0],this.element[0])&&(e=!1),e})),e?(f.isOver||(f.isOver=1,d._parent=c.helper.parent(),f.currentItem=c.helper.appendTo(f.element).data("ui-sortable-item",!0),f.options._helper=f.options.helper,f.options.helper=function(){return c.helper[0]},b.target=f.currentItem[0],f._mouseCapture(b,!0),f._mouseStart(b,!0,!0),f.offset.click.top=d.offset.click.top,f.offset.click.left=d.offset.click.left,f.offset.parent.left-=d.offset.parent.left-f.offset.parent.left,f.offset.parent.top-=d.offset.parent.top-f.offset.parent.top,d._trigger("toSortable",b),d.dropped=f.element,a.each(d.sortables,function(){this.refreshPositions()}),d.currentItem=d.element,f.fromOutside=d),f.currentItem&&(f._mouseDrag(b),c.position=f.position)):f.isOver&&(f.isOver=0,f.cancelHelperRemoval=!0,f.options._revert=f.options.revert,f.options.revert=!1,f._trigger("out",b,f._uiHash(f)),f._mouseStop(b,!0),f.options.revert=f.options._revert,f.options.helper=f.options._helper,f.placeholder&&f.placeholder.remove(),c.helper.appendTo(d._parent),d._refreshOffsets(b),c.position=d._generatePosition(b,!0),d._trigger("fromSortable",b),d.dropped=!1,a.each(d.sortables,function(){this.refreshPositions()}))})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c,d){var e=a("body"),f=d.options;e.css("cursor")&&(f._cursor=e.css("cursor")),e.css("cursor",f.cursor)},stop:function(b,c,d){var e=d.options;e._cursor&&a("body").css("cursor",e._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c,d){var e=a(c.helper),f=d.options;e.css("opacity")&&(f._opacity=e.css("opacity")),e.css("opacity",f.opacity)},stop:function(b,c,d){var e=d.options;e._opacity&&a(c.helper).css("opacity",e._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(a,b,c){c.scrollParentNotHidden||(c.scrollParentNotHidden=c.helper.scrollParent(!1)),c.scrollParentNotHidden[0]!==c.document[0]&&"HTML"!==c.scrollParentNotHidden[0].tagName&&(c.overflowOffset=c.scrollParentNotHidden.offset())},drag:function(b,c,d){var e=d.options,f=!1,g=d.scrollParentNotHidden[0],h=d.document[0];g!==h&&"HTML"!==g.tagName?(e.axis&&"x"===e.axis||(d.overflowOffset.top+g.offsetHeight-b.pageY<e.scrollSensitivity?g.scrollTop=f=g.scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(g.scrollTop=f=g.scrollTop-e.scrollSpeed)),e.axis&&"y"===e.axis||(d.overflowOffset.left+g.offsetWidth-b.pageX<e.scrollSensitivity?g.scrollLeft=f=g.scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(g.scrollLeft=f=g.scrollLeft-e.scrollSpeed))):(e.axis&&"x"===e.axis||(b.pageY-a(h).scrollTop()<e.scrollSensitivity?f=a(h).scrollTop(a(h).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(h).scrollTop())<e.scrollSensitivity&&(f=a(h).scrollTop(a(h).scrollTop()+e.scrollSpeed))),e.axis&&"y"===e.axis||(b.pageX-a(h).scrollLeft()<e.scrollSensitivity?f=a(h).scrollLeft(a(h).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(h).scrollLeft())<e.scrollSensitivity&&(f=a(h).scrollLeft(a(h).scrollLeft()+e.scrollSpeed)))),f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c,d){var e=d.options;d.snapElements=[],a(e.snap.constructor!==String?e.snap.items||":data(ui-draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!==d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c,d){var e,f,g,h,i,j,k,l,m,n,o=d.options,p=o.snapTolerance,q=c.offset.left,r=q+d.helperProportions.width,s=c.offset.top,t=s+d.helperProportions.height;for(m=d.snapElements.length-1;m>=0;m--)i=d.snapElements[m].left-d.margins.left,j=i+d.snapElements[m].width,k=d.snapElements[m].top-d.margins.top,l=k+d.snapElements[m].height,r<i-p||q>j+p||t<k-p||s>l+p||!a.contains(d.snapElements[m].item.ownerDocument,d.snapElements[m].item)?(d.snapElements[m].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[m].item})),d.snapElements[m].snapping=!1):("inner"!==o.snapMode&&(e=Math.abs(k-t)<=p,f=Math.abs(l-s)<=p,g=Math.abs(i-r)<=p,h=Math.abs(j-q)<=p,e&&(c.position.top=d._convertPositionTo("relative",{top:k-d.helperProportions.height,left:0}).top),f&&(c.position.top=d._convertPositionTo("relative",{top:l,left:0}).top),g&&(c.position.left=d._convertPositionTo("relative",{top:0,left:i-d.helperProportions.width}).left),h&&(c.position.left=d._convertPositionTo("relative",{top:0,left:j}).left)),n=e||f||g||h,"outer"!==o.snapMode&&(e=Math.abs(k-s)<=p,f=Math.abs(l-t)<=p,g=Math.abs(i-q)<=p,h=Math.abs(j-r)<=p,e&&(c.position.top=d._convertPositionTo("relative",{top:k,left:0}).top),f&&(c.position.top=d._convertPositionTo("relative",{top:l-d.helperProportions.height,left:0}).top),g&&(c.position.left=d._convertPositionTo("relative",{top:0,left:i}).left),h&&(c.position.left=d._convertPositionTo("relative",{top:0,left:j-d.helperProportions.width}).left)),!d.snapElements[m].snapping&&(e||f||g||h||n)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[m].item})),d.snapElements[m].snapping=e||f||g||h||n)}}),a.ui.plugin.add("draggable","stack",{start:function(b,c,d){var e,f=d.options,g=a.makeArray(a(f.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});g.length&&(e=parseInt(a(g[0]).css("zIndex"),10)||0,a(g).each(function(b){a(this).css("zIndex",e+b)}),this.css("zIndex",e+g.length))}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c,d){var e=a(c.helper),f=d.options;e.css("zIndex")&&(f._zIndex=e.css("zIndex")),e.css("zIndex",f.zIndex)},stop:function(b,c,d){var e=d.options;e._zIndex&&a(c.helper).css("zIndex",e._zIndex)}});a.ui.draggable;a.widget("ui.resizable",a.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(a){return parseFloat(a)||0},_isNumber:function(a){return!isNaN(parseFloat(a))},_hasScroll:function(b,c){if("hidden"===a(b).css("overflow"))return!1;var d=c&&"left"===c?"scrollLeft":"scrollTop",e=!1;return b[d]>0||(b[d]=1,e=b[d]>0,b[d]=0,e)},_create:function(){var b,c=this.options,d=this;this._addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!c.aspectRatio,aspectRatio:c.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:c.helper||c.ghost||c.animate?c.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(a("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,b={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(b),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(b),this._proportionallyResize()),this._setupHandles(),c.autoHide&&a(this.element).on("mouseenter",function(){c.disabled||(d._removeClass("ui-resizable-autohide"),d._handles.show())}).on("mouseleave",function(){c.disabled||d.resizing||(d._addClass("ui-resizable-autohide"),d._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var b,c=function(b){a(b).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(c(this.element),b=this.element,this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}).insertAfter(b),b.remove()),this.originalElement.css("resize",this.originalResizeStyle),c(this.originalElement),this},_setOption:function(a,b){switch(this._super(a,b),a){case"handles":this._removeHandles(),this._setupHandles()}},_setupHandles:function(){var b,c,d,e,f,g=this.options,h=this;if(this.handles=g.handles||(a(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=a(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),d=this.handles.split(","),this.handles={},c=0;c<d.length;c++)b=a.trim(d[c]),e="ui-resizable-"+b,f=a("<div>"),this._addClass(f,"ui-resizable-handle "+e),f.css({zIndex:g.zIndex}),this.handles[b]=".ui-resizable-"+b,this.element.append(f);this._renderAxis=function(b){var c,d,e,f;b=b||this.element;for(c in this.handles)this.handles[c].constructor===String?this.handles[c]=this.element.children(this.handles[c]).first().show():(this.handles[c].jquery||this.handles[c].nodeType)&&(this.handles[c]=a(this.handles[c]),this._on(this.handles[c],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(d=a(this.handles[c],this.element),f=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth(),e=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join(""),b.css(e,f),this._proportionallyResize()),this._handles=this._handles.add(this.handles[c])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(f=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=f&&f[1]?f[1]:"se")}),g.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(b){var c,d,e=!1;for(c in this.handles)d=a(this.handles[c])[0],(d===b.target||a.contains(d,b.target))&&(e=!0);return!this.options.disabled&&e},_mouseStart:function(b){var c,d,e,f=this.options,g=this.element;return this.resizing=!0,this._renderProxy(),c=this._num(this.helper.css("left")),d=this._num(this.helper.css("top")),f.containment&&(c+=a(f.containment).scrollLeft()||0,d+=a(f.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:c,top:d},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:g.width(),height:g.height()},this.originalSize=this._helper?{width:g.outerWidth(),height:g.outerHeight()}:{width:g.width(),height:g.height()},this.sizeDiff={width:g.outerWidth()-g.width(),height:g.outerHeight()-g.height()},this.originalPosition={left:c,top:d},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio="number"==typeof f.aspectRatio?f.aspectRatio:this.originalSize.width/this.originalSize.height||1,e=a(".ui-resizable-"+this.axis).css("cursor"),a("body").css("cursor","auto"===e?this.axis+"-resize":e),this._addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c,d,e=this.originalMousePosition,f=this.axis,g=b.pageX-e.left||0,h=b.pageY-e.top||0,i=this._change[f];return this._updatePrevProperties(),!!i&&(c=i.apply(this,[b,g,h]),this._updateVirtualBoundaries(b.shiftKey),(this._aspectRatio||b.shiftKey)&&(c=this._updateRatio(c,b)),c=this._respectSize(c,b),this._updateCache(c),this._propagate("resize",b),d=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),a.isEmptyObject(d)||(this._updatePrevProperties(),this._trigger("resize",b,this.ui()),this._applyChanges()),!1)},_mouseStop:function(b){this.resizing=!1;var c,d,e,f,g,h,i,j=this.options,k=this;return this._helper&&(c=this._proportionallyResizeElements,d=c.length&&/textarea/i.test(c[0].nodeName),e=d&&this._hasScroll(c[0],"left")?0:k.sizeDiff.height,f=d?0:k.sizeDiff.width,g={width:k.helper.width()-f,height:k.helper.height()-e},h=parseFloat(k.element.css("left"))+(k.position.left-k.originalPosition.left)||null,i=parseFloat(k.element.css("top"))+(k.position.top-k.originalPosition.top)||null,j.animate||this.element.css(a.extend(g,{top:i,left:h})),k.helper.height(k.size.height),k.helper.width(k.size.width),this._helper&&!j.animate&&this._proportionallyResize()),a("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var a={};return this.position.top!==this.prevPosition.top&&(a.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(a.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(a.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(a.height=this.size.height+"px"),this.helper.css(a),a},_updateVirtualBoundaries:function(a){var b,c,d,e,f,g=this.options;f={minWidth:this._isNumber(g.minWidth)?g.minWidth:0,maxWidth:this._isNumber(g.maxWidth)?g.maxWidth:1/0,minHeight:this._isNumber(g.minHeight)?g.minHeight:0,maxHeight:this._isNumber(g.maxHeight)?g.maxHeight:1/0},(this._aspectRatio||a)&&(b=f.minHeight*this.aspectRatio,d=f.minWidth/this.aspectRatio,c=f.maxHeight*this.aspectRatio,e=f.maxWidth/this.aspectRatio,b>f.minWidth&&(f.minWidth=b),d>f.minHeight&&(f.minHeight=d),c<f.maxWidth&&(f.maxWidth=c),e<f.maxHeight&&(f.maxHeight=e)),this._vBoundaries=f},_updateCache:function(a){this.offset=this.helper.offset(),this._isNumber(a.left)&&(this.position.left=a.left),this._isNumber(a.top)&&(this.position.top=a.top),this._isNumber(a.height)&&(this.size.height=a.height),this._isNumber(a.width)&&(this.size.width=a.width)},_updateRatio:function(a){var b=this.position,c=this.size,d=this.axis;return this._isNumber(a.height)?a.width=a.height*this.aspectRatio:this._isNumber(a.width)&&(a.height=a.width/this.aspectRatio),"sw"===d&&(a.left=b.left+(c.width-a.width),a.top=null),"nw"===d&&(a.top=b.top+(c.height-a.height),a.left=b.left+(c.width-a.width)),a},_respectSize:function(a){var b=this._vBoundaries,c=this.axis,d=this._isNumber(a.width)&&b.maxWidth&&b.maxWidth<a.width,e=this._isNumber(a.height)&&b.maxHeight&&b.maxHeight<a.height,f=this._isNumber(a.width)&&b.minWidth&&b.minWidth>a.width,g=this._isNumber(a.height)&&b.minHeight&&b.minHeight>a.height,h=this.originalPosition.left+this.originalSize.width,i=this.originalPosition.top+this.originalSize.height,j=/sw|nw|w/.test(c),k=/nw|ne|n/.test(c);return f&&(a.width=b.minWidth),g&&(a.height=b.minHeight),d&&(a.width=b.maxWidth),e&&(a.height=b.maxHeight),f&&j&&(a.left=h-b.minWidth),d&&j&&(a.left=h-b.maxWidth),g&&k&&(a.top=i-b.minHeight),e&&k&&(a.top=i-b.maxHeight),a.width||a.height||a.left||!a.top?a.width||a.height||a.top||!a.left||(a.left=null):a.top=null,a},_getPaddingPlusBorderDimensions:function(a){for(var b=0,c=[],d=[a.css("borderTopWidth"),a.css("borderRightWidth"),a.css("borderBottomWidth"),a.css("borderLeftWidth")],e=[a.css("paddingTop"),a.css("paddingRight"),a.css("paddingBottom"),a.css("paddingLeft")];b<4;b++)c[b]=parseFloat(d[b])||0,c[b]+=parseFloat(e[b])||0;return{height:c[0]+c[2],width:c[1]+c[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var a,b=0,c=this.helper||this.element;b<this._proportionallyResizeElements.length;b++)a=this._proportionallyResizeElements[b],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(a)),a.css({height:c.height()-this.outerDimensions.height||0,width:c.width()-this.outerDimensions.width||0})},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset(),this._helper?(this.helper=this.helper||a("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++c.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(a,b){return{width:this.originalSize.width+b}},w:function(a,b){var c=this.originalSize,d=this.originalPosition;return{left:d.left+b,width:c.width-b}},n:function(a,b,c){var d=this.originalSize,e=this.originalPosition;return{top:e.top+c,height:d.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),"resize"!==b&&this._trigger(b,c,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),a.ui.plugin.add("resizable","animate",{stop:function(b){var c=a(this).resizable("instance"),d=c.options,e=c._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&c._hasScroll(e[0],"left")?0:c.sizeDiff.height,h=f?0:c.sizeDiff.width,i={width:c.size.width-h,height:c.size.height-g},j=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,k=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null;c.element.animate(a.extend(i,k&&j?{top:k,left:j}:{}),{duration:d.animateDuration,easing:d.animateEasing,step:function(){var d={width:parseFloat(c.element.css("width")),height:parseFloat(c.element.css("height")),top:parseFloat(c.element.css("top")),left:parseFloat(c.element.css("left"))};e&&e.length&&a(e[0]).css({width:d.width,height:d.height}),c._updateCache(d),c._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(){var b,c,d,e,f,g,h,i=a(this).resizable("instance"),j=i.options,k=i.element,l=j.containment,m=l instanceof a?l.get(0):/parent/.test(l)?k.parent().get(0):l;m&&(i.containerElement=a(m),/document/.test(l)||l===document?(i.containerOffset={left:0,top:0},i.containerPosition={left:0,top:0},i.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}):(b=a(m),c=[],a(["Top","Right","Left","Bottom"]).each(function(a,d){c[a]=i._num(b.css("padding"+d))}),i.containerOffset=b.offset(),i.containerPosition=b.position(),i.containerSize={height:b.innerHeight()-c[3],width:b.innerWidth()-c[1]},d=i.containerOffset,e=i.containerSize.height,f=i.containerSize.width,g=i._hasScroll(m,"left")?m.scrollWidth:f,h=i._hasScroll(m)?m.scrollHeight:e,i.parentData={element:m,left:d.left,top:d.top,width:g,height:h}))},resize:function(b){var c,d,e,f,g=a(this).resizable("instance"),h=g.options,i=g.containerOffset,j=g.position,k=g._aspectRatio||b.shiftKey,l={top:0,left:0},m=g.containerElement,n=!0;m[0]!==document&&/static/.test(m.css("position"))&&(l=i),j.left<(g._helper?i.left:0)&&(g.size.width=g.size.width+(g._helper?g.position.left-i.left:g.position.left-l.left),k&&(g.size.height=g.size.width/g.aspectRatio,n=!1),g.position.left=h.helper?i.left:0),j.top<(g._helper?i.top:0)&&(g.size.height=g.size.height+(g._helper?g.position.top-i.top:g.position.top),k&&(g.size.width=g.size.height*g.aspectRatio,n=!1),g.position.top=g._helper?i.top:0),e=g.containerElement.get(0)===g.element.parent().get(0),f=/relative|absolute/.test(g.containerElement.css("position")),e&&f?(g.offset.left=g.parentData.left+g.position.left,g.offset.top=g.parentData.top+g.position.top):(g.offset.left=g.element.offset().left,g.offset.top=g.element.offset().top),c=Math.abs(g.sizeDiff.width+(g._helper?g.offset.left-l.left:g.offset.left-i.left)),d=Math.abs(g.sizeDiff.height+(g._helper?g.offset.top-l.top:g.offset.top-i.top)),c+g.size.width>=g.parentData.width&&(g.size.width=g.parentData.width-c,k&&(g.size.height=g.size.width/g.aspectRatio,n=!1)),d+g.size.height>=g.parentData.height&&(g.size.height=g.parentData.height-d,k&&(g.size.width=g.size.height*g.aspectRatio,n=!1)),n||(g.position.left=g.prevPosition.left,g.position.top=g.prevPosition.top,g.size.width=g.prevSize.width,g.size.height=g.prevSize.height)},stop:function(){var b=a(this).resizable("instance"),c=b.options,d=b.containerOffset,e=b.containerPosition,f=b.containerElement,g=a(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width,j=g.outerHeight()-b.sizeDiff.height;b._helper&&!c.animate&&/relative/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j}),b._helper&&!c.animate&&/static/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j})}}),a.ui.plugin.add("resizable","alsoResize",{start:function(){var b=a(this).resizable("instance"),c=b.options;a(c.alsoResize).each(function(){var b=a(this);b.data("ui-resizable-alsoresize",{width:parseFloat(b.width()),height:parseFloat(b.height()),left:parseFloat(b.css("left")),top:parseFloat(b.css("top"))})})},resize:function(b,c){var d=a(this).resizable("instance"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0};a(e.alsoResize).each(function(){var b=a(this),d=a(this).data("ui-resizable-alsoresize"),e={},f=b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(f,function(a,b){var c=(d[b]||0)+(h[b]||0);c&&c>=0&&(e[b]=c||null)}),b.css(e)})},stop:function(){a(this).removeData("ui-resizable-alsoresize")}}),a.ui.plugin.add("resizable","ghost",{start:function(){var b=a(this).resizable("instance"),c=b.size;b.ghost=b.originalElement.clone(),b.ghost.css({opacity:.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}),b._addClass(b.ghost,"ui-resizable-ghost"),a.uiBackCompat!==!1&&"string"==typeof b.options.ghost&&b.ghost.addClass(this.options.ghost),b.ghost.appendTo(b.helper)},resize:function(){var b=a(this).resizable("instance");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=a(this).resizable("instance");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(){var b,c=a(this).resizable("instance"),d=c.options,e=c.size,f=c.originalSize,g=c.originalPosition,h=c.axis,i="number"==typeof d.grid?[d.grid,d.grid]:d.grid,j=i[0]||1,k=i[1]||1,l=Math.round((e.width-f.width)/j)*j,m=Math.round((e.height-f.height)/k)*k,n=f.width+l,o=f.height+m,p=d.maxWidth&&d.maxWidth<n,q=d.maxHeight&&d.maxHeight<o,r=d.minWidth&&d.minWidth>n,s=d.minHeight&&d.minHeight>o;d.grid=i,r&&(n+=j),s&&(o+=k),p&&(n-=j),q&&(o-=k),/^(se|s|e)$/.test(h)?(c.size.width=n,c.size.height=o):/^(ne)$/.test(h)?(c.size.width=n,c.size.height=o,c.position.top=g.top-m):/^(sw)$/.test(h)?(c.size.width=n,c.size.height=o,c.position.left=g.left-l):((o-k<=0||n-j<=0)&&(b=c._getPaddingPlusBorderDimensions(this)),o-k>0?(c.size.height=o,c.position.top=g.top-m):(o=k-b.height,c.size.height=o,c.position.top=g.top+f.height-o),n-j>0?(c.size.width=n,c.position.left=g.left-l):(n=j-b.width,c.size.width=n,c.position.left=g.left+f.width-n))}});a.ui.resizable;a.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(b){var c=a(this).css(b).offset().top;c<0&&a(this).css("top",b.top-c)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&a.fn.draggable&&this._makeDraggable(),this.options.resizable&&a.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var b=this.options.appendTo;return b&&(b.jquery||b.nodeType)?a(b):this.document.find(b||"body").eq(0)},_destroy:function(){var a,b=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),a=b.parent.children().eq(b.index),a.length&&a[0]!==this.element[0]?a.before(this.element):b.parent.append(this.element)},widget:function(){return this.uiDialog},disable:a.noop,enable:a.noop,close:function(b){var c=this;this._isOpen&&this._trigger("beforeClose",b)!==!1&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||a.ui.safeBlur(a.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){c._trigger("close",b)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(b,c){var d=!1,e=this.uiDialog.siblings(".ui-front:visible").map(function(){return+a(this).css("z-index")}).get(),f=Math.max.apply(null,e);return f>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",f+1),d=!0),d&&!c&&this._trigger("focus",b),d},open:function(){var b=this;return this._isOpen?void(this._moveToTop()&&this._focusTabbable()):(this._isOpen=!0,this.opener=a(a.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){b._focusTabbable(),b._trigger("focus")}),this._makeFocusTarget(),void this._trigger("open"))},_focusTabbable:function(){var a=this._focusedElement;a||(a=this.element.find("[autofocus]")),a.length||(a=this.element.find(":tabbable")),a.length||(a=this.uiDialogButtonPane.find(":tabbable")),a.length||(a=this.uiDialogTitlebarClose.filter(":tabbable")),a.length||(a=this.uiDialog),a.eq(0).trigger("focus")},_keepFocus:function(b){function c(){var b=a.ui.safeActiveElement(this.document[0]),c=this.uiDialog[0]===b||a.contains(this.uiDialog[0],b);c||this._focusTabbable()}b.preventDefault(),c.call(this),this._delay(c)},_createWrapper:function(){this.uiDialog=a("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(b){if(this.options.closeOnEscape&&!b.isDefaultPrevented()&&b.keyCode&&b.keyCode===a.ui.keyCode.ESCAPE)return b.preventDefault(),void this.close(b);if(b.keyCode===a.ui.keyCode.TAB&&!b.isDefaultPrevented()){var c=this.uiDialog.find(":tabbable"),d=c.filter(":first"),e=c.filter(":last");b.target!==e[0]&&b.target!==this.uiDialog[0]||b.shiftKey?b.target!==d[0]&&b.target!==this.uiDialog[0]||!b.shiftKey||(this._delay(function(){e.trigger("focus")}),b.preventDefault()):(this._delay(function(){d.trigger("focus")}),b.preventDefault())}},mousedown:function(a){this._moveToTop(a)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var b;this.uiDialogTitlebar=a("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(b){a(b.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=a("<button type='button'></button>").button({label:a("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),
+this._on(this.uiDialogTitlebarClose,{click:function(a){a.preventDefault(),this.close(a)}}),b=a("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(b,"ui-dialog-title"),this._title(b),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":b.attr("id")})},_title:function(a){this.options.title?a.text(this.options.title):a.html("&#160;")},_createButtonPane:function(){this.uiDialogButtonPane=a("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=a("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var b=this,c=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),a.isEmptyObject(c)||a.isArray(c)&&!c.length?void this._removeClass(this.uiDialog,"ui-dialog-buttons"):(a.each(c,function(c,d){var e,f;d=a.isFunction(d)?{click:d,text:c}:d,d=a.extend({type:"button"},d),e=d.click,f={icon:d.icon,iconPosition:d.iconPosition,showLabel:d.showLabel,icons:d.icons,text:d.text},delete d.click,delete d.icon,delete d.iconPosition,delete d.showLabel,delete d.icons,"boolean"==typeof d.text&&delete d.text,a("<button></button>",d).button(f).appendTo(b.uiButtonSet).on("click",function(){e.apply(b.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),void this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){function b(a){return{position:a.position,offset:a.offset}}var c=this,d=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,e){c._addClass(a(this),"ui-dialog-dragging"),c._blockFrames(),c._trigger("dragStart",d,b(e))},drag:function(a,d){c._trigger("drag",a,b(d))},stop:function(e,f){var g=f.offset.left-c.document.scrollLeft(),h=f.offset.top-c.document.scrollTop();d.position={my:"left top",at:"left"+(g>=0?"+":"")+g+" top"+(h>=0?"+":"")+h,of:c.window},c._removeClass(a(this),"ui-dialog-dragging"),c._unblockFrames(),c._trigger("dragStop",e,b(f))}})},_makeResizable:function(){function b(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}var c=this,d=this.options,e=d.resizable,f=this.uiDialog.css("position"),g="string"==typeof e?e:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:d.maxWidth,maxHeight:d.maxHeight,minWidth:d.minWidth,minHeight:this._minHeight(),handles:g,start:function(d,e){c._addClass(a(this),"ui-dialog-resizing"),c._blockFrames(),c._trigger("resizeStart",d,b(e))},resize:function(a,d){c._trigger("resize",a,b(d))},stop:function(e,f){var g=c.uiDialog.offset(),h=g.left-c.document.scrollLeft(),i=g.top-c.document.scrollTop();d.height=c.uiDialog.height(),d.width=c.uiDialog.width(),d.position={my:"left top",at:"left"+(h>=0?"+":"")+h+" top"+(i>=0?"+":"")+i,of:c.window},c._removeClass(a(this),"ui-dialog-resizing"),c._unblockFrames(),c._trigger("resizeStop",e,b(f))}}).css("position",f)},_trackFocus:function(){this._on(this.widget(),{focusin:function(b){this._makeFocusTarget(),this._focusedElement=a(b.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var b=this._trackingInstances(),c=a.inArray(this,b);c!==-1&&b.splice(c,1)},_trackingInstances:function(){var a=this.document.data("ui-dialog-instances");return a||(a=[],this.document.data("ui-dialog-instances",a)),a},_minHeight:function(){var a=this.options;return"auto"===a.height?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(){var a=this.uiDialog.is(":visible");a||this.uiDialog.show(),this.uiDialog.position(this.options.position),a||this.uiDialog.hide()},_setOptions:function(b){var c=this,d=!1,e={};a.each(b,function(a,b){c._setOption(a,b),a in c.sizeRelatedOptions&&(d=!0),a in c.resizableRelatedOptions&&(e[a]=b)}),d&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",e)},_setOption:function(b,c){var d,e,f=this.uiDialog;"disabled"!==b&&(this._super(b,c),"appendTo"===b&&this.uiDialog.appendTo(this._appendTo()),"buttons"===b&&this._createButtons(),"closeText"===b&&this.uiDialogTitlebarClose.button({label:a("<a>").text(""+this.options.closeText).html()}),"draggable"===b&&(d=f.is(":data(ui-draggable)"),d&&!c&&f.draggable("destroy"),!d&&c&&this._makeDraggable()),"position"===b&&this._position(),"resizable"===b&&(e=f.is(":data(ui-resizable)"),e&&!c&&f.resizable("destroy"),e&&"string"==typeof c&&f.resizable("option","handles",c),e||c===!1||this._makeResizable()),"title"===b&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var a,b,c,d=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),d.minWidth>d.width&&(d.width=d.minWidth),a=this.uiDialog.css({height:"auto",width:d.width}).outerHeight(),b=Math.max(0,d.minHeight-a),c="number"==typeof d.maxHeight?Math.max(0,d.maxHeight-a):"none","auto"===d.height?this.element.css({minHeight:b,maxHeight:c,height:"auto"}):this.element.height(Math.max(0,d.height-a)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var b=a(this);return a("<div>").css({position:"absolute",width:b.outerWidth(),height:b.outerHeight()}).appendTo(b.parent()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(b){return!!a(b.target).closest(".ui-dialog").length||!!a(b.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var b=!0;this._delay(function(){b=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(a){b||this._allowInteraction(a)||(a.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=a("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var a=this.document.data("ui-dialog-overlays")-1;a?this.document.data("ui-dialog-overlays",a):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),a.uiBackCompat!==!1&&a.widget("ui.dialog",a.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(a,b){"dialogClass"===a&&this.uiDialog.removeClass(this.options.dialogClass).addClass(b),this._superApply(arguments)}});a.ui.dialog;a.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var b,c=this.options,d=c.accept;this.isover=!1,this.isout=!0,this.accept=a.isFunction(d)?d:function(a){return a.is(d)},this.proportions=function(){return arguments.length?void(b=arguments[0]):b?b:b={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(c.scope),c.addClasses&&this._addClass("ui-droppable")},_addToManager:function(b){a.ui.ddmanager.droppables[b]=a.ui.ddmanager.droppables[b]||[],a.ui.ddmanager.droppables[b].push(this)},_splice:function(a){for(var b=0;b<a.length;b++)a[b]===this&&a.splice(b,1)},_destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];this._splice(b)},_setOption:function(b,c){if("accept"===b)this.accept=a.isFunction(c)?c:function(a){return a.is(c)};else if("scope"===b){var d=a.ui.ddmanager.droppables[this.options.scope];this._splice(d),this._addToManager(c)}this._super(b,c)},_activate:function(b){var c=a.ui.ddmanager.current;this._addActiveClass(),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this._removeActiveClass(),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this._addHoverClass(),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this._removeHoverClass(),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current,e=!1;return!(!d||(d.currentItem||d.element)[0]===this.element[0])&&(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var c=a(this).droppable("instance");if(c.options.greedy&&!c.options.disabled&&c.options.scope===d.options.scope&&c.accept.call(c.element[0],d.currentItem||d.element)&&s(d,a.extend(c,{offset:c.element.offset()}),c.options.tolerance,b))return e=!0,!1}),!e&&(!!this.accept.call(this.element[0],d.currentItem||d.element)&&(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",b,this.ui(d)),this.element)))},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var s=a.ui.intersect=function(){function a(a,b,c){return a>=b&&a<b+c}return function(b,c,d,e){if(!c.offset)return!1;var f=(b.positionAbs||b.position.absolute).left+b.margins.left,g=(b.positionAbs||b.position.absolute).top+b.margins.top,h=f+b.helperProportions.width,i=g+b.helperProportions.height,j=c.offset.left,k=c.offset.top,l=j+c.proportions().width,m=k+c.proportions().height;switch(d){case"fit":return j<=f&&h<=l&&k<=g&&i<=m;case"intersect":return j<f+b.helperProportions.width/2&&h-b.helperProportions.width/2<l&&k<g+b.helperProportions.height/2&&i-b.helperProportions.height/2<m;case"pointer":return a(e.pageY,k,c.proportions().height)&&a(e.pageX,j,c.proportions().width);case"touch":return(g>=k&&g<=m||i>=k&&i<=m||g<k&&i>m)&&(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l);default:return!1}}}();a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d,e,f=a.ui.ddmanager.droppables[b.options.scope]||[],g=c?c.type:null,h=(b.currentItem||b.element).find(":data(ui-droppable)").addBack();a:for(d=0;d<f.length;d++)if(!(f[d].options.disabled||b&&!f[d].accept.call(f[d].element[0],b.currentItem||b.element))){for(e=0;e<h.length;e++)if(h[e]===f[d].element[0]){f[d].proportions().height=0;continue a}f[d].visible="none"!==f[d].element.css("display"),f[d].visible&&("mousedown"===g&&f[d]._activate.call(f[d],c),f[d].offset=f[d].element.offset(),f[d].proportions({width:f[d].element[0].offsetWidth,height:f[d].element[0].offsetHeight}))}},drop:function(b,c){var d=!1;return a.each((a.ui.ddmanager.droppables[b.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&s(b,this,this.options.tolerance,c)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,c)))}),d},dragStart:function(b,c){b.element.parentsUntil("body").on("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var d,e,f,g=s(b,this,this.options.tolerance,c),h=!g&&this.isover?"isout":g&&!this.isover?"isover":null;h&&(this.options.greedy&&(e=this.options.scope,f=this.element.parents(":data(ui-droppable)").filter(function(){return a(this).droppable("instance").options.scope===e}),f.length&&(d=a(f[0]).droppable("instance"),d.greedyChild="isover"===h)),d&&"isover"===h&&(d.isover=!1,d.isout=!0,d._out.call(d,c)),this[h]=!0,this["isout"===h?"isover":"isout"]=!1,this["isover"===h?"_over":"_out"].call(this,c),d&&"isout"===h&&(d.isout=!1,d.isover=!0,d._over.call(d,c)))}})},dragStop:function(b,c){b.element.parentsUntil("body").off("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}},a.uiBackCompat!==!1&&a.widget("ui.droppable",a.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}});a.ui.droppable,a.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=a("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(a){return void 0===a?this.options.value:(this.options.value=this._constrainedValue(a),void this._refreshValue())},_constrainedValue:function(a){return void 0===a&&(a=this.options.value),this.indeterminate=a===!1,"number"!=typeof a&&(a=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,a))},_setOptions:function(a){var b=a.value;delete a.value,this._super(a),this.options.value=this._constrainedValue(b),this._refreshValue()},_setOption:function(a,b){"max"===a&&(b=Math.max(this.min,b)),this._super(a,b)},_setOptionDisabled:function(a){this._super(a),this.element.attr("aria-disabled",a),this._toggleClass(null,"ui-state-disabled",!!a)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var b=this.options.value,c=this._percentage();this.valueDiv.toggle(this.indeterminate||b>this.min).width(c.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,b===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=a("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":b}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==b&&(this.oldValue=b,this._trigger("change")),b===this.options.max&&this._trigger("complete")}}),a.widget("ui.selectable",a.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var b=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){b.elementPos=a(b.element[0]).offset(),b.selectees=a(b.options.filter,b.element[0]),b._addClass(b.selectees,"ui-selectee"),b.selectees.each(function(){var c=a(this),d=c.offset(),e={left:d.left-b.elementPos.left,top:d.top-b.elementPos.top};a.data(this,"selectable-item",{element:this,$element:c,left:e.left,top:e.top,right:e.left+c.outerWidth(),bottom:e.top+c.outerHeight(),startselected:!1,selected:c.hasClass("ui-selected"),selecting:c.hasClass("ui-selecting"),unselecting:c.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=a("<div>"),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(b){var c=this,d=this.options;this.opos=[b.pageX,b.pageY],this.elementPos=a(this.element[0]).offset(),this.options.disabled||(this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.pageX,top:b.pageY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,b.metaKey||b.ctrlKey||(c._removeClass(d.$element,"ui-selected"),d.selected=!1,c._addClass(d.$element,"ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().addBack().each(function(){var d,e=a.data(this,"selectable-item");if(e)return d=!b.metaKey&&!b.ctrlKey||!e.$element.hasClass("ui-selected"),c._removeClass(e.$element,d?"ui-unselecting":"ui-selected")._addClass(e.$element,d?"ui-selecting":"ui-unselecting"),e.unselecting=!d,e.selecting=d,e.selected=d,d?c._trigger("selecting",b,{selecting:e.element}):c._trigger("unselecting",b,{unselecting:e.element}),!1}))},_mouseDrag:function(b){if(this.dragged=!0,!this.options.disabled){var c,d=this,e=this.options,f=this.opos[0],g=this.opos[1],h=b.pageX,i=b.pageY;return f>h&&(c=h,h=f,f=c),g>i&&(c=i,i=g,g=c),this.helper.css({left:f,top:g,width:h-f,height:i-g}),this.selectees.each(function(){var c=a.data(this,"selectable-item"),j=!1,k={};c&&c.element!==d.element[0]&&(k.left=c.left+d.elementPos.left,k.right=c.right+d.elementPos.left,k.top=c.top+d.elementPos.top,k.bottom=c.bottom+d.elementPos.top,"touch"===e.tolerance?j=!(k.left>h||k.right<f||k.top>i||k.bottom<g):"fit"===e.tolerance&&(j=k.left>f&&k.right<h&&k.top>g&&k.bottom<i),j?(c.selected&&(d._removeClass(c.$element,"ui-selected"),c.selected=!1),c.unselecting&&(d._removeClass(c.$element,"ui-unselecting"),c.unselecting=!1),c.selecting||(d._addClass(c.$element,"ui-selecting"),c.selecting=!0,d._trigger("selecting",b,{selecting:c.element}))):(c.selecting&&((b.metaKey||b.ctrlKey)&&c.startselected?(d._removeClass(c.$element,"ui-selecting"),c.selecting=!1,d._addClass(c.$element,"ui-selected"),c.selected=!0):(d._removeClass(c.$element,"ui-selecting"),c.selecting=!1,c.startselected&&(d._addClass(c.$element,"ui-unselecting"),c.unselecting=!0),d._trigger("unselecting",b,{unselecting:c.element}))),c.selected&&(b.metaKey||b.ctrlKey||c.startselected||(d._removeClass(c.$element,"ui-selected"),c.selected=!1,d._addClass(c.$element,"ui-unselecting"),c.unselecting=!0,d._trigger("unselecting",b,{unselecting:c.element})))))}),!1}},_mouseStop:function(b){var c=this;return this.dragged=!1,a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");c._removeClass(d.$element,"ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");c._removeClass(d.$element,"ui-selecting")._addClass(d.$element,"ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove(),!1}}),a.widget("ui.selectmenu",[a.ui.formResetMixin,{version:"1.12.1",defaultElement:"<select>",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var b=this.element.uniqueId().attr("id");this.ids={element:b,button:b+"-button",menu:b+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=a()},_drawButton:function(){var b,c=this,d=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(a){this.button.focus(),a.preventDefault()}}),this.element.hide(),this.button=a("<span>",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),b=a("<span>").appendTo(this.button),this._addClass(b,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(d).appendTo(this.button),this.options.width!==!1&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){c._rendered||c._refreshMenu()})},_drawMenu:function(){var b=this;this.menu=a("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=a("<div>").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(a,c){a.preventDefault(),b._setSelection(),b._select(c.item.data("ui-selectmenu-item"),a)},focus:function(a,c){var d=c.item.data("ui-selectmenu-item");null!=b.focusIndex&&d.index!==b.focusIndex&&(b._trigger("focus",a,{item:d}),b.isOpen||b._select(d,a)),b.focusIndex=d.index,b.button.attr("aria-activedescendant",b.menuItems.eq(d.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var a,b=this.element.find("option");this.menu.empty(),this._parseOptions(b),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,b.length&&(a=this._getSelectedItem(),this.menuInstance.focus(null,a),this._setAria(a.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(a){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",a)))},_position:function(){this.menuWrap.position(a.extend({of:this.button},this.options.position))},close:function(a){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",a))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(b){var c=a("<span>");return this._setText(c,b.label),this._addClass(c,"ui-selectmenu-text"),c},_renderMenu:function(b,c){var d=this,e="";a.each(c,function(c,f){var g;f.optgroup!==e&&(g=a("<li>",{text:f.optgroup}),d._addClass(g,"ui-selectmenu-optgroup","ui-menu-divider"+(f.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),g.appendTo(b),e=f.optgroup),d._renderItemData(b,f)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-selectmenu-item",b)},_renderItem:function(b,c){var d=a("<li>"),e=a("<div>",{title:c.element.attr("title")});return c.disabled&&this._addClass(d,null,"ui-state-disabled"),this._setText(e,c.label),d.append(e).appendTo(b)},_setText:function(a,b){b?a.text(b):a.html("&#160;")},_move:function(a,b){var c,d,e=".ui-menu-item";this.isOpen?c=this.menuItems.eq(this.focusIndex).parent("li"):(c=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),e+=":not(.ui-state-disabled)"),d="first"===a||"last"===a?c["first"===a?"prevAll":"nextAll"](e).eq(-1):c[a+"All"](e).eq(0),d.length&&this.menuInstance.focus(b,d)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(a){this[this.isOpen?"close":"open"](a)},_setSelection:function(){var a;this.range&&(window.getSelection?(a=window.getSelection(),a.removeAllRanges(),a.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(b){this.isOpen&&(a(b.target).closest(".ui-selectmenu-menu, #"+a.ui.escapeSelector(this.ids.button)).length||this.close(b))}},_buttonEvents:{mousedown:function(){var a;window.getSelection?(a=window.getSelection(),a.rangeCount&&(this.range=a.getRangeAt(0))):this.range=document.selection.createRange()},click:function(a){this._setSelection(),this._toggle(a)},keydown:function(b){var c=!0;switch(b.keyCode){case a.ui.keyCode.TAB:case a.ui.keyCode.ESCAPE:this.close(b),c=!1;break;case a.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(b);break;case a.ui.keyCode.UP:b.altKey?this._toggle(b):this._move("prev",b);break;case a.ui.keyCode.DOWN:b.altKey?this._toggle(b):this._move("next",b);break;case a.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(b):this._toggle(b);break;case a.ui.keyCode.LEFT:this._move("prev",b);break;case a.ui.keyCode.RIGHT:this._move("next",b);break;case a.ui.keyCode.HOME:case a.ui.keyCode.PAGE_UP:this._move("first",b);break;case a.ui.keyCode.END:case a.ui.keyCode.PAGE_DOWN:this._move("last",b);break;default:this.menu.trigger(b),c=!1}c&&b.preventDefault()}},_selectFocusedItem:function(a){var b=this.menuItems.eq(this.focusIndex).parent("li");b.hasClass("ui-state-disabled")||this._select(b.data("ui-selectmenu-item"),a)},_select:function(a,b){var c=this.element[0].selectedIndex;this.element[0].selectedIndex=a.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(a)),this._setAria(a),this._trigger("select",b,{item:a}),a.index!==c&&this._trigger("change",b,{item:a}),this.close(b)},_setAria:function(a){var b=this.menuItems.eq(a.index).attr("id");this.button.attr({"aria-labelledby":b,"aria-activedescendant":b}),this.menu.attr("aria-activedescendant",b)},_setOption:function(a,b){if("icons"===a){var c=this.button.find("span.ui-icon");this._removeClass(c,null,this.options.icons.button)._addClass(c,null,b.button)}this._super(a,b),"appendTo"===a&&this.menuWrap.appendTo(this._appendTo()),"width"===a&&this._resizeButton()},_setOptionDisabled:function(a){this._super(a),this.menuInstance.option("disabled",a),this.button.attr("aria-disabled",a),this._toggleClass(this.button,null,"ui-state-disabled",a),this.element.prop("disabled",a),a?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),b&&b[0]||(b=this.element.closest(".ui-front, dialog")),b.length||(b=this.document[0].body),b},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var a=this.options.width;return a===!1?void this.button.css("width",""):(null===a&&(a=this.element.show().outerWidth(),this.element.hide()),void this.button.outerWidth(a))},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var a=this._super();return a.disabled=this.element.prop("disabled"),a},_parseOptions:function(b){var c=this,d=[];b.each(function(b,e){d.push(c._parseOption(a(e),b))}),this.items=d},_parseOption:function(a,b){var c=a.parent("optgroup");return{element:a,index:b,value:a.val(),label:a.text(),optgroup:c.attr("label")||"",disabled:c.prop("disabled")||a.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),a.widget("ui.slider",a.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var b,c,d=this.options,e=this.element.find(".ui-slider-handle"),f="<span tabindex='0'></span>",g=[];for(c=d.values&&d.values.length||1,e.length>c&&(e.slice(c).remove(),e=e.slice(0,c)),b=e.length;b<c;b++)g.push(f);this.handles=e.add(a(g.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(b){a(this).data("ui-slider-handle-index",b).attr("tabIndex",0)})},_createRange:function(){var b=this.options;b.range?(b.range===!0&&(b.values?b.values.length&&2!==b.values.length?b.values=[b.values[0],b.values[0]]:a.isArray(b.values)&&(b.values=b.values.slice(0)):b.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=a("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==b.range&&"max"!==b.range||this._addClass(this.range,"ui-slider-range-"+b.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(b){var c,d,e,f,g,h,i,j,k=this,l=this.options;return!l.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),c={x:b.pageX,y:b.pageY},d=this._normValueFromMouse(c),e=this._valueMax()-this._valueMin()+1,this.handles.each(function(b){var c=Math.abs(d-k.values(b));(e>c||e===c&&(b===k._lastChangedValue||k.values(b)===l.min))&&(e=c,f=a(this),g=b)}),h=this._start(b,g),h!==!1&&(this._mouseSliding=!0,this._handleIndex=g,this._addClass(f,null,"ui-state-active"),f.trigger("focus"),i=f.offset(),j=!a(b.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=j?{left:0,top:0}:{left:b.pageX-i.left-f.width()/2,top:b.pageY-i.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,g,d),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),
+this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return"horizontal"===this.orientation?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),d<0&&(d=0),"vertical"===this.orientation&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_uiHash:function(a,b,c){var d={handle:this.handles[a],handleIndex:a,value:void 0!==b?b:this.value()};return this._hasMultipleValues()&&(d.value=void 0!==b?b:this.values(a),d.values=c||this.values()),d},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(a,b){return this._trigger("start",a,this._uiHash(b))},_slide:function(a,b,c){var d,e,f=this.value(),g=this.values();this._hasMultipleValues()&&(e=this.values(b?0:1),f=this.values(b),2===this.options.values.length&&this.options.range===!0&&(c=0===b?Math.min(e,c):Math.max(e,c)),g[b]=c),c!==f&&(d=this._trigger("slide",a,this._uiHash(b,c,g)),d!==!1&&(this._hasMultipleValues()?this.values(b,c):this.value(c)))},_stop:function(a,b){this._trigger("stop",a,this._uiHash(b))},_change:function(a,b){this._keySliding||this._mouseSliding||(this._lastChangedValue=b,this._trigger("change",a,this._uiHash(b)))},value:function(a){return arguments.length?(this.options.value=this._trimAlignValue(a),this._refreshValue(),void this._change(null,0)):this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)return this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),void this._change(null,b);if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this._hasMultipleValues()?this._values(b):this.value();for(d=this.options.values,e=arguments[0],f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;switch("range"===b&&this.options.range===!0&&("min"===c?(this.options.value=this._values(0),this.options.values=null):"max"===c&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),a.isArray(this.options.values)&&(e=this.options.values.length),this._super(b,c),b){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(c),this.handles.css("horizontal"===c?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),d=e-1;d>=0;d--)this._change(null,d);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(a){this._super(a),this._toggleClass(null,"ui-state-disabled",!!a)},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b);if(this._hasMultipleValues()){for(c=this.options.values.slice(),d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c}return[]},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return 2*Math.abs(c)>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_calculateNewMax:function(){var a=this.options.max,b=this._valueMin(),c=this.options.step,d=Math.round((a-b)/c)*c;a=d+b,a>this.options.max&&(a-=c),this.max=parseFloat(a.toFixed(this._precision()))},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return c===-1?0:b.length-c-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(a){"vertical"===a&&this.range.css({width:"",left:""}),"horizontal"===a&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var b,c,d,e,f,g=this.options.range,h=this.options,i=this,j=!this._animateOff&&h.animate,k={};this._hasMultipleValues()?this.handles.each(function(d){c=(i.values(d)-i._valueMin())/(i._valueMax()-i._valueMin())*100,k["horizontal"===i.orientation?"left":"bottom"]=c+"%",a(this).stop(1,1)[j?"animate":"css"](k,h.animate),i.options.range===!0&&("horizontal"===i.orientation?(0===d&&i.range.stop(1,1)[j?"animate":"css"]({left:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({width:c-b+"%"},{queue:!1,duration:h.animate})):(0===d&&i.range.stop(1,1)[j?"animate":"css"]({bottom:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({height:c-b+"%"},{queue:!1,duration:h.animate}))),b=c}):(d=this.value(),e=this._valueMin(),f=this._valueMax(),c=f!==e?(d-e)/(f-e)*100:0,k["horizontal"===this.orientation?"left":"bottom"]=c+"%",this.handle.stop(1,1)[j?"animate":"css"](k,h.animate),"min"===g&&"horizontal"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({width:c+"%"},h.animate),"max"===g&&"horizontal"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({width:100-c+"%"},h.animate),"min"===g&&"vertical"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({height:c+"%"},h.animate),"max"===g&&"vertical"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({height:100-c+"%"},h.animate))},_handleEvents:{keydown:function(b){var c,d,e,f,g=a(b.target).data("ui-slider-handle-index");switch(b.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(b.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(a(b.target),null,"ui-state-active"),c=this._start(b,g),c===!1))return}switch(f=this.options.step,d=e=this._hasMultipleValues()?this.values(g):this.value(),b.keyCode){case a.ui.keyCode.HOME:e=this._valueMin();break;case a.ui.keyCode.END:e=this._valueMax();break;case a.ui.keyCode.PAGE_UP:e=this._trimAlignValue(d+(this._valueMax()-this._valueMin())/this.numPages);break;case a.ui.keyCode.PAGE_DOWN:e=this._trimAlignValue(d-(this._valueMax()-this._valueMin())/this.numPages);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(d===this._valueMax())return;e=this._trimAlignValue(d+f);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(d===this._valueMin())return;e=this._trimAlignValue(d-f)}this._slide(b,g,e)},keyup:function(b){var c=a(b.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(b,c),this._change(b,c),this._removeClass(a(b.target),null,"ui-state-active"))}}}),a.widget("ui.sortable",a.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(a,b,c){return a>=b&&a<b+c},_isFloating:function(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(a,b){this._super(a,b),"handle"===a&&this._setHandleClassName()},_setHandleClassName:function(){var b=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),a.each(this.items,function(){b._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return!this.reverting&&(!this.options.disabled&&"static"!==this.options.type&&(this._refreshItems(b),a(b.target).parents().each(function(){if(a.data(this,f.widgetName+"-item")===f)return d=a(this),!1}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),!!d&&(!(this.options.handle&&!c&&(a(this.options.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),!e))&&(this.currentItem=d,this._removeCurrentsFromItems(),!0))))},_mouseStart:function(b,c,d){var e,f,g=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),g.containment&&this._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=this.document.find("body"),this.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),this.storedStylesheet=a("<style>*{ cursor: "+g.cursor+" !important; }</style>").appendTo(f)),g.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",g.opacity)),g.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",g.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!d)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",b,this._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this.options,h=!1;for(this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<g.scrollSensitivity?this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop+g.scrollSpeed:b.pageY-this.overflowOffset.top<g.scrollSensitivity&&(this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop-g.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<g.scrollSensitivity?this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft+g.scrollSpeed:b.pageX-this.overflowOffset.left<g.scrollSensitivity&&(this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft-g.scrollSpeed)):(b.pageY-this.document.scrollTop()<g.scrollSensitivity?h=this.document.scrollTop(this.document.scrollTop()-g.scrollSpeed):this.window.height()-(b.pageY-this.document.scrollTop())<g.scrollSensitivity&&(h=this.document.scrollTop(this.document.scrollTop()+g.scrollSpeed)),b.pageX-this.document.scrollLeft()<g.scrollSensitivity?h=this.document.scrollLeft(this.document.scrollLeft()-g.scrollSpeed):this.window.width()-(b.pageX-this.document.scrollLeft())<g.scrollSensitivity&&(h=this.document.scrollLeft(this.document.scrollLeft()+g.scrollSpeed))),h!==!1&&a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),c=this.items.length-1;c>=0;c--)if(d=this.items[c],e=d.item[0],f=this._intersectsWithPointer(d),f&&d.instance===this.currentContainer&&!(e===this.currentItem[0]||this.placeholder[1===f?"next":"prev"]()[0]===e||a.contains(this.placeholder[0],e)||"semi-dynamic"===this.options.type&&a.contains(this.element[0],e))){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(d))break;this._rearrange(b,d),this._trigger("change",b,this._uiHash());break}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(b){if(a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b),this.options.revert){var d=this,e=this.placeholder.offset(),f=this.options.axis,g={};f&&"x"!==f||(g.left=e.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,a(this.helper).animate(g,parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new a.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--)this.containers[b]._trigger("deactivate",null,this._uiHash(this)),this.containers[b].containerCache.over&&(this.containers[b]._trigger("out",null,this._uiHash(this)),this.containers[b].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.options.axis||d+j>h&&d+j<i,m="y"===this.options.axis||b+k>f&&b+k<g,n=l&&m;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(a){var b,c,d="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height),e="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width),f=d&&e;return!!f&&(b=this._getDragVerticalDirection(),c=this._getDragHorizontalDirection(),this.floating?"right"===c||"down"===b?2:1:b&&("down"===b?2:1))},_intersectsWithSides:function(a){var b=this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height),c=this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width),d=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?"right"===e&&c||"left"===e&&!c:d&&("down"===d&&b||"up"===d&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return 0!==a&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){function c(){h.push(this)}var d,e,f,g,h=[],i=[],j=this._connectWith();if(j&&b)for(d=j.length-1;d>=0;d--)for(f=a(j[d],this.document[0]),e=f.length-1;e>=0;e--)g=a.data(f[e],this.widgetFullName),g&&g!==this&&!g.options.disabled&&i.push([a.isFunction(g.options.items)?g.options.items.call(g.element):a(g.options.items,g.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),g]);for(i.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),d=i.length-1;d>=0;d--)i[d][0].each(c);return a(h)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=a.grep(this.items,function(a){for(var c=0;c<b.length;c++)if(b[c]===a.item[0])return!1;return!0})},_refreshItems:function(b){this.items=[],this.containers=[this];var c,d,e,f,g,h,i,j,k=this.items,l=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],m=this._connectWith();if(m&&this.ready)for(c=m.length-1;c>=0;c--)for(e=a(m[c],this.document[0]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&(l.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],b,{item:this.currentItem}):a(f.options.items,f.element),f]),this.containers.push(f));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;d<j;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.floating=!!this.items.length&&("x"===this.options.axis||this._isFloating(this.items[0].item)),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.items.length-1;c>=0;c--)d=this.items[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item,b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=this.containers.length-1;c>=0;c--)f=this.containers[c].element.offset(),this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight();return this},_createPlaceholder:function(b){b=b||this;var c,d=b.options;d.placeholder&&d.placeholder.constructor!==String||(c=d.placeholder,d.placeholder={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]);return b._addClass(e,"ui-sortable-placeholder",c||b.currentItem[0].className)._removeClass(e,"ui-sortable-helper"),"tbody"===d?b._createTrPlaceholder(b.currentItem.find("tr").eq(0),a("<tr>",b.document[0]).appendTo(e)):"tr"===d?b._createTrPlaceholder(b.currentItem,e):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){c&&!d.forcePlaceholderSize||(e.height()||e.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholder.element.call(b.element,b.currentItem)),b.currentItem.after(b.placeholder),d.placeholder.update(b,b.placeholder)},_createTrPlaceholder:function(b,c){var d=this;b.children().each(function(){a("<td>&#160;</td>",d.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(c)})},_contactContainers:function(b){var c,d,e,f,g,h,i,j,k,l,m=null,n=null;for(c=this.containers.length-1;c>=0;c--)if(!a.contains(this.currentItem[0],this.containers[c].element[0]))if(this._intersectsWith(this.containers[c].containerCache)){if(m&&a.contains(this.containers[c].element[0],m.element[0]))continue;m=this.containers[c],n=c}else this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",b,this._uiHash(this)),this.containers[c].containerCache.over=0);if(m)if(1===this.containers.length)this.containers[n].containerCache.over||(this.containers[n]._trigger("over",b,this._uiHash(this)),this.containers[n].containerCache.over=1);else{for(e=1e4,f=null,k=m.floating||this._isFloating(this.currentItem),g=k?"left":"top",h=k?"width":"height",l=k?"pageX":"pageY",d=this.items.length-1;d>=0;d--)a.contains(this.containers[n].element[0],this.items[d].item[0])&&this.items[d].item[0]!==this.currentItem[0]&&(i=this.items[d].item.offset()[g],j=!1,b[l]-i>this.items[d][h]/2&&(j=!0),Math.abs(b[l]-i)<e&&(e=Math.abs(b[l]-i),f=this.items[d],this.direction=j?"up":"down"));if(!f&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[n])return void(this.currentContainer.containerCache.over||(this.containers[n]._trigger("over",b,this._uiHash()),this.currentContainer.containerCache.over=1));f?this._rearrange(b,f,null,!0):this._rearrange(b,null,this.containers[n].element,!0),this._trigger("change",b,this._uiHash()),this.containers[n]._trigger("change",b,this._uiHash(this)),this.currentContainer=this.containers[n],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[n]._trigger("over",b,this._uiHash(this)),this.containers[n].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):"clone"===c.helper?this.currentItem.clone():this.currentItem;return d.parents("body").length||a("parent"!==c.appendTo?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),d[0].style.width&&!c.forceHelperSize||d.width(this.currentItem.width()),d[0].style.height&&!c.forceHelperSize||d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var b,c,d,e=this.options;"parent"===e.containment&&(e.containment=this.helper[0].parentNode),"document"!==e.containment&&"window"!==e.containment||(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===e.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===e.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(e.containment)||(b=a(e.containment)[0],c=a(e.containment).offset(),d="hidden"!==a(b).css("overflow"),this.containment=[c.left+(parseInt(a(b).css("borderLeftWidth"),10)||0)+(parseInt(a(b).css("paddingLeft"),10)||0)-this.margins.left,c.top+(parseInt(a(b).css("borderTopWidth"),10)||0)+(parseInt(a(b).css("paddingTop"),10)||0)-this.margins.top,c.left+(d?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(a(b).css("borderLeftWidth"),10)||0)-(parseInt(a(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,c.top+(d?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(a(b).css("borderTopWidth"),10)||0)-(parseInt(a(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,f=/(html|body)/i.test(e[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():f?0:e.scrollTop())*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():f?0:e.scrollLeft())*d}},_generatePosition:function(b){var c,d,e=this.options,f=b.pageX,g=b.pageY,h="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(h[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[0])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_clear:function(a,b){function c(a,b,c){return function(d){c._trigger(a,d,b._uiHash(b))}}this.reverting=!1;var d,e=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(d in this._storedCSS)"auto"!==this._storedCSS[d]&&"static"!==this._storedCSS[d]||(this._storedCSS[d]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&e.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||e.push(function(a){this._trigger("update",a,this._uiHash())}),this!==this.currentContainer&&(b||(e.push(function(a){this._trigger("remove",a,this._uiHash())}),e.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.currentContainer)),e.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.currentContainer)))),d=this.containers.length-1;d>=0;d--)b||e.push(c("deactivate",this,this.containers[d])),this.containers[d].containerCache.over&&(e.push(c("out",this,this.containers[d])),this.containers[d].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,b||this._trigger("beforeStop",a,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!b){for(d=0;d<e.length;d++)e[d].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}});a.widget("ui.spinner",{version:"1.12.1",defaultElement:"<input>",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,
+step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var b=this._super(),c=this.element;return a.each(["min","max","step"],function(a,d){var e=c.attr(d);null!=e&&e.length&&(b[d]=e)}),b},_events:{keydown:function(a){this._start(a)&&this._keydown(a)&&a.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(this._stop(),this._refresh(),void(this.previous!==this.element.val()&&this._trigger("change",a)))},mousewheel:function(a,b){if(b){if(!this.spinning&&!this._start(a))return!1;this._spin((b>0?1:-1)*this.options.step,a),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(a)},100),a.preventDefault()}},"mousedown .ui-spinner-button":function(b){function c(){var b=this.element[0]===a.ui.safeActiveElement(this.document[0]);b||(this.element.trigger("focus"),this.previous=d,this._delay(function(){this.previous=d}))}var d;d=this.element[0]===a.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),b.preventDefault(),c.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,c.call(this)}),this._start(b)!==!1&&this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(b){if(a(b.currentTarget).hasClass("ui-state-active"))return this._start(b)!==!1&&void this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b)},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("<span>").parent().append("<a></a><a></a>")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(b){var c=this.options,d=a.ui.keyCode;switch(b.keyCode){case d.UP:return this._repeat(null,1,b),!0;case d.DOWN:return this._repeat(null,-1,b),!0;case d.PAGE_UP:return this._repeat(null,c.page,b),!0;case d.PAGE_DOWN:return this._repeat(null,-c.page,b),!0}return!1},_start:function(a){return!(!this.spinning&&this._trigger("start",a)===!1)&&(this.counter||(this.counter=1),this.spinning=!0,!0)},_repeat:function(a,b,c){a=a||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,b,c)},a),this._spin(b*this.options.step,c)},_spin:function(a,b){var c=this.value()||0;this.counter||(this.counter=1),c=this._adjustValue(c+a*this._increment(this.counter)),this.spinning&&this._trigger("spin",b,{value:c})===!1||(this._value(c),this.counter++)},_increment:function(b){var c=this.options.incremental;return c?a.isFunction(c)?c(b):Math.floor(b*b*b/5e4-b*b/500+17*b/200+1):1},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return c===-1?0:b.length-c-1},_adjustValue:function(a){var b,c,d=this.options;return b=null!==d.min?d.min:0,c=a-b,c=Math.round(c/d.step)*d.step,a=b+c,a=parseFloat(a.toFixed(this._precision())),null!==d.max&&a>d.max?d.max:null!==d.min&&a<d.min?d.min:a},_stop:function(a){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",a))},_setOption:function(a,b){var c,d,e;return"culture"===a||"numberFormat"===a?(c=this._parse(this.element.val()),this.options[a]=b,void this.element.val(this._format(c))):("max"!==a&&"min"!==a&&"step"!==a||"string"==typeof b&&(b=this._parse(b)),"icons"===a&&(d=this.buttons.first().find(".ui-icon"),this._removeClass(d,null,this.options.icons.up),this._addClass(d,null,b.up),e=this.buttons.last().find(".ui-icon"),this._removeClass(e,null,this.options.icons.down),this._addClass(e,null,b.down)),void this._super(a,b))},_setOptionDisabled:function(a){this._super(a),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!a),this.element.prop("disabled",!!a),this.buttons.button(a?"disable":"enable")},_setOptions:h(function(a){this._super(a)}),_parse:function(a){return"string"==typeof a&&""!==a&&(a=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(a,10,this.options.culture):+a),""===a||isNaN(a)?null:a},_format:function(a){return""===a?"":window.Globalize&&this.options.numberFormat?Globalize.format(a,this.options.numberFormat,this.options.culture):a},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var a=this.value();return null!==a&&a===this._adjustValue(a)},_value:function(a,b){var c;""!==a&&(c=this._parse(a),null!==c&&(b||(c=this._adjustValue(c)),a=this._format(c))),this.element.val(a),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:h(function(a){this._stepUp(a)}),_stepUp:function(a){this._start()&&(this._spin((a||1)*this.options.step),this._stop())},stepDown:h(function(a){this._stepDown(a)}),_stepDown:function(a){this._start()&&(this._spin((a||1)*-this.options.step),this._stop())},pageUp:h(function(a){this._stepUp((a||1)*this.options.page)}),pageDown:h(function(a){this._stepDown((a||1)*this.options.page)}),value:function(a){return arguments.length?void h(this._value).call(this,a):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),a.uiBackCompat!==!1&&a.widget("ui.spinner",a.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return"<span>"},_buttonHtml:function(){return"<a></a><a></a>"}});a.ui.spinner;a.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var a=/#.*$/;return function(b){var c,d;c=b.href.replace(a,""),d=location.href.replace(a,"");try{c=decodeURIComponent(c)}catch(e){}try{d=decodeURIComponent(d)}catch(e){}return b.hash.length>1&&c===d}}(),_create:function(){var b=this,c=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,c.collapsible),this._processTabs(),c.active=this._initialActive(),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.options.active!==!1&&this.anchors.length?this.active=this._findActive(c.active):this.active=a(),this._refresh(),this.active.length&&this.load(c.active)},_initialActive:function(){var b=this.options.active,c=this.options.collapsible,d=location.hash.substring(1);return null===b&&(d&&this.tabs.each(function(c,e){if(a(e).attr("aria-controls")===d)return b=c,!1}),null===b&&(b=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),null!==b&&b!==-1||(b=!!this.tabs.length&&0)),b!==!1&&(b=this.tabs.index(this.tabs.eq(b)),b===-1&&(b=!c&&0)),!c&&b===!1&&this.anchors.length&&(b=0),b},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(a.ui.safeActiveElement(this.document[0])).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d!==this.options.active&&d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||b.metaKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function d(){return b>e&&(b=0),b<0&&(b=e),b}for(var e=this.tabs.length-1;a.inArray(d(),this.options.disabled)!==-1;)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).trigger("focus"),a},_setOption:function(a,b){return"active"===a?void this._activate(b):(this._super(a,b),"collapsible"===a&&(this._toggleClass("ui-tabs-collapsible",null,b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this,c=this.tabs,d=this.anchors,e=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=a(),this.anchors.each(function(c,d){var e,f,g,h=a(d).uniqueId().attr("id"),i=a(d).closest("li"),j=i.attr("aria-controls");b._isLocal(d)?(e=d.hash,g=e.substring(1),f=b.element.find(b._sanitizeSelector(e))):(g=i.attr("aria-controls")||a({}).uniqueId()[0].id,e="#"+g,f=b.element.find(e),f.length||(f=b._createPanel(g),f.insertAfter(b.panels[c-1]||b.tablist)),f.attr("aria-live","polite")),f.length&&(b.panels=b.panels.add(f)),j&&i.data("ui-tabs-aria-controls",j),i.attr({"aria-controls":g,"aria-labelledby":h}),f.attr("aria-labelledby",h)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),c&&(this._off(c.not(this.tabs)),this._off(d.not(this.anchors)),this._off(e.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(b){return a("<div>").attr("id",b).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(b){var c,d,e;for(a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1),e=0;d=this.tabs[e];e++)c=a(d),b===!0||a.inArray(e,b)!==-1?(c.attr("aria-disabled","true"),this._addClass(c,null,"ui-state-disabled")):(c.removeAttr("aria-disabled"),this._removeClass(c,null,"ui-state-disabled"));this.options.disabled=b,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,b===!0)},_setupEvents:function(b){var c={};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(a){a.preventDefault()}}),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d=this.element.parent();"fill"===b?(c=d.height(),c-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0)}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=!h&&this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function d(){f.running=!1,f._trigger("activate",b,c)}function e(){f._addClass(c.newTab.closest("li"),"ui-tabs-active","ui-state-active"),g.length&&f.options.show?f._show(g,f.options.show,d):(g.show(),d())}var f=this,g=c.newPanel,h=c.oldPanel;this.running=!0,h.length&&this.options.hide?this._hide(h,this.options.hide,function(){f._removeClass(c.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),e()}):(this._removeClass(c.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),h.hide(),e()),h.attr("aria-hidden","true"),c.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),g.length&&h.length?c.oldTab.attr("tabIndex",-1):g.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),g.attr("aria-hidden","false"),c.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(b){return"string"==typeof b&&(b=this.anchors.index(this.anchors.filter("[href$='"+a.ui.escapeSelector(b)+"']"))),b},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c).removeData("ui-tabs-aria-controls"):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(b){var c=this.options.disabled;c!==!1&&(void 0===b?c=!1:(b=this._getIndex(b),c=a.isArray(c)?a.map(c,function(a){return a!==b?a:null}):a.map(this.tabs,function(a,c){return c!==b?c:null})),this._setOptionDisabled(c))},disable:function(b){var c=this.options.disabled;if(c!==!0){if(void 0===b)c=!0;else{if(b=this._getIndex(b),a.inArray(b,c)!==-1)return;c=a.isArray(c)?a.merge([b],c).sort():[b]}this._setOptionDisabled(c)}},load:function(b,c){b=this._getIndex(b);var d=this,e=this.tabs.eq(b),f=e.find(".ui-tabs-anchor"),g=this._getPanelForTab(e),h={tab:e,panel:g},i=function(a,b){"abort"===b&&d.panels.stop(!1,!0),d._removeClass(e,"ui-tabs-loading"),g.removeAttr("aria-busy"),a===d.xhr&&delete d.xhr};this._isLocal(f[0])||(this.xhr=a.ajax(this._ajaxSettings(f,c,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(e,"ui-tabs-loading"),g.attr("aria-busy","true"),this.xhr.done(function(a,b,e){setTimeout(function(){g.html(a),d._trigger("load",c,h),i(e,b)},1)}).fail(function(a,b){setTimeout(function(){i(a,b)},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href").replace(/#.*$/,""),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}}),a.uiBackCompat!==!1&&a.widget("ui.tabs",a.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}});a.ui.tabs;a.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var b=a(this).attr("title")||"";return a("<a>").text(b).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(b,c){var d=(b.attr("aria-describedby")||"").split(/\s+/);d.push(c),b.data("ui-tooltip-id",c).attr("aria-describedby",a.trim(d.join(" ")))},_removeDescribedBy:function(b){var c=b.data("ui-tooltip-id"),d=(b.attr("aria-describedby")||"").split(/\s+/),e=a.inArray(c,d);e!==-1&&d.splice(e,1),b.removeData("ui-tooltip-id"),d=a.trim(d.join(" ")),d?b.attr("aria-describedby",d):b.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=a("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=a([])},_setOption:function(b,c){var d=this;this._super(b,c),"content"===b&&a.each(this.tooltips,function(a,b){d._updateContent(b.element)})},_setOptionDisabled:function(a){this[a?"_disable":"_enable"]()},_disable:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur");e.target=e.currentTarget=d.element[0],b.close(e,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var b=a(this);if(b.is("[title]"))return b.data("ui-tooltip-title",b.attr("title")).removeAttr("title")}))},_enable:function(){this.disabledTitles.each(function(){var b=a(this);b.data("ui-tooltip-title")&&b.attr("title",b.data("ui-tooltip-title"))}),this.disabledTitles=a([])},open:function(b){var c=this,d=a(b?b.target:this.element).closest(this.options.items);d.length&&!d.data("ui-tooltip-id")&&(d.attr("title")&&d.data("ui-tooltip-title",d.attr("title")),d.data("ui-tooltip-open",!0),b&&"mouseover"===b.type&&d.parents().each(function(){var b,d=a(this);d.data("ui-tooltip-open")&&(b=a.Event("blur"),b.target=b.currentTarget=this,c.close(b,!0)),d.attr("title")&&(d.uniqueId(),c.parents[this.id]={element:this,title:d.attr("title")},d.attr("title",""))}),this._registerCloseHandlers(b,d),this._updateContent(d,b))},_updateContent:function(a,b){var c,d=this.options.content,e=this,f=b?b.type:null;return"string"==typeof d||d.nodeType||d.jquery?this._open(b,a,d):(c=d.call(a[0],function(c){e._delay(function(){a.data("ui-tooltip-open")&&(b&&(b.type=f),this._open(b,a,c))})}),void(c&&this._open(b,a,c)))},_open:function(b,c,d){function e(a){j.of=a,g.is(":hidden")||g.position(j)}var f,g,h,i,j=a.extend({},this.options.position);if(d){if(f=this._find(c))return void f.tooltip.find(".ui-tooltip-content").html(d);c.is("[title]")&&(b&&"mouseover"===b.type?c.attr("title",""):c.removeAttr("title")),f=this._tooltip(c),g=f.tooltip,this._addDescribedBy(c,g.attr("id")),g.find(".ui-tooltip-content").html(d),this.liveRegion.children().hide(),i=a("<div>").html(g.find(".ui-tooltip-content").html()),i.removeAttr("name").find("[name]").removeAttr("name"),i.removeAttr("id").find("[id]").removeAttr("id"),i.appendTo(this.liveRegion),this.options.track&&b&&/^mouse/.test(b.type)?(this._on(this.document,{mousemove:e}),e(b)):g.position(a.extend({of:c},this.options.position)),g.hide(),this._show(g,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){g.is(":visible")&&(e(j.of),clearInterval(h))},a.fx.interval)),this._trigger("open",b,{tooltip:g})}},_registerCloseHandlers:function(b,c){var d={keyup:function(b){if(b.keyCode===a.ui.keyCode.ESCAPE){var d=a.Event(b);d.currentTarget=c[0],this.close(d,!0)}}};c[0]!==this.element[0]&&(d.remove=function(){this._removeTooltip(this._find(c).tooltip)}),b&&"mouseover"!==b.type||(d.mouseleave="close"),b&&"focusin"!==b.type||(d.focusout="close"),this._on(!0,c,d)},close:function(b){var c,d=this,e=a(b?b.currentTarget:this.element),f=this._find(e);return f?(c=f.tooltip,void(f.closing||(clearInterval(this.delayedShow),e.data("ui-tooltip-title")&&!e.attr("title")&&e.attr("title",e.data("ui-tooltip-title")),this._removeDescribedBy(e),f.hiding=!0,c.stop(!0),this._hide(c,this.options.hide,function(){d._removeTooltip(a(this))}),e.removeData("ui-tooltip-open"),this._off(e,"mouseleave focusout keyup"),e[0]!==this.element[0]&&this._off(e,"remove"),this._off(this.document,"mousemove"),b&&"mouseleave"===b.type&&a.each(this.parents,function(b,c){a(c.element).attr("title",c.title),delete d.parents[b]}),f.closing=!0,this._trigger("close",b,{tooltip:c}),f.hiding||(f.closing=!1)))):void e.removeData("ui-tooltip-open")},_tooltip:function(b){var c=a("<div>").attr("role","tooltip"),d=a("<div>").appendTo(c),e=c.uniqueId().attr("id");return this._addClass(d,"ui-tooltip-content"),this._addClass(c,"ui-tooltip","ui-widget ui-widget-content"),c.appendTo(this._appendTo(b)),this.tooltips[e]={element:b,tooltip:c}},_find:function(a){var b=a.data("ui-tooltip-id");return b?this.tooltips[b]:null},_removeTooltip:function(a){a.remove(),delete this.tooltips[a.attr("id")]},_appendTo:function(a){var b=a.closest(".ui-front, dialog");return b.length||(b=this.document[0].body),b},_destroy:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur"),f=d.element;e.target=e.currentTarget=f[0],b.close(e,!0),a("#"+c).remove(),f.data("ui-tooltip-title")&&(f.attr("title")||f.attr("title",f.data("ui-tooltip-title")),f.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),a.uiBackCompat!==!1&&a.widget("ui.tooltip",a.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var a=this._superApply(arguments);return this.options.tooltipClass&&a.tooltip.addClass(this.options.tooltipClass),a}});a.ui.tooltip}),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");
+h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=window.SVGElement&&c instanceof window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e<c&&"top";if("bottom"==this.affixed)return null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery),function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof module&&module.exports?module.exports=b(require("jquery")):b(a.jQuery)}(this,function(a){!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b?b.replace(this.re,this.ch):""}),b}function c(b){var c=arguments,d=b;[].shift.apply(c);var e,f=this.each(function(){var b=a(this);if(b.is("select")){var f=b.data("selectpicker"),g="object"==typeof d&&d;if(f){if(g)for(var h in g)g.hasOwnProperty(h)&&(f.options[h]=g[h])}else{var i=a.extend({},k.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),g);i.template=a.extend({},k.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,g.template),b.data("selectpicker",f=new k(this,i))}"string"==typeof d&&(e=f[d]instanceof Function?f[d].apply(f,c):f.options[d])}});return"undefined"!=typeof e?e:f}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),c="".indexOf,d=function(b){if(null==this)throw new TypeError;var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw new TypeError;var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return!(g+j>e)&&c.call(d,f,i)!=-1};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),b={}.toString,c=function(a){if(null==this)throw new TypeError;var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw new TypeError;var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j<f;)if(c.charCodeAt(i+j)!=e.charCodeAt(j))return!1;return!0};a?a(String.prototype,"startsWith",{value:c,configurable:!0,writable:!0}):String.prototype.startsWith=c}(),Object.keys||(Object.keys=function(a,b,c){c=[];for(b in a)c.hasOwnProperty.call(a,b)&&c.push(b);return c});var d={useDefault:!1,_set:a.valHooks.select.set};a.valHooks.select.set=function(b,c){return c&&!d.useDefault&&a(b).data("selected",!0),d._set.apply(this,arguments)};var e=null;a.fn.triggerNative=function(a){var b,c=this[0];c.dispatchEvent?("function"==typeof Event?b=new Event(a,{
+bubbles:!0}):(b=document.createEvent("Event"),b.initEvent(a,!0,!1)),c.dispatchEvent(b)):c.fireEvent?(b=document.createEventObject(),b.eventType=a,c.fireEvent("on"+a,b)):this.trigger(a)},a.expr.pseudos.icontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toString().toUpperCase();return f.includes(d[3].toUpperCase())},a.expr.pseudos.ibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toString().toUpperCase();return f.startsWith(d[3].toUpperCase())},a.expr.pseudos.aicontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toString().toUpperCase();return f.includes(d[3].toUpperCase())},a.expr.pseudos.aibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toString().toUpperCase();return f.startsWith(d[3].toUpperCase())};var f={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},g={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'","&#x60;":"`"},h=function(a){var b=function(b){return a[b]},c="(?:"+Object.keys(a).join("|")+")",d=RegExp(c),e=RegExp(c,"g");return function(a){return a=null==a?"":""+a,d.test(a)?a.replace(e,b):a}},i=h(f),j=h(g),k=function(b,c){d.useDefault||(a.valHooks.select.set=d._set,d.useDefault=!0),this.$element=a(b),this.$newElement=null,this.$button=null,this.$menu=null,this.$lis=null,this.options=c,null===this.options.title&&(this.options.title=this.$element.attr("title"));var e=this.options.windowPadding;"number"==typeof e&&(this.options.windowPadding=[e,e,e,e]),this.val=k.prototype.val,this.render=k.prototype.render,this.refresh=k.prototype.refresh,this.setStyle=k.prototype.setStyle,this.selectAll=k.prototype.selectAll,this.deselectAll=k.prototype.deselectAll,this.destroy=k.prototype.destroy,this.remove=k.prototype.remove,this.show=k.prototype.show,this.hide=k.prototype.hide,this.init()};k.VERSION="1.12.1",k.DEFAULTS={noneSelectedText:"Nothing selected",noneResultsText:"No results matched {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",doneButton:!1,doneButtonText:"Close",multipleSeparator:", ",styleBase:"btn",style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,liveSearch:!1,liveSearchPlaceholder:null,liveSearchNormalize:!1,liveSearchStyle:"contains",actionsBox:!1,iconBase:"glyphicon",tickIcon:"glyphicon-ok",showTick:!1,template:{caret:'<span class="caret"></span>'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1,windowPadding:0},k.prototype={constructor:k,init:function(){var b=this,c=this.$element.attr("id");this.$element.addClass("bs-select-hidden"),this.liObj={},this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement).appendTo(this.$newElement),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(".dropdown-menu"),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),this.$element.removeClass("bs-select-hidden"),this.options.dropdownAlignRight===!0&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(a){b.$menuInner.attr("aria-expanded",!1),b.$element.trigger("hide.bs.select",a)},"hidden.bs.dropdown":function(a){b.$element.trigger("hidden.bs.select",a)},"show.bs.dropdown":function(a){b.$menuInner.attr("aria-expanded",!0),b.$element.trigger("show.bs.select",a)},"shown.bs.dropdown":function(a){b.$element.trigger("shown.bs.select",a)}}),b.$element[0].hasAttribute("required")&&this.$element.on("invalid",function(){b.$button.addClass("bs-invalid").focus(),b.$element.on({"focus.bs.select":function(){b.$button.focus(),b.$element.off("focus.bs.select")},"shown.bs.select":function(){b.$element.val(b.$element.val()).off("shown.bs.select")},"rendered.bs.select":function(){this.validity.valid&&b.$button.removeClass("bs-invalid"),b.$element.off("rendered.bs.select")}})}),setTimeout(function(){b.$element.trigger("loaded.bs.select")})},createDropdown:function(){var b=this.multiple||this.options.showTick?" show-tick":"",c=this.$element.parent().hasClass("input-group")?" input-group-btn":"",d=this.autofocus?" autofocus":"",e=this.options.header?'<div class="popover-title"><button type="button" class="close" aria-hidden="true">&times;</button>'+this.options.header+"</div>":"",f=this.options.liveSearch?'<div class="bs-searchbox"><input type="text" class="form-control" autocomplete="off"'+(null===this.options.liveSearchPlaceholder?"":' placeholder="'+i(this.options.liveSearchPlaceholder)+'"')+' role="textbox" aria-label="Search"></div>':"",g=this.multiple&&this.options.actionsBox?'<div class="bs-actionsbox"><div class="btn-group btn-group-sm btn-block"><button type="button" class="actions-btn bs-select-all btn btn-default">'+this.options.selectAllText+'</button><button type="button" class="actions-btn bs-deselect-all btn btn-default">'+this.options.deselectAllText+"</button></div></div>":"",h=this.multiple&&this.options.doneButton?'<div class="bs-donebutton"><div class="btn-group btn-block"><button type="button" class="btn btn-sm btn-default">'+this.options.doneButtonText+"</button></div></div>":"",j='<div class="btn-group bootstrap-select'+b+c+'"><button type="button" class="'+this.options.styleBase+' dropdown-toggle" data-toggle="dropdown"'+d+' role="button"><span class="filter-option pull-left"></span>&nbsp;<span class="bs-caret">'+this.options.template.caret+'</span></button><div class="dropdown-menu open" role="combobox">'+e+f+g+'<ul class="dropdown-menu inner" role="listbox" aria-expanded="false"></ul>'+h+"</div></div>";return a(j)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul")[0].innerHTML=b,a},reloadLi:function(){var a=this.createLi();this.$menuInner[0].innerHTML=a},createLi:function(){var c=this,d=[],e=0,f=document.createElement("option"),g=-1,h=function(a,b,c,d){return"<li"+("undefined"!=typeof c&""!==c?' class="'+c+'"':"")+("undefined"!=typeof b&null!==b?' data-original-index="'+b+'"':"")+("undefined"!=typeof d&null!==d?'data-optgroup="'+d+'"':"")+">"+a+"</li>"},j=function(d,e,f,g){return'<a tabindex="0"'+("undefined"!=typeof e?' class="'+e+'"':"")+(f?' style="'+f+'"':"")+(c.options.liveSearchNormalize?' data-normalized-text="'+b(i(a(d).html()))+'"':"")+("undefined"!=typeof g||null!==g?' data-tokens="'+g+'"':"")+' role="option">'+d+'<span class="'+c.options.iconBase+" "+c.options.tickIcon+' check-mark"></span></a>'};if(this.options.title&&!this.multiple&&(g--,!this.$element.find(".bs-title-option").length)){var k=this.$element[0];f.className="bs-title-option",f.innerHTML=this.options.title,f.value="",k.insertBefore(f,k.firstChild);var l=a(k.options[k.selectedIndex]);void 0===l.attr("selected")&&void 0===this.$element.data("selected")&&(f.selected=!0)}return this.$element.find("option").each(function(b){var f=a(this);if(g++,!f.hasClass("bs-title-option")){var k=this.className||"",l=this.style.cssText,m=f.data("content")?f.data("content"):f.html(),n=f.data("tokens")?f.data("tokens"):null,o="undefined"!=typeof f.data("subtext")?'<small class="text-muted">'+f.data("subtext")+"</small>":"",p="undefined"!=typeof f.data("icon")?'<span class="'+c.options.iconBase+" "+f.data("icon")+'"></span> ':"",q=f.parent(),r="OPTGROUP"===q[0].tagName,s=r&&q[0].disabled,t=this.disabled||s;if(""!==p&&t&&(p="<span>"+p+"</span>"),c.options.hideDisabled&&(t&&!r||s))return void g--;if(f.data("content")||(m=p+'<span class="text">'+m+o+"</span>"),r&&f.data("divider")!==!0){if(c.options.hideDisabled&&t){if(void 0===q.data("allOptionsDisabled")){var u=q.children();q.data("allOptionsDisabled",u.filter(":disabled").length===u.length)}if(q.data("allOptionsDisabled"))return void g--}var v=" "+q[0].className||"";if(0===f.index()){e+=1;var w=q[0].label,x="undefined"!=typeof q.data("subtext")?'<small class="text-muted">'+q.data("subtext")+"</small>":"",y=q.data("icon")?'<span class="'+c.options.iconBase+" "+q.data("icon")+'"></span> ':"";w=y+'<span class="text">'+i(w)+x+"</span>",0!==b&&d.length>0&&(g++,d.push(h("",null,"divider",e+"div"))),g++,d.push(h(w,null,"dropdown-header"+v,e))}if(c.options.hideDisabled&&t)return void g--;d.push(h(j(m,"opt "+k+v,l,n),b,"",e))}else if(f.data("divider")===!0)d.push(h("",b,"divider"));else if(f.data("hidden")===!0)d.push(h(j(m,k,l,n),b,"hidden is-hidden"));else{var z=this.previousElementSibling&&"OPTGROUP"===this.previousElementSibling.tagName;if(!z&&c.options.hideDisabled)for(var A=a(this).prevAll(),B=0;B<A.length;B++)if("OPTGROUP"===A[B].tagName){for(var C=0,D=0;D<B;D++){var E=A[D];(E.disabled||a(E).data("hidden")===!0)&&C++}C===B&&(z=!0);break}z&&(g++,d.push(h("",null,"divider",e+"div"))),d.push(h(j(m,k,l,n),b))}c.liObj[b]=g}}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),d.join("")},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c,d=this;b!==!1&&this.$element.find("option").each(function(a){var b=d.findLis().eq(d.liObj[a]);d.setDisabled(a,this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled,b),d.setSelected(a,this.selected,b)}),this.togglePlaceholder(),this.tabIndex();var e=this.$element.find("option").map(function(){if(this.selected){if(d.options.hideDisabled&&(this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled))return;var b,c=a(this),e=c.data("icon")&&d.options.showIcon?'<i class="'+d.options.iconBase+" "+c.data("icon")+'"></i> ':"";return b=d.options.showSubtext&&c.data("subtext")&&!d.multiple?' <small class="text-muted">'+c.data("subtext")+"</small>":"","undefined"!=typeof c.attr("title")?c.attr("title"):c.data("content")&&d.options.showContent?c.data("content").toString():e+c.html()+b}}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){c=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+c).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}void 0==this.options.title&&(this.options.title=this.$element.attr("title")),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",j(a.trim(f.replace(/<[^>]*>?/g,"")))),this.$button.children(".filter-option").html(f),this.$element.trigger("rendered.bs.select")},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(b){if(b||this.options.size!==!1&&!this.sizeInfo){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("ul"),f=document.createElement("li"),g=document.createElement("li"),h=document.createElement("a"),i=document.createElement("span"),j=this.options.header&&this.$menu.find(".popover-title").length>0?this.$menu.find(".popover-title")[0].cloneNode(!0):null,k=this.options.liveSearch?document.createElement("div"):null,l=this.options.actionsBox&&this.multiple&&this.$menu.find(".bs-actionsbox").length>0?this.$menu.find(".bs-actionsbox")[0].cloneNode(!0):null,m=this.options.doneButton&&this.multiple&&this.$menu.find(".bs-donebutton").length>0?this.$menu.find(".bs-donebutton")[0].cloneNode(!0):null;if(i.className="text",c.className=this.$menu[0].parentNode.className+" open",d.className="dropdown-menu open",e.className="dropdown-menu inner",f.className="divider",i.appendChild(document.createTextNode("Inner text")),h.appendChild(i),g.appendChild(h),e.appendChild(g),e.appendChild(f),j&&d.appendChild(j),k){var n=document.createElement("span");k.className="bs-searchbox",n.className="form-control",k.appendChild(n),d.appendChild(k)}l&&d.appendChild(l),d.appendChild(e),m&&d.appendChild(m),c.appendChild(d),document.body.appendChild(c);var o=h.offsetHeight,p=j?j.offsetHeight:0,q=k?k.offsetHeight:0,r=l?l.offsetHeight:0,s=m?m.offsetHeight:0,t=a(f).outerHeight(!0),u="function"==typeof getComputedStyle&&getComputedStyle(d),v=u?null:a(d),w={vert:parseInt(u?u.paddingTop:v.css("paddingTop"))+parseInt(u?u.paddingBottom:v.css("paddingBottom"))+parseInt(u?u.borderTopWidth:v.css("borderTopWidth"))+parseInt(u?u.borderBottomWidth:v.css("borderBottomWidth")),horiz:parseInt(u?u.paddingLeft:v.css("paddingLeft"))+parseInt(u?u.paddingRight:v.css("paddingRight"))+parseInt(u?u.borderLeftWidth:v.css("borderLeftWidth"))+parseInt(u?u.borderRightWidth:v.css("borderRightWidth"))},x={vert:w.vert+parseInt(u?u.marginTop:v.css("marginTop"))+parseInt(u?u.marginBottom:v.css("marginBottom"))+2,horiz:w.horiz+parseInt(u?u.marginLeft:v.css("marginLeft"))+parseInt(u?u.marginRight:v.css("marginRight"))+2};document.body.removeChild(c),this.sizeInfo={liHeight:o,headerHeight:p,searchHeight:q,actionsHeight:r,doneButtonHeight:s,dividerHeight:t,menuPadding:w,menuExtras:x}}},setSize:function(){if(this.findLis(),this.liHeight(),this.options.header&&this.$menu.css("padding-top",0),this.options.size!==!1){var b,c,d,e,f,g,h,i,j=this,k=this.$menu,l=this.$menuInner,m=a(window),n=this.$newElement[0].offsetHeight,o=this.$newElement[0].offsetWidth,p=this.sizeInfo.liHeight,q=this.sizeInfo.headerHeight,r=this.sizeInfo.searchHeight,s=this.sizeInfo.actionsHeight,t=this.sizeInfo.doneButtonHeight,u=this.sizeInfo.dividerHeight,v=this.sizeInfo.menuPadding,w=this.sizeInfo.menuExtras,x=this.options.hideDisabled?".disabled":"",y=function(){var b,c=j.$newElement.offset(),d=a(j.options.container);j.options.container&&!d.is("body")?(b=d.offset(),b.top+=parseInt(d.css("borderTopWidth")),b.left+=parseInt(d.css("borderLeftWidth"))):b={top:0,left:0};var e=j.options.windowPadding;f=c.top-b.top-m.scrollTop(),g=m.height()-f-n-b.top-e[2],h=c.left-b.left-m.scrollLeft(),i=m.width()-h-o-b.left-e[1],f-=e[0],h-=e[3]};if(y(),"auto"===this.options.size){var z=function(){var m,n=function(b,c){return function(d){return c?d.classList?d.classList.contains(b):a(d).hasClass(b):!(d.classList?d.classList.contains(b):a(d).hasClass(b))}},u=j.$menuInner[0].getElementsByTagName("li"),x=Array.prototype.filter?Array.prototype.filter.call(u,n("hidden",!1)):j.$lis.not(".hidden"),z=Array.prototype.filter?Array.prototype.filter.call(x,n("dropdown-header",!0)):x.filter(".dropdown-header");y(),b=g-w.vert,c=i-w.horiz,j.options.container?(k.data("height")||k.data("height",k.height()),d=k.data("height"),k.data("width")||k.data("width",k.width()),e=k.data("width")):(d=k.height(),e=k.width()),j.options.dropupAuto&&j.$newElement.toggleClass("dropup",f>g&&b-w.vert<d),j.$newElement.hasClass("dropup")&&(b=f-w.vert),"auto"===j.options.dropdownAlignRight&&k.toggleClass("dropdown-menu-right",h>i&&c-w.horiz<e-o),m=x.length+z.length>3?3*p+w.vert-2:0,k.css({"max-height":b+"px",overflow:"hidden","min-height":m+q+r+s+t+"px"}),l.css({"max-height":b-q-r-s-t-v.vert+"px","overflow-y":"auto","min-height":Math.max(m-v.vert,0)+"px"})};z(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",z),m.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize",z)}else if(this.options.size&&"auto"!=this.options.size&&this.$lis.not(x).length>this.options.size){var A=this.$lis.not(".divider").not(x).children().slice(0,this.options.size).last().parent().index(),B=this.$lis.slice(0,A+1).filter(".divider").length;b=p*this.options.size+B*u+v.vert,j.options.container?(k.data("height")||k.data("height",k.height()),d=k.data("height")):d=k.height(),j.options.dropupAuto&&this.$newElement.toggleClass("dropup",f>g&&b-w.vert<d),k.css({"max-height":b+q+r+s+t+"px",overflow:"hidden","min-height":""}),l.css({"max-height":b-v.vert+"px","overflow-y":"auto","min-height":""})}}},setWidth:function(){if("auto"===this.options.width){this.$menu.css("min-width","0");var a=this.$menu.parent().clone().appendTo("body"),b=this.options.container?this.$newElement.clone().appendTo("body"):a,c=a.children(".dropdown-menu").outerWidth(),d=b.css("width","auto").children("button").outerWidth();a.remove(),b.remove(),this.$newElement.css("width",Math.max(c,d)+"px")}else"fit"===this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width",""));this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement.removeClass("fit-width")},selectPosition:function(){this.$bsContainer=a('<div class="bs-container" />');var b,c,d,e=this,f=a(this.options.container),g=function(a){e.$bsContainer.addClass(a.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),f.is("body")?c={top:0,left:0}:(c=f.offset(),c.top+=parseInt(f.css("borderTopWidth"))-f.scrollTop(),c.left+=parseInt(f.css("borderLeftWidth"))-f.scrollLeft()),d=a.hasClass("dropup")?0:a[0].offsetHeight,e.$bsContainer.css({top:b.top-c.top+d,left:b.left-c.left,width:a[0].offsetWidth})};this.$button.on("click",function(){var b=a(this);e.isDisabled()||(g(e.$newElement),e.$bsContainer.appendTo(e.options.container).toggleClass("open",!b.hasClass("open")).append(e.$menu))}),a(window).on("resize scroll",function(){g(e.$newElement)}),this.$element.on("hide.bs.select",function(){e.$menu.data("height",e.$menu.height()),e.$bsContainer.detach()})},setSelected:function(a,b,c){c||(this.togglePlaceholder(),c=this.findLis().eq(this.liObj[a])),c.toggleClass("selected",b).find("a").attr("aria-selected",b)},setDisabled:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),b?c.addClass("disabled").children("a").attr("href","#").attr("tabindex",-1).attr("aria-disabled",!0):c.removeClass("disabled").children("a").removeAttr("href").attr("tabindex",0).attr("aria-disabled",!1)},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){var a=this;this.isDisabled()?(this.$newElement.addClass("disabled"),this.$button.addClass("disabled").attr("tabindex",-1).attr("aria-disabled",!0)):(this.$button.hasClass("disabled")&&(this.$newElement.removeClass("disabled"),this.$button.removeClass("disabled").attr("aria-disabled",!1)),this.$button.attr("tabindex")!=-1||this.$element.data("tabindex")||this.$button.removeAttr("tabindex")),this.$button.click(function(){return!a.isDisabled()})},togglePlaceholder:function(){var a=this.$element.val();this.$button.toggleClass("bs-placeholder",null===a||""===a||a.constructor===Array&&0===a.length)},tabIndex:function(){this.$element.data("tabindex")!==this.$element.attr("tabindex")&&this.$element.attr("tabindex")!==-98&&"-98"!==this.$element.attr("tabindex")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex"))),this.$element.attr("tabindex",-98)},clickListener:function(){var b=this,c=a(document);c.data("spaceSelect",!1),this.$button.on("keyup",function(a){/(32)/.test(a.keyCode.toString(10))&&c.data("spaceSelect")&&(a.preventDefault(),c.data("spaceSelect",!1))}),this.$button.on("click",function(){b.setSize()}),this.$element.on("shown.bs.select",function(){if(b.options.liveSearch||b.multiple){if(!b.multiple){var a=b.liObj[b.$element[0].selectedIndex];if("number"!=typeof a||b.options.size===!1)return;var c=b.$lis.eq(a)[0].offsetTop-b.$menuInner[0].offsetTop;c=c-b.$menuInner[0].offsetHeight/2+b.sizeInfo.liHeight/2,b.$menuInner[0].scrollTop=c}}else b.$menuInner.find(".selected a").focus()}),this.$menuInner.on("click","li a",function(c){var d=a(this),f=d.parent().data("originalIndex"),g=b.$element.val(),h=b.$element.prop("selectedIndex"),i=!0;if(b.multiple&&1!==b.options.maxOptions&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var j=b.$element.find("option"),k=j.eq(f),l=k.prop("selected"),m=k.parent("optgroup"),n=b.options.maxOptions,o=m.data("maxOptions")||!1;if(b.multiple){if(k.prop("selected",!l),b.setSelected(f,!l),d.blur(),n!==!1||o!==!1){var p=n<j.filter(":selected").length,q=o<m.find("option:selected").length;if(n&&p||o&&q)if(n&&1==n)j.prop("selected",!1),k.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(f,!0);else if(o&&1==o){m.find("option:selected").prop("selected",!1),k.prop("selected",!0);var r=d.parent().data("optgroup");b.$menuInner.find('[data-optgroup="'+r+'"]').removeClass("selected"),b.setSelected(f,!0)}else{var s="string"==typeof b.options.maxOptionsText?[b.options.maxOptionsText,b.options.maxOptionsText]:b.options.maxOptionsText,t="function"==typeof s?s(n,o):s,u=t[0].replace("{n}",n),v=t[1].replace("{n}",o),w=a('<div class="notify"></div>');t[2]&&(u=u.replace("{var}",t[2][n>1?0:1]),v=v.replace("{var}",t[2][o>1?0:1])),k.prop("selected",!1),b.$menu.append(w),n&&p&&(w.append(a("<div>"+u+"</div>")),i=!1,b.$element.trigger("maxReached.bs.select")),o&&q&&(w.append(a("<div>"+v+"</div>")),i=!1,b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(f,!1)},10),w.delay(750).fadeOut(300,function(){a(this).remove()})}}}else j.prop("selected",!1),k.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected").find("a").attr("aria-selected",!1),b.setSelected(f,!0);!b.multiple||b.multiple&&1===b.options.maxOptions?b.$button.focus():b.options.liveSearch&&b.$searchbox.focus(),i&&(g!=b.$element.val()&&b.multiple||h!=b.$element.prop("selectedIndex")&&!b.multiple)&&(e=[f,k.prop("selected"),l],b.$element.triggerNative("change"))}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(c){c.currentTarget==this&&(c.preventDefault(),c.stopPropagation(),b.options.liveSearch&&!a(c.target).hasClass("close")?b.$searchbox.focus():b.$button.focus())}),this.$menuInner.on("click",".divider, .dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.click()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).hasClass("bs-select-all")?b.selectAll():b.deselectAll()}),this.$element.change(function(){b.render(!1),b.$element.trigger("changed.bs.select",e),e=null})},liveSearchListener:function(){var c=this,d=a('<li class="no-results"></li>');this.$button.on("click.dropdown.data-api",function(){c.$menuInner.find(".active").removeClass("active"),c.$searchbox.val()&&(c.$searchbox.val(""),c.$lis.not(".is-hidden").removeClass("hidden"),d.parent().length&&d.remove()),c.multiple||c.$menuInner.find(".selected").addClass("active"),setTimeout(function(){c.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){if(c.$lis.not(".is-hidden").removeClass("hidden"),c.$lis.filter(".active").removeClass("active"),d.remove(),c.$searchbox.val()){var e,f=c.$lis.not(".is-hidden, .divider, .dropdown-header");if(e=c.options.liveSearchNormalize?f.not(":a"+c._searchStyle()+'("'+b(c.$searchbox.val())+'")'):f.not(":"+c._searchStyle()+'("'+c.$searchbox.val()+'")'),e.length===f.length)d.html(c.options.noneResultsText.replace("{0}",'"'+i(c.$searchbox.val())+'"')),c.$menuInner.append(d),c.$lis.addClass("hidden");else{e.addClass("hidden");var g,h=c.$lis.not(".hidden");h.each(function(b){var c=a(this);c.hasClass("divider")?void 0===g?c.addClass("hidden"):(g&&g.addClass("hidden"),g=c):c.hasClass("dropdown-header")&&h.eq(b+1).data("optgroup")!==c.data("optgroup")?c.addClass("hidden"):g=null}),g&&g.addClass("hidden"),f.not(".hidden").first().addClass("active")}}})},_searchStyle:function(){var a={begins:"ibegins",startsWith:"ibegins"};return a[this.options.liveSearchStyle]||"icontains"},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},changeAll:function(b){if(this.multiple){"undefined"==typeof b&&(b=!0),this.findLis();var c=this.$element.find("option"),d=this.$lis.not(".divider, .dropdown-header, .disabled, .hidden"),e=d.length,f=[];if(b){if(d.filter(".selected").length===d.length)return}else if(0===d.filter(".selected").length)return;d.toggleClass("selected",b);for(var g=0;g<e;g++){var h=d[g].getAttribute("data-original-index");f[f.length]=c.eq(h)[0]}a(f).prop("selected",b),this.render(!1),this.togglePlaceholder(),this.$element.triggerNative("change")}},selectAll:function(){return this.changeAll(!0)},deselectAll:function(){return this.changeAll(!1)},toggle:function(a){a=a||window.event,a&&a.stopPropagation(),this.$button.trigger("click")},keydown:function(c){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p=":not(.disabled, .hidden, .dropdown-header, .divider)",q={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a('[role="listbox"] li',n),l=o.$newElement.hasClass("open"),!l&&(c.keyCode>=48&&c.keyCode<=57||c.keyCode>=96&&c.keyCode<=105||c.keyCode>=65&&c.keyCode<=90))return o.options.container?o.$button.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),void o.$searchbox.focus();if(o.options.liveSearch&&(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(c.preventDefault(),c.stopPropagation(),o.$menuInner.click(),o.$button.focus()),d=a('[role="listbox"] li'+p,n),m.val()||/(38|40)/.test(c.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$menuInner.find("li"),d=o.options.liveSearchNormalize?d.filter(":a"+o._searchStyle()+"("+b(q[c.keyCode])+")"):d.filter(":"+o._searchStyle()+"("+q[c.keyCode]+")"))),d.length){if(/(38|40)/.test(c.keyCode.toString(10)))e=d.index(d.find("a").filter(":focus").parent()),g=d.filter(p).first().index(),h=d.filter(p).last().index(),f=d.eq(e).nextAll(p).eq(0).index(),i=d.eq(e).prevAll(p).eq(0).index(),j=d.eq(f).prevAll(p).eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).hasClass("disabled")||a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.first().data("index"),h=d.last().data("index"),f=d.eq(e).nextAll().eq(0).data("index"),i=d.eq(e).prevAll().eq(0).data("index"),j=d.eq(f).prevAll().eq(0).data("index")),k=m.data("prevIndex"),38==c.keyCode?(o.options.liveSearch&&e--,e!=j&&e>i&&(e=i),e<g&&(e=g),e==k&&(e=h)):40==c.keyCode&&(o.options.liveSearch&&e++,e==-1&&(e=0),e!=j&&e<f&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(c.preventDefault(),m.hasClass("dropdown-toggle")||(d.removeClass("active").eq(e).addClass("active").children("a").focus(),m.focus())):d.eq(e).children("a").focus();else if(!m.is("input")){var r,s,t=[];d.each(function(){a(this).hasClass("disabled")||a.trim(a(this).children("a").text().toLowerCase()).substring(0,1)==q[c.keyCode]&&t.push(a(this).index())}),r=a(document).data("keycount"),r++,a(document).data("keycount",r),s=a.trim(a(":focus").text().toLowerCase()).substring(0,1),s!=q[c.keyCode]?(r=1,a(document).data("keycount",r)):r>=t.length&&(a(document).data("keycount",0),r>t.length&&(r=1)),d.eq(t[r-1]).children("a").focus()}if((/(13|32)/.test(c.keyCode.toString(10))||/(^9$)/.test(c.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(c.keyCode.toString(10))||c.preventDefault(),o.options.liveSearch)/(32)/.test(c.keyCode.toString(10))||(o.$menuInner.find(".active a").click(),m.focus());else{var u=a(":focus");u.click(),u.focus(),c.preventDefault(),a(document).data("spaceSelect",!0)}a(document).data("keycount",0)}(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(c.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device")},refresh:function(){this.$lis=null,this.liObj={},this.reloadLi(),this.render(),this.checkDisabled(),this.liHeight(!0),this.setStyle(),this.setWidth(),this.$lis&&this.$searchbox.trigger("propertychange"),this.$element.trigger("refreshed.bs.select")},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()},destroy:function(){this.$newElement.before(this.$element).remove(),this.$bsContainer?this.$bsContainer.remove():this.$menu.remove(),this.$element.off(".bs.select").removeData("selectpicker").removeClass("bs-select-hidden selectpicker")}};var l=a.fn.selectpicker;a.fn.selectpicker=c,a.fn.selectpicker.Constructor=k,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=l,this},a(document).data("keycount",0).on("keydown.bs.select",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input',k.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="listbox"], .bs-searchbox input',function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);c.call(b,b.data())})})}(a)}),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}"indexOf"in Array.prototype||(Array.prototype.indexOf=function(a,c){c===b&&(c=0),c<0&&(c+=this.length),c<0&&(c=0);for(var d=this.length;c<d;c++)if(c in this&&this[c]===a)return c;return-1});var d=function(c,d){var e=this;this.element=a(c),this.container=d.container||"body",this.language=d.language||this.element.data("date-language")||"en",this.language=this.language in f?this.language:this.language.split("-")[0],this.language=this.language in f?this.language:"en",this.isRTL=f[this.language].rtl||!1,this.formatType=d.formatType||this.element.data("format-type")||"standard",this.format=g.parseFormat(d.format||this.element.data("date-format")||f[this.language].format||g.getDefaultFormat(this.formatType,"input"),this.formatType),this.isInline=!1,this.isVisible=!1,this.isInput=this.element.is("input"),this.fontAwesome=d.fontAwesome||this.element.data("font-awesome")||!1,this.bootcssVer=d.bootcssVer||(this.isInput?this.element.is(".form-control")?3:2:this.bootcssVer=this.element.is(".input-group")?3:2),
+this.component=!!this.element.is(".date")&&(3==this.bootcssVer?this.element.find(".input-group-addon .glyphicon-th, .input-group-addon .glyphicon-time, .input-group-addon .glyphicon-remove, .input-group-addon .glyphicon-calendar, .input-group-addon .fa-calendar, .input-group-addon .fa-clock-o").parent():this.element.find(".add-on .icon-th, .add-on .icon-time, .add-on .icon-calendar, .add-on .fa-calendar, .add-on .fa-clock-o").parent()),this.componentReset=!!this.element.is(".date")&&(3==this.bootcssVer?this.element.find(".input-group-addon .glyphicon-remove, .input-group-addon .fa-times").parent():this.element.find(".add-on .icon-remove, .add-on .fa-times").parent()),this.hasInput=this.component&&this.element.find("input").length,this.component&&0===this.component.length&&(this.component=!1),this.linkField=d.linkField||this.element.data("link-field")||!1,this.linkFormat=g.parseFormat(d.linkFormat||this.element.data("link-format")||g.getDefaultFormat(this.formatType,"link"),this.formatType),this.minuteStep=d.minuteStep||this.element.data("minute-step")||5,this.pickerPosition=d.pickerPosition||this.element.data("picker-position")||"bottom-right",this.showMeridian=d.showMeridian||this.element.data("show-meridian")||!1,this.initialDate=d.initialDate||new Date,this.zIndex=d.zIndex||this.element.data("z-index")||b,this.title="undefined"!=typeof d.title&&d.title,this.defaultTimeZone=(new Date).toString().split("(")[1].slice(0,-1),this.timezone=d.timezone||this.defaultTimeZone,this.icons={leftArrow:this.fontAwesome?"fa-arrow-left":3===this.bootcssVer?"glyphicon-arrow-left":"icon-arrow-left",rightArrow:this.fontAwesome?"fa-arrow-right":3===this.bootcssVer?"glyphicon-arrow-right":"icon-arrow-right"},this.icontype=this.fontAwesome?"fa":"glyphicon",this._attachEvents(),this.clickedOutside=function(b){0===a(b.target).closest(".datetimepicker").length&&e.hide()},this.formatViewType="datetime","formatViewType"in d?this.formatViewType=d.formatViewType:"formatViewType"in this.element.data()&&(this.formatViewType=this.element.data("formatViewType")),this.minView=0,"minView"in d?this.minView=d.minView:"minView"in this.element.data()&&(this.minView=this.element.data("min-view")),this.minView=g.convertViewMode(this.minView),this.maxView=g.modes.length-1,"maxView"in d?this.maxView=d.maxView:"maxView"in this.element.data()&&(this.maxView=this.element.data("max-view")),this.maxView=g.convertViewMode(this.maxView),this.wheelViewModeNavigation=!1,"wheelViewModeNavigation"in d?this.wheelViewModeNavigation=d.wheelViewModeNavigation:"wheelViewModeNavigation"in this.element.data()&&(this.wheelViewModeNavigation=this.element.data("view-mode-wheel-navigation")),this.wheelViewModeNavigationInverseDirection=!1,"wheelViewModeNavigationInverseDirection"in d?this.wheelViewModeNavigationInverseDirection=d.wheelViewModeNavigationInverseDirection:"wheelViewModeNavigationInverseDirection"in this.element.data()&&(this.wheelViewModeNavigationInverseDirection=this.element.data("view-mode-wheel-navigation-inverse-dir")),this.wheelViewModeNavigationDelay=100,"wheelViewModeNavigationDelay"in d?this.wheelViewModeNavigationDelay=d.wheelViewModeNavigationDelay:"wheelViewModeNavigationDelay"in this.element.data()&&(this.wheelViewModeNavigationDelay=this.element.data("view-mode-wheel-navigation-delay")),this.startViewMode=2,"startView"in d?this.startViewMode=d.startView:"startView"in this.element.data()&&(this.startViewMode=this.element.data("start-view")),this.startViewMode=g.convertViewMode(this.startViewMode),this.viewMode=this.startViewMode,this.viewSelect=this.minView,"viewSelect"in d?this.viewSelect=d.viewSelect:"viewSelect"in this.element.data()&&(this.viewSelect=this.element.data("view-select")),this.viewSelect=g.convertViewMode(this.viewSelect),this.forceParse=!0,"forceParse"in d?this.forceParse=d.forceParse:"dateForceParse"in this.element.data()&&(this.forceParse=this.element.data("date-force-parse"));for(var h=3===this.bootcssVer?g.templateV3:g.template;h.indexOf("{iconType}")!==-1;)h=h.replace("{iconType}",this.icontype);for(;h.indexOf("{leftArrow}")!==-1;)h=h.replace("{leftArrow}",this.icons.leftArrow);for(;h.indexOf("{rightArrow}")!==-1;)h=h.replace("{rightArrow}",this.icons.rightArrow);if(this.picker=a(h).appendTo(this.isInline?this.element:this.container).on({click:a.proxy(this.click,this),mousedown:a.proxy(this.mousedown,this)}),this.wheelViewModeNavigation&&(a.fn.mousewheel?this.picker.on({mousewheel:a.proxy(this.mousewheel,this)}):console.log("Mouse Wheel event is not supported. Please include the jQuery Mouse Wheel plugin before enabling this option")),this.isInline?this.picker.addClass("datetimepicker-inline"):this.picker.addClass("datetimepicker-dropdown-"+this.pickerPosition+" dropdown-menu"),this.isRTL){this.picker.addClass("datetimepicker-rtl");var i=3===this.bootcssVer?".prev span, .next span":".prev i, .next i";this.picker.find(i).toggleClass(this.icons.leftArrow+" "+this.icons.rightArrow)}a(document).on("mousedown",this.clickedOutside),this.autoclose=!1,"autoclose"in d?this.autoclose=d.autoclose:"dateAutoclose"in this.element.data()&&(this.autoclose=this.element.data("date-autoclose")),this.keyboardNavigation=!0,"keyboardNavigation"in d?this.keyboardNavigation=d.keyboardNavigation:"dateKeyboardNavigation"in this.element.data()&&(this.keyboardNavigation=this.element.data("date-keyboard-navigation")),this.todayBtn=d.todayBtn||this.element.data("date-today-btn")||!1,this.clearBtn=d.clearBtn||this.element.data("date-clear-btn")||!1,this.todayHighlight=d.todayHighlight||this.element.data("date-today-highlight")||!1,this.weekStart=(d.weekStart||this.element.data("date-weekstart")||f[this.language].weekStart||0)%7,this.weekEnd=(this.weekStart+6)%7,this.startDate=-(1/0),this.endDate=1/0,this.datesDisabled=[],this.daysOfWeekDisabled=[],this.setStartDate(d.startDate||this.element.data("date-startdate")),this.setEndDate(d.endDate||this.element.data("date-enddate")),this.setDatesDisabled(d.datesDisabled||this.element.data("date-dates-disabled")),this.setDaysOfWeekDisabled(d.daysOfWeekDisabled||this.element.data("date-days-of-week-disabled")),this.setMinutesDisabled(d.minutesDisabled||this.element.data("date-minute-disabled")),this.setHoursDisabled(d.hoursDisabled||this.element.data("date-hour-disabled")),this.fillDow(),this.fillMonths(),this.update(),this.showMode(),this.isInline&&this.show()};d.prototype={constructor:d,_events:[],_attachEvents:function(){this._detachEvents(),this.isInput?this._events=[[this.element,{focus:a.proxy(this.show,this),keyup:a.proxy(this.update,this),keydown:a.proxy(this.keydown,this)}]]:this.component&&this.hasInput?(this._events=[[this.element.find("input"),{focus:a.proxy(this.show,this),keyup:a.proxy(this.update,this),keydown:a.proxy(this.keydown,this)}],[this.component,{click:a.proxy(this.show,this)}]],this.componentReset&&this._events.push([this.componentReset,{click:a.proxy(this.reset,this)}])):this.element.is("div")?this.isInline=!0:this._events=[[this.element,{click:a.proxy(this.show,this)}]];for(var b,c,d=0;d<this._events.length;d++)b=this._events[d][0],c=this._events[d][1],b.on(c)},_detachEvents:function(){for(var a,b,c=0;c<this._events.length;c++)a=this._events[c][0],b=this._events[c][1],a.off(b);this._events=[]},show:function(b){this.picker.show(),this.height=this.component?this.component.outerHeight():this.element.outerHeight(),this.forceParse&&this.update(),this.place(),a(window).on("resize",a.proxy(this.place,this)),b&&(b.stopPropagation(),b.preventDefault()),this.isVisible=!0,this.element.trigger({type:"show",date:this.date})},hide:function(b){this.isVisible&&(this.isInline||(this.picker.hide(),a(window).off("resize",this.place),this.viewMode=this.startViewMode,this.showMode(),this.isInput||a(document).off("mousedown",this.hide),this.forceParse&&(this.isInput&&this.element.val()||this.hasInput&&this.element.find("input").val())&&this.setValue(),this.isVisible=!1,this.element.trigger({type:"hide",date:this.date})))},remove:function(){this._detachEvents(),a(document).off("mousedown",this.clickedOutside),this.picker.remove(),delete this.picker,delete this.element.data().datetimepicker},getDate:function(){var a=this.getUTCDate();return new Date(a.getTime()+6e4*a.getTimezoneOffset())},getUTCDate:function(){return this.date},getInitialDate:function(){return this.initialDate},setInitialDate:function(a){this.initialDate=a},setDate:function(a){this.setUTCDate(new Date(a.getTime()-6e4*a.getTimezoneOffset()))},setUTCDate:function(a){a>=this.startDate&&a<=this.endDate?(this.date=a,this.setValue(),this.viewDate=this.date,this.fill()):this.element.trigger({type:"outOfRange",date:a,startDate:this.startDate,endDate:this.endDate})},setFormat:function(a){this.format=g.parseFormat(a,this.formatType);var b;this.isInput?b=this.element:this.component&&(b=this.element.find("input")),b&&b.val()&&this.setValue()},setValue:function(){var b=this.getFormattedDate();this.isInput?this.element.val(b):(this.component&&this.element.find("input").val(b),this.element.data("date",b)),this.linkField&&a("#"+this.linkField).val(this.getFormattedDate(this.linkFormat))},getFormattedDate:function(a){return a==b&&(a=this.format),g.formatDate(this.date,a,this.language,this.formatType,this.timezone)},setStartDate:function(a){this.startDate=a||-(1/0),this.startDate!==-(1/0)&&(this.startDate=g.parseDate(this.startDate,this.format,this.language,this.formatType,this.timezone)),this.update(),this.updateNavArrows()},setEndDate:function(a){this.endDate=a||1/0,this.endDate!==1/0&&(this.endDate=g.parseDate(this.endDate,this.format,this.language,this.formatType,this.timezone)),this.update(),this.updateNavArrows()},setDatesDisabled:function(b){this.datesDisabled=b||[],a.isArray(this.datesDisabled)||(this.datesDisabled=this.datesDisabled.split(/,\s*/)),this.datesDisabled=a.map(this.datesDisabled,function(a){return g.parseDate(a,this.format,this.language,this.formatType,this.timezone).toDateString()}),this.update(),this.updateNavArrows()},setTitle:function(a,b){return this.picker.find(a).find("th:eq(1)").text(this.title===!1?b:this.title)},setDaysOfWeekDisabled:function(b){this.daysOfWeekDisabled=b||[],a.isArray(this.daysOfWeekDisabled)||(this.daysOfWeekDisabled=this.daysOfWeekDisabled.split(/,\s*/)),this.daysOfWeekDisabled=a.map(this.daysOfWeekDisabled,function(a){return parseInt(a,10)}),this.update(),this.updateNavArrows()},setMinutesDisabled:function(b){this.minutesDisabled=b||[],a.isArray(this.minutesDisabled)||(this.minutesDisabled=this.minutesDisabled.split(/,\s*/)),this.minutesDisabled=a.map(this.minutesDisabled,function(a){return parseInt(a,10)}),this.update(),this.updateNavArrows()},setHoursDisabled:function(b){this.hoursDisabled=b||[],a.isArray(this.hoursDisabled)||(this.hoursDisabled=this.hoursDisabled.split(/,\s*/)),this.hoursDisabled=a.map(this.hoursDisabled,function(a){return parseInt(a,10)}),this.update(),this.updateNavArrows()},place:function(){if(!this.isInline){if(!this.zIndex){var b=0;a("div").each(function(){var c=parseInt(a(this).css("zIndex"),10);c>b&&(b=c)}),this.zIndex=b+10}var c,d,e,f;f=this.container instanceof a?this.container.offset():a(this.container).offset(),this.component?(c=this.component.offset(),e=c.left,"bottom-left"!=this.pickerPosition&&"top-left"!=this.pickerPosition||(e+=this.component.outerWidth()-this.picker.outerWidth())):(c=this.element.offset(),e=c.left,"bottom-left"!=this.pickerPosition&&"top-left"!=this.pickerPosition||(e+=this.element.outerWidth()-this.picker.outerWidth()));var g=document.body.clientWidth||window.innerWidth;e+220>g&&(e=g-220),d="top-left"==this.pickerPosition||"top-right"==this.pickerPosition?c.top-this.picker.outerHeight():c.top+this.height,d-=f.top,e-=f.left,this.picker.css({top:d,left:e,zIndex:this.zIndex})}},update:function(){var a,b=!1;arguments&&arguments.length&&("string"==typeof arguments[0]||arguments[0]instanceof Date)?(a=arguments[0],b=!0):(a=(this.isInput?this.element.val():this.element.find("input").val())||this.element.data("date")||this.initialDate,("string"==typeof a||a instanceof String)&&(a=a.replace(/^\s+|\s+$/g,""))),a||(a=new Date,b=!1),this.date=g.parseDate(a,this.format,this.language,this.formatType,this.timezone),b&&this.setValue(),this.date<this.startDate?this.viewDate=new Date(this.startDate):this.date>this.endDate?this.viewDate=new Date(this.endDate):this.viewDate=new Date(this.date),this.fill()},fillDow:function(){for(var a=this.weekStart,b="<tr>";a<this.weekStart+7;)b+='<th class="dow">'+f[this.language].daysMin[a++%7]+"</th>";b+="</tr>",this.picker.find(".datetimepicker-days thead").append(b)},fillMonths:function(){for(var a="",b=0;b<12;)a+='<span class="month">'+f[this.language].monthsShort[b++]+"</span>";this.picker.find(".datetimepicker-months td").html(a)},fill:function(){if(null!=this.date&&null!=this.viewDate){var b=new Date(this.viewDate),d=b.getUTCFullYear(),e=b.getUTCMonth(),h=b.getUTCDate(),i=b.getUTCHours(),j=b.getUTCMinutes(),k=this.startDate!==-(1/0)?this.startDate.getUTCFullYear():-(1/0),l=this.startDate!==-(1/0)?this.startDate.getUTCMonth():-(1/0),m=this.endDate!==1/0?this.endDate.getUTCFullYear():1/0,n=this.endDate!==1/0?this.endDate.getUTCMonth()+1:1/0,o=new c(this.date.getUTCFullYear(),this.date.getUTCMonth(),this.date.getUTCDate()).valueOf(),p=new Date;if(this.setTitle(".datetimepicker-days",f[this.language].months[e]+" "+d),"time"==this.formatViewType){var q=this.getFormattedDate();this.setTitle(".datetimepicker-hours",q),this.setTitle(".datetimepicker-minutes",q)}else this.setTitle(".datetimepicker-hours",h+" "+f[this.language].months[e]+" "+d),this.setTitle(".datetimepicker-minutes",h+" "+f[this.language].months[e]+" "+d);this.picker.find("tfoot th.today").text(f[this.language].today||f.en.today).toggle(this.todayBtn!==!1),this.picker.find("tfoot th.clear").text(f[this.language].clear||f.en.clear).toggle(this.clearBtn!==!1),this.updateNavArrows(),this.fillMonths();var r=c(d,e-1,28,0,0,0,0),s=g.getDaysInMonth(r.getUTCFullYear(),r.getUTCMonth());r.setUTCDate(s),r.setUTCDate(s-(r.getUTCDay()-this.weekStart+7)%7);var t=new Date(r);t.setUTCDate(t.getUTCDate()+42),t=t.valueOf();for(var u,v=[];r.valueOf()<t;)r.getUTCDay()==this.weekStart&&v.push("<tr>"),u="",r.getUTCFullYear()<d||r.getUTCFullYear()==d&&r.getUTCMonth()<e?u+=" old":(r.getUTCFullYear()>d||r.getUTCFullYear()==d&&r.getUTCMonth()>e)&&(u+=" new"),this.todayHighlight&&r.getUTCFullYear()==p.getFullYear()&&r.getUTCMonth()==p.getMonth()&&r.getUTCDate()==p.getDate()&&(u+=" today"),r.valueOf()==o&&(u+=" active"),(r.valueOf()+864e5<=this.startDate||r.valueOf()>this.endDate||a.inArray(r.getUTCDay(),this.daysOfWeekDisabled)!==-1||a.inArray(r.toDateString(),this.datesDisabled)!==-1)&&(u+=" disabled"),v.push('<td class="day'+u+'">'+r.getUTCDate()+"</td>"),r.getUTCDay()==this.weekEnd&&v.push("</tr>"),r.setUTCDate(r.getUTCDate()+1);this.picker.find(".datetimepicker-days tbody").empty().append(v.join("")),v=[];for(var w="",x="",y="",z=this.hoursDisabled||[],A=0;A<24;A++)if(z.indexOf(A)===-1){var B=c(d,e,h,A);u="",B.valueOf()+36e5<=this.startDate||B.valueOf()>this.endDate?u+=" disabled":i==A&&(u+=" active"),this.showMeridian&&2==f[this.language].meridiem.length?(x=A<12?f[this.language].meridiem[0]:f[this.language].meridiem[1],x!=y&&(""!=y&&v.push("</fieldset>"),v.push('<fieldset class="hour"><legend>'+x.toUpperCase()+"</legend>")),y=x,w=A%12?A%12:12,v.push('<span class="hour'+u+" hour_"+(A<12?"am":"pm")+'">'+w+"</span>"),23==A&&v.push("</fieldset>")):(w=A+":00",v.push('<span class="hour'+u+'">'+w+"</span>"))}this.picker.find(".datetimepicker-hours td").html(v.join("")),v=[],w="",x="",y="";for(var C=this.minutesDisabled||[],A=0;A<60;A+=this.minuteStep)if(C.indexOf(A)===-1){var B=c(d,e,h,i,A,0);u="",B.valueOf()<this.startDate||B.valueOf()>this.endDate?u+=" disabled":Math.floor(j/this.minuteStep)==Math.floor(A/this.minuteStep)&&(u+=" active"),this.showMeridian&&2==f[this.language].meridiem.length?(x=i<12?f[this.language].meridiem[0]:f[this.language].meridiem[1],x!=y&&(""!=y&&v.push("</fieldset>"),v.push('<fieldset class="minute"><legend>'+x.toUpperCase()+"</legend>")),y=x,w=i%12?i%12:12,v.push('<span class="minute'+u+'">'+w+":"+(A<10?"0"+A:A)+"</span>"),59==A&&v.push("</fieldset>")):(w=A+":00",v.push('<span class="minute'+u+'">'+i+":"+(A<10?"0"+A:A)+"</span>"))}this.picker.find(".datetimepicker-minutes td").html(v.join(""));var D=this.date.getUTCFullYear(),E=this.setTitle(".datetimepicker-months",d).end().find("span").removeClass("active");if(D==d){var F=E.length-12;E.eq(this.date.getUTCMonth()+F).addClass("active")}(d<k||d>m)&&E.addClass("disabled"),d==k&&E.slice(0,l).addClass("disabled"),d==m&&E.slice(n).addClass("disabled"),v="",d=10*parseInt(d/10,10);var G=this.setTitle(".datetimepicker-years",d+"-"+(d+9)).end().find("td");d-=1;for(var A=-1;A<11;A++)v+='<span class="year'+(A==-1||10==A?" old":"")+(D==d?" active":"")+(d<k||d>m?" disabled":"")+'">'+d+"</span>",d+=1;G.html(v),this.place()}},updateNavArrows:function(){var a=new Date(this.viewDate),b=a.getUTCFullYear(),c=a.getUTCMonth(),d=a.getUTCDate(),e=a.getUTCHours();switch(this.viewMode){case 0:this.startDate!==-(1/0)&&b<=this.startDate.getUTCFullYear()&&c<=this.startDate.getUTCMonth()&&d<=this.startDate.getUTCDate()&&e<=this.startDate.getUTCHours()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.endDate!==1/0&&b>=this.endDate.getUTCFullYear()&&c>=this.endDate.getUTCMonth()&&d>=this.endDate.getUTCDate()&&e>=this.endDate.getUTCHours()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case 1:this.startDate!==-(1/0)&&b<=this.startDate.getUTCFullYear()&&c<=this.startDate.getUTCMonth()&&d<=this.startDate.getUTCDate()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.endDate!==1/0&&b>=this.endDate.getUTCFullYear()&&c>=this.endDate.getUTCMonth()&&d>=this.endDate.getUTCDate()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case 2:this.startDate!==-(1/0)&&b<=this.startDate.getUTCFullYear()&&c<=this.startDate.getUTCMonth()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.endDate!==1/0&&b>=this.endDate.getUTCFullYear()&&c>=this.endDate.getUTCMonth()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case 3:case 4:this.startDate!==-(1/0)&&b<=this.startDate.getUTCFullYear()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.endDate!==1/0&&b>=this.endDate.getUTCFullYear()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"})}},mousewheel:function(b){if(b.preventDefault(),b.stopPropagation(),!this.wheelPause){this.wheelPause=!0;var c=b.originalEvent,d=c.wheelDelta,e=d>0?1:0===d?0:-1;this.wheelViewModeNavigationInverseDirection&&(e=-e),this.showMode(e),setTimeout(a.proxy(function(){this.wheelPause=!1},this),this.wheelViewModeNavigationDelay)}},click:function(b){b.stopPropagation(),b.preventDefault();var d=a(b.target).closest("span, td, th, legend");if(d.is("."+this.icontype)&&(d=a(d).parent().closest("span, td, th, legend")),1==d.length){if(d.is(".disabled"))return void this.element.trigger({type:"outOfRange",date:this.viewDate,startDate:this.startDate,endDate:this.endDate});switch(d[0].nodeName.toLowerCase()){case"th":switch(d[0].className){case"switch":this.showMode(1);break;case"prev":case"next":var e=g.modes[this.viewMode].navStep*("prev"==d[0].className?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveHour(this.viewDate,e);break;case 1:this.viewDate=this.moveDate(this.viewDate,e);break;case 2:this.viewDate=this.moveMonth(this.viewDate,e);break;case 3:case 4:this.viewDate=this.moveYear(this.viewDate,e)}this.fill(),this.element.trigger({type:d[0].className+":"+this.convertViewModeText(this.viewMode),date:this.viewDate,startDate:this.startDate,endDate:this.endDate});break;case"clear":this.reset(),this.autoclose&&this.hide();break;case"today":var f=new Date;f=c(f.getFullYear(),f.getMonth(),f.getDate(),f.getHours(),f.getMinutes(),f.getSeconds(),0),f<this.startDate?f=this.startDate:f>this.endDate&&(f=this.endDate),this.viewMode=this.startViewMode,this.showMode(0),this._setDate(f),this.fill(),this.autoclose&&this.hide()}break;case"span":if(!d.is(".disabled")){var h=this.viewDate.getUTCFullYear(),i=this.viewDate.getUTCMonth(),j=this.viewDate.getUTCDate(),k=this.viewDate.getUTCHours(),l=this.viewDate.getUTCMinutes(),m=this.viewDate.getUTCSeconds();if(d.is(".month")?(this.viewDate.setUTCDate(1),i=d.parent().find("span").index(d),j=this.viewDate.getUTCDate(),this.viewDate.setUTCMonth(i),this.element.trigger({type:"changeMonth",date:this.viewDate}),this.viewSelect>=3&&this._setDate(c(h,i,j,k,l,m,0))):d.is(".year")?(this.viewDate.setUTCDate(1),h=parseInt(d.text(),10)||0,this.viewDate.setUTCFullYear(h),this.element.trigger({type:"changeYear",date:this.viewDate}),this.viewSelect>=4&&this._setDate(c(h,i,j,k,l,m,0))):d.is(".hour")?(k=parseInt(d.text(),10)||0,(d.hasClass("hour_am")||d.hasClass("hour_pm"))&&(12==k&&d.hasClass("hour_am")?k=0:12!=k&&d.hasClass("hour_pm")&&(k+=12)),this.viewDate.setUTCHours(k),this.element.trigger({type:"changeHour",date:this.viewDate}),this.viewSelect>=1&&this._setDate(c(h,i,j,k,l,m,0))):d.is(".minute")&&(l=parseInt(d.text().substr(d.text().indexOf(":")+1),10)||0,this.viewDate.setUTCMinutes(l),this.element.trigger({type:"changeMinute",date:this.viewDate}),this.viewSelect>=0&&this._setDate(c(h,i,j,k,l,m,0))),0!=this.viewMode){var n=this.viewMode;this.showMode(-1),this.fill(),n==this.viewMode&&this.autoclose&&this.hide()}else this.fill(),this.autoclose&&this.hide()}break;case"td":if(d.is(".day")&&!d.is(".disabled")){var j=parseInt(d.text(),10)||1,h=this.viewDate.getUTCFullYear(),i=this.viewDate.getUTCMonth(),k=this.viewDate.getUTCHours(),l=this.viewDate.getUTCMinutes(),m=this.viewDate.getUTCSeconds();d.is(".old")?0===i?(i=11,h-=1):i-=1:d.is(".new")&&(11==i?(i=0,h+=1):i+=1),this.viewDate.setUTCFullYear(h),this.viewDate.setUTCMonth(i,j),this.element.trigger({type:"changeDay",date:this.viewDate}),this.viewSelect>=2&&this._setDate(c(h,i,j,k,l,m,0))}var n=this.viewMode;this.showMode(-1),this.fill(),n==this.viewMode&&this.autoclose&&this.hide()}}},_setDate:function(a,b){b&&"date"!=b||(this.date=a),b&&"view"!=b||(this.viewDate=a),this.fill(),this.setValue();var c;this.isInput?c=this.element:this.component&&(c=this.element.find("input")),c&&(c.change(),this.autoclose&&(!b||"date"==b)),this.element.trigger({type:"changeDate",date:this.getDate()}),null==a&&(this.date=this.viewDate)},moveMinute:function(a,b){if(!b)return a;var c=new Date(a.valueOf());return c.setUTCMinutes(c.getUTCMinutes()+b*this.minuteStep),c},moveHour:function(a,b){if(!b)return a;var c=new Date(a.valueOf());return c.setUTCHours(c.getUTCHours()+b),c},moveDate:function(a,b){if(!b)return a;var c=new Date(a.valueOf());return c.setUTCDate(c.getUTCDate()+b),c},moveMonth:function(a,b){if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),g=e.getUTCMonth(),h=Math.abs(b);if(b=b>0?1:-1,1==h)d=b==-1?function(){return e.getUTCMonth()==g}:function(){return e.getUTCMonth()!=c},c=g+b,e.setUTCMonth(c),(c<0||c>11)&&(c=(c+12)%12);else{for(var i=0;i<h;i++)e=this.moveMonth(e,b);c=e.getUTCMonth(),e.setUTCDate(f),d=function(){return c!=e.getUTCMonth()}}for(;d();)e.setUTCDate(--f),e.setUTCMonth(c);return e},moveYear:function(a,b){return this.moveMonth(a,12*b)},dateWithinRange:function(a){return a>=this.startDate&&a<=this.endDate},keydown:function(a){if(this.picker.is(":not(:visible)"))return void(27==a.keyCode&&this.show());var b,c,d,e=!1;switch(a.keyCode){case 27:this.hide(),a.preventDefault();break;case 37:case 39:if(!this.keyboardNavigation)break;b=37==a.keyCode?-1:1,viewMode=this.viewMode,a.ctrlKey?viewMode+=2:a.shiftKey&&(viewMode+=1),4==viewMode?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):3==viewMode?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):2==viewMode?(c=this.moveDate(this.date,b),d=this.moveDate(this.viewDate,b)):1==viewMode?(c=this.moveHour(this.date,b),d=this.moveHour(this.viewDate,b)):0==viewMode&&(c=this.moveMinute(this.date,b),d=this.moveMinute(this.viewDate,b)),this.dateWithinRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case 38:case 40:if(!this.keyboardNavigation)break;b=38==a.keyCode?-1:1,viewMode=this.viewMode,a.ctrlKey?viewMode+=2:a.shiftKey&&(viewMode+=1),4==viewMode?(c=this.moveYear(this.date,b),d=this.moveYear(this.viewDate,b)):3==viewMode?(c=this.moveMonth(this.date,b),d=this.moveMonth(this.viewDate,b)):2==viewMode?(c=this.moveDate(this.date,7*b),d=this.moveDate(this.viewDate,7*b)):1==viewMode?this.showMeridian?(c=this.moveHour(this.date,6*b),d=this.moveHour(this.viewDate,6*b)):(c=this.moveHour(this.date,4*b),d=this.moveHour(this.viewDate,4*b)):0==viewMode&&(c=this.moveMinute(this.date,4*b),d=this.moveMinute(this.viewDate,4*b)),this.dateWithinRange(c)&&(this.date=c,this.viewDate=d,this.setValue(),this.update(),a.preventDefault(),e=!0);break;case 13:if(0!=this.viewMode){var f=this.viewMode;this.showMode(-1),this.fill(),f==this.viewMode&&this.autoclose&&this.hide()}else this.fill(),this.autoclose&&this.hide();a.preventDefault();break;case 9:this.hide()}if(e){var g;this.isInput?g=this.element:this.component&&(g=this.element.find("input")),g&&g.change(),this.element.trigger({type:"changeDate",date:this.getDate()})}},showMode:function(a){if(a){var b=Math.max(0,Math.min(g.modes.length-1,this.viewMode+a));b>=this.minView&&b<=this.maxView&&(this.element.trigger({type:"changeMode",date:this.viewDate,oldViewMode:this.viewMode,newViewMode:b}),this.viewMode=b)}this.picker.find(">div").hide().filter(".datetimepicker-"+g.modes[this.viewMode].clsName).css("display","block"),this.updateNavArrows()},reset:function(a){this._setDate(null,"date")},convertViewModeText:function(a){switch(a){case 4:return"decade";case 3:return"year";case 2:return"month";case 1:return"day";case 0:return"hour"}}};var e=a.fn.datetimepicker;a.fn.datetimepicker=function(c){var e=Array.apply(null,arguments);e.shift();var f;return this.each(function(){var g=a(this),h=g.data("datetimepicker"),i="object"==typeof c&&c;if(h||g.data("datetimepicker",h=new d(this,a.extend({},a.fn.datetimepicker.defaults,i))),"string"==typeof c&&"function"==typeof h[c]&&(f=h[c].apply(h,e),f!==b))return!1}),f!==b?f:this},a.fn.datetimepicker.defaults={},a.fn.datetimepicker.Constructor=d;var f=a.fn.datetimepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["am","pm"],suffix:["st","nd","rd","th"],today:"Today",clear:"Clear"}},g={modes:[{clsName:"minutes",navFnc:"Hours",navStep:1},{clsName:"hours",navFnc:"Date",navStep:1},{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(a){return a%4===0&&a%100!==0||a%400===0},getDaysInMonth:function(a,b){return[31,g.isLeapYear(a)?29:28,31,30,31,30,31,31,30,31,30,31][b]},getDefaultFormat:function(a,b){if("standard"==a)return"input"==b?"yyyy-mm-dd hh:ii":"yyyy-mm-dd hh:ii:ss";if("php"==a)return"input"==b?"Y-m-d H:i":"Y-m-d H:i:s";throw new Error("Invalid format type.")},validParts:function(a){if("standard"==a)return/t|hh?|HH?|p|P|z|Z|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g;if("php"==a)return/[dDjlNwzFmMnStyYaABgGhHis]/g;throw new Error("Invalid format type.")},nonpunctuation:/[^ -\/:-@\[-`{-~\t\n\rTZ]+/g,parseFormat:function(a,b){var c=a.replace(this.validParts(b),"\0").split("\0"),d=a.match(this.validParts(b));if(!c||!c.length||!d||0==d.length)throw new Error("Invalid date format.");return{separators:c,parts:d}},parseDate:function(b,e,g,h,i){if(b instanceof Date){var j=new Date(b.valueOf()-6e4*b.getTimezoneOffset());return j.setMilliseconds(0),j}if(/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(b)&&(e=this.parseFormat("yyyy-mm-dd",h)),/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(b)&&(e=this.parseFormat("yyyy-mm-dd hh:ii",h)),/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(b)&&(e=this.parseFormat("yyyy-mm-dd hh:ii:ss",h)),/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(b)){var k,l,m=/([-+]\d+)([dmwy])/,n=b.match(/([-+]\d+)([dmwy])/g);b=new Date;for(var o=0;o<n.length;o++)switch(k=m.exec(n[o]),l=parseInt(k[1]),k[2]){case"d":b.setUTCDate(b.getUTCDate()+l);break;case"m":b=d.prototype.moveMonth.call(d.prototype,b,l);break;case"w":b.setUTCDate(b.getUTCDate()+7*l);break;case"y":b=d.prototype.moveYear.call(d.prototype,b,l)}return c(b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate(),b.getUTCHours(),b.getUTCMinutes(),b.getUTCSeconds(),0)}var p,q,k,n=b&&b.toString().match(this.nonpunctuation)||[],b=new Date(0,0,0,0,0,0,0),r={},s=["hh","h","ii","i","ss","s","yyyy","yy","M","MM","m","mm","D","DD","d","dd","H","HH","p","P","z","Z"],t={hh:function(a,b){return a.setUTCHours(b)},h:function(a,b){return a.setUTCHours(b)},HH:function(a,b){return a.setUTCHours(12==b?0:b)},H:function(a,b){return a.setUTCHours(12==b?0:b)},ii:function(a,b){return a.setUTCMinutes(b)},i:function(a,b){return a.setUTCMinutes(b)},ss:function(a,b){return a.setUTCSeconds(b)},s:function(a,b){return a.setUTCSeconds(b)},yyyy:function(a,b){return a.setUTCFullYear(b)},yy:function(a,b){return a.setUTCFullYear(2e3+b)},m:function(a,b){for(b-=1;b<0;)b+=12;for(b%=12,a.setUTCMonth(b);a.getUTCMonth()!=b;){if(isNaN(a.getUTCMonth()))return a;a.setUTCDate(a.getUTCDate()-1)}return a},d:function(a,b){return a.setUTCDate(b)},p:function(a,b){return a.setUTCHours(1==b?a.getUTCHours()+12:a.getUTCHours())},z:function(){return i}};if(t.M=t.MM=t.mm=t.m,t.dd=t.d,t.P=t.p,t.Z=t.z,b=c(b.getFullYear(),b.getMonth(),b.getDate(),b.getHours(),b.getMinutes(),b.getSeconds()),n.length==e.parts.length){for(var o=0,u=e.parts.length;o<u;o++){if(p=parseInt(n[o],10),k=e.parts[o],isNaN(p))switch(k){case"MM":q=a(f[g].months).filter(function(){var a=this.slice(0,n[o].length),b=n[o].slice(0,a.length);return a==b}),p=a.inArray(q[0],f[g].months)+1;break;case"M":q=a(f[g].monthsShort).filter(function(){var a=this.slice(0,n[o].length),b=n[o].slice(0,a.length);return a.toLowerCase()==b.toLowerCase()}),p=a.inArray(q[0],f[g].monthsShort)+1;break;case"p":case"P":p=a.inArray(n[o].toLowerCase(),f[g].meridiem);break;case"z":case"Z":}r[k]=p}for(var v,o=0;o<s.length;o++)v=s[o],v in r&&!isNaN(r[v])&&t[v](b,r[v])}return b},formatDate:function(b,c,d,e,h){if(null==b)return"";var i;if("standard"==e)i={t:b.getTime(),yy:b.getUTCFullYear().toString().substring(2),yyyy:b.getUTCFullYear(),m:b.getUTCMonth()+1,M:f[d].monthsShort[b.getUTCMonth()],MM:f[d].months[b.getUTCMonth()],d:b.getUTCDate(),D:f[d].daysShort[b.getUTCDay()],DD:f[d].days[b.getUTCDay()],p:2==f[d].meridiem.length?f[d].meridiem[b.getUTCHours()<12?0:1]:"",h:b.getUTCHours(),i:b.getUTCMinutes(),s:b.getUTCSeconds(),z:h},2==f[d].meridiem.length?i.H=i.h%12==0?12:i.h%12:i.H=i.h,i.HH=(i.H<10?"0":"")+i.H,i.P=i.p.toUpperCase(),i.Z=i.z,i.hh=(i.h<10?"0":"")+i.h,i.ii=(i.i<10?"0":"")+i.i,i.ss=(i.s<10?"0":"")+i.s,i.dd=(i.d<10?"0":"")+i.d,i.mm=(i.m<10?"0":"")+i.m;else{if("php"!=e)throw new Error("Invalid format type.");i={y:b.getUTCFullYear().toString().substring(2),Y:b.getUTCFullYear(),F:f[d].months[b.getUTCMonth()],M:f[d].monthsShort[b.getUTCMonth()],n:b.getUTCMonth()+1,t:g.getDaysInMonth(b.getUTCFullYear(),b.getUTCMonth()),j:b.getUTCDate(),l:f[d].days[b.getUTCDay()],D:f[d].daysShort[b.getUTCDay()],w:b.getUTCDay(),N:0==b.getUTCDay()?7:b.getUTCDay(),S:b.getUTCDate()%10<=f[d].suffix.length?f[d].suffix[b.getUTCDate()%10-1]:"",
+a:2==f[d].meridiem.length?f[d].meridiem[b.getUTCHours()<12?0:1]:"",g:b.getUTCHours()%12==0?12:b.getUTCHours()%12,G:b.getUTCHours(),i:b.getUTCMinutes(),s:b.getUTCSeconds()},i.m=(i.n<10?"0":"")+i.n,i.d=(i.j<10?"0":"")+i.j,i.A=i.a.toString().toUpperCase(),i.h=(i.g<10?"0":"")+i.g,i.H=(i.G<10?"0":"")+i.G,i.i=(i.i<10?"0":"")+i.i,i.s=(i.s<10?"0":"")+i.s}for(var b=[],j=a.extend([],c.separators),k=0,l=c.parts.length;k<l;k++)j.length&&b.push(j.shift()),b.push(i[c.parts[k]]);return j.length&&b.push(j.shift()),b.join("")},convertViewMode:function(a){switch(a){case 4:case"decade":a=4;break;case 3:case"year":a=3;break;case 2:case"month":a=2;break;case 1:case"day":a=1;break;case 0:case"hour":a=0}return a},headTemplate:'<thead><tr><th class="prev"><i class="{iconType} {leftArrow}"/></th><th colspan="5" class="switch"></th><th class="next"><i class="{iconType} {rightArrow}"/></th></tr></thead>',headTemplateV3:'<thead><tr><th class="prev"><span class="{iconType} {leftArrow}"></span> </th><th colspan="5" class="switch"></th><th class="next"><span class="{iconType} {rightArrow}"></span> </th></tr></thead>',contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>'};g.template='<div class="datetimepicker"><div class="datetimepicker-minutes"><table class=" table-condensed">'+g.headTemplate+g.contTemplate+g.footTemplate+'</table></div><div class="datetimepicker-hours"><table class=" table-condensed">'+g.headTemplate+g.contTemplate+g.footTemplate+'</table></div><div class="datetimepicker-days"><table class=" table-condensed">'+g.headTemplate+"<tbody></tbody>"+g.footTemplate+'</table></div><div class="datetimepicker-months"><table class="table-condensed">'+g.headTemplate+g.contTemplate+g.footTemplate+'</table></div><div class="datetimepicker-years"><table class="table-condensed">'+g.headTemplate+g.contTemplate+g.footTemplate+"</table></div></div>",g.templateV3='<div class="datetimepicker"><div class="datetimepicker-minutes"><table class=" table-condensed">'+g.headTemplateV3+g.contTemplate+g.footTemplate+'</table></div><div class="datetimepicker-hours"><table class=" table-condensed">'+g.headTemplateV3+g.contTemplate+g.footTemplate+'</table></div><div class="datetimepicker-days"><table class=" table-condensed">'+g.headTemplateV3+"<tbody></tbody>"+g.footTemplate+'</table></div><div class="datetimepicker-months"><table class="table-condensed">'+g.headTemplateV3+g.contTemplate+g.footTemplate+'</table></div><div class="datetimepicker-years"><table class="table-condensed">'+g.headTemplateV3+g.contTemplate+g.footTemplate+"</table></div></div>",a.fn.datetimepicker.DPGlobal=g,a.fn.datetimepicker.noConflict=function(){return a.fn.datetimepicker=e,this},a(document).on("focus.datetimepicker.data-api click.datetimepicker.data-api",'[data-provide="datetimepicker"]',function(b){var c=a(this);c.data("datetimepicker")||(b.preventDefault(),c.datetimepicker("show"))}),a(function(){a('[data-provide="datetimepicker-inline"]').datetimepicker()})}),function(a){if("function"==typeof define&&define.amd)define(["jquery"],a);else if("object"===("undefined"==typeof module?"undefined":_typeof(module))&&module.exports){var b;try{b=require("jquery")}catch(c){b=null}module.exports=a(b)}else window&&(window.Slider=a(window.jQuery))}(function(a){var b;return function(a){"use strict";function b(){}function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;h<i;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l&&l!==k)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}return this}var m=this.map(function(){var d=a.data(this,b);return d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d)),a(this)});return!m||m.length>1?m:m[0]}}if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var d=Array.prototype.slice;c(a)}(a),function(a){function c(b,c){function d(a,b){var c="data-slider-"+b.replace(/_/g,"-"),d=a.getAttribute(c);try{return JSON.parse(d)}catch(e){return d}}this._state={value:null,enabled:null,offset:null,size:null,percentage:null,inDrag:!1,over:!1},"string"==typeof b?this.element=document.querySelector(b):b instanceof HTMLElement&&(this.element=b),c=c?c:{};for(var f=Object.keys(this.defaultOptions),g=0;g<f.length;g++){var h=f[g],i=c[h];i="undefined"!=typeof i?i:d(this.element,h),i=null!==i?i:this.defaultOptions[h],this.options||(this.options={}),this.options[h]=i}"vertical"!==this.options.orientation||"top"!==this.options.tooltip_position&&"bottom"!==this.options.tooltip_position?"horizontal"!==this.options.orientation||"left"!==this.options.tooltip_position&&"right"!==this.options.tooltip_position||(this.options.tooltip_position="top"):this.options.tooltip_position="right";var j,k,l,m,n,o=this.element.style.width,p=!1,q=this.element.parentNode;if(this.sliderElem)p=!0;else{this.sliderElem=document.createElement("div"),this.sliderElem.className="slider";var r=document.createElement("div");r.className="slider-track",k=document.createElement("div"),k.className="slider-track-low",j=document.createElement("div"),j.className="slider-selection",l=document.createElement("div"),l.className="slider-track-high",m=document.createElement("div"),m.className="slider-handle min-slider-handle",m.setAttribute("role","slider"),m.setAttribute("aria-valuemin",this.options.min),m.setAttribute("aria-valuemax",this.options.max),n=document.createElement("div"),n.className="slider-handle max-slider-handle",n.setAttribute("role","slider"),n.setAttribute("aria-valuemin",this.options.min),n.setAttribute("aria-valuemax",this.options.max),r.appendChild(k),r.appendChild(j),r.appendChild(l);var s=Array.isArray(this.options.labelledby);if(s&&this.options.labelledby[0]&&m.setAttribute("aria-labelledby",this.options.labelledby[0]),s&&this.options.labelledby[1]&&n.setAttribute("aria-labelledby",this.options.labelledby[1]),!s&&this.options.labelledby&&(m.setAttribute("aria-labelledby",this.options.labelledby),n.setAttribute("aria-labelledby",this.options.labelledby)),this.ticks=[],Array.isArray(this.options.ticks)&&this.options.ticks.length>0){for(g=0;g<this.options.ticks.length;g++){var t=document.createElement("div");t.className="slider-tick",this.ticks.push(t),r.appendChild(t)}j.className+=" tick-slider-selection"}if(r.appendChild(m),r.appendChild(n),this.tickLabels=[],Array.isArray(this.options.ticks_labels)&&this.options.ticks_labels.length>0)for(this.tickLabelContainer=document.createElement("div"),this.tickLabelContainer.className="slider-tick-label-container",g=0;g<this.options.ticks_labels.length;g++){var u=document.createElement("div"),v=0===this.options.ticks_positions.length,w=this.options.reversed&&v?this.options.ticks_labels.length-(g+1):g;u.className="slider-tick-label",u.innerHTML=this.options.ticks_labels[w],this.tickLabels.push(u),this.tickLabelContainer.appendChild(u)}var x=function(a){var b=document.createElement("div");b.className="tooltip-arrow";var c=document.createElement("div");c.className="tooltip-inner",a.appendChild(b),a.appendChild(c)},y=document.createElement("div");y.className="tooltip tooltip-main",y.setAttribute("role","presentation"),x(y);var z=document.createElement("div");z.className="tooltip tooltip-min",z.setAttribute("role","presentation"),x(z);var A=document.createElement("div");A.className="tooltip tooltip-max",A.setAttribute("role","presentation"),x(A),this.sliderElem.appendChild(r),this.sliderElem.appendChild(y),this.sliderElem.appendChild(z),this.sliderElem.appendChild(A),this.tickLabelContainer&&this.sliderElem.appendChild(this.tickLabelContainer),q.insertBefore(this.sliderElem,this.element),this.element.style.display="none"}if(a&&(this.$element=a(this.element),this.$sliderElem=a(this.sliderElem)),this.eventToCallbackMap={},this.sliderElem.id=this.options.id,this.touchCapable="ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch,this.touchX=0,this.touchY=0,this.tooltip=this.sliderElem.querySelector(".tooltip-main"),this.tooltipInner=this.tooltip.querySelector(".tooltip-inner"),this.tooltip_min=this.sliderElem.querySelector(".tooltip-min"),this.tooltipInner_min=this.tooltip_min.querySelector(".tooltip-inner"),this.tooltip_max=this.sliderElem.querySelector(".tooltip-max"),this.tooltipInner_max=this.tooltip_max.querySelector(".tooltip-inner"),e[this.options.scale]&&(this.options.scale=e[this.options.scale]),p===!0&&(this._removeClass(this.sliderElem,"slider-horizontal"),this._removeClass(this.sliderElem,"slider-vertical"),this._removeClass(this.tooltip,"hide"),this._removeClass(this.tooltip_min,"hide"),this._removeClass(this.tooltip_max,"hide"),["left","top","width","height"].forEach(function(a){this._removeProperty(this.trackLow,a),this._removeProperty(this.trackSelection,a),this._removeProperty(this.trackHigh,a)},this),[this.handle1,this.handle2].forEach(function(a){this._removeProperty(a,"left"),this._removeProperty(a,"top")},this),[this.tooltip,this.tooltip_min,this.tooltip_max].forEach(function(a){this._removeProperty(a,"left"),this._removeProperty(a,"top"),this._removeProperty(a,"margin-left"),this._removeProperty(a,"margin-top"),this._removeClass(a,"right"),this._removeClass(a,"top")},this)),"vertical"===this.options.orientation?(this._addClass(this.sliderElem,"slider-vertical"),this.stylePos="top",this.mousePos="pageY",this.sizePos="offsetHeight"):(this._addClass(this.sliderElem,"slider-horizontal"),this.sliderElem.style.width=o,this.options.orientation="horizontal",this.stylePos="left",this.mousePos="pageX",this.sizePos="offsetWidth"),this._setTooltipPosition(),Array.isArray(this.options.ticks)&&this.options.ticks.length>0&&(this.options.max=Math.max.apply(Math,this.options.ticks),this.options.min=Math.min.apply(Math,this.options.ticks)),Array.isArray(this.options.value)?(this.options.range=!0,this._state.value=this.options.value):this.options.range?this._state.value=[this.options.value,this.options.max]:this._state.value=this.options.value,this.trackLow=k||this.trackLow,this.trackSelection=j||this.trackSelection,this.trackHigh=l||this.trackHigh,"none"===this.options.selection&&(this._addClass(this.trackLow,"hide"),this._addClass(this.trackSelection,"hide"),this._addClass(this.trackHigh,"hide")),this.handle1=m||this.handle1,this.handle2=n||this.handle2,p===!0)for(this._removeClass(this.handle1,"round triangle"),this._removeClass(this.handle2,"round triangle hide"),g=0;g<this.ticks.length;g++)this._removeClass(this.ticks[g],"round triangle hide");var B=["round","triangle","custom"],C=B.indexOf(this.options.handle)!==-1;if(C)for(this._addClass(this.handle1,this.options.handle),this._addClass(this.handle2,this.options.handle),g=0;g<this.ticks.length;g++)this._addClass(this.ticks[g],this.options.handle);this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos],this.setValue(this._state.value),this.handle1Keydown=this._keydown.bind(this,0),this.handle1.addEventListener("keydown",this.handle1Keydown,!1),this.handle2Keydown=this._keydown.bind(this,1),this.handle2.addEventListener("keydown",this.handle2Keydown,!1),this.mousedown=this._mousedown.bind(this),this.touchstart=this._touchstart.bind(this),this.touchmove=this._touchmove.bind(this),this.touchCapable&&(this.sliderElem.addEventListener("touchstart",this.touchstart,!1),this.sliderElem.addEventListener("touchmove",this.touchmove,!1)),this.sliderElem.addEventListener("mousedown",this.mousedown,!1),this.resize=this._resize.bind(this),window.addEventListener("resize",this.resize,!1),"hide"===this.options.tooltip?(this._addClass(this.tooltip,"hide"),this._addClass(this.tooltip_min,"hide"),this._addClass(this.tooltip_max,"hide")):"always"===this.options.tooltip?(this._showTooltip(),this._alwaysShowTooltip=!0):(this.showTooltip=this._showTooltip.bind(this),this.hideTooltip=this._hideTooltip.bind(this),this.sliderElem.addEventListener("mouseenter",this.showTooltip,!1),this.sliderElem.addEventListener("mouseleave",this.hideTooltip,!1),this.handle1.addEventListener("focus",this.showTooltip,!1),this.handle1.addEventListener("blur",this.hideTooltip,!1),this.handle2.addEventListener("focus",this.showTooltip,!1),this.handle2.addEventListener("blur",this.hideTooltip,!1)),this.options.enabled?this.enable():this.disable()}var d={formatInvalidInputErrorMsg:function(a){return"Invalid input value '"+a+"' passed in"},callingContextNotSliderInstance:"Calling context element does not have instance of Slider bound to it. Check your code to make sure the JQuery object returned from the call to the slider() initializer is calling the method"},e={linear:{toValue:function(a){var b=a/100*(this.options.max-this.options.min),c=!0;if(this.options.ticks_positions.length>0){for(var d,e,f,g=0,h=1;h<this.options.ticks_positions.length;h++)if(a<=this.options.ticks_positions[h]){d=this.options.ticks[h-1],f=this.options.ticks_positions[h-1],e=this.options.ticks[h],g=this.options.ticks_positions[h];break}var i=(a-f)/(g-f);b=d+i*(e-d),c=!1}var j=c?this.options.min:0,k=j+Math.round(b/this.options.step)*this.options.step;return k<this.options.min?this.options.min:k>this.options.max?this.options.max:k},toPercentage:function(a){if(this.options.max===this.options.min)return 0;if(this.options.ticks_positions.length>0){for(var b,c,d,e=0,f=0;f<this.options.ticks.length;f++)if(a<=this.options.ticks[f]){b=f>0?this.options.ticks[f-1]:0,d=f>0?this.options.ticks_positions[f-1]:0,c=this.options.ticks[f],e=this.options.ticks_positions[f];break}if(f>0){var g=(a-b)/(c-b);return d+g*(e-d)}}return 100*(a-this.options.min)/(this.options.max-this.options.min)}},logarithmic:{toValue:function(a){var b=0===this.options.min?0:Math.log(this.options.min),c=Math.log(this.options.max),d=Math.exp(b+(c-b)*a/100);return d=this.options.min+Math.round((d-this.options.min)/this.options.step)*this.options.step,d<this.options.min?this.options.min:d>this.options.max?this.options.max:d},toPercentage:function(a){if(this.options.max===this.options.min)return 0;var b=Math.log(this.options.max),c=0===this.options.min?0:Math.log(this.options.min),d=0===a?0:Math.log(a);return 100*(d-c)/(b-c)}}};if(b=function(a,b){return c.call(this,a,b),this},b.prototype={_init:function(){},constructor:b,defaultOptions:{id:"",min:0,max:10,step:1,precision:0,orientation:"horizontal",value:5,range:!1,selection:"before",tooltip:"show",tooltip_split:!1,handle:"round",reversed:!1,enabled:!0,formatter:function(a){return Array.isArray(a)?a[0]+" : "+a[1]:a},natural_arrow_keys:!1,ticks:[],ticks_positions:[],ticks_labels:[],ticks_snap_bounds:0,scale:"linear",focus:!1,tooltip_position:null,labelledby:null},getElement:function(){return this.sliderElem},getValue:function(){return this.options.range?this._state.value:this._state.value[0]},setValue:function(a,b,c){a||(a=0);var d=this.getValue();this._state.value=this._validateInputValue(a);var e=this._applyPrecision.bind(this);this.options.range?(this._state.value[0]=e(this._state.value[0]),this._state.value[1]=e(this._state.value[1]),this._state.value[0]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[0])),this._state.value[1]=Math.max(this.options.min,Math.min(this.options.max,this._state.value[1]))):(this._state.value=e(this._state.value),this._state.value=[Math.max(this.options.min,Math.min(this.options.max,this._state.value))],this._addClass(this.handle2,"hide"),"after"===this.options.selection?this._state.value[1]=this.options.max:this._state.value[1]=this.options.min),this.options.max>this.options.min?this._state.percentage=[this._toPercentage(this._state.value[0]),this._toPercentage(this._state.value[1]),100*this.options.step/(this.options.max-this.options.min)]:this._state.percentage=[0,0,100],this._layout();var f=this.options.range?this._state.value:this._state.value[0];return this._setDataVal(f),b===!0&&this._trigger("slide",f),d!==f&&c===!0&&this._trigger("change",{oldValue:d,newValue:f}),this},destroy:function(){this._removeSliderEventHandlers(),this.sliderElem.parentNode.removeChild(this.sliderElem),this.element.style.display="",this._cleanUpEventCallbacksMap(),this.element.removeAttribute("data"),a&&(this._unbindJQueryEventHandlers(),this.$element.removeData("slider"))},disable:function(){return this._state.enabled=!1,this.handle1.removeAttribute("tabindex"),this.handle2.removeAttribute("tabindex"),this._addClass(this.sliderElem,"slider-disabled"),this._trigger("slideDisabled"),this},enable:function(){return this._state.enabled=!0,this.handle1.setAttribute("tabindex",0),this.handle2.setAttribute("tabindex",0),this._removeClass(this.sliderElem,"slider-disabled"),this._trigger("slideEnabled"),this},toggle:function(){return this._state.enabled?this.disable():this.enable(),this},isEnabled:function(){return this._state.enabled},on:function(a,b){return this._bindNonQueryEventHandler(a,b),this},off:function(b,c){a?(this.$element.off(b,c),this.$sliderElem.off(b,c)):this._unbindNonQueryEventHandler(b,c)},getAttribute:function(a){return a?this.options[a]:this.options},setAttribute:function(a,b){return this.options[a]=b,this},refresh:function(){return this._removeSliderEventHandlers(),c.call(this,this.element,this.options),a&&a.data(this.element,"slider",this),this},relayout:function(){return this._resize(),this._layout(),this},_removeSliderEventHandlers:function(){this.handle1.removeEventListener("keydown",this.handle1Keydown,!1),this.handle2.removeEventListener("keydown",this.handle2Keydown,!1),this.showTooltip&&(this.handle1.removeEventListener("focus",this.showTooltip,!1),this.handle2.removeEventListener("focus",this.showTooltip,!1)),this.hideTooltip&&(this.handle1.removeEventListener("blur",this.hideTooltip,!1),this.handle2.removeEventListener("blur",this.hideTooltip,!1)),this.showTooltip&&this.sliderElem.removeEventListener("mouseenter",this.showTooltip,!1),this.hideTooltip&&this.sliderElem.removeEventListener("mouseleave",this.hideTooltip,!1),this.sliderElem.removeEventListener("touchstart",this.touchstart,!1),this.sliderElem.removeEventListener("touchmove",this.touchmove,!1),this.sliderElem.removeEventListener("mousedown",this.mousedown,!1),window.removeEventListener("resize",this.resize,!1)},_bindNonQueryEventHandler:function(a,b){void 0===this.eventToCallbackMap[a]&&(this.eventToCallbackMap[a]=[]),this.eventToCallbackMap[a].push(b)},_unbindNonQueryEventHandler:function(a,b){var c=this.eventToCallbackMap[a];if(void 0!==c)for(var d=0;d<c.length;d++)if(c[d]===b){c.splice(d,1);break}},_cleanUpEventCallbacksMap:function(){for(var a=Object.keys(this.eventToCallbackMap),b=0;b<a.length;b++){var c=a[b];this.eventToCallbackMap[c]=null}},_showTooltip:function(){this.options.tooltip_split===!1?(this._addClass(this.tooltip,"in"),this.tooltip_min.style.display="none",this.tooltip_max.style.display="none"):(this._addClass(this.tooltip_min,"in"),this._addClass(this.tooltip_max,"in"),this.tooltip.style.display="none"),this._state.over=!0},_hideTooltip:function(){this._state.inDrag===!1&&this.alwaysShowTooltip!==!0&&(this._removeClass(this.tooltip,"in"),this._removeClass(this.tooltip_min,"in"),this._removeClass(this.tooltip_max,"in")),this._state.over=!1},_layout:function(){var a;if(a=this.options.reversed?[100-this._state.percentage[0],this.options.range?100-this._state.percentage[1]:this._state.percentage[1]]:[this._state.percentage[0],this._state.percentage[1]],this.handle1.style[this.stylePos]=a[0]+"%",this.handle1.setAttribute("aria-valuenow",this._state.value[0]),this.handle2.style[this.stylePos]=a[1]+"%",this.handle2.setAttribute("aria-valuenow",this._state.value[1]),Array.isArray(this.options.ticks)&&this.options.ticks.length>0){var b="vertical"===this.options.orientation?"height":"width",c="vertical"===this.options.orientation?"marginTop":"marginLeft",d=this._state.size/(this.options.ticks.length-1);if(this.tickLabelContainer){var e=0;if(0===this.options.ticks_positions.length)"vertical"!==this.options.orientation&&(this.tickLabelContainer.style[c]=-d/2+"px"),e=this.tickLabelContainer.offsetHeight;else for(f=0;f<this.tickLabelContainer.childNodes.length;f++)this.tickLabelContainer.childNodes[f].offsetHeight>e&&(e=this.tickLabelContainer.childNodes[f].offsetHeight);"horizontal"===this.options.orientation&&(this.sliderElem.style.marginBottom=e+"px")}for(var f=0;f<this.options.ticks.length;f++){var g=this.options.ticks_positions[f]||this._toPercentage(this.options.ticks[f]);this.options.reversed&&(g=100-g),this.ticks[f].style[this.stylePos]=g+"%",this._removeClass(this.ticks[f],"in-selection"),this.options.range?g>=a[0]&&g<=a[1]&&this._addClass(this.ticks[f],"in-selection"):"after"===this.options.selection&&g>=a[0]?this._addClass(this.ticks[f],"in-selection"):"before"===this.options.selection&&g<=a[0]&&this._addClass(this.ticks[f],"in-selection"),this.tickLabels[f]&&(this.tickLabels[f].style[b]=d+"px","vertical"!==this.options.orientation&&void 0!==this.options.ticks_positions[f]?(this.tickLabels[f].style.position="absolute",this.tickLabels[f].style[this.stylePos]=g+"%",this.tickLabels[f].style[c]=-d/2+"px"):"vertical"===this.options.orientation&&(this.tickLabels[f].style.marginLeft=this.sliderElem.offsetWidth+"px",this.tickLabelContainer.style.marginTop=this.sliderElem.offsetWidth/2*-1+"px"))}}var h;if(this.options.range){h=this.options.formatter(this._state.value),this._setText(this.tooltipInner,h),this.tooltip.style[this.stylePos]=(a[1]+a[0])/2+"%","vertical"===this.options.orientation?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px"),"vertical"===this.options.orientation?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px");var i=this.options.formatter(this._state.value[0]);this._setText(this.tooltipInner_min,i);var j=this.options.formatter(this._state.value[1]);this._setText(this.tooltipInner_max,j),this.tooltip_min.style[this.stylePos]=a[0]+"%","vertical"===this.options.orientation?this._css(this.tooltip_min,"margin-top",-this.tooltip_min.offsetHeight/2+"px"):this._css(this.tooltip_min,"margin-left",-this.tooltip_min.offsetWidth/2+"px"),this.tooltip_max.style[this.stylePos]=a[1]+"%","vertical"===this.options.orientation?this._css(this.tooltip_max,"margin-top",-this.tooltip_max.offsetHeight/2+"px"):this._css(this.tooltip_max,"margin-left",-this.tooltip_max.offsetWidth/2+"px")}else h=this.options.formatter(this._state.value[0]),this._setText(this.tooltipInner,h),this.tooltip.style[this.stylePos]=a[0]+"%","vertical"===this.options.orientation?this._css(this.tooltip,"margin-top",-this.tooltip.offsetHeight/2+"px"):this._css(this.tooltip,"margin-left",-this.tooltip.offsetWidth/2+"px");if("vertical"===this.options.orientation)this.trackLow.style.top="0",this.trackLow.style.height=Math.min(a[0],a[1])+"%",this.trackSelection.style.top=Math.min(a[0],a[1])+"%",this.trackSelection.style.height=Math.abs(a[0]-a[1])+"%",this.trackHigh.style.bottom="0",this.trackHigh.style.height=100-Math.min(a[0],a[1])-Math.abs(a[0]-a[1])+"%";else{this.trackLow.style.left="0",this.trackLow.style.width=Math.min(a[0],a[1])+"%",this.trackSelection.style.left=Math.min(a[0],a[1])+"%",this.trackSelection.style.width=Math.abs(a[0]-a[1])+"%",this.trackHigh.style.right="0",this.trackHigh.style.width=100-Math.min(a[0],a[1])-Math.abs(a[0]-a[1])+"%";var k=this.tooltip_min.getBoundingClientRect(),l=this.tooltip_max.getBoundingClientRect();"bottom"===this.options.tooltip_position?k.right>l.left?(this._removeClass(this.tooltip_max,"bottom"),this._addClass(this.tooltip_max,"top"),this.tooltip_max.style.top="",this.tooltip_max.style.bottom="22px"):(this._removeClass(this.tooltip_max,"top"),this._addClass(this.tooltip_max,"bottom"),this.tooltip_max.style.top=this.tooltip_min.style.top,this.tooltip_max.style.bottom=""):k.right>l.left?(this._removeClass(this.tooltip_max,"top"),this._addClass(this.tooltip_max,"bottom"),this.tooltip_max.style.top="18px"):(this._removeClass(this.tooltip_max,"bottom"),this._addClass(this.tooltip_max,"top"),this.tooltip_max.style.top=this.tooltip_min.style.top)}},_resize:function(a){this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos],this._layout()},_removeProperty:function(a,b){a.style.removeProperty?a.style.removeProperty(b):a.style.removeAttribute(b)},_mousedown:function(a){if(!this._state.enabled)return!1;this._state.offset=this._offset(this.sliderElem),this._state.size=this.sliderElem[this.sizePos];var b=this._getPercentage(a);if(this.options.range){var c=Math.abs(this._state.percentage[0]-b),d=Math.abs(this._state.percentage[1]-b);this._state.dragged=c<d?0:1}else this._state.dragged=0;this._state.percentage[this._state.dragged]=b,this._layout(),this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1)),this.mousemove&&document.removeEventListener("mousemove",this.mousemove,!1),this.mouseup&&document.removeEventListener("mouseup",this.mouseup,!1),this.mousemove=this._mousemove.bind(this),this.mouseup=this._mouseup.bind(this),this.touchCapable&&(document.addEventListener("touchmove",this.mousemove,!1),document.addEventListener("touchend",this.mouseup,!1)),document.addEventListener("mousemove",this.mousemove,!1),document.addEventListener("mouseup",this.mouseup,!1),this._state.inDrag=!0;var e=this._calculateValue();return this._trigger("slideStart",e),this._setDataVal(e),this.setValue(e,!1,!0),this._pauseEvent(a),this.options.focus&&this._triggerFocusOnHandle(this._state.dragged),!0},_touchstart:function(a){if(void 0===a.changedTouches)return void this._mousedown(a);var b=a.changedTouches[0];this.touchX=b.pageX,this.touchY=b.pageY},_triggerFocusOnHandle:function(a){0===a&&this.handle1.focus(),1===a&&this.handle2.focus()},_keydown:function(a,b){if(!this._state.enabled)return!1;var c;switch(b.keyCode){case 37:case 40:c=-1;break;case 39:case 38:c=1}if(c){if(this.options.natural_arrow_keys){var d="vertical"===this.options.orientation&&!this.options.reversed,e="horizontal"===this.options.orientation&&this.options.reversed;(d||e)&&(c=-c)}var f=this._state.value[a]+c*this.options.step;return this.options.range&&(f=[a?this._state.value[0]:f,a?f:this._state.value[1]]),this._trigger("slideStart",f),this._setDataVal(f),this.setValue(f,!0,!0),this._setDataVal(f),this._trigger("slideStop",f),this._layout(),this._pauseEvent(b),!1}},_pauseEvent:function(a){a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a.cancelBubble=!0,a.returnValue=!1},_mousemove:function(a){if(!this._state.enabled)return!1;var b=this._getPercentage(a);this._adjustPercentageForRangeSliders(b),this._state.percentage[this._state.dragged]=b,this._layout();var c=this._calculateValue(!0);return this.setValue(c,!0,!0),!1},_touchmove:function(a){if(void 0!==a.changedTouches){var b=a.changedTouches[0],c=b.pageX-this.touchX,d=b.pageY-this.touchY;this._state.inDrag||("vertical"===this.options.orientation&&c<=5&&c>=-5&&(d>=15||d<=-15)?this._mousedown(a):d<=5&&d>=-5&&(c>=15||c<=-15)&&this._mousedown(a))}},_adjustPercentageForRangeSliders:function(a){if(this.options.range){var b=this._getNumDigitsAfterDecimalPlace(a);b=b?b-1:0;var c=this._applyToFixedAndParseFloat(a,b);0===this._state.dragged&&this._applyToFixedAndParseFloat(this._state.percentage[1],b)<c?(this._state.percentage[0]=this._state.percentage[1],this._state.dragged=1):1===this._state.dragged&&this._applyToFixedAndParseFloat(this._state.percentage[0],b)>c&&(this._state.percentage[1]=this._state.percentage[0],this._state.dragged=0)}},_mouseup:function(){if(!this._state.enabled)return!1;this.touchCapable&&(document.removeEventListener("touchmove",this.mousemove,!1),document.removeEventListener("touchend",this.mouseup,!1)),document.removeEventListener("mousemove",this.mousemove,!1),document.removeEventListener("mouseup",this.mouseup,!1),this._state.inDrag=!1,this._state.over===!1&&this._hideTooltip();var a=this._calculateValue(!0);return this._layout(),this._setDataVal(a),this._trigger("slideStop",a),!1},_calculateValue:function(a){var b;if(this.options.range?(b=[this.options.min,this.options.max],0!==this._state.percentage[0]&&(b[0]=this._toValue(this._state.percentage[0]),b[0]=this._applyPrecision(b[0])),100!==this._state.percentage[1]&&(b[1]=this._toValue(this._state.percentage[1]),b[1]=this._applyPrecision(b[1]))):(b=this._toValue(this._state.percentage[0]),b=parseFloat(b),b=this._applyPrecision(b)),a){for(var c=[b,1/0],d=0;d<this.options.ticks.length;d++){var e=Math.abs(this.options.ticks[d]-b);e<=c[1]&&(c=[this.options.ticks[d],e])}if(c[1]<=this.options.ticks_snap_bounds)return c[0]}return b},_applyPrecision:function(a){var b=this.options.precision||this._getNumDigitsAfterDecimalPlace(this.options.step);return this._applyToFixedAndParseFloat(a,b)},_getNumDigitsAfterDecimalPlace:function(a){var b=(""+a).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return b?Math.max(0,(b[1]?b[1].length:0)-(b[2]?+b[2]:0)):0},_applyToFixedAndParseFloat:function(a,b){var c=a.toFixed(b);return parseFloat(c)},_getPercentage:function(a){!this.touchCapable||"touchstart"!==a.type&&"touchmove"!==a.type||(a=a.touches[0]);var b=a[this.mousePos],c=this._state.offset[this.stylePos],d=b-c,e=d/this._state.size*100;return e=Math.round(e/this._state.percentage[2])*this._state.percentage[2],this.options.reversed&&(e=100-e),Math.max(0,Math.min(100,e))},_validateInputValue:function(a){if("number"==typeof a)return a;if(Array.isArray(a))return this._validateArray(a),a;throw new Error(d.formatInvalidInputErrorMsg(a))},_validateArray:function(a){for(var b=0;b<a.length;b++){var c=a[b];if("number"!=typeof c)throw new Error(d.formatInvalidInputErrorMsg(c))}},_setDataVal:function(a){this.element.setAttribute("data-value",a),this.element.setAttribute("value",a),this.element.value=a},_trigger:function(b,c){c=c||0===c?c:void 0;var d=this.eventToCallbackMap[b];if(d&&d.length)for(var e=0;e<d.length;e++){var f=d[e];f(c)}a&&this._triggerJQueryEvent(b,c)},_triggerJQueryEvent:function(a,b){var c={type:a,value:b};this.$element.trigger(c),this.$sliderElem.trigger(c)},_unbindJQueryEventHandlers:function(){this.$element.off(),this.$sliderElem.off()},_setText:function(a,b){"undefined"!=typeof a.textContent?a.textContent=b:"undefined"!=typeof a.innerText&&(a.innerText=b)},_removeClass:function(a,b){for(var c=b.split(" "),d=a.className,e=0;e<c.length;e++){var f=c[e],g=new RegExp("(?:\\s|^)"+f+"(?:\\s|$)");d=d.replace(g," ")}a.className=d.trim()},_addClass:function(a,b){for(var c=b.split(" "),d=a.className,e=0;e<c.length;e++){var f=c[e],g=new RegExp("(?:\\s|^)"+f+"(?:\\s|$)"),h=g.test(d);h||(d+=" "+f)}a.className=d.trim()},_offsetLeft:function(a){return a.getBoundingClientRect().left},_offsetTop:function(a){for(var b=a.offsetTop;(a=a.offsetParent)&&!isNaN(a.offsetTop);)b+=a.offsetTop,"BODY"!==a.tagName&&(b-=a.scrollTop);return b},_offset:function(a){return{left:this._offsetLeft(a),top:this._offsetTop(a)}},_css:function(b,c,d){if(a)a.style(b,c,d);else{var e=c.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(a,b){return b.toUpperCase()});b.style[e]=d}},_toValue:function(a){return this.options.scale.toValue.apply(this,[a])},_toPercentage:function(a){return this.options.scale.toPercentage.apply(this,[a])},_setTooltipPosition:function(){var a=[this.tooltip,this.tooltip_min,this.tooltip_max];if("vertical"===this.options.orientation){var b=this.options.tooltip_position||"right",c="left"===b?"right":"left";a.forEach(function(a){this._addClass(a,b),a.style[c]="100%"}.bind(this))}else"bottom"===this.options.tooltip_position?a.forEach(function(a){this._addClass(a,"bottom"),
+a.style.top="22px"}.bind(this)):a.forEach(function(a){this._addClass(a,"top"),a.style.top=-this.tooltip.outerHeight-14+"px"}.bind(this))}},a){var f=a.fn.slider?"bootstrapSlider":"slider";a.bridget(f,b),a(function(){a("input[data-provide=slider]")[f]()})}}(a),b}),function(a){"use strict";var b=null,c=function(a){var b=arguments,c=!0,d=1;return a=a.replace(/%s/g,function(){var a=b[d++];return"undefined"==typeof a?(c=!1,""):a}),c?a:""},d=function(b,c,d,e){var f="";return a.each(b,function(a,b){return b[c]!==e||(f=b[d],!1)}),f},e=function(b,c){var d=-1;return a.each(b,function(a,b){return b.field!==c||(d=a,!1)}),d},f=function(b){var c,d,e,f=0,g=[];for(c=0;c<b[0].length;c++)f+=b[0][c].colspan||1;for(c=0;c<b.length;c++)for(g[c]=[],d=0;d<f;d++)g[c][d]=!1;for(c=0;c<b.length;c++)for(d=0;d<b[c].length;d++){var h=b[c][d],i=h.rowspan||1,j=h.colspan||1,k=a.inArray(!1,g[c]);for(1===j&&(h.fieldIndex=k,"undefined"==typeof h.field&&(h.field=k)),e=0;e<i;e++)g[c+e][k]=!0;for(e=0;e<j;e++)g[c][k+e]=!0}},g=function(){if(null===b){var c,d,e=a("<p/>").addClass("fixed-table-scroll-inner"),f=a("<div/>").addClass("fixed-table-scroll-outer");f.append(e),a("body").append(f),c=e[0].offsetWidth,f.css("overflow","scroll"),d=e[0].offsetWidth,c===d&&(d=f[0].clientWidth),f.remove(),b=c-d}return b},h=function(b,d,e,f){var g=d;if("string"==typeof d){var h=d.split(".");h.length>1?(g=window,a.each(h,function(a,b){g=g[b]})):g=window[d]}return"object"==typeof g?g:"function"==typeof g?g.apply(b,e):!g&&"string"==typeof d&&c.apply(this,[d].concat(e))?c.apply(this,[d].concat(e)):f},i=function(b,c,d){var e=Object.getOwnPropertyNames(b),f=Object.getOwnPropertyNames(c),g="";if(d&&e.length!==f.length)return!1;for(var h=0;h<e.length;h++)if(g=e[h],a.inArray(g,f)>-1&&b[g]!==c[g])return!1;return!0},j=function(a){return"string"==typeof a?a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;").replace(/`/g,"&#x60;"):a},k=function(b){var c=0;return b.children().each(function(){c<a(this).outerHeight(!0)&&(c=a(this).outerHeight(!0))}),c},l=function(a){for(var b in a){var c=b.split(/(?=[A-Z])/).join("-").toLowerCase();c!==b&&(a[c]=a[b],delete a[b])}return a},m=function(a,b,c){var d=a;if("string"!=typeof b||a.hasOwnProperty(b))return c?j(a[b]):a[b];var e=b.split(".");for(var f in e)d=d&&d[e[f]];return c?j(d):d},n=function(){return!!(navigator.userAgent.indexOf("MSIE ")>0||navigator.userAgent.match(/Trident.*rv\:11\./))},o=function(){Object.keys||(Object.keys=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;g<d;g++)a.call(e,c[g])&&h.push(c[g]);return h}}())},p=function(b,c){this.options=c,this.$el=a(b),this.$el_=this.$el.clone(),this.timeoutId_=0,this.timeoutFooter_=0,this.init()};p.DEFAULTS={classes:"table table-hover",locale:void 0,height:void 0,undefinedText:"-",sortName:void 0,sortOrder:"asc",sortStable:!1,striped:!1,columns:[[]],data:[],dataField:"rows",method:"get",url:void 0,ajax:void 0,cache:!0,contentType:"application/json",dataType:"json",ajaxOptions:{},queryParams:function(a){return a},queryParamsType:"limit",responseHandler:function(a){return a},pagination:!1,onlyInfoPagination:!1,sidePagination:"client",totalRows:0,pageNumber:1,pageSize:10,pageList:[10,25,50,100],paginationHAlign:"right",paginationVAlign:"bottom",paginationDetailHAlign:"left",paginationPreText:"&lsaquo;",paginationNextText:"&rsaquo;",search:!1,searchOnEnterKey:!1,strictSearch:!1,searchAlign:"right",selectItemName:"btSelectItem",showHeader:!0,showFooter:!1,showColumns:!1,showPaginationSwitch:!1,showRefresh:!1,showToggle:!1,buttonsAlign:"right",smartDisplay:!0,escape:!1,minimumCountColumns:1,idField:void 0,uniqueId:void 0,cardView:!1,detailView:!1,detailFormatter:function(a,b){return""},trimOnSearch:!0,clickToSelect:!1,singleSelect:!1,toolbar:void 0,toolbarAlign:"left",checkboxHeader:!0,sortable:!0,silentSort:!0,maintainSelected:!1,searchTimeOut:500,searchText:"",iconSize:void 0,buttonsClass:"default",iconsPrefix:"glyphicon",icons:{paginationSwitchDown:"glyphicon-collapse-down icon-chevron-down",paginationSwitchUp:"glyphicon-collapse-up icon-chevron-up",refresh:"glyphicon-refresh icon-refresh",toggle:"glyphicon-list-alt icon-list-alt",columns:"glyphicon-th icon-th",detailOpen:"glyphicon-plus icon-plus",detailClose:"glyphicon-minus icon-minus"},customSearch:a.noop,customSort:a.noop,rowStyle:function(a,b){return{}},rowAttributes:function(a,b){return{}},footerStyle:function(a,b){return{}},onAll:function(a,b){return!1},onClickCell:function(a,b,c,d){return!1},onDblClickCell:function(a,b,c,d){return!1},onClickRow:function(a,b){return!1},onDblClickRow:function(a,b){return!1},onSort:function(a,b){return!1},onCheck:function(a){return!1},onUncheck:function(a){return!1},onCheckAll:function(a){return!1},onUncheckAll:function(a){return!1},onCheckSome:function(a){return!1},onUncheckSome:function(a){return!1},onLoadSuccess:function(a){return!1},onLoadError:function(a){return!1},onColumnSwitch:function(a,b){return!1},onPageChange:function(a,b){return!1},onSearch:function(a){return!1},onToggle:function(a){return!1},onPreBody:function(a){return!1},onPostBody:function(){return!1},onPostHeader:function(){return!1},onExpandRow:function(a,b,c){return!1},onCollapseRow:function(a,b){return!1},onRefreshOptions:function(a){return!1},onRefresh:function(a){return!1},onResetView:function(){return!1}},p.LOCALES={},p.LOCALES["en-US"]=p.LOCALES.en={formatLoadingMessage:function(){return"Loading, please wait..."},formatRecordsPerPage:function(a){return c("%s rows per page",a)},formatShowingRows:function(a,b,d){return c("Showing %s to %s of %s rows",a,b,d)},formatDetailPagination:function(a){return c("Showing %s rows",a)},formatSearch:function(){return"Search"},formatNoMatches:function(){return"No matching records found"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatColumns:function(){return"Columns"},formatAllRows:function(){return"All"}},a.extend(p.DEFAULTS,p.LOCALES["en-US"]),p.COLUMN_DEFAULTS={radio:!1,checkbox:!1,checkboxEnabled:!0,field:void 0,title:void 0,titleTooltip:void 0,"class":void 0,align:void 0,halign:void 0,falign:void 0,valign:void 0,width:void 0,sortable:!1,order:"asc",visible:!0,switchable:!0,clickToSelect:!0,formatter:void 0,footerFormatter:void 0,events:void 0,sorter:void 0,sortName:void 0,cellStyle:void 0,searchable:!0,searchFormatter:!0,cardVisible:!0},p.EVENTS={"all.bs.table":"onAll","click-cell.bs.table":"onClickCell","dbl-click-cell.bs.table":"onDblClickCell","click-row.bs.table":"onClickRow","dbl-click-row.bs.table":"onDblClickRow","sort.bs.table":"onSort","check.bs.table":"onCheck","uncheck.bs.table":"onUncheck","check-all.bs.table":"onCheckAll","uncheck-all.bs.table":"onUncheckAll","check-some.bs.table":"onCheckSome","uncheck-some.bs.table":"onUncheckSome","load-success.bs.table":"onLoadSuccess","load-error.bs.table":"onLoadError","column-switch.bs.table":"onColumnSwitch","page-change.bs.table":"onPageChange","search.bs.table":"onSearch","toggle.bs.table":"onToggle","pre-body.bs.table":"onPreBody","post-body.bs.table":"onPostBody","post-header.bs.table":"onPostHeader","expand-row.bs.table":"onExpandRow","collapse-row.bs.table":"onCollapseRow","refresh-options.bs.table":"onRefreshOptions","reset-view.bs.table":"onResetView","refresh.bs.table":"onRefresh"},p.prototype.init=function(){this.initLocale(),this.initContainer(),this.initTable(),this.initHeader(),this.initData(),this.initFooter(),this.initToolbar(),this.initPagination(),this.initBody(),this.initSearchText(),this.initServer()},p.prototype.initLocale=function(){if(this.options.locale){var b=this.options.locale.split(/-|_/);b[0].toLowerCase(),b[1]&&b[1].toUpperCase(),a.fn.bootstrapTable.locales[this.options.locale]?a.extend(this.options,a.fn.bootstrapTable.locales[this.options.locale]):a.fn.bootstrapTable.locales[b.join("-")]?a.extend(this.options,a.fn.bootstrapTable.locales[b.join("-")]):a.fn.bootstrapTable.locales[b[0]]&&a.extend(this.options,a.fn.bootstrapTable.locales[b[0]])}},p.prototype.initContainer=function(){this.$container=a(['<div class="bootstrap-table">','<div class="fixed-table-toolbar"></div>',"top"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?'<div class="fixed-table-pagination" style="clear: both;"></div>':"",'<div class="fixed-table-container">','<div class="fixed-table-header"><table></table></div>','<div class="fixed-table-body">','<div class="fixed-table-loading">',this.options.formatLoadingMessage(),"</div>","</div>",'<div class="fixed-table-footer"><table><tr></tr></table></div>',"bottom"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?'<div class="fixed-table-pagination"></div>':"","</div>","</div>"].join("")),this.$container.insertAfter(this.$el),this.$tableContainer=this.$container.find(".fixed-table-container"),this.$tableHeader=this.$container.find(".fixed-table-header"),this.$tableBody=this.$container.find(".fixed-table-body"),this.$tableLoading=this.$container.find(".fixed-table-loading"),this.$tableFooter=this.$container.find(".fixed-table-footer"),this.$toolbar=this.$container.find(".fixed-table-toolbar"),this.$pagination=this.$container.find(".fixed-table-pagination"),this.$tableBody.append(this.$el),this.$container.after('<div class="clearfix"></div>'),this.$el.addClass(this.options.classes),this.options.striped&&this.$el.addClass("table-striped"),a.inArray("table-no-bordered",this.options.classes.split(" "))!==-1&&this.$tableContainer.addClass("table-no-bordered")},p.prototype.initTable=function(){var b=this,c=[],d=[];if(this.$header=this.$el.find(">thead"),this.$header.length||(this.$header=a("<thead></thead>").appendTo(this.$el)),this.$header.find("tr").each(function(){var b=[];a(this).find("th").each(function(){"undefined"!=typeof a(this).data("field")&&a(this).data("field",a(this).data("field")+""),b.push(a.extend({},{title:a(this).html(),"class":a(this).attr("class"),titleTooltip:a(this).attr("title"),rowspan:a(this).attr("rowspan")?+a(this).attr("rowspan"):void 0,colspan:a(this).attr("colspan")?+a(this).attr("colspan"):void 0},a(this).data()))}),c.push(b)}),a.isArray(this.options.columns[0])||(this.options.columns=[this.options.columns]),this.options.columns=a.extend(!0,[],c,this.options.columns),this.columns=[],f(this.options.columns),a.each(this.options.columns,function(c,d){a.each(d,function(d,e){e=a.extend({},p.COLUMN_DEFAULTS,e),"undefined"!=typeof e.fieldIndex&&(b.columns[e.fieldIndex]=e),b.options.columns[c][d]=e})}),!this.options.data.length){var e=[];this.$el.find(">tbody>tr").each(function(c){var f={};f._id=a(this).attr("id"),f._class=a(this).attr("class"),f._data=l(a(this).data()),a(this).find(">td").each(function(d){for(var g,h,i=a(this),j=+i.attr("colspan")||1,k=+i.attr("rowspan")||1;e[c]&&e[c][d];d++);for(g=d;g<d+j;g++)for(h=c;h<c+k;h++)e[h]||(e[h]=[]),e[h][g]=!0;var m=b.columns[d].field;f[m]=a(this).html(),f["_"+m+"_id"]=a(this).attr("id"),f["_"+m+"_class"]=a(this).attr("class"),f["_"+m+"_rowspan"]=a(this).attr("rowspan"),f["_"+m+"_colspan"]=a(this).attr("colspan"),f["_"+m+"_title"]=a(this).attr("title"),f["_"+m+"_data"]=l(a(this).data())}),d.push(f)}),this.options.data=d,d.length&&(this.fromHtml=!0)}},p.prototype.initHeader=function(){var b=this,d={},e=[];this.header={fields:[],styles:[],classes:[],formatters:[],events:[],sorters:[],sortNames:[],cellStyles:[],searchables:[]},a.each(this.options.columns,function(f,g){e.push("<tr>"),0===f&&!b.options.cardView&&b.options.detailView&&e.push(c('<th class="detail" rowspan="%s"><div class="fht-cell"></div></th>',b.options.columns.length)),a.each(g,function(a,f){var g="",h="",i="",j="",k=c(' class="%s"',f["class"]),l=(b.options.sortOrder||f.order,"px"),m=f.width;if(void 0===f.width||b.options.cardView||"string"==typeof f.width&&f.width.indexOf("%")!==-1&&(l="%"),f.width&&"string"==typeof f.width&&(m=f.width.replace("%","").replace("px","")),h=c("text-align: %s; ",f.halign?f.halign:f.align),i=c("text-align: %s; ",f.align),j=c("vertical-align: %s; ",f.valign),j+=c("width: %s; ",!f.checkbox&&!f.radio||m?m?m+l:void 0:"36px"),"undefined"!=typeof f.fieldIndex){if(b.header.fields[f.fieldIndex]=f.field,b.header.styles[f.fieldIndex]=i+j,b.header.classes[f.fieldIndex]=k,b.header.formatters[f.fieldIndex]=f.formatter,b.header.events[f.fieldIndex]=f.events,b.header.sorters[f.fieldIndex]=f.sorter,b.header.sortNames[f.fieldIndex]=f.sortName,b.header.cellStyles[f.fieldIndex]=f.cellStyle,b.header.searchables[f.fieldIndex]=f.searchable,!f.visible)return;if(b.options.cardView&&!f.cardVisible)return;d[f.field]=f}e.push("<th"+c(' title="%s"',f.titleTooltip),f.checkbox||f.radio?c(' class="bs-checkbox %s"',f["class"]||""):k,c(' style="%s"',h+j),c(' rowspan="%s"',f.rowspan),c(' colspan="%s"',f.colspan),c(' data-field="%s"',f.field),"tabindex='0'",">"),e.push(c('<div class="th-inner %s">',b.options.sortable&&f.sortable?"sortable both":"")),g=f.title,f.checkbox&&(!b.options.singleSelect&&b.options.checkboxHeader&&(g='<input name="btSelectAll" type="checkbox" />'),b.header.stateField=f.field),f.radio&&(g="",b.header.stateField=f.field,b.options.singleSelect=!0),e.push(g),e.push("</div>"),e.push('<div class="fht-cell"></div>'),e.push("</div>"),e.push("</th>")}),e.push("</tr>")}),this.$header.html(e.join("")),this.$header.find("th[data-field]").each(function(b){a(this).data(d[a(this).data("field")])}),this.$container.off("click",".th-inner").on("click",".th-inner",function(c){var d=a(this);return(!b.options.detailView||d.closest(".bootstrap-table")[0]===b.$container[0])&&void(b.options.sortable&&d.parent().data().sortable&&b.onSort(c))}),this.$header.children().children().off("keypress").on("keypress",function(c){if(b.options.sortable&&a(this).data().sortable){var d=c.keyCode||c.which;13==d&&b.onSort(c)}}),a(window).off("resize.bootstrap-table"),!this.options.showHeader||this.options.cardView?(this.$header.hide(),this.$tableHeader.hide(),this.$tableLoading.css("top",0)):(this.$header.show(),this.$tableHeader.show(),this.$tableLoading.css("top",this.$header.outerHeight()+1),this.getCaret(),a(window).on("resize.bootstrap-table",a.proxy(this.resetWidth,this))),this.$selectAll=this.$header.find('[name="btSelectAll"]'),this.$selectAll.off("click").on("click",function(){var c=a(this).prop("checked");b[c?"checkAll":"uncheckAll"](),b.updateSelected()})},p.prototype.initFooter=function(){!this.options.showFooter||this.options.cardView?this.$tableFooter.hide():this.$tableFooter.show()},p.prototype.initData=function(a,b){"append"===b?this.data=this.data.concat(a):"prepend"===b?this.data=[].concat(a).concat(this.data):this.data=a||this.options.data,"append"===b?this.options.data=this.options.data.concat(a):"prepend"===b?this.options.data=[].concat(a).concat(this.options.data):this.options.data=this.data,"server"!==this.options.sidePagination&&this.initSort()},p.prototype.initSort=function(){var b=this,c=this.options.sortName,d="desc"===this.options.sortOrder?-1:1,e=a.inArray(this.options.sortName,this.header.fields);return this.options.customSort!==a.noop?void this.options.customSort.apply(this,[this.options.sortName,this.options.sortOrder]):void(e!==-1&&(this.options.sortStable&&a.each(this.data,function(a,b){b.hasOwnProperty("_position")||(b._position=a)}),this.data.sort(function(f,g){b.header.sortNames[e]&&(c=b.header.sortNames[e]);var i=m(f,c,b.options.escape),j=m(g,c,b.options.escape),k=h(b.header,b.header.sorters[e],[i,j]);return void 0!==k?d*k:(void 0!==i&&null!==i||(i=""),void 0!==j&&null!==j||(j=""),b.options.sortStable&&i===j&&(i=f._position,j=g._position),a.isNumeric(i)&&a.isNumeric(j)?(i=parseFloat(i),j=parseFloat(j),i<j?d*-1:d):i===j?0:("string"!=typeof i&&(i=i.toString()),i.localeCompare(j)===-1?d*-1:d))})))},p.prototype.onSort=function(b){var c="keypress"===b.type?a(b.currentTarget):a(b.currentTarget).parent(),d=this.$header.find("th").eq(c.index());return this.$header.add(this.$header_).find("span.order").remove(),this.options.sortName===c.data("field")?this.options.sortOrder="asc"===this.options.sortOrder?"desc":"asc":(this.options.sortName=c.data("field"),this.options.sortOrder="asc"===c.data("order")?"desc":"asc"),this.trigger("sort",this.options.sortName,this.options.sortOrder),c.add(d).data("order",this.options.sortOrder),this.getCaret(),"server"===this.options.sidePagination?void this.initServer(this.options.silentSort):(this.initSort(),void this.initBody())},p.prototype.initToolbar=function(){var b,d,e=this,f=[],g=0,i=0;this.$toolbar.find(".bs-bars").children().length&&a("body").append(a(this.options.toolbar)),this.$toolbar.html(""),"string"!=typeof this.options.toolbar&&"object"!=typeof this.options.toolbar||a(c('<div class="bs-bars pull-%s"></div>',this.options.toolbarAlign)).appendTo(this.$toolbar).append(a(this.options.toolbar)),f=[c('<div class="columns columns-%s btn-group pull-%s">',this.options.buttonsAlign,this.options.buttonsAlign)],"string"==typeof this.options.icons&&(this.options.icons=h(null,this.options.icons)),this.options.showPaginationSwitch&&f.push(c('<button class="btn'+c(" btn-%s",this.options.buttonsClass)+c(" btn-%s",this.options.iconSize)+'" type="button" name="paginationSwitch" title="%s">',this.options.formatPaginationSwitch()),c('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.paginationSwitchDown),"</button>"),this.options.showRefresh&&f.push(c('<button class="btn'+c(" btn-%s",this.options.buttonsClass)+c(" btn-%s",this.options.iconSize)+'" type="button" name="refresh" title="%s">',this.options.formatRefresh()),c('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.refresh),"</button>"),this.options.showToggle&&f.push(c('<button class="btn'+c(" btn-%s",this.options.buttonsClass)+c(" btn-%s",this.options.iconSize)+'" type="button" name="toggle" title="%s">',this.options.formatToggle()),c('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.toggle),"</button>"),this.options.showColumns&&(f.push(c('<div class="keep-open btn-group" title="%s">',this.options.formatColumns()),'<button type="button" class="btn'+c(" btn-%s",this.options.buttonsClass)+c(" btn-%s",this.options.iconSize)+' dropdown-toggle" data-toggle="dropdown">',c('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.columns),' <span class="caret"></span>',"</button>",'<ul class="dropdown-menu" role="menu">'),a.each(this.columns,function(a,b){if(!b.radio&&!b.checkbox&&(!e.options.cardView||b.cardVisible)){var d=b.visible?' checked="checked"':"";b.switchable&&(f.push(c('<li><label><input type="checkbox" data-field="%s" value="%s"%s> %s</label></li>',b.field,a,d,b.title)),i++)}}),f.push("</ul>","</div>")),f.push("</div>"),(this.showToolbar||f.length>2)&&this.$toolbar.append(f.join("")),this.options.showPaginationSwitch&&this.$toolbar.find('button[name="paginationSwitch"]').off("click").on("click",a.proxy(this.togglePagination,this)),this.options.showRefresh&&this.$toolbar.find('button[name="refresh"]').off("click").on("click",a.proxy(this.refresh,this)),this.options.showToggle&&this.$toolbar.find('button[name="toggle"]').off("click").on("click",function(){e.toggleView()}),this.options.showColumns&&(b=this.$toolbar.find(".keep-open"),i<=this.options.minimumCountColumns&&b.find("input").prop("disabled",!0),b.find("li").off("click").on("click",function(a){a.stopImmediatePropagation()}),b.find("input").off("click").on("click",function(){var b=a(this);e.toggleColumn(a(this).val(),b.prop("checked"),!1),e.trigger("column-switch",a(this).data("field"),b.prop("checked"))})),this.options.search&&(f=[],f.push('<div class="pull-'+this.options.searchAlign+' search">',c('<input class="form-control'+c(" input-%s",this.options.iconSize)+'" type="text" placeholder="%s">',this.options.formatSearch()),"</div>"),this.$toolbar.append(f.join("")),d=this.$toolbar.find(".search input"),d.off("keyup drop").on("keyup drop",function(b){e.options.searchOnEnterKey&&13!==b.keyCode||a.inArray(b.keyCode,[37,38,39,40])>-1||(clearTimeout(g),g=setTimeout(function(){e.onSearch(b)},e.options.searchTimeOut))}),n()&&d.off("mouseup").on("mouseup",function(a){clearTimeout(g),g=setTimeout(function(){e.onSearch(a)},e.options.searchTimeOut)}))},p.prototype.onSearch=function(b){var c=a.trim(a(b.currentTarget).val());this.options.trimOnSearch&&a(b.currentTarget).val()!==c&&a(b.currentTarget).val(c),c!==this.searchText&&(this.searchText=c,this.options.searchText=c,this.options.pageNumber=1,this.initSearch(),this.updatePagination(),this.trigger("search",c))},p.prototype.initSearch=function(){var b=this;if("server"!==this.options.sidePagination){if(this.options.customSearch!==a.noop)return void this.options.customSearch.apply(this,[this.searchText]);var c=this.searchText&&(this.options.escape?j(this.searchText):this.searchText).toLowerCase(),d=a.isEmptyObject(this.filterColumns)?null:this.filterColumns;this.data=d?a.grep(this.options.data,function(b,c){for(var e in d)if(a.isArray(d[e])&&a.inArray(b[e],d[e])===-1||b[e]!==d[e])return!1;return!0}):this.options.data,this.data=c?a.grep(this.data,function(d,f){for(var g=0;g<b.header.fields.length;g++)if(b.header.searchables[g]){var i,j=a.isNumeric(b.header.fields[g])?parseInt(b.header.fields[g],10):b.header.fields[g],k=b.columns[e(b.columns,j)];if("string"==typeof j){i=d;for(var l=j.split("."),m=0;m<l.length;m++)i=i[l[m]];k&&k.searchFormatter&&(i=h(k,b.header.formatters[g],[i,d,f],i))}else i=d[j];if("string"==typeof i||"number"==typeof i)if(b.options.strictSearch){if((i+"").toLowerCase()===c)return!0}else if((i+"").toLowerCase().indexOf(c)!==-1)return!0}return!1}):this.data}},p.prototype.initPagination=function(){if(!this.options.pagination)return void this.$pagination.hide();this.$pagination.show();var b,d,e,f,g,h,i,j,k,l=this,m=[],n=!1,o=this.getData(),p=this.options.pageList;if("server"!==this.options.sidePagination&&(this.options.totalRows=o.length),this.totalPages=0,this.options.totalRows){if(this.options.pageSize===this.options.formatAllRows())this.options.pageSize=this.options.totalRows,n=!0;else if(this.options.pageSize===this.options.totalRows){var q="string"==typeof this.options.pageList?this.options.pageList.replace("[","").replace("]","").replace(/ /g,"").toLowerCase().split(","):this.options.pageList;a.inArray(this.options.formatAllRows().toLowerCase(),q)>-1&&(n=!0)}this.totalPages=~~((this.options.totalRows-1)/this.options.pageSize)+1,this.options.totalPages=this.totalPages}if(this.totalPages>0&&this.options.pageNumber>this.totalPages&&(this.options.pageNumber=this.totalPages),this.pageFrom=(this.options.pageNumber-1)*this.options.pageSize+1,this.pageTo=this.options.pageNumber*this.options.pageSize,this.pageTo>this.options.totalRows&&(this.pageTo=this.options.totalRows),m.push('<div class="pull-'+this.options.paginationDetailHAlign+' pagination-detail">','<span class="pagination-info">',this.options.onlyInfoPagination?this.options.formatDetailPagination(this.options.totalRows):this.options.formatShowingRows(this.pageFrom,this.pageTo,this.options.totalRows),"</span>"),!this.options.onlyInfoPagination){m.push('<span class="page-list">');var r=[c('<span class="btn-group %s">',"top"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?"dropdown":"dropup"),'<button type="button" class="btn'+c(" btn-%s",this.options.buttonsClass)+c(" btn-%s",this.options.iconSize)+' dropdown-toggle" data-toggle="dropdown">','<span class="page-size">',n?this.options.formatAllRows():this.options.pageSize,"</span>",' <span class="caret"></span>',"</button>",'<ul class="dropdown-menu" role="menu">'];if("string"==typeof this.options.pageList){var s=this.options.pageList.replace("[","").replace("]","").replace(/ /g,"").split(",");p=[],a.each(s,function(a,b){p.push(b.toUpperCase()===l.options.formatAllRows().toUpperCase()?l.options.formatAllRows():+b)})}for(a.each(p,function(a,b){if(!l.options.smartDisplay||0===a||p[a-1]<=l.options.totalRows){var d;d=n?b===l.options.formatAllRows()?' class="active"':"":b===l.options.pageSize?' class="active"':"",r.push(c('<li%s><a href="javascript:void(0)">%s</a></li>',d,b))}}),r.push("</ul></span>"),m.push(this.options.formatRecordsPerPage(r.join(""))),m.push("</span>"),m.push("</div>",'<div class="pull-'+this.options.paginationHAlign+' pagination">','<ul class="pagination'+c(" pagination-%s",this.options.iconSize)+'">','<li class="page-pre"><a href="javascript:void(0)">'+this.options.paginationPreText+"</a></li>"),this.totalPages<5?(d=1,e=this.totalPages):(d=this.options.pageNumber-2,e=d+4,d<1&&(d=1,e=5),e>this.totalPages&&(e=this.totalPages,d=e-4)),this.totalPages>=6&&(this.options.pageNumber>=3&&(m.push('<li class="page-first'+(1===this.options.pageNumber?" active":"")+'">','<a href="javascript:void(0)">',1,"</a>","</li>"),d++),this.options.pageNumber>=4&&(4==this.options.pageNumber||6==this.totalPages||7==this.totalPages?d--:m.push('<li class="page-first-separator disabled">','<a href="javascript:void(0)">...</a>',"</li>"),e--)),this.totalPages>=7&&this.options.pageNumber>=this.totalPages-2&&d--,6==this.totalPages?this.options.pageNumber>=this.totalPages-2&&e++:this.totalPages>=7&&(7==this.totalPages||this.options.pageNumber>=this.totalPages-3)&&e++,b=d;b<=e;b++)m.push('<li class="page-number'+(b===this.options.pageNumber?" active":"")+'">','<a href="javascript:void(0)">',b,"</a>","</li>");this.totalPages>=8&&this.options.pageNumber<=this.totalPages-4&&m.push('<li class="page-last-separator disabled">','<a href="javascript:void(0)">...</a>',"</li>"),this.totalPages>=6&&this.options.pageNumber<=this.totalPages-3&&m.push('<li class="page-last'+(this.totalPages===this.options.pageNumber?" active":"")+'">','<a href="javascript:void(0)">',this.totalPages,"</a>","</li>"),m.push('<li class="page-next"><a href="javascript:void(0)">'+this.options.paginationNextText+"</a></li>","</ul>","</div>")}this.$pagination.html(m.join("")),this.options.onlyInfoPagination||(f=this.$pagination.find(".page-list a"),g=this.$pagination.find(".page-first"),h=this.$pagination.find(".page-pre"),i=this.$pagination.find(".page-next"),j=this.$pagination.find(".page-last"),k=this.$pagination.find(".page-number"),this.options.smartDisplay&&(this.totalPages<=1&&this.$pagination.find("div.pagination").hide(),(p.length<2||this.options.totalRows<=p[0])&&this.$pagination.find("span.page-list").hide(),this.$pagination[this.getData().length?"show":"hide"]()),n&&(this.options.pageSize=this.options.formatAllRows()),f.off("click").on("click",a.proxy(this.onPageListChange,this)),g.off("click").on("click",a.proxy(this.onPageFirst,this)),h.off("click").on("click",a.proxy(this.onPagePre,this)),i.off("click").on("click",a.proxy(this.onPageNext,this)),j.off("click").on("click",a.proxy(this.onPageLast,this)),k.off("click").on("click",a.proxy(this.onPageNumber,this)))},p.prototype.updatePagination=function(b){b&&a(b.currentTarget).hasClass("disabled")||(this.options.maintainSelected||this.resetRows(),this.initPagination(),"server"===this.options.sidePagination?this.initServer():this.initBody(),this.trigger("page-change",this.options.pageNumber,this.options.pageSize))},p.prototype.onPageListChange=function(b){var c=a(b.currentTarget);c.parent().addClass("active").siblings().removeClass("active"),this.options.pageSize=c.text().toUpperCase()===this.options.formatAllRows().toUpperCase()?this.options.formatAllRows():+c.text(),this.$toolbar.find(".page-size").text(this.options.pageSize),this.updatePagination(b)},p.prototype.onPageFirst=function(a){this.options.pageNumber=1,this.updatePagination(a)},p.prototype.onPagePre=function(a){this.options.pageNumber-1===0?this.options.pageNumber=this.options.totalPages:this.options.pageNumber--,this.updatePagination(a)},p.prototype.onPageNext=function(a){this.options.pageNumber+1>this.options.totalPages?this.options.pageNumber=1:this.options.pageNumber++,this.updatePagination(a)},p.prototype.onPageLast=function(a){this.options.pageNumber=this.totalPages,this.updatePagination(a)},p.prototype.onPageNumber=function(b){this.options.pageNumber!==+a(b.currentTarget).text()&&(this.options.pageNumber=+a(b.currentTarget).text(),this.updatePagination(b))},p.prototype.initBody=function(b){var f=this,g=[],i=this.getData();this.trigger("pre-body",i),this.$body=this.$el.find(">tbody"),this.$body.length||(this.$body=a("<tbody></tbody>").appendTo(this.$el)),this.options.pagination&&"server"!==this.options.sidePagination||(this.pageFrom=1,this.pageTo=i.length);for(var k=this.pageFrom-1;k<this.pageTo;k++){var l,n=i[k],o={},p=[],q="",r={},s=[];if(o=h(this.options,this.options.rowStyle,[n,k],o),o&&o.css)for(l in o.css)p.push(l+": "+o.css[l]);if(r=h(this.options,this.options.rowAttributes,[n,k],r))for(l in r)s.push(c('%s="%s"',l,j(r[l])));n._data&&!a.isEmptyObject(n._data)&&a.each(n._data,function(a,b){"index"!==a&&(q+=c(' data-%s="%s"',a,b))}),g.push("<tr",c(" %s",s.join(" ")),c(' id="%s"',a.isArray(n)?void 0:n._id),c(' class="%s"',o.classes||(a.isArray(n)?void 0:n._class)),c(' data-index="%s"',k),c(' data-uniqueid="%s"',n[this.options.uniqueId]),c("%s",q),">"),this.options.cardView&&g.push(c('<td colspan="%s"><div class="card-views">',this.header.fields.length)),!this.options.cardView&&this.options.detailView&&g.push("<td>",'<a class="detail-icon" href="javascript:">',c('<i class="%s %s"></i>',this.options.iconsPrefix,this.options.icons.detailOpen),"</a>","</td>"),a.each(this.header.fields,function(b,e){var i="",j=m(n,e,f.options.escape),l="",q={},r="",s=f.header.classes[b],t="",u="",v="",w="",x=f.columns[b];if((!f.fromHtml||"undefined"!=typeof j)&&x.visible&&(!f.options.cardView||x.cardVisible)){if(o=c('style="%s"',p.concat(f.header.styles[b]).join("; ")),n["_"+e+"_id"]&&(r=c(' id="%s"',n["_"+e+"_id"])),n["_"+e+"_class"]&&(s=c(' class="%s"',n["_"+e+"_class"])),n["_"+e+"_rowspan"]&&(u=c(' rowspan="%s"',n["_"+e+"_rowspan"])),n["_"+e+"_colspan"]&&(v=c(' colspan="%s"',n["_"+e+"_colspan"])),n["_"+e+"_title"]&&(w=c(' title="%s"',n["_"+e+"_title"])),q=h(f.header,f.header.cellStyles[b],[j,n,k,e],q),q.classes&&(s=c(' class="%s"',q.classes)),q.css){var y=[];for(var z in q.css)y.push(z+": "+q.css[z]);o=c('style="%s"',y.concat(f.header.styles[b]).join("; "))}j=h(x,f.header.formatters[b],[j,n,k],j),n["_"+e+"_data"]&&!a.isEmptyObject(n["_"+e+"_data"])&&a.each(n["_"+e+"_data"],function(a,b){"index"!==a&&(t+=c(' data-%s="%s"',a,b))}),x.checkbox||x.radio?(l=x.checkbox?"checkbox":l,l=x.radio?"radio":l,i=[c(f.options.cardView?'<div class="card-view %s">':'<td class="bs-checkbox %s">',x["class"]||""),"<input"+c(' data-index="%s"',k)+c(' name="%s"',f.options.selectItemName)+c(' type="%s"',l)+c(' value="%s"',n[f.options.idField])+c(' checked="%s"',j===!0||j&&j.checked?"checked":void 0)+c(' disabled="%s"',!x.checkboxEnabled||j&&j.disabled?"disabled":void 0)+" />",f.header.formatters[b]&&"string"==typeof j?j:"",f.options.cardView?"</div>":"</td>"].join(""),n[f.header.stateField]=j===!0||j&&j.checked):(j="undefined"==typeof j||null===j?f.options.undefinedText:j,i=f.options.cardView?['<div class="card-view">',f.options.showHeader?c('<span class="title" %s>%s</span>',o,d(f.columns,"field","title",e)):"",c('<span class="value">%s</span>',j),"</div>"].join(""):[c("<td%s %s %s %s %s %s %s>",r,s,o,t,u,v,w),j,"</td>"].join(""),f.options.cardView&&f.options.smartDisplay&&""===j&&(i='<div class="card-view"></div>')),g.push(i)}}),this.options.cardView&&g.push("</div></td>"),g.push("</tr>")}g.length||g.push('<tr class="no-records-found">',c('<td colspan="%s">%s</td>',this.$header.find("th").length,this.options.formatNoMatches()),"</tr>"),this.$body.html(g.join("")),b||this.scrollTo(0),this.$body.find("> tr[data-index] > td").off("click dblclick").on("click dblclick",function(b){
+var d=a(this),g=d.parent(),h=f.data[g.data("index")],i=d[0].cellIndex,j=f.getVisibleFields(),k=j[f.options.detailView&&!f.options.cardView?i-1:i],l=f.columns[e(f.columns,k)],n=m(h,k,f.options.escape);if(!d.find(".detail-icon").length&&(f.trigger("click"===b.type?"click-cell":"dbl-click-cell",k,n,h,d),f.trigger("click"===b.type?"click-row":"dbl-click-row",h,g,k),"click"===b.type&&f.options.clickToSelect&&l.clickToSelect)){var o=g.find(c('[name="%s"]',f.options.selectItemName));o.length&&o[0].click()}}),this.$body.find("> tr[data-index] > td > .detail-icon").off("click").on("click",function(){var b=a(this),d=b.parent().parent(),e=d.data("index"),g=i[e];if(d.next().is("tr.detail-view"))b.find("i").attr("class",c("%s %s",f.options.iconsPrefix,f.options.icons.detailOpen)),d.next().remove(),f.trigger("collapse-row",e,g);else{b.find("i").attr("class",c("%s %s",f.options.iconsPrefix,f.options.icons.detailClose)),d.after(c('<tr class="detail-view"><td colspan="%s"></td></tr>',d.find("td").length));var j=d.next().find("td"),k=h(f.options,f.options.detailFormatter,[e,g,j],"");1===j.length&&j.append(k),f.trigger("expand-row",e,g,j)}f.resetView()}),this.$selectItem=this.$body.find(c('[name="%s"]',this.options.selectItemName)),this.$selectItem.off("click").on("click",function(b){b.stopImmediatePropagation();var c=a(this),d=c.prop("checked"),e=f.data[c.data("index")];f.options.maintainSelected&&a(this).is(":radio")&&a.each(f.options.data,function(a,b){b[f.header.stateField]=!1}),e[f.header.stateField]=d,f.options.singleSelect&&(f.$selectItem.not(this).each(function(){f.data[a(this).data("index")][f.header.stateField]=!1}),f.$selectItem.filter(":checked").not(this).prop("checked",!1)),f.updateSelected(),f.trigger(d?"check":"uncheck",e,c)}),a.each(this.header.events,function(b,c){if(c){"string"==typeof c&&(c=h(null,c));var d=f.header.fields[b],e=a.inArray(d,f.getVisibleFields());f.options.detailView&&!f.options.cardView&&(e+=1);for(var g in c)f.$body.find(">tr:not(.no-records-found)").each(function(){var b=a(this),h=b.find(f.options.cardView?".card-view":"td").eq(e),i=g.indexOf(" "),j=g.substring(0,i),k=g.substring(i+1),l=c[g];h.find(k).off(j).on(j,function(a){var c=b.data("index"),e=f.data[c],g=e[d];l.apply(this,[a,g,e,c])})})}}),this.updateSelected(),this.resetView(),this.trigger("post-body",i)},p.prototype.initServer=function(b,c,d){var e,f=this,g={},i={searchText:this.searchText,sortName:this.options.sortName,sortOrder:this.options.sortOrder};this.options.pagination&&(i.pageSize=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize,i.pageNumber=this.options.pageNumber),(d||this.options.url||this.options.ajax)&&("limit"===this.options.queryParamsType&&(i={search:i.searchText,sort:i.sortName,order:i.sortOrder},this.options.pagination&&(i.offset=this.options.pageSize===this.options.formatAllRows()?0:this.options.pageSize*(this.options.pageNumber-1),i.limit=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize)),a.isEmptyObject(this.filterColumnsPartial)||(i.filter=JSON.stringify(this.filterColumnsPartial,null)),g=h(this.options,this.options.queryParams,[i],g),a.extend(g,c||{}),g!==!1&&(b||this.$tableLoading.show(),e=a.extend({},h(null,this.options.ajaxOptions),{type:this.options.method,url:d||this.options.url,data:"application/json"===this.options.contentType&&"post"===this.options.method?JSON.stringify(g):g,cache:this.options.cache,contentType:this.options.contentType,dataType:this.options.dataType,success:function(a){a=h(f.options,f.options.responseHandler,[a],a),f.load(a),f.trigger("load-success",a),b||f.$tableLoading.hide()},error:function(a){f.trigger("load-error",a.status,a),b||f.$tableLoading.hide()}}),this.options.ajax?h(this,this.options.ajax,[e],null):(this._xhr&&4!==this._xhr.readyState&&this._xhr.abort(),this._xhr=a.ajax(e))))},p.prototype.initSearchText=function(){if(this.options.search&&""!==this.options.searchText){var a=this.$toolbar.find(".search input");a.val(this.options.searchText),this.onSearch({currentTarget:a})}},p.prototype.getCaret=function(){var b=this;a.each(this.$header.find("th"),function(c,d){a(d).find(".sortable").removeClass("desc asc").addClass(a(d).data("field")===b.options.sortName?b.options.sortOrder:"both")})},p.prototype.updateSelected=function(){var b=this.$selectItem.filter(":enabled").length&&this.$selectItem.filter(":enabled").length===this.$selectItem.filter(":enabled").filter(":checked").length;this.$selectAll.add(this.$selectAll_).prop("checked",b),this.$selectItem.each(function(){a(this).closest("tr")[a(this).prop("checked")?"addClass":"removeClass"]("selected")})},p.prototype.updateRows=function(){var b=this;this.$selectItem.each(function(){b.data[a(this).data("index")][b.header.stateField]=a(this).prop("checked")})},p.prototype.resetRows=function(){var b=this;a.each(this.data,function(a,c){b.$selectAll.prop("checked",!1),b.$selectItem.prop("checked",!1),b.header.stateField&&(c[b.header.stateField]=!1)})},p.prototype.trigger=function(b){var c=Array.prototype.slice.call(arguments,1);b+=".bs.table",this.options[p.EVENTS[b]].apply(this.options,c),this.$el.trigger(a.Event(b),c),this.options.onAll(b,c),this.$el.trigger(a.Event("all.bs.table"),[b,c])},p.prototype.resetHeader=function(){clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(a.proxy(this.fitHeader,this),this.$el.is(":hidden")?100:0)},p.prototype.fitHeader=function(){var b,d,e,f,h=this;if(h.$el.is(":hidden"))return void(h.timeoutId_=setTimeout(a.proxy(h.fitHeader,h),100));if(b=this.$tableBody.get(0),d=b.scrollWidth>b.clientWidth&&b.scrollHeight>b.clientHeight+this.$header.outerHeight()?g():0,this.$el.css("margin-top",-this.$header.outerHeight()),e=a(":focus"),e.length>0){var i=e.parents("th");if(i.length>0){var j=i.attr("data-field");if(void 0!==j){var k=this.$header.find("[data-field='"+j+"']");k.length>0&&k.find(":input").addClass("focus-temp")}}}this.$header_=this.$header.clone(!0,!0),this.$selectAll_=this.$header_.find('[name="btSelectAll"]'),this.$tableHeader.css({"margin-right":d}).find("table").css("width",this.$el.outerWidth()).html("").attr("class",this.$el.attr("class")).append(this.$header_),f=a(".focus-temp:visible:eq(0)"),f.length>0&&(f.focus(),this.$header.find(".focus-temp").removeClass("focus-temp")),this.$header.find("th[data-field]").each(function(b){h.$header_.find(c('th[data-field="%s"]',a(this).data("field"))).data(a(this).data())});var l=this.getVisibleFields(),m=this.$header_.find("th");this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(b){var d=a(this),e=b;h.options.detailView&&!h.options.cardView&&(0===b&&h.$header_.find("th.detail").find(".fht-cell").width(d.innerWidth()),e=b-1);var f=h.$header_.find(c('th[data-field="%s"]',l[e]));f.length>1&&(f=a(m[d[0].cellIndex])),f.find(".fht-cell").width(d.innerWidth())}),this.$tableBody.off("scroll").on("scroll",function(){h.$tableHeader.scrollLeft(a(this).scrollLeft()),h.options.showFooter&&!h.options.cardView&&h.$tableFooter.scrollLeft(a(this).scrollLeft())}),h.trigger("post-header")},p.prototype.resetFooter=function(){var b=this,d=b.getData(),e=[];this.options.showFooter&&!this.options.cardView&&(!this.options.cardView&&this.options.detailView&&e.push('<td><div class="th-inner">&nbsp;</div><div class="fht-cell"></div></td>'),a.each(this.columns,function(a,f){var g,i="",j="",k=[],l={},m=c(' class="%s"',f["class"]);if(f.visible&&(!b.options.cardView||f.cardVisible)){if(i=c("text-align: %s; ",f.falign?f.falign:f.align),j=c("vertical-align: %s; ",f.valign),l=h(null,b.options.footerStyle),l&&l.css)for(g in l.css)k.push(g+": "+l.css[g]);e.push("<td",m,c(' style="%s"',i+j+k.concat().join("; ")),">"),e.push('<div class="th-inner">'),e.push(h(f,f.footerFormatter,[d],"&nbsp;")||"&nbsp;"),e.push("</div>"),e.push('<div class="fht-cell"></div>'),e.push("</div>"),e.push("</td>")}}),this.$tableFooter.find("tr").html(e.join("")),this.$tableFooter.show(),clearTimeout(this.timeoutFooter_),this.timeoutFooter_=setTimeout(a.proxy(this.fitFooter,this),this.$el.is(":hidden")?100:0))},p.prototype.fitFooter=function(){var b,c,d;return clearTimeout(this.timeoutFooter_),this.$el.is(":hidden")?void(this.timeoutFooter_=setTimeout(a.proxy(this.fitFooter,this),100)):(c=this.$el.css("width"),d=c>this.$tableBody.width()?g():0,this.$tableFooter.css({"margin-right":d}).find("table").css("width",c).attr("class",this.$el.attr("class")),b=this.$tableFooter.find("td"),void this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(c){var d=a(this);b.eq(c).find(".fht-cell").width(d.innerWidth())}))},p.prototype.toggleColumn=function(a,b,d){if(a!==-1&&(this.columns[a].visible=b,this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns)){var e=this.$toolbar.find(".keep-open input").prop("disabled",!1);d&&e.filter(c('[value="%s"]',a)).prop("checked",b),e.filter(":checked").length<=this.options.minimumCountColumns&&e.filter(":checked").prop("disabled",!0)}},p.prototype.toggleRow=function(a,b,d){a!==-1&&this.$body.find("undefined"!=typeof a?c('tr[data-index="%s"]',a):c('tr[data-uniqueid="%s"]',b))[d?"show":"hide"]()},p.prototype.getVisibleFields=function(){var b=this,c=[];return a.each(this.header.fields,function(a,d){var f=b.columns[e(b.columns,d)];f.visible&&c.push(d)}),c},p.prototype.resetView=function(a){var b=0;if(a&&a.height&&(this.options.height=a.height),this.$selectAll.prop("checked",this.$selectItem.length>0&&this.$selectItem.length===this.$selectItem.filter(":checked").length),this.options.height){var c=k(this.$toolbar),d=k(this.$pagination),e=this.options.height-c-d;this.$tableContainer.css("height",e+"px")}return this.options.cardView?(this.$el.css("margin-top","0"),this.$tableContainer.css("padding-bottom","0"),void this.$tableFooter.hide()):(this.options.showHeader&&this.options.height?(this.$tableHeader.show(),this.resetHeader(),b+=this.$header.outerHeight()):(this.$tableHeader.hide(),this.trigger("post-header")),this.options.showFooter&&(this.resetFooter(),this.options.height&&(b+=this.$tableFooter.outerHeight()+1)),this.getCaret(),this.$tableContainer.css("padding-bottom",b+"px"),void this.trigger("reset-view"))},p.prototype.getData=function(b){return!this.searchText&&a.isEmptyObject(this.filterColumns)&&a.isEmptyObject(this.filterColumnsPartial)?b?this.options.data.slice(this.pageFrom-1,this.pageTo):this.options.data:b?this.data.slice(this.pageFrom-1,this.pageTo):this.data},p.prototype.load=function(b){var c=!1;"server"===this.options.sidePagination?(this.options.totalRows=b.total,c=b.fixedScroll,b=b[this.options.dataField]):a.isArray(b)||(c=b.fixedScroll,b=b.data),this.initData(b),this.initSearch(),this.initPagination(),this.initBody(c)},p.prototype.append=function(a){this.initData(a,"append"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},p.prototype.prepend=function(a){this.initData(a,"prepend"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},p.prototype.remove=function(b){var c,d,e=this.options.data.length;if(b.hasOwnProperty("field")&&b.hasOwnProperty("values")){for(c=e-1;c>=0;c--)d=this.options.data[c],d.hasOwnProperty(b.field)&&a.inArray(d[b.field],b.values)!==-1&&this.options.data.splice(c,1);e!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))}},p.prototype.removeAll=function(){this.options.data.length>0&&(this.options.data.splice(0,this.options.data.length),this.initSearch(),this.initPagination(),this.initBody(!0))},p.prototype.getRowByUniqueId=function(a){var b,c,d,e=this.options.uniqueId,f=this.options.data.length,g=null;for(b=f-1;b>=0;b--){if(c=this.options.data[b],c.hasOwnProperty(e))d=c[e];else{if(!c._data.hasOwnProperty(e))continue;d=c._data[e]}if("string"==typeof d?a=a.toString():"number"==typeof d&&(Number(d)===d&&d%1===0?a=parseInt(a):d===Number(d)&&0!==d&&(a=parseFloat(a))),d===a){g=c;break}}return g},p.prototype.removeByUniqueId=function(a){var b=this.options.data.length,c=this.getRowByUniqueId(a);c&&this.options.data.splice(this.options.data.indexOf(c),1),b!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initBody(!0))},p.prototype.updateByUniqueId=function(b){var c=this,d=a.isArray(b)?b:[b];a.each(d,function(b,d){var e;d.hasOwnProperty("id")&&d.hasOwnProperty("row")&&(e=a.inArray(c.getRowByUniqueId(d.id),c.options.data),e!==-1&&a.extend(c.options.data[e],d.row))}),this.initSearch(),this.initSort(),this.initBody(!0)},p.prototype.insertRow=function(a){a.hasOwnProperty("index")&&a.hasOwnProperty("row")&&(this.data.splice(a.index,0,a.row),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))},p.prototype.updateRow=function(b){var c=this,d=a.isArray(b)?b:[b];a.each(d,function(b,d){d.hasOwnProperty("index")&&d.hasOwnProperty("row")&&a.extend(c.options.data[d.index],d.row)}),this.initSearch(),this.initSort(),this.initBody(!0)},p.prototype.showRow=function(a){(a.hasOwnProperty("index")||a.hasOwnProperty("uniqueId"))&&this.toggleRow(a.index,a.uniqueId,!0)},p.prototype.hideRow=function(a){(a.hasOwnProperty("index")||a.hasOwnProperty("uniqueId"))&&this.toggleRow(a.index,a.uniqueId,!1)},p.prototype.getRowsHidden=function(b){var c=a(this.$body[0]).children().filter(":hidden"),d=0;if(b)for(;d<c.length;d++)a(c[d]).show();return c},p.prototype.mergeCells=function(b){var c,d,e,f=b.index,g=a.inArray(b.field,this.getVisibleFields()),h=b.rowspan||1,i=b.colspan||1,j=this.$body.find(">tr");if(this.options.detailView&&!this.options.cardView&&(g+=1),e=j.eq(f).find(">td").eq(g),!(f<0||g<0||f>=this.data.length)){for(c=f;c<f+h;c++)for(d=g;d<g+i;d++)j.eq(c).find(">td").eq(d).hide();e.attr("rowspan",h).attr("colspan",i).show()}},p.prototype.updateCell=function(a){a.hasOwnProperty("index")&&a.hasOwnProperty("field")&&a.hasOwnProperty("value")&&(this.data[a.index][a.field]=a.value,a.reinit!==!1&&(this.initSort(),this.initBody(!0)))},p.prototype.getOptions=function(){return this.options},p.prototype.getSelections=function(){var b=this;return a.grep(this.options.data,function(a){return a[b.header.stateField]})},p.prototype.getAllSelections=function(){var b=this;return a.grep(this.options.data,function(a){return a[b.header.stateField]})},p.prototype.checkAll=function(){this.checkAll_(!0)},p.prototype.uncheckAll=function(){this.checkAll_(!1)},p.prototype.checkInvert=function(){var b=this,c=b.$selectItem.filter(":enabled"),d=c.filter(":checked");c.each(function(){a(this).prop("checked",!a(this).prop("checked"))}),b.updateRows(),b.updateSelected(),b.trigger("uncheck-some",d),d=b.getSelections(),b.trigger("check-some",d)},p.prototype.checkAll_=function(a){var b;a||(b=this.getSelections()),this.$selectAll.add(this.$selectAll_).prop("checked",a),this.$selectItem.filter(":enabled").prop("checked",a),this.updateRows(),a&&(b=this.getSelections()),this.trigger(a?"check-all":"uncheck-all",b)},p.prototype.check=function(a){this.check_(!0,a)},p.prototype.uncheck=function(a){this.check_(!1,a)},p.prototype.check_=function(a,b){var d=this.$selectItem.filter(c('[data-index="%s"]',b)).prop("checked",a);this.data[b][this.header.stateField]=a,this.updateSelected(),this.trigger(a?"check":"uncheck",this.data[b],d)},p.prototype.checkBy=function(a){this.checkBy_(!0,a)},p.prototype.uncheckBy=function(a){this.checkBy_(!1,a)},p.prototype.checkBy_=function(b,d){if(d.hasOwnProperty("field")&&d.hasOwnProperty("values")){var e=this,f=[];a.each(this.options.data,function(g,h){if(!h.hasOwnProperty(d.field))return!1;if(a.inArray(h[d.field],d.values)!==-1){var i=e.$selectItem.filter(":enabled").filter(c('[data-index="%s"]',g)).prop("checked",b);h[e.header.stateField]=b,f.push(h),e.trigger(b?"check":"uncheck",h,i)}}),this.updateSelected(),this.trigger(b?"check-some":"uncheck-some",f)}},p.prototype.destroy=function(){this.$el.insertBefore(this.$container),a(this.options.toolbar).insertBefore(this.$el),this.$container.next().remove(),this.$container.remove(),this.$el.html(this.$el_.html()).css("margin-top","0").attr("class",this.$el_.attr("class")||"")},p.prototype.showLoading=function(){this.$tableLoading.show()},p.prototype.hideLoading=function(){this.$tableLoading.hide()},p.prototype.togglePagination=function(){this.options.pagination=!this.options.pagination;var a=this.$toolbar.find('button[name="paginationSwitch"] i');this.options.pagination?a.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchDown):a.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchUp),this.updatePagination()},p.prototype.refresh=function(a){a&&a.url&&(this.options.pageNumber=1),this.initServer(a&&a.silent,a&&a.query,a&&a.url),this.trigger("refresh",a)},p.prototype.resetWidth=function(){this.options.showHeader&&this.options.height&&this.fitHeader(),this.options.showFooter&&this.fitFooter()},p.prototype.showColumn=function(a){this.toggleColumn(e(this.columns,a),!0,!0)},p.prototype.hideColumn=function(a){this.toggleColumn(e(this.columns,a),!1,!0)},p.prototype.getHiddenColumns=function(){return a.grep(this.columns,function(a){return!a.visible})},p.prototype.getVisibleColumns=function(){return a.grep(this.columns,function(a){return a.visible})},p.prototype.toggleAllColumns=function(b){if(a.each(this.columns,function(a,c){this.columns[a].visible=b}),this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns){var c=this.$toolbar.find(".keep-open input").prop("disabled",!1);c.filter(":checked").length<=this.options.minimumCountColumns&&c.filter(":checked").prop("disabled",!0)}},p.prototype.showAllColumns=function(){this.toggleAllColumns(!0)},p.prototype.hideAllColumns=function(){this.toggleAllColumns(!1)},p.prototype.filterBy=function(b){this.filterColumns=a.isEmptyObject(b)?{}:b,this.options.pageNumber=1,this.initSearch(),this.updatePagination()},p.prototype.scrollTo=function(a){if("string"==typeof a&&(a="bottom"===a?this.$tableBody[0].scrollHeight:0),"number"==typeof a&&this.$tableBody.scrollTop(a),"undefined"==typeof a)return this.$tableBody.scrollTop()},p.prototype.getScrollPosition=function(){return this.scrollTo()},p.prototype.selectPage=function(a){a>0&&a<=this.options.totalPages&&(this.options.pageNumber=a,this.updatePagination())},p.prototype.prevPage=function(){this.options.pageNumber>1&&(this.options.pageNumber--,this.updatePagination())},p.prototype.nextPage=function(){this.options.pageNumber<this.options.totalPages&&(this.options.pageNumber++,this.updatePagination())},p.prototype.toggleView=function(){this.options.cardView=!this.options.cardView,this.initHeader(),this.initBody(),this.trigger("toggle",this.options.cardView)},p.prototype.refreshOptions=function(b){i(this.options,b,!0)||(this.options=a.extend(this.options,b),this.trigger("refresh-options",this.options),this.destroy(),this.init())},p.prototype.resetSearch=function(a){var b=this.$toolbar.find(".search input");b.val(a||""),this.onSearch({currentTarget:b})},p.prototype.expandRow_=function(a,b){var d=this.$body.find(c('> tr[data-index="%s"]',b));d.next().is("tr.detail-view")===!a&&d.find("> td > .detail-icon").click()},p.prototype.expandRow=function(a){this.expandRow_(!0,a)},p.prototype.collapseRow=function(a){this.expandRow_(!1,a)},p.prototype.expandAllRows=function(b){if(b){var d=this.$body.find(c('> tr[data-index="%s"]',0)),e=this,f=null,g=!1,h=-1;if(d.next().is("tr.detail-view")?d.next().next().is("tr.detail-view")||(d.next().find(".detail-icon").click(),g=!0):(d.find("> td > .detail-icon").click(),g=!0),g)try{h=setInterval(function(){f=e.$body.find("tr.detail-view").last().find(".detail-icon"),f.length>0?f.click():clearInterval(h)},1)}catch(i){clearInterval(h)}}else for(var j=this.$body.children(),k=0;k<j.length;k++)this.expandRow_(!0,a(j[k]).data("index"))},p.prototype.collapseAllRows=function(b){if(b)this.expandRow_(!1,0);else for(var c=this.$body.children(),d=0;d<c.length;d++)this.expandRow_(!1,a(c[d]).data("index"))},p.prototype.updateFormatText=function(a,b){this.options[c("format%s",a)]&&("string"==typeof b?this.options[c("format%s",a)]=function(){return b}:"function"==typeof b&&(this.options[c("format%s",a)]=b)),this.initToolbar(),this.initPagination(),this.initBody()};var q=["getOptions","getSelections","getAllSelections","getData","load","append","prepend","remove","removeAll","insertRow","updateRow","updateCell","updateByUniqueId","removeByUniqueId","getRowByUniqueId","showRow","hideRow","getRowsHidden","mergeCells","checkAll","uncheckAll","checkInvert","check","uncheck","checkBy","uncheckBy","refresh","resetView","resetWidth","destroy","showLoading","hideLoading","showColumn","hideColumn","getHiddenColumns","getVisibleColumns","showAllColumns","hideAllColumns","filterBy","scrollTo","getScrollPosition","selectPage","prevPage","nextPage","togglePagination","toggleView","refreshOptions","resetSearch","expandRow","collapseRow","expandAllRows","collapseAllRows","updateFormatText"];a.fn.bootstrapTable=function(b){var c,d=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=a(this),f=e.data("bootstrap.table"),g=a.extend({},p.DEFAULTS,e.data(),"object"==typeof b&&b);if("string"==typeof b){if(a.inArray(b,q)<0)throw new Error("Unknown method: "+b);if(!f)return;c=f[b].apply(f,d),"destroy"===b&&e.removeData("bootstrap.table")}f||e.data("bootstrap.table",f=new p(this,g))}),"undefined"==typeof c?this:c},a.fn.bootstrapTable.Constructor=p,a.fn.bootstrapTable.defaults=p.DEFAULTS,a.fn.bootstrapTable.columnDefaults=p.COLUMN_DEFAULTS,a.fn.bootstrapTable.locales=p.LOCALES,a.fn.bootstrapTable.methods=q,a.fn.bootstrapTable.utils={sprintf:c,getFieldIndex:e,compareObjects:i,calculateObjectValue:h,getItemField:m,objectKeys:o,isIEBrowser:n},a(function(){a('[data-toggle="table"]').bootstrapTable()})}(jQuery),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):"undefined"!=typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a,b){"use strict";if(!a.jstree){var c,d,e=0,f=!1,g=!1,h=!1,i=[],j=a("script:last").attr("src"),k=window.document,l=k.createElement("LI");l.setAttribute("role","treeitem"),c=k.createElement("I"),c.className="jstree-icon jstree-ocl",c.setAttribute("role","presentation"),l.appendChild(c),c=k.createElement("A"),c.className="jstree-anchor",c.setAttribute("href","#"),c.setAttribute("tabindex","-1"),d=k.createElement("I"),d.className="jstree-icon jstree-themeicon",d.setAttribute("role","presentation"),c.appendChild(d),l.appendChild(c),c=d=null,a.jstree={version:"3.3.2",defaults:{plugins:[]},plugins:{},path:j&&j.indexOf("/")!==-1?j.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},a.jstree.create=function(b,c){var d=new a.jstree.core((++e)),f=c;return c=a.extend(!0,{},a.jstree.defaults,c),f&&f.plugins&&(c.plugins=f.plugins),a.each(c.plugins,function(a,b){"core"!==a&&(d=d.plugin(b,c[b]))}),a(b).data("jstree",d),d.init(b,c),d},a.jstree.destroy=function(){a(".jstree:jstree").jstree("destroy"),a(k).off(".jstree")},a.jstree.core=function(a){this._id=a,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},a.jstree.reference=function(b){var c=null,d=null;if(!b||!b.id||b.tagName&&b.nodeType||(b=b.id),!d||!d.length)try{d=a(b)}catch(e){}if(!d||!d.length)try{d=a("#"+b.replace(a.jstree.idregex,"\\$&"))}catch(e){}return d&&d.length&&(d=d.closest(".jstree")).length&&(d=d.data("jstree"))?c=d:a(".jstree").each(function(){var d=a(this).data("jstree");if(d&&d._model.data[b])return c=d,!1}),c},a.fn.jstree=function(c){var d="string"==typeof c,e=Array.prototype.slice.call(arguments,1),f=null;return!(c===!0&&!this.length)&&(this.each(function(){var g=a.jstree.reference(this),h=d&&g?g[c]:null;if(f=d&&h?h.apply(g,e):null,g||d||c!==b&&!a.isPlainObject(c)||a.jstree.create(this,c),(g&&!d||c===!0)&&(f=g||!1),null!==f&&f!==b)return!1}),null!==f&&f!==b?f:this)},a.expr.pseudos.jstree=a.expr.createPseudo(function(c){return function(c){return a(c).hasClass("jstree")&&a(c).data("jstree")!==b}}),a.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:a.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0},a.jstree.core.prototype={plugin:function(b,c){var d=a.jstree.plugins[b];return d?(this._data[b]={},d.prototype=this,new d(c,this)):this},init:function(b,c){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=a(b).addClass("jstree jstree-"+this._id),this.settings=c,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html("<ul class='jstree-container-ul jstree-children' role='group'><li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='tree-item'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().height()||24,this.trigger("loading"),this.load_node(a.jstree.root)},destroy:function(a){if(this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(b){}a||this.element.empty(),this.teardown()},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var b="",c=null,d=0;this.element.on("dblclick.jstree",function(a){if(a.target.tagName&&"input"===a.target.tagName.toLowerCase())return!0;if(k.selection&&k.selection.empty)k.selection.empty();else if(window.getSelection){var b=window.getSelection();try{b.removeAllRanges(),b.collapse()}catch(c){}}}).on("mousedown.jstree",a.proxy(function(a){a.target===this.element[0]&&(a.preventDefault(),d=+new Date)},this)).on("mousedown.jstree",".jstree-ocl",function(a){a.preventDefault()}).on("click.jstree",".jstree-ocl",a.proxy(function(a){this.toggle_node(a.target)},this)).on("dblclick.jstree",".jstree-anchor",a.proxy(function(a){return!(!a.target.tagName||"input"!==a.target.tagName.toLowerCase())||void(this.settings.core.dblclick_toggle&&this.toggle_node(a.target))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){b.preventDefault(),b.currentTarget!==k.activeElement&&a(b.currentTarget).focus(),this.activate_node(b.currentTarget,b)},this)).on("keydown.jstree",".jstree-anchor",a.proxy(function(b){if(b.target.tagName&&"input"===b.target.tagName.toLowerCase())return!0;if(32!==b.which&&13!==b.which&&(b.shiftKey||b.ctrlKey||b.altKey||b.metaKey))return!0;var c=null;switch(this._data.core.rtl&&(37===b.which?b.which=39:39===b.which&&(b.which=37)),b.which){case 32:b.ctrlKey&&(b.type="click",a(b.currentTarget).trigger(b));break;case 13:b.type="click",a(b.currentTarget).trigger(b);break;case 37:b.preventDefault(),this.is_open(b.currentTarget)?this.close_node(b.currentTarget):(c=this.get_parent(b.currentTarget),c&&c.id!==a.jstree.root&&this.get_node(c,!0).children(".jstree-anchor").focus());break;case 38:b.preventDefault(),c=this.get_prev_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 39:b.preventDefault(),this.is_closed(b.currentTarget)?this.open_node(b.currentTarget,function(a){this.get_node(a,!0).children(".jstree-anchor").focus()}):this.is_open(b.currentTarget)&&(c=this.get_node(b.currentTarget,!0).children(".jstree-children")[0],c&&a(this._firstChild(c)).children(".jstree-anchor").focus());break;case 40:b.preventDefault(),c=this.get_next_dom(b.currentTarget),c&&c.length&&c.children(".jstree-anchor").focus();break;case 106:this.open_all();break;case 36:b.preventDefault(),c=this._firstChild(this.get_container_ul()[0]),c&&a(c).children(".jstree-anchor").filter(":visible").focus();break;case 35:b.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().focus();break;case 113:b.preventDefault(),this.edit(b.currentTarget)}},this)).on("load_node.jstree",a.proxy(function(b,c){c.status&&(c.node.id!==a.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(a.proxy(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var b,c,d=[];for(b=0,c=this._data.core.selected.length;b<c;b++)d=d.concat(this._model.data[this._data.core.selected[b]].parents);for(d=a.vakata.array_unique(d),b=0,c=d.length;b<c;b++)this.open_node(d[b],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}},this),0))},this)).on("keypress.jstree",a.proxy(function(d){if(d.target.tagName&&"input"===d.target.tagName.toLowerCase())return!0;c&&clearTimeout(c),c=setTimeout(function(){b=""},500);var e=String.fromCharCode(d.which).toLowerCase(),f=this.element.find(".jstree-anchor").filter(":visible"),g=f.index(k.activeElement)||0,h=!1;if(b+=e,b.length>1){if(f.slice(g).each(a.proxy(function(c,d){if(0===a(d).text().toLowerCase().indexOf(b))return a(d).focus(),h=!0,!1},this)),h)return;if(f.slice(0,g).each(a.proxy(function(c,d){if(0===a(d).text().toLowerCase().indexOf(b))return a(d).focus(),h=!0,!1},this)),h)return}if(new RegExp("^"+e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(b)){if(f.slice(g+1).each(a.proxy(function(b,c){if(a(c).text().toLowerCase().charAt(0)===e)return a(c).focus(),h=!0,!1},this)),h)return;if(f.slice(0,g+1).each(a.proxy(function(b,c){if(a(c).text().toLowerCase().charAt(0)===e)return a(c).focus(),h=!0,!1},this)),h)return}},this)).on("init.jstree",a.proxy(function(){var a=this.settings.core.themes;this._data.core.themes.dots=a.dots,this._data.core.themes.stripes=a.stripes,this._data.core.themes.icons=a.icons,this.set_theme(a.name||"default",a.url),this.set_theme_variant(a.variant)},this)).on("loading.jstree",a.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"]()},this)).on("blur.jstree",".jstree-anchor",a.proxy(function(b){this._data.core.focused=null,a(b.currentTarget).filter(".jstree-hovered").mouseleave(),this.element.attr("tabindex","0")},this)).on("focus.jstree",".jstree-anchor",a.proxy(function(b){var c=this.get_node(b.currentTarget);c&&c.id&&(this._data.core.focused=c.id),this.element.find(".jstree-hovered").not(b.currentTarget).mouseleave(),a(b.currentTarget).mouseenter(),this.element.attr("tabindex","-1")},this)).on("focus.jstree",a.proxy(function(){if(+new Date-d>500&&!this._data.core.focused){d=0;var a=this.get_node(this.element.attr("aria-activedescendant"),!0);a&&a.find("> .jstree-anchor").focus()}},this)).on("mouseenter.jstree",".jstree-anchor",a.proxy(function(a){this.hover_node(a.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",a.proxy(function(a){
+this.dehover_node(a.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),a(k).off(".jstree-"+this._id)},trigger:function(a,b){b||(b={}),b.instance=this,this.element.triggerHandler(a.replace(".jstree","")+".jstree",b)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(b){var c=this.settings.core.strings;return a.isFunction(c)?c.call(this,b):c&&c[b]?c[b]:b},_firstChild:function(a){for(a=a?a.firstChild:null;null!==a&&1!==a.nodeType;)a=a.nextSibling;return a},_nextSibling:function(a){for(a=a?a.nextSibling:null;null!==a&&1!==a.nodeType;)a=a.nextSibling;return a},_previousSibling:function(a){for(a=a?a.previousSibling:null;null!==a&&1!==a.nodeType;)a=a.previousSibling;return a},get_node:function(b,c){b&&b.id&&(b=b.id);var d;try{if(this._model.data[b])b=this._model.data[b];else if("string"==typeof b&&this._model.data[b.replace(/^#/,"")])b=this._model.data[b.replace(/^#/,"")];else if("string"==typeof b&&(d=a("#"+b.replace(a.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else if((d=a(b,this.element)).length&&this._model.data[d.closest(".jstree-node").attr("id")])b=this._model.data[d.closest(".jstree-node").attr("id")];else{if(!(d=a(b,this.element)).length||!d.hasClass("jstree"))return!1;b=this._model.data[a.jstree.root]}return c&&(b=b.id===a.jstree.root?this.element:a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)),b}catch(e){return!1}},get_path:function(b,c,d){if(b=b.parents?b:this.get_node(b),!b||b.id===a.jstree.root||!b.parents)return!1;var e,f,g=[];for(g.push(d?b.id:b.text),e=0,f=b.parents.length;e<f;e++)g.push(d?b.parents[e]:this.get_text(b.parents[e]));return g=g.reverse().slice(1),c?g.join(c):g},get_next_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){for(d=this._firstChild(this.get_container_ul()[0]);d&&0===d.offsetHeight;)d=this._nextSibling(d);return!!d&&a(d)}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return!!d&&a(d)}if(b.hasClass("jstree-open")){for(d=this._firstChild(b.children(".jstree-children")[0]);d&&0===d.offsetHeight;)d=this._nextSibling(d);if(null!==d)return a(d)}d=b[0];do d=this._nextSibling(d);while(d&&0===d.offsetHeight);return null!==d?a(d):b.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(b,c){var d;if(b=this.get_node(b,!0),b[0]===this.element[0]){for(d=this.get_container_ul()[0].lastChild;d&&0===d.offsetHeight;)d=this._previousSibling(d);return!!d&&a(d)}if(!b||!b.length)return!1;if(c){d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);return!!d&&a(d)}d=b[0];do d=this._previousSibling(d);while(d&&0===d.offsetHeight);if(null!==d){for(b=a(d);b.hasClass("jstree-open");)b=b.children(".jstree-children").first().children(".jstree-node:visible:last");return b}return d=b[0].parentNode.parentNode,!(!d||!d.className||d.className.indexOf("jstree-node")===-1)&&a(d)},get_parent:function(b){return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&b.parent},get_children_dom:function(a){return a=this.get_node(a,!0),a[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):!(!a||!a.length)&&a.children(".jstree-children").children(".jstree-node")},is_parent:function(a){return a=this.get_node(a),a&&(a.state.loaded===!1||a.children.length>0)},is_loaded:function(a){return a=this.get_node(a),a&&a.state.loaded},is_loading:function(a){return a=this.get_node(a),a&&a.state&&a.state.loading},is_open:function(a){return a=this.get_node(a),a&&a.state.opened},is_closed:function(a){return a=this.get_node(a),a&&this.is_parent(a)&&!a.state.opened},is_leaf:function(a){return!this.is_parent(a)},load_node:function(b,c){var d,e,f,g,h;if(a.isArray(b))return this._load_nodes(b.slice(),c),!0;if(b=this.get_node(b),!b)return c&&c.call(this,b,!1),!1;if(b.state.loaded){for(b.state.loaded=!1,f=0,g=b.parents.length;f<g;f++)this._model.data[b.parents[f]].children_d=a.vakata.array_filter(this._model.data[b.parents[f]].children_d,function(c){return a.inArray(c,b.children_d)===-1});for(d=0,e=b.children_d.length;d<e;d++)this._model.data[b.children_d[d]].state.selected&&(h=!0),delete this._model.data[b.children_d[d]];h&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(c){return a.inArray(c,b.children_d)===-1})),b.children=[],b.children_d=[],h&&this.trigger("changed",{action:"load_node",node:b,selected:this._data.core.selected})}return b.state.failed=!1,b.state.loading=!0,this.get_node(b,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(b,a.proxy(function(a){b=this._model.data[b.id],b.state.loading=!1,b.state.loaded=a,b.state.failed=!b.state.loaded;var d=this.get_node(b,!0),e=0,f=0,g=this._model.data,h=!1;for(e=0,f=b.children.length;e<f;e++)if(g[b.children[e]]&&!g[b.children[e]].state.hidden){h=!0;break}b.state.loaded&&d&&d.length&&(d.removeClass("jstree-closed jstree-open jstree-leaf"),h?"#"!==b.id&&d.addClass(b.state.opened?"jstree-open":"jstree-closed"):d.addClass("jstree-leaf")),d.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:b,status:a}),c&&c.call(this,b,a)},this)),!0},_load_nodes:function(a,b,c,d){var e,f,g=!0,h=function(){this._load_nodes(a,b,!0)},i=this._model.data,j=[];for(e=0,f=a.length;e<f;e++)i[a[e]]&&(!i[a[e]].state.loaded&&!i[a[e]].state.failed||!c&&d)&&(this.is_loading(a[e])||this.load_node(a[e],h),g=!1);if(g){for(e=0,f=a.length;e<f;e++)i[a[e]]&&i[a[e]].state.loaded&&j.push(a[e]);b&&!b.done&&(b.call(this,j),b.done=!0)}},load_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d,e,f=[],g=this._model.data,h=g[b.id].children_d;for(b.state&&!b.state.loaded&&f.push(b.id),d=0,e=h.length;d<e;d++)g[h[d]]&&g[h[d]].state&&!g[h[d]].state.loaded&&f.push(h[d]);f.length?this._load_nodes(f,function(){this.load_all(b,c)}):(c&&c.call(this,b),this.trigger("load_all",{node:b}))},_load_node:function(b,c){var d,e=this.settings.core.data,f=function(){return 3!==this.nodeType&&8!==this.nodeType};return e?a.isFunction(e)?e.call(this,b,a.proxy(function(d){d===!1?c.call(this,!1):this["string"==typeof d?"_append_html_data":"_append_json_data"](b,"string"==typeof d?a(a.parseHTML(d)).filter(f):d,function(a){c.call(this,a)})},this)):"object"==typeof e?e.url?(e=a.extend(!0,{},e),a.isFunction(e.url)&&(e.url=e.url.call(this,b)),a.isFunction(e.data)&&(e.data=e.data.call(this,b)),a.ajax(e).done(a.proxy(function(d,e,g){var h=g.getResponseHeader("Content-Type");return h&&h.indexOf("json")!==-1||"object"==typeof d?this._append_json_data(b,d,function(a){c.call(this,a)}):h&&h.indexOf("html")!==-1||"string"==typeof d?this._append_html_data(b,a(a.parseHTML(d)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:g})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))},this)).fail(a.proxy(function(a){c.call(this,!1),this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:b.id,xhr:a})},this.settings.core.error.call(this,this._data.core.last_error)},this))):(d=a.isArray(e)||a.isPlainObject(e)?JSON.parse(JSON.stringify(e)):e,b.id===a.jstree.root?this._append_json_data(b,d,function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1))):"string"==typeof e?b.id===a.jstree.root?this._append_html_data(b,a(a.parseHTML(e)).filter(f),function(a){c.call(this,a)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:b.id})},this.settings.core.error.call(this,this._data.core.last_error),c.call(this,!1)):c.call(this,!1):b.id===a.jstree.root?this._append_html_data(b,this._data.core.original_container_html.clone(!0),function(a){c.call(this,a)}):c.call(this,!1)},_node_changed:function(a){a=this.get_node(a),a&&this._model.changed.push(a.id)},_append_html_data:function(b,c,d){b=this.get_node(b),b.children=[],b.children_d=[];var e,f,g,h=c.is("ul")?c.children():c,i=b.id,j=[],k=[],l=this._model.data,m=l[i],n=this._data.core.selected.length;for(h.each(a.proxy(function(b,c){e=this._parse_model_from_html(a(c),i,m.parents.concat()),e&&(j.push(e),k.push(e),l[e].children_d.length&&(k=k.concat(l[e].children_d)))},this)),m.children=j,m.children_d=k,f=0,g=m.parents.length;f<g;f++)l[m.parents[f]].children_d=l[m.parents[f]].children_d.concat(k);this.trigger("model",{nodes:k,parent:i}),i!==a.jstree.root?(this._node_changed(i),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==n&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)},_append_json_data:function(b,c,d,e){if(null!==this.element){b=this.get_node(b),b.children=[],b.children_d=[],c.d&&(c=c.d,"string"==typeof c&&(c=JSON.parse(c))),a.isArray(c)||(c=[c]);var f=null,g={df:this._model.default_state,dat:c,par:b.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},h=function(a,b){a.data&&(a=a.data);var c,d,e,f,g=a.dat,h=a.par,i=[],j=[],k=[],l=a.df,m=a.t_id,n=a.t_cnt,o=a.m,p=o[h],q=a.sel,r=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i=a.id.toString(),j={id:i,text:a.text||"",icon:a.icon===b||a.icon,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in l)l.hasOwnProperty(e)&&(j.state[e]=l[e]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(j.icon=a.data.jstree.icon),j.icon!==b&&null!==j.icon&&""!==j.icon||(j.icon=!0),a&&a.data&&(j.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(j.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(j.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(j.li_attr[e]=a.li_attr[e]);if(j.li_attr.id||(j.li_attr.id=i),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(j.a_attr[e]=a.a_attr[e]);for(a&&a.children&&a.children===!0&&(j.state.loaded=!1,j.children=[],j.children_d=[]),o[j.id]=j,e=0,f=j.children.length;e<f;e++)g=r(o[j.children[e]],j.id,d),h=o[g],j.children_d.push(g),h.children_d.length&&(j.children_d=j.children_d.concat(h.children_d));return delete a.data,delete a.children,o[j.id].original=a,j.state.selected&&k.push(j.id),j.id},s=function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i,j=!1;do j="j"+m+"_"+ ++n;while(o[j]);i={id:!1,text:"string"==typeof a?a:"",icon:"object"!=typeof a||a.icon===b||a.icon,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in l)l.hasOwnProperty(e)&&(i.state[e]=l[e]);if(a&&a.id&&(i.id=a.id.toString()),a&&a.text&&(i.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(i.icon=a.data.jstree.icon),i.icon!==b&&null!==i.icon&&""!==i.icon||(i.icon=!0),a&&a.data&&(i.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(i.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(i.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(i.li_attr[e]=a.li_attr[e]);if(i.li_attr.id&&!i.id&&(i.id=i.li_attr.id.toString()),i.id||(i.id=j),i.li_attr.id||(i.li_attr.id=i.id),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(i.a_attr[e]=a.a_attr[e]);if(a&&a.children&&a.children.length){for(e=0,f=a.children.length;e<f;e++)g=s(a.children[e],i.id,d),h=o[g],i.children.push(g),h.children_d.length&&(i.children_d=i.children_d.concat(h.children_d));i.children_d=i.children_d.concat(i.children)}return a&&a.children&&a.children===!0&&(i.state.loaded=!1,i.children=[],i.children_d=[]),delete a.data,delete a.children,i.original=a,o[i.id]=i,i.state.selected&&k.push(i.id),i.id};if(g.length&&g[0].id!==b&&g[0].parent!==b){for(d=0,e=g.length;d<e;d++)g[d].children||(g[d].children=[]),o[g[d].id.toString()]=g[d];for(d=0,e=g.length;d<e;d++)o[g[d].parent.toString()].children.push(g[d].id.toString()),p.children_d.push(g[d].id.toString());for(d=0,e=p.children.length;d<e;d++)c=r(o[p.children[d]],h,p.parents.concat()),j.push(c),o[c].children_d.length&&(j=j.concat(o[c].children_d));for(d=0,e=p.parents.length;d<e;d++)o[p.parents[d]].children_d=o[p.parents[d]].children_d.concat(j);f={cnt:n,mod:o,sel:q,par:h,dpc:j,add:k}}else{for(d=0,e=g.length;d<e;d++)c=s(g[d],h,p.parents.concat()),c&&(i.push(c),j.push(c),o[c].children_d.length&&(j=j.concat(o[c].children_d)));for(p.children=i,p.children_d=j,d=0,e=p.parents.length;d<e;d++)o[p.parents[d]].children_d=o[p.parents[d]].children_d.concat(j);f={cnt:n,mod:o,sel:q,par:h,dpc:j,add:k}}return"undefined"!=typeof window&&"undefined"!=typeof window.document?f:void postMessage(f)},i=function(b,c){if(null!==this.element){this._cnt=b.cnt;var e,f=this._model.data;for(e in f)f.hasOwnProperty(e)&&f[e].state&&f[e].state.loading&&b.mod[e]&&(b.mod[e].state.loading=!0);if(this._model.data=b.mod,c){var g,h=b.add,i=b.sel,j=this._data.core.selected.slice();if(f=this._model.data,i.length!==j.length||a.vakata.array_unique(i.concat(j)).length!==i.length){for(e=0,g=i.length;e<g;e++)a.inArray(i[e],h)===-1&&a.inArray(i[e],j)===-1&&(f[i[e]].state.selected=!1);for(e=0,g=j.length;e<g;e++)a.inArray(j[e],i)===-1&&(f[j[e]].state.selected=!0)}}b.add.length&&(this._data.core.selected=this._data.core.selected.concat(b.add)),this.trigger("model",{nodes:b.dpc,parent:b.par}),b.par!==a.jstree.root?(this._node_changed(b.par),this.redraw()):this.redraw(!0),b.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),d.call(this,!0)}};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+h.toString()],{type:"text/javascript"}))),!this._data.core.working||e?(this._data.core.working=!0,f=new window.Worker(this._wrk),f.onmessage=a.proxy(function(a){i.call(this,a.data,!0);try{f.terminate(),f=null}catch(b){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),g.par?f.postMessage(g):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([b,c,d,!0])}catch(j){i.call(this,h(g),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else i.call(this,h(g),!1)}},_parse_model_from_html:function(c,d,e){e=e?[].concat(e):[],d&&e.unshift(d);var f,g,h,i,j,k=this._model.data,l={id:!1,text:!1,icon:!0,parent:d,parents:e,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(h in this._model.default_state)this._model.default_state.hasOwnProperty(h)&&(l.state[h]=this._model.default_state[h]);if(i=a.vakata.attributes(c,!0),a.each(i,function(b,c){return c=a.trim(c),!c.length||(l.li_attr[b]=c,void("id"===b&&(l.id=c.toString())))}),i=c.children("a").first(),i.length&&(i=a.vakata.attributes(i,!0),a.each(i,function(b,c){c=a.trim(c),c.length&&(l.a_attr[b]=c)})),i=c.children("a").first().length?c.children("a").first().clone():c.clone(),i.children("ins, i, ul").remove(),i=i.html(),i=a("<div />").html(i),l.text=this.settings.core.force_text?i.text():i.html(),i=c.data(),l.data=i?a.extend(!0,{},i):null,l.state.opened=c.hasClass("jstree-open"),l.state.selected=c.children("a").hasClass("jstree-clicked"),l.state.disabled=c.children("a").hasClass("jstree-disabled"),l.data&&l.data.jstree)for(h in l.data.jstree)l.data.jstree.hasOwnProperty(h)&&(l.state[h]=l.data.jstree[h]);i=c.children("a").children(".jstree-themeicon"),i.length&&(l.icon=!i.hasClass("jstree-themeicon-hidden")&&i.attr("rel")),l.state.icon!==b&&(l.icon=l.state.icon),l.icon!==b&&null!==l.icon&&""!==l.icon||(l.icon=!0),i=c.children("ul").children("li");do j="j"+this._id+"_"+ ++this._cnt;while(k[j]);return l.id=l.li_attr.id?l.li_attr.id.toString():j,i.length?(i.each(a.proxy(function(b,c){f=this._parse_model_from_html(a(c),l.id,e),g=this._model.data[f],l.children.push(f),g.children_d.length&&(l.children_d=l.children_d.concat(g.children_d))},this)),l.children_d=l.children_d.concat(l.children)):c.hasClass("jstree-closed")&&(l.state.loaded=!1),l.li_attr["class"]&&(l.li_attr["class"]=l.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),l.a_attr["class"]&&(l.a_attr["class"]=l.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),k[l.id]=l,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_flat_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i=a.id.toString(),j=this._model.data,k=this._model.default_state,l={id:i,text:a.text||"",icon:a.icon===b||a.icon,parent:c,parents:d,children:a.children||[],children_d:a.children_d||[],data:a.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in k)k.hasOwnProperty(e)&&(l.state[e]=k[e]);if(a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(l.icon=a.data.jstree.icon),l.icon!==b&&null!==l.icon&&""!==l.icon||(l.icon=!0),a&&a.data&&(l.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(l.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(l.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(l.li_attr[e]=a.li_attr[e]);if(l.li_attr.id||(l.li_attr.id=i),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(l.a_attr[e]=a.a_attr[e]);for(a&&a.children&&a.children===!0&&(l.state.loaded=!1,l.children=[],l.children_d=[]),j[l.id]=l,e=0,f=l.children.length;e<f;e++)g=this._parse_model_from_flat_json(j[l.children[e]],l.id,d),h=j[g],l.children_d.push(g),h.children_d.length&&(l.children_d=l.children_d.concat(h.children_d));return delete a.data,delete a.children,j[l.id].original=a,l.state.selected&&this._data.core.selected.push(l.id),l.id},_parse_model_from_json:function(a,c,d){d=d?d.concat():[],c&&d.unshift(c);var e,f,g,h,i,j=!1,k=this._model.data,l=this._model.default_state;do j="j"+this._id+"_"+ ++this._cnt;while(k[j]);i={id:!1,text:"string"==typeof a?a:"",icon:"object"!=typeof a||a.icon===b||a.icon,parent:c,parents:d,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(e in l)l.hasOwnProperty(e)&&(i.state[e]=l[e]);if(a&&a.id&&(i.id=a.id.toString()),a&&a.text&&(i.text=a.text),a&&a.data&&a.data.jstree&&a.data.jstree.icon&&(i.icon=a.data.jstree.icon),i.icon!==b&&null!==i.icon&&""!==i.icon||(i.icon=!0),a&&a.data&&(i.data=a.data,a.data.jstree))for(e in a.data.jstree)a.data.jstree.hasOwnProperty(e)&&(i.state[e]=a.data.jstree[e]);if(a&&"object"==typeof a.state)for(e in a.state)a.state.hasOwnProperty(e)&&(i.state[e]=a.state[e]);if(a&&"object"==typeof a.li_attr)for(e in a.li_attr)a.li_attr.hasOwnProperty(e)&&(i.li_attr[e]=a.li_attr[e]);if(i.li_attr.id&&!i.id&&(i.id=i.li_attr.id.toString()),i.id||(i.id=j),i.li_attr.id||(i.li_attr.id=i.id),a&&"object"==typeof a.a_attr)for(e in a.a_attr)a.a_attr.hasOwnProperty(e)&&(i.a_attr[e]=a.a_attr[e]);if(a&&a.children&&a.children.length){for(e=0,f=a.children.length;e<f;e++)g=this._parse_model_from_json(a.children[e],i.id,d),h=k[g],i.children.push(g),h.children_d.length&&(i.children_d=i.children_d.concat(h.children_d));i.children_d=i.children_d.concat(i.children)}return a&&a.children&&a.children===!0&&(i.state.loaded=!1,i.children=[],i.children_d=[]),delete a.data,delete a.children,i.original=a,k[i.id]=i,i.state.selected&&this._data.core.selected.push(i.id),i.id},_redraw:function(){var b,c,d,e=this._model.force_full_redraw?this._model.data[a.jstree.root].children.concat([]):this._model.changed.concat([]),f=k.createElement("UL"),g=this._data.core.focused;for(c=0,d=e.length;c<d;c++)b=this.redraw_node(e[c],!0,this._model.force_full_redraw),b&&this._model.force_full_redraw&&f.appendChild(b);this._model.force_full_redraw&&(f.className=this.get_container_ul()[0].className,f.setAttribute("role","group"),this.element.empty().append(f)),null!==g&&(b=this.get_node(g,!0),b&&b.length&&b.children(".jstree-anchor")[0]!==k.activeElement?b.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:e})},redraw:function(a){a&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(b){var c=this.get_node(b),d=!1,e=!1,f=!1,g=k;if(!c)return!1;if(c.id===a.jstree.root)return this.redraw(!0);if(b=this.get_node(b,!0),!b||!b.length)return!1;if(b.children(".jstree-children").remove(),b=b[0],c.children.length&&c.state.loaded){for(f=g.createElement("UL"),f.setAttribute("role","group"),f.className="jstree-children",d=0,e=c.children.length;d<e;d++)f.appendChild(this.redraw_node(c.children[d],!0,!0));b.appendChild(f)}},redraw_node:function(b,c,d,e){var f=this.get_node(b),g=!1,h=!1,i=!1,j=!1,m=!1,n=!1,o="",p=k,q=this._model.data,r=!1,s=null,t=0,u=0,v=!1,w=!1;if(!f)return!1;if(f.id===a.jstree.root)return this.redraw(!0);if(c=c||0===f.children.length,b=k.querySelector?this.element[0].querySelector("#"+("0123456789".indexOf(f.id[0])!==-1?"\\3"+f.id[0]+" "+f.id.substr(1).replace(a.jstree.idregex,"\\$&"):f.id.replace(a.jstree.idregex,"\\$&"))):k.getElementById(f.id))b=a(b),d||(g=b.parent().parent()[0],g===this.element[0]&&(g=null),h=b.index()),c||!f.children.length||b.children(".jstree-children").length||(c=!0),c||(i=b.children(".jstree-children")[0]),r=b.children(".jstree-anchor")[0]===k.activeElement,b.remove();else if(c=!0,!d){if(g=f.parent!==a.jstree.root?a("#"+f.parent.replace(a.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===g||g&&q[f.parent].state.opened))return!1;h=a.inArray(f.id,null===g?q[a.jstree.root].children:q[f.parent].children)}b=l.cloneNode(!0),o="jstree-node ";for(j in f.li_attr)if(f.li_attr.hasOwnProperty(j)){if("id"===j)continue;"class"!==j?b.setAttribute(j,f.li_attr[j]):o+=f.li_attr[j]}for(f.a_attr.id||(f.a_attr.id=f.id+"_anchor"),b.setAttribute("aria-selected",!!f.state.selected),b.setAttribute("aria-level",f.parents.length),b.setAttribute("aria-labelledby",f.a_attr.id),f.state.disabled&&b.setAttribute("aria-disabled",!0),j=0,m=f.children.length;j<m;j++)if(!q[f.children[j]].state.hidden){v=!0;break}if(null!==f.parent&&q[f.parent]&&!f.state.hidden&&(j=a.inArray(f.id,q[f.parent].children),w=f.id,j!==-1))for(j++,m=q[f.parent].children.length;j<m&&(q[q[f.parent].children[j]].state.hidden||(w=q[f.parent].children[j]),w===f.id);j++);f.state.hidden&&(o+=" jstree-hidden"),f.state.loaded&&!v?o+=" jstree-leaf":(o+=f.state.opened&&f.state.loaded?" jstree-open":" jstree-closed",b.setAttribute("aria-expanded",f.state.opened&&f.state.loaded)),w===f.id&&(o+=" jstree-last"),b.id=f.id,b.className=o,o=(f.state.selected?" jstree-clicked":"")+(f.state.disabled?" jstree-disabled":"");for(m in f.a_attr)if(f.a_attr.hasOwnProperty(m)){if("href"===m&&"#"===f.a_attr[m])continue;"class"!==m?b.childNodes[1].setAttribute(m,f.a_attr[m]):o+=" "+f.a_attr[m]}if(o.length&&(b.childNodes[1].className="jstree-anchor "+o),(f.icon&&f.icon!==!0||f.icon===!1)&&(f.icon===!1?b.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":f.icon.indexOf("/")===-1&&f.icon.indexOf(".")===-1?b.childNodes[1].childNodes[0].className+=" "+f.icon+" jstree-themeicon-custom":(b.childNodes[1].childNodes[0].style.backgroundImage='url("'+f.icon+'")',b.childNodes[1].childNodes[0].style.backgroundPosition="center center",b.childNodes[1].childNodes[0].style.backgroundSize="auto",b.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?b.childNodes[1].appendChild(p.createTextNode(f.text)):b.childNodes[1].innerHTML+=f.text,c&&f.children.length&&(f.state.opened||e)&&f.state.loaded){for(n=p.createElement("UL"),n.setAttribute("role","group"),n.className="jstree-children",j=0,m=f.children.length;j<m;j++)n.appendChild(this.redraw_node(f.children[j],c,!0));b.appendChild(n)}if(i&&b.appendChild(i),!d){for(g||(g=this.element[0]),j=0,m=g.childNodes.length;j<m;j++)if(g.childNodes[j]&&g.childNodes[j].className&&g.childNodes[j].className.indexOf("jstree-children")!==-1){s=g.childNodes[j];break}s||(s=p.createElement("UL"),s.setAttribute("role","group"),s.className="jstree-children",g.appendChild(s)),g=s,h<g.childNodes.length?g.insertBefore(b,g.childNodes[h]):g.appendChild(b),r&&(t=this.element[0].scrollTop,u=this.element[0].scrollLeft,b.childNodes[1].focus(),this.element[0].scrollTop=t,this.element[0].scrollLeft=u)}return f.state.opened&&!f.state.loaded&&(f.state.opened=!1,setTimeout(a.proxy(function(){this.open_node(f.id,!1,0)},this),0)),b},open_node:function(c,d,e){var f,g,h,i;if(a.isArray(c)){for(c=c.slice(),f=0,g=c.length;f<g;f++)this.open_node(c[f],d,e);return!0}return c=this.get_node(c),!(!c||c.id===a.jstree.root)&&(e=e===b?this.settings.core.animation:e,this.is_closed(c)?this.is_loaded(c)?(h=this.get_node(c,!0),i=this,h.length&&(e&&h.children(".jstree-children").length&&h.children(".jstree-children").stop(!0,!0),c.children.length&&!this._firstChild(h.children(".jstree-children")[0])&&this.draw_children(c),e?(this.trigger("before_open",{node:c}),h.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(e,function(){this.style.display="",i.element&&i.trigger("after_open",{node:c})})):(this.trigger("before_open",{node:c}),h[0].className=h[0].className.replace("jstree-closed","jstree-open"),h[0].setAttribute("aria-expanded",!0))),c.state.opened=!0,d&&d.call(this,c,!0),h.length||this.trigger("before_open",{node:c}),this.trigger("open_node",{node:c}),e&&h.length||this.trigger("after_open",{node:c}),!0):this.is_loading(c)?setTimeout(a.proxy(function(){this.open_node(c,d,e)},this),500):void this.load_node(c,function(a,b){return b?this.open_node(a,d,e):!!d&&d.call(this,a,!1)}):(d&&d.call(this,c,!1),!1))},_open_to:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c,d,e=b.parents;for(c=0,d=e.length;c<d;c+=1)c!==a.jstree.root&&this.open_node(e[c],!1,0);return a("#"+b.id.replace(a.jstree.idregex,"\\$&"),this.element)},close_node:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;e<f;e++)this.close_node(c[e],d);return!0}return c=this.get_node(c),!(!c||c.id===a.jstree.root)&&(!this.is_closed(c)&&(d=d===b?this.settings.core.animation:d,g=this,h=this.get_node(c,!0),c.state.opened=!1,this.trigger("close_node",{node:c}),void(h.length?d?h.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(d,function(){this.style.display="",h.children(".jstree-children").remove(),g.element&&g.trigger("after_close",{node:c})}):(h[0].className=h[0].className.replace("jstree-open","jstree-closed"),h.attr("aria-expanded",!1).children(".jstree-children").remove(),this.trigger("after_close",{node:c})):this.trigger("after_close",{node:c}))))},toggle_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;c<d;c++)this.toggle_node(b[c]);return!0}return this.is_closed(b)?this.open_node(b):this.is_open(b)?this.close_node(b):void 0},open_all:function(b,c,d){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var e,f,g,h=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0);if(!h.length){for(e=0,f=b.children_d.length;e<f;e++)this.is_closed(this._model.data[b.children_d[e]])&&(this._model.data[b.children_d[e]].state.opened=!0);return this.trigger("open_all",{node:b})}d=d||h,g=this,h=this.is_closed(b)?h.find(".jstree-closed").addBack():h.find(".jstree-closed"),h.each(function(){g.open_node(this,function(a,b){b&&this.is_parent(a)&&this.open_all(a,c,d)},c||0)}),0===d.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(d)})},close_all:function(b,c){if(b||(b=a.jstree.root),b=this.get_node(b),!b)return!1;var d,e,f=b.id===a.jstree.root?this.get_container_ul():this.get_node(b,!0),g=this;for(f.length&&(f=this.is_open(b)?f.find(".jstree-open").addBack():f.find(".jstree-open"),a(f.get().reverse()).each(function(){g.close_node(this,c||0)})),d=0,e=b.children_d.length;d<e;d++)this._model.data[b.children_d[d]].state.opened=!1;this.trigger("close_all",{node:b})},is_disabled:function(a){return a=this.get_node(a),a&&a.state&&a.state.disabled},enable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;c<d;c++)this.enable_node(b[c]);return!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&(b.state.disabled=!1,this.get_node(b,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:b}))},disable_node:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;c<d;c++)this.disable_node(b[c]);return!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&(b.state.disabled=!0,this.get_node(b,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:b}))},is_hidden:function(a){return a=this.get_node(a),a.state.hidden===!0},hide_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;d<e;d++)this.hide_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&void(b.state.hidden||(b.state.hidden=!0,this._node_changed(b.parent),c||this.redraw(),this.trigger("hide_node",{node:b})))},show_node:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;d<e;d++)this.show_node(b[d],!0);return c||this.redraw(),!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&void(b.state.hidden&&(b.state.hidden=!1,this._node_changed(b.parent),c||this.redraw(),this.trigger("show_node",{node:b})))},hide_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&!d[c].state.hidden&&(d[c].state.hidden=!0,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("hide_all",{nodes:e}),e},show_all:function(b){var c,d=this._model.data,e=[];for(c in d)d.hasOwnProperty(c)&&c!==a.jstree.root&&d[c].state.hidden&&(d[c].state.hidden=!1,e.push(c));return this._model.force_full_redraw=!0,b||this.redraw(),this.trigger("show_all",{nodes:e}),e},activate_node:function(a,c){if(this.is_disabled(a))return!1;if(c&&"object"==typeof c||(c={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==b?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&(!c.shiftKey||this._data.core.last_clicked&&this.get_parent(a)&&this.get_parent(a)===this._data.core.last_clicked.parent))if(c.shiftKey){var d,e,f=this.get_node(a).id,g=this._data.core.last_clicked.id,h=this.get_node(this._data.core.last_clicked.parent).children,i=!1;for(d=0,e=h.length;d<e;d+=1)h[d]===f&&(i=!i),h[d]===g&&(i=!i),this.is_disabled(h[d])||!i&&h[d]!==f&&h[d]!==g?this.deselect_node(h[d],!0,c):this.is_hidden(h[d])||this.select_node(h[d],!0,!1,c);this.trigger("changed",{action:"select_node",node:this.get_node(a),selected:this._data.core.selected,event:c})}else this.is_selected(a)?this.deselect_node(a,!1,c):this.select_node(a,!1,!1,c);else!this.settings.core.multiple&&(c.metaKey||c.ctrlKey||c.shiftKey)&&this.is_selected(a)?this.deselect_node(a,!1,c):(this.deselect_all(!0),
+this.select_node(a,!1,!1,c),this._data.core.last_clicked=this.get_node(a));this.trigger("activate_node",{node:this.get_node(a),event:c})},hover_node:function(a){if(a=this.get_node(a,!0),!a||!a.length||a.children(".jstree-hovered").length)return!1;var b=this.element.find(".jstree-hovered"),c=this.element;b&&b.length&&this.dehover_node(b),a.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(a)}),setTimeout(function(){c.attr("aria-activedescendant",a[0].id)},0)},dehover_node:function(a){return a=this.get_node(a,!0),!!(a&&a.length&&a.children(".jstree-hovered").length)&&(a.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(a)}))},select_node:function(b,c,d,e){var f,g,h;if(a.isArray(b)){for(b=b.slice(),g=0,h=b.length;g<h;g++)this.select_node(b[g],c,d,e);return!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&(f=this.get_node(b,!0),void(b.state.selected||(b.state.selected=!0,this._data.core.selected.push(b.id),d||(f=this._open_to(b)),f&&f.length&&f.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:b,selected:this._data.core.selected,event:e}),c||this.trigger("changed",{action:"select_node",node:b,selected:this._data.core.selected,event:e}))))},deselect_node:function(b,c,d){var e,f,g;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;e<f;e++)this.deselect_node(b[e],c,d);return!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&(g=this.get_node(b,!0),void(b.state.selected&&(b.state.selected=!1,this._data.core.selected=a.vakata.array_remove_item(this._data.core.selected,b.id),g.length&&g.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:b,selected:this._data.core.selected,event:d}),c||this.trigger("changed",{action:"deselect_node",node:b,selected:this._data.core.selected,event:d}))))},select_all:function(b){var c,d,e=this._data.core.selected.concat([]);for(this._data.core.selected=this._model.data[a.jstree.root].children_d.concat(),c=0,d=this._data.core.selected.length;c<d;c++)this._model.data[this._data.core.selected[c]]&&(this._model.data[this._data.core.selected[c]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),b||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:e})},deselect_all:function(a){var b,c,d=this._data.core.selected.concat([]);for(b=0,c=this._data.core.selected.length;b<c;b++)this._model.data[this._data.core.selected[b]]&&(this._model.data[this._data.core.selected[b]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:d}),a||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:d})},is_selected:function(b){return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&b.state.selected},get_selected:function(b){return b?a.map(this._data.core.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.core.selected.slice()},get_top_selected:function(b){var c,d,e,f,g=this.get_selected(!0),h={};for(c=0,d=g.length;c<d;c++)h[g[c].id]=g[c];for(c=0,d=g.length;c<d;c++)for(e=0,f=g[c].children_d.length;e<f;e++)h[g[c].children_d[e]]&&delete h[g[c].children_d[e]];g=[];for(c in h)h.hasOwnProperty(c)&&g.push(c);return b?a.map(g,a.proxy(function(a){return this.get_node(a)},this)):g},get_bottom_selected:function(b){var c,d,e=this.get_selected(!0),f=[];for(c=0,d=e.length;c<d;c++)e[c].children.length||f.push(e[c].id);return b?a.map(f,a.proxy(function(a){return this.get_node(a)},this)):f},get_state:function(){var b,c={core:{open:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}};for(b in this._model.data)this._model.data.hasOwnProperty(b)&&b!==a.jstree.root&&(this._model.data[b].state.opened&&c.core.open.push(b),this._model.data[b].state.selected&&c.core.selected.push(b));return c},set_state:function(c,d){if(c){if(c.core){var e,f;if(c.core.open)return a.isArray(c.core.open)&&c.core.open.length?this._load_nodes(c.core.open,function(a){this.open_node(a,!1,0),delete c.core.open,this.set_state(c,d)}):(delete c.core.open,this.set_state(c,d)),!1;if(c.core.scroll)return c.core.scroll&&c.core.scroll.left!==b&&this.element.scrollLeft(c.core.scroll.left),c.core.scroll&&c.core.scroll.top!==b&&this.element.scrollTop(c.core.scroll.top),delete c.core.scroll,this.set_state(c,d),!1;if(c.core.selected)return e=this,this.deselect_all(),a.each(c.core.selected,function(a,b){e.select_node(b,!1,!0)}),delete c.core.selected,this.set_state(c,d),!1;for(f in c)c.hasOwnProperty(f)&&"core"!==f&&a.inArray(f,this.settings.plugins)===-1&&delete c[f];if(a.isEmptyObject(c.core))return delete c.core,this.set_state(c,d),!1}return!a.isEmptyObject(c)||(c=null,d&&d.call(this),this.trigger("set_state"),!1)}return!1},refresh:function(b,c){this._data.core.state=c===!0?{}:this.get_state(),c&&a.isFunction(c)&&(this._data.core.state=c.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[a.jstree.root]={id:a.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null;var d=this.get_container_ul()[0].className;b||(this.element.html("<ul class='"+d+"' role='group'><li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='treeitem' id='j"+this._id+"_loading'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(a.jstree.root,function(b,c){c&&(this.get_container_ul()[0].className=d,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(a.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(b){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var c=[],d=[],e=this._data.core.selected.concat([]);d.push(b.id),b.state.opened===!0&&c.push(b.id),this.get_node(b,!0).find(".jstree-open").each(function(){d.push(this.id),c.push(this.id)}),this._load_nodes(d,a.proxy(function(a){this.open_node(c,!1,0),this.select_node(e),this.trigger("refresh_node",{node:b,nodes:a})},this),!1,!0)},set_id:function(b,c){if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;var d,e,f=this._model.data,g=b.id;for(c=c.toString(),f[b.parent].children[a.inArray(b.id,f[b.parent].children)]=c,d=0,e=b.parents.length;d<e;d++)f[b.parents[d]].children_d[a.inArray(b.id,f[b.parents[d]].children_d)]=c;for(d=0,e=b.children.length;d<e;d++)f[b.children[d]].parent=c;for(d=0,e=b.children_d.length;d<e;d++)f[b.children_d[d]].parents[a.inArray(b.id,f[b.children_d[d]].parents)]=c;return d=a.inArray(b.id,this._data.core.selected),d!==-1&&(this._data.core.selected[d]=c),d=this.get_node(b.id,!0),d&&(d.attr("id",c),this.element.attr("aria-activedescendant")===b.id&&this.element.attr("aria-activedescendant",c)),delete f[b.id],b.id=c,b.li_attr.id=c,f[c]=b,this.trigger("set_id",{node:b,"new":b.id,old:g}),!0},get_text:function(b){return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&b.text},set_text:function(b,c){var d,e;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;d<e;d++)this.set_text(b[d],c);return!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&(b.text=c,this.get_node(b,!0).length&&this.redraw_node(b.id),this.trigger("set_text",{obj:b,text:c}),!0)},get_json:function(b,c,d){if(b=this.get_node(b||a.jstree.root),!b)return!1;c&&c.flat&&!d&&(d=[]);var e,f,g={id:b.id,text:b.text,icon:this.get_icon(b),li_attr:a.extend(!0,{},b.li_attr),a_attr:a.extend(!0,{},b.a_attr),state:{},data:(!c||!c.no_data)&&a.extend(!0,{},b.data)};if(c&&c.flat?g.parent=b.parent:g.children=[],c&&c.no_state)delete g.state;else for(e in b.state)b.state.hasOwnProperty(e)&&(g.state[e]=b.state[e]);if(c&&c.no_li_attr&&delete g.li_attr,c&&c.no_a_attr&&delete g.a_attr,c&&c.no_id&&(delete g.id,g.li_attr&&g.li_attr.id&&delete g.li_attr.id,g.a_attr&&g.a_attr.id&&delete g.a_attr.id),c&&c.flat&&b.id!==a.jstree.root&&d.push(g),!c||!c.no_children)for(e=0,f=b.children.length;e<f;e++)c&&c.flat?this.get_json(b.children[e],c,d):g.children.push(this.get_json(b.children[e],c));return c&&c.flat?d:b.id===a.jstree.root?g.children:g},create_node:function(c,d,e,f,g){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return!1;if(e=e===b?"last":e,!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(c))return this.load_node(c,function(){this.create_node(c,d,e,f,!0)});d||(d={text:this.get_string("New node")}),"string"==typeof d&&(d={text:d}),d.text===b&&(d.text=this.get_string("New node"));var h,i,j,k;switch(c.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":h=this.get_node(c.parent),e=a.inArray(c.id,h.children),c=h;break;case"after":h=this.get_node(c.parent),e=a.inArray(c.id,h.children)+1,c=h;break;case"inside":case"first":e=0;break;case"last":e=c.children.length;break;default:e||(e=0)}if(e>c.children.length&&(e=c.children.length),d.id||(d.id=!0),!this.check("create_node",d,c,e))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(d.id===!0&&delete d.id,d=this._parse_model_from_json(d,c.id,c.parents.concat()),!d)return!1;for(h=this.get_node(d),i=[],i.push(d),i=i.concat(h.children_d),this.trigger("model",{nodes:i,parent:c.id}),c.children_d=c.children_d.concat(i),j=0,k=c.parents.length;j<k;j++)this._model.data[c.parents[j]].children_d=this._model.data[c.parents[j]].children_d.concat(i);for(d=h,h=[],j=0,k=c.children.length;j<k;j++)h[j>=e?j+1:j]=c.children[j];return h[e]=d.id,c.children=h,this.redraw_node(c,!0),f&&f.call(this,this.get_node(d)),this.trigger("create_node",{node:this.get_node(d),parent:c.id,position:e}),d.id},rename_node:function(b,c){var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;d<e;d++)this.rename_node(b[d],c);return!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&(f=b.text,this.check("rename_node",b,this.get_parent(b),c)?(this.set_text(b,c),this.trigger("rename_node",{node:b,text:c,old:f}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1))},delete_node:function(b){var c,d,e,f,g,h,i,j,k,l,m,n;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;c<d;c++)this.delete_node(b[c]);return!0}if(b=this.get_node(b),!b||b.id===a.jstree.root)return!1;if(e=this.get_node(b.parent),f=a.inArray(b.id,e.children),l=!1,!this.check("delete_node",b,e,f))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(f!==-1&&(e.children=a.vakata.array_remove(e.children,f)),g=b.children_d.concat([]),g.push(b.id),h=0,i=b.parents.length;h<i;h++)this._model.data[b.parents[h]].children_d=a.vakata.array_filter(this._model.data[b.parents[h]].children_d,function(b){return a.inArray(b,g)===-1});for(j=0,k=g.length;j<k;j++)if(this._model.data[g[j]].state.selected){l=!0;break}for(l&&(this._data.core.selected=a.vakata.array_filter(this._data.core.selected,function(b){return a.inArray(b,g)===-1})),this.trigger("delete_node",{node:b,parent:e.id}),l&&this.trigger("changed",{action:"delete_node",node:b,selected:this._data.core.selected,parent:e.id}),j=0,k=g.length;j<k;j++)delete this._model.data[g[j]];return a.inArray(this._data.core.focused,g)!==-1&&(this._data.core.focused=null,m=this.element[0].scrollTop,n=this.element[0].scrollLeft,e.id===a.jstree.root?this._model.data[a.jstree.root].children[0]&&this.get_node(this._model.data[a.jstree.root].children[0],!0).children(".jstree-anchor").focus():this.get_node(e,!0).children(".jstree-anchor").focus(),this.element[0].scrollTop=m,this.element[0].scrollLeft=n),this.redraw_node(e,!0),!0},check:function(b,c,d,e,f){c=c&&c.id?c:this.get_node(c),d=d&&d.id?d:this.get_node(d);var g=b.match(/^move_node|copy_node|create_node$/i)?d:c,h=this.settings.core.check_callback;return"move_node"!==b&&"copy_node"!==b||f&&f.is_multi||c.id!==d.id&&("move_node"!==b||a.inArray(c.id,d.children)!==e)&&a.inArray(d.id,c.children_d)===-1?(g&&g.data&&(g=g.data),g&&g.functions&&(g.functions[b]===!1||g.functions[b]===!0)?(g.functions[b]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:!(!c||!c.id)&&c.id,par:!(!d||!d.id)&&d.id})}),g.functions[b]):!(h===!1||a.isFunction(h)&&h.call(this,b,c,d,e,f)===!1||h&&h[b]===!1)||(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+b,data:JSON.stringify({chk:b,pos:e,obj:!(!c||!c.id)&&c.id,par:!(!d||!d.id)&&d.id})},!1)):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:b,pos:e,obj:!(!c||!c.id)&&c.id,par:!(!d||!d.id)&&d.id})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t,u,v,w;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.move_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;j<k;j++)(r=this.move_node(c[j],d,e,f,g,!1,i))&&(d=r,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;if(l=(c.parent||a.jstree.root).toString(),n=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,o=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),p=!o||!o._id||this._id!==o._id,m=o&&o._id&&l&&o._model.data[l]&&o._model.data[l].children?a.inArray(c.id,o._model.data[l].children):-1,o&&o._id&&(c=o._model.data[c.id]),p)return!!(r=this.copy_node(c,d,e,f,g,!1,i))&&(o&&o.delete_node(c),r);switch(d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,n.children);break;case"after":e=a.inArray(d.id,n.children)+1;break;case"inside":case"first":e=0;break;case"last":e=n.children.length;break;default:e||(e=0)}if(e>n.children.length&&(e=n.children.length),!this.check("move_node",c,n,e,{core:!0,origin:i,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(c.parent===n.id){for(q=n.children.concat(),r=a.inArray(c.id,q),r!==-1&&(q=a.vakata.array_remove(q,r),e>r&&e--),r=[],s=0,t=q.length;s<t;s++)r[s>=e?s+1:s]=q[s];r[e]=c.id,n.children=r,this._node_changed(n.id),this.redraw(n.id===a.jstree.root)}else{for(r=c.children_d.concat(),r.push(c.id),s=0,t=c.parents.length;s<t;s++){for(q=[],w=o._model.data[c.parents[s]].children_d,u=0,v=w.length;u<v;u++)a.inArray(w[u],r)===-1&&q.push(w[u]);o._model.data[c.parents[s]].children_d=q}for(o._model.data[l].children=a.vakata.array_remove_item(o._model.data[l].children,c.id),s=0,t=n.parents.length;s<t;s++)this._model.data[n.parents[s]].children_d=this._model.data[n.parents[s]].children_d.concat(r);for(q=[],s=0,t=n.children.length;s<t;s++)q[s>=e?s+1:s]=n.children[s];for(q[e]=c.id,n.children=q,n.children_d.push(c.id),n.children_d=n.children_d.concat(c.children_d),c.parent=n.id,r=n.parents.concat(),r.unshift(n.id),w=c.parents.length,c.parents=r,r=r.concat(),s=0,t=c.children_d.length;s<t;s++)this._model.data[c.children_d[s]].parents=this._model.data[c.children_d[s]].parents.slice(0,w*-1),Array.prototype.push.apply(this._model.data[c.children_d[s]].parents,r);l!==a.jstree.root&&n.id!==a.jstree.root||(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(l),this._node_changed(n.id)),h||this.redraw()}return f&&f.call(this,c,n,e),this.trigger("move_node",{node:c,parent:n.id,position:e,old_parent:l,old_position:m,is_multi:o&&o._id&&o._id!==this._id,is_foreign:!o||!o._id,old_instance:o,new_instance:this}),c.id},copy_node:function(c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(d=this.get_node(d),e=e===b?0:e,!d)return!1;if(!e.toString().match(/^(before|after)$/)&&!g&&!this.is_loaded(d))return this.load_node(d,function(){this.copy_node(c,d,e,f,!0,!1,i)});if(a.isArray(c)){if(1!==c.length){for(j=0,k=c.length;j<k;j++)(m=this.copy_node(c[j],d,e,f,g,!0,i))&&(d=m,e="after");return this.redraw(),!0}c=c[0]}if(c=c&&c.id?c:this.get_node(c),!c||c.id===a.jstree.root)return!1;switch(q=(c.parent||a.jstree.root).toString(),r=e.toString().match(/^(before|after)$/)&&d.id!==a.jstree.root?this.get_node(d.parent):d,s=i?i:this._model.data[c.id]?this:a.jstree.reference(c.id),t=!s||!s._id||this._id!==s._id,s&&s._id&&(c=s._model.data[c.id]),d.id===a.jstree.root&&("before"===e&&(e="first"),"after"===e&&(e="last")),e){case"before":e=a.inArray(d.id,r.children);break;case"after":e=a.inArray(d.id,r.children)+1;break;case"inside":case"first":e=0;break;case"last":e=r.children.length;break;default:e||(e=0)}if(e>r.children.length&&(e=r.children.length),!this.check("copy_node",c,r,e,{core:!0,origin:i,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(p=s?s.get_json(c,{no_id:!0,no_data:!0,no_state:!0}):c,!p)return!1;if(p.id===!0&&delete p.id,p=this._parse_model_from_json(p,r.id,r.parents.concat()),!p)return!1;for(m=this.get_node(p),c&&c.state&&c.state.loaded===!1&&(m.state.loaded=!1),l=[],l.push(p),l=l.concat(m.children_d),this.trigger("model",{nodes:l,parent:r.id}),n=0,o=r.parents.length;n<o;n++)this._model.data[r.parents[n]].children_d=this._model.data[r.parents[n]].children_d.concat(l);for(l=[],n=0,o=r.children.length;n<o;n++)l[n>=e?n+1:n]=r.children[n];return l[e]=m.id,r.children=l,r.children_d.push(m.id),r.children_d=r.children_d.concat(m.children_d),r.id===a.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(r.id),h||this.redraw(r.id===a.jstree.root),f&&f.call(this,m,r,e),this.trigger("copy_node",{node:m,original:c,parent:r.id,position:e,old_parent:q,old_position:s&&s._id&&q&&s._model.data[q]&&s._model.data[q].children?a.inArray(c.id,s._model.data[q].children):-1,is_multi:s&&s._id&&s._id!==this._id,is_foreign:!s||!s._id,old_instance:s,new_instance:this}),m.id},cut:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c,d,e,i=[];for(d=0,e=b.length;d<e;d++)c=this.get_node(b[d]),c&&c.id&&c.id!==a.jstree.root&&i.push(c);return!!i.length&&(f=i,h=this,g="move_node",void this.trigger("cut",{node:b}))},copy:function(b){if(b||(b=this._data.core.selected.concat()),a.isArray(b)||(b=[b]),!b.length)return!1;var c,d,e,i=[];for(d=0,e=b.length;d<e;d++)c=this.get_node(b[d]),c&&c.id&&c.id!==a.jstree.root&&i.push(c);return!!i.length&&(f=i,h=this,g="copy_node",void this.trigger("copy",{node:b}))},get_buffer:function(){return{mode:g,node:f,inst:h}},can_paste:function(){return g!==!1&&f!==!1},paste:function(a,b){return a=this.get_node(a),!!(a&&g&&g.match(/^(copy_node|move_node)$/)&&f)&&(this[g](f,a,b,!1,!1,!1,h)&&this.trigger("paste",{parent:a.id,node:f,mode:g}),f=!1,g=!1,void(h=!1))},clear_buffer:function(){f=!1,g=!1,h=!1,this.trigger("clear_buffer")},edit:function(b,c,d){var e,f,g,h,i,j,l,m,n,o=!1;return!!(b=this.get_node(b))&&(this.settings.core.check_callback===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_07",reason:"Could not edit node because of check_callback"},this.settings.core.error.call(this,this._data.core.last_error),!1):(n=b,c="string"==typeof c?c:b.text,this.set_text(b,""),b=this._open_to(b),n.text=c,e=this._data.core.rtl,f=this.element.width(),this._data.core.focused=n.id,g=b.children(".jstree-anchor").focus(),h=a("<span>"),i=c,j=a("<div />",{css:{position:"absolute",top:"-200px",left:e?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),l=a("<input />",{value:i,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:a.proxy(function(c){c.stopImmediatePropagation(),c.preventDefault();var e,f=h.children(".jstree-rename-input"),k=f.val(),m=this.settings.core.force_text;""===k&&(k=i),j.remove(),h.replaceWith(g),h.remove(),i=m?i:a("<div></div>").append(a.parseHTML(i)).html(),this.set_text(b,i),e=!!this.rename_node(b,m?a("<div></div>").text(k).text():a("<div></div>").append(a.parseHTML(k)).html()),e||this.set_text(b,i),this._data.core.focused=n.id,setTimeout(a.proxy(function(){var a=this.get_node(n.id,!0);a.length&&(this._data.core.focused=n.id,a.children(".jstree-anchor").focus())},this),0),d&&d.call(this,n,e,o),l=null},this),keydown:function(a){var b=a.which;27===b&&(o=!0,this.value=i),27!==b&&13!==b&&37!==b&&38!==b&&39!==b&&40!==b&&32!==b||a.stopImmediatePropagation(),27!==b&&13!==b||(a.preventDefault(),this.blur())},click:function(a){a.stopImmediatePropagation()},mousedown:function(a){a.stopImmediatePropagation()},keyup:function(a){l.width(Math.min(j.text("pW"+this.value).width(),f))},keypress:function(a){if(13===a.which)return!1}}),m={fontFamily:g.css("fontFamily")||"",fontSize:g.css("fontSize")||"",fontWeight:g.css("fontWeight")||"",fontStyle:g.css("fontStyle")||"",fontStretch:g.css("fontStretch")||"",fontVariant:g.css("fontVariant")||"",letterSpacing:g.css("letterSpacing")||"",wordSpacing:g.css("wordSpacing")||""},h.attr("class",g.attr("class")).append(g.contents().clone()).append(l),g.replaceWith(h),j.css(m),l.css(m).width(Math.min(j.text("pW"+l[0].value).width(),f))[0].select(),void a(k).one("mousedown.jstree touchstart.jstree dnd_start.vakata",function(b){l&&b.target!==l&&a(l).blur()})))},set_theme:function(b,c){if(!b)return!1;if(c===!0){var d=this.settings.core.themes.dir;d||(d=a.jstree.path+"/themes"),c=d+"/"+b+"/style.css"}c&&a.inArray(c,i)===-1&&(a("head").append('<link rel="stylesheet" href="'+c+'" type="text/css" />'),i.push(c)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=b,this.element.addClass("jstree-"+b),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+b+"-responsive"),this.trigger("set_theme",{theme:b})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(a){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=a,a&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},set_icon:function(c,d){var e,f,g,h;if(a.isArray(c)){for(c=c.slice(),e=0,f=c.length;e<f;e++)this.set_icon(c[e],d);return!0}return c=this.get_node(c),!(!c||c.id===a.jstree.root)&&(h=c.icon,c.icon=d===!0||null===d||d===b||""===d||d,g=this.get_node(c,!0).children(".jstree-anchor").children(".jstree-themeicon"),d===!1?this.hide_icon(c):d===!0||null===d||d===b||""===d?(g.removeClass("jstree-themeicon-custom "+h).css("background","").removeAttr("rel"),h===!1&&this.show_icon(c)):d.indexOf("/")===-1&&d.indexOf(".")===-1?(g.removeClass(h).css("background",""),g.addClass(d+" jstree-themeicon-custom").attr("rel",d),h===!1&&this.show_icon(c)):(g.removeClass(h).css("background",""),g.addClass("jstree-themeicon-custom").css("background","url('"+d+"') center center no-repeat").attr("rel",d),h===!1&&this.show_icon(c)),!0)},get_icon:function(b){return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&b.icon},hide_icon:function(b){var c,d;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;c<d;c++)this.hide_icon(b[c]);return!0}return b=this.get_node(b),!(!b||b===a.jstree.root)&&(b.icon=!1,this.get_node(b,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0)},show_icon:function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;c<d;c++)this.show_icon(b[c]);return!0}return b=this.get_node(b),!(!b||b===a.jstree.root)&&(e=this.get_node(b,!0),b.icon=!e.length||e.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"),b.icon||(b.icon=!0),e.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0)}},a.vakata={},a.vakata.attributes=function(b,c){b=a(b)[0];var d=c?{}:[];return b&&b.attributes&&a.each(b.attributes,function(b,e){a.inArray(e.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])===-1&&null!==e.value&&""!==a.trim(e.value)&&(c?d[e.name]=e.value:d.push(e.name))}),d},a.vakata.array_unique=function(a){var c,d,e=[],f={};for(c=0,d=a.length;c<d;c++)f[a[c]]===b&&(e.push(a[c]),f[a[c]]=!0);return e},a.vakata.array_remove=function(a,b){return a.splice(b,1),a},a.vakata.array_remove_item=function(b,c){var d=a.inArray(c,b);return d!==-1?a.vakata.array_remove(b,d):b},a.vakata.array_filter=function(a,b,c,d,e){if(a.filter)return a.filter(b,c);d=[];for(e in a)~~e+""==e+""&&e>=0&&b.call(c,a[e],+e,a)&&d.push(a[e]);return d},a.jstree.plugins.changed=function(a,b){var c=[];this.trigger=function(a,d){var e,f;if(d||(d={}),"changed"===a.replace(".jstree","")){d.changed={selected:[],deselected:[]};var g={};for(e=0,f=c.length;e<f;e++)g[c[e]]=1;for(e=0,f=d.selected.length;e<f;e++)g[d.selected[e]]?g[d.selected[e]]=2:d.changed.selected.push(d.selected[e]);for(e=0,f=c.length;e<f;e++)1===g[c[e]]&&d.changed.deselected.push(c[e]);c=d.selected.slice()}b.trigger.call(this,a,d)},this.refresh=function(a,d){return c=[],b.refresh.apply(this,arguments)}};var m=k.createElement("I");m.className="jstree-icon jstree-checkbox",m.setAttribute("role","presentation"),a.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0},a.jstree.plugins.checkbox=function(c,d){this.bind=function(){d.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",a.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",a.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),this.settings.checkbox.cascade.indexOf("undetermined")!==-1&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",a.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",a.proxy(function(a,b){var c,d,e=this._model.data,f=(e[b.parent],b.nodes);for(c=0,d=f.length;c<d;c++)e[f[c]].state.checked=e[f[c]].state.checked||e[f[c]].original&&e[f[c]].original.state&&e[f[c]].original.state.checked,e[f[c]].state.checked&&this._data.checkbox.selected.push(f[c])},this)),this.settings.checkbox.cascade.indexOf("up")===-1&&this.settings.checkbox.cascade.indexOf("down")===-1||this.element.on("model.jstree",a.proxy(function(b,c){var d,e,f,g,h,i,j=this._model.data,k=j[c.parent],l=c.nodes,m=[],n=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection;if(n.indexOf("down")!==-1)if(k.state[o?"selected":"checked"]){for(e=0,f=l.length;e<f;e++)j[l[e]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(l)}else for(e=0,f=l.length;e<f;e++)if(j[l[e]].state[o?"selected":"checked"]){for(g=0,h=j[l[e]].children_d.length;g<h;g++)j[j[l[e]].children_d[g]].state[o?"selected":"checked"]=!0;this._data[o?"core":"checkbox"].selected=this._data[o?"core":"checkbox"].selected.concat(j[l[e]].children_d)}if(n.indexOf("up")!==-1){for(e=0,f=k.children_d.length;e<f;e++)j[k.children_d[e]].children.length||m.push(j[k.children_d[e]].parent);for(m=a.vakata.array_unique(m),g=0,h=m.length;g<h;g++)for(k=j[m[g]];k&&k.id!==a.jstree.root;){for(d=0,e=0,f=k.children.length;e<f;e++)d+=j[k.children[e]].state[o?"selected":"checked"];if(d!==f)break;k.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(k.id),i=this.get_node(k,!0),i&&i.length&&i.attr("aria-selected",!0).children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),k=this.get_node(k.parent)}}this._data[o?"core":"checkbox"].selected=a.vakata.array_unique(this._data[o?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",a.proxy(function(b,c){var d,e,f,g,h=c.node,i=this._model.data,j=this.get_node(h.parent),k=this.get_node(h,!0),l=this.settings.checkbox.cascade,m=this.settings.checkbox.tie_selection,n={},o=this._data[m?"core":"checkbox"].selected;for(d=0,e=o.length;d<e;d++)n[o[d]]=!0;if(l.indexOf("down")!==-1)for(d=0,e=h.children_d.length;d<e;d++)n[h.children_d[d]]=!0,g=i[h.children_d[d]],g.state[m?"selected":"checked"]=!0,g&&g.original&&g.original.state&&g.original.state.undetermined&&(g.original.state.undetermined=!1);if(l.indexOf("up")!==-1)for(;j&&j.id!==a.jstree.root;){for(f=0,d=0,e=j.children.length;d<e;d++)f+=i[j.children[d]].state[m?"selected":"checked"];if(f!==e)break;j.state[m?"selected":"checked"]=!0,n[j.id]=!0,g=this.get_node(j,!0),g&&g.length&&g.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),j=this.get_node(j.parent)}o=[];for(d in n)n.hasOwnProperty(d)&&o.push(d);this._data[m?"core":"checkbox"].selected=o,l.indexOf("down")!==-1&&k.length&&k.find(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!0)},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",a.proxy(function(b,c){var d,e,f,g=this.get_node(a.jstree.root),h=this._model.data;for(d=0,e=g.children_d.length;d<e;d++)f=h[g.children_d[d]],f&&f.original&&f.original.state&&f.original.state.undetermined&&(f.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",a.proxy(function(b,c){var d,e,f,g=c.node,h=this.get_node(g,!0),i=this.settings.checkbox.cascade,j=this.settings.checkbox.tie_selection,k=this._data[j?"core":"checkbox"].selected,l={};if(g&&g.original&&g.original.state&&g.original.state.undetermined&&(g.original.state.undetermined=!1),i.indexOf("down")!==-1)for(d=0,e=g.children_d.length;d<e;d++)f=this._model.data[g.children_d[d]],f.state[j?"selected":"checked"]=!1,f&&f.original&&f.original.state&&f.original.state.undetermined&&(f.original.state.undetermined=!1);if(i.indexOf("up")!==-1)for(d=0,e=g.parents.length;d<e;d++)f=this._model.data[g.parents[d]],f.state[j?"selected":"checked"]=!1,f&&f.original&&f.original.state&&f.original.state.undetermined&&(f.original.state.undetermined=!1),
+f=this.get_node(g.parents[d],!0),f&&f.length&&f.attr("aria-selected",!1).children(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked");for(l={},d=0,e=k.length;d<e;d++)i.indexOf("down")!==-1&&a.inArray(k[d],g.children_d)!==-1||i.indexOf("up")!==-1&&a.inArray(k[d],g.parents)!==-1||(l[k[d]]=!0);k=[];for(d in l)l.hasOwnProperty(d)&&k.push(d);this._data[j?"core":"checkbox"].selected=k,i.indexOf("down")!==-1&&h.length&&h.find(".jstree-anchor").removeClass(j?"jstree-clicked":"jstree-checked").parent().attr("aria-selected",!1)},this)),this.settings.checkbox.cascade.indexOf("up")!==-1&&this.element.on("delete_node.jstree",a.proxy(function(b,c){for(var d,e,f,g,h=this.get_node(c.parent),i=this._model.data,j=this.settings.checkbox.tie_selection;h&&h.id!==a.jstree.root&&!h.state[j?"selected":"checked"];){for(f=0,d=0,e=h.children.length;d<e;d++)f+=i[h.children[d]].state[j?"selected":"checked"];if(!(e>0&&f===e))break;h.state[j?"selected":"checked"]=!0,this._data[j?"core":"checkbox"].selected.push(h.id),g=this.get_node(h,!0),g&&g.length&&g.attr("aria-selected",!0).children(".jstree-anchor").addClass(j?"jstree-clicked":"jstree-checked"),h=this.get_node(h.parent)}},this)).on("move_node.jstree",a.proxy(function(b,c){var d,e,f,g,h,i=c.is_multi,j=c.old_parent,k=this.get_node(c.parent),l=this._model.data,m=this.settings.checkbox.tie_selection;if(!i)for(d=this.get_node(j);d&&d.id!==a.jstree.root&&!d.state[m?"selected":"checked"];){for(e=0,f=0,g=d.children.length;f<g;f++)e+=l[d.children[f]].state[m?"selected":"checked"];if(!(g>0&&e===g))break;d.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}for(d=k;d&&d.id!==a.jstree.root;){for(e=0,f=0,g=d.children.length;f<g;f++)e+=l[d.children[f]].state[m?"selected":"checked"];if(e===g)d.state[m?"selected":"checked"]||(d.state[m?"selected":"checked"]=!0,this._data[m?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!0).children(".jstree-anchor").addClass(m?"jstree-clicked":"jstree-checked"));else{if(!d.state[m?"selected":"checked"])break;d.state[m?"selected":"checked"]=!1,this._data[m?"core":"checkbox"].selected=a.vakata.array_remove_item(this._data[m?"core":"checkbox"].selected,d.id),h=this.get_node(d,!0),h&&h.length&&h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(m?"jstree-clicked":"jstree-checked")}d=this.get_node(d.parent)}},this))},this._undetermined=function(){if(null!==this.element){var c,d,e,f,g={},h=this._model.data,i=this.settings.checkbox.tie_selection,j=this._data[i?"core":"checkbox"].selected,k=[],l=this;for(c=0,d=j.length;c<d;c++)if(h[j[c]]&&h[j[c]].parents)for(e=0,f=h[j[c]].parents.length;e<f&&g[h[j[c]].parents[e]]===b;e++)h[j[c]].parents[e]!==a.jstree.root&&(g[h[j[c]].parents[e]]=!0,k.push(h[j[c]].parents[e]));for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var i,j=l.get_node(this);if(j.state.loaded){for(c=0,d=j.children_d.length;c<d;c++)if(i=h[j.children_d[c]],!i.state.loaded&&i.original&&i.original.state&&i.original.state.undetermined&&i.original.state.undetermined===!0)for(g[i.id]===b&&i.id!==a.jstree.root&&(g[i.id]=!0,k.push(i.id)),e=0,f=i.parents.length;e<f;e++)g[i.parents[e]]===b&&i.parents[e]!==a.jstree.root&&(g[i.parents[e]]=!0,k.push(i.parents[e]))}else if(j.original&&j.original.state&&j.original.state.undetermined&&j.original.state.undetermined===!0)for(g[j.id]===b&&j.id!==a.jstree.root&&(g[j.id]=!0,k.push(j.id)),e=0,f=j.parents.length;e<f;e++)g[j.parents[e]]===b&&j.parents[e]!==a.jstree.root&&(g[j.parents[e]]=!0,k.push(j.parents[e]))}),this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),c=0,d=k.length;c<d;c++)h[k[c]].state[i?"selected":"checked"]||(j=this.get_node(k[c],!0),j&&j.length&&j.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined"))}},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments)){var g,h,i=null,j=null;for(g=0,h=b.childNodes.length;g<h;g++)if(b.childNodes[g]&&b.childNodes[g].className&&b.childNodes[g].className.indexOf("jstree-anchor")!==-1){i=b.childNodes[g];break}i&&(!this.settings.checkbox.tie_selection&&this._model.data[b.id].state.checked&&(i.className+=" jstree-checked"),j=m.cloneNode(!1),this._model.data[b.id].state.checkbox_disabled&&(j.className+=" jstree-checkbox-disabled"),i.insertBefore(j,i.childNodes[0]))}return e||this.settings.checkbox.cascade.indexOf("undetermined")===-1||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(a.proxy(this._undetermined,this),50)),b},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(b){b=this.get_node(b);var c,d,e=this.settings.checkbox.cascade,f=this.settings.checkbox.tie_selection,g=this._data[f?"core":"checkbox"].selected,h=this._model.data;if(!b||b.state[f?"selected":"checked"]===!0||e.indexOf("undetermined")===-1||e.indexOf("down")===-1&&e.indexOf("up")===-1)return!1;if(!b.state.loaded&&b.original.state.undetermined===!0)return!0;for(c=0,d=b.children_d.length;c<d;c++)if(a.inArray(b.children_d[c],g)!==-1||!h[b.children_d[c]].state.loaded&&h[b.children_d[c]].original.state.undetermined)return!0;return!1},this.disable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;c<d;c++)this.disable_checkbox(b[c]);return!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&(e=this.get_node(b,!0),void(b.state.checkbox_disabled||(b.state.checkbox_disabled=!0,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:b}))))},this.enable_checkbox=function(b){var c,d,e;if(a.isArray(b)){for(b=b.slice(),c=0,d=b.length;c<d;c++)this.enable_checkbox(b[c]);return!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&(e=this.get_node(b,!0),void(b.state.checkbox_disabled&&(b.state.checkbox_disabled=!1,e&&e.length&&e.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:b}))))},this.activate_node=function(b,c){return!a(c.target).hasClass("jstree-checkbox-disabled")&&(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||a(c.target).hasClass("jstree-checkbox"))&&(c.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!a(c.target).hasClass("jstree-checkbox")?d.activate_node.call(this,b,c):!this.is_disabled(b)&&(this.is_checked(b)?this.uncheck_node(b,c):this.check_node(b,c),void this.trigger("activate_node",{node:this.get_node(b)})))},this.check_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.select_node(b,!1,!0,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),e=0,f=b.length;e<f;e++)this.check_node(b[e],c);return!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&(d=this.get_node(b,!0),void(b.state.checked||(b.state.checked=!0,this._data.checkbox.selected.push(b.id),d&&d.length&&d.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:b,selected:this._data.checkbox.selected,event:c}))))},this.uncheck_node=function(b,c){if(this.settings.checkbox.tie_selection)return this.deselect_node(b,!1,c);var d,e,f;if(a.isArray(b)){for(b=b.slice(),d=0,e=b.length;d<e;d++)this.uncheck_node(b[d],c);return!0}return b=this.get_node(b),!(!b||b.id===a.jstree.root)&&(f=this.get_node(b,!0),void(b.state.checked&&(b.state.checked=!1,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,b.id),f.length&&f.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:b,selected:this._data.checkbox.selected,event:c}))))},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var b,c;this._data.checkbox.selected.concat([]);for(this._data.checkbox.selected=this._model.data[a.jstree.root].children_d.concat(),b=0,c=this._data.checkbox.selected.length;b<c;b++)this._model.data[this._data.checkbox.selected[b]]&&(this._model.data[this._data.checkbox.selected[b]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var a,b,c=this._data.checkbox.selected.concat([]);for(a=0,b=this._data.checkbox.selected.length;a<b;a++)this._model.data[this._data.checkbox.selected[a]]&&(this._model.data[this._data.checkbox.selected[a]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:c})},this.is_checked=function(b){return this.settings.checkbox.tie_selection?this.is_selected(b):(b=this.get_node(b),!(!b||b.id===a.jstree.root)&&b.state.checked)},this.get_checked=function(b){return this.settings.checkbox.tie_selection?this.get_selected(b):b?a.map(this._data.checkbox.selected,a.proxy(function(a){return this.get_node(a)},this)):this._data.checkbox.selected},this.get_top_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_top_selected(b);var c,d,e,f,g=this.get_checked(!0),h={};for(c=0,d=g.length;c<d;c++)h[g[c].id]=g[c];for(c=0,d=g.length;c<d;c++)for(e=0,f=g[c].children_d.length;e<f;e++)h[g[c].children_d[e]]&&delete h[g[c].children_d[e]];g=[];for(c in h)h.hasOwnProperty(c)&&g.push(c);return b?a.map(g,a.proxy(function(a){return this.get_node(a)},this)):g},this.get_bottom_checked=function(b){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(b);var c,d,e=this.get_checked(!0),f=[];for(c=0,d=e.length;c<d;c++)e[c].children.length||f.push(e[c].id);return b?a.map(f,a.proxy(function(a){return this.get_node(a)},this)):f},this.load_node=function(b,c){var e,f,g,h;if(!a.isArray(b)&&!this.settings.checkbox.tie_selection&&(h=this.get_node(b),h&&h.state.loaded))for(e=0,f=h.children_d.length;e<f;e++)this._model.data[h.children_d[e]].state.checked&&(g=!0,this._data.checkbox.selected=a.vakata.array_remove_item(this._data.checkbox.selected,h.children_d[e]));return d.load_node.apply(this,arguments)},this.get_state=function(){var a=d.get_state.apply(this,arguments);return this.settings.checkbox.tie_selection?a:(a.checkbox=this._data.checkbox.selected.slice(),a)},this.set_state=function(b,c){var e=d.set_state.apply(this,arguments);if(e&&b.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all();var f=this;a.each(b.checkbox,function(a,b){f.check_node(b)})}return delete b.checkbox,this.set_state(b,c),!1}return e},this.refresh=function(a,b){return this.settings.checkbox.tie_selection||(this._data.checkbox.selected=[]),d.refresh.apply(this,arguments)}},a.jstree.defaults.conditionalselect=function(){return!0},a.jstree.plugins.conditionalselect=function(a,b){this.activate_node=function(a,c){this.settings.conditionalselect.call(this,this.get_node(a),c)&&b.activate_node.call(this,a,c)}},a.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(b,c){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.create_node(d,{},"last",function(a){setTimeout(function(){c.edit(a)},0)})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.edit(d)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.delete_node(c.get_selected()):c.delete_node(d)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.cut(c.get_top_selected()):c.cut(d)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.is_selected(d)?c.copy(c.get_top_selected()):c.copy(d)}},paste:{separator_before:!1,icon:!1,_disabled:function(b){return!a.jstree.reference(b.reference).can_paste()},separator_after:!1,label:"Paste",action:function(b){var c=a.jstree.reference(b.reference),d=c.get_node(b.reference);c.paste(d)}}}}}}},a.jstree.plugins.contextmenu=function(c,d){this.bind=function(){d.bind.call(this);var b,c,e=0,f=null;this.element.on("contextmenu.jstree",".jstree-anchor",a.proxy(function(a,b){"input"!==a.target.tagName.toLowerCase()&&(a.preventDefault(),e=a.ctrlKey?+new Date:0,(b||f)&&(e=+new Date+1e4),f&&clearTimeout(f),this.is_loading(a.currentTarget)||this.show_contextmenu(a.currentTarget,a.pageX,a.pageY,a))},this)).on("click.jstree",".jstree-anchor",a.proxy(function(b){this._data.contextmenu.visible&&(!e||+new Date-e>250)&&a.vakata.context.hide(),e=0},this)).on("touchstart.jstree",".jstree-anchor",function(d){d.originalEvent&&d.originalEvent.changedTouches&&d.originalEvent.changedTouches[0]&&(b=d.originalEvent.changedTouches[0].clientX,c=d.originalEvent.changedTouches[0].clientY,f=setTimeout(function(){a(d.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(a){f&&a.originalEvent&&a.originalEvent.changedTouches&&a.originalEvent.changedTouches[0]&&(Math.abs(b-a.originalEvent.changedTouches[0].clientX)>50||Math.abs(c-a.originalEvent.changedTouches[0].clientY)>50)&&clearTimeout(f)}).on("touchend.vakata.jstree",function(a){f&&clearTimeout(f)}),a(k).on("context_hide.vakata.jstree",a.proxy(function(b,c){this._data.contextmenu.visible=!1,a(c.reference).removeClass("jstree-context")},this))},this.teardown=function(){this._data.contextmenu.visible&&a.vakata.context.hide(),d.teardown.call(this)},this.show_contextmenu=function(c,d,e,f){if(c=this.get_node(c),!c||c.id===a.jstree.root)return!1;var g=this.settings.contextmenu,h=this.get_node(c,!0),i=h.children(".jstree-anchor"),j=!1,k=!1;(g.show_at_node||d===b||e===b)&&(j=i.offset(),d=j.left,e=j.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(c)&&this.activate_node(c,f),k=g.items,a.isFunction(k)&&(k=k.call(this,c,a.proxy(function(a){this._show_contextmenu(c,d,e,a)},this))),a.isPlainObject(k)&&this._show_contextmenu(c,d,e,k)},this._show_contextmenu=function(b,c,d,e){var f=this.get_node(b,!0),g=f.children(".jstree-anchor");a(k).one("context_show.vakata.jstree",a.proxy(function(b,c){var d="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";a(c.element).addClass(d),g.addClass("jstree-context")},this)),this._data.contextmenu.visible=!0,a.vakata.context.show(g,{x:c,y:d},e),this.trigger("show_contextmenu",{node:b,x:c,y:d})}},function(a){var b=!1,c={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};a.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(b){a(k).triggerHandler("context_"+b+".vakata",{reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_execute:function(b){return b=c.items[b],!(!b||b._disabled&&(!a.isFunction(b._disabled)||b._disabled({item:b,reference:c.reference,element:c.element}))||!b.action)&&b.action.call(null,{item:b,reference:c.reference,element:c.element,position:{x:c.position_x,y:c.position_y}})},_parse:function(b,d){if(!b)return!1;d||(c.html="",c.items=[]);var e,f="",g=!1;return d&&(f+="<ul>"),a.each(b,function(b,d){return!d||(c.items.push(d),!g&&d.separator_before&&(f+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;</a></li>"),g=!1,f+="<li class='"+(d._class||"")+(d._disabled===!0||a.isFunction(d._disabled)&&d._disabled({item:d,reference:c.reference,element:c.element})?" vakata-contextmenu-disabled ":"")+"' "+(d.shortcut?" data-shortcut='"+d.shortcut+"' ":"")+">",f+="<a href='#' rel='"+(c.items.length-1)+"' "+(d.title?"title='"+d.title+"'":"")+">",a.vakata.context.settings.icons&&(f+="<i ",d.icon&&(f+=d.icon.indexOf("/")!==-1||d.icon.indexOf(".")!==-1?" style='background:url(\""+d.icon+"\") center center no-repeat' ":" class='"+d.icon+"' "),f+="></i><span class='vakata-contextmenu-sep'>&#160;</span>"),f+=(a.isFunction(d.label)?d.label({item:b,reference:c.reference,element:c.element}):d.label)+(d.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+d.shortcut+'">'+(d.shortcut_label||"")+"</span>":"")+"</a>",d.submenu&&(e=a.vakata.context._parse(d.submenu,!0),e&&(f+=e)),f+="</li>",void(d.separator_after&&(f+="<li class='vakata-context-separator'><a href='#' "+(a.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;</a></li>",g=!0)))}),f=f.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""),d&&(f+="</ul>"),d||(c.html=f,a.vakata.context._trigger("parse")),f.length>10&&f},_show_submenu:function(c){if(c=a(c),c.length&&c.children("ul").length){var d=c.children("ul"),e=c.offset().left,f=e+c.outerWidth(),g=c.offset().top,h=d.width(),i=d.height(),j=a(window).width()+a(window).scrollLeft(),k=a(window).height()+a(window).scrollTop();b?c[f-(h+10+c.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):c[f+h>j&&e>j-f?"addClass":"removeClass"]("vakata-context-right"),g+i+10>k&&d.css("bottom","-1px"),c.hasClass("vakata-context-right")?e<h&&d.css("margin-right",e-h):j-f<h&&d.css("margin-left",j-f-h),d.show()}},show:function(d,e,f){var g,h,i,j,k,l,m,n,o=!0;switch(c.element&&c.element.length&&c.element.width(""),o){case!e&&!d:return!1;case!!e&&!!d:c.reference=d,c.position_x=e.x,c.position_y=e.y;break;case!e&&!!d:c.reference=d,g=d.offset(),c.position_x=g.left+d.outerHeight(),c.position_y=g.top;break;case!!e&&!d:c.position_x=e.x,c.position_y=e.y}d&&!f&&a(d).data("vakata_contextmenu")&&(f=a(d).data("vakata_contextmenu")),a.vakata.context._parse(f)&&c.element.html(c.html),c.items.length&&(c.element.appendTo("body"),h=c.element,i=c.position_x,j=c.position_y,k=h.width(),l=h.height(),m=a(window).width()+a(window).scrollLeft(),n=a(window).height()+a(window).scrollTop(),b&&(i-=h.outerWidth()-a(d).outerWidth(),i<a(window).scrollLeft()+20&&(i=a(window).scrollLeft()+20)),i+k+20>m&&(i=m-(k+20)),j+l+20>n&&(j=n-(l+20)),c.element.css({left:i,top:j}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),c.is_visible=!0,a.vakata.context._trigger("show"))},hide:function(){c.is_visible&&(c.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),c.is_visible=!1,a.vakata.context._trigger("hide"))}},a(function(){b="rtl"===a("body").css("direction");var d=!1;c.element=a("<ul class='vakata-context'></ul>"),c.element.on("mouseenter","li",function(b){b.stopImmediatePropagation(),a.contains(this,b.relatedTarget)||(d&&clearTimeout(d),c.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),a(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),a.vakata.context._show_submenu(this))}).on("mouseleave","li",function(b){a.contains(this,b.relatedTarget)||a(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(b){a(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),a.vakata.context.settings.hide_onmouseleave&&(d=setTimeout(function(b){return function(){a.vakata.context.hide()}}(this),a.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(b){b.preventDefault(),a(this).blur().parent().hasClass("vakata-context-disabled")||a.vakata.context._execute(a(this).attr("rel"))===!1||a.vakata.context.hide()}).on("keydown","a",function(b){var d=null;switch(b.which){case 13:case 32:b.type="mouseup",b.preventDefault(),a(b.currentTarget).trigger(b);break;case 37:c.is_visible&&(c.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 38:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 39:c.is_visible&&(c.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 40:c.is_visible&&(d=c.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),d.length||(d=c.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),d.addClass("vakata-context-hover").children("a").focus(),b.stopImmediatePropagation(),b.preventDefault());break;case 27:a.vakata.context.hide(),b.preventDefault()}}).on("keydown",function(a){a.preventDefault();var b=c.element.find(".vakata-contextmenu-shortcut-"+a.which).parent();b.parent().not(".vakata-context-disabled")&&b.click()}),a(k).on("mousedown.vakata.jstree",function(b){c.is_visible&&!a.contains(c.element[0],b.target)&&a.vakata.context.hide()}).on("context_show.vakata.jstree",function(a,d){c.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),b&&c.element.addClass("vakata-context-rtl").css("direction","rtl"),c.element.find("ul").hide().end()})})}(a),a.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1,use_html5:!1};var n,o;a.jstree.plugins.dnd=function(b,c){this.init=function(a,b){c.init.call(this,a,b),this.settings.dnd.use_html5=this.settings.dnd.use_html5&&"draggable"in k.createElement("span")},this.bind=function(){c.bind.call(this),this.element.on(this.settings.dnd.use_html5?"dragstart.jstree":"mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",a.proxy(function(b){if(this.settings.dnd.large_drag_target&&a(b.target).closest(".jstree-node")[0]!==b.currentTarget)return!0;if("touchstart"===b.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0;var c=this.get_node(b.target),d=this.is_selected(c)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,e=d>1?d+" "+this.get_string("nodes"):this.get_text(b.currentTarget);if(this.settings.core.force_text&&(e=a.vakata.html.escape(e)),c&&c.id&&c.id!==a.jstree.root&&(1===b.which||"touchstart"===b.type||"dragstart"===b.type)&&(this.settings.dnd.is_draggable===!0||a.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,d>1?this.get_top_selected(!0):[c],b))){if(n={jstree:!0,origin:this,obj:this.get_node(c,!0),nodes:d>1?this.get_top_selected():[c.id]},o=b.currentTarget,!this.settings.dnd.use_html5)return this.element.trigger("mousedown.jstree"),a.vakata.dnd.start(b,n,'<div id="jstree-dnd" class="jstree-'+this.get_theme()+" jstree-"+this.get_theme()+"-"+this.get_theme_variant()+" "+(this.settings.core.themes.responsive?" jstree-dnd-responsive":"")+'"><i class="jstree-icon jstree-er"></i>'+e+'<ins class="jstree-copy" style="display:none;">+</ins></div>');a.vakata.dnd._trigger("start",b,{helper:a(),element:o,data:n})}},this)),this.settings.dnd.use_html5&&this.element.on("dragover.jstree",function(b){return b.preventDefault(),a.vakata.dnd._trigger("move",b,{helper:a(),element:o,data:n}),!1}).on("drop.jstree",a.proxy(function(b){return b.preventDefault(),a.vakata.dnd._trigger("stop",b,{helper:a(),element:o,data:n}),!1},this))},this.redraw_node=function(a,b,d,e){if(a=c.redraw_node.apply(this,arguments),a&&this.settings.dnd.use_html5)if(this.settings.dnd.large_drag_target)a.setAttribute("draggable",!0);else{var f,g,h=null;for(f=0,g=a.childNodes.length;f<g;f++)if(a.childNodes[f]&&a.childNodes[f].className&&a.childNodes[f].className.indexOf("jstree-anchor")!==-1){h=a.childNodes[f];break}h&&h.setAttribute("draggable",!0)}return a}},a(function(){var c=!1,d=!1,e=!1,f=!1,g=a('<div id="jstree-marker">&#160;</div>').hide();a(k).on("dnd_start.vakata.jstree",function(a,b){c=!1,e=!1,b&&b.data&&b.data.jstree&&g.appendTo("body")}).on("dnd_move.vakata.jstree",function(h,i){if(f&&(i.event&&"dragover"===i.event.type&&i.event.target===e.target||clearTimeout(f)),i&&i.data&&i.data.jstree&&(!i.event.target.id||"jstree-marker"!==i.event.target.id)){e=i.event;var j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z=a.jstree.reference(i.event.target),A=!1,B=!1,C=!1;if(z&&z._data&&z._data.dnd)if(g.attr("class","jstree-"+z.get_theme()+(z.settings.core.themes.responsive?" jstree-dnd-responsive":"")),x=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey)),i.helper.children().attr("class","jstree-"+z.get_theme()+" jstree-"+z.get_theme()+"-"+z.get_theme_variant()+" "+(z.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[x?"show":"hide"](),i.event.target!==z.element[0]&&i.event.target!==z.get_container_ul()[0]||0!==z.get_container_ul().children().length){if(A=z.settings.dnd.large_drop_target?a(i.event.target).closest(".jstree-node").children(".jstree-anchor"):a(i.event.target).closest(".jstree-anchor"),A&&A.length&&A.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(B=A.offset(),C=(i.event.pageY!==b?i.event.pageY:i.event.originalEvent.pageY)-B.top,l=A.outerHeight(),o=C<l/3?["b","i","a"]:C>l-l/3?["a","i","b"]:C>l/2?["i","a","b"]:["i","b","a"],a.each(o,function(b,e){switch(e){case"b":j=B.left-6,k=B.top,m=z.get_parent(A),n=A.parent().index();break;case"i":v=z.settings.dnd.inside_pos,w=z.get_node(A.parent()),j=B.left-2,k=B.top+l/2+1,m=w.id,n="first"===v?0:"last"===v?w.children.length:Math.min(v,w.children.length);break;case"a":j=B.left-6,k=B.top+l,m=z.get_parent(A),n=A.parent().index()+1}for(p=!0,q=0,r=i.data.nodes.length;q<r;q++)if(s=i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",t=n,"move_node"===s&&"a"===e&&i.data.origin&&i.data.origin===z&&m===z.get_parent(i.data.nodes[q])&&(u=z.get_node(m),t>a.inArray(i.data.nodes[q],u.children)&&(t-=1)),p=p&&(z&&z.settings&&z.settings.dnd&&z.settings.dnd.check_while_dragging===!1||z.check(s,i.data.origin&&i.data.origin!==z?i.data.origin.get_node(i.data.nodes[q]):i.data.nodes[q],m,t,{dnd:!0,ref:z.get_node(A.parent()),pos:e,origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==z,is_foreign:!i.data.origin})),!p){z&&z.last_error&&(d=z.last_error());break}if("i"===e&&A.parent().is(".jstree-closed")&&z.settings.dnd.open_timeout&&(f=setTimeout(function(a,b){return function(){a.open_node(b)}}(z,A),z.settings.dnd.open_timeout)),p)return y=z.get_node(m,!0),y.hasClass(".jstree-dnd-parent")||(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),y.addClass("jstree-dnd-parent")),c={ins:z,par:m,pos:"i"!==e||"last"!==v||0!==n||z.is_loaded(w)?n:"last"},g.css({left:j+"px",top:k+"px"}).show(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=x?"copy":"move"),d={},o=!0,!1}),o===!0))return}else{for(p=!0,q=0,r=i.data.nodes.length;q<r&&(p=p&&z.check(i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(i.event.metaKey||i.event.ctrlKey))?"copy_node":"move_node",i.data.origin&&i.data.origin!==z?i.data.origin.get_node(i.data.nodes[q]):i.data.nodes[q],a.jstree.root,"last",{dnd:!0,ref:z.get_node(a.jstree.root),pos:"i",origin:i.data.origin,is_multi:i.data.origin&&i.data.origin!==z,is_foreign:!i.data.origin}),p);q++);if(p)return c={ins:z,par:a.jstree.root,pos:"last"},g.hide(),i.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),void(i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect=x?"copy":"move"))}a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),c=!1,i.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),i.event.originalEvent&&i.event.originalEvent.dataTransfer&&(i.event.originalEvent.dataTransfer.dropEffect="none"),g.hide()}}).on("dnd_scroll.vakata.jstree",function(a,b){b&&b.data&&b.data.jstree&&(g.hide(),c=!1,e=!1,b.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(b,h){if(a(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),f&&clearTimeout(f),h&&h.data&&h.data.jstree){g.hide().detach();var i,j,k=[];if(c){for(i=0,j=h.data.nodes.length;i<j;i++)k[i]=h.data.origin?h.data.origin.get_node(h.data.nodes[i]):h.data.nodes[i];c.ins[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(h.event.metaKey||h.event.ctrlKey))?"copy_node":"move_node"](k,c.par,c.pos,!1,!1,!1,h.data.origin)}else i=a(h.event.target).closest(".jstree"),i.length&&d&&d.error&&"check"===d.error&&(i=i.jstree(!0),i&&i.settings.core.error.call(this,d));e=!1,c=!1}}).on("keyup.jstree keydown.jstree",function(b,h){h=a.vakata.dnd._get(),h&&h.data&&h.data.jstree&&("keyup"===b.type&&27===b.which?(f&&clearTimeout(f),c=!1,d=!1,e=!1,f=!1,g.hide().detach(),a.vakata.dnd._clean()):(h.helper.find(".jstree-copy").first()[h.data.origin&&(h.data.origin.settings.dnd.always_copy||h.data.origin.settings.dnd.copy&&(b.metaKey||b.ctrlKey))?"show":"hide"](),e&&(e.metaKey=b.metaKey,e.ctrlKey=b.ctrlKey,a.vakata.dnd._trigger("move",e))))})}),function(a){a.vakata.html={div:a("<div />"),escape:function(b){return a.vakata.html.div.text(b).html()},strip:function(b){return a.vakata.html.div.empty().append(a.parseHTML(b)).text()}};var c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};a.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:50},_trigger:function(c,d,e){e===b&&(e=a.vakata.dnd._get()),e.event=d,a(k).triggerHandler("dnd_"+c+".vakata",e)},_get:function(){return{data:c.data,element:c.element,helper:c.helper}},_clean:function(){c.helper&&c.helper.remove(),c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),c={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},a(k).off("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(k).off("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop)},_scroll:function(b){if(!c.scroll_e||!c.scroll_l&&!c.scroll_t)return c.scroll_i&&(clearInterval(c.scroll_i),c.scroll_i=!1),!1;if(!c.scroll_i)return c.scroll_i=setInterval(a.vakata.dnd._scroll,100),!1;if(b===!0)return!1;var d=c.scroll_e.scrollTop(),e=c.scroll_e.scrollLeft();c.scroll_e.scrollTop(d+c.scroll_t*a.vakata.dnd.settings.scroll_speed),c.scroll_e.scrollLeft(e+c.scroll_l*a.vakata.dnd.settings.scroll_speed),d===c.scroll_e.scrollTop()&&e===c.scroll_e.scrollLeft()||a.vakata.dnd._trigger("scroll",c.scroll_e);
+},start:function(b,d,e){"touchstart"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=k.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag&&a.vakata.dnd.stop({});try{b.currentTarget.unselectable="on",b.currentTarget.onselectstart=function(){return!1},b.currentTarget.style&&(b.currentTarget.style.touchAction="none",b.currentTarget.style.msTouchAction="none",b.currentTarget.style.MozUserSelect="none")}catch(f){}return c.init_x=b.pageX,c.init_y=b.pageY,c.data=d,c.is_down=!0,c.element=b.currentTarget,c.target=b.target,c.is_touch="touchstart"===b.type,e!==!1&&(c.helper=a("<div id='vakata-dnd'></div>").html(e).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),a(k).on("mousemove.vakata.jstree touchmove.vakata.jstree",a.vakata.dnd.drag),a(k).on("mouseup.vakata.jstree touchend.vakata.jstree",a.vakata.dnd.stop),!1},drag:function(b){if("touchmove"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=k.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_down){if(!c.is_drag){if(!(Math.abs(b.pageX-c.init_x)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)||Math.abs(b.pageY-c.init_y)>(c.is_touch?a.vakata.dnd.settings.threshold_touch:a.vakata.dnd.settings.threshold)))return;c.helper&&(c.helper.appendTo("body"),c.helper_w=c.helper.outerWidth()),c.is_drag=!0,a(c.target).one("click.vakata",!1),a.vakata.dnd._trigger("start",b)}var d=!1,e=!1,f=!1,g=!1,h=!1,i=!1,j=!1,l=!1,m=!1,n=!1;return c.scroll_t=0,c.scroll_l=0,c.scroll_e=!1,a(a(b.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(a(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var d=a(this),e=d.offset();if(this.scrollHeight>this.offsetHeight&&(e.top+d.height()-b.pageY<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),b.pageY-e.top<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1)),this.scrollWidth>this.offsetWidth&&(e.left+d.width()-b.pageX<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),b.pageX-e.left<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1)),c.scroll_t||c.scroll_l)return c.scroll_e=a(this),!1}),c.scroll_e||(d=a(k),e=a(window),f=d.height(),g=e.height(),h=d.width(),i=e.width(),j=d.scrollTop(),l=d.scrollLeft(),f>g&&b.pageY-j<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=-1),f>g&&g-(b.pageY-j)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_t=1),h>i&&b.pageX-l<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=-1),h>i&&i-(b.pageX-l)<a.vakata.dnd.settings.scroll_proximity&&(c.scroll_l=1),(c.scroll_t||c.scroll_l)&&(c.scroll_e=d)),c.scroll_e&&a.vakata.dnd._scroll(!0),c.helper&&(m=parseInt(b.pageY+a.vakata.dnd.settings.helper_top,10),n=parseInt(b.pageX+a.vakata.dnd.settings.helper_left,10),f&&m+25>f&&(m=f-50),h&&n+c.helper_w>h&&(n=h-(c.helper_w+2)),c.helper.css({left:n+"px",top:m+"px"})),a.vakata.dnd._trigger("move",b),!1}},stop:function(b){if("touchend"===b.type&&b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]&&(b.pageX=b.originalEvent.changedTouches[0].pageX,b.pageY=b.originalEvent.changedTouches[0].pageY,b.target=k.elementFromPoint(b.originalEvent.changedTouches[0].pageX-window.pageXOffset,b.originalEvent.changedTouches[0].pageY-window.pageYOffset)),c.is_drag)b.target!==c.target&&a(c.target).off("click.vakata"),a.vakata.dnd._trigger("stop",b);else if("touchend"===b.type&&b.target===c.target){var d=setTimeout(function(){a(b.target).click()},100);a(b.target).one("click",function(){d&&clearTimeout(d)})}return a.vakata.dnd._clean(),!1}}}(a),a.jstree.defaults.massload=null,a.jstree.plugins.massload=function(b,c){this.init=function(a,b){this._data.massload={},c.init.call(this,a,b)},this._load_nodes=function(b,d,e,f){var g,h,i,j=this.settings.massload,k=(JSON.stringify(b),[]),l=this._model.data;if(!e){for(g=0,h=b.length;g<h;g++)l[b[g]]&&(l[b[g]].state.loaded||l[b[g]].state.failed)&&!f||(k.push(b[g]),i=this.get_node(b[g],!0),i&&i.length&&i.addClass("jstree-loading").attr("aria-busy",!0));if(this._data.massload={},k.length){if(a.isFunction(j))return j.call(this,k,a.proxy(function(a){var g,h;if(a)for(g in a)a.hasOwnProperty(g)&&(this._data.massload[g]=a[g]);for(g=0,h=b.length;g<h;g++)i=this.get_node(b[g],!0),i&&i.length&&i.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this));if("object"==typeof j&&j&&j.url)return j=a.extend(!0,{},j),a.isFunction(j.url)&&(j.url=j.url.call(this,k)),a.isFunction(j.data)&&(j.data=j.data.call(this,k)),a.ajax(j).done(a.proxy(function(a,g,h){var j,k;if(a)for(j in a)a.hasOwnProperty(j)&&(this._data.massload[j]=a[j]);for(j=0,k=b.length;j<k;j++)i=this.get_node(b[j],!0),i&&i.length&&i.removeClass("jstree-loading").attr("aria-busy",!1);c._load_nodes.call(this,b,d,e,f)},this)).fail(a.proxy(function(a){c._load_nodes.call(this,b,d,e,f)},this))}}return c._load_nodes.call(this,b,d,e,f)},this._load_node=function(b,d){var e,f=this._data.massload[b.id],g=null;return f?(g=this["string"==typeof f?"_append_html_data":"_append_json_data"](b,"string"==typeof f?a(a.parseHTML(f)).filter(function(){return 3!==this.nodeType}):f,function(a){d.call(this,a)}),e=this.get_node(b.id,!0),e&&e.length&&e.removeClass("jstree-loading").attr("aria-busy",!1),delete this._data.massload[b.id],g):c._load_node.call(this,b,d)}},a.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},a.jstree.plugins.search=function(c,d){this.bind=function(){d.bind.call(this),this._data.search.str="",this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",a.proxy(function(b,c){if(this._data.search.som&&c.res.length){var d,e,f,g,h=this._model.data,i=[];for(d=0,e=c.res.length;d<e;d++)if(h[c.res[d]]&&!h[c.res[d]].state.hidden&&(i.push(c.res[d]),i=i.concat(h[c.res[d]].parents),this._data.search.smc))for(f=0,g=h[c.res[d]].children_d.length;f<g;f++)h[h[c.res[d]].children_d[f]]&&!h[h[c.res[d]].children_d[f]].state.hidden&&i.push(h[c.res[d]].children_d[f]);i=a.vakata.array_remove_item(a.vakata.array_unique(i),a.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(i,!0),this.redraw(!0)}},this)).on("clear_search.jstree",a.proxy(function(a,b){this._data.search.som&&b.res.length&&(this.show_node(this._data.search.hdn,!0),this.redraw(!0))},this))},this.search=function(c,d,e,f,g,h){if(c===!1||""===a.trim(c.toString()))return this.clear_search();f=this.get_node(f),f=f&&f.id?f.id:null,c=c.toString();var i,j,k=this.settings.search,l=!!k.ajax&&k.ajax,m=this._model.data,n=null,o=[],p=[];if(this._data.search.res.length&&!g&&this.clear_search(),e===b&&(e=k.show_only_matches),h===b&&(h=k.show_only_matches_children),!d&&l!==!1)return a.isFunction(l)?l.call(this,c,a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g)})},this),f):(l=a.extend({},l),l.data||(l.data={}),l.data.str=c,f&&(l.data.inside=f),a.ajax(l).fail(a.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(l)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(a.proxy(function(b){b&&b.d&&(b=b.d),this._load_nodes(a.isArray(b)?a.vakata.array_unique(b):[],function(){this.search(c,!0,e,f,g)})},this)));if(g||(this._data.search.str=c,this._data.search.dom=a(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=e,this._data.search.smc=h),n=new a.vakata.search(c,(!0),{caseSensitive:k.case_sensitive,fuzzy:k.fuzzy}),a.each(m[f?f:a.jstree.root].children_d,function(a,b){var d=m[b];d.text&&!d.state.hidden&&(!k.search_leaves_only||d.state.loaded&&0===d.children.length)&&(k.search_callback&&k.search_callback.call(this,c,d)||!k.search_callback&&n.search(d.text).isMatch)&&(o.push(b),p=p.concat(d.parents))}),o.length){for(p=a.vakata.array_unique(p),i=0,j=p.length;i<j;i++)p[i]!==a.jstree.root&&m[p[i]]&&this.open_node(p[i],null,0)===!0&&this._data.search.opn.push(p[i]);g?(this._data.search.dom=this._data.search.dom.add(a(this.element[0].querySelectorAll("#"+a.map(o,function(b){return"0123456789".indexOf(b[0])!==-1?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=a.vakata.array_unique(this._data.search.res.concat(o))):(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(o,function(b){return"0123456789".indexOf(b[0])!==-1?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=o),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:c,res:this._data.search.res,show_only_matches:e})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=a(this.element[0].querySelectorAll("#"+a.map(this._data.search.res,function(b){return"0123456789".indexOf(b[0])!==-1?"\\3"+b[0]+" "+b.substr(1).replace(a.jstree.idregex,"\\$&"):b.replace(a.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=a()},this.redraw_node=function(b,c,e,f){if(b=d.redraw_node.apply(this,arguments),b&&a.inArray(b.id,this._data.search.res)!==-1){var g,h,i=null;for(g=0,h=b.childNodes.length;g<h;g++)if(b.childNodes[g]&&b.childNodes[g].className&&b.childNodes[g].className.indexOf("jstree-anchor")!==-1){i=b.childNodes[g];break}i&&(i.className+=" jstree-search")}return b}},function(a){a.vakata.search=function(b,c,d){d=d||{},d=a.extend({},a.vakata.search.defaults,d),d.fuzzy!==!1&&(d.fuzzy=!0),b=d.caseSensitive?b:b.toLowerCase();var e,f,g,h,i=d.location,j=d.distance,k=d.threshold,l=b.length;return l>32&&(d.fuzzy=!1),d.fuzzy&&(e=1<<l-1,f=function(){var a={},c=0;for(c=0;c<l;c++)a[b.charAt(c)]=0;for(c=0;c<l;c++)a[b.charAt(c)]|=1<<l-c-1;return a}(),g=function(a,b){var c=a/l,d=Math.abs(i-b);return j?c+d/j:d?1:c}),h=function(a){if(a=d.caseSensitive?a:a.toLowerCase(),b===a||a.indexOf(b)!==-1)return{isMatch:!0,score:0};if(!d.fuzzy)return{isMatch:!1,score:1};var c,h,j,m,n,o,p,q,r,s=a.length,t=k,u=a.indexOf(b,i),v=l+s,w=1,x=[];for(u!==-1&&(t=Math.min(g(0,u),t),u=a.lastIndexOf(b,i+l),u!==-1&&(t=Math.min(g(0,u),t))),u=-1,c=0;c<l;c++){for(j=0,m=v;j<m;)g(c,i+m)<=t?j=m:v=m,m=Math.floor((v-j)/2+j);for(v=m,o=Math.max(1,i-m+1),p=Math.min(i+m,s)+l,q=new Array(p+2),q[p+1]=(1<<c)-1,h=p;h>=o;h--)if(r=f[a.charAt(h-1)],0===c?q[h]=(q[h+1]<<1|1)&r:q[h]=(q[h+1]<<1|1)&r|((n[h+1]|n[h])<<1|1)|n[h+1],q[h]&e&&(w=g(c,h-1),w<=t)){if(t=w,u=h-1,x.push(u),!(u>i))break;o=Math.max(1,2*i-u)}if(g(c+1,i)>t)break;n=q}return{isMatch:u>=0,score:w}},c===!0?{search:h}:h(c)},a.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(a),a.jstree.defaults.sort=function(a,b){return this.get_text(a)>this.get_text(b)?1:-1},a.jstree.plugins.sort=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("model.jstree",a.proxy(function(a,b){this.sort(b.parent,!0)},this)).on("rename_node.jstree create_node.jstree",a.proxy(function(a,b){this.sort(b.parent||b.node.parent,!1),this.redraw_node(b.parent||b.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",a.proxy(function(a,b){this.sort(b.parent,!1),this.redraw_node(b.parent,!0)},this))},this.sort=function(b,c){var d,e;if(b=this.get_node(b),b&&b.children&&b.children.length&&(b.children.sort(a.proxy(this.settings.sort,this)),c))for(d=0,e=b.children_d.length;d<e;d++)this.sort(b.children_d[d],!1)}};var p=!1;a.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1},a.jstree.plugins.state=function(b,c){this.bind=function(){c.bind.call(this);var b=a.proxy(function(){this.element.on(this.settings.state.events,a.proxy(function(){p&&clearTimeout(p),p=setTimeout(a.proxy(function(){this.save_state()},this),100)},this)),this.trigger("state_ready")},this);this.element.on("ready.jstree",a.proxy(function(a,c){this.element.one("restore_state.jstree",b),this.restore_state()||b()},this))},this.save_state=function(){var b={state:this.get_state(),ttl:this.settings.state.ttl,sec:+new Date};a.vakata.storage.set(this.settings.state.key,JSON.stringify(b))},this.restore_state=function(){var b=a.vakata.storage.get(this.settings.state.key);if(b)try{b=JSON.parse(b)}catch(c){return!1}return!(b&&b.ttl&&b.sec&&+new Date-b.sec>b.ttl)&&(b&&b.state&&(b=b.state),b&&a.isFunction(this.settings.state.filter)&&(b=this.settings.state.filter.call(this,b)),!!b&&(this.element.one("set_state.jstree",function(c,d){d.instance.trigger("restore_state",{state:a.extend(!0,{},b)})}),this.set_state(b),!0))},this.clear_state=function(){return a.vakata.storage.del(this.settings.state.key)}},function(a,b){a.vakata.storage={set:function(a,b){return window.localStorage.setItem(a,b)},get:function(a){return window.localStorage.getItem(a)},del:function(a){return window.localStorage.removeItem(a)}}}(a),a.jstree.defaults.types={"default":{}},a.jstree.defaults.types[a.jstree.root]={},a.jstree.plugins.types=function(c,d){this.init=function(c,e){var f,g;if(e&&e.types&&e.types["default"])for(f in e.types)if("default"!==f&&f!==a.jstree.root&&e.types.hasOwnProperty(f))for(g in e.types["default"])e.types["default"].hasOwnProperty(g)&&e.types[f][g]===b&&(e.types[f][g]=e.types["default"][g]);d.init.call(this,c,e),this._model.data[a.jstree.root].type=a.jstree.root},this.refresh=function(b,c){d.refresh.call(this,b,c),this._model.data[a.jstree.root].type=a.jstree.root},this.bind=function(){this.element.on("model.jstree",a.proxy(function(c,d){var e,f,g,h=this._model.data,i=d.nodes,j=this.settings.types,k="default";for(e=0,f=i.length;e<f;e++){if(k="default",h[i[e]].original&&h[i[e]].original.type&&j[h[i[e]].original.type]&&(k=h[i[e]].original.type),h[i[e]].data&&h[i[e]].data.jstree&&h[i[e]].data.jstree.type&&j[h[i[e]].data.jstree.type]&&(k=h[i[e]].data.jstree.type),h[i[e]].type=k,h[i[e]].icon===!0&&j[k].icon!==b&&(h[i[e]].icon=j[k].icon),j[k].li_attr!==b&&"object"==typeof j[k].li_attr)for(g in j[k].li_attr)if(j[k].li_attr.hasOwnProperty(g)){if("id"===g)continue;h[i[e]].li_attr[g]===b?h[i[e]].li_attr[g]=j[k].li_attr[g]:"class"===g&&(h[i[e]].li_attr["class"]=j[k].li_attr["class"]+" "+h[i[e]].li_attr["class"])}if(j[k].a_attr!==b&&"object"==typeof j[k].a_attr)for(g in j[k].a_attr)if(j[k].a_attr.hasOwnProperty(g)){if("id"===g)continue;h[i[e]].a_attr[g]===b?h[i[e]].a_attr[g]=j[k].a_attr[g]:"href"===g&&"#"===h[i[e]].a_attr[g]?h[i[e]].a_attr.href=j[k].a_attr.href:"class"===g&&(h[i[e]].a_attr["class"]=j[k].a_attr["class"]+" "+h[i[e]].a_attr["class"])}}h[a.jstree.root].type=a.jstree.root},this)),d.bind.call(this)},this.get_json=function(b,c,e){var f,g,h=this._model.data,i=c?a.extend(!0,{},c,{no_id:!1}):{},j=d.get_json.call(this,b,i,e);if(j===!1)return!1;if(a.isArray(j))for(f=0,g=j.length;f<g;f++)j[f].type=j[f].id&&h[j[f].id]&&h[j[f].id].type?h[j[f].id].type:"default",c&&c.no_id&&(delete j[f].id,j[f].li_attr&&j[f].li_attr.id&&delete j[f].li_attr.id,j[f].a_attr&&j[f].a_attr.id&&delete j[f].a_attr.id);else j.type=j.id&&h[j.id]&&h[j.id].type?h[j.id].type:"default",c&&c.no_id&&(j=this._delete_ids(j));return j},this._delete_ids=function(b){if(a.isArray(b)){for(var c=0,d=b.length;c<d;c++)b[c]=this._delete_ids(b[c]);return b}return delete b.id,b.li_attr&&b.li_attr.id&&delete b.li_attr.id,b.a_attr&&b.a_attr.id&&delete b.a_attr.id,b.children&&a.isArray(b.children)&&(b.children=this._delete_ids(b.children)),b},this.check=function(c,e,f,g,h){if(d.check.call(this,c,e,f,g,h)===!1)return!1;e=e&&e.id?e:this.get_node(e),f=f&&f.id?f:this.get_node(f);var i,j,k,l,m=e&&e.id?h&&h.origin?h.origin:a.jstree.reference(e.id):null;switch(m=m&&m._model&&m._model.data?m._model.data:null,c){case"create_node":case"move_node":case"copy_node":if("move_node"!==c||a.inArray(e.id,f.children)===-1){if(i=this.get_rules(f),i.max_children!==b&&i.max_children!==-1&&i.max_children===f.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:!(!e||!e.id)&&e.id,par:!(!f||!f.id)&&f.id})},!1;if(i.valid_children!==b&&i.valid_children!==-1&&a.inArray(e.type||"default",i.valid_children)===-1)return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:!(!e||!e.id)&&e.id,par:!(!f||!f.id)&&f.id})},!1;if(m&&e.children_d&&e.parents){for(j=0,k=0,l=e.children_d.length;k<l;k++)j=Math.max(j,m[e.children_d[k]].parents.length);j=j-e.parents.length+1}(j<=0||j===b)&&(j=1);do{if(i.max_depth!==b&&i.max_depth!==-1&&i.max_depth<j)return this._data.core.last_error={error:"check",plugin:"types",id:"types_03",reason:"max_depth prevents function: "+c,data:JSON.stringify({chk:c,pos:g,obj:!(!e||!e.id)&&e.id,par:!(!f||!f.id)&&f.id})},!1;f=this.get_node(f.parent),i=this.get_rules(f),j++}while(f)}}return!0},this.get_rules=function(a){if(a=this.get_node(a),!a)return!1;var c=this.get_type(a,!0);return c.max_depth===b&&(c.max_depth=-1),c.max_children===b&&(c.max_children=-1),c.valid_children===b&&(c.valid_children=-1),c},this.get_type=function(b,c){return b=this.get_node(b),!!b&&(c?a.extend({type:b.type},this.settings.types[b.type]):b.type)},this.set_type=function(c,d){var e,f,g,h,i,j,k,l,m=this._model.data;if(a.isArray(c)){for(c=c.slice(),f=0,g=c.length;f<g;f++)this.set_type(c[f],d);return!0}if(e=this.settings.types,c=this.get_node(c),!e[d]||!c)return!1;if(k=this.get_node(c,!0),k&&k.length&&(l=k.children(".jstree-anchor")),h=c.type,i=this.get_icon(c),c.type=d,(i===!0||e[h]&&e[h].icon!==b&&i===e[h].icon)&&this.set_icon(c,e[d].icon===b||e[d].icon),e[h].li_attr!==b&&"object"==typeof e[h].li_attr)for(j in e[h].li_attr)if(e[h].li_attr.hasOwnProperty(j)){if("id"===j)continue;"class"===j?(m[c.id].li_attr["class"]=(m[c.id].li_attr["class"]||"").replace(e[h].li_attr[j],""),k&&k.removeClass(e[h].li_attr[j])):m[c.id].li_attr[j]===e[h].li_attr[j]&&(m[c.id].li_attr[j]=null,k&&k.removeAttr(j))}if(e[h].a_attr!==b&&"object"==typeof e[h].a_attr)for(j in e[h].a_attr)if(e[h].a_attr.hasOwnProperty(j)){if("id"===j)continue;"class"===j?(m[c.id].a_attr["class"]=(m[c.id].a_attr["class"]||"").replace(e[h].a_attr[j],""),l&&l.removeClass(e[h].a_attr[j])):m[c.id].a_attr[j]===e[h].a_attr[j]&&("href"===j?(m[c.id].a_attr[j]="#",l&&l.attr("href","#")):(delete m[c.id].a_attr[j],l&&l.removeAttr(j)))}if(e[d].li_attr!==b&&"object"==typeof e[d].li_attr)for(j in e[d].li_attr)if(e[d].li_attr.hasOwnProperty(j)){if("id"===j)continue;m[c.id].li_attr[j]===b?(m[c.id].li_attr[j]=e[d].li_attr[j],k&&("class"===j?k.addClass(e[d].li_attr[j]):k.attr(j,e[d].li_attr[j]))):"class"===j&&(m[c.id].li_attr["class"]=e[d].li_attr[j]+" "+m[c.id].li_attr["class"],k&&k.addClass(e[d].li_attr[j]))}if(e[d].a_attr!==b&&"object"==typeof e[d].a_attr)for(j in e[d].a_attr)if(e[d].a_attr.hasOwnProperty(j)){if("id"===j)continue;m[c.id].a_attr[j]===b?(m[c.id].a_attr[j]=e[d].a_attr[j],l&&("class"===j?l.addClass(e[d].a_attr[j]):l.attr(j,e[d].a_attr[j]))):"href"===j&&"#"===m[c.id].a_attr[j]?(m[c.id].a_attr.href=e[d].a_attr.href,l&&l.attr("href",e[d].a_attr.href)):"class"===j&&(m[c.id].a_attr["class"]=e[d].a_attr["class"]+" "+m[c.id].a_attr["class"],l&&l.addClass(e[d].a_attr[j]))}return!0}},a.jstree.defaults.unique={case_sensitive:!1,duplicate:function(a,b){return a+" ("+b+")"}},a.jstree.plugins.unique=function(c,d){this.check=function(b,c,e,f,g){if(d.check.call(this,b,c,e,f,g)===!1)return!1;if(c=c&&c.id?c:this.get_node(c),e=e&&e.id?e:this.get_node(e),!e||!e.children)return!0;var h,i,j="rename_node"===b?f:c.text,k=[],l=this.settings.unique.case_sensitive,m=this._model.data;for(h=0,i=e.children.length;h<i;h++)k.push(l?m[e.children[h]].text:m[e.children[h]].text.toLowerCase());switch(l||(j=j.toLowerCase()),b){case"delete_node":return!0;case"rename_node":return h=a.inArray(j,k)===-1||c.text&&c.text[l?"toString":"toLowerCase"]()===j,h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:!(!c||!c.id)&&c.id,par:!(!e||!e.id)&&e.id})}),h;case"create_node":return h=a.inArray(j,k)===-1,h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:!(!c||!c.id)&&c.id,par:!(!e||!e.id)&&e.id})}),h;case"copy_node":return h=a.inArray(j,k)===-1,h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:!(!c||!c.id)&&c.id,par:!(!e||!e.id)&&e.id})}),h;case"move_node":return h=c.parent===e.id&&(!g||!g.is_multi)||a.inArray(j,k)===-1,h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+j+" already exists. Preventing: "+b,data:JSON.stringify({chk:b,pos:f,obj:!(!c||!c.id)&&c.id,par:!(!e||!e.id)&&e.id})}),h}return!0},this.create_node=function(c,e,f,g,h){if(!e||e.text===b){if(null===c&&(c=a.jstree.root),c=this.get_node(c),!c)return d.create_node.call(this,c,e,f,g,h);if(f=f===b?"last":f,!f.toString().match(/^(before|after)$/)&&!h&&!this.is_loaded(c))return d.create_node.call(this,c,e,f,g,h);e||(e={});var i,j,k,l,m,n=this._model.data,o=this.settings.unique.case_sensitive,p=this.settings.unique.duplicate;for(j=i=this.get_string("New node"),k=[],l=0,m=c.children.length;l<m;l++)k.push(o?n[c.children[l]].text:n[c.children[l]].text.toLowerCase());for(l=1;a.inArray(o?j:j.toLowerCase(),k)!==-1;)j=p.call(this,i,++l).toString();e.text=j}return d.create_node.call(this,c,e,f,g,h)}};var q=k.createElement("DIV");if(q.setAttribute("unselectable","on"),q.setAttribute("role","presentation"),q.className="jstree-wholerow",q.innerHTML="&#160;",a.jstree.plugins.wholerow=function(b,c){this.bind=function(){c.bind.call(this),this.element.on("ready.jstree set_state.jstree",a.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",a.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",a.proxy(function(a,b){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var c,d,e=!1;for(c=0,d=b.selected.length;c<d;c++)e=this.get_node(b.selected[c],!0),e&&e.length&&e.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",a.proxy(function(a,b){this.get_node(b.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",a.proxy(function(a,b){"hover_node"===a.type&&this.is_disabled(b.node)||this.get_node(b.node,!0).children(".jstree-wholerow")["hover_node"===a.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",a.proxy(function(b){if(this._data.contextmenu){b.preventDefault();var c=a.Event("contextmenu",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey,pageX:b.pageX,pageY:b.pageY});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c)}},this)).on("click.jstree",".jstree-wholerow",function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",a.proxy(function(b){b.stopImmediatePropagation();var c=a.Event("click",{metaKey:b.metaKey,ctrlKey:b.ctrlKey,altKey:b.altKey,shiftKey:b.shiftKey});a(b.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(c).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",a.proxy(function(a){return a.stopImmediatePropagation(),this.is_disabled(a.currentTarget)||this.hover_node(a.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",a.proxy(function(a){this.dehover_node(a.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),c.teardown.call(this)},this.redraw_node=function(b,d,e,f){if(b=c.redraw_node.apply(this,arguments)){var g=q.cloneNode(!0);a.inArray(b.id,this._data.core.selected)!==-1&&(g.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===b.id&&(g.className+=" jstree-wholerow-hovered"),b.insertBefore(g,b.childNodes[0])}return b}},k.registerElement&&Object&&Object.create){var r=Object.create(HTMLElement.prototype);r.createdCallback=function(){var b,c={core:{},plugins:[]};for(b in a.jstree.plugins)a.jstree.plugins.hasOwnProperty(b)&&this.attributes[b]&&(c.plugins.push(b),this.getAttribute(b)&&JSON.parse(this.getAttribute(b))&&(c[b]=JSON.parse(this.getAttribute(b))));for(b in a.jstree.defaults.core)a.jstree.defaults.core.hasOwnProperty(b)&&this.attributes[b]&&(c.core[b]=JSON.parse(this.getAttribute(b))||this.getAttribute(b));a(this).jstree(c)};try{k.registerElement("vakata-jstree",{prototype:r})}catch(s){}}}}),function(){function a(a){var b=c;a&&(c[a]||(c[a]={}),b=c[a]),b.define&&b.define.packaged||(d.original=b.define,b.define=d,b.define.packaged=!0),b.require&&b.require.packaged||(f.original=b.require,b.require=f,b.require.packaged=!0)}var b="ace",c=function(){return this}();if(!c&&"undefined"!=typeof window&&(c=window),b||"undefined"==typeof requirejs){var d=function(a,b,c){return"string"!=typeof a?void(d.original?d.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace())):(2==arguments.length&&(c=b),void(d.modules[a]||(d.payloads[a]=c,d.modules[a]=null)))};d.modules={},d.payloads={};var e=function(a,b,c){if("string"==typeof b){var d=h(a,b);if(void 0!=d)return c&&c(),d}else if("[object Array]"===Object.prototype.toString.call(b)){for(var e=[],g=0,i=b.length;g<i;++g){var j=h(a,b[g]);if(void 0==j&&f.original)return;e.push(j)}return c&&c.apply(null,e)||!0}},f=function(a,b){var c=e("",a,b);return void 0==c&&f.original?f.original.apply(this,arguments):c},g=function(a,b){if(b.indexOf("!")!==-1){var c=b.split("!");return g(a,c[0])+"!"+g(a,c[1])}if("."==b.charAt(0)){var d=a.split("/").slice(0,-1).join("/");for(b=d+"/"+b;b.indexOf(".")!==-1&&e!=b;){var e=b;b=b.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return b},h=function(a,b){b=g(a,b);var c=d.modules[b];if(!c){if(c=d.payloads[b],"function"==typeof c){var f={},h={id:b,uri:"",exports:f,packaged:!0},i=function(a,c){return e(b,a,c)},j=c(i,f,h);f=j||h.exports,d.modules[b]=f,delete d.payloads[b]}c=d.modules[b]=f||c}return c};a(b)}}(),ace.define("ace/lib/regexp",["require","exports","module"],function(a,b,c){"use strict";function d(a){return(a.global?"g":"")+(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.extended?"x":"")+(a.sticky?"y":"")}function e(a,b,c){if(Array.prototype.indexOf)return a.indexOf(b,c);for(var d=c||0;d<a.length;d++)if(a[d]===b)return d;return-1}var f={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},g=void 0===f.exec.call(/()??/,"")[1],h=function(){var a=/^/g;return f.test.call(a,""),!a.lastIndex}();h&&g||(RegExp.prototype.exec=function(a){var b,c,i=f.exec.apply(this,arguments);if("string"==typeof a&&i){if(!g&&i.length>1&&e(i,"")>-1&&(c=RegExp(this.source,f.replace.call(d(this),"g","")),f.replace.call(a.slice(i.index),c,function(){for(var a=1;a<arguments.length-2;a++)void 0===arguments[a]&&(i[a]=void 0)})),this._xregexp&&this._xregexp.captureNames)for(var j=1;j<i.length;j++)b=this._xregexp.captureNames[j-1],b&&(i[b]=i[j]);!h&&this.global&&!i[0].length&&this.lastIndex>i.index&&this.lastIndex--}return i},h||(RegExp.prototype.test=function(a){var b=f.exec.call(this,a);return b&&this.global&&!b[0].length&&this.lastIndex>b.index&&this.lastIndex--,!!b}))}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(a,b,c){function d(){}function e(a){try{return Object.defineProperty(a,"sentinel",{}),"sentinel"in a}catch(b){}}function f(a){return a=+a,a!==a?a=0:0!==a&&a!==1/0&&a!==-1/0&&(a=(a>0||-1)*Math.floor(Math.abs(a))),a}Function.prototype.bind||(Function.prototype.bind=function(a){var b=this;if("function"!=typeof b)throw new TypeError("Function.prototype.bind called on incompatible "+b);var c=o.call(arguments,1),e=function(){if(this instanceof e){var d=b.apply(this,c.concat(o.call(arguments)));return Object(d)===d?d:this}return b.apply(a,c.concat(o.call(arguments)))};return b.prototype&&(d.prototype=b.prototype,e.prototype=new d,d.prototype=null),e});var g,h,i,j,k,l=Function.prototype.call,m=Array.prototype,n=Object.prototype,o=m.slice,p=l.bind(n.toString),q=l.bind(n.hasOwnProperty);if((k=q(n,"__defineGetter__"))&&(g=l.bind(n.__defineGetter__),h=l.bind(n.__defineSetter__),i=l.bind(n.__lookupGetter__),j=l.bind(n.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function a(a){var b=new Array(a+2);return b[0]=b[1]=0,b}var b,c=[];if(c.splice.apply(c,a(20)),c.splice.apply(c,a(26)),b=c.length,c.splice(5,0,"XXX"),b+1==c.length,b+1==c.length)return!0}()){var r=Array.prototype.splice;Array.prototype.splice=function(a,b){return arguments.length?r.apply(this,[void 0===a?0:a,void 0===b?this.length-a:b].concat(o.call(arguments,2))):[]}}else Array.prototype.splice=function(a,b){var c=this.length;a>0?a>c&&(a=c):void 0==a?a=0:a<0&&(a=Math.max(c+a,0)),a+b<c||(b=c-a);var d=this.slice(a,a+b),e=o.call(arguments,2),f=e.length;if(a===c)f&&this.push.apply(this,e);else{var g=Math.min(b,c-a),h=a+g,i=h+f-g,j=c-h,k=c-g;if(i<h)for(var l=0;l<j;++l)this[i+l]=this[h+l];else if(i>h)for(l=j;l--;)this[i+l]=this[h+l];if(f&&a===k)this.length=k,this.push.apply(this,e);else for(this.length=k+f,l=0;l<f;++l)this[a+l]=e[l]}return d};Array.isArray||(Array.isArray=function(a){return"[object Array]"==p(a)});var s=Object("a"),t="a"!=s[0]||!(0 in s);if(Array.prototype.forEach||(Array.prototype.forEach=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=arguments[1],e=-1,f=c.length>>>0;if("[object Function]"!=p(a))throw new TypeError;for(;++e<f;)e in c&&a.call(d,c[e],e,b)}),Array.prototype.map||(Array.prototype.map=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0,e=Array(d),f=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var g=0;g<d;g++)g in c&&(e[g]=a.call(f,c[g],g,b));return e}),Array.prototype.filter||(Array.prototype.filter=function(a){var b,c=K(this),d=t&&"[object String]"==p(this)?this.split(""):c,e=d.length>>>0,f=[],g=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var h=0;h<e;h++)h in d&&(b=d[h],a.call(g,b,h,c)&&f.push(b));return f}),Array.prototype.every||(Array.prototype.every=function(a){
+var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0,e=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var f=0;f<d;f++)if(f in c&&!a.call(e,c[f],f,b))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0,e=arguments[1];if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");for(var f=0;f<d;f++)if(f in c&&a.call(e,c[f],f,b))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0;if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");if(!d&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var e,f=0;if(arguments.length>=2)e=arguments[1];else for(;;){if(f in c){e=c[f++];break}if(++f>=d)throw new TypeError("reduce of empty array with no initial value")}for(;f<d;f++)f in c&&(e=a.call(void 0,e,c[f],f,b));return e}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(a){var b=K(this),c=t&&"[object String]"==p(this)?this.split(""):b,d=c.length>>>0;if("[object Function]"!=p(a))throw new TypeError(a+" is not a function");if(!d&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var e,f=d-1;if(arguments.length>=2)e=arguments[1];else for(;;){if(f in c){e=c[f--];break}if(--f<0)throw new TypeError("reduceRight of empty array with no initial value")}do f in this&&(e=a.call(void 0,e,c[f],f,b));while(f--);return e}),Array.prototype.indexOf&&[0,1].indexOf(1,2)==-1||(Array.prototype.indexOf=function(a){var b=t&&"[object String]"==p(this)?this.split(""):K(this),c=b.length>>>0;if(!c)return-1;var d=0;for(arguments.length>1&&(d=f(arguments[1])),d=d>=0?d:Math.max(0,c+d);d<c;d++)if(d in b&&b[d]===a)return d;return-1}),Array.prototype.lastIndexOf&&[0,1].lastIndexOf(0,-3)==-1||(Array.prototype.lastIndexOf=function(a){var b=t&&"[object String]"==p(this)?this.split(""):K(this),c=b.length>>>0;if(!c)return-1;var d=c-1;for(arguments.length>1&&(d=Math.min(d,f(arguments[1]))),d=d>=0?d:c-Math.abs(d);d>=0;d--)if(d in b&&a===b[d])return d;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(a){return a.__proto__||(a.constructor?a.constructor.prototype:n)}),!Object.getOwnPropertyDescriptor){var u="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(a,b){if("object"!=typeof a&&"function"!=typeof a||null===a)throw new TypeError(u+a);if(q(a,b)){var c,d,e;if(c={enumerable:!0,configurable:!0},k){var f=a.__proto__;a.__proto__=n;var d=i(a,b),e=j(a,b);if(a.__proto__=f,d||e)return d&&(c.get=d),e&&(c.set=e),c}return c.value=a[b],c}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(a){return Object.keys(a)}),!Object.create){var v;v=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var a={};for(var b in a)a[b]=null;return a.constructor=a.hasOwnProperty=a.propertyIsEnumerable=a.isPrototypeOf=a.toLocaleString=a.toString=a.valueOf=a.__proto__=null,a},Object.create=function(a,b){var c;if(null===a)c=v();else{if("object"!=typeof a)throw new TypeError("typeof prototype["+typeof a+"] != 'object'");var d=function(){};d.prototype=a,c=new d,c.__proto__=a}return void 0!==b&&Object.defineProperties(c,b),c}}if(Object.defineProperty){var w=e({}),x="undefined"==typeof document||e(document.createElement("div"));if(!w||!x)var y=Object.defineProperty}if(!Object.defineProperty||y){var z="Property description must be an object: ",A="Object.defineProperty called on non-object: ",B="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(a,b,c){if("object"!=typeof a&&"function"!=typeof a||null===a)throw new TypeError(A+a);if("object"!=typeof c&&"function"!=typeof c||null===c)throw new TypeError(z+c);if(y)try{return y.call(Object,a,b,c)}catch(d){}if(q(c,"value"))if(k&&(i(a,b)||j(a,b))){var e=a.__proto__;a.__proto__=n,delete a[b],a[b]=c.value,a.__proto__=e}else a[b]=c.value;else{if(!k)throw new TypeError(B);q(c,"get")&&g(a,b,c.get),q(c,"set")&&h(a,b,c.set)}return a}}Object.defineProperties||(Object.defineProperties=function(a,b){for(var c in b)q(b,c)&&Object.defineProperty(a,c,b[c]);return a}),Object.seal||(Object.seal=function(a){return a}),Object.freeze||(Object.freeze=function(a){return a});try{Object.freeze(function(){})}catch(C){Object.freeze=function(a){return function(b){return"function"==typeof b?b:a(b)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(a){return a}),Object.isSealed||(Object.isSealed=function(a){return!1}),Object.isFrozen||(Object.isFrozen=function(a){return!1}),Object.isExtensible||(Object.isExtensible=function(a){if(Object(a)===a)throw new TypeError;for(var b="";q(a,b);)b+="?";a[b]=!0;var c=q(a,b);return delete a[b],c}),!Object.keys){var D=!0,E=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],F=E.length;for(var G in{toString:null})D=!1;Object.keys=function L(a){if("object"!=typeof a&&"function"!=typeof a||null===a)throw new TypeError("Object.keys called on a non-object");var L=[];for(var b in a)q(a,b)&&L.push(b);if(D)for(var c=0,d=F;c<d;c++){var e=E[c];q(a,e)&&L.push(e)}return L}}Date.now||(Date.now=function(){return(new Date).getTime()});var H="\t\n\x0B\f\r   ᠎             　\u2028\u2029\ufeff";if(!String.prototype.trim||H.trim()){H="["+H+"]";var I=new RegExp("^"+H+H+"*"),J=new RegExp(H+H+"*$");String.prototype.trim=function(){return String(this).replace(I,"").replace(J,"")}}var K=function(a){if(null==a)throw new TypeError("can't convert "+a+" to object");return Object(a)}}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(a,b,c){"use strict";a("./regexp"),a("./es5-shim")}),ace.define("ace/lib/dom",["require","exports","module"],function(a,b,c){"use strict";var d="http://www.w3.org/1999/xhtml";return b.getDocumentHead=function(a){return a||(a=document),a.head||a.getElementsByTagName("head")[0]||a.documentElement},b.createElement=function(a,b){return document.createElementNS?document.createElementNS(b||d,a):document.createElement(a)},b.hasCssClass=function(a,b){var c=(a.className+"").split(/\s+/g);return c.indexOf(b)!==-1},b.addCssClass=function(a,c){b.hasCssClass(a,c)||(a.className+=" "+c)},b.removeCssClass=function(a,b){for(var c=a.className.split(/\s+/g);;){var d=c.indexOf(b);if(d==-1)break;c.splice(d,1)}a.className=c.join(" ")},b.toggleCssClass=function(a,b){for(var c=a.className.split(/\s+/g),d=!0;;){var e=c.indexOf(b);if(e==-1)break;d=!1,c.splice(e,1)}return d&&c.push(b),a.className=c.join(" "),d},b.setCssClass=function(a,c,d){d?b.addCssClass(a,c):b.removeCssClass(a,c)},b.hasCssString=function(a,b){var c,d=0;if(b=b||document,b.createStyleSheet&&(c=b.styleSheets)){for(;d<c.length;)if(c[d++].owningElement.id===a)return!0}else if(c=b.getElementsByTagName("style"))for(;d<c.length;)if(c[d++].id===a)return!0;return!1},b.importCssString=function(a,c,d){if(d=d||document,c&&b.hasCssString(c,d))return null;var e;c&&(a+="\n/*# sourceURL=ace/css/"+c+" */"),d.createStyleSheet?(e=d.createStyleSheet(),e.cssText=a,c&&(e.owningElement.id=c)):(e=b.createElement("style"),e.appendChild(d.createTextNode(a)),c&&(e.id=c),b.getDocumentHead(d).appendChild(e))},b.importCssStylsheet=function(a,c){if(c.createStyleSheet)c.createStyleSheet(a);else{var d=b.createElement("link");d.rel="stylesheet",d.href=a,b.getDocumentHead(c).appendChild(d)}},b.getInnerWidth=function(a){return parseInt(b.computedStyle(a,"paddingLeft"),10)+parseInt(b.computedStyle(a,"paddingRight"),10)+a.clientWidth},b.getInnerHeight=function(a){return parseInt(b.computedStyle(a,"paddingTop"),10)+parseInt(b.computedStyle(a,"paddingBottom"),10)+a.clientHeight},b.scrollbarWidth=function(a){var c=b.createElement("ace_inner");c.style.width="100%",c.style.minWidth="0px",c.style.height="200px",c.style.display="block";var d=b.createElement("ace_outer"),e=d.style;e.position="absolute",e.left="-10000px",e.overflow="hidden",e.width="200px",e.minWidth="0px",e.height="150px",e.display="block",d.appendChild(c);var f=a.documentElement;f.appendChild(d);var g=c.offsetWidth;e.overflow="scroll";var h=c.offsetWidth;return g==h&&(h=d.clientWidth),f.removeChild(d),g-h},"undefined"==typeof document?void(b.importCssString=function(){}):(void 0!==window.pageYOffset?(b.getPageScrollTop=function(){return window.pageYOffset},b.getPageScrollLeft=function(){return window.pageXOffset}):(b.getPageScrollTop=function(){return document.body.scrollTop},b.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?b.computedStyle=function(a,b){return b?(window.getComputedStyle(a,"")||{})[b]||"":window.getComputedStyle(a,"")||{}}:b.computedStyle=function(a,b){return b?a.currentStyle[b]:a.currentStyle},b.setInnerHtml=function(a,b){var c=a.cloneNode(!1);return c.innerHTML=b,a.parentNode.replaceChild(c,a),c},"textContent"in document.documentElement?(b.setInnerText=function(a,b){a.textContent=b},b.getInnerText=function(a){return a.textContent}):(b.setInnerText=function(a,b){a.innerText=b},b.getInnerText=function(a){return a.innerText}),b.getParentWindow=function(a){return a.defaultView||a.parentWindow},void 0)}),ace.define("ace/lib/oop",["require","exports","module"],function(a,b,c){"use strict";b.inherits=function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})},b.mixin=function(a,b){for(var c in b)a[c]=b[c];return a},b.implement=function(a,c){b.mixin(a,c)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"],function(a,b,c){"use strict";a("./fixoldbrowsers");var d=a("./oop"),e=function(){var a,b,c={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,"super":8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}};for(b in c.FUNCTION_KEYS)a=c.FUNCTION_KEYS[b].toLowerCase(),c[a]=parseInt(b,10);for(b in c.PRINTABLE_KEYS)a=c.PRINTABLE_KEYS[b].toLowerCase(),c[a]=parseInt(b,10);return d.mixin(c,c.MODIFIER_KEYS),d.mixin(c,c.PRINTABLE_KEYS),d.mixin(c,c.FUNCTION_KEYS),c.enter=c["return"],c.escape=c.esc,c.del=c["delete"],c[173]="-",function(){for(var a=["cmd","ctrl","alt","shift"],b=Math.pow(2,a.length);b--;)c.KEY_MODS[b]=a.filter(function(a){return b&c.KEY_MODS[a]}).join("-")+"-"}(),c.KEY_MODS[0]="",c.KEY_MODS[-1]="input-",c}();d.mixin(b,e),b.keyCodeToString=function(a){var b=e[a];return"string"!=typeof b&&(b=String.fromCharCode(a)),b.toLowerCase()}}),ace.define("ace/lib/useragent",["require","exports","module"],function(a,b,c){"use strict";if(b.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},b.getOS=function(){return b.isMac?b.OS.MAC:b.isLinux?b.OS.LINUX:b.OS.WINDOWS},"object"==typeof navigator){var d=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),e=navigator.userAgent;b.isWin="win"==d,b.isMac="mac"==d,b.isLinux="linux"==d,b.isIE="Microsoft Internet Explorer"==navigator.appName||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((e.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((e.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),b.isOldIE=b.isIE&&b.isIE<9,b.isGecko=b.isMozilla=(window.Controllers||window.controllers)&&"Gecko"===window.navigator.product,b.isOldGecko=b.isGecko&&parseInt((e.match(/rv:(\d+)/)||[])[1],10)<4,b.isOpera=window.opera&&"[object Opera]"==Object.prototype.toString.call(window.opera),b.isWebKit=parseFloat(e.split("WebKit/")[1])||void 0,b.isChrome=parseFloat(e.split(" Chrome/")[1])||void 0,b.isAIR=e.indexOf("AdobeAIR")>=0,b.isIPad=e.indexOf("iPad")>=0,b.isTouchPad=e.indexOf("TouchPad")>=0,b.isChromeOS=e.indexOf(" CrOS ")>=0}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(a,b,c){"use strict";function d(a,b,c){var d=j(b);if(!g.isMac&&h){if(b.getModifierState&&(b.getModifierState("OS")||b.getModifierState("Win"))&&(d|=8),h.altGr){if(3==(3&d))return;h.altGr=0}if(18===c||17===c){var e="location"in b?b.location:b.keyLocation;if(17===c&&1===e)1==h[c]&&(i=b.timeStamp);else if(18===c&&3===d&&2===e){var k=b.timeStamp-i;k<50&&(h.altGr=!0)}}}if(c in f.MODIFIER_KEYS&&(c=-1),8&d&&c>=91&&c<=93&&(c=-1),!d&&13===c){var e="location"in b?b.location:b.keyLocation;if(3===e&&(a(b,d,-c),b.defaultPrevented))return}if(g.isChromeOS&&8&d){if(a(b,d,c),b.defaultPrevented)return;d&=-9}return!!(d||c in f.FUNCTION_KEYS||c in f.PRINTABLE_KEYS)&&a(b,d,c)}function e(){h=Object.create(null)}var f=a("./keys"),g=a("./useragent"),h=null,i=0;b.addListener=function(a,b,c){if(a.addEventListener)return a.addEventListener(b,c,!1);if(a.attachEvent){var d=function(){c.call(a,window.event)};c._wrapper=d,a.attachEvent("on"+b,d)}},b.removeListener=function(a,b,c){return a.removeEventListener?a.removeEventListener(b,c,!1):void(a.detachEvent&&a.detachEvent("on"+b,c._wrapper||c))},b.stopEvent=function(a){return b.stopPropagation(a),b.preventDefault(a),!1},b.stopPropagation=function(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},b.preventDefault=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},b.getButton=function(a){return"dblclick"==a.type?0:"contextmenu"==a.type||g.isMac&&a.ctrlKey&&!a.altKey&&!a.shiftKey?2:a.preventDefault?a.button:{1:0,2:2,4:1}[a.button]},b.capture=function(a,c,d){function e(a){c&&c(a),d&&d(a),b.removeListener(document,"mousemove",c,!0),b.removeListener(document,"mouseup",e,!0),b.removeListener(document,"dragstart",e,!0)}return b.addListener(document,"mousemove",c,!0),b.addListener(document,"mouseup",e,!0),b.addListener(document,"dragstart",e,!0),e},b.addTouchMoveListener=function(a,c){if("ontouchmove"in a){var d,e;b.addListener(a,"touchstart",function(a){var b=a.changedTouches[0];d=b.clientX,e=b.clientY}),b.addListener(a,"touchmove",function(a){var b=1,f=a.changedTouches[0];a.wheelX=-(f.clientX-d)/b,a.wheelY=-(f.clientY-e)/b,d=f.clientX,e=f.clientY,c(a)})}},b.addMouseWheelListener=function(a,c){"onmousewheel"in a?b.addListener(a,"mousewheel",function(a){var b=8;void 0!==a.wheelDeltaX?(a.wheelX=-a.wheelDeltaX/b,a.wheelY=-a.wheelDeltaY/b):(a.wheelX=0,a.wheelY=-a.wheelDelta/b),c(a)}):"onwheel"in a?b.addListener(a,"wheel",function(a){var b=.35;switch(a.deltaMode){case a.DOM_DELTA_PIXEL:a.wheelX=a.deltaX*b||0,a.wheelY=a.deltaY*b||0;break;case a.DOM_DELTA_LINE:case a.DOM_DELTA_PAGE:a.wheelX=5*(a.deltaX||0),a.wheelY=5*(a.deltaY||0)}c(a)}):b.addListener(a,"DOMMouseScroll",function(a){a.axis&&a.axis==a.HORIZONTAL_AXIS?(a.wheelX=5*(a.detail||0),a.wheelY=0):(a.wheelX=0,a.wheelY=5*(a.detail||0)),c(a)})},b.addMultiMouseDownListener=function(a,c,d,e){function f(a){if(0!==b.getButton(a)?l=0:a.detail>1?(l++,l>4&&(l=1)):l=1,g.isIE){var f=Math.abs(a.clientX-i)>5||Math.abs(a.clientY-j)>5;k&&!f||(l=1),k&&clearTimeout(k),k=setTimeout(function(){k=null},c[l-1]||600),1==l&&(i=a.clientX,j=a.clientY)}if(a._clicks=l,d[e]("mousedown",a),l>4)l=0;else if(l>1)return d[e](m[l],a)}function h(a){l=2,k&&clearTimeout(k),k=setTimeout(function(){k=null},c[l-1]||600),d[e]("mousedown",a),d[e](m[l],a)}var i,j,k,l=0,m={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(a)||(a=[a]),a.forEach(function(a){b.addListener(a,"mousedown",f),g.isOldIE&&b.addListener(a,"dblclick",h)})};var j=!g.isMac||!g.isOpera||"KeyboardEvent"in window?function(a){return 0|(a.ctrlKey?1:0)|(a.altKey?2:0)|(a.shiftKey?4:0)|(a.metaKey?8:0)}:function(a){return 0|(a.metaKey?1:0)|(a.altKey?2:0)|(a.shiftKey?4:0)|(a.ctrlKey?8:0)};if(b.getModifierString=function(a){return f.KEY_MODS[j(a)]},b.addCommandKeyListener=function(a,c){var f=b.addListener;if(g.isOldGecko||g.isOpera&&!("KeyboardEvent"in window)){var i=null;f(a,"keydown",function(a){i=a.keyCode}),f(a,"keypress",function(a){return d(c,a,i)})}else{var j=null;f(a,"keydown",function(a){h[a.keyCode]=(h[a.keyCode]||0)+1;var b=d(c,a,a.keyCode);return j=a.defaultPrevented,b}),f(a,"keypress",function(a){j&&(a.ctrlKey||a.altKey||a.shiftKey||a.metaKey)&&(b.stopEvent(a),j=null)}),f(a,"keyup",function(a){h[a.keyCode]=null}),h||(e(),f(window,"focus",e))}},"object"==typeof window&&window.postMessage&&!g.isOldIE){var k=1;b.nextTick=function(a,c){c=c||window;var d="zero-timeout-message-"+k;b.addListener(c,"message",function e(f){f.data==d&&(b.stopPropagation(f),b.removeListener(c,"message",e),a())}),c.postMessage(d,"*")}}b.nextFrame="object"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),b.nextFrame?b.nextFrame=b.nextFrame.bind(window):b.nextFrame=function(a){setTimeout(a,17)}}),ace.define("ace/lib/lang",["require","exports","module"],function(a,b,c){"use strict";b.last=function(a){return a[a.length-1]},b.stringReverse=function(a){return a.split("").reverse().join("")},b.stringRepeat=function(a,b){for(var c="";b>0;)1&b&&(c+=a),(b>>=1)&&(a+=a);return c};var d=/^\s\s*/,e=/\s\s*$/;b.stringTrimLeft=function(a){return a.replace(d,"")},b.stringTrimRight=function(a){return a.replace(e,"")},b.copyObject=function(a){var b={};for(var c in a)b[c]=a[c];return b},b.copyArray=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&"object"==typeof a[c]?b[c]=this.copyObject(a[c]):b[c]=a[c];return b},b.deepCopy=function f(a){if("object"!=typeof a||!a)return a;var b;if(Array.isArray(a)){b=[];for(var c=0;c<a.length;c++)b[c]=f(a[c]);return b}if("[object Object]"!==Object.prototype.toString.call(a))return a;b={};for(var c in a)b[c]=f(a[c]);return b},b.arrayToMap=function(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=1;return b},b.createMap=function(a){var b=Object.create(null);for(var c in a)b[c]=a[c];return b},b.arrayRemove=function(a,b){for(var c=0;c<=a.length;c++)b===a[c]&&a.splice(c,1)},b.escapeRegExp=function(a){return a.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},b.escapeHTML=function(a){return a.replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},b.getMatchOffsets=function(a,b){var c=[];return a.replace(b,function(a){c.push({offset:arguments[arguments.length-2],length:a.length})}),c},b.deferredCall=function(a){var b=null,c=function(){b=null,a()},d=function(a){return d.cancel(),b=setTimeout(c,a||0),d};return d.schedule=d,d.call=function(){return this.cancel(),a(),d},d.cancel=function(){return clearTimeout(b),b=null,d},d.isPending=function(){return b},d},b.delayedCall=function(a,b){var c=null,d=function(){c=null,a()},e=function(a){null==c&&(c=setTimeout(d,a||b))};return e.delay=function(a){c&&clearTimeout(c),c=setTimeout(d,a||b)},e.schedule=e,e.call=function(){this.cancel(),a()},e.cancel=function(){c&&clearTimeout(c),c=null},e.isPending=function(){return c},e}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"],function(a,b,c){"use strict";var d=a("../lib/event"),e=a("../lib/useragent"),f=a("../lib/dom"),g=a("../lib/lang"),h=e.isChrome<18,i=e.isIE,j=function(a,b){function c(a){if(!p){if(p=!0,C)b=0,c=a?0:l.value.length-1;else var b=a?2:1,c=2;try{l.setSelectionRange(b,c)}catch(d){}p=!1}}function j(){p||(l.value=m,e.isWebKit&&v.schedule())}function k(){clearTimeout(P),P=setTimeout(function(){q&&(l.style.cssText=q,q=""),null==b.renderer.$keepTextAreaAtCursor&&(b.renderer.$keepTextAreaAtCursor=!0,b.renderer.$moveTextAreaToCursor())},e.isOldIE?200:0)}var l=f.createElement("textarea");l.className="ace_text-input",e.isTouchPad&&l.setAttribute("x-palm-disable-auto-cap",!0),l.setAttribute("wrap","off"),l.setAttribute("autocorrect","off"),l.setAttribute("autocapitalize","off"),l.setAttribute("spellcheck",!1),l.style.opacity="0",e.isOldIE&&(l.style.top="-1000px"),a.insertBefore(l,a.firstChild);var m="",n=!1,o=!1,p=!1,q="",r=!0;try{var s=document.activeElement===l}catch(t){}d.addListener(l,"blur",function(a){b.onBlur(a),s=!1}),d.addListener(l,"focus",function(a){s=!0,b.onFocus(a),c()}),this.focus=function(){if(q)return l.focus();var a=l.style.top;l.style.position="fixed",l.style.top="0px",l.focus(),setTimeout(function(){l.style.position="","0px"==l.style.top&&(l.style.top=a)},0)},this.blur=function(){l.blur()},this.isFocused=function(){return s};var u=g.delayedCall(function(){s&&c(r)}),v=g.delayedCall(function(){p||(l.value=m,s&&c())});e.isWebKit||b.addEventListener("changeSelection",function(){b.selection.isEmpty()!=r&&(r=!r,u.schedule())}),j(),s&&b.onFocus();var w=function(a){return 0===a.selectionStart&&a.selectionEnd===a.value.length};if(!l.setSelectionRange&&l.createTextRange&&(l.setSelectionRange=function(a,b){var c=this.createTextRange();c.collapse(!0),c.moveStart("character",a),c.moveEnd("character",b),c.select()},w=function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return!(!b||b.parentElement()!=a)&&b.text==a.value}),e.isOldIE){var x=!1,y=function(a){if(!x){var b=l.value;if(!p&&b&&b!=m)return a&&b==m[0]?z.schedule():(E(b),x=!0,j(),x=!1,void 0)}},z=g.delayedCall(y);d.addListener(l,"propertychange",y);var A={13:1,27:1};d.addListener(l,"keyup",function(a){return p&&(!l.value||A[a.keyCode])&&setTimeout(N,0),(l.value.charCodeAt(0)||0)<129?z.call():void(p?M():L())}),d.addListener(l,"keydown",function(a){z.schedule(50)})}var B=function(a){n?n=!1:w(l)?(b.selectAll(),c()):C&&c(b.selection.isEmpty())},C=null;this.setInputHandler=function(a){C=a},this.getInputHandler=function(){return C};var D=!1,E=function(a){C&&(a=C(a),C=null),o?(c(),a&&b.onPaste(a),o=!1):a==m.charAt(0)?D?b.execCommand("del",{source:"ace"}):b.execCommand("backspace",{source:"ace"}):(a.substring(0,2)==m?a=a.substr(2):a.charAt(0)==m.charAt(0)?a=a.substr(1):a.charAt(a.length-1)==m.charAt(0)&&(a=a.slice(0,-1)),a.charAt(a.length-1)==m.charAt(0)&&(a=a.slice(0,-1)),a&&b.onTextInput(a)),D&&(D=!1)},F=function(a){if(!p){var b=l.value;E(b),j()}},G=function(a,b,c){var d=a.clipboardData||window.clipboardData;if(d&&!h){var e=i||c?"Text":"text/plain";try{return b?d.setData(e,b)!==!1:d.getData(e)}catch(a){if(!c)return G(a,b,!0)}}},H=function(a,e){var f=b.getCopyText();return f?void(G(a,f)?(e?b.onCut():b.onCopy(),d.preventDefault(a)):(n=!0,l.value=f,l.select(),setTimeout(function(){n=!1,j(),c(),e?b.onCut():b.onCopy()}))):d.preventDefault(a)},I=function(a){H(a,!0)},J=function(a){H(a,!1)},K=function(a){var f=G(a);"string"==typeof f?(f&&b.onPaste(f,a),e.isIE&&setTimeout(c),d.preventDefault(a)):(l.value="",o=!0)};d.addCommandKeyListener(l,b.onCommandKey.bind(b)),d.addListener(l,"select",B),d.addListener(l,"input",F),d.addListener(l,"cut",I),d.addListener(l,"copy",J),d.addListener(l,"paste",K),(!("oncut"in l)||!("oncopy"in l)||!("onpaste"in l))&&d.addListener(a,"keydown",function(a){if((!e.isMac||a.metaKey)&&a.ctrlKey)switch(a.keyCode){case 67:J(a);break;case 86:K(a);break;case 88:I(a)}});var L=function(a){p||!b.onCompositionStart||b.$readOnly||(p={},p.canUndo=b.session.$undoManager,b.onCompositionStart(),setTimeout(M,0),b.on("mousedown",N),p.canUndo&&!b.selection.isEmpty()&&(b.insert(""),b.session.markUndoGroup(),b.selection.clearSelection()),b.session.markUndoGroup())},M=function(){if(p&&b.onCompositionUpdate&&!b.$readOnly){var a=l.value.replace(/\x01/g,"");if(p.lastValue!==a&&(b.onCompositionUpdate(a),p.lastValue&&b.undo(),p.canUndo&&(p.lastValue=a),p.lastValue)){var c=b.selection.getRange();b.insert(p.lastValue),b.session.markUndoGroup(),p.range=b.selection.getRange(),b.selection.setRange(c),b.selection.clearSelection()}}},N=function(a){if(b.onCompositionEnd&&!b.$readOnly){var c=p;p=!1;var d=setTimeout(function(){d=null;var a=l.value.replace(/\x01/g,"");p||(a==c.lastValue?j():!c.lastValue&&a&&(j(),E(a)))});C=function(a){return d&&clearTimeout(d),a=a.replace(/\x01/g,""),a==c.lastValue?"":(c.lastValue&&d&&b.undo(),a)},b.onCompositionEnd(),b.removeListener("mousedown",N),"compositionend"==a.type&&c.range&&b.selection.setRange(c.range)}},O=g.delayedCall(M,50);d.addListener(l,"compositionstart",L),e.isGecko?d.addListener(l,"text",function(){O.schedule()}):(d.addListener(l,"keyup",function(){O.schedule()}),d.addListener(l,"keydown",function(){O.schedule()})),d.addListener(l,"compositionend",N),this.getElement=function(){return l},this.setReadOnly=function(a){l.readOnly=a},this.onContextMenu=function(a){D=!0,c(b.selection.isEmpty()),b._emit("nativecontextmenu",{target:b,domEvent:a}),this.moveToMouse(a,!0)},this.moveToMouse=function(a,c){if(c||!e.isOldIE){q||(q=l.style.cssText),l.style.cssText=(c?"z-index:100000;":"")+"height:"+l.style.height+";"+(e.isIE?"opacity:0.1;":"");var g=b.container.getBoundingClientRect(),h=f.computedStyle(b.container),i=g.top+(parseInt(h.borderTopWidth)||0),j=g.left+(parseInt(g.borderLeftWidth)||0),m=g.bottom-i-l.clientHeight-2,n=function(a){l.style.left=a.clientX-j-2+"px",l.style.top=Math.min(a.clientY-i-2,m)+"px"};n(a),"mousedown"==a.type&&(b.renderer.$keepTextAreaAtCursor&&(b.renderer.$keepTextAreaAtCursor=null),clearTimeout(P),e.isWin&&!e.isOldIE&&d.capture(b.container,n,k))}},this.onContextMenuClose=k;var P,Q=function(a){b.textInput.onContextMenu(a),k()};d.addListener(l,"mouseup",Q),d.addListener(l,"mousedown",function(a){a.preventDefault(),k()}),d.addListener(b.renderer.scroller,"contextmenu",Q),d.addListener(l,"contextmenu",Q)};b.TextInput=j}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(a,b,c){"use strict";function d(a){a.$clickSelection=null;var b=a.editor;b.setDefaultHandler("mousedown",this.onMouseDown.bind(a)),b.setDefaultHandler("dblclick",this.onDoubleClick.bind(a)),b.setDefaultHandler("tripleclick",this.onTripleClick.bind(a)),b.setDefaultHandler("quadclick",this.onQuadClick.bind(a)),b.setDefaultHandler("mousewheel",this.onMouseWheel.bind(a)),b.setDefaultHandler("touchmove",this.onTouchMove.bind(a));var c=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];c.forEach(function(b){a[b]=this[b]},this),a.selectByLines=this.extendSelectionBy.bind(a,"getLineRange"),a.selectByWords=this.extendSelectionBy.bind(a,"getWordRange")}function e(a,b,c,d){return Math.sqrt(Math.pow(c-a,2)+Math.pow(d-b,2))}function f(a,b){if(a.start.row==a.end.row)var c=2*b.column-a.start.column-a.end.column;else if(a.start.row!=a.end.row-1||a.start.column||a.end.column)var c=2*b.row-a.start.row-a.end.row;else var c=b.column-4;return c<0?{cursor:a.start,anchor:a.end}:{cursor:a.end,anchor:a.start}}var g=(a("../lib/dom"),a("../lib/event"),a("../lib/useragent"),0);(function(){this.onMouseDown=function(a){var b=a.inSelection(),c=a.getDocumentPosition();this.mousedownEvent=a;var d=this.editor,e=a.getButton();if(0!==e){var f=d.getSelectionRange(),g=f.isEmpty();return d.$blockScrolling++,(g||1==e)&&d.selection.moveToPosition(c),d.$blockScrolling--,2==e&&d.textInput.onContextMenu(a.domEvent),void 0}return this.mousedownEvent.time=Date.now(),!b||d.isFocused()||(d.focus(),!this.$focusTimout||this.$clickSelection||d.inMultiSelectMode)?(this.captureMouse(a),this.startSelect(c,a.domEvent._clicks>1),a.preventDefault()):(this.setState("focusWait"),void this.captureMouse(a))},this.startSelect=function(a,b){a=a||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var c=this.editor;c.$blockScrolling++,this.mousedownEvent.getShiftKey()?c.selection.selectToPosition(a):b||c.selection.moveToPosition(a),b||this.select(),c.renderer.scroller.setCapture&&c.renderer.scroller.setCapture(),c.setStyle("ace_selecting"),this.setState("select"),c.$blockScrolling--},this.select=function(){var a,b=this.editor,c=b.renderer.screenToTextCoordinates(this.x,this.y);if(b.$blockScrolling++,this.$clickSelection){var d=this.$clickSelection.comparePoint(c);if(d==-1)a=this.$clickSelection.end;else if(1==d)a=this.$clickSelection.start;else{var e=f(this.$clickSelection,c);c=e.cursor,a=e.anchor}b.selection.setSelectionAnchor(a.row,a.column)}b.selection.selectToPosition(c),b.$blockScrolling--,b.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(a){var b,c=this.editor,d=c.renderer.screenToTextCoordinates(this.x,this.y),e=c.selection[a](d.row,d.column);if(c.$blockScrolling++,this.$clickSelection){var g=this.$clickSelection.comparePoint(e.start),h=this.$clickSelection.comparePoint(e.end);if(g==-1&&h<=0)b=this.$clickSelection.end,e.end.row==d.row&&e.end.column==d.column||(d=e.start);else if(1==h&&g>=0)b=this.$clickSelection.start,e.start.row==d.row&&e.start.column==d.column||(d=e.end);else if(g==-1&&1==h)d=e.end,b=e.start;else{var i=f(this.$clickSelection,d);d=i.cursor,b=i.anchor}c.selection.setSelectionAnchor(b.row,b.column)}c.selection.selectToPosition(d),c.$blockScrolling--,c.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var a=e(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),b=Date.now();(a>g||b-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(a){var b=a.getDocumentPosition(),c=this.editor,d=c.session,e=d.getBracketRange(b);e?(e.isEmpty()&&(e.start.column--,e.end.column++),this.setState("select")):(e=c.selection.getWordRange(b.row,b.column),this.setState("selectByWords")),this.$clickSelection=e,this.select()},this.onTripleClick=function(a){var b=a.getDocumentPosition(),c=this.editor;this.setState("selectByLines");var d=c.getSelectionRange();d.isMultiLine()&&d.contains(b.row,b.column)?(this.$clickSelection=c.selection.getLineRange(d.start.row),this.$clickSelection.end=c.selection.getLineRange(d.end.row).end):this.$clickSelection=c.selection.getLineRange(b.row),this.select()},this.onQuadClick=function(a){var b=this.editor;b.selectAll(),this.$clickSelection=b.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(a){if(!a.getAccelKey()){a.getShiftKey()&&a.wheelY&&!a.wheelX&&(a.wheelX=a.wheelY,a.wheelY=0);var b=a.domEvent.timeStamp,c=b-(this.$lastScrollTime||0),d=this.editor,e=d.renderer.isScrollableBy(a.wheelX*a.speed,a.wheelY*a.speed);return e||c<200?(this.$lastScrollTime=b,d.renderer.scrollBy(a.wheelX*a.speed,a.wheelY*a.speed),a.stop()):void 0}},this.onTouchMove=function(a){var b=a.domEvent.timeStamp,c=b-(this.$lastScrollTime||0),d=this.editor,e=d.renderer.isScrollableBy(a.wheelX*a.speed,a.wheelY*a.speed);if(e||c<200)return this.$lastScrollTime=b,d.renderer.scrollBy(a.wheelX*a.speed,a.wheelY*a.speed),a.stop()}}).call(d.prototype),b.DefaultHandlers=d}),ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(a,b,c){"use strict";function d(a){this.isOpen=!1,this.$element=null,this.$parentNode=a}var e=(a("./lib/oop"),a("./lib/dom"));(function(){this.$init=function(){return this.$element=e.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){
+return this.$element||this.$init()},this.setText=function(a){e.setInnerText(this.getElement(),a)},this.setHtml=function(a){this.getElement().innerHTML=a},this.setPosition=function(a,b){this.getElement().style.left=a+"px",this.getElement().style.top=b+"px"},this.setClassName=function(a){e.addCssClass(this.getElement(),a)},this.show=function(a,b,c){null!=a&&this.setText(a),null!=b&&null!=c&&this.setPosition(b,c),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth}}).call(d.prototype),b.Tooltip=d}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(a,b,c){"use strict";function d(a){function b(){var b=l.getDocumentPosition().row,e=i.$annotations[b];if(!e)return c();var f=g.session.getLength();if(b==f){var h=g.renderer.pixelToScreenCoordinates(0,l.y).row,k=l.$pos;if(h>g.session.documentToScreenRow(k.row,k.column))return c()}if(m!=e)if(m=e.text.join("<br/>"),j.setHtml(m),j.show(),g._signal("showGutterTooltip",j),g.on("mousewheel",c),a.$tooltipFollowsMouse)d(l);else{var n=l.domEvent.target,o=n.getBoundingClientRect(),p=j.getElement().style;p.left=o.right+"px",p.top=o.bottom+"px"}}function c(){k&&(k=clearTimeout(k)),m&&(j.hide(),m=null,g._signal("hideGutterTooltip",j),g.removeEventListener("mousewheel",c))}function d(a){j.setPosition(a.x,a.y)}var g=a.editor,i=g.renderer.$gutterLayer,j=new e(g.container);a.editor.setDefaultHandler("guttermousedown",function(b){if(g.isFocused()&&0==b.getButton()){var c=i.getRegion(b);if("foldWidgets"!=c){var d=b.getDocumentPosition().row,e=g.session.selection;if(b.getShiftKey())e.selectTo(d,0);else{if(2==b.domEvent.detail)return g.selectAll(),b.preventDefault();a.$clickSelection=g.selection.getLineRange(d)}return a.setState("selectByLines"),a.captureMouse(b),b.preventDefault()}}});var k,l,m;a.editor.setDefaultHandler("guttermousemove",function(e){var g=e.domEvent.target||e.domEvent.srcElement;return f.hasCssClass(g,"ace_fold-widget")?c():(m&&a.$tooltipFollowsMouse&&d(e),l=e,void(k||(k=setTimeout(function(){k=null,l&&!a.isMousePressed?b():c()},50))))}),h.addListener(g.renderer.$gutter,"mouseout",function(a){l=null,m&&!k&&(k=setTimeout(function(){k=null,c()},50))}),g.on("changeSession",c)}function e(a){i.call(this,a)}var f=a("../lib/dom"),g=a("../lib/oop"),h=a("../lib/event"),i=a("../tooltip").Tooltip;g.inherits(e,i),function(){this.setPosition=function(a,b){var c=window.innerWidth||document.documentElement.clientWidth,d=window.innerHeight||document.documentElement.clientHeight,e=this.getWidth(),f=this.getHeight();a+=15,b+=15,a+e>c&&(a-=a+e-c),b+f>d&&(b-=20+f),i.prototype.setPosition.call(this,a,b)}}.call(e.prototype),b.GutterHandler=d}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(a,b,c){"use strict";var d=a("../lib/event"),e=a("../lib/useragent"),f=b.MouseEvent=function(a,b){this.domEvent=a,this.editor=b,this.x=this.clientX=a.clientX,this.y=this.clientY=a.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){d.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){d.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var a=this.editor,b=a.getSelectionRange();if(b.isEmpty())this.$inSelection=!1;else{var c=this.getDocumentPosition();this.$inSelection=b.contains(c.row,c.column)}return this.$inSelection},this.getButton=function(){return d.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=e.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(f.prototype)}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(a,b,c){"use strict";function d(a){function b(a,b){var c=Date.now(),d=!b||a.row!=b.row,f=!b||a.column!=b.column;if(!C||d||f)q.$blockScrolling+=1,q.moveCursorToPosition(a),q.$blockScrolling-=1,C=c,D={x:u,y:v};else{var g=e(D.x,D.y,u,v);g>k?C=null:c-C>=j&&(q.renderer.scrollCursorIntoView(),C=null)}}function c(a,b){var c=Date.now(),d=q.renderer.layerConfig.lineHeight,e=q.renderer.layerConfig.characterWidth,f=q.renderer.scroller.getBoundingClientRect(),g={x:{left:u-f.left,right:f.right-u},y:{top:v-f.top,bottom:f.bottom-v}},h=Math.min(g.x.left,g.x.right),j=Math.min(g.y.top,g.y.bottom),k={row:a.row,column:a.column};h/e<=2&&(k.column+=g.x.left<g.x.right?-3:2),j/d<=1&&(k.row+=g.y.top<g.y.bottom?-1:1);var l=a.row!=k.row,m=a.column!=k.column,n=!b||a.row!=b.row;l||m&&!n?B?c-B>=i&&q.renderer.scrollCursorIntoView(k):B=c:B=null}function d(){var a=y;y=q.renderer.screenToTextCoordinates(u,v),b(y,a),c(y,a)}function l(){x=q.selection.toOrientedRange(),t=q.session.addMarker(x,"ace_selection",q.getSelectionStyle()),q.clearSelection(),q.isFocused()&&q.renderer.$cursorLayer.setBlinking(!1),clearInterval(w),d(),w=setInterval(d,20),F=0,g.addListener(document,"mousemove",n)}function m(){clearInterval(w),q.session.removeMarker(t),t=null,q.$blockScrolling+=1,q.selection.fromOrientedRange(x),q.$blockScrolling-=1,q.isFocused()&&!A&&q.renderer.$cursorLayer.setBlinking(!q.getReadOnly()),x=null,y=null,F=0,B=null,C=null,g.removeListener(document,"mousemove",n)}function n(){null==G&&(G=setTimeout(function(){null!=G&&t&&m()},20))}function o(a){var b=a.types;return!b||Array.prototype.some.call(b,function(a){return"text/plain"==a||"Text"==a})}function p(a){var b=["copy","copymove","all","uninitialized"],c=["move","copymove","linkmove","all","uninitialized"],d=h.isMac?a.altKey:a.ctrlKey,e="uninitialized";try{e=a.dataTransfer.effectAllowed.toLowerCase()}catch(a){}var f="none";return d&&b.indexOf(e)>=0?f="copy":c.indexOf(e)>=0?f="move":b.indexOf(e)>=0&&(f="copy"),f}var q=a.editor,r=f.createElement("img");r.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",h.isOpera&&(r.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var s=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];s.forEach(function(b){a[b]=this[b]},this),q.addEventListener("mousedown",this.onMouseDown.bind(a));var t,u,v,w,x,y,z,A,B,C,D,E=q.container,F=0;this.onDragStart=function(a){if(this.cancelDrag||!E.draggable){var b=this;return setTimeout(function(){b.startSelect(),b.captureMouse(a)},0),a.preventDefault()}x=q.getSelectionRange();var c=a.dataTransfer;c.effectAllowed=q.getReadOnly()?"copy":"copyMove",h.isOpera&&(q.container.appendChild(r),r.scrollTop=0),c.setDragImage&&c.setDragImage(r,0,0),h.isOpera&&q.container.removeChild(r),c.clearData(),c.setData("Text",q.session.getTextRange()),A=!0,this.setState("drag")},this.onDragEnd=function(a){if(E.draggable=!1,A=!1,this.setState(null),!q.getReadOnly()){var b=a.dataTransfer.dropEffect;!z&&"move"==b&&q.session.remove(q.getSelectionRange()),q.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(a){if(!q.getReadOnly()&&o(a.dataTransfer))return u=a.clientX,v=a.clientY,t||l(),F++,a.dataTransfer.dropEffect=z=p(a),g.preventDefault(a)},this.onDragOver=function(a){if(!q.getReadOnly()&&o(a.dataTransfer))return u=a.clientX,v=a.clientY,t||(l(),F++),null!==G&&(G=null),a.dataTransfer.dropEffect=z=p(a),g.preventDefault(a)},this.onDragLeave=function(a){if(F--,F<=0&&t)return m(),z=null,g.preventDefault(a)},this.onDrop=function(a){if(y){var b=a.dataTransfer;if(A)switch(z){case"move":x=x.contains(y.row,y.column)?{start:y,end:y}:q.moveText(x,y);break;case"copy":x=q.moveText(x,y,!0)}else{var c=b.getData("Text");x={start:y,end:q.session.insert(y,c)},q.focus(),z=null}return m(),g.preventDefault(a)}},g.addListener(E,"dragstart",this.onDragStart.bind(a)),g.addListener(E,"dragend",this.onDragEnd.bind(a)),g.addListener(E,"dragenter",this.onDragEnter.bind(a)),g.addListener(E,"dragover",this.onDragOver.bind(a)),g.addListener(E,"dragleave",this.onDragLeave.bind(a)),g.addListener(E,"drop",this.onDrop.bind(a));var G=null}function e(a,b,c,d){return Math.sqrt(Math.pow(c-a,2)+Math.pow(d-b,2))}var f=a("../lib/dom"),g=a("../lib/event"),h=a("../lib/useragent"),i=200,j=200,k=5;(function(){this.dragWait=function(){var a=Date.now()-this.mousedownEvent.time;a>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var a=this.editor.container;a.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(a){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var a=this.editor,b=a.container;b.draggable=!0,a.renderer.$cursorLayer.setBlinking(!1),a.setStyle("ace_dragging");var c=h.isWin?"default":"move";a.renderer.setCursorStyle(c),this.setState("dragReady")},this.onMouseDrag=function(a){var b=this.editor.container;if(h.isIE&&"dragReady"==this.state){var c=e(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);c>3&&b.dragDrop()}if("dragWait"===this.state){var c=e(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);c>0&&(b.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(a){if(this.$dragEnabled){this.mousedownEvent=a;var b=this.editor,c=a.inSelection(),d=a.getButton(),e=a.domEvent.detail||1;if(1===e&&0===d&&c){if(a.editor.inMultiSelectMode&&(a.getAccelKey()||a.getShiftKey()))return;this.mousedownEvent.time=Date.now();var f=a.domEvent.target||a.domEvent.srcElement;if("unselectable"in f&&(f.unselectable="on"),b.getDragDelay()){if(h.isWebKit){this.cancelDrag=!0;var g=b.container;g.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(a,this.onMouseDrag.bind(this)),a.defaultPrevented=!0}}}}).call(d.prototype),b.DragdropHandler=d}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(a,b,c){"use strict";var d=a("./dom");b.get=function(a,b){var c=new XMLHttpRequest;c.open("GET",a,!0),c.onreadystatechange=function(){4===c.readyState&&b(c.responseText)},c.send(null)},b.loadScript=function(a,b){var c=d.getDocumentHead(),e=document.createElement("script");e.src=a,c.appendChild(e),e.onload=e.onreadystatechange=function(a,c){!c&&e.readyState&&"loaded"!=e.readyState&&"complete"!=e.readyState||(e=e.onload=e.onreadystatechange=null,c||b())}},b.qualifyURL=function(a){var b=document.createElement("a");return b.href=a,b.href}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(a,b,c){"use strict";var d={},e=function(){this.propagationStopped=!0},f=function(){this.defaultPrevented=!0};d._emit=d._dispatchEvent=function(a,b){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var c=this._eventRegistry[a]||[],d=this._defaultHandlers[a];if(c.length||d){"object"==typeof b&&b||(b={}),b.type||(b.type=a),b.stopPropagation||(b.stopPropagation=e),b.preventDefault||(b.preventDefault=f),c=c.slice();for(var g=0;g<c.length&&(c[g](b,this),!b.propagationStopped);g++);return d&&!b.defaultPrevented?d(b,this):void 0}},d._signal=function(a,b){var c=(this._eventRegistry||{})[a];if(c){c=c.slice();for(var d=0;d<c.length;d++)c[d](b,this)}},d.once=function(a,b){var c=this;b&&this.addEventListener(a,function d(){c.removeEventListener(a,d),b.apply(null,arguments)})},d.setDefaultHandler=function(a,b){var c=this._defaultHandlers;if(c||(c=this._defaultHandlers={_disabled_:{}}),c[a]){var d=c[a],e=c._disabled_[a];e||(c._disabled_[a]=e=[]),e.push(d);var f=e.indexOf(b);f!=-1&&e.splice(f,1)}c[a]=b},d.removeDefaultHandler=function(a,b){var c=this._defaultHandlers;if(c){var d=c._disabled_[a];if(c[a]==b){c[a];d&&this.setDefaultHandler(a,d.pop())}else if(d){var e=d.indexOf(b);e!=-1&&d.splice(e,1)}}},d.on=d.addEventListener=function(a,b,c){this._eventRegistry=this._eventRegistry||{};var d=this._eventRegistry[a];return d||(d=this._eventRegistry[a]=[]),d.indexOf(b)==-1&&d[c?"unshift":"push"](b),b},d.off=d.removeListener=d.removeEventListener=function(a,b){this._eventRegistry=this._eventRegistry||{};var c=this._eventRegistry[a];if(c){var d=c.indexOf(b);d!==-1&&c.splice(d,1)}},d.removeAllListeners=function(a){this._eventRegistry&&(this._eventRegistry[a]=[])},b.EventEmitter=d}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){"no use strict";function d(a){"undefined"!=typeof console&&console.warn&&console.warn.apply(console,arguments)}function e(a,b){var c=new Error(a);c.data=b,"object"==typeof console&&console.error&&console.error(c),setTimeout(function(){throw c})}var f=a("./oop"),g=a("./event_emitter").EventEmitter,h={setOptions:function(a){Object.keys(a).forEach(function(b){this.setOption(b,a[b])},this)},getOptions:function(a){var b={};return a?Array.isArray(a)||(b=a,a=Object.keys(b)):a=Object.keys(this.$options),a.forEach(function(a){b[a]=this.getOption(a)},this),b},setOption:function(a,b){if(this["$"+a]!==b){var c=this.$options[a];return c?c.forwardTo?this[c.forwardTo]&&this[c.forwardTo].setOption(a,b):(c.handlesSet||(this["$"+a]=b),void(c&&c.set&&c.set.call(this,b))):d('misspelled option "'+a+'"')}},getOption:function(a){var b=this.$options[a];return b?b.forwardTo?this[b.forwardTo]&&this[b.forwardTo].getOption(a):b&&b.get?b.get.call(this):this["$"+a]:d('misspelled option "'+a+'"')}},i=function(){this.$defaultOptions={}};(function(){f.implement(this,g),this.defineOptions=function(a,b,c){return a.$options||(this.$defaultOptions[b]=a.$options={}),Object.keys(c).forEach(function(b){var d=c[b];"string"==typeof d&&(d={forwardTo:d}),d.name||(d.name=b),a.$options[d.name]=d,"initialValue"in d&&(a["$"+d.name]=d.initialValue)}),f.implement(a,h),this},this.resetOptions=function(a){Object.keys(a.$options).forEach(function(b){var c=a.$options[b];"value"in c&&a.setOption(b,c.value)})},this.setDefaultValue=function(a,b,c){var d=this.$defaultOptions[a]||(this.$defaultOptions[a]={});d[b]&&(d.forwardTo?this.setDefaultValue(d.forwardTo,b,c):d[b].value=c)},this.setDefaultValues=function(a,b){Object.keys(b).forEach(function(c){this.setDefaultValue(a,c,b[c])},this)},this.warn=d,this.reportError=e}).call(i.prototype),b.AppConfig=i}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(a,b,c){"no use strict";function d(d){if(i&&i.document){j.packaged=d||a.packaged||c.packaged||i.define&&define.packaged;for(var f={},g="",h=document.currentScript||document._currentScript,k=h&&h.ownerDocument||document,l=k.getElementsByTagName("script"),m=0;m<l.length;m++){var n=l[m],o=n.src||n.getAttribute("src");if(o){for(var p=n.attributes,q=0,r=p.length;q<r;q++){var s=p[q];0===s.name.indexOf("data-ace-")&&(f[e(s.name.replace(/^data-ace-/,""))]=s.value)}var t=o.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);t&&(g=t[1])}}g&&(f.base=f.base||g,f.packaged=!0),f.basePath=f.base,f.workerPath=f.workerPath||f.base,f.modePath=f.modePath||f.base,f.themePath=f.themePath||f.base,delete f.base;for(var u in f)"undefined"!=typeof f[u]&&b.set(u,f[u])}}function e(a){return a.replace(/-(.)/g,function(a,b){return b.toUpperCase()})}var f=a("./lib/lang"),g=(a("./lib/oop"),a("./lib/net")),h=a("./lib/app_config").AppConfig;c.exports=b=new h;var i=function(){return this||"undefined"!=typeof window&&window}(),j={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};b.get=function(a){if(!j.hasOwnProperty(a))throw new Error("Unknown config key: "+a);return j[a]},b.set=function(a,b){if(!j.hasOwnProperty(a))throw new Error("Unknown config key: "+a);j[a]=b},b.all=function(){return f.copyObject(j)},b.moduleUrl=function(a,b){if(j.$moduleUrls[a])return j.$moduleUrls[a];var c=a.split("/");b=b||c[c.length-2]||"";var d="snippets"==b?"/":"-",e=c[c.length-1];if("worker"==b&&"-"==d){var f=new RegExp("^"+b+"[\\-_]|[\\-_]"+b+"$","g");e=e.replace(f,"")}(!e||e==b)&&c.length>1&&(e=c[c.length-2]);var g=j[b+"Path"];return null==g?g=j.basePath:"/"==d&&(b=d=""),g&&"/"!=g.slice(-1)&&(g+="/"),g+b+d+e+this.get("suffix")},b.setModuleUrl=function(a,b){return j.$moduleUrls[a]=b},b.$loading={},b.loadModule=function(c,d){var e,f;Array.isArray(c)&&(f=c[0],c=c[1]);try{e=a(c)}catch(h){}if(e&&!b.$loading[c])return d&&d(e);if(b.$loading[c]||(b.$loading[c]=[]),b.$loading[c].push(d),!(b.$loading[c].length>1)){var i=function(){a([c],function(a){b._emit("load.module",{name:c,module:a});var d=b.$loading[c];b.$loading[c]=null,d.forEach(function(b){b&&b(a)})})};return b.get("packaged")?void g.loadScript(b.moduleUrl(c,f),i):i()}},b.init=d}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(a,b,c){"use strict";var d=a("../lib/event"),e=a("../lib/useragent"),f=a("./default_handlers").DefaultHandlers,g=a("./default_gutter_handler").GutterHandler,h=a("./mouse_event").MouseEvent,i=a("./dragdrop_handler").DragdropHandler,j=a("../config"),k=function(a){var b=this;this.editor=a,new f(this),new g(this),new i(this);var c=function(b){var c=!document.hasFocus||!document.hasFocus()||!a.isFocused()&&document.activeElement==(a.textInput&&a.textInput.getElement());c&&window.focus(),a.focus()},h=a.renderer.getMouseEventTarget();d.addListener(h,"click",this.onMouseEvent.bind(this,"click")),d.addListener(h,"mousemove",this.onMouseMove.bind(this,"mousemove")),d.addMultiMouseDownListener([h,a.renderer.scrollBarV&&a.renderer.scrollBarV.inner,a.renderer.scrollBarH&&a.renderer.scrollBarH.inner,a.textInput&&a.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),d.addMouseWheelListener(a.container,this.onMouseWheel.bind(this,"mousewheel")),d.addTouchMoveListener(a.container,this.onTouchMove.bind(this,"touchmove"));var j=a.renderer.$gutter;d.addListener(j,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),d.addListener(j,"click",this.onMouseEvent.bind(this,"gutterclick")),d.addListener(j,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),d.addListener(j,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),d.addListener(h,"mousedown",c),d.addListener(j,"mousedown",c),e.isIE&&a.renderer.scrollBarV&&(d.addListener(a.renderer.scrollBarV.element,"mousedown",c),d.addListener(a.renderer.scrollBarH.element,"mousedown",c)),a.on("mousemove",function(c){if(!b.state&&!b.$dragDelay&&b.$dragEnabled){var d=a.renderer.screenToTextCoordinates(c.x,c.y),e=a.session.selection.getRange(),f=a.renderer;!e.isEmpty()&&e.insideStart(d.row,d.column)?f.setCursorStyle("default"):f.setCursorStyle("")}})};(function(){this.onMouseEvent=function(a,b){this.editor._emit(a,new h(b,this.editor))},this.onMouseMove=function(a,b){var c=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;c&&c.length&&this.editor._emit(a,new h(b,this.editor))},this.onMouseWheel=function(a,b){var c=new h(b,this.editor);c.speed=2*this.$scrollSpeed,c.wheelX=b.wheelX,c.wheelY=b.wheelY,this.editor._emit(a,c)},this.onTouchMove=function(a,b){var c=new h(b,this.editor);c.speed=1,c.wheelX=b.wheelX,c.wheelY=b.wheelY,this.editor._emit(a,c)},this.setState=function(a){this.state=a},this.captureMouse=function(a,b){this.x=a.x,this.y=a.y,this.isMousePressed=!0;var c=this.editor.renderer;c.$keepTextAreaAtCursor&&(c.$keepTextAreaAtCursor=null);var f=this,g=function(a){if(a)return e.isWebKit&&!a.which&&f.releaseMouse?f.releaseMouse():(f.x=a.clientX,f.y=a.clientY,b&&b(a),f.mouseEvent=new h(a,f.editor),f.$mouseMoved=!0,void 0)},i=function(a){clearInterval(k),j(),f[f.state+"End"]&&f[f.state+"End"](a),f.state="",null==c.$keepTextAreaAtCursor&&(c.$keepTextAreaAtCursor=!0,c.$moveTextAreaToCursor()),f.isMousePressed=!1,f.$onCaptureMouseMove=f.releaseMouse=null,a&&f.onMouseEvent("mouseup",a)},j=function(){f[f.state]&&f[f.state](),f.$mouseMoved=!1};if(e.isOldIE&&"dblclick"==a.domEvent.type)return setTimeout(function(){i(a)});f.$onCaptureMouseMove=g,f.releaseMouse=d.capture(this.editor.container,g,i);var k=setInterval(j,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var a=function(b){b&&b.domEvent&&"contextmenu"!=b.domEvent.type||(this.editor.off("nativecontextmenu",a),b&&b.domEvent&&d.stopEvent(b.domEvent))}.bind(this);setTimeout(a,10),this.editor.on("nativecontextmenu",a)}}).call(k.prototype),j.defineOptions(k.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:e.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),b.MouseHandler=k}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(a,b,c){"use strict";function d(a){a.on("click",function(b){var c=b.getDocumentPosition(),d=a.session,e=d.getFoldAt(c.row,c.column,1);e&&(b.getAccelKey()?d.removeFold(e):d.expandFold(e),b.stop())}),a.on("gutterclick",function(b){var c=a.renderer.$gutterLayer.getRegion(b);if("foldWidgets"==c){var d=b.getDocumentPosition().row,e=a.session;e.foldWidgets&&e.foldWidgets[d]&&a.session.onFoldWidgetClick(d,b),a.isFocused()||a.focus(),b.stop()}}),a.on("gutterdblclick",function(b){var c=a.renderer.$gutterLayer.getRegion(b);if("foldWidgets"==c){var d=b.getDocumentPosition().row,e=a.session,f=e.getParentFoldRangeData(d,!0),g=f.range||f.firstRange;if(g){d=g.start.row;var h=e.getFoldAt(d,e.getLine(d).length,1);h?e.removeFold(h):(e.addFold("...",g),a.renderer.scrollCursorIntoView({row:g.start.row,column:0}))}b.stop()}})}b.FoldHandler=d}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(a,b,c){"use strict";var d=a("../lib/keys"),e=a("../lib/event"),f=function(a){this.$editor=a,this.$data={editor:a},this.$handlers=[],this.setDefaultHandler(a.commands)};(function(){this.setDefaultHandler=function(a){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=a,this.addKeyboardHandler(a,0)},this.setKeyboardHandler=function(a){var b=this.$handlers;if(b[b.length-1]!=a){for(;b[b.length-1]&&b[b.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(b[b.length-1]);this.addKeyboardHandler(a,1)}},this.addKeyboardHandler=function(a,b){if(a){"function"==typeof a&&!a.handleKeyboard&&(a.handleKeyboard=a);var c=this.$handlers.indexOf(a);c!=-1&&this.$handlers.splice(c,1),void 0==b?this.$handlers.push(a):this.$handlers.splice(b,0,a),c==-1&&a.attach&&a.attach(this.$editor)}},this.removeKeyboardHandler=function(a){var b=this.$handlers.indexOf(a);return b!=-1&&(this.$handlers.splice(b,1),a.detach&&a.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var a=this.$data,b=a.editor;return this.$handlers.map(function(c){return c.getStatusText&&c.getStatusText(b,a)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(a,b,c,d){for(var f,g=!1,h=this.$editor.commands,i=this.$handlers.length;i--&&(f=this.$handlers[i].handleKeyboard(this.$data,a,b,c,d),!(f&&f.command&&(g="null"==f.command||h.exec(f.command,this.$editor,f.args,d),g&&d&&a!=-1&&1!=f.passEvent&&1!=f.command.passEvent&&e.stopEvent(d),g))););return!g&&a==-1&&(f={command:"insertstring"},g=h.exec("insertstring",this.$editor,b)),g&&this.$editor._signal&&this.$editor._signal("keyboardActivity",f),g},this.onCommandKey=function(a,b,c){var e=d.keyCodeToString(c);this.$callKeyboardHandlers(b,e,c,a)},this.onTextInput=function(a){this.$callKeyboardHandlers(-1,a)}}).call(f.prototype),b.KeyBinding=f}),ace.define("ace/range",["require","exports","module"],function(a,b,c){"use strict";var d=function(a,b){return a.row-b.row||a.column-b.column},e=function(a,b,c,d){this.start={row:a,column:b},this.end={row:c,column:d}};(function(){this.isEqual=function(a){return this.start.row===a.start.row&&this.end.row===a.end.row&&this.start.column===a.start.column&&this.end.column===a.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(a,b){return 0==this.compare(a,b)},this.compareRange=function(a){var b,c=a.end,d=a.start;return b=this.compare(c.row,c.column),1==b?(b=this.compare(d.row,d.column),1==b?2:0==b?1:0):b==-1?-2:(b=this.compare(d.row,d.column),b==-1?-1:1==b?42:0)},this.comparePoint=function(a){return this.compare(a.row,a.column)},this.containsRange=function(a){return 0==this.comparePoint(a.start)&&0==this.comparePoint(a.end)},this.intersects=function(a){var b=this.compareRange(a);return b==-1||0==b||1==b},this.isEnd=function(a,b){return this.end.row==a&&this.end.column==b},this.isStart=function(a,b){return this.start.row==a&&this.start.column==b},this.setStart=function(a,b){"object"==typeof a?(this.start.column=a.column,this.start.row=a.row):(this.start.row=a,this.start.column=b)},this.setEnd=function(a,b){"object"==typeof a?(this.end.column=a.column,this.end.row=a.row):(this.end.row=a,this.end.column=b)},this.inside=function(a,b){return 0==this.compare(a,b)&&(!this.isEnd(a,b)&&!this.isStart(a,b))},this.insideStart=function(a,b){return 0==this.compare(a,b)&&!this.isEnd(a,b)},this.insideEnd=function(a,b){return 0==this.compare(a,b)&&!this.isStart(a,b)},this.compare=function(a,b){return this.isMultiLine()||a!==this.start.row?a<this.start.row?-1:a>this.end.row?1:this.start.row===a?b>=this.start.column?0:-1:this.end.row===a?b<=this.end.column?0:1:0:b<this.start.column?-1:b>this.end.column?1:0},this.compareStart=function(a,b){return this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.compareEnd=function(a,b){return this.end.row==a&&this.end.column==b?1:this.compare(a,b)},this.compareInside=function(a,b){return this.end.row==a&&this.end.column==b?1:this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.clipRows=function(a,b){if(this.end.row>b)var c={row:b+1,column:0};else if(this.end.row<a)var c={row:a,column:0};if(this.start.row>b)var d={row:b+1,column:0};else if(this.start.row<a)var d={row:a,column:0};return e.fromPoints(d||this.start,c||this.end)},this.extend=function(a,b){var c=this.compare(a,b);if(0==c)return this;if(c==-1)var d={row:a,column:b};else var f={row:a,column:b};return e.fromPoints(d||this.start,f||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return e.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new e(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new e(this.start.row,0,this.end.row,0)},this.toScreenRange=function(a){var b=a.documentToScreenPosition(this.start),c=a.documentToScreenPosition(this.end);return new e(b.row,b.column,c.row,c.column)},this.moveBy=function(a,b){this.start.row+=a,this.start.column+=b,this.end.row+=a,this.end.column+=b}}).call(e.prototype),e.fromPoints=function(a,b){return new e(a.row,a.column,b.row,b.column)},e.comparePoints=d,e.comparePoints=function(a,b){return a.row-b.row||a.column-b.column},b.Range=e}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/lang"),f=a("./lib/event_emitter").EventEmitter,g=a("./range").Range,h=function(a){this.session=a,this.doc=a.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var b=this;this.lead.on("change",function(a){b._emit("changeCursor"),b.$isEmpty||b._emit("changeSelection"),!b.$keepDesiredColumnOnChange&&a.old.column!=a.value.column&&(b.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){b.$isEmpty||b._emit("changeSelection")})};(function(){d.implement(this,f),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.isEmpty()&&this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(a,b){this.anchor.setPosition(a,b),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(a){if(this.$isEmpty)return void this.moveCursorTo(this.lead.row,this.lead.column+a);var b=this.getSelectionAnchor(),c=this.getSelectionLead(),d=this.isBackwards();(!d||0!==b.column)&&this.setSelectionAnchor(b.row,b.column+a),(d||0!==c.column)&&this.$moveSelection(function(){this.moveCursorTo(c.row,c.column+a)})},this.isBackwards=function(){var a=this.anchor,b=this.lead;return a.row>b.row||a.row==b.row&&a.column>b.column},this.getRange=function(){var a=this.anchor,b=this.lead;return this.isEmpty()?g.fromPoints(b,b):this.isBackwards()?g.fromPoints(b,a):g.fromPoints(a,b)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var a=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(a,this.doc.getLine(a).length)},this.setRange=this.setSelectionRange=function(a,b){b?(this.setSelectionAnchor(a.end.row,a.end.column),this.selectTo(a.start.row,a.start.column)):(this.setSelectionAnchor(a.start.row,a.start.column),this.selectTo(a.end.row,a.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(a){var b=this.lead;this.$isEmpty&&this.setSelectionAnchor(b.row,b.column),a.call(this)},this.selectTo=function(a,b){this.$moveSelection(function(){this.moveCursorTo(a,b)})},this.selectToPosition=function(a){this.$moveSelection(function(){this.moveCursorToPosition(a)})},this.moveTo=function(a,b){this.clearSelection(),this.moveCursorTo(a,b)},this.moveToPosition=function(a){this.clearSelection(),this.moveCursorToPosition(a)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(a,b){if("undefined"==typeof b){var c=a||this.lead;a=c.row,b=c.column}return this.session.getWordRange(a,b)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var a=this.getCursor(),b=this.session.getAWordRange(a.row,a.column);this.setSelectionRange(b)},this.getLineRange=function(a,b){var c,d="number"==typeof a?a:this.lead.row,e=this.session.getFoldLine(d);return e?(d=e.start.row,c=e.end.row):c=d,b===!0?new g(d,0,c,this.session.getLine(c).length):new g(d,0,c+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){
+this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var a,b=this.lead.getPosition();if(a=this.session.getFoldAt(b.row,b.column,-1))this.moveCursorTo(a.start.row,a.start.column);else if(0===b.column)b.row>0&&this.moveCursorTo(b.row-1,this.doc.getLine(b.row-1).length);else{var c=this.session.getTabSize();this.session.isTabStop(b)&&this.doc.getLine(b.row).slice(b.column-c,b.column).split(" ").length-1==c?this.moveCursorBy(0,-c):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var a,b=this.lead.getPosition();if(a=this.session.getFoldAt(b.row,b.column,1))this.moveCursorTo(a.end.row,a.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var c=this.session.getTabSize(),b=this.lead;this.session.isTabStop(b)&&this.doc.getLine(b.row).slice(b.column,b.column+c).split(" ").length-1==c?this.moveCursorBy(0,c):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var a=this.lead.row,b=this.lead.column,c=this.session.documentToScreenRow(a,b),d=this.session.screenToDocumentPosition(c,0),e=this.session.getDisplayLine(a,null,d.row,d.column),f=e.match(/^\s*/);f[0].length!=b&&!this.session.$useEmacsStyleLineStart&&(d.column+=f[0].length),this.moveCursorToPosition(d)},this.moveCursorLineEnd=function(){var a=this.lead,b=this.session.getDocumentLastRowColumnPosition(a.row,a.column);if(this.lead.column==b.column){var c=this.session.getLine(b.row);if(b.column==c.length){var d=c.search(/\s+$/);d>0&&(b.column=d)}}this.moveCursorTo(b.row,b.column)},this.moveCursorFileEnd=function(){var a=this.doc.getLength()-1,b=this.doc.getLine(a).length;this.moveCursorTo(a,b)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var a,b=this.lead.row,c=this.lead.column,d=this.doc.getLine(b),e=d.substring(c);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var f=this.session.getFoldAt(b,c,1);return f?void this.moveCursorTo(f.end.row,f.end.column):((a=this.session.nonTokenRe.exec(e))&&(c+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,e=d.substring(c)),c>=d.length?(this.moveCursorTo(b,d.length),this.moveCursorRight(),b<this.doc.getLength()-1&&this.moveCursorWordRight(),void 0):((a=this.session.tokenRe.exec(e))&&(c+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),void this.moveCursorTo(b,c)))},this.moveCursorLongWordLeft=function(){var a,b=this.lead.row,c=this.lead.column;if(a=this.session.getFoldAt(b,c,-1))return void this.moveCursorTo(a.start.row,a.start.column);var d=this.session.getFoldStringAt(b,c,-1);null==d&&(d=this.doc.getLine(b).substring(0,c));var f,g=e.stringReverse(d);return this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,(f=this.session.nonTokenRe.exec(g))&&(c-=this.session.nonTokenRe.lastIndex,g=g.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),c<=0?(this.moveCursorTo(b,0),this.moveCursorLeft(),b>0&&this.moveCursorWordLeft(),void 0):((f=this.session.tokenRe.exec(g))&&(c-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),void this.moveCursorTo(b,c))},this.$shortWordEndIndex=function(a){var b,c,d=0,e=/\s/,f=this.session.tokenRe;if(f.lastIndex=0,b=this.session.tokenRe.exec(a))d=this.session.tokenRe.lastIndex;else{for(;(c=a[d])&&e.test(c);)d++;if(d<1)for(f.lastIndex=0;(c=a[d])&&!f.test(c);)if(f.lastIndex=0,d++,e.test(c)){if(d>2){d--;break}for(;(c=a[d])&&e.test(c);)d++;if(d>2)break}}return f.lastIndex=0,d},this.moveCursorShortWordRight=function(){var a=this.lead.row,b=this.lead.column,c=this.doc.getLine(a),d=c.substring(b),e=this.session.getFoldAt(a,b,1);if(e)return this.moveCursorTo(e.end.row,e.end.column);if(b==c.length){var f=this.doc.getLength();do a++,d=this.doc.getLine(a);while(a<f&&/^\s*$/.test(d));/^\s+/.test(d)||(d=""),b=0}var g=this.$shortWordEndIndex(d);this.moveCursorTo(a,b+g)},this.moveCursorShortWordLeft=function(){var a,b=this.lead.row,c=this.lead.column;if(a=this.session.getFoldAt(b,c,-1))return this.moveCursorTo(a.start.row,a.start.column);var d=this.session.getLine(b).substring(0,c);if(0===c){do b--,d=this.doc.getLine(b);while(b>0&&/^\s*$/.test(d));c=d.length,/\s+$/.test(d)||(d="")}var f=e.stringReverse(d),g=this.$shortWordEndIndex(f);return this.moveCursorTo(b,c-g)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(a,b){var c=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===b&&(this.$desiredColumn?c.column=this.$desiredColumn:this.$desiredColumn=c.column);var d=this.session.screenToDocumentPosition(c.row+a,c.column);0!==a&&0===b&&d.row===this.lead.row&&d.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[d.row]&&(d.row>0||a>0)&&d.row++,this.moveCursorTo(d.row,d.column+b,0===b)},this.moveCursorToPosition=function(a){this.moveCursorTo(a.row,a.column)},this.moveCursorTo=function(a,b,c){var d=this.session.getFoldAt(a,b,1);d&&(a=d.start.row,b=d.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(a,b),this.$keepDesiredColumnOnChange=!1,c||(this.$desiredColumn=null)},this.moveCursorToScreen=function(a,b,c){var d=this.session.screenToDocumentPosition(a,b);this.moveCursorTo(d.row,d.column,c)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(a){this.setSelectionRange(a,a.cursor==a.start),this.$desiredColumn=a.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(a){var b=this.getRange();return a?(a.start.column=b.start.column,a.start.row=b.start.row,a.end.column=b.end.column,a.end.row=b.end.row):a=b,a.cursor=this.isBackwards()?a.start:a.end,a.desiredColumn=this.$desiredColumn,a},this.getRangeOfMovements=function(a){var b=this.getCursor();try{a(this);var c=this.getCursor();return g.fromPoints(b,c)}catch(d){return g.fromPoints(b,b)}finally{this.moveCursorToPosition(b)}},this.toJSON=function(){if(this.rangeCount)var a=this.ranges.map(function(a){var b=a.clone();return b.isBackwards=a.cursor==a.start,b});else{var a=this.getRange();a.isBackwards=this.isBackwards()}return a},this.fromJSON=function(a){if(void 0==a.start){if(this.rangeList){this.toSingleRange(a[0]);for(var b=a.length;b--;){var c=g.fromPoints(a[b].start,a[b].end);a[b].isBackwards&&(c.cursor=c.start),this.addRange(c,!0)}return}a=a[0]}this.rangeList&&this.toSingleRange(a),this.setSelectionRange(a,a.isBackwards)},this.isEqual=function(a){if((a.length||this.rangeCount)&&a.length!=this.rangeCount)return!1;if(!a.length||!this.ranges)return this.getRange().isEqual(a);for(var b=this.ranges.length;b--;)if(!this.ranges[b].isEqual(a[b]))return!1;return!0}}).call(h.prototype),b.Selection=h}),ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(a,b,c){"use strict";var d=a("./config"),e=2e3,f=function(a){this.states=a,this.regExps={},this.matchMappings={};for(var b in this.states){for(var c=this.states[b],d=[],e=0,f=this.matchMappings[b]={defaultToken:"text"},g="g",h=[],i=0;i<c.length;i++){var j=c[i];if(j.defaultToken&&(f.defaultToken=j.defaultToken),j.caseInsensitive&&(g="gi"),null!=j.regex){j.regex instanceof RegExp&&(j.regex=j.regex.toString().slice(1,-1));var k=j.regex,l=new RegExp("(?:("+k+")|(.))").exec("a").length-2;Array.isArray(j.token)?1==j.token.length||1==l?j.token=j.token[0]:l-1!=j.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:j,groupCount:l-1}),j.token=j.token[0]):(j.tokenArray=j.token,j.token=null,j.onMatch=this.$arrayTokens):"function"==typeof j.token&&!j.onMatch&&(l>1?j.onMatch=this.$applyToken:j.onMatch=j.token),l>1&&(/\\\d/.test(j.regex)?k=j.regex.replace(/\\([0-9]+)/g,function(a,b){return"\\"+(parseInt(b,10)+e+1)}):(l=1,k=this.removeCapturingGroups(j.regex)),!j.splitRegex&&"string"!=typeof j.token&&h.push(j)),f[e]=i,e+=l,d.push(k),j.onMatch||(j.onMatch=null)}}d.length||(f[0]=0,d.push("$")),h.forEach(function(a){a.splitRegex=this.createSplitterRegexp(a.regex,g)},this),this.regExps[b]=new RegExp("("+d.join(")|(")+")|($)",g)}};(function(){this.$setMaxTokenCount=function(a){e=0|a},this.$applyToken=function(a){var b=this.splitRegex.exec(a).slice(1),c=this.token.apply(this,b);if("string"==typeof c)return[{type:c,value:a}];for(var d=[],e=0,f=c.length;e<f;e++)b[e]&&(d[d.length]={type:c[e],value:b[e]});return d},this.$arrayTokens=function(a){if(!a)return[];var b=this.splitRegex.exec(a);if(!b)return"text";for(var c=[],d=this.tokenArray,e=0,f=d.length;e<f;e++)b[e+1]&&(c[c.length]={type:d[e],value:b[e+1]});return c},this.removeCapturingGroups=function(a){var b=a.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(a,b){return b?"(?:":a});return b},this.createSplitterRegexp=function(a,b){if(a.indexOf("(?=")!=-1){var c=0,d=!1,e={};a.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(a,b,f,g,h,i){return d?d="]"!=h:h?d=!0:g?(c==e.stack&&(e.end=i+1,e.stack=-1),c--):f&&(c++,1!=f.length&&(e.stack=c,e.start=i)),a}),null!=e.end&&/^\)*$/.test(a.substr(e.end))&&(a=a.substring(0,e.start)+a.substr(e.end))}return"^"!=a.charAt(0)&&(a="^"+a),"$"!=a.charAt(a.length-1)&&(a+="$"),new RegExp(a,(b||"").replace("g",""))},this.getLineTokens=function(a,b){if(b&&"string"!=typeof b){var c=b.slice(0);b=c[0],"#tmp"===b&&(c.shift(),b=c.shift())}else var c=[];var d=b||"start",f=this.states[d];f||(d="start",f=this.states[d]);var g=this.matchMappings[d],h=this.regExps[d];h.lastIndex=0;for(var i,j=[],k=0,l=0,m={type:null,value:""};i=h.exec(a);){var n=g.defaultToken,o=null,p=i[0],q=h.lastIndex;if(q-p.length>k){var r=a.substring(k,q-p.length);m.type==n?m.value+=r:(m.type&&j.push(m),m={type:n,value:r})}for(var s=0;s<i.length-2;s++)if(void 0!==i[s+1]){o=f[g[s]],n=o.onMatch?o.onMatch(p,d,c):o.token,o.next&&(d="string"==typeof o.next?o.next:o.next(d,c),f=this.states[d],f||(this.reportError("state doesn't exist",d),d="start",f=this.states[d]),g=this.matchMappings[d],k=q,h=this.regExps[d],h.lastIndex=q);break}if(p)if("string"==typeof n)o&&o.merge===!1||m.type!==n?(m.type&&j.push(m),m={type:n,value:p}):m.value+=p;else if(n){m.type&&j.push(m),m={type:null,value:""};for(var s=0;s<n.length;s++)j.push(n[s])}if(k==a.length)break;if(k=q,l++>e){for(l>2*a.length&&this.reportError("infinite loop with in ace tokenizer",{startState:b,line:a});k<a.length;)m.type&&j.push(m),m={value:a.substring(k,k+=2e3),type:"overflow"};d="start",c=[];break}}return m.type&&j.push(m),c.length>1&&c[0]!==d&&c.unshift("#tmp",d),{tokens:j,state:c.length?c:d}},this.reportError=d.reportError}).call(f.prototype),b.Tokenizer=f}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(a,b,c){"use strict";var d=a("../lib/lang"),e=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(a,b){if(b)for(var c in a){for(var d=a[c],e=0;e<d.length;e++){var f=d[e];(f.next||f.onMatch)&&("string"==typeof f.next&&0!==f.next.indexOf(b)&&(f.next=b+f.next),f.nextState&&0!==f.nextState.indexOf(b)&&(f.nextState=b+f.nextState))}this.$rules[b+c]=d}else for(var c in a)this.$rules[c]=a[c]},this.getRules=function(){return this.$rules},this.embedRules=function(a,b,c,e,f){var g="function"==typeof a?(new a).getRules():a;if(e)for(var h=0;h<e.length;h++)e[h]=b+e[h];else{e=[];for(var i in g)e.push(b+i)}if(this.addRules(g,b),c)for(var j=Array.prototype[f?"push":"unshift"],h=0;h<e.length;h++)j.apply(this.$rules[e[h]],d.deepCopy(c));this.$embeds||(this.$embeds=[]),this.$embeds.push(b)},this.getEmbeds=function(){return this.$embeds};var a=function(a,b){return("start"!=a||b.length)&&b.unshift(this.nextState,a),this.nextState},b=function(a,b){return b.shift(),b.shift()||"start"};this.normalizeRules=function(){function c(f){var g=e[f];g.processed=!0;for(var h=0;h<g.length;h++){var i=g[h],j=null;Array.isArray(i)&&(j=i,i={}),!i.regex&&i.start&&(i.regex=i.start,i.next||(i.next=[]),i.next.push({defaultToken:i.token},{token:i.token+".end",regex:i.end||i.start,next:"pop"}),i.token=i.token+".start",i.push=!0);var k=i.next||i.push;if(k&&Array.isArray(k)){var l=i.stateName;l||(l=i.token,"string"!=typeof l&&(l=l[0]||""),e[l]&&(l+=d++)),e[l]=k,i.next=l,c(l)}else"pop"==k&&(i.next=b);if(i.push&&(i.nextState=i.next||i.push,i.next=a,delete i.push),i.rules)for(var m in i.rules)e[m]?e[m].push&&e[m].push.apply(e[m],i.rules[m]):e[m]=i.rules[m];var n="string"==typeof i?i:"string"==typeof i.include?i.include:"";if(n&&(j=e[n]),j){var o=[h,1].concat(j);i.noEscape&&(o=o.filter(function(a){return!a.next})),g.splice.apply(g,o),h--}i.keywordMap&&(i.token=this.createKeywordMapper(i.keywordMap,i.defaultToken||"text",i.caseInsensitive),delete i.defaultToken)}}var d=0,e=this.$rules;Object.keys(e).forEach(c,this)},this.createKeywordMapper=function(a,b,c,d){var e=Object.create(null);return Object.keys(a).forEach(function(b){var f=a[b];c&&(f=f.toLowerCase());for(var g=f.split(d||"|"),h=g.length;h--;)e[g[h]]=b}),Object.getPrototypeOf(e)&&(e.__proto__=null),this.$keywordList=Object.keys(e),a=null,c?function(a){return e[a.toLowerCase()]||b}:function(a){return e[a]||b}},this.getKeywords=function(){return this.$keywords}}).call(e.prototype),b.TextHighlightRules=e}),ace.define("ace/mode/behaviour",["require","exports","module"],function(a,b,c){"use strict";var d=function(){this.$behaviours={}};(function(){this.add=function(a,b,c){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[a]:this.$behaviours[a]={}}this.$behaviours[a][b]=c},this.addBehaviours=function(a){for(var b in a)for(var c in a[b])this.add(b,c,a[b][c])},this.remove=function(a){this.$behaviours&&this.$behaviours[a]&&delete this.$behaviours[a]},this.inherit=function(a,b){if("function"==typeof a)var c=(new a).getBehaviours(b);else var c=a.getBehaviours(b);this.addBehaviours(c)},this.getBehaviours=function(a){if(!a)return this.$behaviours;for(var b={},c=0;c<a.length;c++)this.$behaviours[a[c]]&&(b[a[c]]=this.$behaviours[a[c]]);return b}}).call(d.prototype),b.Behaviour=d}),ace.define("ace/token_iterator",["require","exports","module"],function(a,b,c){"use strict";var d=function(a,b,c){this.$session=a,this.$row=b,this.$rowTokens=a.getTokens(b);var d=a.getTokenAt(b,c);this.$tokenIndex=d?d.index:-1};(function(){this.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){this.$tokenIndex+=1;for(var a;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,a||(a=this.$session.getLength()),this.$row>=a)return this.$row=a-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var a=this.$rowTokens,b=this.$tokenIndex,c=a[b].start;if(void 0!==c)return c;for(c=0;b>0;)b-=1,c+=a[b].value.length;return c},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}}}).call(d.prototype),b.TokenIterator=d}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(a,b,c){"use strict";var d,e=a("../../lib/oop"),f=a("../behaviour").Behaviour,g=a("../../token_iterator").TokenIterator,h=a("../../lib/lang"),i=["text","paren.rparen","punctuation.operator"],j=["text","paren.rparen","punctuation.operator","comment"],k={},l=function(a){var b=-1;return a.multiSelect&&(b=a.selection.index,k.rangeCount!=a.multiSelect.rangeCount&&(k={rangeCount:a.multiSelect.rangeCount})),k[b]?d=k[b]:void(d=k[b]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""})},m=function(a,b,c,d){var e=a.end.row-a.start.row;return{text:c+b+d,selection:[0,a.start.column+1,e,a.end.column+(e?0:1)]}},n=function(){this.add("braces","insertion",function(a,b,c,e,f){var g=c.getCursorPosition(),i=e.doc.getLine(g.row);if("{"==f){l(c);var j=c.getSelectionRange(),k=e.doc.getTextRange(j);if(""!==k&&"{"!==k&&c.getWrapBehavioursEnabled())return m(j,k,"{","}");if(n.isSaneInsertion(c,e))return/[\]\}\)]/.test(i[g.column])||c.inMultiSelectMode?(n.recordAutoInsert(c,e,"}"),{text:"{}",selection:[1,1]}):(n.recordMaybeInsert(c,e,"{"),{text:"{",selection:[1,1]})}else if("}"==f){l(c);var o=i.substring(g.column,g.column+1);if("}"==o){var p=e.$findOpeningBracket("}",{column:g.column+1,row:g.row});if(null!==p&&n.isAutoInsertedClosing(g,i,f))return n.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if("\n"==f||"\r\n"==f){l(c);var q="";n.isMaybeInsertedClosing(g,i)&&(q=h.stringRepeat("}",d.maybeInsertedBrackets),n.clearMaybeInsertedClosing());var o=i.substring(g.column,g.column+1);if("}"===o){var r=e.findMatchingBracket({row:g.row,column:g.column+1},"}");if(!r)return null;var s=this.$getIndent(e.getLine(r.row))}else{if(!q)return void n.clearMaybeInsertedClosing();var s=this.$getIndent(i)}var t=s+e.getTabString();return{text:"\n"+t+"\n"+s+q,selection:[1,t.length,1,t.length]}}n.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(a,b,c,e,f){var g=e.doc.getTextRange(f);if(!f.isMultiLine()&&"{"==g){l(c);var h=e.doc.getLine(f.start.row),i=h.substring(f.end.column,f.end.column+1);if("}"==i)return f.end.column++,f;d.maybeInsertedBrackets--}}),this.add("parens","insertion",function(a,b,c,d,e){if("("==e){l(c);var f=c.getSelectionRange(),g=d.doc.getTextRange(f);if(""!==g&&c.getWrapBehavioursEnabled())return m(f,g,"(",")");if(n.isSaneInsertion(c,d))return n.recordAutoInsert(c,d,")"),{text:"()",selection:[1,1]}}else if(")"==e){l(c);var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if(")"==j){var k=d.$findOpeningBracket(")",{column:h.column+1,row:h.row});if(null!==k&&n.isAutoInsertedClosing(h,i,e))return n.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&"("==f){l(c);var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(")"==h)return e.end.column++,e}}),this.add("brackets","insertion",function(a,b,c,d,e){if("["==e){l(c);var f=c.getSelectionRange(),g=d.doc.getTextRange(f);if(""!==g&&c.getWrapBehavioursEnabled())return m(f,g,"[","]");if(n.isSaneInsertion(c,d))return n.recordAutoInsert(c,d,"]"),{text:"[]",selection:[1,1]}}else if("]"==e){l(c);var h=c.getCursorPosition(),i=d.doc.getLine(h.row),j=i.substring(h.column,h.column+1);if("]"==j){var k=d.$findOpeningBracket("]",{column:h.column+1,row:h.row});if(null!==k&&n.isAutoInsertedClosing(h,i,e))return n.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&"["==f){l(c);var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if("]"==h)return e.end.column++,e}}),this.add("string_dquotes","insertion",function(a,b,c,d,e){if('"'==e||"'"==e){if(this.lineCommentStart&&this.lineCommentStart.indexOf(e)!=-1)return;l(c);var f=e,g=c.getSelectionRange(),h=d.doc.getTextRange(g);if(""!==h&&"'"!==h&&'"'!=h&&c.getWrapBehavioursEnabled())return m(g,h,f,f);if(!h){var i=c.getCursorPosition(),j=d.doc.getLine(i.row),k=j.substring(i.column-1,i.column),n=j.substring(i.column,i.column+1),o=d.getTokenAt(i.row,i.column),p=d.getTokenAt(i.row,i.column+1);if("\\"==k&&o&&/escape/.test(o.type))return null;var q,r=o&&/string|escape/.test(o.type),s=!p||/string|escape/.test(p.type);if(n==f)q=r!==s,q&&/string\.end/.test(p.type)&&(q=!1);else{if(r&&!s)return null;if(r&&s)return null;var t=d.$mode.tokenRe;t.lastIndex=0;var u=t.test(k);t.lastIndex=0;var v=t.test(k);if(u||v)return null;if(n&&!/[\s;,.})\]\\]/.test(n))return null;q=!0}return{text:q?f+f:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&('"'==f||"'"==f)){l(c);var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h==f)return e.end.column++,e}})};n.isSaneInsertion=function(a,b){var c=a.getCursorPosition(),d=new g(b,c.row,c.column);if(!this.$matchTokenType(d.getCurrentToken()||"text",i)){var e=new g(b,c.row,c.column+1);if(!this.$matchTokenType(e.getCurrentToken()||"text",i))return!1}return d.stepForward(),d.getCurrentTokenRow()!==c.row||this.$matchTokenType(d.getCurrentToken()||"text",j)},n.$matchTokenType=function(a,b){return b.indexOf(a.type||a)>-1},n.recordAutoInsert=function(a,b,c){var e=a.getCursorPosition(),f=b.doc.getLine(e.row);this.isAutoInsertedClosing(e,f,d.autoInsertedLineEnd[0])||(d.autoInsertedBrackets=0),d.autoInsertedRow=e.row,d.autoInsertedLineEnd=c+f.substr(e.column),d.autoInsertedBrackets++},n.recordMaybeInsert=function(a,b,c){var e=a.getCursorPosition(),f=b.doc.getLine(e.row);this.isMaybeInsertedClosing(e,f)||(d.maybeInsertedBrackets=0),d.maybeInsertedRow=e.row,d.maybeInsertedLineStart=f.substr(0,e.column)+c,d.maybeInsertedLineEnd=f.substr(e.column),d.maybeInsertedBrackets++},n.isAutoInsertedClosing=function(a,b,c){return d.autoInsertedBrackets>0&&a.row===d.autoInsertedRow&&c===d.autoInsertedLineEnd[0]&&b.substr(a.column)===d.autoInsertedLineEnd},n.isMaybeInsertedClosing=function(a,b){return d.maybeInsertedBrackets>0&&a.row===d.maybeInsertedRow&&b.substr(a.column)===d.maybeInsertedLineEnd&&b.substr(0,a.column)==d.maybeInsertedLineStart},n.popAutoInsertedClosing=function(){d.autoInsertedLineEnd=d.autoInsertedLineEnd.substr(1),d.autoInsertedBrackets--},n.clearMaybeInsertedClosing=function(){d&&(d.maybeInsertedBrackets=0,d.maybeInsertedRow=-1)},e.inherits(n,f),b.CstyleBehaviour=n}),ace.define("ace/unicode",["require","exports","module"],function(a,b,c){"use strict";function d(a){var c=/\w{4}/g;for(var d in a)b.packages[d]=a[d].replace(c,"\\u$&")}b.packages={},d({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
+M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"})}),ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(a,b,c){"use strict";var d=a("../tokenizer").Tokenizer,e=a("./text_highlight_rules").TextHighlightRules,f=a("./behaviour/cstyle").CstyleBehaviour,g=a("../unicode"),h=a("../lib/lang"),i=a("../token_iterator").TokenIterator,j=a("../range").Range,k=function(){this.HighlightRules=e};(function(){this.$behaviour=new f,this.tokenRe=new RegExp("^["+g.packages.L+g.packages.Mn+g.packages.Mc+g.packages.Nd+g.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+g.packages.L+g.packages.Mn+g.packages.Mc+g.packages.Nd+g.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new d(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(a,b,c,d){function e(a){for(var b=c;b<=d;b++)a(f.getLine(b),b)}var f=b.doc,g=!0,i=!0,j=1/0,k=b.getTabSize(),l=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var m=this.lineCommentStart.map(h.escapeRegExp).join("|"),n=this.lineCommentStart[0];else var m=h.escapeRegExp(this.lineCommentStart),n=this.lineCommentStart;m=new RegExp("^(\\s*)(?:"+m+") ?"),l=b.getUseSoftTabs();var o=function(a,b){var c=a.match(m);if(c){var d=c[1].length,e=c[0].length;!s(a,d,e)&&" "==c[0][e-1]&&e--,f.removeInLine(b,d,e)}},p=n+" ",q=function(a,b){g&&!/\S/.test(a)||(s(a,j,j)?f.insertInLine({row:b,column:j},p):f.insertInLine({row:b,column:j},n))},r=function(a,b){return m.test(a)},s=function(a,b,c){for(var d=0;b--&&" "==a.charAt(b);)d++;if(d%k!=0)return!1;for(var d=0;" "==a.charAt(c++);)d++;return k>2?d%k!=k-1:d%k==0}}else{if(!this.blockComment)return!1;var n=this.blockComment.start,t=this.blockComment.end,m=new RegExp("^(\\s*)(?:"+h.escapeRegExp(n)+")"),u=new RegExp("(?:"+h.escapeRegExp(t)+")\\s*$"),q=function(a,b){r(a,b)||g&&!/\S/.test(a)||(f.insertInLine({row:b,column:a.length},t),f.insertInLine({row:b,column:j},n))},o=function(a,b){var c;(c=a.match(u))&&f.removeInLine(b,a.length-c[0].length,a.length),(c=a.match(m))&&f.removeInLine(b,c[1].length,c[0].length)},r=function(a,c){if(m.test(a))return!0;for(var d=b.getTokens(c),e=0;e<d.length;e++)if("comment"===d[e].type)return!0}}var v=1/0;e(function(a,b){var c=a.search(/\S/);c!==-1?(c<j&&(j=c),i&&!r(a,b)&&(i=!1)):v>a.length&&(v=a.length)}),j==1/0&&(j=v,g=!1,i=!1),l&&j%k!=0&&(j=Math.floor(j/k)*k),e(i?o:q)},this.toggleBlockComment=function(a,b,c,d){var e=this.blockComment;if(e){!e.start&&e[0]&&(e=e[0]);var f,g,h=new i(b,d.row,d.column),k=h.getCurrentToken(),l=(b.selection,b.selection.toOrientedRange());if(k&&/comment/.test(k.type)){for(var m,n;k&&/comment/.test(k.type);){var o=k.value.indexOf(e.start);if(o!=-1){var p=h.getCurrentTokenRow(),q=h.getCurrentTokenColumn()+o;m=new j(p,q,p,q+e.start.length);break}k=h.stepBackward()}for(var h=new i(b,d.row,d.column),k=h.getCurrentToken();k&&/comment/.test(k.type);){var o=k.value.indexOf(e.end);if(o!=-1){var p=h.getCurrentTokenRow(),q=h.getCurrentTokenColumn()+o;n=new j(p,q,p,q+e.end.length);break}k=h.stepForward()}n&&b.remove(n),m&&(b.remove(m),f=m.start.row,g=-e.start.length)}else g=e.start.length,f=c.start.row,b.insert(c.end,e.end),b.insert(c.start,e.start);l.start.row==f&&(l.start.column+=g),l.end.row==f&&(l.end.column+=g),b.selection.fromOrientedRange(l)}},this.getNextLineIndent=function(a,b,c){return this.$getIndent(b)},this.checkOutdent=function(a,b,c){return!1},this.autoOutdent=function(a,b,c){},this.$getIndent=function(a){return a.match(/^\s*/)[0]},this.createWorker=function(a){return null},this.createModeDelegates=function(a){this.$embeds=[],this.$modes={};for(var b in a)a[b]&&(this.$embeds.push(b),this.$modes[b]=new a[b]);for(var c=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],b=0;b<c.length;b++)(function(a){var d=c[b],e=a[d];a[c[b]]=function(){return this.$delegator(d,arguments,e)}})(this)},this.$delegator=function(a,b,c){var d=b[0];"string"!=typeof d&&(d=d[0]);for(var e=0;e<this.$embeds.length;e++)if(this.$modes[this.$embeds[e]]){var f=d.split(this.$embeds[e]);if(!f[0]&&f[1]){b[0]=f[1];var g=this.$modes[this.$embeds[e]];return g[a].apply(g,b)}}var h=c.apply(this,b);return c?h:void 0},this.transformAction=function(a,b,c,d,e){if(this.$behaviour){var f=this.$behaviour.getBehaviours();for(var g in f)if(f[g][b]){var h=f[g][b].apply(this,arguments);if(h)return h}}},this.getKeywords=function(a){if(!this.completionKeywords){var b=this.$tokenizer.rules,c=[];for(var d in b)for(var e=b[d],f=0,g=e.length;f<g;f++)if("string"==typeof e[f].token)/keyword|support|storage/.test(e[f].token)&&c.push(e[f].regex);else if("object"==typeof e[f].token)for(var h=0,i=e[f].token.length;h<i;h++)if(/keyword|support|storage/.test(e[f].token[h])){var d=e[f].regex.match(/\(.+?\)/g)[h];c.push(d.substr(1,d.length-2))}this.completionKeywords=c}return a?c.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(a,b,c,d){var e=this.$keywordList||this.$createKeywordList();return e.map(function(a){return{name:a,value:a,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(k.prototype),b.Mode=k}),ace.define("ace/apply_delta",["require","exports","module"],function(a,b,c){"use strict";function d(a,b){throw console.log("Invalid Delta:",a),"Invalid Delta: "+b}function e(a,b){return b.row>=0&&b.row<a.length&&b.column>=0&&b.column<=a[b.row].length}b.applyDelta=function(a,b,c){var d=b.start.row,e=b.start.column,f=a[d]||"";switch(b.action){case"insert":var g=b.lines;if(1===g.length)a[d]=f.substring(0,e)+b.lines[0]+f.substring(e);else{var h=[d,1].concat(b.lines);a.splice.apply(a,h),a[d]=f.substring(0,e)+a[d],a[d+b.lines.length-1]+=f.substring(e)}break;case"remove":var i=b.end.column,j=b.end.row;d===j?a[d]=f.substring(0,e)+f.substring(i):a.splice(d,j-d+1,f.substring(0,e)+a[j].substring(i))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=b.Anchor=function(a,b,c){this.$onChange=this.onChange.bind(this),this.attach(a),"undefined"==typeof c?this.setPosition(b.row,b.column):this.setPosition(b,c)};(function(){function a(a,b,c){var d=c?a.column<=b.column:a.column<b.column;return a.row<b.row||a.row==b.row&&d}function b(b,c,d){var e="insert"==b.action,f=(e?1:-1)*(b.end.row-b.start.row),g=(e?1:-1)*(b.end.column-b.start.column),h=b.start,i=e?h:b.end;return a(c,h,d)?{row:c.row,column:c.column}:a(i,c,!d)?{row:c.row+f,column:c.column+(c.row==i.row?g:0)}:{row:h.row,column:h.column}}d.implement(this,e),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(a){if(!(a.start.row==a.end.row&&a.start.row!=this.row||a.start.row>this.row)){var c=b(a,{row:this.row,column:this.column},this.$insertRight);this.setPosition(c.row,c.column,!0)}},this.setPosition=function(a,b,c){var d;if(d=c?{row:a,column:b}:this.$clipPositionToDocument(a,b),this.row!=d.row||this.column!=d.column){var e={row:this.row,column:this.column};this.row=d.row,this.column=d.column,this._signal("change",{old:e,value:d})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(a){this.document=a||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(a,b){var c={};return a>=this.document.getLength()?(c.row=Math.max(0,this.document.getLength()-1),c.column=this.document.getLine(c.row).length):a<0?(c.row=0,c.column=0):(c.row=a,c.column=Math.min(this.document.getLine(c.row).length,Math.max(0,b))),b<0&&(c.column=0),c}}).call(f.prototype)}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./apply_delta").applyDelta,f=a("./lib/event_emitter").EventEmitter,g=a("./range").Range,h=a("./anchor").Anchor,i=function(a){this.$lines=[""],0===a.length?this.$lines=[""]:Array.isArray(a)?this.insertMergedLines({row:0,column:0},a):this.insert({row:0,column:0},a)};(function(){d.implement(this,f),this.setValue=function(a){var b=this.getLength()-1;this.remove(new g(0,0,b,this.getLine(b).length)),this.insert({row:0,column:0},a)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(a,b){return new h(this,a,b)},0==="aaa".split(/a/).length?this.$split=function(a){return a.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(a){return a.split(/\r\n|\r|\n/)},this.$detectNewLine=function(a){var b=a.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=b?b[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(a){this.$newLineMode!==a&&(this.$newLineMode=a,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(a){return"\r\n"==a||"\r"==a||"\n"==a},this.getLine=function(a){return this.$lines[a]||""},this.getLines=function(a,b){return this.$lines.slice(a,b+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(a){return this.getLinesForRange(a).join(this.getNewLineCharacter())},this.getLinesForRange=function(a){var b;if(a.start.row===a.end.row)b=[this.getLine(a.start.row).substring(a.start.column,a.end.column)];else{b=this.getLines(a.start.row,a.end.row),b[0]=(b[0]||"").substring(a.start.column);var c=b.length-1;a.end.row-a.start.row==c&&(b[c]=b[c].substring(0,a.end.column))}return b},this.insertLines=function(a,b){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(a,b)},this.removeLines=function(a,b){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(a,b)},this.insertNewLine=function(a){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(a,["",""])},this.insert=function(a,b){return this.getLength()<=1&&this.$detectNewLine(b),this.insertMergedLines(a,this.$split(b))},this.insertInLine=function(a,b){var c=this.clippedPos(a.row,a.column),d=this.pos(a.row,a.column+b.length);return this.applyDelta({start:c,end:d,action:"insert",lines:[b]},!0),this.clonePos(d)},this.clippedPos=function(a,b){var c=this.getLength();void 0===a?a=c:a<0?a=0:a>=c&&(a=c-1,b=void 0);var d=this.getLine(a);return void 0==b&&(b=d.length),b=Math.min(Math.max(b,0),d.length),{row:a,column:b}},this.clonePos=function(a){return{row:a.row,column:a.column}},this.pos=function(a,b){return{row:a,column:b}},this.$clipPosition=function(a){var b=this.getLength();return a.row>=b?(a.row=Math.max(0,b-1),a.column=this.getLine(b-1).length):(a.row=Math.max(0,a.row),a.column=Math.min(Math.max(a.column,0),this.getLine(a.row).length)),a},this.insertFullLines=function(a,b){a=Math.min(Math.max(a,0),this.getLength());var c=0;a<this.getLength()?(b=b.concat([""]),c=0):(b=[""].concat(b),a--,c=this.$lines[a].length),this.insertMergedLines({row:a,column:c},b)},this.insertMergedLines=function(a,b){var c=this.clippedPos(a.row,a.column),d={row:c.row+b.length-1,column:(1==b.length?c.column:0)+b[b.length-1].length};return this.applyDelta({start:c,end:d,action:"insert",lines:b}),this.clonePos(d)},this.remove=function(a){var b=this.clippedPos(a.start.row,a.start.column),c=this.clippedPos(a.end.row,a.end.column);return this.applyDelta({start:b,end:c,action:"remove",lines:this.getLinesForRange({start:b,end:c})}),this.clonePos(b)},this.removeInLine=function(a,b,c){var d=this.clippedPos(a,b),e=this.clippedPos(a,c);return this.applyDelta({start:d,end:e,action:"remove",lines:this.getLinesForRange({start:d,end:e})},!0),this.clonePos(d)},this.removeFullLines=function(a,b){a=Math.min(Math.max(0,a),this.getLength()-1),b=Math.min(Math.max(0,b),this.getLength()-1);var c=b==this.getLength()-1&&a>0,d=b<this.getLength()-1,e=c?a-1:a,f=c?this.getLine(e).length:0,h=d?b+1:b,i=d?0:this.getLine(h).length,j=new g(e,f,h,i),k=this.$lines.slice(a,b+1);return this.applyDelta({start:j.start,end:j.end,action:"remove",lines:this.getLinesForRange(j)}),k},this.removeNewLine=function(a){a<this.getLength()-1&&a>=0&&this.applyDelta({start:this.pos(a,this.getLine(a).length),end:this.pos(a+1,0),action:"remove",lines:["",""]})},this.replace=function(a,b){if(a instanceof g||(a=g.fromPoints(a.start,a.end)),0===b.length&&a.isEmpty())return a.start;if(b==this.getTextRange(a))return a.end;this.remove(a);var c;return c=b?this.insert(a.start,b):a.start},this.applyDeltas=function(a){for(var b=0;b<a.length;b++)this.applyDelta(a[b])},this.revertDeltas=function(a){for(var b=a.length-1;b>=0;b--)this.revertDelta(a[b])},this.applyDelta=function(a,b){var c="insert"==a.action;(c?a.lines.length<=1&&!a.lines[0]:!g.comparePoints(a.start,a.end))||(c&&a.lines.length>2e4&&this.$splitAndapplyLargeDelta(a,2e4),e(this.$lines,a,b),this._signal("change",a))},this.$splitAndapplyLargeDelta=function(a,b){for(var c=a.lines,d=c.length,e=a.start.row,f=a.start.column,g=0,h=0;;){g=h,h+=b-1;var i=c.slice(g,h);if(h>d){a.lines=i,a.start.row=e+g,a.start.column=f;break}i.push(""),this.applyDelta({start:this.pos(e+g,f),end:this.pos(e+h,f=0),action:a.action,lines:i},!0)}},this.revertDelta=function(a){this.applyDelta({start:this.clonePos(a.start),end:this.clonePos(a.end),action:"insert"==a.action?"remove":"insert",lines:a.lines.slice()})},this.indexToPosition=function(a,b){for(var c=this.$lines||this.getAllLines(),d=this.getNewLineCharacter().length,e=b||0,f=c.length;e<f;e++)if(a-=c[e].length+d,a<0)return{row:e,column:a+c[e].length+d};return{row:f-1,column:c[f-1].length}},this.positionToIndex=function(a,b){for(var c=this.$lines||this.getAllLines(),d=this.getNewLineCharacter().length,e=0,f=Math.min(a.row,c.length),g=b||0;g<f;++g)e+=c[g].length+d;return e+a.column}}).call(i.prototype),b.Document=i}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=function(a,b){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=a;var c=this;this.$worker=function(){if(c.running){for(var a=new Date,b=c.currentLine,d=-1,e=c.doc,f=b;c.lines[b];)b++;var g=e.getLength(),h=0;for(c.running=!1;b<g;){c.$tokenizeRow(b),d=b;do b++;while(c.lines[b]);if(h++,h%5===0&&new Date-a>20){c.running=setTimeout(c.$worker,20);break}}c.currentLine=b,f<=d&&c.fireUpdateEvent(f,d)}}};(function(){d.implement(this,e),this.setTokenizer=function(a){this.tokenizer=a,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(a){this.doc=a,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(a,b){var c={first:a,last:b};this._signal("update",{data:c})},this.start=function(a){this.currentLine=Math.min(a||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(a){var b=a.start.row,c=a.end.row-b;if(0===c)this.lines[b]=null;else if("remove"==a.action)this.lines.splice(b,c+1,null),this.states.splice(b,c+1,null);else{var d=Array(c+1);d.unshift(b,1),this.lines.splice.apply(this.lines,d),this.states.splice.apply(this.states,d)}this.currentLine=Math.min(b,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(a){return this.lines[a]||this.$tokenizeRow(a)},this.getState=function(a){return this.currentLine==a&&this.$tokenizeRow(a),this.states[a]||"start"},this.$tokenizeRow=function(a){var b=this.doc.getLine(a),c=this.states[a-1],d=this.tokenizer.getLineTokens(b,c,a);return this.states[a]+""!=d.state+""?(this.states[a]=d.state,this.lines[a+1]=null,this.currentLine>a+1&&(this.currentLine=a+1)):this.currentLine==a&&(this.currentLine=a+1),this.lines[a]=d.tokens}}).call(f.prototype),b.BackgroundTokenizer=f}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(a,b,c){
+"use strict";var d=a("./lib/lang"),e=(a("./lib/oop"),a("./range").Range),f=function(a,b,c){this.setRegexp(a),this.clazz=b,this.type=c||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(a){this.regExp+""!=a+""&&(this.regExp=a,this.cache=[])},this.update=function(a,b,c,f){if(this.regExp)for(var g=f.firstRow,h=f.lastRow,i=g;i<=h;i++){var j=this.cache[i];null==j&&(j=d.getMatchOffsets(c.getLine(i),this.regExp),j.length>this.MAX_RANGES&&(j=j.slice(0,this.MAX_RANGES)),j=j.map(function(a){return new e(i,a.offset,i,a.offset+a.length)}),this.cache[i]=j.length?j:"");for(var k=j.length;k--;)b.drawSingleLineMarker(a,j[k].toScreenRange(c),this.clazz,f)}}}).call(f.prototype),b.SearchHighlight=f}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(a,b,c){"use strict";function d(a,b){this.foldData=a,Array.isArray(b)?this.folds=b:b=this.folds=[b];var c=b[b.length-1];this.range=new e(b[0].start.row,b[0].start.column,c.end.row,c.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(a){a.setFoldLine(this)},this)}var e=a("../range").Range;(function(){this.shiftRow=function(a){this.start.row+=a,this.end.row+=a,this.folds.forEach(function(b){b.start.row+=a,b.end.row+=a})},this.addFold=function(a){if(a.sameRow){if(a.start.row<this.startRow||a.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(a),this.folds.sort(function(a,b){return-a.range.compareEnd(b.start.row,b.start.column)}),this.range.compareEnd(a.start.row,a.start.column)>0?(this.end.row=a.end.row,this.end.column=a.end.column):this.range.compareStart(a.end.row,a.end.column)<0&&(this.start.row=a.start.row,this.start.column=a.start.column)}else if(a.start.row==this.end.row)this.folds.push(a),this.end.row=a.end.row,this.end.column=a.end.column;else{if(a.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(a),this.start.row=a.start.row,this.start.column=a.start.column}a.foldLine=this},this.containsRow=function(a){return a>=this.start.row&&a<=this.end.row},this.walk=function(a,b,c){var d,e,f,g=0,h=this.folds,i=!0;null==b&&(b=this.end.row,c=this.end.column);for(var j=0;j<h.length;j++){if(d=h[j],e=d.range.compareStart(b,c),e==-1)return void a(null,b,c,g,i);if(f=a(null,d.start.row,d.start.column,g,i),f=!f&&a(d.placeholder,d.start.row,d.start.column,g),f||0===e)return;i=!d.sameRow,g=d.end.column}a(null,b,c,g,i)},this.getNextFoldTo=function(a,b){for(var c,d,e=0;e<this.folds.length;e++){if(c=this.folds[e],d=c.range.compareEnd(a,b),d==-1)return{fold:c,kind:"after"};if(0===d)return{fold:c,kind:"inside"}}return null},this.addRemoveChars=function(a,b,c){var d,e,f=this.getNextFoldTo(a,b);if(f)if(d=f.fold,"inside"==f.kind&&d.start.column!=b&&d.start.row!=a)window.console&&window.console.log(a,b,d);else if(d.start.row==a){e=this.folds;var g=e.indexOf(d);for(0===g&&(this.start.column+=c),g;g<e.length;g++){if(d=e[g],d.start.column+=c,!d.sameRow)return;d.end.column+=c}this.end.column+=c}},this.split=function(a,b){var c=this.getNextFoldTo(a,b);if(!c||"inside"==c.kind)return null;var e=c.fold,f=this.folds,g=this.foldData,h=f.indexOf(e),i=f[h-1];this.end.row=i.end.row,this.end.column=i.end.column,f=f.splice(h,f.length-h);var j=new d(g,f);return g.splice(g.indexOf(this)+1,0,j),j},this.merge=function(a){for(var b=a.folds,c=0;c<b.length;c++)this.addFold(b[c]);var d=this.foldData;d.splice(d.indexOf(a),1)},this.toString=function(){var a=[this.range.toString()+": ["];return this.folds.forEach(function(b){a.push("  "+b.toString())}),a.push("]"),a.join("\n")},this.idxToPosition=function(a){for(var b=0,c=0;c<this.folds.length;c++){var d=this.folds[c];if(a-=d.start.column-b,a<0)return{row:d.start.row,column:d.start.column+a};if(a-=d.placeholder.length,a<0)return d.start;b=d.end.column}return{row:this.end.row,column:this.end.column+a}}}).call(d.prototype),b.FoldLine=d}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(a,b,c){"use strict";var d=a("./range").Range,e=d.comparePoints,f=function(){this.ranges=[]};(function(){this.comparePoints=e,this.pointIndex=function(a,b,c){for(var d=this.ranges,f=c||0;f<d.length;f++){var g=d[f],h=e(a,g.end);if(!(h>0)){var i=e(a,g.start);return 0===h?b&&0!==i?-f-2:f:i>0||0===i&&!b?f:-f-1}}return-f-1},this.add=function(a){var b=!a.isEmpty(),c=this.pointIndex(a.start,b);c<0&&(c=-c-1);var d=this.pointIndex(a.end,b,c);return d<0?d=-d-1:d++,this.ranges.splice(c,d-c,a)},this.addList=function(a){for(var b=[],c=a.length;c--;)b.push.apply(b,this.add(a[c]));return b},this.substractPoint=function(a){var b=this.pointIndex(a);if(b>=0)return this.ranges.splice(b,1)},this.merge=function(){var a=[],b=this.ranges;b=b.sort(function(a,b){return e(a.start,b.start)});for(var c,d=b[0],f=1;f<b.length;f++){c=d,d=b[f];var g=e(c.end,d.start);g<0||(0!=g||c.isEmpty()||d.isEmpty())&&(e(c.end,d.end)<0&&(c.end.row=d.end.row,c.end.column=d.end.column),b.splice(f,1),a.push(d),d=c,f--)}return this.ranges=b,a},this.contains=function(a,b){return this.pointIndex({row:a,column:b})>=0},this.containsPoint=function(a){return this.pointIndex(a)>=0},this.rangeAtPoint=function(a){var b=this.pointIndex(a);if(b>=0)return this.ranges[b]},this.clipRows=function(a,b){var c=this.ranges;if(c[0].start.row>b||c[c.length-1].start.row<a)return[];var d=this.pointIndex({row:a,column:0});d<0&&(d=-d-1);var e=this.pointIndex({row:b,column:0},d);e<0&&(e=-e-1);for(var f=[],g=d;g<e;g++)f.push(c[g]);return f},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(a){this.session&&this.detach(),this.session=a,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},this.$onChange=function(a){if("insert"==a.action)var b=a.start,c=a.end;else var c=a.start,b=a.end;for(var d=b.row,e=c.row,f=e-d,g=-b.column+c.column,h=this.ranges,i=0,j=h.length;i<j;i++){var k=h[i];if(!(k.end.row<d)){if(k.start.row>d)break;if(k.start.row==d&&k.start.column>=b.column&&(k.start.column!=b.column||!this.$insertRight)&&(k.start.column+=g,k.start.row+=f),k.end.row==d&&k.end.column>=b.column){if(k.end.column==b.column&&this.$insertRight)continue;k.end.column==b.column&&g>0&&i<j-1&&k.end.column>k.start.column&&k.end.column==h[i+1].start.column&&(k.end.column-=g),k.end.column+=g,k.end.row+=f}}}if(0!=f&&i<j)for(;i<j;i++){var k=h[i];k.start.row+=f,k.end.row+=f}}}).call(f.prototype),b.RangeList=f}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(a,b,c){"use strict";function d(a,b){a.row-=b.row,0==a.row&&(a.column-=b.column)}function e(a,b){d(a.start,b),d(a.end,b)}function f(a,b){0==a.row&&(a.column+=b.column),a.row+=b.row}function g(a,b){f(a.start,b),f(a.end,b)}var h=(a("../range").Range,a("../range_list").RangeList),i=a("../lib/oop"),j=b.Fold=function(a,b){this.foldLine=null,this.placeholder=b,this.range=a,this.start=a.start,this.end=a.end,this.sameRow=a.start.row==a.end.row,this.subFolds=this.ranges=[]};i.inherits(j,h),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(a){this.foldLine=a,this.subFolds.forEach(function(b){b.setFoldLine(a)})},this.clone=function(){var a=this.range.clone(),b=new j(a,this.placeholder);return this.subFolds.forEach(function(a){b.subFolds.push(a.clone())}),b.collapseChildren=this.collapseChildren,b},this.addSubFold=function(a){if(!this.range.isEqual(a)){if(!this.range.containsRange(a))throw new Error("A fold can't intersect already existing fold"+a.range+this.range);e(a,this.start);for(var b=a.start.row,c=a.start.column,d=0,f=-1;d<this.subFolds.length&&(f=this.subFolds[d].range.compare(b,c),1==f);d++);var g=this.subFolds[d];if(0==f)return g.addSubFold(a);for(var b=a.range.end.row,c=a.range.end.column,h=d,f=-1;h<this.subFolds.length&&(f=this.subFolds[h].range.compare(b,c),1==f);h++);this.subFolds[h];if(0==f)throw new Error("A fold can't intersect already existing fold"+a.range+this.range);this.subFolds.splice(d,h-d,a);return a.setFoldLine(this.foldLine),a}},this.restoreRange=function(a){return g(a,this.start)}}.call(j.prototype)}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(a,b,c){"use strict";function d(){this.getFoldAt=function(a,b,c){var d=this.getFoldLine(a);if(!d)return null;for(var e=d.folds,f=0;f<e.length;f++){var g=e[f];if(g.range.contains(a,b)){if(1==c&&g.range.isEnd(a,b))continue;if(c==-1&&g.range.isStart(a,b))continue;return g}}},this.getFoldsInRange=function(a){var b=a.start,c=a.end,d=this.$foldData,e=[];b.column+=1,c.column-=1;for(var f=0;f<d.length;f++){var g=d[f].range.compareRange(a);if(2!=g){if(g==-2)break;for(var h=d[f].folds,i=0;i<h.length;i++){var j=h[i];if(g=j.range.compareRange(a),g==-2)break;if(2!=g){if(42==g)break;e.push(j)}}}}return b.column-=1,c.column+=1,e},this.getFoldsInRangeList=function(a){if(Array.isArray(a)){var b=[];a.forEach(function(a){b=b.concat(this.getFoldsInRange(a))},this)}else var b=this.getFoldsInRange(a);return b},this.getAllFolds=function(){for(var a=[],b=this.$foldData,c=0;c<b.length;c++)for(var d=0;d<b[c].folds.length;d++)a.push(b[c].folds[d]);return a},this.getFoldStringAt=function(a,b,c,d){if(d=d||this.getFoldLine(a),!d)return null;for(var e,f,g={end:{column:0}},h=0;h<d.folds.length;h++){f=d.folds[h];var i=f.range.compareEnd(a,b);if(i==-1){e=this.getLine(f.start.row).substring(g.end.column,f.start.column);break}if(0===i)return null;g=f}return e||(e=this.getLine(f.start.row).substring(g.end.column)),c==-1?e.substring(0,b-g.end.column):1==c?e.substring(b-g.end.column):e},this.getFoldLine=function(a,b){var c=this.$foldData,d=0;for(b&&(d=c.indexOf(b)),d==-1&&(d=0),d;d<c.length;d++){var e=c[d];if(e.start.row<=a&&e.end.row>=a)return e;if(e.end.row>a)return null}return null},this.getNextFoldLine=function(a,b){var c=this.$foldData,d=0;for(b&&(d=c.indexOf(b)),d==-1&&(d=0),d;d<c.length;d++){var e=c[d];if(e.end.row>=a)return e}return null},this.getFoldedRowCount=function(a,b){for(var c=this.$foldData,d=b-a+1,e=0;e<c.length;e++){var f=c[e],g=f.end.row,h=f.start.row;if(g>=b){h<b&&(h>=a?d-=b-h:d=0);break}g>=a&&(d-=h>=a?g-h:g-a+1)}return d},this.$addFoldLine=function(a){return this.$foldData.push(a),this.$foldData.sort(function(a,b){return a.start.row-b.start.row}),a},this.addFold=function(a,b){var c,d=this.$foldData,e=!1;a instanceof g?c=a:(c=new g(b,a),c.collapseChildren=b.collapseChildren),this.$clipRangeToDocument(c.range);var h=c.start.row,i=c.start.column,j=c.end.row,k=c.end.column;if(h<j||h==j&&i<=k-2){var l=this.getFoldAt(h,i,1),m=this.getFoldAt(j,k,-1);if(l&&m==l)return l.addSubFold(c);l&&!l.range.isStart(h,i)&&this.removeFold(l),m&&!m.range.isEnd(j,k)&&this.removeFold(m);var n=this.getFoldsInRange(c.range);n.length>0&&(this.removeFolds(n),n.forEach(function(a){c.addSubFold(a)}));for(var o=0;o<d.length;o++){var p=d[o];if(j==p.start.row){p.addFold(c),e=!0;break}if(h==p.end.row){if(p.addFold(c),e=!0,!c.sameRow){var q=d[o+1];if(q&&q.start.row==j){p.merge(q);break}}break}if(j<=p.start.row)break}return e||(p=this.$addFoldLine(new f(this.$foldData,c))),this.$useWrapMode?this.$updateWrapData(p.start.row,p.start.row):this.$updateRowLengthCache(p.start.row,p.start.row),this.$modified=!0,this._signal("changeFold",{data:c,action:"add"}),c}throw new Error("The range has to be at least 2 characters width")},this.addFolds=function(a){a.forEach(function(a){this.addFold(a)},this)},this.removeFold=function(a){var b=a.foldLine,c=b.start.row,d=b.end.row,e=this.$foldData,f=b.folds;if(1==f.length)e.splice(e.indexOf(b),1);else if(b.range.isEnd(a.end.row,a.end.column))f.pop(),b.end.row=f[f.length-1].end.row,b.end.column=f[f.length-1].end.column;else if(b.range.isStart(a.start.row,a.start.column))f.shift(),b.start.row=f[0].start.row,b.start.column=f[0].start.column;else if(a.sameRow)f.splice(f.indexOf(a),1);else{var g=b.split(a.start.row,a.start.column);f=g.folds,f.shift(),g.start.row=f[0].start.row,g.start.column=f[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(c,d):this.$updateRowLengthCache(c,d)),this.$modified=!0,this._signal("changeFold",{data:a,action:"remove"})},this.removeFolds=function(a){for(var b=[],c=0;c<a.length;c++)b.push(a[c]);b.forEach(function(a){this.removeFold(a)},this),this.$modified=!0},this.expandFold=function(a){this.removeFold(a),a.subFolds.forEach(function(b){a.restoreRange(b),this.addFold(b)},this),a.collapseChildren>0&&this.foldAll(a.start.row+1,a.end.row,a.collapseChildren-1),a.subFolds=[]},this.expandFolds=function(a){a.forEach(function(a){this.expandFold(a)},this)},this.unfold=function(a,b){var c,d;if(null==a?(c=new e(0,0,this.getLength(),0),b=!0):c="number"==typeof a?new e(a,0,a,this.getLine(a).length):"row"in a?e.fromPoints(a,a):a,d=this.getFoldsInRangeList(c),b)this.removeFolds(d);else for(var f=d;f.length;)this.expandFolds(f),f=this.getFoldsInRangeList(c);if(d.length)return d},this.isRowFolded=function(a,b){return!!this.getFoldLine(a,b)},this.getRowFoldEnd=function(a,b){var c=this.getFoldLine(a,b);return c?c.end.row:a},this.getRowFoldStart=function(a,b){var c=this.getFoldLine(a,b);return c?c.start.row:a},this.getFoldDisplayLine=function(a,b,c,d,e){null==d&&(d=a.start.row),null==e&&(e=0),null==b&&(b=a.end.row),null==c&&(c=this.getLine(b).length);var f=this.doc,g="";return a.walk(function(a,b,c,h){if(!(b<d)){if(b==d){if(c<e)return;h=Math.max(e,h)}g+=null!=a?a:f.getLine(b).substring(h,c)}},b,c),g},this.getDisplayLine=function(a,b,c,d){var e=this.getFoldLine(a);if(!e){var f;return f=this.doc.getLine(a),f.substring(d||0,b||f.length)}return this.getFoldDisplayLine(e,a,b,c,d)},this.$cloneFoldData=function(){var a=[];return a=this.$foldData.map(function(b){var c=b.folds.map(function(a){return a.clone()});return new f(a,c)})},this.toggleFold=function(a){var b,c,d=this.selection,e=d.getRange();if(e.isEmpty()){var f=e.start;if(b=this.getFoldAt(f.row,f.column))return void this.expandFold(b);(c=this.findMatchingBracket(f))?1==e.comparePoint(c)?e.end=c:(e.start=c,e.start.column++,e.end.column--):(c=this.findMatchingBracket({row:f.row,column:f.column+1}))?(1==e.comparePoint(c)?e.end=c:e.start=c,e.start.column++):e=this.getCommentFoldRange(f.row,f.column)||e}else{var g=this.getFoldsInRange(e);if(a&&g.length)return void this.expandFolds(g);1==g.length&&(b=g[0])}if(b||(b=this.getFoldAt(e.start.row,e.start.column)),b&&b.range.toString()==e.toString())return void this.expandFold(b);var h="...";if(!e.isMultiLine()){if(h=this.getTextRange(e),h.length<4)return;h=h.trim().substring(0,2)+".."}this.addFold(h,e)},this.getCommentFoldRange=function(a,b,c){var d=new h(this,a,b),f=d.getCurrentToken();if(f&&/^comment|string/.test(f.type)){var g=new e,i=new RegExp(f.type.replace(/\..*/,"\\."));if(1!=c){do f=d.stepBackward();while(f&&i.test(f.type));d.stepForward()}if(g.start.row=d.getCurrentTokenRow(),g.start.column=d.getCurrentTokenColumn()+2,d=new h(this,a,b),c!=-1){do f=d.stepForward();while(f&&i.test(f.type));f=d.stepBackward()}else f=d.getCurrentToken();return g.end.row=d.getCurrentTokenRow(),g.end.column=d.getCurrentTokenColumn()+f.value.length-2,g}},this.foldAll=function(a,b,c){void 0==c&&(c=1e5);var d=this.foldWidgets;if(d){b=b||this.getLength(),a=a||0;for(var e=a;e<b;e++)if(null==d[e]&&(d[e]=this.getFoldWidget(e)),"start"==d[e]){var f=this.getFoldWidgetRange(e);if(f&&f.isMultiLine()&&f.end.row<=b&&f.start.row>=a){e=f.end.row;try{var g=this.addFold("...",f);g&&(g.collapseChildren=c)}catch(h){}}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(a){if(!this.$foldStyles[a])throw new Error("invalid fold style: "+a+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=a){this.$foldStyle=a,"manual"==a&&this.unfold();var b=this.$foldMode;this.$setFolding(null),this.$setFolding(b)}},this.$setFolding=function(a){if(this.$foldMode!=a)return this.$foldMode=a,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),a&&"manual"!=this.$foldStyle?(this.foldWidgets=[],this.getFoldWidget=a.getFoldWidget.bind(a,this,this.$foldStyle),this.getFoldWidgetRange=a.getFoldWidgetRange.bind(a,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),void 0):void(this.foldWidgets=null)},this.getParentFoldRangeData=function(a,b){var c=this.foldWidgets;if(!c||b&&c[a])return{};for(var d,e=a-1;e>=0;){var f=c[e];if(null==f&&(f=c[e]=this.getFoldWidget(e)),"start"==f){var g=this.getFoldWidgetRange(e);if(d||(d=g),g&&g.end.row>=a)break}e--}return{range:e!==-1&&g,firstRange:d}},this.onFoldWidgetClick=function(a,b){b=b.domEvent;var c={children:b.shiftKey,all:b.ctrlKey||b.metaKey,siblings:b.altKey},d=this.$toggleFoldWidget(a,c);if(!d){var e=b.target||b.srcElement;e&&/ace_fold-widget/.test(e.className)&&(e.className+=" ace_invalid")}},this.$toggleFoldWidget=function(a,b){if(this.getFoldWidget){var c=this.getFoldWidget(a),d=this.getLine(a),e="end"===c?-1:1,f=this.getFoldAt(a,e===-1?0:d.length,e);if(f)return b.children||b.all?this.removeFold(f):this.expandFold(f),f;var g=this.getFoldWidgetRange(a,!0);if(g&&!g.isMultiLine()&&(f=this.getFoldAt(g.start.row,g.start.column,1),f&&g.isEqual(f.range)))return this.removeFold(f),f;if(b.siblings){var h=this.getParentFoldRangeData(a);if(h.range)var i=h.range.start.row+1,j=h.range.end.row;this.foldAll(i,j,b.all?1e4:0)}else b.children?(j=g?g.end.row:this.getLength(),this.foldAll(a+1,j,b.all?1e4:0)):g&&(b.all&&(g.collapseChildren=1e4),this.addFold("...",g));return g}},this.toggleFoldWidget=function(a){var b=this.selection.getCursor().row;b=this.getRowFoldStart(b);var c=this.$toggleFoldWidget(b,{});if(!c){var d=this.getParentFoldRangeData(b,!0);if(c=d.range||d.firstRange){b=c.start.row;var e=this.getFoldAt(b,this.getLine(b).length,1);e?this.removeFold(e):this.addFold("...",c)}}},this.updateFoldWidgets=function(a){var b=a.start.row,c=a.end.row-b;if(0===c)this.foldWidgets[b]=null;else if("remove"==a.action)this.foldWidgets.splice(b,c+1,null);else{var d=Array(c+1);d.unshift(b,1),this.foldWidgets.splice.apply(this.foldWidgets,d)}},this.tokenizerUpdateFoldWidgets=function(a){var b=a.data;b.first!=b.last&&this.foldWidgets.length>b.first&&this.foldWidgets.splice(b.first,this.foldWidgets.length)}}var e=a("../range").Range,f=a("./fold_line").FoldLine,g=a("./fold").Fold,h=a("../token_iterator").TokenIterator;b.Folding=d}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(a,b,c){"use strict";function d(){this.findMatchingBracket=function(a,b){if(0==a.column)return null;var c=b||this.getLine(a.row).charAt(a.column-1);if(""==c)return null;var d=c.match(/([\(\[\{])|([\)\]\}])/);return d?d[1]?this.$findClosingBracket(d[1],a):this.$findOpeningBracket(d[2],a):null},this.getBracketRange=function(a){var b,c=this.getLine(a.row),d=!0,e=c.charAt(a.column-1),g=e&&e.match(/([\(\[\{])|([\)\]\}])/);if(g||(e=c.charAt(a.column),a={row:a.row,column:a.column+1},g=e&&e.match(/([\(\[\{])|([\)\]\}])/),d=!1),!g)return null;if(g[1]){var h=this.$findClosingBracket(g[1],a);if(!h)return null;b=f.fromPoints(a,h),d||(b.end.column++,b.start.column--),b.cursor=b.end}else{var h=this.$findOpeningBracket(g[2],a);if(!h)return null;b=f.fromPoints(h,a),d||(b.start.column++,b.end.column--),b.cursor=b.start}return b},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(a,b,c){var d=this.$brackets[a],f=1,g=new e(this,b.row,b.column),h=g.getCurrentToken();if(h||(h=g.stepForward()),h){c||(c=new RegExp("(\\.?"+h.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));for(var i=b.column-g.getCurrentTokenColumn()-2,j=h.value;;){for(;i>=0;){var k=j.charAt(i);if(k==d){if(f-=1,0==f)return{row:g.getCurrentTokenRow(),column:i+g.getCurrentTokenColumn()}}else k==a&&(f+=1);i-=1}do h=g.stepBackward();while(h&&!c.test(h.type));if(null==h)break;j=h.value,i=j.length-1}return null}},this.$findClosingBracket=function(a,b,c){var d=this.$brackets[a],f=1,g=new e(this,b.row,b.column),h=g.getCurrentToken();if(h||(h=g.stepForward()),h){c||(c=new RegExp("(\\.?"+h.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));for(var i=b.column-g.getCurrentTokenColumn();;){for(var j=h.value,k=j.length;i<k;){var l=j.charAt(i);if(l==d){if(f-=1,0==f)return{row:g.getCurrentTokenRow(),column:i+g.getCurrentTokenColumn()}}else l==a&&(f+=1);i+=1}do h=g.stepForward();while(h&&!c.test(h.type));if(null==h)break;i=0}return null}}}var e=a("../token_iterator").TokenIterator,f=a("../range").Range;b.BracketMatch=d}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/lang"),f=a("./config"),g=a("./lib/event_emitter").EventEmitter,h=a("./selection").Selection,i=a("./mode/text").Mode,j=a("./range").Range,k=a("./document").Document,l=a("./background_tokenizer").BackgroundTokenizer,m=a("./search_highlight").SearchHighlight,n=function(a,b){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id="session"+ ++n.$uid,this.$foldData.toString=function(){return this.join("\n")},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),"object"==typeof a&&a.getLine||(a=new k(a)),this.setDocument(a),this.selection=new h(this),f.resetOptions(this),this.setMode(b),f._signal("session",this)};(function(){function a(a){return!(a<4352)&&(a>=4352&&a<=4447||a>=4515&&a<=4519||a>=4602&&a<=4607||a>=9001&&a<=9002||a>=11904&&a<=11929||a>=11931&&a<=12019||a>=12032&&a<=12245||a>=12272&&a<=12283||a>=12288&&a<=12350||a>=12353&&a<=12438||a>=12441&&a<=12543||a>=12549&&a<=12589||a>=12593&&a<=12686||a>=12688&&a<=12730||a>=12736&&a<=12771||a>=12784&&a<=12830||a>=12832&&a<=12871||a>=12880&&a<=13054||a>=13056&&a<=19903||a>=19968&&a<=42124||a>=42128&&a<=42182||a>=43360&&a<=43388||a>=44032&&a<=55203||a>=55216&&a<=55238||a>=55243&&a<=55291||a>=63744&&a<=64255||a>=65040&&a<=65049||a>=65072&&a<=65106||a>=65108&&a<=65126||a>=65128&&a<=65131||a>=65281&&a<=65376||a>=65504&&a<=65510)}d.implement(this,g),this.setDocument=function(a){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=a,a.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(a){if(!a)return this.$docRowCache=[],void(this.$screenRowCache=[]);var b=this.$docRowCache.length,c=this.$getRowCacheIndex(this.$docRowCache,a)+1;b>c&&(this.$docRowCache.splice(c,b),this.$screenRowCache.splice(c,b))},this.$getRowCacheIndex=function(a,b){for(var c=0,d=a.length-1;c<=d;){var e=c+d>>1,f=a[e];if(b>f)c=e+1;else{if(!(b<f))return e;d=e-1}}return c-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(a){var b=a.data;this.$resetRowCache(b.start.row)},this.onChange=function(a){this.$modified=!0,this.$resetRowCache(a.start.row);var b=this.$updateInternalDataOnChange(a);!this.$fromUndo&&this.$undoManager&&!a.ignore&&(this.$deltasDoc.push(a),b&&0!=b.length&&this.$deltasFold.push({action:"removeFolds",folds:b}),this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(a),this._signal("change",a)},this.setValue=function(a){this.doc.setValue(a),this.selection.moveTo(0,0),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(a){return this.bgTokenizer.getState(a)},this.getTokens=function(a){return this.bgTokenizer.getTokens(a)},this.getTokenAt=function(a,b){var c,d=this.bgTokenizer.getTokens(a),e=0;if(null==b)f=d.length-1,e=this.getLine(a).length;else for(var f=0;f<d.length&&(e+=d[f].value.length,!(e>=b));f++);return c=d[f],c?(c.index=f,c.start=e-c.value.length,c):null},this.setUndoManager=function(a){if(this.$undoManager=a,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel(),a){var b=this;this.$syncInformUndoManager=function(){b.$informUndoManager.cancel(),b.$deltasFold.length&&(b.$deltas.push({group:"fold",deltas:b.$deltasFold}),b.$deltasFold=[]),b.$deltasDoc.length&&(b.$deltas.push({group:"doc",deltas:b.$deltasDoc}),b.$deltasDoc=[]),b.$deltas.length>0&&a.execute({action:"aceupdate",args:[b.$deltas,b],merge:b.mergeUndoDeltas}),b.mergeUndoDeltas=!1,b.$deltas=[]},this.$informUndoManager=e.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?e.stringRepeat(" ",this.getTabSize()):"\t"},this.setUseSoftTabs=function(a){this.setOption("useSoftTabs",a)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(a){this.setOption("tabSize",a)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(a){return this.$useSoftTabs&&a.column%this.$tabSize===0},this.$overwrite=!1,this.setOverwrite=function(a){this.setOption("overwrite",a)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(a,b){this.$decorations[a]||(this.$decorations[a]=""),this.$decorations[a]+=" "+b,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(a,b){this.$decorations[a]=(this.$decorations[a]||"").replace(" "+b,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(a){this.$breakpoints=[];for(var b=0;b<a.length;b++)this.$breakpoints[a[b]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(a,b){void 0===b&&(b="ace_breakpoint"),b?this.$breakpoints[a]=b:delete this.$breakpoints[a],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(a){delete this.$breakpoints[a],this._signal("changeBreakpoint",{})},this.addMarker=function(a,b,c,d){var e=this.$markerId++,f={range:a,type:c||"line",renderer:"function"==typeof c?c:null,clazz:b,inFront:!!d,id:e};return d?(this.$frontMarkers[e]=f,this._signal("changeFrontMarker")):(this.$backMarkers[e]=f,this._signal("changeBackMarker")),e},this.addDynamicMarker=function(a,b){if(a.update){var c=this.$markerId++;return a.id=c,a.inFront=!!b,b?(this.$frontMarkers[c]=a,this._signal("changeFrontMarker")):(this.$backMarkers[c]=a,this._signal("changeBackMarker")),a}},this.removeMarker=function(a){var b=this.$frontMarkers[a]||this.$backMarkers[a];if(b){var c=b.inFront?this.$frontMarkers:this.$backMarkers;b&&(delete c[a],this._signal(b.inFront?"changeFrontMarker":"changeBackMarker"))}},this.getMarkers=function(a){return a?this.$frontMarkers:this.$backMarkers},this.highlight=function(a){if(!this.$searchHighlight){var b=new m(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(b)}this.$searchHighlight.setRegexp(a)},this.highlightLines=function(a,b,c,d){"number"!=typeof b&&(c=b,b=a),c||(c="ace_step");var e=new j(a,0,b,1/0);return e.id=this.addMarker(e,c,"fullLine",d),e},this.setAnnotations=function(a){this.$annotations=a,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(a){var b=a.match(/^.*?(\r?\n)/m);b?this.$autoNewLine=b[1]:this.$autoNewLine="\n"},this.getWordRange=function(a,b){var c=this.getLine(a),d=!1;if(b>0&&(d=!!c.charAt(b-1).match(this.tokenRe)),d||(d=!!c.charAt(b).match(this.tokenRe)),d)var e=this.tokenRe;else if(/^\s+$/.test(c.slice(b-1,b+1)))var e=/\s/;else var e=this.nonTokenRe;var f=b;if(f>0){do f--;while(f>=0&&c.charAt(f).match(e));f++}for(var g=b;g<c.length&&c.charAt(g).match(e);)g++;return new j(a,f,a,g)},this.getAWordRange=function(a,b){for(var c=this.getWordRange(a,b),d=this.getLine(c.end.row);d.charAt(c.end.column).match(/[ \t]/);)c.end.column+=1;return c},this.setNewLineMode=function(a){this.doc.setNewLineMode(a)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(a){this.setOption("useWorker",a)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(a){var b=a.data;this.bgTokenizer.start(b.first),this._signal("tokenizerUpdate",a)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(a,b){if(a&&"object"==typeof a){if(a.getTokenizer)return this.$onChangeMode(a);var c=a,d=c.path}else d=a||"ace/mode/text";return this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new i),this.$modes[d]&&!c?(this.$onChangeMode(this.$modes[d]),void(b&&b())):(this.$modeId=d,f.loadModule(["mode",d],function(a){return this.$modeId!==d?b&&b():(this.$modes[d]&&!c?this.$onChangeMode(this.$modes[d]):a&&a.Mode&&(a=new a.Mode(c),c||(this.$modes[d]=a,a.$id=d),this.$onChangeMode(a)),void(b&&b()))}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0),void 0)},this.$onChangeMode=function(a,b){if(b||(this.$modeId=a.$id),this.$mode!==a){this.$mode=a,this.$stopWorker(),this.$useWorker&&this.$startWorker();var c=a.getTokenizer();if(void 0!==c.addEventListener){var d=this.onReloadTokenizer.bind(this);c.addEventListener("update",d)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(c);else{this.bgTokenizer=new l(c);var e=this;this.bgTokenizer.addEventListener("update",function(a){e._signal("tokenizerUpdate",a)})}this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=a.tokenRe,this.nonTokenRe=a.nonTokenRe,b||(a.attachToSession&&a.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(a.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode"))}},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(a){f.warn("Could not load worker",a),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(a){this.$scrollTop===a||isNaN(a)||(this.$scrollTop=a,this._signal("changeScrollTop",a))},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(a){this.$scrollLeft===a||isNaN(a)||(this.$scrollLeft=a,this._signal("changeScrollLeft",a))},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(null!=this.lineWidgetsWidth)return this.lineWidgetsWidth;var a=0;return this.lineWidgets.forEach(function(b){b&&b.screenWidth>a&&(a=b.screenWidth)}),this.lineWidgetWidth=a},this.$computeWidth=function(a){
+if(this.$modified||a){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var b=this.doc.getAllLines(),c=this.$rowLengthCache,d=0,e=0,f=this.$foldData[e],g=f?f.start.row:1/0,h=b.length,i=0;i<h;i++){if(i>g){if(i=f.end.row+1,i>=h)break;f=this.$foldData[e++],g=f?f.start.row:1/0}null==c[i]&&(c[i]=this.$getStringScreenWidth(b[i])[0]),c[i]>d&&(d=c[i])}this.screenWidth=d}},this.getLine=function(a){return this.doc.getLine(a)},this.getLines=function(a,b){return this.doc.getLines(a,b)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(a){return this.doc.getTextRange(a||this.selection.getRange())},this.insert=function(a,b){return this.doc.insert(a,b)},this.remove=function(a){return this.doc.remove(a)},this.removeFullLines=function(a,b){return this.doc.removeFullLines(a,b)},this.undoChanges=function(a,b){if(a.length){this.$fromUndo=!0;for(var c=null,d=a.length-1;d!=-1;d--){var e=a[d];"doc"==e.group?(this.doc.revertDeltas(e.deltas),c=this.$getUndoSelection(e.deltas,!0,c)):e.deltas.forEach(function(a){this.addFolds(a.folds)},this)}return this.$fromUndo=!1,c&&this.$undoSelect&&!b&&this.selection.setSelectionRange(c),c}},this.redoChanges=function(a,b){if(a.length){this.$fromUndo=!0;for(var c=null,d=0;d<a.length;d++){var e=a[d];"doc"==e.group&&(this.doc.applyDeltas(e.deltas),c=this.$getUndoSelection(e.deltas,!1,c))}return this.$fromUndo=!1,c&&this.$undoSelect&&!b&&this.selection.setSelectionRange(c),c}},this.setUndoSelect=function(a){this.$undoSelect=a},this.$getUndoSelection=function(a,b,c){function d(a){return b?"insert"!==a.action:"insert"===a.action}var e,f,g=a[0],h=!1;d(g)?(e=j.fromPoints(g.start,g.end),h=!0):(e=j.fromPoints(g.start,g.start),h=!1);for(var i=1;i<a.length;i++)g=a[i],d(g)?(f=g.start,e.compare(f.row,f.column)==-1&&e.setStart(f),f=g.end,1==e.compare(f.row,f.column)&&e.setEnd(f),h=!0):(f=g.start,e.compare(f.row,f.column)==-1&&(e=j.fromPoints(g.start,g.start)),h=!1);if(null!=c){0===j.comparePoints(c.start,e.start)&&(c.start.column+=e.end.column-e.start.column,c.end.column+=e.end.column-e.start.column);var k=c.compareRange(e);1==k?e.setStart(c.start):k==-1&&e.setEnd(c.end)}return e},this.replace=function(a,b){return this.doc.replace(a,b)},this.moveText=function(a,b,c){var d=this.getTextRange(a),e=this.getFoldsInRange(a),f=j.fromPoints(b,b);if(!c){this.remove(a);var g=a.start.row-a.end.row,h=g?-a.end.column:a.start.column-a.end.column;h&&(f.start.row==a.end.row&&f.start.column>a.end.column&&(f.start.column+=h),f.end.row==a.end.row&&f.end.column>a.end.column&&(f.end.column+=h)),g&&f.start.row>=a.end.row&&(f.start.row+=g,f.end.row+=g)}if(f.end=this.insert(f.start,d),e.length){var i=a.start,k=f.start,g=k.row-i.row,h=k.column-i.column;this.addFolds(e.map(function(a){return a=a.clone(),a.start.row==i.row&&(a.start.column+=h),a.end.row==i.row&&(a.end.column+=h),a.start.row+=g,a.end.row+=g,a}))}return f},this.indentRows=function(a,b,c){c=c.replace(/\t/g,this.getTabString());for(var d=a;d<=b;d++)this.doc.insertInLine({row:d,column:0},c)},this.outdentRows=function(a){for(var b=a.collapseRows(),c=new j(0,0,0,0),d=this.getTabSize(),e=b.start.row;e<=b.end.row;++e){var f=this.getLine(e);c.start.row=e,c.end.row=e;for(var g=0;g<d&&" "==f.charAt(g);++g);g<d&&"\t"==f.charAt(g)?(c.start.column=g,c.end.column=g+1):(c.start.column=0,c.end.column=g),this.remove(c)}},this.$moveLines=function(a,b,c){if(a=this.getRowFoldStart(a),b=this.getRowFoldEnd(b),c<0){var d=this.getRowFoldStart(a+c);if(d<0)return 0;var e=d-a}else if(c>0){var d=this.getRowFoldEnd(b+c);if(d>this.doc.getLength()-1)return 0;var e=d-b}else{a=this.$clipRowToDocument(a),b=this.$clipRowToDocument(b);var e=b-a+1}var f=new j(a,0,b,Number.MAX_VALUE),g=this.getFoldsInRange(f).map(function(a){return a=a.clone(),a.start.row+=e,a.end.row+=e,a}),h=0==c?this.doc.getLines(a,b):this.doc.removeFullLines(a,b);return this.doc.insertFullLines(a+e,h),g.length&&this.addFolds(g),e},this.moveLinesUp=function(a,b){return this.$moveLines(a,b,-1)},this.moveLinesDown=function(a,b){return this.$moveLines(a,b,1)},this.duplicateLines=function(a,b){return this.$moveLines(a,b,0)},this.$clipRowToDocument=function(a){return Math.max(0,Math.min(a,this.doc.getLength()-1))},this.$clipColumnToRow=function(a,b){return b<0?0:Math.min(this.doc.getLine(a).length,b)},this.$clipPositionToDocument=function(a,b){if(b=Math.max(0,b),a<0)a=0,b=0;else{var c=this.doc.getLength();a>=c?(a=c-1,b=this.doc.getLine(c-1).length):b=Math.min(this.doc.getLine(a).length,b)}return{row:a,column:b}},this.$clipRangeToDocument=function(a){a.start.row<0?(a.start.row=0,a.start.column=0):a.start.column=this.$clipColumnToRow(a.start.row,a.start.column);var b=this.doc.getLength()-1;return a.end.row>b?(a.end.row=b,a.end.column=this.doc.getLine(b).length):a.end.column=this.$clipColumnToRow(a.end.row,a.end.column),a},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(a){if(a!=this.$useWrapMode){if(this.$useWrapMode=a,this.$modified=!0,this.$resetRowCache(0),a){var b=this.getLength();this.$wrapData=Array(b),this.$updateWrapData(0,b-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(a,b){this.$wrapLimitRange.min===a&&this.$wrapLimitRange.max===b||(this.$wrapLimitRange={min:a,max:b},this.$modified=!0,this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(a,b){var c=this.$wrapLimitRange;c.max<0&&(c={min:b,max:b});var d=this.$constrainWrapLimit(a,c.min,c.max);return d!=this.$wrapLimit&&d>1&&(this.$wrapLimit=d,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0)},this.$constrainWrapLimit=function(a,b,c){return b&&(a=Math.max(b,a)),c&&(a=Math.min(c,a)),a},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(a){this.setWrapLimitRange(a,a)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(a){var b=this.$useWrapMode,c=a.action,d=a.start,e=a.end,f=d.row,g=e.row,h=g-f,i=null;if(this.$updating=!0,0!=h)if("remove"===c){this[b?"$wrapData":"$rowLengthCache"].splice(f,h);var j=this.$foldData;i=this.getFoldsInRange(a),this.removeFolds(i);var k=this.getFoldLine(e.row),l=0;if(k){k.addRemoveChars(e.row,e.column,d.column-e.column),k.shiftRow(-h);var m=this.getFoldLine(f);m&&m!==k&&(m.merge(k),k=m),l=j.indexOf(k)+1}for(l;l<j.length;l++){var k=j[l];k.start.row>=e.row&&k.shiftRow(-h)}g=f}else{var n=Array(h);n.unshift(f,0);var o=b?this.$wrapData:this.$rowLengthCache;o.splice.apply(o,n);var j=this.$foldData,k=this.getFoldLine(f),l=0;if(k){var p=k.range.compareInside(d.row,d.column);0==p?(k=k.split(d.row,d.column),k&&(k.shiftRow(h),k.addRemoveChars(g,0,e.column-d.column))):p==-1&&(k.addRemoveChars(f,0,e.column-d.column),k.shiftRow(h)),l=j.indexOf(k)+1}for(l;l<j.length;l++){var k=j[l];k.start.row>=f&&k.shiftRow(h)}}else{h=Math.abs(a.start.column-a.end.column),"remove"===c&&(i=this.getFoldsInRange(a),this.removeFolds(i),h=-h);var k=this.getFoldLine(f);k&&k.addRemoveChars(f,d.column,h)}return b&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,b?this.$updateWrapData(f,g):this.$updateRowLengthCache(f,g),i},this.$updateRowLengthCache=function(a,b,c){this.$rowLengthCache[a]=null,this.$rowLengthCache[b]=null},this.$updateWrapData=function(a,b){var c,d,e=this.doc.getAllLines(),f=this.getTabSize(),g=this.$wrapData,i=this.$wrapLimit,j=a;for(b=Math.min(b,e.length-1);j<=b;)d=this.getFoldLine(j,d),d?(c=[],d.walk(function(a,b,d,f){var g;if(null!=a){g=this.$getDisplayTokens(a,c.length),g[0]=h;for(var i=1;i<g.length;i++)g[i]=k}else g=this.$getDisplayTokens(e[b].substring(f,d),c.length);c=c.concat(g)}.bind(this),d.end.row,e[d.end.row].length+1),g[d.start.row]=this.$computeWrapSplits(c,i,f),j=d.end.row+1):(c=this.$getDisplayTokens(e[j]),g[j]=this.$computeWrapSplits(c,i,f),j++)};var b=1,c=2,h=3,k=4,n=9,o=10,p=11,q=12;this.$computeWrapSplits=function(a,b,d){function e(){var b=0;if(0===s)return b;if(r)for(var c=0;c<a.length;c++){var e=a[c];if(e==o)b+=1;else{if(e!=p){if(e==q)continue;break}b+=d}}return m&&r!==!1&&(b+=d),Math.min(b,s)}function f(b){var c=a.slice(j,b),d=c.length;c.join("").replace(/12/g,function(){d-=1}).replace(/2/g,function(){d-=1}),g.length||(t=e(),g.indent=t),l+=d,g.push(l),j=b}if(0==a.length)return[];for(var g=[],i=a.length,j=0,l=0,m=this.$wrapAsCode,r=this.$indentedSoftWrap,s=b<=Math.max(2*d,8)||r===!1?0:Math.floor(b/2),t=0;i-j>b-t;){var u=j+b-t;if(a[u-1]>=o&&a[u]>=o)f(u);else if(a[u]!=h&&a[u]!=k){for(var v=Math.max(u-(b-(b>>2)),j-1);u>v&&a[u]<h;)u--;if(m){for(;u>v&&a[u]<h;)u--;for(;u>v&&a[u]==n;)u--}else for(;u>v&&a[u]<o;)u--;u>v?f(++u):(u=j+b,a[u]==c&&u--,f(u-t))}else{for(u;u!=j-1&&a[u]!=h;u--);if(u>j){f(u);continue}for(u=j+b;u<a.length&&a[u]==k;u++);if(u==a.length)break;f(u)}}return g},this.$getDisplayTokens=function(d,e){var f,g=[];e=e||0;for(var h=0;h<d.length;h++){var i=d.charCodeAt(h);if(9==i){f=this.getScreenTabSize(g.length+e),g.push(p);for(var j=1;j<f;j++)g.push(q)}else 32==i?g.push(o):i>39&&i<48||i>57&&i<64?g.push(n):i>=4352&&a(i)?g.push(b,c):g.push(b)}return g},this.$getStringScreenWidth=function(b,c,d){if(0==c)return[0,0];null==c&&(c=1/0),d=d||0;var e,f;for(f=0;f<b.length&&(e=b.charCodeAt(f),d+=9==e?this.getScreenTabSize(d):e>=4352&&a(e)?2:1,!(d>c));f++);return[d,f]},this.lineWidgets=null,this.getRowLength=function(a){if(this.lineWidgets)var b=this.lineWidgets[a]&&this.lineWidgets[a].rowCount||0;else b=0;return this.$useWrapMode&&this.$wrapData[a]?this.$wrapData[a].length+1+b:1+b},this.getRowLineCount=function(a){return this.$useWrapMode&&this.$wrapData[a]?this.$wrapData[a].length+1:1},this.getRowWrapIndent=function(a){if(this.$useWrapMode){var b=this.screenToDocumentPosition(a,Number.MAX_VALUE),c=this.$wrapData[b.row];return c.length&&c[0]<b.column?c.indent:0}return 0},this.getScreenLastRowColumn=function(a){var b=this.screenToDocumentPosition(a,Number.MAX_VALUE);return this.documentToScreenColumn(b.row,b.column)},this.getDocumentLastRowColumn=function(a,b){var c=this.documentToScreenRow(a,b);return this.getScreenLastRowColumn(c)},this.getDocumentLastRowColumnPosition=function(a,b){var c=this.documentToScreenRow(a,b);return this.screenToDocumentPosition(c,Number.MAX_VALUE/10)},this.getRowSplitData=function(a){return this.$useWrapMode?this.$wrapData[a]:void 0},this.getScreenTabSize=function(a){return this.$tabSize-a%this.$tabSize},this.screenToDocumentRow=function(a,b){return this.screenToDocumentPosition(a,b).row},this.screenToDocumentColumn=function(a,b){return this.screenToDocumentPosition(a,b).column},this.screenToDocumentPosition=function(a,b){if(a<0)return{row:0,column:0};var c,d,e=0,f=0,g=0,h=0,i=this.$screenRowCache,j=this.$getRowCacheIndex(i,a),k=i.length;if(k&&j>=0)var g=i[j],e=this.$docRowCache[j],l=a>i[k-1];else var l=!k;for(var m=this.getLength()-1,n=this.getNextFoldLine(e),o=n?n.start.row:1/0;g<=a&&(h=this.getRowLength(e),!(g+h>a||e>=m));)g+=h,e++,e>o&&(e=n.end.row+1,n=this.getNextFoldLine(e,n),o=n?n.start.row:1/0),l&&(this.$docRowCache.push(e),this.$screenRowCache.push(g));if(n&&n.start.row<=e)c=this.getFoldDisplayLine(n),e=n.start.row;else{if(g+h<=a||e>m)return{row:m,column:this.getLine(m).length};c=this.getLine(e),n=null}var p=0;if(this.$useWrapMode){var q=this.$wrapData[e];if(q){var r=Math.floor(a-g);d=q[r],r>0&&q.length&&(p=q.indent,f=q[r-1]||q[q.length-1],c=c.substring(f))}}return f+=this.$getStringScreenWidth(c,b-p)[1],this.$useWrapMode&&f>=d&&(f=d-1),n?n.idxToPosition(f):{row:e,column:f}},this.documentToScreenPosition=function(a,b){if("undefined"==typeof b)var c=this.$clipPositionToDocument(a.row,a.column);else c=this.$clipPositionToDocument(a,b);a=c.row,b=c.column;var d=0,e=null,f=null;f=this.getFoldAt(a,b,1),f&&(a=f.start.row,b=f.start.column);var g,h=0,i=this.$docRowCache,j=this.$getRowCacheIndex(i,a),k=i.length;if(k&&j>=0)var h=i[j],d=this.$screenRowCache[j],l=a>i[k-1];else var l=!k;for(var m=this.getNextFoldLine(h),n=m?m.start.row:1/0;h<a;){if(h>=n){if(g=m.end.row+1,g>a)break;m=this.getNextFoldLine(g,m),n=m?m.start.row:1/0}else g=h+1;d+=this.getRowLength(h),h=g,l&&(this.$docRowCache.push(h),this.$screenRowCache.push(d))}var o="";m&&h>=n?(o=this.getFoldDisplayLine(m,a,b),e=m.start.row):(o=this.getLine(a).substring(0,b),e=a);var p=0;if(this.$useWrapMode){var q=this.$wrapData[e];if(q){for(var r=0;o.length>=q[r];)d++,r++;o=o.substring(q[r-1]||0,o.length),p=r>0?q.indent:0}}return{row:d,column:p+this.$getStringScreenWidth(o)[0]}},this.documentToScreenColumn=function(a,b){return this.documentToScreenPosition(a,b).column},this.documentToScreenRow=function(a,b){return this.documentToScreenPosition(a,b).row},this.getScreenLength=function(){var a=0,b=null;if(this.$useWrapMode)for(var c=this.$wrapData.length,d=0,e=0,b=this.$foldData[e++],f=b?b.start.row:1/0;d<c;){var g=this.$wrapData[d];a+=g?g.length+1:1,d++,d>f&&(d=b.end.row+1,b=this.$foldData[e++],f=b?b.start.row:1/0)}else{a=this.getLength();for(var h=this.$foldData,e=0;e<h.length;e++)b=h[e],a-=b.end.row-b.start.row}return this.lineWidgets&&(a+=this.$getWidgetScreenLength()),a},this.$setFontMetrics=function(a){this.$enableVarChar&&(this.$getStringScreenWidth=function(b,c,d){if(0===c)return[0,0];c||(c=1/0),d=d||0;var e,f;for(f=0;f<b.length&&(e=b.charAt(f),d+="\t"===e?this.getScreenTabSize(d):a.getCharacterWidth(e),!(d>c));f++);return[d,f]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()}}).call(n.prototype),a("./edit_session/folding").Folding.call(n.prototype),a("./edit_session/bracket_match").BracketMatch.call(n.prototype),f.defineOptions(n.prototype,"session",{wrap:{set:function(a){if(a&&"off"!=a?"free"==a?a=!0:"printMargin"==a?a=-1:"string"==typeof a&&(a=parseInt(a,10)||!1):a=!1,this.$wrap!=a)if(this.$wrap=a,a){var b="number"==typeof a?a:null;this.setWrapLimitRange(b,b),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(a){a="auto"==a?"text"!=this.$mode.type:"text"!=a,a!=this.$wrapAsCode&&(this.$wrapAsCode=a,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(a){this.$useWorker=a,this.$stopWorker(),a&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(a){isNaN(a)||this.$tabSize===a||(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=a,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},overwrite:{set:function(a){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(a){this.doc.setNewLineMode(a)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(a){this.setMode(a)},get:function(){return this.$modeId}}}),b.EditSession=n}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(a,b,c){"use strict";var d=a("./lib/lang"),e=a("./lib/oop"),f=a("./range").Range,g=function(){this.$options={}};(function(){this.set=function(a){return e.mixin(this.$options,a),this},this.getOptions=function(){return d.copyObject(this.$options)},this.setOptions=function(a){this.$options=a},this.find=function(a){var b=this.$options,c=this.$matchIterator(a,b);if(!c)return!1;var d=null;return c.forEach(function(a,c,e){if(a.start)d=a;else{var g=a.offset+(e||0);if(d=new f(c,g,c,g+a.length),!a.length&&b.start&&b.start.start&&0!=b.skipCurrent&&d.isEqual(b.start))return d=null,!1}return!0}),d},this.findAll=function(a){var b=this.$options;if(!b.needle)return[];this.$assembleRegExp(b);var c=b.range,e=c?a.getLines(c.start.row,c.end.row):a.doc.getAllLines(),g=[],h=b.re;if(b.$isMultiLine){var i,j=h.length,k=e.length-j;a:for(var l=h.offset||0;l<=k;l++){for(var m=0;m<j;m++)if(e[l+m].search(h[m])==-1)continue a;var n=e[l],o=e[l+j-1],p=n.length-n.match(h[0])[0].length,q=o.match(h[j-1])[0].length;i&&i.end.row===l&&i.end.column>p||(g.push(i=new f(l,p,l+j-1,q)),j>2&&(l=l+j-2))}}else for(var r=0;r<e.length;r++)for(var s=d.getMatchOffsets(e[r],h),m=0;m<s.length;m++){var t=s[m];g.push(new f(r,t.offset,r,t.offset+t.length))}if(c){for(var u=c.start.column,v=c.start.column,r=0,m=g.length-1;r<m&&g[r].start.column<u&&g[r].start.row==c.start.row;)r++;for(;r<m&&g[m].end.column>v&&g[m].end.row==c.end.row;)m--;for(g=g.slice(r,m+1),r=0,m=g.length;r<m;r++)g[r].start.row+=c.start.row,g[r].end.row+=c.start.row}return g},this.replace=function(a,b){var c=this.$options,d=this.$assembleRegExp(c);if(c.$isMultiLine)return b;if(d){var e=d.exec(a);if(!e||e[0].length!=a.length)return null;if(b=a.replace(d,b),c.preserveCase){b=b.split("");for(var f=Math.min(a.length,a.length);f--;){var g=a[f];g&&g.toLowerCase()!=g?b[f]=b[f].toUpperCase():b[f]=b[f].toLowerCase()}b=b.join("")}return b}},this.$matchIterator=function(a,b){var c=this.$assembleRegExp(b);if(!c)return!1;var e;if(b.$isMultiLine)var g=c.length,h=function(b,d,h){var i=b.search(c[0]);if(i!=-1){for(var j=1;j<g;j++)if(b=a.getLine(d+j),b.search(c[j])==-1)return;var k=b.match(c[g-1])[0].length,l=new f(d,i,d+g-1,k);return 1==c.offset?(l.start.row--,l.start.column=Number.MAX_VALUE):h&&(l.start.column+=h),!!e(l)||void 0}};else if(b.backwards)var h=function(a,b,f){for(var g=d.getMatchOffsets(a,c),h=g.length-1;h>=0;h--)if(e(g[h],b,f))return!0};else var h=function(a,b,f){for(var g=d.getMatchOffsets(a,c),h=0;h<g.length;h++)if(e(g[h],b,f))return!0};var i=this.$lineIterator(a,b);return{forEach:function(a){e=a,i.forEach(h)}}},this.$assembleRegExp=function(a,b){if(a.needle instanceof RegExp)return a.re=a.needle;var c=a.needle;if(!a.needle)return a.re=!1;a.regExp||(c=d.escapeRegExp(c)),a.wholeWord&&(c="\\b"+c+"\\b");var e=a.caseSensitive?"gm":"gmi";if(a.$isMultiLine=!b&&/[\n\r]/.test(c),a.$isMultiLine)return a.re=this.$assembleMultilineRegExp(c,e);try{var f=new RegExp(c,e)}catch(g){f=!1}return a.re=f},this.$assembleMultilineRegExp=function(a,b){for(var c=a.replace(/\r\n|\r|\n/g,"$\n^").split("\n"),d=[],e=0;e<c.length;e++)try{d.push(new RegExp(c[e],b))}catch(f){return!1}return""==c[0]?(d.shift(),d.offset=1):d.offset=0,d},this.$lineIterator=function(a,b){var c=1==b.backwards,d=0!=b.skipCurrent,e=b.range,f=b.start;f||(f=e?e[c?"end":"start"]:a.selection.getRange()),f.start&&(f=f[d!=c?"end":"start"]);var g=e?e.start.row:0,h=e?e.end.row:a.getLength()-1,i=c?function(c){var d=f.row,e=a.getLine(d).substring(0,f.column);if(!c(e,d)){for(d--;d>=g;d--)if(c(a.getLine(d),d))return;if(0!=b.wrap)for(d=h,g=f.row;d>=g;d--)if(c(a.getLine(d),d))return}}:function(c){var d=f.row,e=a.getLine(d).substr(f.column);if(!c(e,d,f.column)){for(d+=1;d<=h;d++)if(c(a.getLine(d),d))return;if(0!=b.wrap)for(d=g,h=f.row;d<=h;d++)if(c(a.getLine(d),d))return}};return{forEach:i}}}).call(g.prototype),b.Search=g}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(a,b,c){"use strict";function d(a,b){this.platform=b||(g.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(a),this.$singleCommand=!0}function e(a,b){d.call(this,a,b),this.$singleCommand=!1}var f=a("../lib/keys"),g=a("../lib/useragent"),h=f.KEY_MODS;e.prototype=d.prototype,function(){function a(a){return"object"==typeof a&&a.bindKey&&a.bindKey.position||0}this.addCommand=function(a){this.commands[a.name]&&this.removeCommand(a),this.commands[a.name]=a,a.bindKey&&this._buildKeyHash(a)},this.removeCommand=function(a,b){var c=a&&("string"==typeof a?a:a.name);a=this.commands[c],b||delete this.commands[c];var d=this.commandKeyBinding;for(var e in d){var f=d[e];if(f==a)delete d[e];else if(Array.isArray(f)){var g=f.indexOf(a);g!=-1&&(f.splice(g,1),1==f.length&&(d[e]=f[0]))}}},this.bindKey=function(a,b,c){if("object"==typeof a&&a&&(void 0==c&&(c=a.position),a=a[this.platform]),a)return"function"==typeof b?this.addCommand({exec:b,bindKey:a,name:b.name||a}):void a.split("|").forEach(function(a){var d="";if(a.indexOf(" ")!=-1){var e=a.split(/\s+/);a=e.pop(),e.forEach(function(a){var b=this.parseKeys(a),c=h[b.hashId]+b.key;d+=(d?" ":"")+c,this._addCommandToBinding(d,"chainKeys")},this),d+=" "}var f=this.parseKeys(a),g=h[f.hashId]+f.key;this._addCommandToBinding(d+g,b,c)},this)},this._addCommandToBinding=function(b,c,d){var e,f=this.commandKeyBinding;if(c)if(!f[b]||this.$singleCommand)f[b]=c;else{Array.isArray(f[b])?(e=f[b].indexOf(c))!=-1&&f[b].splice(e,1):f[b]=[f[b]],"number"!=typeof d&&(d=d||c.isDefault?-100:a(c));var g=f[b];for(e=0;e<g.length;e++){var h=g[e],i=a(h);if(i>d)break}g.splice(e,0,c)}else delete f[b]},this.addCommands=function(a){a&&Object.keys(a).forEach(function(b){var c=a[b];if(c){if("string"==typeof c)return this.bindKey(c,b);"function"==typeof c&&(c={exec:c}),"object"==typeof c&&(c.name||(c.name=b),this.addCommand(c))}},this)},this.removeCommands=function(a){Object.keys(a).forEach(function(b){this.removeCommand(a[b])},this)},this.bindKeys=function(a){Object.keys(a).forEach(function(b){this.bindKey(b,a[b])},this)},this._buildKeyHash=function(a){this.bindKey(a.bindKey,a)},this.parseKeys=function(a){var b=a.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(a){return a}),c=b.pop(),d=f[c];if(f.FUNCTION_KEYS[d])c=f.FUNCTION_KEYS[d].toLowerCase();else{if(!b.length)return{key:c,hashId:-1};if(1==b.length&&"shift"==b[0])return{key:c.toUpperCase(),hashId:-1}}for(var e=0,g=b.length;g--;){var h=f.KEY_MODS[b[g]];if(null==h)return"undefined"!=typeof console&&console.error("invalid modifier "+b[g]+" in "+a),!1;e|=h}return{key:c,hashId:e}},this.findKeyCommand=function(a,b){var c=h[a]+b;return this.commandKeyBinding[c]},this.handleKeyboard=function(a,b,c,d){if(!(d<0)){var e=h[b]+c,f=this.commandKeyBinding[e];return a.$keyChain&&(a.$keyChain+=" "+e,f=this.commandKeyBinding[a.$keyChain]||f),!f||"chainKeys"!=f&&"chainKeys"!=f[f.length-1]?(a.$keyChain&&(b&&4!=b||1!=c.length?(b==-1||d>0)&&(a.$keyChain=""):a.$keyChain=a.$keyChain.slice(0,-e.length-1)),{command:f}):(a.$keyChain=a.$keyChain||e,{command:"null"})}},this.getStatusText=function(a,b){return b.$keyChain||""}}.call(d.prototype),b.HashHandler=d,b.MultiHashHandler=e}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../keyboard/hash_handler").MultiHashHandler,f=a("../lib/event_emitter").EventEmitter,g=function(a,b){e.call(this,b,a),this.byName=this.commands,this.setDefaultHandler("exec",function(a){return a.command.exec(a.editor,a.args||{})})};d.inherits(g,e),function(){d.implement(this,f),this.exec=function(a,b,c){if(Array.isArray(a)){for(var d=a.length;d--;)if(this.exec(a[d],b,c))return!0;return!1}if("string"==typeof a&&(a=this.commands[a]),!a)return!1;if(b&&b.$readOnly&&!a.readOnly)return!1;var e={editor:b,command:a,args:c};return e.returnValue=this._emit("exec",e),this._signal("afterExec",e),e.returnValue!==!1},this.toggleRecording=function(a){if(!this.$inReplay)return a&&a._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(a){this.macro.push([a.command,a.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(a){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(a);try{this.$inReplay=!0,this.macro.forEach(function(b){"string"==typeof b?this.exec(b,a):this.exec(b[0],a,b[1])},this)}finally{this.$inReplay=!1}}},this.trimMacro=function(a){return a.map(function(a){return"string"!=typeof a[0]&&(a[0]=a[0].name),a[1]||(a=a[0]),a})}}.call(g.prototype),b.CommandManager=g}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(a,b,c){"use strict";function d(a,b){return{win:a,mac:b}}var e=a("../lib/lang"),f=a("../config"),g=a("../range").Range;b.commands=[{name:"showSettingsMenu",bindKey:d("Ctrl-,","Command-,"),exec:function(a){f.loadModule("ace/ext/settings_menu",function(b){b.init(a),a.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:d("Alt-E","Ctrl-E"),exec:function(a){f.loadModule("ace/ext/error_marker",function(b){b.showErrorMarker(a,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:d("Alt-Shift-E","Ctrl-Shift-E"),exec:function(a){f.loadModule("ace/ext/error_marker",function(b){b.showErrorMarker(a,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:d("Ctrl-A","Command-A"),exec:function(a){a.selectAll()},readOnly:!0},{name:"centerselection",bindKey:d(null,"Ctrl-L"),exec:function(a){a.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:d("Ctrl-L","Command-L"),exec:function(a){var b=parseInt(prompt("Enter line number:"),10);isNaN(b)||a.gotoLine(b)},readOnly:!0},{name:"fold",bindKey:d("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(a){a.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:d("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(a){a.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:d("F2","F2"),exec:function(a){a.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:d("Alt-F2","Alt-F2"),exec:function(a){a.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:d(null,"Ctrl-Command-Option-0"),exec:function(a){a.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:d("Alt-0","Command-Option-0"),exec:function(a){a.session.foldAll(),a.session.unfold(a.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:d("Alt-Shift-0","Command-Option-Shift-0"),exec:function(a){a.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:d("Ctrl-K","Command-G"),exec:function(a){a.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:d("Ctrl-Shift-K","Command-Shift-G"),exec:function(a){a.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:d("Alt-K","Ctrl-G"),exec:function(a){a.selection.isEmpty()?a.selection.selectWord():a.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:d("Alt-Shift-K","Ctrl-Shift-G"),exec:function(a){a.selection.isEmpty()?a.selection.selectWord():a.findPrevious()},readOnly:!0},{name:"find",bindKey:d("Ctrl-F","Command-F"),exec:function(a){f.loadModule("ace/ext/searchbox",function(b){b.Search(a)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(a){a.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:d("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(a){a.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:d("Ctrl-Home","Command-Home|Command-Up"),exec:function(a){a.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:d("Shift-Up","Shift-Up"),exec:function(a){a.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:d("Up","Up|Ctrl-P"),exec:function(a,b){a.navigateUp(b.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:d("Ctrl-Shift-End","Command-Shift-Down"),exec:function(a){a.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:d("Ctrl-End","Command-End|Command-Down"),exec:function(a){a.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:d("Shift-Down","Shift-Down"),exec:function(a){a.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:d("Down","Down|Ctrl-N"),exec:function(a,b){a.navigateDown(b.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:d("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(a){a.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:d("Ctrl-Left","Option-Left"),exec:function(a){a.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:d("Alt-Shift-Left","Command-Shift-Left"),exec:function(a){a.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:d("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(a){a.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:d("Shift-Left","Shift-Left"),exec:function(a){a.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:d("Left","Left|Ctrl-B"),exec:function(a,b){a.navigateLeft(b.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:d("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(a){a.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:d("Ctrl-Right","Option-Right"),exec:function(a){a.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:d("Alt-Shift-Right","Command-Shift-Right"),exec:function(a){a.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:d("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(a){a.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:d("Shift-Right","Shift-Right"),exec:function(a){a.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:d("Right","Right|Ctrl-F"),exec:function(a,b){a.navigateRight(b.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(a){a.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:d(null,"Option-PageDown"),exec:function(a){a.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:d("PageDown","PageDown|Ctrl-V"),exec:function(a){a.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(a){a.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:d(null,"Option-PageUp"),exec:function(a){a.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(a){a.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:d("Ctrl-Up",null),exec:function(a){a.renderer.scrollBy(0,-2*a.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:d("Ctrl-Down",null),exec:function(a){a.renderer.scrollBy(0,2*a.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(a){a.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(a){a.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0
+},{name:"togglerecording",bindKey:d("Ctrl-Alt-E","Command-Option-E"),exec:function(a){a.commands.toggleRecording(a)},readOnly:!0},{name:"replaymacro",bindKey:d("Ctrl-Shift-E","Command-Shift-E"),exec:function(a){a.commands.replay(a)},readOnly:!0},{name:"jumptomatching",bindKey:d("Ctrl-P","Ctrl-P"),exec:function(a){a.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:d("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(a){a.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:d("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(a){a.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:d(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(a){},readOnly:!0},{name:"cut",exec:function(a){var b=a.getSelectionRange();a._emit("cut",b),a.selection.isEmpty()||(a.session.remove(b),a.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(a,b){a.$handlePaste(b)},scrollIntoView:"cursor"},{name:"removeline",bindKey:d("Ctrl-D","Command-D"),exec:function(a){a.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:d("Ctrl-Shift-D","Command-Shift-D"),exec:function(a){a.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:d("Ctrl-Alt-S","Command-Alt-S"),exec:function(a){a.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:d("Ctrl-/","Command-/"),exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:d("Ctrl-Shift-/","Command-Shift-/"),exec:function(a){a.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:d("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(a){a.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:d("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(a){a.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:d("Ctrl-H","Command-Option-F"),exec:function(a){f.loadModule("ace/ext/searchbox",function(b){b.Search(a,!0)})}},{name:"undo",bindKey:d("Ctrl-Z","Command-Z"),exec:function(a){a.undo()}},{name:"redo",bindKey:d("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(a){a.redo()}},{name:"copylinesup",bindKey:d("Alt-Shift-Up","Command-Option-Up"),exec:function(a){a.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:d("Alt-Up","Option-Up"),exec:function(a){a.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:d("Alt-Shift-Down","Command-Option-Down"),exec:function(a){a.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:d("Alt-Down","Option-Down"),exec:function(a){a.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:d("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(a){a.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:d("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(a){a.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:d("Shift-Delete",null),exec:function(a){return!!a.selection.isEmpty()&&void a.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:d("Alt-Backspace","Command-Backspace"),exec:function(a){a.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:d("Alt-Delete","Ctrl-K"),exec:function(a){a.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:d("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(a){a.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:d("Ctrl-Delete","Alt-Delete"),exec:function(a){a.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:d("Shift-Tab","Shift-Tab"),exec:function(a){a.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:d("Tab","Tab"),exec:function(a){a.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:d("Ctrl-[","Ctrl-["),exec:function(a){a.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:d("Ctrl-]","Ctrl-]"),exec:function(a){a.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(a,b){a.insert(b)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(a,b){a.insert(e.stringRepeat(b.text||"",b.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:d(null,"Ctrl-O"),exec:function(a){a.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:d("Ctrl-T","Ctrl-T"),exec:function(a){a.transposeLetters()},multiSelectAction:function(a){a.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:d("Ctrl-U","Ctrl-U"),exec:function(a){a.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:d("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(a){a.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:d("Ctrl-Shift-L","Command-Shift-L"),exec:function(a){var b=a.selection.getRange();b.start.column=b.end.column=0,b.end.row++,a.selection.setRange(b,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:d(null,null),exec:function(a){for(var b=a.selection.isBackwards(),c=b?a.selection.getSelectionLead():a.selection.getSelectionAnchor(),d=b?a.selection.getSelectionAnchor():a.selection.getSelectionLead(),f=a.session.doc.getLine(c.row).length,h=a.session.doc.getTextRange(a.selection.getRange()),i=h.replace(/\n\s*/," ").length,j=a.session.doc.getLine(c.row),k=c.row+1;k<=d.row+1;k++){var l=e.stringTrimLeft(e.stringTrimRight(a.session.doc.getLine(k)));0!==l.length&&(l=" "+l),j+=l}d.row+1<a.session.doc.getLength()-1&&(j+=a.session.doc.getNewLineCharacter()),a.clearSelection(),a.session.doc.replace(new g(c.row,0,d.row+2,0),j),i>0?(a.selection.moveCursorTo(c.row,c.column),a.selection.selectTo(c.row,c.column+i)):(f=a.session.doc.getLine(c.row).length>f?f+1:f,a.selection.moveCursorTo(c.row,f))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:d(null,null),exec:function(a){var b=a.session.doc.getLength()-1,c=a.session.doc.getLine(b).length,d=a.selection.rangeList.ranges,e=[];d.length<1&&(d=[a.selection.getRange()]);for(var f=0;f<d.length;f++)f==d.length-1&&(d[f].end.row!==b||d[f].end.column!==c)&&e.push(new g(d[f].end.row,d[f].end.column,b,c)),0===f?(0!==d[f].start.row||0!==d[f].start.column)&&e.push(new g(0,0,d[f].start.row,d[f].start.column)):e.push(new g(d[f-1].end.row,d[f-1].end.column,d[f].start.row,d[f].start.column));a.exitMultiSelectMode(),a.clearSelection();for(var f=0;f<e.length;f++)a.selection.addRange(e[f],!1)},readOnly:!0,scrollIntoView:"none"}]}),ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator"],function(a,b,c){"use strict";a("./lib/fixoldbrowsers");var d=a("./lib/oop"),e=a("./lib/dom"),f=a("./lib/lang"),g=a("./lib/useragent"),h=a("./keyboard/textinput").TextInput,i=a("./mouse/mouse_handler").MouseHandler,j=a("./mouse/fold_handler").FoldHandler,k=a("./keyboard/keybinding").KeyBinding,l=a("./edit_session").EditSession,m=a("./search").Search,n=a("./range").Range,o=a("./lib/event_emitter").EventEmitter,p=a("./commands/command_manager").CommandManager,q=a("./commands/default_commands").commands,r=a("./config"),s=a("./token_iterator").TokenIterator,t=function(a,b){var c=a.getContainerElement();this.container=c,this.renderer=a,this.commands=new p(g.isMac?"mac":"win",q),this.textInput=new h(a.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new k(this),this.$mouseHandler=new i(this),new j(this),this.$blockScrolling=0,this.$search=(new m).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=f.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(a,b){b._$emitInputEvent.schedule(31)}),this.setSession(b||new l("")),r.resetOptions(this),r._signal("editor",this)};(function(){d.implement(this,o),this.$initOperationListeners=function(){this.selections=[],this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=f.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(a){if(this.curOp){if(!a||this.curOp.command)return;this.prevOp=this.curOp}a||(this.previousCommand=null,a={}),this.$opResetTimer.schedule(),this.curOp={command:a.command||{},args:a.args,scrollTop:this.renderer.scrollTop},this.curOp.command.name&&void 0!==this.curOp.command.scrollIntoView&&this.$blockScrolling++},this.endOperation=function(a){if(this.curOp){if(a&&a.returnValue===!1)return this.curOp=null;this._signal("beforeEndOperation");var b=this.curOp.command;b.name&&this.$blockScrolling>0&&this.$blockScrolling--;var c=b&&b.scrollIntoView;if(c){switch(c){case"center-animate":c="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var d=this.selection.getRange(),e=this.renderer.layerConfig;(d.start.row>=e.lastRow||d.end.row<=e.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}"animate"==c&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(a){if(this.$mergeUndoDeltas){var b=this.prevOp,c=this.$mergeableCommands,d=b.command&&a.command.name==b.command.name;if("insertstring"==a.command.name){var e=a.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),d=d&&this.mergeNextCommand&&(!/\s/.test(e)||/\s/.test(b.args)),this.mergeNextCommand=!0}else d=d&&c.indexOf(a.command.name)!==-1;"always"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(d=!1),d?this.session.mergeUndoDeltas=!0:c.indexOf(a.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(a,b){if(a&&"string"==typeof a){this.$keybindingId=a;var c=this;r.loadModule(["keybinding",a],function(d){c.$keybindingId==a&&c.keyBinding.setKeyboardHandler(d&&d.handler),b&&b()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(a),b&&b()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(a){if(this.session!=a){this.curOp&&this.endOperation(),this.curOp={};var b=this.session;if(b){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var c=this.session.getSelection();c.off("changeCursor",this.$onCursorChange),c.off("changeSelection",this.$onSelectionChange)}this.session=a,a?(this.$onDocumentChange=this.onDocumentChange.bind(this),a.on("change",this.$onDocumentChange),this.renderer.setSession(a),this.$onChangeMode=this.onChangeMode.bind(this),a.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),a.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),a.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),a.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),a.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),a.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=a.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(a)),this._signal("changeSession",{session:a,oldSession:b}),this.curOp=null,b&&b._signal("changeEditor",{oldEditor:this}),a&&a._signal("changeEditor",{editor:this})}},this.getSession=function(){return this.session},this.setValue=function(a,b){return this.session.doc.setValue(a),b?1==b?this.navigateFileEnd():b==-1&&this.navigateFileStart():this.selectAll(),a},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(a){this.renderer.onResize(a)},this.setTheme=function(a,b){this.renderer.setTheme(a,b)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(a){this.renderer.setStyle(a)},this.unsetStyle=function(a){this.renderer.unsetStyle(a)},this.getFontSize=function(){return this.getOption("fontSize")||e.computedStyle(this.container,"fontSize")},this.setFontSize=function(a){this.setOption("fontSize",a)},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var a=this;this.$highlightPending=!0,setTimeout(function(){a.$highlightPending=!1;var b=a.session;if(b&&b.bgTokenizer){var c=b.findMatchingBracket(a.getCursorPosition());if(c)var d=new n(c.row,c.column,c.row,c.column+1);else if(b.$mode.getMatching)var d=b.$mode.getMatching(a.session);d&&(b.$bracketHighlight=b.addMarker(d,"ace_bracket","text"))}},50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){var a=this;this.$highlightTagPending=!0,setTimeout(function(){a.$highlightTagPending=!1;var b=a.session;if(b&&b.bgTokenizer){var c=a.getCursorPosition(),d=new s(a.session,c.row,c.column),e=d.getCurrentToken();if(!e||!/\b(?:tag-open|tag-name)/.test(e.type))return b.removeMarker(b.$tagHighlight),void(b.$tagHighlight=null);if(e.type.indexOf("tag-open")==-1||(e=d.stepForward())){var f=e.value,g=0,h=d.stepBackward();if("<"==h.value){do h=e,e=d.stepForward(),e&&e.value===f&&e.type.indexOf("tag-name")!==-1&&("<"===h.value?g++:"</"===h.value&&g--);while(e&&g>=0)}else{do e=h,h=d.stepBackward(),e&&e.value===f&&e.type.indexOf("tag-name")!==-1&&("<"===h.value?g++:"</"===h.value&&g--);while(h&&g<=0);d.stepForward()}if(!e)return b.removeMarker(b.$tagHighlight),void(b.$tagHighlight=null);var i=d.getCurrentTokenRow(),j=d.getCurrentTokenColumn(),k=new n(i,j,i,j+e.value.length);b.$tagHighlight&&0!==k.compareRange(b.$backMarkers[b.$tagHighlight].range)&&(b.removeMarker(b.$tagHighlight),b.$tagHighlight=null),k&&!b.$tagHighlight&&(b.$tagHighlight=b.addMarker(k,"ace_bracket","text"))}}},50)}},this.focus=function(){var a=this;setTimeout(function(){a.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(a){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",a))},this.onBlur=function(a){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",a))},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(a){var b=this.session.$useWrapMode,c=a.start.row==a.end.row?a.end.row:1/0;this.renderer.updateLines(a.start.row,c,b),this._signal("change",a),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(a){var b=a.data;this.renderer.updateLines(b.first,b.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||(r.warn("Automatically scrolling cursor into view after selection change","this will be disabled in the next version","set editor.$blockScrolling = Infinity to disable this message"),this.renderer.scrollCursorIntoView()),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var a,b=this.getSession();if(this.$highlightActiveLine&&("line"==this.$selectionStyle&&this.selection.isMultiLine()||(a=this.getCursorPosition()),this.renderer.$maxLines&&1===this.session.getLength()&&!(this.renderer.$minLines>1)&&(a=!1)),b.$highlightLineMarker&&!a)b.removeMarker(b.$highlightLineMarker.id),b.$highlightLineMarker=null;else if(!b.$highlightLineMarker&&a){var c=new n(a.row,a.column,a.row,1/0);c.id=b.addMarker(c,"ace_active-line","screenLine"),b.$highlightLineMarker=c}else a&&(b.$highlightLineMarker.start.row=a.row,b.$highlightLineMarker.end.row=a.row,b.$highlightLineMarker.start.column=a.column,b._signal("changeBackMarker"))},this.onSelectionChange=function(a){var b=this.session;if(b.$selectionMarker&&b.removeMarker(b.$selectionMarker),b.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var c=this.selection.getRange(),d=this.getSelectionStyle();b.$selectionMarker=b.addMarker(c,"ace_selection",d)}var e=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(e),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var a=this.session,b=this.getSelectionRange();if(!b.isEmpty()&&!b.isMultiLine()){var c=b.start.column-1,d=b.end.column+1,e=a.getLine(b.start.row),f=e.length,g=e.substring(Math.max(c,0),Math.min(d,f));if(!(c>=0&&/^[\w\d]/.test(g)||d<=f&&/[\w\d]$/.test(g))&&(g=e.substring(b.start.column,b.end.column),/^[\w\d]+$/.test(g))){var h=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:g});return h}}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(a){this.renderer.updateText(),this._emit("changeMode",a)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var a=this.getSelectedText();return this._signal("copy",a),a},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(a,b){var c={text:a,event:b};this.commands.exec("paste",this,c)},this.$handlePaste=function(a){"string"==typeof a&&(a={text:a}),this._signal("paste",a);var b=a.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(b);else{var c=b.split(/\r\n|\r|\n/),d=this.selection.rangeList.ranges;if(c.length>d.length||c.length<2||!c[1])return this.commands.exec("insertstring",this,b);for(var e=d.length;e--;){var f=d[e];f.isEmpty()||this.session.remove(f),this.session.insert(f.start,c[e])}}},this.execCommand=function(a,b){return this.commands.exec(a,this,b)},this.insert=function(a,b){var c=this.session,d=c.getMode(),e=this.getCursorPosition();if(this.getBehavioursEnabled()&&!b){var f=d.transformAction(c.getState(e.row),"insertion",this,c,a);f&&(a!==f.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),a=f.text)}if("\t"==a&&(a=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()){var g=new n.fromPoints(e,e);g.end.column+=a.length,this.session.remove(g)}}else{var g=this.getSelectionRange();e=this.session.remove(g),this.clearSelection()}if("\n"==a||"\r\n"==a){var h=c.getLine(e.row);if(e.column>h.search(/\S|$/)){var i=h.substr(e.column).search(/\S|$/);c.doc.removeInLine(e.row,e.column,e.column+i)}}this.clearSelection();var j=e.column,k=c.getState(e.row),h=c.getLine(e.row),l=d.checkOutdent(k,h,a);c.insert(e,a);if(f&&f.selection&&(2==f.selection.length?this.selection.setSelectionRange(new n(e.row,j+f.selection[0],e.row,j+f.selection[1])):this.selection.setSelectionRange(new n(e.row+f.selection[0],f.selection[1],e.row+f.selection[2],f.selection[3]))),c.getDocument().isNewLine(a)){var m=d.getNextLineIndent(k,h.slice(0,e.column),c.getTabString());c.insert({row:e.row+1,column:0},m)}l&&d.autoOutdent(k,c,e.row)},this.onTextInput=function(a){this.keyBinding.onTextInput(a)},this.onCommandKey=function(a,b,c){this.keyBinding.onCommandKey(a,b,c)},this.setOverwrite=function(a){this.session.setOverwrite(a)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(a){this.setOption("scrollSpeed",a)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(a){this.setOption("dragDelay",a)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(a){this.setOption("selectionStyle",a)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(a){this.setOption("highlightActiveLine",a)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(a){this.setOption("highlightGutterLine",a)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(a){this.setOption("highlightSelectedWord",a)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(a){this.renderer.setAnimatedScroll(a)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(a){this.renderer.setShowInvisibles(a)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(a){this.renderer.setDisplayIndentGuides(a)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(a){this.renderer.setShowPrintMargin(a)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(a){this.renderer.setPrintMarginColumn(a)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(a){this.setOption("readOnly",a)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(a){this.setOption("behavioursEnabled",a)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(a){this.setOption("wrapBehavioursEnabled",a)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(a){this.setOption("showFoldWidgets",a)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(a){this.setOption("fadeFoldWidgets",a)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(a){this.selection.isEmpty()&&("left"==a?this.selection.selectLeft():this.selection.selectRight());var b=this.getSelectionRange();if(this.getBehavioursEnabled()){var c=this.session,d=c.getState(b.start.row),e=c.getMode().transformAction(d,"deletion",this,c,b);if(0===b.end.column){var f=c.getTextRange(b);if("\n"==f[f.length-1]){var g=c.getLine(b.end.row);/^\s+$/.test(g)&&(b.end.column=g.length)}}e&&(b=e)}this.session.remove(b),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var a=this.getSelectionRange();a.start.column==a.end.column&&a.start.row==a.end.row&&(a.end.column=0,a.end.row++),this.session.remove(a),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var a=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(a)},this.transposeLetters=function(){if(this.selection.isEmpty()){var a=this.getCursorPosition(),b=a.column;if(0!==b){var c,d,e=this.session.getLine(a.row);b<e.length?(c=e.charAt(b)+e.charAt(b-1),d=new n(a.row,b-1,a.row,b+1)):(c=e.charAt(b-1)+e.charAt(b-2),d=new n(a.row,b-2,a.row,b)),this.session.replace(d,c)}}},this.toLowerCase=function(){var a=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var b=this.getSelectionRange(),c=this.session.getTextRange(b);this.session.replace(b,c.toLowerCase()),this.selection.setSelectionRange(a)},this.toUpperCase=function(){var a=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var b=this.getSelectionRange(),c=this.session.getTextRange(b);this.session.replace(b,c.toUpperCase()),this.selection.setSelectionRange(a)},this.indent=function(){var a=this.session,b=this.getSelectionRange();if(b.start.row<b.end.row){var c=this.$getSelectedRows();return void a.indentRows(c.first,c.last,"\t")}if(b.start.column<b.end.column){var d=a.getTextRange(b);if(!/^\s+$/.test(d)){var c=this.$getSelectedRows();return void a.indentRows(c.first,c.last,"\t")}}var e=a.getLine(b.start.row),g=b.start,h=a.getTabSize(),i=a.documentToScreenColumn(g.row,g.column);if(this.session.getUseSoftTabs())var j=h-i%h,k=f.stringRepeat(" ",j);else{for(var j=i%h;" "==e[b.start.column-1]&&j;)b.start.column--,j--;this.selection.setSelectionRange(b),k="\t"}return this.insert(k)},this.blockIndent=function(){var a=this.$getSelectedRows();this.session.indentRows(a.first,a.last,"\t")},this.blockOutdent=function(){var a=this.session.getSelection();this.session.outdentRows(a.getRange())},this.sortLines=function(){var a=this.$getSelectedRows(),b=this.session,c=[];for(e=a.first;e<=a.last;e++)c.push(b.getLine(e));c.sort(function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:a.toLowerCase()>b.toLowerCase()?1:0});for(var d=new n(0,0,0,0),e=a.first;e<=a.last;e++){var f=b.getLine(e);d.start.row=e,d.end.row=e,d.end.column=f.length,b.replace(d,c[e-a.first])}},this.toggleCommentLines=function(){var a=this.session.getState(this.getCursorPosition().row),b=this.$getSelectedRows();this.session.getMode().toggleCommentLines(a,this.session,b.first,b.last)},this.toggleBlockComment=function(){var a=this.getCursorPosition(),b=this.session.getState(a.row),c=this.getSelectionRange();this.session.getMode().toggleBlockComment(b,this.session,c,a)},this.getNumberAt=function(a,b){var c=/[\-]?[0-9]+(?:\.[0-9]+)?/g;c.lastIndex=0;for(var d=this.session.getLine(a);c.lastIndex<b;){var e=c.exec(d);if(e.index<=b&&e.index+e[0].length>=b){var f={value:e[0],start:e.index,end:e.index+e[0].length};return f}}return null},this.modifyNumber=function(a){var b=this.selection.getCursor().row,c=this.selection.getCursor().column,d=new n(b,c-1,b,c),e=this.session.getTextRange(d);if(!isNaN(parseFloat(e))&&isFinite(e)){var f=this.getNumberAt(b,c);if(f){var g=f.value.indexOf(".")>=0?f.start+f.value.indexOf(".")+1:f.end,h=f.start+f.value.length-g,i=parseFloat(f.value);i*=Math.pow(10,h),a*=g!==f.end&&c<g?Math.pow(10,f.end-c-1):Math.pow(10,f.end-c),i+=a,i/=Math.pow(10,h);var j=i.toFixed(h),k=new n(b,f.start,b,f.end);this.session.replace(k,j),this.moveCursorTo(b,Math.max(f.start+1,c+j.length-f.value.length))}}},this.removeLines=function(){var a=this.$getSelectedRows();this.session.removeFullLines(a.first,a.last),this.clearSelection()},this.duplicateSelection=function(){var a=this.selection,b=this.session,c=a.getRange(),d=a.isBackwards();if(c.isEmpty()){var e=c.start.row;b.duplicateLines(e,e)}else{var f=d?c.start:c.end,g=b.insert(f,b.getTextRange(c),!1);c.start=f,c.end=g,a.setSelectionRange(c,d)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(a,b,c){return this.session.moveText(a,b,c)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(a,b){var c,d,e=this.selection;if(!e.inMultiSelectMode||this.inVirtualSelectionMode){var f=e.toOrientedRange();c=this.$getSelectedRows(f),d=this.session.$moveLines(c.first,c.last,b?0:a),b&&a==-1&&(d=0),f.moveBy(d,0),e.fromOrientedRange(f)}else{var g=e.rangeList.ranges;e.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var h=0,i=0,j=g.length,k=0;k<j;k++){var l=k;g[k].moveBy(h,0),c=this.$getSelectedRows(g[k]);for(var m=c.first,n=c.last;++k<j;){i&&g[k].moveBy(i,0);var o=this.$getSelectedRows(g[k]);if(b&&o.first!=n)break;if(!b&&o.first>n+1)break;
+n=o.last}for(k--,h=this.session.$moveLines(m,n,b?0:a),b&&a==-1&&(l=k+1);l<=k;)g[l].moveBy(h,0),l++;b||(h=0),i+=h}e.fromOrientedRange(e.ranges[0]),e.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(a){return a=(a||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(a.start.row),last:this.session.getRowFoldEnd(a.end.row)}},this.onCompositionStart=function(a){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(a){this.renderer.setCompositionText(a)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(a){return a>=this.getFirstVisibleRow()&&a<=this.getLastVisibleRow()},this.isRowFullyVisible=function(a){return a>=this.renderer.getFirstFullyVisibleRow()&&a<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(a,b){var c=this.renderer,d=this.renderer.layerConfig,e=a*Math.floor(d.height/d.lineHeight);this.$blockScrolling++,b===!0?this.selection.$moveSelection(function(){this.moveCursorBy(e,0)}):b===!1&&(this.selection.moveCursorBy(e,0),this.selection.clearSelection()),this.$blockScrolling--;var f=c.scrollTop;c.scrollBy(0,e*d.lineHeight),null!=b&&c.scrollCursorIntoView(null,.5),c.animateScrolling(f)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(a){this.renderer.scrollToRow(a)},this.scrollToLine=function(a,b,c,d){this.renderer.scrollToLine(a,b,c,d)},this.centerSelection=function(){var a=this.getSelectionRange(),b={row:Math.floor(a.start.row+(a.end.row-a.start.row)/2),column:Math.floor(a.start.column+(a.end.column-a.start.column)/2)};this.renderer.alignCursor(b,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(a,b){this.selection.moveCursorTo(a,b)},this.moveCursorToPosition=function(a){this.selection.moveCursorToPosition(a)},this.jumpToMatching=function(a,b){var c=this.getCursorPosition(),d=new s(this.session,c.row,c.column),e=d.getCurrentToken(),f=e||d.stepForward();if(f){var g,h,i=!1,j={},k=c.column-f.start,l={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(f.value.match(/[{}()\[\]]/g)){for(;k<f.value.length&&!i;k++)if(l[f.value[k]])switch(h=l[f.value[k]]+"."+f.type.replace("rparen","lparen"),isNaN(j[h])&&(j[h]=0),f.value[k]){case"(":case"[":case"{":j[h]++;break;case")":case"]":case"}":j[h]--,j[h]===-1&&(g="bracket",i=!0)}}else f&&f.type.indexOf("tag-name")!==-1&&(isNaN(j[f.value])&&(j[f.value]=0),"<"===e.value?j[f.value]++:"</"===e.value&&j[f.value]--,j[f.value]===-1&&(g="tag",i=!0));i||(e=f,f=d.stepForward(),k=0)}while(f&&!i);if(g){var m,o;if("bracket"===g)m=this.session.getBracketRange(c),m||(m=new n(d.getCurrentTokenRow(),d.getCurrentTokenColumn()+k-1,d.getCurrentTokenRow(),d.getCurrentTokenColumn()+k-1),o=m.start,(b||o.row===c.row&&Math.abs(o.column-c.column)<2)&&(m=this.session.getBracketRange(o)));else if("tag"===g){if(!f||f.type.indexOf("tag-name")===-1)return;var p=f.value;if(m=new n(d.getCurrentTokenRow(),d.getCurrentTokenColumn()-2,d.getCurrentTokenRow(),d.getCurrentTokenColumn()-2),0===m.compare(c.row,c.column)){i=!1;do f=e,e=d.stepBackward(),e&&(e.type.indexOf("tag-close")!==-1&&m.setEnd(d.getCurrentTokenRow(),d.getCurrentTokenColumn()+1),f.value===p&&f.type.indexOf("tag-name")!==-1&&("<"===e.value?j[p]++:"</"===e.value&&j[p]--,0===j[p]&&(i=!0)));while(e&&!i)}f&&f.type.indexOf("tag-name")&&(o=m.start,o.row==c.row&&Math.abs(o.column-c.column)<2&&(o=m.end))}o=m&&m.cursor||o,o&&(a?m&&b?this.selection.setRange(m):m&&m.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(o.row,o.column):this.selection.moveTo(o.row,o.column))}}},this.gotoLine=function(a,b,c){this.selection.clearSelection(),this.session.unfold({row:a-1,column:b||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(a-1,b||0),this.$blockScrolling-=1,this.isRowFullyVisible(a-1)||this.scrollToLine(a-1,!0,c)},this.navigateTo=function(a,b){this.selection.moveTo(a,b)},this.navigateUp=function(a){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var b=this.selection.anchor.getPosition();return this.moveCursorToPosition(b)}this.selection.clearSelection(),this.selection.moveCursorBy(-a||-1,0)},this.navigateDown=function(a){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var b=this.selection.anchor.getPosition();return this.moveCursorToPosition(b)}this.selection.clearSelection(),this.selection.moveCursorBy(a||1,0)},this.navigateLeft=function(a){if(this.selection.isEmpty())for(a=a||1;a--;)this.selection.moveCursorLeft();else{var b=this.getSelectionRange().start;this.moveCursorToPosition(b)}this.clearSelection()},this.navigateRight=function(a){if(this.selection.isEmpty())for(a=a||1;a--;)this.selection.moveCursorRight();else{var b=this.getSelectionRange().end;this.moveCursorToPosition(b)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(a,b){b&&this.$search.set(b);var c=this.$search.find(this.session),d=0;return c?(this.$tryReplace(c,a)&&(d=1),null!==c&&(this.selection.setSelectionRange(c),this.renderer.scrollSelectionIntoView(c.start,c.end)),d):d},this.replaceAll=function(a,b){b&&this.$search.set(b);var c=this.$search.findAll(this.session),d=0;if(!c.length)return d;this.$blockScrolling+=1;var e=this.getSelectionRange();this.selection.moveTo(0,0);for(var f=c.length-1;f>=0;--f)this.$tryReplace(c[f],a)&&d++;return this.selection.setSelectionRange(e),this.$blockScrolling-=1,d},this.$tryReplace=function(a,b){var c=this.session.getTextRange(a);return b=this.$search.replace(c,b),null!==b?(a.end=this.session.replace(a,b),a):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(a,b,c){b||(b={}),"string"==typeof a||a instanceof RegExp?b.needle=a:"object"==typeof a&&d.mixin(b,a);var e=this.selection.getRange();null==b.needle&&(a=this.session.getTextRange(e)||this.$search.$options.needle,a||(e=this.session.getWordRange(e.start.row,e.start.column),a=this.session.getTextRange(e)),this.$search.set({needle:a})),this.$search.set(b),b.start||this.$search.set({start:e});var f=this.$search.find(this.session);return b.preventScroll?f:f?(this.revealRange(f,c),f):(b.backwards?e.start=e.end:e.end=e.start,void this.selection.setRange(e))},this.findNext=function(a,b){this.find({skipCurrent:!0,backwards:!1},a,b)},this.findPrevious=function(a,b){this.find(a,{skipCurrent:!0,backwards:!0},b)},this.revealRange=function(a,b){this.$blockScrolling+=1,this.session.unfold(a),this.selection.setSelectionRange(a),this.$blockScrolling-=1;var c=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(a.start,a.end,.5),b!==!1&&this.renderer.animateScrolling(c)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(a){if(a){var b,c=this,d=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var e=this.$scrollAnchor;e.style.cssText="position:absolute",this.container.insertBefore(e,this.container.firstChild);var f=this.on("changeSelection",function(){d=!0}),g=this.renderer.on("beforeRender",function(){d&&(b=c.renderer.container.getBoundingClientRect())}),h=this.renderer.on("afterRender",function(){if(d&&b&&(c.isFocused()||c.searchBox&&c.searchBox.isFocused())){var a=c.renderer,f=a.$cursorLayer.$pixelPos,g=a.layerConfig,h=f.top-g.offset;d=f.top>=0&&h+b.top<0||!(f.top<g.height&&f.top+b.top+g.lineHeight>window.innerHeight)&&null,null!=d&&(e.style.top=h+"px",e.style.left=f.left+"px",e.style.height=g.lineHeight+"px",e.scrollIntoView(d)),d=b=null}});this.setAutoScrollEditorIntoView=function(a){a||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",f),this.renderer.off("afterRender",h),this.renderer.off("beforeRender",g))}}},this.$resetCursorStyle=function(){var a=this.$cursorStyle||"ace",b=this.renderer.$cursorLayer;b&&(b.setSmoothBlinking(/smooth/.test(a)),b.isBlinking=!this.$readOnly&&"wide"!=a,e.setCssClass(b.element,"ace_slim-cursors",/slim/.test(a)))}}).call(t.prototype),r.defineOptions(t.prototype,"editor",{selectionStyle:{set:function(a){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:a})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(a){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(a){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(a){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(a){this.setAutoScrollEditorIntoView(a)}},keyboardHandler:{set:function(a){this.setKeyboardHandler(a)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),b.Editor=t}),ace.define("ace/undomanager",["require","exports","module"],function(a,b,c){"use strict";var d=function(){this.reset()};(function(){function a(a){return{action:a.action,start:a.start,end:a.end,lines:1==a.lines.length?null:a.lines,text:1==a.lines.length?a.lines[0]:null}}function b(a){return{action:a.action,start:a.start,end:a.end,lines:a.lines||[a.text]}}function c(a,b){for(var c=new Array(a.length),d=0;d<a.length;d++){for(var e=a[d],f={group:e.group,deltas:new Array(e.length)},g=0;g<e.deltas.length;g++){var h=e.deltas[g];f.deltas[g]=b(h)}c[d]=f}return c}this.execute=function(a){var b=a.args[0];this.$doc=a.args[1],a.merge&&this.hasUndo()&&(this.dirtyCounter--,b=this.$undoStack.pop().concat(b)),this.$undoStack.push(b),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(a){var b=this.$undoStack.pop(),c=null;return b&&(c=this.$doc.undoChanges(b,a),this.$redoStack.push(b),this.dirtyCounter--),c},this.redo=function(a){var b=this.$redoStack.pop(),c=null;return b&&(c=this.$doc.redoChanges(this.$deserializeDeltas(b),a),this.$undoStack.push(b),this.dirtyCounter++),c},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return 0===this.dirtyCounter},this.$serializeDeltas=function(b){return c(b,a)},this.$deserializeDeltas=function(a){return c(a,b)}}).call(d.prototype),b.UndoManager=d}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("../lib/dom"),e=a("../lib/oop"),f=a("../lib/lang"),g=a("../lib/event_emitter").EventEmitter,h=function(a){this.element=d.createElement("div"),this.element.className="ace_layer ace_gutter-layer",a.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){e.implement(this,g),this.setSession=function(a){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=a,a&&a.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(a,b){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(a,b)},this.removeGutterDecoration=function(a,b){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(a,b)},this.setAnnotations=function(a){this.$annotations=[];for(var b=0;b<a.length;b++){var c=a[b],d=c.row,e=this.$annotations[d];e||(e=this.$annotations[d]={text:[]});var g=c.text;g=g?f.escapeHTML(g):c.html||"",e.text.indexOf(g)===-1&&e.text.push(g);var h=c.type;"error"==h?e.className=" ace_error":"warning"==h&&" ace_error"!=e.className?e.className=" ace_warning":"info"==h&&!e.className&&(e.className=" ace_info")}},this.$updateAnnotations=function(a){if(this.$annotations.length){var b=a.start.row,c=a.end.row-b;if(0!==c)if("remove"==a.action)this.$annotations.splice(b,c+1,null);else{var d=new Array(c+1);d.unshift(b,1),this.$annotations.splice.apply(this.$annotations,d)}}},this.update=function(a){for(var b=this.session,c=a.firstRow,e=Math.min(a.lastRow+a.gutterOffset,b.getLength()-1),f=b.getNextFoldLine(c),g=f?f.start.row:1/0,h=this.$showFoldWidgets&&b.foldWidgets,i=b.$breakpoints,j=b.$decorations,k=b.$firstLineNumber,l=0,m=b.gutterRenderer||this.$renderer,n=null,o=-1,p=c;;){if(p>g&&(p=f.end.row+1,f=b.getNextFoldLine(p,f),g=f?f.start.row:1/0),p>e){for(;this.$cells.length>o+1;)n=this.$cells.pop(),this.element.removeChild(n.element);break}n=this.$cells[++o],n||(n={element:null,textNode:null,foldWidget:null},n.element=d.createElement("div"),n.textNode=document.createTextNode(""),n.element.appendChild(n.textNode),this.element.appendChild(n.element),this.$cells[o]=n);var q="ace_gutter-cell ";i[p]&&(q+=i[p]),j[p]&&(q+=j[p]),this.$annotations[p]&&(q+=this.$annotations[p].className),n.element.className!=q&&(n.element.className=q);var r=b.getRowLength(p)*a.lineHeight+"px";if(r!=n.element.style.height&&(n.element.style.height=r),h){var s=h[p];null==s&&(s=h[p]=b.getFoldWidget(p))}if(s){n.foldWidget||(n.foldWidget=d.createElement("span"),n.element.appendChild(n.foldWidget));var q="ace_fold-widget ace_"+s;q+="start"==s&&p==g&&p<f.end.row?" ace_closed":" ace_open",n.foldWidget.className!=q&&(n.foldWidget.className=q);var r=a.lineHeight+"px";n.foldWidget.style.height!=r&&(n.foldWidget.style.height=r)}else n.foldWidget&&(n.element.removeChild(n.foldWidget),n.foldWidget=null);var t=l=m?m.getText(b,p):p+k;t!=n.textNode.data&&(n.textNode.data=t),p++}this.element.style.height=a.minHeight+"px",(this.$fixedWidth||b.$useWrapMode)&&(l=b.getLength()+k);var u=m?m.getWidth(b,l,a):l.toString().length*a.characterWidth,v=this.$padding||this.$computePadding();u+=v.left+v.right,u!==this.gutterWidth&&!isNaN(u)&&(this.gutterWidth=u,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",u))},this.$fixedWidth=!1,this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(a){this.$renderer=!a&&{getWidth:function(){return""},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(a){a?d.addCssClass(this.element,"ace_folding-enabled"):d.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=a,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var a=d.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(a.paddingLeft)+1||0,this.$padding.right=parseInt(a.paddingRight)||0,this.$padding},this.getRegion=function(a){var b=this.$padding||this.$computePadding(),c=this.element.getBoundingClientRect();return a.x<b.left+c.left?"markers":this.$showFoldWidgets&&a.x>c.right-b.right?"foldWidgets":void 0}}).call(h.prototype),b.Gutter=h}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(a,b,c){"use strict";var d=a("../range").Range,e=a("../lib/dom"),f=function(a){this.element=e.createElement("div"),this.element.className="ace_layer ace_marker-layer",a.appendChild(this.element)};(function(){function a(a,b,c,d){return(a?1:0)|(b?2:0)|(c?4:0)|(d?8:0)}this.$padding=0,this.setPadding=function(a){this.$padding=a},this.setSession=function(a){this.session=a},this.setMarkers=function(a){this.markers=a},this.update=function(a){var a=a||this.config;if(a){this.config=a;var b=[];for(var c in this.markers){var d=this.markers[c];if(d.range){var e=d.range.clipRows(a.firstRow,a.lastRow);if(!e.isEmpty())if(e=e.toScreenRange(this.session),d.renderer){var f=this.$getTop(e.start.row,a),g=this.$padding+e.start.column*a.characterWidth;d.renderer(b,e,g,f,a)}else"fullLine"==d.type?this.drawFullLineMarker(b,e,d.clazz,a):"screenLine"==d.type?this.drawScreenLineMarker(b,e,d.clazz,a):e.isMultiLine()?"text"==d.type?this.drawTextMarker(b,e,d.clazz,a):this.drawMultiLineMarker(b,e,d.clazz,a):this.drawSingleLineMarker(b,e,d.clazz+" ace_start ace_br15",a)}else d.update(b,this,this.session,a)}this.element.innerHTML=b.join("")}},this.$getTop=function(a,b){return(a-b.firstRowScreen)*b.lineHeight},this.drawTextMarker=function(b,c,e,f,g){for(var h=this.session,i=c.start.row,j=c.end.row,k=i,l=0,m=0,n=h.getScreenLastRowColumn(k),o=new d(k,c.start.column,k,m);k<=j;k++)o.start.row=o.end.row=k,o.start.column=k==i?c.start.column:h.getRowWrapIndent(k),o.end.column=n,l=m,m=n,n=k+1<j?h.getScreenLastRowColumn(k+1):k==j?0:c.end.column,this.drawSingleLineMarker(b,o,e+(k==i?" ace_start":"")+" ace_br"+a(k==i||k==i+1&&c.start.column,l<m,m>n,k==j),f,k==j?0:1,g)},this.drawMultiLineMarker=function(a,b,c,d,e){var f=this.$padding,g=d.lineHeight,h=this.$getTop(b.start.row,d),i=f+b.start.column*d.characterWidth;e=e||"",a.push("<div class='",c," ace_br1 ace_start' style='","height:",g,"px;","right:0;","top:",h,"px;","left:",i,"px;",e,"'></div>"),h=this.$getTop(b.end.row,d);var j=b.end.column*d.characterWidth;if(a.push("<div class='",c," ace_br12' style='","height:",g,"px;","width:",j,"px;","top:",h,"px;","left:",f,"px;",e,"'></div>"),g=(b.end.row-b.start.row-1)*d.lineHeight,!(g<=0)){h=this.$getTop(b.start.row+1,d);var k=(b.start.column?1:0)|(b.end.column?0:8);a.push("<div class='",c,k?" ace_br"+k:"","' style='","height:",g,"px;","right:0;","top:",h,"px;","left:",f,"px;",e,"'></div>")}},this.drawSingleLineMarker=function(a,b,c,d,e,f){var g=d.lineHeight,h=(b.end.column+(e||0)-b.start.column)*d.characterWidth,i=this.$getTop(b.start.row,d),j=this.$padding+b.start.column*d.characterWidth;a.push("<div class='",c,"' style='","height:",g,"px;","width:",h,"px;","top:",i,"px;","left:",j,"px;",f||"","'></div>")},this.drawFullLineMarker=function(a,b,c,d,e){var f=this.$getTop(b.start.row,d),g=d.lineHeight;b.start.row!=b.end.row&&(g+=this.$getTop(b.end.row,d)-f),a.push("<div class='",c,"' style='","height:",g,"px;","top:",f,"px;","left:0;right:0;",e||"","'></div>")},this.drawScreenLineMarker=function(a,b,c,d,e){var f=this.$getTop(b.start.row,d),g=d.lineHeight;a.push("<div class='",c,"' style='","height:",g,"px;","top:",f,"px;","left:0;right:0;",e||"","'></div>")}}).call(f.prototype),b.Marker=f}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/dom"),f=a("../lib/lang"),g=(a("../lib/useragent"),a("../lib/event_emitter").EventEmitter),h=function(a){this.element=e.createElement("div"),this.element.className="ace_layer ace_text-layer",a.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){d.implement(this,g),this.EOF_CHAR="¶",this.EOL_CHAR_LF="¬",this.EOL_CHAR_CRLF="¤",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="—",this.SPACE_CHAR="·",this.$padding=0,this.$updateEolChar=function(){var a="\n"==this.session.doc.getNewLineCharacter()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=a)return this.EOL_CHAR=a,!0},this.setPadding=function(a){this.$padding=a,this.element.style.padding="0 "+a+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(a){this.$fontMetrics=a,this.$fontMetrics.on("changeCharacterSize",function(a){this._signal("changeCharacterSize",a)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(a){this.session=a,a&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(a){return this.showInvisibles!=a&&(this.showInvisibles=a,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(a){return this.displayIndentGuides!=a&&(this.displayIndentGuides=a,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var a=this.session.getTabSize();this.tabSize=a;for(var b=this.$tabStrings=[0],c=1;c<a+1;c++)this.showInvisibles?b.push("<span class='ace_invisible ace_invisible_tab'>"+f.stringRepeat(this.TAB_CHAR,c)+"</span>"):b.push(f.stringRepeat(" ",c));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var d="ace_indent-guide",e="",g="";if(this.showInvisibles){d+=" ace_invisible",e=" ace_invisible_space",g=" ace_invisible_tab";var h=f.stringRepeat(this.SPACE_CHAR,this.tabSize),i=f.stringRepeat(this.TAB_CHAR,this.tabSize)}else var h=f.stringRepeat(" ",this.tabSize),i=h;this.$tabStrings[" "]="<span class='"+d+e+"'>"+h+"</span>",this.$tabStrings["\t"]="<span class='"+d+g+"'>"+i+"</span>"}},this.updateLines=function(a,b,c){(this.config.lastRow!=a.lastRow||this.config.firstRow!=a.firstRow)&&this.scrollLines(a),this.config=a;for(var d=Math.max(b,a.firstRow),e=Math.min(c,a.lastRow),f=this.element.childNodes,g=0,h=a.firstRow;h<d;h++){var i=this.session.getFoldLine(h);if(i){if(i.containsRow(d)){d=i.start.row;break}h=i.end.row}g++}for(var h=d,i=this.session.getNextFoldLine(h),j=i?i.start.row:1/0;h>j&&(h=i.end.row+1,i=this.session.getNextFoldLine(h,i),j=i?i.start.row:1/0),!(h>e);){var k=f[g++];if(k){var l=[];this.$renderLine(l,h,!this.$useLineGroups(),h==j&&i),k.style.height=a.lineHeight*this.session.getRowLength(h)+"px",k.innerHTML=l.join("")}h++}},this.scrollLines=function(a){var b=this.config;if(this.config=a,!b||b.lastRow<a.firstRow)return this.update(a);if(a.lastRow<b.firstRow)return this.update(a);var c=this.element;if(b.firstRow<a.firstRow)for(var d=this.session.getFoldedRowCount(b.firstRow,a.firstRow-1);d>0;d--)c.removeChild(c.firstChild);if(b.lastRow>a.lastRow)for(var d=this.session.getFoldedRowCount(a.lastRow+1,b.lastRow);d>0;d--)c.removeChild(c.lastChild);if(a.firstRow<b.firstRow){var e=this.$renderLinesFragment(a,a.firstRow,b.firstRow-1);c.firstChild?c.insertBefore(e,c.firstChild):c.appendChild(e)}if(a.lastRow>b.lastRow){var e=this.$renderLinesFragment(a,b.lastRow+1,a.lastRow);c.appendChild(e)}},this.$renderLinesFragment=function(a,b,c){for(var d=this.element.ownerDocument.createDocumentFragment(),f=b,g=this.session.getNextFoldLine(f),h=g?g.start.row:1/0;f>h&&(f=g.end.row+1,g=this.session.getNextFoldLine(f,g),h=g?g.start.row:1/0),!(f>c);){var i=e.createElement("div"),j=[];if(this.$renderLine(j,f,!1,f==h&&g),i.innerHTML=j.join(""),this.$useLineGroups())i.className="ace_line_group",d.appendChild(i),i.style.height=a.lineHeight*this.session.getRowLength(f)+"px";else for(;i.firstChild;)d.appendChild(i.firstChild);f++}return d},this.update=function(a){this.config=a;for(var b=[],c=a.firstRow,d=a.lastRow,e=c,f=this.session.getNextFoldLine(e),g=f?f.start.row:1/0;e>g&&(e=f.end.row+1,f=this.session.getNextFoldLine(e,f),g=f?f.start.row:1/0),!(e>d);)this.$useLineGroups()&&b.push("<div class='ace_line_group' style='height:",a.lineHeight*this.session.getRowLength(e),"px'>"),this.$renderLine(b,e,!1,e==g&&f),this.$useLineGroups()&&b.push("</div>"),e++;this.element.innerHTML=b.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(a,b,c,d){var e=this,g=/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,h=function(a,c,d,g,h){if(c)return e.showInvisibles?"<span class='ace_invisible ace_invisible_space'>"+f.stringRepeat(e.SPACE_CHAR,a.length)+"</span>":a;if("&"==a)return"&#38;";if("<"==a)return"&#60;";if(">"==a)return"&#62;";if("\t"==a){var i=e.session.getScreenTabSize(b+g);return b+=i-1,e.$tabStrings[i]}if("　"==a){var j=e.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",k=e.showInvisibles?e.SPACE_CHAR:"";return b+=1,"<span class='"+j+"' style='width:"+2*e.config.characterWidth+"px'>"+k+"</span>"}return d?"<span class='ace_invisible ace_invisible_space ace_invalid'>"+e.SPACE_CHAR+"</span>":(b+=1,"<span class='ace_cjk' style='width:"+2*e.config.characterWidth+"px'>"+a+"</span>")},i=d.replace(g,h);if(this.$textToken[c.type])a.push(i);else{var j="ace_"+c.type.replace(/\./g," ace_"),k="";"fold"==c.type&&(k=" style='width:"+c.value.length*this.config.characterWidth+"px;' "),a.push("<span class='",j,"'",k,">",i,"</span>")}return b+d.length},this.renderIndentGuide=function(a,b,c){var d=b.search(this.$indentGuideRe);return d<=0||d>=c?b:" "==b[0]?(d-=d%this.tabSize,a.push(f.stringRepeat(this.$tabStrings[" "],d/this.tabSize)),b.substr(d)):"\t"==b[0]?(a.push(f.stringRepeat(this.$tabStrings["\t"],d)),b.substr(d)):b},this.$renderWrappedLine=function(a,b,c,d){for(var e=0,g=0,h=c[0],i=0,j=0;j<b.length;j++){var k=b[j],l=k.value;if(0==j&&this.displayIndentGuides){if(e=l.length,l=this.renderIndentGuide(a,l,h),!l)continue;e-=l.length}if(e+l.length<h)i=this.$renderToken(a,i,k,l),e+=l.length;else{for(;e+l.length>=h;)i=this.$renderToken(a,i,k,l.substring(0,h-e)),l=l.substring(h-e),e=h,d||a.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),a.push(f.stringRepeat(" ",c.indent)),g++,i=0,h=c[g]||Number.MAX_VALUE;0!=l.length&&(e+=l.length,i=this.$renderToken(a,i,k,l))}}},this.$renderSimpleLine=function(a,b){var c=0,d=b[0],e=d.value;this.displayIndentGuides&&(e=this.renderIndentGuide(a,e)),e&&(c=this.$renderToken(a,c,d,e));for(var f=1;f<b.length;f++)d=b[f],e=d.value,c=this.$renderToken(a,c,d,e)},this.$renderLine=function(a,b,c,d){if(!d&&0!=d&&(d=this.session.getFoldLine(b)),d)var e=this.$getFoldLineTokens(b,d);else var e=this.session.getTokens(b);if(c||a.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(b)),"px'>"),e.length){var f=this.session.getRowSplitData(b);f&&f.length?this.$renderWrappedLine(a,e,f,c):this.$renderSimpleLine(a,e)}this.showInvisibles&&(d&&(b=d.end.row),a.push("<span class='ace_invisible ace_invisible_eol'>",b==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),c||a.push("</div>")},this.$getFoldLineTokens=function(a,b){function c(a,b,c){for(var d=0,f=0;f+a[d].value.length<b;)if(f+=a[d].value.length,d++,d==a.length)return;if(f!=b){var g=a[d].value.substring(b-f);g.length>c-b&&(g=g.substring(0,c-b)),e.push({type:a[d].type,value:g}),f=b+g.length,d+=1}for(;f<c&&d<a.length;){var g=a[d].value;g.length+f>c?e.push({type:a[d].type,value:g.substring(0,c-f)}):e.push(a[d]),f+=g.length,d+=1}}var d=this.session,e=[],f=d.getTokens(a);return b.walk(function(a,b,g,h,i){null!=a?e.push({type:"fold",value:a}):(i&&(f=d.getTokens(b)),f.length&&c(f,h,g))},b.end.row,this.session.getLine(b.end.row).length),e},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(h.prototype),b.Text=h}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(a,b,c){"use strict";var d,e=a("../lib/dom"),f=function(a){this.element=e.createElement("div"),this.element.className="ace_layer ace_cursor-layer",a.appendChild(this.element),void 0===d&&(d=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),e.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(d?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(a){for(var b=this.cursors,c=b.length;c--;)b[c].style.visibility=a?"":"hidden"},this.$updateOpacity=function(a){for(var b=this.cursors,c=b.length;c--;)b[c].style.opacity=a?"":"0"},this.$padding=0,this.setPadding=function(a){this.$padding=a},this.setSession=function(a){this.session=a},this.setBlinking=function(a){a!=this.isBlinking&&(this.isBlinking=a,this.restartTimer())},this.setBlinkInterval=function(a){a!=this.blinkInterval&&(this.blinkInterval=a,this.restartTimer())},this.setSmoothBlinking=function(a){a!=this.smoothBlinking&&!d&&(this.smoothBlinking=a,e.setCssClass(this.element,"ace_smooth-blinking",a),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var a=e.createElement("div");return a.className="ace_cursor",this.element.appendChild(a),this.cursors.push(a),a},this.removeCursor=function(){if(this.cursors.length>1){var a=this.cursors.pop();return a.parentNode.removeChild(a),a}},this.hideCursor=function(){this.isVisible=!1,e.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,e.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var a=this.$updateCursors;if(clearInterval(this.intervalId),
+clearTimeout(this.timeoutId),this.smoothBlinking&&e.removeCssClass(this.element,"ace_smooth-blinking"),a(!0),this.isBlinking&&this.blinkInterval&&this.isVisible){this.smoothBlinking&&setTimeout(function(){e.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var b=function(){this.timeoutId=setTimeout(function(){a(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){a(!0),b()},this.blinkInterval),b()}},this.getPixelPosition=function(a,b){if(!this.config||!this.session)return{left:0,top:0};a||(a=this.session.selection.getCursor());var c=this.session.documentToScreenPosition(a),d=this.$padding+c.column*this.config.characterWidth,e=(c.row-(b?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:d,top:e}},this.update=function(a){this.config=a;var b=this.session.$selectionMarkers,c=0,d=0;void 0!==b&&0!==b.length||(b=[{cursor:null}]);for(var c=0,e=b.length;c<e;c++){var f=this.getPixelPosition(b[c].cursor,!0);if(!((f.top>a.height+a.offset||f.top<0)&&c>1)){var g=(this.cursors[d++]||this.addCursor()).style;this.drawCursor?this.drawCursor(g,f,a,b[c],this.session):(g.left=f.left+"px",g.top=f.top+"px",g.width=a.characterWidth+"px",g.height=a.lineHeight+"px")}}for(;this.cursors.length>d;)this.removeCursor();var h=this.session.getOverwrite();this.$setOverwrite(h),this.$pixelPos=f,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(a){a!=this.overwrite&&(this.overwrite=a,a?e.addCssClass(this.element,"ace_overwrite-cursors"):e.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(f.prototype),b.Cursor=f}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/dom"),f=a("./lib/event"),g=a("./lib/event_emitter").EventEmitter,h=32768,i=function(a){this.element=e.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=e.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),a.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,f.addListener(this.element,"scroll",this.onScroll.bind(this)),f.addListener(this.element,"mousedown",f.preventDefault)};(function(){d.implement(this,g),this.setVisible=function(a){this.element.style.display=a?"":"none",this.isVisible=a,this.coeff=1}}).call(i.prototype);var j=function(a,b){i.call(this,a),this.scrollTop=0,this.scrollHeight=0,b.$scrollbarWidth=this.width=e.scrollbarWidth(a.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px"};d.inherits(j,i),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var a=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-a)/(this.coeff-a)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return this.isVisible?this.width:0},this.setHeight=function(a){this.element.style.height=a+"px"},this.setInnerHeight=this.setScrollHeight=function(a){this.scrollHeight=a,a>h?(this.coeff=h/a,a=h):1!=this.coeff&&(this.coeff=1),this.inner.style.height=a+"px"},this.setScrollTop=function(a){this.scrollTop!=a&&(this.skipEvent=!0,this.scrollTop=a,this.element.scrollTop=a*this.coeff)}}.call(j.prototype);var k=function(a,b){i.call(this,a),this.scrollLeft=0,this.height=b.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};d.inherits(k,i),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(a){this.element.style.width=a+"px"},this.setInnerWidth=function(a){this.inner.style.width=a+"px"},this.setScrollWidth=function(a){this.inner.style.width=a+"px"},this.setScrollLeft=function(a){this.scrollLeft!=a&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=a)}}.call(k.prototype),b.ScrollBar=j,b.ScrollBarV=j,b.ScrollBarH=k,b.VScrollBar=j,b.HScrollBar=k}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(a,b,c){"use strict";var d=a("./lib/event"),e=function(a,b){this.onRender=a,this.pending=!1,this.changes=0,this.window=b||window};(function(){this.schedule=function(a){if(this.changes=this.changes|a,!this.pending&&this.changes){this.pending=!0;var b=this;d.nextFrame(function(){b.pending=!1;for(var a;a=b.changes;)b.changes=0,b.onRender(a)},this.window)}}}).call(e.prototype),b.RenderLoop=e}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(a,b,c){var d=a("../lib/oop"),e=a("../lib/dom"),f=a("../lib/lang"),g=a("../lib/useragent"),h=a("../lib/event_emitter").EventEmitter,i=0,j=b.FontMetrics=function(a){this.el=e.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=e.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=e.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),a.appendChild(this.el),i||this.$testFractionalRect(),this.$measureNode.innerHTML=f.stringRepeat("X",i),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){d.implement(this,h),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var a=e.createElement("div");this.$setMeasureNodeStyles(a.style),a.style.width="0.2px",document.documentElement.appendChild(a);var b=a.getBoundingClientRect().width;i=b>0&&b<1?50:100,a.parentNode.removeChild(a)},this.$setMeasureNodeStyles=function(a,b){a.width=a.height="auto",a.left=a.top="0px",a.visibility="hidden",a.position="absolute",a.whiteSpace="pre",g.isIE<8?a["font-family"]="inherit":a.font="inherit",a.overflow=b?"hidden":"visible"},this.checkForSizeChanges=function(){var a=this.$measureSizes();if(a&&(this.$characterSize.width!==a.width||this.$characterSize.height!==a.height)){this.$measureNode.style.fontWeight="bold";var b=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=a,this.charSizes=Object.create(null),this.allowBoldFonts=b&&b.width===a.width&&b.height===a.height,this._emit("changeCharacterSize",{data:a})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var a=this;return this.$pollSizeChangesTimer=setInterval(function(){a.checkForSizeChanges()},500)},this.setPolling=function(a){a?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(50===i){var a=null;try{a=this.$measureNode.getBoundingClientRect()}catch(b){a={width:0,height:0}}var c={height:a.height,width:a.width/i}}else var c={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/i};return 0===c.width||0===c.height?null:c},this.$measureCharWidth=function(a){this.$main.innerHTML=f.stringRepeat(a,i);var b=this.$main.getBoundingClientRect();return b.width/i},this.getCharacterWidth=function(a){var b=this.charSizes[a];return void 0===b&&(b=this.charSizes[a]=this.$measureCharWidth(a)/this.$characterSize.width),b},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(j.prototype)}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(a,b,c){"use strict";var d=a("./lib/oop"),e=a("./lib/dom"),f=a("./config"),g=a("./lib/useragent"),h=a("./layer/gutter").Gutter,i=a("./layer/marker").Marker,j=a("./layer/text").Text,k=a("./layer/cursor").Cursor,l=a("./scrollbar").HScrollBar,m=a("./scrollbar").VScrollBar,n=a("./renderloop").RenderLoop,o=a("./layer/font_metrics").FontMetrics,p=a("./lib/event_emitter").EventEmitter,q='.ace_editor {position: relative;overflow: hidden;font: 12px/normal \'Monaco\', \'Menlo\', \'Ubuntu Mono\', \'Consolas\', \'source-code-pro\', monospace;direction: ltr;text-align: left;}.ace_scroller {position: absolute;overflow: hidden;top: 0;bottom: 0;background-color: inherit;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;cursor: text;}.ace_content {position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.ace_dragging .ace_scroller:before{position: absolute;top: 0;left: 0;right: 0;bottom: 0;content: \'\';background: rgba(250, 250, 250, 0.01);z-index: 1000;}.ace_dragging.ace_dark .ace_scroller:before{background: rgba(0, 0, 0, 0.01);}.ace_selecting, .ace_selecting * {cursor: text !important;}.ace_gutter {position: absolute;overflow : hidden;width: auto;top: 0;bottom: 0;left: 0;cursor: default;z-index: 4;-ms-user-select: none;-moz-user-select: none;-webkit-user-select: none;user-select: none;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: 2px center;}.ace_gutter-cell.ace_warning {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");background-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {position: absolute;right: 0;bottom: 0;z-index: 6;}.ace_scrollbar-inner {position: absolute;cursor: text;left: 0;top: 0;}.ace_scrollbar-v{overflow-x: hidden;overflow-y: scroll;top: 0;}.ace_scrollbar-h {overflow-x: scroll;overflow-y: hidden;left: 0;}.ace_print-margin {position: absolute;height: 100%;}.ace_text-input {position: absolute;z-index: 0;width: 0.5em;height: 1em;opacity: 0;background: transparent;-moz-appearance: none;appearance: none;border: none;resize: none;outline: none;overflow: hidden;font: inherit;padding: 0 1px;margin: 0 -1px;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;transform: translatez(0);}.ace_slim-cursors .ace_cursor {border-left-width: 1px;}.ace_overwrite-cursors .ace_cursor {border-left-width: 0;border-bottom: 1px solid;}.ace_hidden-cursors .ace_cursor {opacity: 0.2;}.ace_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.ace_editor.ace_multiselect .ace_cursor {border-left-width: 1px;}.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {position: absolute;z-index: 3;}.ace_marker-layer .ace_selection {position: absolute;z-index: 5;}.ace_marker-layer .ace_bracket {position: absolute;z-index: 6;}.ace_marker-layer .ace_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;display: inline-block;height: 11px;margin-top: -2px;vertical-align: middle;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");background-repeat: no-repeat, repeat-x;background-position: center center, top left;color: transparent;border: 1px solid black;border-radius: 2px;cursor: pointer;pointer-events: auto;}.ace_dark .ace_fold {}.ace_fold:hover{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");}.ace_tooltip {background-color: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));border: 1px solid gray;border-radius: 1px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);color: black;max-width: 100%;padding: 3px 4px;position: fixed;z-index: 999999;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;margin: 0 -12px 0 1px;display: none;width: 11px;vertical-align: top;background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");background-repeat: no-repeat;background-position: center;border-radius: 3px;border: 1px solid transparent;cursor: pointer;}.ace_folding-enabled .ace_fold-widget {display: inline-block;   }.ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");}.ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");}.ace_fold-widget:hover {border: 1px solid rgba(0, 0, 0, 0.3);background-color: rgba(255, 255, 255, 0.2);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);}.ace_fold-widget:active {border: 1px solid rgba(0, 0, 0, 0.4);background-color: rgba(0, 0, 0, 0.05);box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);}.ace_dark .ace_fold-widget {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");}.ace_dark .ace_fold-widget.ace_end {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget.ace_closed {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");}.ace_dark .ace_fold-widget:hover {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);background-color: rgba(255, 255, 255, 0.1);}.ace_dark .ace_fold-widget:active {box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);}.ace_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;transition: opacity 0.05s ease 0.05s;opacity:1;}.ace_underline {text-decoration: underline;}.ace_bold {font-weight: bold;}.ace_nobold .ace_bold {font-weight: normal;}.ace_italic {font-style: italic;}.ace_error-marker {background-color: rgba(255, 0, 0,0.2);position: absolute;z-index: 9;}.ace_highlight-marker {background-color: rgba(255, 255, 0,0.2);position: absolute;z-index: 8;}.ace_br1 {border-top-left-radius    : 3px;}.ace_br2 {border-top-right-radius   : 3px;}.ace_br3 {border-top-left-radius    : 3px; border-top-right-radius:    3px;}.ace_br4 {border-bottom-right-radius: 3px;}.ace_br5 {border-top-left-radius    : 3px; border-bottom-right-radius: 3px;}.ace_br6 {border-top-right-radius   : 3px; border-bottom-right-radius: 3px;}.ace_br7 {border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px;}.ace_br8 {border-bottom-left-radius : 3px;}.ace_br9 {border-top-left-radius    : 3px; border-bottom-left-radius:  3px;}.ace_br10{border-top-right-radius   : 3px; border-bottom-left-radius:  3px;}.ace_br11{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-left-radius:  3px;}.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br13{border-top-left-radius    : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br14{border-top-right-radius   : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}.ace_br15{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}';e.importCssString(q,"ace_editor.css");var r=function(a,b){var c=this;this.container=a||e.createElement("div"),this.$keepTextAreaAtCursor=!g.isOldIE,e.addCssClass(this.container,"ace_editor"),this.setTheme(b),this.$gutter=e.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=e.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=e.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new h(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new i(this.content);var d=this.$textLayer=new j(this.content);this.canvas=d.element,this.$markerFront=new i(this.content),this.$cursorLayer=new k(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new m(this.container,this),this.scrollBarH=new l(this.container,this),this.scrollBarV.addEventListener("scroll",function(a){c.$scrollAnimation||c.session.setScrollTop(a.data-c.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(a){c.$scrollAnimation||c.session.setScrollLeft(a.data-c.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new o(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(a){c.updateCharacterSize(),c.onResize(!0,c.gutterWidth,c.$size.width,c.$size.height),c._signal("changeCharacterSize",a)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new n(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),f.resetOptions(this),f._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,d.implement(this,p),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(a){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=a,a&&this.scrollMargin.top&&a.getScrollTop()<=0&&a.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(a),this.$markerBack.setSession(a),this.$markerFront.setSession(a),this.$gutterLayer.setSession(a),this.$textLayer.setSession(a),a&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},this.updateLines=function(a,b,c){if(void 0===b&&(b=1/0),this.$changedLines?(this.$changedLines.firstRow>a&&(this.$changedLines.firstRow=a),this.$changedLines.lastRow<b&&(this.$changedLines.lastRow=b)):this.$changedLines={firstRow:a,lastRow:b},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!c)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar()},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(a){a?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(a,b,c,d){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=a?1:0;var e=this.container;d||(d=e.clientHeight||e.scrollHeight),c||(c=e.clientWidth||e.scrollWidth);var f=this.$updateCachedSize(a,b,c,d);return this.$size.scrollerHeight&&(c||d)?(a&&(this.$gutterLayer.$padding=null),a?this.$renderChanges(f|this.$changes,!0):this.$loop.schedule(f|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null,void 0):this.resizing=0}},this.$updateCachedSize=function(a,b,c,d){d-=this.$extraHeight||0;var e=0,f=this.$size,g={width:f.width,height:f.height,scrollerHeight:f.scrollerHeight,scrollerWidth:f.scrollerWidth};return d&&(a||f.height!=d)&&(f.height=d,e|=this.CHANGE_SIZE,f.scrollerHeight=f.height,this.$horizScroll&&(f.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",e|=this.CHANGE_SCROLL),c&&(a||f.width!=c)&&(e|=this.CHANGE_SIZE,f.width=c,null==b&&(b=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=b,this.scrollBarH.element.style.left=this.scroller.style.left=b+"px",f.scrollerWidth=Math.max(0,c-b-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px",(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||a)&&(e|=this.CHANGE_FULL)),f.$dirty=!c||!d,e&&this._signal("resize",g),e},this.onGutterResize=function(){var a=this.$showGutter?this.$gutter.offsetWidth:0;a!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,a,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var a=this.$size.scrollerWidth-2*this.$padding,b=Math.floor(a/this.characterWidth);return this.session.adjustWrapLimit(b,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(a){this.setOption("animatedScroll",a)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(a){this.setOption("showInvisibles",a)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(a){this.setOption("displayIndentGuides",a)},this.setShowPrintMargin=function(a){this.setOption("showPrintMargin",a)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(a){this.setOption("printMarginColumn",a)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(a){return this.setOption("showGutter",a)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(a){this.setOption("fadeFoldWidgets",a)},this.setHighlightGutterLine=function(a){this.setOption("highlightGutterLine",a)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var a=this.$cursorLayer.$pixelPos,b=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var c=this.session.selection.getCursor();c.column=0,a=this.$cursorLayer.getPixelPosition(c,!0),b*=this.session.getRowLength(c.row)}this.$gutterLineHighlight.style.top=a.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=b+"px"},this.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var a=e.createElement("div");a.className="ace_layer ace_print-margin-layer",this.$printMarginEl=e.createElement("div"),this.$printMarginEl.className="ace_print-margin",a.appendChild(this.$printMarginEl),this.content.insertBefore(a,this.content.firstChild)}var b=this.$printMarginEl.style;b.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",b.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$keepTextAreaAtCursor){var a=this.layerConfig,b=this.$cursorLayer.$pixelPos.top,c=this.$cursorLayer.$pixelPos.left;b-=a.offset;var d=this.textarea.style,e=this.lineHeight;if(b<0||b>a.height-e)return void(d.top=d.left="0");var f=this.characterWidth;if(this.$composition){var g=this.textarea.value.replace(/^\x01+/,"");f*=this.session.$getStringScreenWidth(g)[0]+2,e+=2}c-=this.scrollLeft,c>this.$size.scrollerWidth-f&&(c=this.$size.scrollerWidth-f),c+=this.gutterWidth,d.height=e+"px",d.width=f+"px",d.left=Math.min(c,this.$size.scrollerWidth-f)+"px",d.top=Math.min(b,this.$size.height-e)+"px"}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var a=this.layerConfig,b=a.lastRow,c=this.session.documentToScreenRow(b,0)*a.lineHeight;return c-this.session.getScrollTop()>a.height-a.lineHeight?b-1:b},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(a){this.$padding=a,this.$textLayer.setPadding(a),this.$cursorLayer.setPadding(a),this.$markerFront.setPadding(a),this.$markerBack.setPadding(a),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(a,b,c,d){var e=this.scrollMargin;e.top=0|a,e.bottom=0|b,e.right=0|d,e.left=0|c,e.v=e.top+e.bottom,e.h=e.left+e.right,e.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-e.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(a){this.setOption("hScrollBarAlwaysVisible",a)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(a){this.setOption("vScrollBarAlwaysVisible",a)},this.$updateScrollBarV=function(){var a=this.layerConfig.maxHeight,b=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(a-=(b-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>a-b&&(a=this.scrollTop+b,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(a+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(a,b){if(this.$changes&&(a|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!a&&!b)return void(this.$changes|=a);
+if(this.$size.$dirty)return this.$changes|=a,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender");var c=this.layerConfig;if(a&this.CHANGE_FULL||a&this.CHANGE_SIZE||a&this.CHANGE_TEXT||a&this.CHANGE_LINES||a&this.CHANGE_SCROLL||a&this.CHANGE_H_SCROLL){if(a|=this.$computeLayerConfig(),c.firstRow!=this.layerConfig.firstRow&&c.firstRowScreen==this.layerConfig.firstRowScreen){var d=this.scrollTop+(c.firstRow-this.layerConfig.firstRow)*this.lineHeight;d>0&&(this.scrollTop=d,a|=this.CHANGE_SCROLL,a|=this.$computeLayerConfig())}c=this.layerConfig,this.$updateScrollBarV(),a&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-c.offset+"px",this.content.style.marginTop=-c.offset+"px",this.content.style.width=c.width+2*this.$padding+"px",this.content.style.height=c.minHeight+"px"}return a&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),a&this.CHANGE_FULL?(this.$textLayer.update(c),this.$showGutter&&this.$gutterLayer.update(c),this.$markerBack.update(c),this.$markerFront.update(c),this.$cursorLayer.update(c),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender"),void 0):a&this.CHANGE_SCROLL?(a&this.CHANGE_TEXT||a&this.CHANGE_LINES?this.$textLayer.update(c):this.$textLayer.scrollLines(c),this.$showGutter&&this.$gutterLayer.update(c),this.$markerBack.update(c),this.$markerFront.update(c),this.$cursorLayer.update(c),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender"),void 0):(a&this.CHANGE_TEXT?(this.$textLayer.update(c),this.$showGutter&&this.$gutterLayer.update(c)):a&this.CHANGE_LINES?(this.$updateLines()||a&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(c):(a&this.CHANGE_TEXT||a&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(c),a&this.CHANGE_CURSOR&&(this.$cursorLayer.update(c),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),a&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(c),a&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(c),this._signal("afterRender"),void 0)},this.$autosize=function(){var a=this.session.getScreenLength()*this.lineHeight,b=this.$maxLines*this.lineHeight,c=Math.min(b,Math.max((this.$minLines||1)*this.lineHeight,a))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(c+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&c>this.$maxPixelHeight&&(c=this.$maxPixelHeight);var d=a>b;if(c!=this.desiredHeight||this.$size.height!=this.desiredHeight||d!=this.$vScroll){d!=this.$vScroll&&(this.$vScroll=d,this.scrollBarV.setVisible(d));var e=this.container.clientWidth;this.container.style.height=c+"px",this.$updateCachedSize(!0,this.$gutterWidth,e,c),this.desiredHeight=c,this._signal("autosize")}},this.$computeLayerConfig=function(){var a=this.session,b=this.$size,c=b.height<=2*this.lineHeight,d=this.session.getScreenLength(),e=d*this.lineHeight,f=this.$getLongestLine(),g=!c&&(this.$hScrollBarAlwaysVisible||b.scrollerWidth-f-2*this.$padding<0),h=this.$horizScroll!==g;h&&(this.$horizScroll=g,this.scrollBarH.setVisible(g));var i=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var j=this.scrollTop%this.lineHeight,k=b.scrollerHeight+this.lineHeight,l=!this.$maxLines&&this.$scrollPastEnd?(b.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;e+=l;var m=this.scrollMargin;this.session.setScrollTop(Math.max(-m.top,Math.min(this.scrollTop,e-b.scrollerHeight+m.bottom))),this.session.setScrollLeft(Math.max(-m.left,Math.min(this.scrollLeft,f+2*this.$padding-b.scrollerWidth+m.right)));var n=!c&&(this.$vScrollBarAlwaysVisible||b.scrollerHeight-e+l<0||this.scrollTop>m.top),o=i!==n;o&&(this.$vScroll=n,this.scrollBarV.setVisible(n));var p,q,r=Math.ceil(k/this.lineHeight)-1,s=Math.max(0,Math.round((this.scrollTop-j)/this.lineHeight)),t=s+r,u=this.lineHeight;s=a.screenToDocumentRow(s,0);var v=a.getFoldLine(s);v&&(s=v.start.row),p=a.documentToScreenRow(s,0),q=a.getRowLength(s)*u,t=Math.min(a.screenToDocumentRow(t,0),a.getLength()-1),k=b.scrollerHeight+a.getRowLength(t)*u+q,j=this.scrollTop-p*u;var w=0;return this.layerConfig.width!=f&&(w=this.CHANGE_H_SCROLL),(h||o)&&(w=this.$updateCachedSize(!0,this.gutterWidth,b.width,b.height),this._signal("scrollbarVisibilityChanged"),o&&(f=this.$getLongestLine())),this.layerConfig={width:f,padding:this.$padding,firstRow:s,firstRowScreen:p,lastRow:t,lineHeight:u,characterWidth:this.characterWidth,minHeight:k,maxHeight:e,offset:j,gutterOffset:u?Math.max(0,Math.ceil((j+b.height-b.scrollerHeight)/u)):0,height:this.$size.scrollerHeight},w},this.$updateLines=function(){var a=this.$changedLines.firstRow,b=this.$changedLines.lastRow;this.$changedLines=null;var c=this.layerConfig;if(!(a>c.lastRow+1||b<c.firstRow))return b===1/0?(this.$showGutter&&this.$gutterLayer.update(c),void this.$textLayer.update(c)):(this.$textLayer.updateLines(c,a,b),!0)},this.$getLongestLine=function(){var a=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(a+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(a*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(a,b){this.$gutterLayer.addGutterDecoration(a,b)},this.removeGutterDecoration=function(a,b){this.$gutterLayer.removeGutterDecoration(a,b)},this.updateBreakpoints=function(a){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(a){this.$gutterLayer.setAnnotations(a),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(a,b,c){this.scrollCursorIntoView(a,c),this.scrollCursorIntoView(b,c)},this.scrollCursorIntoView=function(a,b,c){if(0!==this.$size.scrollerHeight){var d=this.$cursorLayer.getPixelPosition(a),e=d.left,f=d.top,g=c&&c.top||0,h=c&&c.bottom||0,i=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;i+g>f?(b&&i+g>f+this.lineHeight&&(f-=b*this.$size.scrollerHeight),0===f&&(f=-this.scrollMargin.top),this.session.setScrollTop(f)):i+this.$size.scrollerHeight-h<f+this.lineHeight&&(b&&i+this.$size.scrollerHeight-h<f-this.lineHeight&&(f+=b*this.$size.scrollerHeight),this.session.setScrollTop(f+this.lineHeight-this.$size.scrollerHeight));var j=this.scrollLeft;j>e?(e<this.$padding+2*this.layerConfig.characterWidth&&(e=-this.scrollMargin.left),this.session.setScrollLeft(e)):j+this.$size.scrollerWidth<e+this.characterWidth?this.session.setScrollLeft(Math.round(e+this.characterWidth-this.$size.scrollerWidth)):j<=this.$padding&&e-j<this.characterWidth&&this.session.setScrollLeft(0)}},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(a){this.session.setScrollTop(a*this.lineHeight)},this.alignCursor=function(a,b){"number"==typeof a&&(a={row:a,column:0});var c=this.$cursorLayer.getPixelPosition(a),d=this.$size.scrollerHeight-this.lineHeight,e=c.top-d*(b||0);return this.session.setScrollTop(e),e},this.STEPS=8,this.$calcSteps=function(a,b){var c=0,d=this.STEPS,e=[],f=function(a,b,c){return c*(Math.pow(a-1,3)+1)+b};for(c=0;c<d;++c)e.push(f(c/this.STEPS,a,b-a));return e},this.scrollToLine=function(a,b,c,d){var e=this.$cursorLayer.getPixelPosition({row:a,column:0}),f=e.top;b&&(f-=this.$size.scrollerHeight/2);var g=this.scrollTop;this.session.setScrollTop(f),c!==!1&&this.animateScrolling(g,d)},this.animateScrolling=function(a,b){var c=this.scrollTop;if(this.$animatedScroll){var d=this;if(a!=c){if(this.$scrollAnimation){var e=this.$scrollAnimation.steps;if(e.length&&(a=e[0],a==c))return}var f=d.$calcSteps(a,c);this.$scrollAnimation={from:a,to:c,steps:f},clearInterval(this.$timer),d.session.setScrollTop(f.shift()),d.session.$scrollTop=c,this.$timer=setInterval(function(){f.length?(d.session.setScrollTop(f.shift()),d.session.$scrollTop=c):null!=c?(d.session.$scrollTop=-1,d.session.setScrollTop(c),c=null):(d.$timer=clearInterval(d.$timer),d.$scrollAnimation=null,b&&b())},10)}}},this.scrollToY=function(a){this.scrollTop!==a&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=a)},this.scrollToX=function(a){this.scrollLeft!==a&&(this.scrollLeft=a),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(a,b){this.session.setScrollTop(b),this.session.setScrollLeft(b)},this.scrollBy=function(a,b){b&&this.session.setScrollTop(this.session.getScrollTop()+b),a&&this.session.setScrollLeft(this.session.getScrollLeft()+a)},this.isScrollableBy=function(a,b){return b<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||(b>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(a<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(a>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},this.pixelToScreenCoordinates=function(a,b){var c=this.scroller.getBoundingClientRect(),d=(a+this.scrollLeft-c.left-this.$padding)/this.characterWidth,e=Math.floor((b+this.scrollTop-c.top)/this.lineHeight),f=Math.round(d);return{row:e,column:f,side:d-f>0?1:-1}},this.screenToTextCoordinates=function(a,b){var c=this.scroller.getBoundingClientRect(),d=Math.round((a+this.scrollLeft-c.left-this.$padding)/this.characterWidth),e=(b+this.scrollTop-c.top)/this.lineHeight;return this.session.screenToDocumentPosition(e,Math.max(d,0))},this.textToScreenCoordinates=function(a,b){var c=this.scroller.getBoundingClientRect(),d=this.session.documentToScreenPosition(a,b),e=this.$padding+Math.round(d.column*this.characterWidth),f=d.row*this.lineHeight;return{pageX:c.left+e-this.scrollLeft,pageY:c.top+f-this.scrollTop}},this.visualizeFocus=function(){e.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){e.removeCssClass(this.container,"ace_focus")},this.showComposition=function(a){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,e.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(a){this.$moveTextAreaToCursor()},this.hideComposition=function(){this.$composition&&(e.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null)},this.setTheme=function(a,b){function c(c){if(d.$themeId!=a)return b&&b();if(!c||!c.cssClass)throw new Error("couldn't load module "+a+" or it didn't call define");e.importCssString(c.cssText,c.cssClass,d.container.ownerDocument),d.theme&&e.removeCssClass(d.container,d.theme.cssClass);var f="padding"in c?c.padding:"padding"in(d.theme||{})?4:d.$padding;d.$padding&&f!=d.$padding&&d.setPadding(f),d.$theme=c.cssClass,d.theme=c,e.addCssClass(d.container,c.cssClass),e.setCssClass(d.container,"ace_dark",c.isDark),d.$size&&(d.$size.width=0,d.$updateSizeAsync()),d._dispatchEvent("themeLoaded",{theme:c}),b&&b()}var d=this;if(this.$themeId=a,d._dispatchEvent("themeChange",{theme:a}),a&&"string"!=typeof a)c(a);else{var g=a||this.$options.theme.initialValue;f.loadModule(["theme",g],c)}},this.getTheme=function(){return this.$themeId},this.setStyle=function(a,b){e.setCssClass(this.container,a,b!==!1)},this.unsetStyle=function(a){e.removeCssClass(this.container,a)},this.setCursorStyle=function(a){this.scroller.style.cursor!=a&&(this.scroller.style.cursor=a)},this.setMouseCursor=function(a){this.scroller.style.cursor=a},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(r.prototype),f.defineOptions(r.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(a){this.$textLayer.setShowInvisibles(a)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(a){"number"==typeof a&&(this.$printMarginColumn=a),this.$showPrintMargin=!!a,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(a){this.$gutter.style.display=a?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(a){e.setCssClass(this.$gutter,"ace_fade-fold-widgets",a)},initialValue:!1},showFoldWidgets:{set:function(a){this.$gutterLayer.setShowFoldWidgets(a)},initialValue:!0},showLineNumbers:{set:function(a){this.$gutterLayer.setShowLineNumbers(a),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(a){this.$textLayer.setDisplayIndentGuides(a)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(a){return this.$gutterLineHighlight?(this.$gutterLineHighlight.style.display=a?"":"none",void(this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight())):(this.$gutterLineHighlight=e.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight),void 0)},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(a){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(a){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(a){"number"==typeof a&&(a+="px"),this.container.style.fontSize=a,this.updateFontSize()},initialValue:12},fontFamily:{set:function(a){this.container.style.fontFamily=a,this.updateFontSize()}},maxLines:{set:function(a){this.updateFull()}},minLines:{set:function(a){this.updateFull()}},maxPixelHeight:{set:function(a){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(a){a=+a||0,this.$scrollPastEnd!=a&&(this.$scrollPastEnd=a,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(a){this.$gutterLayer.$fixedWidth=!!a,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(a){this.setTheme(a)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),b.VirtualRenderer=r}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(a,b,c){"use strict";var d=a("../lib/oop"),e=a("../lib/net"),f=a("../lib/event_emitter").EventEmitter,g=a("../config"),h=function(b,c,d,e){if(this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),a.nameToUrl&&!a.toUrl&&(a.toUrl=a.nameToUrl),g.get("packaged")||!a.toUrl)e=e||g.moduleUrl(c,"worker");else{var f=this.$normalizePath;e=e||f(a.toUrl("ace/worker/worker.js",null,"_"));var h={};b.forEach(function(b){h[b]=f(a.toUrl(b,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}try{this.$worker=new Worker(e)}catch(i){if(!(i instanceof window.DOMException))throw i;var j=this.$workerBlob(e),k=window.URL||window.webkitURL,l=k.createObjectURL(j);this.$worker=new Worker(l),k.revokeObjectURL(l)}this.$worker.postMessage({init:!0,tlns:h,module:c,classname:d}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){d.implement(this,f),this.onMessage=function(a){var b=a.data;switch(b.type){case"event":this._signal(b.name,{data:b.data});break;case"call":var c=this.callbacks[b.id];c&&(c(b.data),delete this.callbacks[b.id]);break;case"error":this.reportError(b.data);break;case"log":window.console&&console.log&&console.log.apply(console,b.data)}},this.reportError=function(a){window.console&&console.error&&console.error(a)},this.$normalizePath=function(a){return e.qualifyURL(a)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(a,b){this.$worker.postMessage({command:a,args:b})},this.call=function(a,b,c){if(c){var d=this.callbackId++;this.callbacks[d]=c,b.push(d)}this.send(a,b)},this.emit=function(a,b){try{this.$worker.postMessage({event:a,data:{data:b.data}})}catch(c){console.error(c.stack)}},this.attachToDocument=function(a){this.$doc&&this.terminate(),this.$doc=a,this.call("setValue",[a.getValue()]),a.on("change",this.changeListener)},this.changeListener=function(a){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),"insert"==a.action?this.deltaQueue.push(a.start,a.lines):this.deltaQueue.push(a.start,a.end)},this.$sendDeltaQueue=function(){var a=this.deltaQueue;a&&(this.deltaQueue=null,a.length>50&&a.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:a}))},this.$workerBlob=function(a){var b="importScripts('"+e.qualifyURL(a)+"');";try{return new Blob([b],{type:"application/javascript"})}catch(c){var d=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,f=new d;return f.append(b),f.getBlob("application/javascript")}}}).call(h.prototype);var i=function(a,b,c){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var d=null,e=!1,h=Object.create(f),i=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(a){i.messageBuffer.push(a),d&&(e?setTimeout(j):j())},this.setEmitSync=function(a){e=a};var j=function(){var a=i.messageBuffer.shift();a.command?d[a.command].apply(d,a.args):a.event&&h._signal(a.event,a.data)};h.postMessage=function(a){i.onMessage({data:a})},h.callback=function(a,b){this.postMessage({type:"call",id:b,data:a})},h.emit=function(a,b){this.postMessage({type:"event",name:a,data:b})},g.loadModule(["worker",b],function(a){for(d=new a[c](h);i.messageBuffer.length;)j()})};i.prototype=h.prototype,b.UIWorkerClient=i,b.WorkerClient=h}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(a,b,c){"use strict";var d=a("./range").Range,e=a("./lib/event_emitter").EventEmitter,f=a("./lib/oop"),g=function(a,b,c,d,e,f){var g=this;this.length=b,this.session=a,this.doc=a.getDocument(),this.mainClass=e,this.othersClass=f,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=d,this.$onCursorChange=function(){setTimeout(function(){g.onCursorChange()})},this.$pos=c;var h=a.getUndoManager().$undoStack||a.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=h.length,this.setup(),a.selection.on("changeCursor",this.$onCursorChange)};(function(){f.implement(this,e),this.setup=function(){var a=this,b=this.doc,c=this.session;this.selectionBefore=c.selection.toJSON(),c.selection.inMultiSelectMode&&c.selection.toSingleRange(),this.pos=b.createAnchor(this.$pos.row,this.$pos.column);var e=this.pos;e.$insertRight=!0,e.detach(),e.markerId=c.addMarker(new d(e.row,e.column,e.row,e.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(c){var d=b.createAnchor(c.row,c.column);d.$insertRight=!0,d.detach(),a.others.push(d)}),c.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var a=this.session,b=this;this.othersActive=!0,this.others.forEach(function(c){c.markerId=a.addMarker(new d(c.row,c.column,c.row,c.column+b.length),b.othersClass,null,!1)})}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var a=0;a<this.others.length;a++)this.session.removeMarker(this.others[a].markerId)}},this.onUpdate=function(a){if(this.$updating)return this.updateAnchors(a);var b=a;if(b.start.row===b.end.row&&b.start.row===this.pos.row){this.$updating=!0;var c="insert"===a.action?b.end.column-b.start.column:b.start.column-b.end.column,e=b.start.column>=this.pos.column&&b.start.column<=this.pos.column+this.length+1,f=b.start.column-this.pos.column;if(this.updateAnchors(a),e&&(this.length+=c),e&&!this.session.$fromUndo)if("insert"===a.action)for(var g=this.others.length-1;g>=0;g--){var h=this.others[g],i={row:h.row,column:h.column+f};this.doc.insertMergedLines(i,a.lines)}else if("remove"===a.action)for(var g=this.others.length-1;g>=0;g--){var h=this.others[g],i={row:h.row,column:h.column+f};this.doc.remove(new d(i.row,i.column,i.row,i.column-c))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(a){this.pos.onChange(a);for(var b=this.others.length;b--;)this.others[b].onChange(a);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var a=this,b=this.session,c=function(c,e){b.removeMarker(c.markerId),c.markerId=b.addMarker(new d(c.row,c.column,c.row,c.column+a.length),e,null,!1)};c(this.pos,this.mainClass);for(var e=this.others.length;e--;)c(this.others[e],this.othersClass)}},this.onCursorChange=function(a){if(!this.$updating&&this.session){var b=this.session.selection.getCursor();b.row===this.pos.row&&b.column>=this.pos.column&&b.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",a)):(this.hideOtherMarkers(),this._emit("cursorLeave",a))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth!==-1){for(var a=this.session.getUndoManager(),b=(a.$undoStack||a.$undostack).length-this.$undoStackDepth,c=0;c<b;c++)a.undo(!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}).call(g.prototype),b.PlaceHolder=g}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(a,b,c){function d(a,b){return a.row==b.row&&a.column==b.column}function e(a){var b=a.domEvent,c=b.altKey,e=b.shiftKey,h=b.ctrlKey,i=a.getAccelKey(),j=a.getButton();if(h&&g.isMac&&(j=b.button),a.editor.inMultiSelectMode&&2==j)return void a.editor.textInput.onContextMenu(a.domEvent);if(!h&&!c&&!i)return void(0===j&&a.editor.inMultiSelectMode&&a.editor.exitMultiSelectMode());if(0===j){var k,l=a.editor,m=l.selection,n=l.inMultiSelectMode,o=a.getDocumentPosition(),p=m.getCursor(),q=a.inSelection()||m.isEmpty()&&d(o,p),r=a.x,s=a.y,t=function(a){r=a.clientX,s=a.clientY},u=l.session,v=l.renderer.pixelToScreenCoordinates(r,s),w=v;if(l.$mouseHandler.$enableJumpToDef)h&&c||i&&c?k=e?"block":"add":c&&l.$blockSelectEnabled&&(k="block");else if(i&&!c){if(k="add",!n&&e)return}else c&&l.$blockSelectEnabled&&(k="block");if(k&&g.isMac&&b.ctrlKey&&l.$mouseHandler.cancelContextMenu(),"add"==k){if(!n&&q)return;if(!n){var x=m.toOrientedRange();l.addSelectionMarker(x)}var y=m.rangeList.rangeAtPoint(o);l.$blockScrolling++,l.inVirtualSelectionMode=!0,e&&(y=null,x=m.ranges[0]||x,l.removeSelectionMarker(x)),l.once("mouseup",function(){var a=m.toOrientedRange();y&&a.isEmpty()&&d(y.cursor,a.cursor)?m.substractPoint(a.cursor):(e?m.substractPoint(x.cursor):x&&(l.removeSelectionMarker(x),m.addRange(x)),m.addRange(a)),l.$blockScrolling--,l.inVirtualSelectionMode=!1})}else if("block"==k){a.stop(),l.inVirtualSelectionMode=!0;var z,A=[],B=function(){var a=l.renderer.pixelToScreenCoordinates(r,s),b=u.screenToDocumentPosition(a.row,a.column);d(w,a)&&d(b,m.lead)||(w=a,l.$blockScrolling++,l.selection.moveToPosition(b),l.renderer.scrollCursorIntoView(),l.removeSelectionMarkers(A),A=m.rectangularRangeBlock(w,v),l.$mouseHandler.$clickSelection&&1==A.length&&A[0].isEmpty()&&(A[0]=l.$mouseHandler.$clickSelection.clone()),A.forEach(l.addSelectionMarker,l),l.updateSelectionMarkers(),l.$blockScrolling--)};l.$blockScrolling++,n&&!i?m.toSingleRange():!n&&i&&(z=m.toOrientedRange(),l.addSelectionMarker(z)),e?v=u.documentToScreenPosition(m.lead):m.moveToPosition(o),l.$blockScrolling--,w={row:-1,column:-1};var C=function(a){clearInterval(E),l.removeSelectionMarkers(A),A.length||(A=[m.toOrientedRange()]),l.$blockScrolling++,z&&(l.removeSelectionMarker(z),m.toSingleRange(z));for(var b=0;b<A.length;b++)m.addRange(A[b]);l.inVirtualSelectionMode=!1,l.$mouseHandler.$clickSelection=null,l.$blockScrolling--},D=B;f.capture(l.container,t,C);var E=setInterval(function(){D()},20);return a.preventDefault()}}}var f=a("../lib/event"),g=a("../lib/useragent");b.onMouseDown=e}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(a,b,c){b.defaultCommands=[{name:"addCursorAbove",exec:function(a){a.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",exec:function(a){a.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",exec:function(a){a.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",exec:function(a){a.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",exec:function(a){a.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",exec:function(a){a.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",exec:function(a){a.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",exec:function(a){a.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"splitIntoLines",exec:function(a){a.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"alignCursors",exec:function(a){a.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",exec:function(a){a.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],b.multiSelectCommands=[{name:"singleSelection",bindKey:"esc",exec:function(a){a.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(a){return a&&a.inMultiSelectMode}}];var d=a("../keyboard/hash_handler").HashHandler;b.keyboardHandler=new d(b.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(a,b,c){function d(a,b,c){return p.$options.wrap=!0,p.$options.needle=b,p.$options.backwards=c==-1,p.find(a)}function e(a,b){return a.row==b.row&&a.column==b.column}function f(a){a.$multiselectOnSessionChange||(a.$onAddRange=a.$onAddRange.bind(a),a.$onRemoveRange=a.$onRemoveRange.bind(a),a.$onMultiSelect=a.$onMultiSelect.bind(a),a.$onSingleSelect=a.$onSingleSelect.bind(a),a.$multiselectOnSessionChange=b.onSessionChange.bind(a),a.$checkMultiselectChange=a.$checkMultiselectChange.bind(a),a.$multiselectOnSessionChange(a),a.on("changeSession",a.$multiselectOnSessionChange),a.on("mousedown",k),a.commands.addCommands(n.defaultCommands),g(a))}function g(a){function b(b){d&&(a.renderer.setMouseCursor(""),d=!1)}var c=a.textInput.getElement(),d=!1;l.addListener(c,"keydown",function(c){var e=18==c.keyCode&&!(c.ctrlKey||c.shiftKey||c.metaKey);a.$blockSelectEnabled&&e?d||(a.renderer.setMouseCursor("crosshair"),d=!0):d&&b()}),l.addListener(c,"keyup",b),l.addListener(c,"blur",b)}var h=a("./range_list").RangeList,i=a("./range").Range,j=a("./selection").Selection,k=a("./mouse/multi_select_handler").onMouseDown,l=a("./lib/event"),m=a("./lib/lang"),n=a("./commands/multi_select_commands");b.commands=n.defaultCommands.concat(n.multiSelectCommands);var o=a("./search").Search,p=new o,q=a("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(q.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(a,b){if(a){if(!this.inMultiSelectMode&&0===this.rangeCount){var c=this.toOrientedRange();if(this.rangeList.add(c),this.rangeList.add(a),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),b||this.fromOrientedRange(a);this.rangeList.removeAll(),this.rangeList.add(c),this.$onAddRange(c)}a.cursor||(a.cursor=a.end);var d=this.rangeList.add(a);return this.$onAddRange(a),d.length&&this.$onRemoveRange(d),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(a)}},this.toSingleRange=function(a){a=a||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),a&&this.fromOrientedRange(a)},this.substractPoint=function(a){var b=this.rangeList.substractPoint(a);if(b)return this.$onRemoveRange(b),b[0]},this.mergeOverlappingRanges=function(){var a=this.rangeList.merge();a.length?this.$onRemoveRange(a):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(a){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(a),this._signal("addRange",{range:a})},this.$onRemoveRange=function(a){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();a.push(b),this.rangeCount=0}for(var c=a.length;c--;){var d=this.ranges.indexOf(a[c]);this.ranges.splice(d,1)}this._signal("removeRange",{ranges:a}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),b=b||this.ranges[0],b&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new h,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var a=this.rangeList.ranges,b=a[a.length-1],c=i.fromPoints(a[0].start,b.end);this.toSingleRange(),this.setSelectionRange(c,b.cursor==b.start)}else{var c=this.getRange(),d=this.isBackwards(),e=c.start.row,f=c.end.row;if(e==f){if(d)var g=c.end,h=c.start;else var g=c.start,h=c.end;return this.addRange(i.fromPoints(h,h)),void this.addRange(i.fromPoints(g,g))}var j=[],k=this.getLineRange(e,!0);k.start.column=c.start.column,j.push(k);for(var l=e+1;l<f;l++)j.push(this.getLineRange(l,!0));k=this.getLineRange(f,!0),k.end.column=c.end.column,j.push(k),j.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var a=this.rangeList.ranges,b=a[a.length-1],c=i.fromPoints(a[0].start,b.end);this.toSingleRange(),this.setSelectionRange(c,b.cursor==b.start)}else{var d=this.session.documentToScreenPosition(this.selectionLead),e=this.session.documentToScreenPosition(this.selectionAnchor),f=this.rectangularRangeBlock(d,e);
+f.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(a,b,c){var d=[],f=a.column<b.column;if(f)var g=a.column,h=b.column;else var g=b.column,h=a.column;var j=a.row<b.row;if(j)var k=a.row,l=b.row;else var k=b.row,l=a.row;g<0&&(g=0),k<0&&(k=0),k==l&&(c=!0);for(var m=k;m<=l;m++){var n=i.fromPoints(this.session.screenToDocumentPosition(m,g),this.session.screenToDocumentPosition(m,h));if(n.isEmpty()){if(o&&e(n.end,o))break;var o=n.end}n.cursor=f?n.start:n.end,d.push(n)}if(j&&d.reverse(),!c){for(var p=d.length-1;d[p].isEmpty()&&p>0;)p--;if(p>0)for(var q=0;d[q].isEmpty();)q++;for(var r=p;r>=q;r--)d[r].isEmpty()&&d.splice(r,1)}return d}}.call(j.prototype);var r=a("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(a){a.cursor||(a.cursor=a.end);var b=this.getSelectionStyle();return a.marker=this.session.addMarker(a,"ace_selection",b),this.session.$selectionMarkers.push(a),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,a},this.removeSelectionMarker=function(a){if(a.marker){this.session.removeMarker(a.marker);var b=this.session.$selectionMarkers.indexOf(a);b!=-1&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(a){for(var b=this.session.$selectionMarkers,c=a.length;c--;){var d=a[c];if(d.marker){this.session.removeMarker(d.marker);var e=b.indexOf(d);e!=-1&&b.splice(e,1)}}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(a){this.addSelectionMarker(a.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(a){this.removeSelectionMarkers(a.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(a){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(n.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(a){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(n.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(a){var b=a.command,c=a.editor;if(c.multiSelect){if(b.multiSelectAction)"forEach"==b.multiSelectAction?d=c.forEachSelection(b,a.args):"forEachLine"==b.multiSelectAction?d=c.forEachSelection(b,a.args,!0):"single"==b.multiSelectAction?(c.exitMultiSelectMode(),d=b.exec(c,a.args||{})):d=b.multiSelectAction(c,a.args||{});else{var d=b.exec(c,a.args||{});c.multiSelect.addRange(c.multiSelect.toOrientedRange()),c.multiSelect.mergeOverlappingRanges()}return d}},this.forEachSelection=function(a,b,c){if(!this.inVirtualSelectionMode){var d,e=c&&c.keepOrder,f=1==c||c&&c.$byLines,g=this.session,h=this.selection,i=h.rangeList,k=(e?h:i).ranges;if(!k.length)return a.exec?a.exec(this,b||{}):a(this,b||{});var l=h._eventRegistry;h._eventRegistry={};var m=new j(g);this.inVirtualSelectionMode=!0;for(var n=k.length;n--;){if(f)for(;n>0&&k[n].start.row==k[n-1].end.row;)n--;m.fromOrientedRange(k[n]),m.index=n,this.selection=g.selection=m;var o=a.exec?a.exec(this,b||{}):a(this,b||{});!d&&void 0!==o&&(d=o),m.toOrientedRange(k[n])}m.detach(),this.selection=g.selection=h,this.inVirtualSelectionMode=!1,h._eventRegistry=l,h.mergeOverlappingRanges();var p=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),p&&p.from==p.to&&this.renderer.animateScrolling(p.from),d}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var a="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var b=this.multiSelect.rangeList.ranges,c=[],d=0;d<b.length;d++)c.push(this.session.getTextRange(b[d]));var e=this.session.getDocument().getNewLineCharacter();a=c.join(e),a.length==(c.length-1)*e.length&&(a="")}else this.selection.isEmpty()||(a=this.session.getTextRange(this.getSelectionRange()));return a},this.$checkMultiselectChange=function(a,b){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var c=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&b==this.multiSelect.anchor)return;var d=b==this.multiSelect.anchor?c.cursor==c.start?c.end:c.start:c.cursor;(d.row!=b.row||this.session.$clipPositionToDocument(d.row,d.column).column!=b.column)&&this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange())}},this.findAll=function(a,b,c){if(b=b||{},b.needle=a||b.needle,void 0==b.needle){var d=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();b.needle=this.session.getTextRange(d)}this.$search.set(b);var e=this.$search.findAll(this.session);if(!e.length)return 0;this.$blockScrolling+=1;var f=this.multiSelect;c||f.toSingleRange(e[0]);for(var g=e.length;g--;)f.addRange(e[g],!0);return d&&f.rangeList.rangeAtPoint(d.start)&&f.addRange(d,!0),this.$blockScrolling-=1,e.length},this.selectMoreLines=function(a,b){var c=this.selection.toOrientedRange(),d=c.cursor==c.end,e=this.session.documentToScreenPosition(c.cursor);this.selection.$desiredColumn&&(e.column=this.selection.$desiredColumn);var f=this.session.screenToDocumentPosition(e.row+a,e.column);if(c.isEmpty())var g=f;else var h=this.session.documentToScreenPosition(d?c.end:c.start),g=this.session.screenToDocumentPosition(h.row+a,h.column);if(d){var j=i.fromPoints(f,g);j.cursor=j.start}else{var j=i.fromPoints(g,f);j.cursor=j.end}if(j.desiredColumn=e.column,this.selection.inMultiSelectMode){if(b)var k=c.cursor}else this.selection.addRange(c);this.selection.addRange(j),k&&this.selection.substractPoint(k)},this.transposeSelections=function(a){for(var b=this.session,c=b.multiSelect,d=c.ranges,e=d.length;e--;){var f=d[e];if(f.isEmpty()){var g=b.getWordRange(f.start.row,f.start.column);f.start.row=g.start.row,f.start.column=g.start.column,f.end.row=g.end.row,f.end.column=g.end.column}}c.mergeOverlappingRanges();for(var h=[],e=d.length;e--;){var f=d[e];h.unshift(b.getTextRange(f))}a<0?h.unshift(h.pop()):h.push(h.shift());for(var e=d.length;e--;){var f=d[e],g=f.clone();b.replace(f,h[e]),f.start.row=g.start.row,f.start.column=g.start.column}},this.selectMore=function(a,b,c){var e=this.session,f=e.multiSelect,g=f.toOrientedRange();if(!g.isEmpty()||(g=e.getWordRange(g.start.row,g.start.column),g.cursor=a==-1?g.start:g.end,this.multiSelect.addRange(g),!c)){var h=e.getTextRange(g),i=d(e,h,a);i&&(i.cursor=a==-1?i.start:i.end,this.$blockScrolling+=1,this.session.unfold(i),this.multiSelect.addRange(i),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),b&&this.multiSelect.substractPoint(g.cursor)}},this.alignCursors=function(){var a=this.session,b=a.multiSelect,c=b.ranges,d=-1,e=c.filter(function(a){return a.cursor.row==d||void(d=a.cursor.row)});if(c.length&&e.length!=c.length-1){e.forEach(function(a){b.substractPoint(a.cursor)});var f=0,g=1/0,h=c.map(function(b){var c=b.cursor,d=a.getLine(c.row),e=d.substr(c.column).search(/\S/g);return e==-1&&(e=0),c.column>f&&(f=c.column),e<g&&(g=e),e});c.forEach(function(b,c){var d=b.cursor,e=f-d.column,j=h[c]-g;e>j?a.insert(d,m.stringRepeat(" ",e-j)):a.remove(new i(d.row,d.column,d.row,d.column-e+j)),b.start.column=b.end.column=f,b.start.row=b.end.row=d.row,b.cursor=b.end}),b.fromOrientedRange(c[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var j=this.selection.getRange(),k=j.start.row,l=j.end.row,n=k==l;if(n){var o,p=this.session.getLength();do o=this.session.getLine(l);while(/[=:]/.test(o)&&++l<p);do o=this.session.getLine(k);while(/[=:]/.test(o)&&--k>0);k<0&&(k=0),l>=p&&(l=p-1)}var q=this.session.removeFullLines(k,l);q=this.$reAlignText(q,n),this.session.insert({row:k,column:0},q.join("\n")+"\n"),n||(j.start.column=0,j.end.column=q[q.length-1].length),this.selection.setRange(j)}},this.$reAlignText=function(a,b){function c(a){return m.stringRepeat(" ",a)}function d(a){return a[2]?c(g)+a[2]+c(h-a[2].length+i)+a[4].replace(/^([=:])\s+/,"$1 "):a[0]}function e(a){return a[2]?c(g+h-a[2].length)+a[2]+c(i," ")+a[4].replace(/^([=:])\s+/,"$1 "):a[0]}function f(a){return a[2]?c(g)+a[2]+c(i)+a[4].replace(/^([=:])\s+/,"$1 "):a[0]}var g,h,i,j=!0,k=!0;return a.map(function(a){var b=a.match(/(\s*)(.*?)(\s*)([=:].*)/);return b?null==g?(g=b[1].length,h=b[2].length,i=b[3].length,b):(g+h+i!=b[1].length+b[2].length+b[3].length&&(k=!1),g!=b[1].length&&(j=!1),g>b[1].length&&(g=b[1].length),h<b[2].length&&(h=b[2].length),i>b[3].length&&(i=b[3].length),b):[a]}).map(b?d:j?k?e:d:f)}}).call(r.prototype),b.onSessionChange=function(a){var b=a.session;b&&!b.multiSelect&&(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b&&b.multiSelect;var c=a.oldSession;c&&(c.multiSelect.off("addRange",this.$onAddRange),c.multiSelect.off("removeRange",this.$onRemoveRange),c.multiSelect.off("multiSelect",this.$onMultiSelect),c.multiSelect.off("singleSelect",this.$onSingleSelect),c.multiSelect.lead.off("change",this.$checkMultiselectChange),c.multiSelect.anchor.off("change",this.$checkMultiselectChange)),b&&(b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),b.multiSelect.lead.on("change",this.$checkMultiselectChange),b.multiSelect.anchor.on("change",this.$checkMultiselectChange)),b&&this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},b.MultiSelect=f,a("./config").defineOptions(r.prototype,"editor",{enableMultiselect:{set:function(a){f(this),a?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",k)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",k))},value:!0},enableBlockSelect:{set:function(a){this.$blockSelectEnabled=a},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(a,b,c){"use strict";var d=a("../../range").Range,e=b.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(a,b,c){var d=a.getLine(c);return this.foldingStartMarker.test(d)?"start":"markbeginend"==b&&this.foldingStopMarker&&this.foldingStopMarker.test(d)?"end":""},this.getFoldWidgetRange=function(a,b,c){return null},this.indentationBlock=function(a,b,c){var e=/\S/,f=a.getLine(b),g=f.search(e);if(g!=-1){for(var h=c||f.length,i=a.getLength(),j=b,k=b;++b<i;){var l=a.getLine(b).search(e);if(l!=-1){if(l<=g)break;k=b}}if(k>j){var m=a.getLine(k).length;return new d(j,h,k,m)}}},this.openingBracketBlock=function(a,b,c,e,f){var g={row:c,column:e+1},h=a.$findClosingBracket(b,g,f);if(h){var i=a.foldWidgets[h.row];return null==i&&(i=a.getFoldWidget(h.row)),"start"==i&&h.row>g.row&&(h.row--,h.column=a.getLine(h.row).length),d.fromPoints(g,h)}},this.closingBracketBlock=function(a,b,c,e,f){var g={row:c,column:e},h=a.$findOpeningBracket(b,g);if(h)return h.column++,g.column--,d.fromPoints(h,g)}}).call(e.prototype)}),ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(a,b,c){"use strict";b.isDark=!1,b.cssClass="ace-tm",b.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(a,b,c){"use strict";function d(a){this.session=a,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}var e=(a("./lib/oop"),a("./lib/dom"));a("./range").Range;(function(){this.getRowLength=function(a){var b;return b=this.lineWidgets?this.lineWidgets[a]&&this.lineWidgets[a].rowCount||0:0,this.$useWrapMode&&this.$wrapData[a]?this.$wrapData[a].length+1+b:1+b},this.$getWidgetScreenLength=function(){var a=0;return this.lineWidgets.forEach(function(b){b&&b.rowCount&&!b.hidden&&(a+=b.rowCount)}),a},this.$onChangeEditor=function(a){this.attach(a.editor)},this.attach=function(a){a&&a.widgetManager&&a.widgetManager!=this&&a.widgetManager.detach(),this.editor!=a&&(this.detach(),this.editor=a,a&&(a.widgetManager=this,a.renderer.on("beforeRender",this.measureWidgets),a.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(a){var b=this.editor;if(b){this.editor=null,b.widgetManager=null,b.renderer.off("beforeRender",this.measureWidgets),b.renderer.off("afterRender",this.renderWidgets);var c=this.session.lineWidgets;c&&c.forEach(function(a){a&&a.el&&a.el.parentNode&&(a._inDocument=!1,a.el.parentNode.removeChild(a.el))})}},this.updateOnFold=function(a,b){var c=b.lineWidgets;if(c&&a.action){for(var d=a.data,e=d.start.row,f=d.end.row,g="add"==a.action,h=e+1;h<f;h++)c[h]&&(c[h].hidden=g);c[f]&&(g?c[e]?c[f].hidden=g:c[e]=c[f]:(c[e]==c[f]&&(c[e]=void 0),c[f].hidden=g))}},this.updateOnChange=function(a){var b=this.session.lineWidgets;if(b){var c=a.start.row,d=a.end.row-c;if(0!==d)if("remove"==a.action){var e=b.splice(c+1,d);e.forEach(function(a){a&&this.removeLineWidget(a)},this),this.$updateRows()}else{var f=new Array(d);f.unshift(c,0),b.splice.apply(b,f),this.$updateRows()}}},this.$updateRows=function(){var a=this.session.lineWidgets;if(a){var b=!0;a.forEach(function(a,c){if(a)for(b=!1,a.row=c;a.$oldWidget;)a.$oldWidget.row=c,a=a.$oldWidget}),b&&(this.session.lineWidgets=null)}},this.addLineWidget=function(a){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var b=this.session.lineWidgets[a.row];b&&(a.$oldWidget=b,b.el&&b.el.parentNode&&(b.el.parentNode.removeChild(b.el),b._inDocument=!1)),this.session.lineWidgets[a.row]=a,a.session=this.session;var c=this.editor.renderer;a.html&&!a.el&&(a.el=e.createElement("div"),a.el.innerHTML=a.html),a.el&&(e.addCssClass(a.el,"ace_lineWidgetContainer"),a.el.style.position="absolute",a.el.style.zIndex=5,c.container.appendChild(a.el),a._inDocument=!0),a.coverGutter||(a.el.style.zIndex=3),null==a.pixelHeight&&(a.pixelHeight=a.el.offsetHeight),null==a.rowCount&&(a.rowCount=a.pixelHeight/c.layerConfig.lineHeight);var d=this.session.getFoldAt(a.row,0);if(a.$fold=d,d){var f=this.session.lineWidgets;a.row!=d.end.row||f[d.start.row]?a.hidden=!0:f[d.start.row]=a}return this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows(),this.renderWidgets(null,c),this.onWidgetChanged(a),a},this.removeLineWidget=function(a){if(a._inDocument=!1,a.session=null,a.el&&a.el.parentNode&&a.el.parentNode.removeChild(a.el),a.editor&&a.editor.destroy)try{a.editor.destroy()}catch(b){}if(this.session.lineWidgets){var c=this.session.lineWidgets[a.row];if(c==a)this.session.lineWidgets[a.row]=a.$oldWidget,a.$oldWidget&&this.onWidgetChanged(a.$oldWidget);else for(;c;){if(c.$oldWidget==a){c.$oldWidget=a.$oldWidget;break}c=c.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(a){for(var b=this.session.lineWidgets,c=b&&b[a],d=[];c;)d.push(c),c=c.$oldWidget;return d},this.onWidgetChanged=function(a){this.session._changedWidgets.push(a),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(a,b){var c=this.session._changedWidgets,d=b.layerConfig;if(c&&c.length){for(var e=1/0,f=0;f<c.length;f++){var g=c[f];if(g&&g.el&&g.session==this.session){if(!g._inDocument){if(this.session.lineWidgets[g.row]!=g)continue;g._inDocument=!0,b.container.appendChild(g.el)}g.h=g.el.offsetHeight,g.fixedWidth||(g.w=g.el.offsetWidth,g.screenWidth=Math.ceil(g.w/d.characterWidth));var h=g.h/d.lineHeight;g.coverLine&&(h-=this.session.getRowLineCount(g.row),h<0&&(h=0)),g.rowCount!=h&&(g.rowCount=h,g.row<e&&(e=g.row))}}e!=1/0&&(this.session._emit("changeFold",{data:{start:{row:e}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},this.renderWidgets=function(a,b){var c=b.layerConfig,d=this.session.lineWidgets;if(d){for(var e=Math.min(this.firstRow,c.firstRow),f=Math.max(this.lastRow,c.lastRow,d.length);e>0&&!d[e];)e--;this.firstRow=c.firstRow,this.lastRow=c.lastRow,b.$cursorLayer.config=c;for(var g=e;g<=f;g++){var h=d[g];if(h&&h.el)if(h.hidden)h.el.style.top=-100-(h.pixelHeight||0)+"px";else{h._inDocument||(h._inDocument=!0,b.container.appendChild(h.el));var i=b.$cursorLayer.getPixelPosition({row:g,column:0},!0).top;h.coverLine||(i+=c.lineHeight*this.session.getRowLineCount(h.row)),h.el.style.top=i-c.offset+"px";var j=h.coverGutter?0:b.gutterWidth;h.fixedWidth||(j-=b.scrollLeft),h.el.style.left=j+"px",h.fullWidth&&h.screenWidth&&(h.el.style.minWidth=c.width+2*c.padding+"px"),h.fixedWidth?h.el.style.right=b.scrollBar.getWidth()+"px":h.el.style.right=""}}}}}).call(d.prototype),b.LineWidgets=d}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(a,b,c){"use strict";function d(a,b,c){for(var d=0,e=a.length-1;d<=e;){var f=d+e>>1,g=c(b,a[f]);if(g>0)d=f+1;else{if(!(g<0))return f;e=f-1}}return-(d+1)}function e(a,b,c){var e=a.getAnnotations().sort(h.comparePoints);if(e.length){var f=d(e,{row:b,column:-1},h.comparePoints);f<0&&(f=-f-1),f>=e.length?f=c>0?0:e.length-1:0===f&&c<0&&(f=e.length-1);var g=e[f];if(g&&c){if(g.row===b){do g=e[f+=c];while(g&&g.row===b);if(!g)return e.slice()}var i=[];b=g.row;do i[c<0?"unshift":"push"](g),g=e[f+=c];while(g&&g.row==b);return i.length&&i}}}var f=a("../line_widgets").LineWidgets,g=a("../lib/dom"),h=a("../range").Range;b.showErrorMarker=function(a,b){var c=a.session;c.widgetManager||(c.widgetManager=new f(c),c.widgetManager.attach(a));var d=a.getCursorPosition(),h=d.row,i=c.widgetManager.getWidgetsAtRow(h).filter(function(a){return"errorMarker"==a.type})[0];i?i.destroy():h-=b;var j,k=e(c,h,b);if(k){var l=k[0];d.column=(l.pos&&"number"!=typeof l.column?l.pos.sc:l.column)||0,d.row=l.row,j=a.renderer.$gutterLayer.$annotations[d.row]}else{if(i)return;j={text:["Looks good!"],className:"ace_ok"}}a.session.unfold(d.row),a.selection.moveToPosition(d);var m={row:d.row,fixedWidth:!0,coverGutter:!0,el:g.createElement("div"),type:"errorMarker"},n=m.el.appendChild(g.createElement("div")),o=m.el.appendChild(g.createElement("div"));o.className="error_widget_arrow "+j.className;var p=a.renderer.$cursorLayer.getPixelPosition(d).left;o.style.left=p+a.renderer.gutterWidth-5+"px",m.el.className="error_widget_wrapper",n.className="error_widget "+j.className,n.innerHTML=j.text.join("<br>"),n.appendChild(g.createElement("div"));var q=function(a,b,c){if(0===b&&("esc"===c||"return"===c))return m.destroy(),{command:"null"}};m.destroy=function(){a.$mouseHandler.isMousePressed||(a.keyBinding.removeKeyboardHandler(q),c.widgetManager.removeLineWidget(m),a.off("changeSelection",m.destroy),a.off("changeSession",m.destroy),a.off("mouseup",m.destroy),a.off("change",m.destroy))},a.keyBinding.addKeyboardHandler(q),a.on("changeSelection",m.destroy),a.on("changeSession",m.destroy),a.on("mouseup",m.destroy),a.on("change",m.destroy),a.session.widgetManager.addLineWidget(m),m.el.onmousedown=a.focus.bind(a),a.renderer.scrollCursorIntoView(null,.5,{bottom:m.el.offsetHeight})},g.importCssString("    .error_widget_wrapper {        background: inherit;        color: inherit;        border:none    }    .error_widget {        border-top: solid 2px;        border-bottom: solid 2px;        margin: 5px 0;        padding: 10px 40px;        white-space: pre-wrap;    }    .error_widget.ace_error, .error_widget_arrow.ace_error{        border-color: #ff5a5a    }    .error_widget.ace_warning, .error_widget_arrow.ace_warning{        border-color: #F1D817    }    .error_widget.ace_info, .error_widget_arrow.ace_info{        border-color: #5a5a5a    }    .error_widget.ace_ok, .error_widget_arrow.ace_ok{        border-color: #5aaa5a    }    .error_widget_arrow {        position: absolute;        border: solid 5px;        border-top-color: transparent!important;        border-right-color: transparent!important;        border-left-color: transparent!important;        top: -5px;    }","")}),ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(a,b,c){"use strict";a("./lib/fixoldbrowsers");var d=a("./lib/dom"),e=a("./lib/event"),f=a("./editor").Editor,g=a("./edit_session").EditSession,h=a("./undomanager").UndoManager,i=a("./virtual_renderer").VirtualRenderer;a("./worker/worker_client"),a("./keyboard/hash_handler"),a("./placeholder"),a("./multi_select"),a("./mode/folding/fold_mode"),a("./theme/textmate"),a("./ext/error_marker"),b.config=a("./config"),b.require=a,"function"==typeof define&&(b.define=define),b.edit=function(a){if("string"==typeof a){var c=a;if(a=document.getElementById(c),!a)throw new Error("ace.edit can't find div #"+c)}if(a&&a.env&&a.env.editor instanceof f)return a.env.editor;var g="";if(a&&/input|textarea/i.test(a.tagName)){var h=a;g=h.value,a=d.createElement("pre"),h.parentNode.replaceChild(a,h)}else a&&(g=d.getInnerText(a),a.innerHTML="");var j=b.createEditSession(g),k=new f(new i(a));k.setSession(j);var l={document:j,editor:k,onResize:k.resize.bind(k,null)};return h&&(l.textarea=h),e.addListener(window,"resize",l.onResize),k.on("destroy",function(){e.removeListener(window,"resize",l.onResize),l.editor.container.env=null}),k.container.env=k.env=l,k},b.createEditSession=function(a,b){var c=new g(a,b);return c.setUndoManager(new h),c},b.EditSession=g,b.UndoManager=h,b.version="1.2.5"}),function(){ace.require(["ace/ace"],function(a){a&&(a.config.init(!0),a.define=ace.define),window.ace||(window.ace=a);for(var b in a)a.hasOwnProperty(b)&&(window.ace[b]=a[b])})}(),function(a){"use strict";function b(a){return v(a)?void(u(a.objectMaxDepth)&&(Zd.objectMaxDepth=c(a.objectMaxDepth)?a.objectMaxDepth:NaN)):Zd}function c(a){return y(a)&&a>0}function d(a,b){return b=b||Error,function(){var c,d,e=arguments[0],f=arguments[1],g="["+(a?a+":":"")+e+"] ",h=V(arguments,2).map(function(a){return za(a,Zd.objectMaxDepth)});for(g+=f.replace(/\{\d+\}/g,function(a){var b=+a.slice(1,-1);return b<h.length?h[b]:a}),g+="\nhttp://errors.angularjs.org/1.6.5/"+(a?a+"/":"")+e,d=0,c="?";d<h.length;d++,c="&")g+=c+"p"+d+"="+encodeURIComponent(h[d]);return new b(g)}}function e(a){if(null==a||D(a))return!1;if(se(a)||x(a)||ge&&a instanceof ge)return!0;var b="length"in Object(a)&&a.length;return y(b)&&(b>=0&&(b-1 in a||a instanceof Array)||"function"==typeof a.item)}function f(a,b,c){var d,g;if(a)if(B(a))for(d in a)"prototype"!==d&&"length"!==d&&"name"!==d&&a.hasOwnProperty(d)&&b.call(c,a[d],d,a);else if(se(a)||e(a)){var h="object"!=typeof a;for(d=0,g=a.length;d<g;d++)(h||d in a)&&b.call(c,a[d],d,a)}else if(a.forEach&&a.forEach!==f)a.forEach(b,c,a);else if(w(a))for(d in a)b.call(c,a[d],d,a);else if("function"==typeof a.hasOwnProperty)for(d in a)a.hasOwnProperty(d)&&b.call(c,a[d],d,a);else for(d in a)ae.call(a,d)&&b.call(c,a[d],d,a);return a}function g(a,b,c){for(var d=Object.keys(a).sort(),e=0;e<d.length;e++)b.call(c,a[d[e]],d[e]);return d}function h(a){return function(b,c){a(c,b)}}function i(){return++qe}function j(a,b){b?a.$$hashKey=b:delete a.$$hashKey}function k(a,b,c){for(var d=a.$$hashKey,e=0,f=b.length;e<f;++e){var g=b[e];if(v(g)||B(g))for(var h=Object.keys(g),i=0,l=h.length;i<l;i++){var m=h[i],n=g[m];c&&v(n)?z(n)?a[m]=new Date(n.valueOf()):C(n)?a[m]=new RegExp(n):n.nodeName?a[m]=n.cloneNode(!0):M(n)?a[m]=n.clone():(v(a[m])||(a[m]=se(n)?[]:{}),k(a[m],[n],!0)):a[m]=n}}return j(a,d),a}function l(a){return k(a,je.call(arguments,1),!1)}function m(a){return k(a,je.call(arguments,1),!0)}function n(a){return parseInt(a,10)}function o(a,b){return l(Object.create(a),b)}function p(){}function q(a){return a}function r(a){return function(){return a}}function s(a){return B(a.toString)&&a.toString!==me}function t(a){return"undefined"==typeof a}function u(a){return"undefined"!=typeof a}function v(a){return null!==a&&"object"==typeof a}function w(a){return null!==a&&"object"==typeof a&&!ne(a)}function x(a){return"string"==typeof a}function y(a){return"number"==typeof a}function z(a){return"[object Date]"===me.call(a)}function A(a){var b=me.call(a);switch(b){case"[object Error]":return!0;case"[object Exception]":return!0;case"[object DOMException]":return!0;default:return a instanceof Error}}function B(a){return"function"==typeof a}function C(a){return"[object RegExp]"===me.call(a)}function D(a){return a&&a.window===a}function E(a){return a&&a.$evalAsync&&a.$watch}function F(a){return"[object File]"===me.call(a)}function G(a){return"[object FormData]"===me.call(a)}function H(a){return"[object Blob]"===me.call(a)}function I(a){return"boolean"==typeof a}function J(a){return a&&B(a.then)}function K(a){return a&&y(a.length)&&te.test(me.call(a))}function L(a){return"[object ArrayBuffer]"===me.call(a)}function M(a){return!(!a||!(a.nodeName||a.prop&&a.attr&&a.find))}function N(a){var b,c={},d=a.split(",");for(b=0;b<d.length;b++)c[d[b]]=!0;return c}function O(a){return be(a.nodeName||a[0]&&a[0].nodeName)}function P(a,b){return Array.prototype.indexOf.call(a,b)!==-1}function Q(a,b){var c=a.indexOf(b);return c>=0&&a.splice(c,1),c}function R(a,b,d){function e(a,b,c){if(c--,c<0)return"...";var d,e=b.$$hashKey;if(se(a))for(var f=0,h=a.length;f<h;f++)b.push(g(a[f],c));else if(w(a))for(d in a)b[d]=g(a[d],c);else if(a&&"function"==typeof a.hasOwnProperty)for(d in a)a.hasOwnProperty(d)&&(b[d]=g(a[d],c));else for(d in a)ae.call(a,d)&&(b[d]=g(a[d],c));return j(b,e),b}function g(a,b){if(!v(a))return a;var c=i.indexOf(a);if(c!==-1)return k[c];if(D(a)||E(a))throw oe("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var d=!1,f=h(a);return void 0===f&&(f=se(a)?[]:Object.create(ne(a)),d=!0),i.push(a),k.push(f),d?e(a,f,b):f}function h(a){switch(me.call(a)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new a.constructor(g(a.buffer),a.byteOffset,a.length);case"[object ArrayBuffer]":if(!a.slice){var b=new ArrayBuffer(a.byteLength);return new Uint8Array(b).set(new Uint8Array(a)),b}return a.slice(0);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new a.constructor(a.valueOf());case"[object RegExp]":var c=new RegExp(a.source,a.toString().match(/[^/]*$/)[0]);return c.lastIndex=a.lastIndex,c;case"[object Blob]":return new a.constructor([a],{type:a.type})}if(B(a.cloneNode))return a.cloneNode(!0)}var i=[],k=[];if(d=c(d)?d:NaN,b){if(K(b)||L(b))throw oe("cpta","Can't copy! TypedArray destination cannot be mutated.");if(a===b)throw oe("cpi","Can't copy! Source and destination are identical.");return se(b)?b.length=0:f(b,function(a,c){"$$hashKey"!==c&&delete b[c]}),i.push(a),k.push(b),e(a,b,d)}return g(a,d)}function S(a,b){return a===b||a!==a&&b!==b}function T(a,b){if(a===b)return!0;if(null===a||null===b)return!1;if(a!==a&&b!==b)return!0;var c,d,e,f=typeof a,g=typeof b;if(f===g&&"object"===f){if(!se(a)){if(z(a))return!!z(b)&&S(a.getTime(),b.getTime());if(C(a))return!!C(b)&&a.toString()===b.toString();if(E(a)||E(b)||D(a)||D(b)||se(b)||z(b)||C(b))return!1;e=ua();for(d in a)if("$"!==d.charAt(0)&&!B(a[d])){if(!T(a[d],b[d]))return!1;e[d]=!0}for(d in b)if(!(d in e)&&"$"!==d.charAt(0)&&u(b[d])&&!B(b[d]))return!1;return!0}if(!se(b))return!1;if((c=a.length)===b.length){for(d=0;d<c;d++)if(!T(a[d],b[d]))return!1;return!0}}return!1}function U(a,b,c){return a.concat(je.call(b,c))}function V(a,b){return je.call(a,b||0)}function W(a,b){var c=arguments.length>2?V(arguments,2):[];return!B(b)||b instanceof RegExp?b:c.length?function(){return arguments.length?b.apply(a,U(c,arguments,0)):b.apply(a,c)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function X(b,c){var d=c;return"string"==typeof b&&"$"===b.charAt(0)&&"$"===b.charAt(1)?d=void 0:D(c)?d="$WINDOW":c&&a.document===c?d="$DOCUMENT":E(c)&&(d="$SCOPE"),d}function Y(a,b){if(!t(a))return y(b)||(b=b?2:null),JSON.stringify(a,X,b)}function Z(a){return x(a)?JSON.parse(a):a}function $(a,b){a=a.replace(ye,"");var c=Date.parse("Jan 01, 1970 00:00:00 "+a)/6e4;return re(c)?b:c}function _(a,b){return a=new Date(a.getTime()),a.setMinutes(a.getMinutes()+b),a}function aa(a,b,c){c=c?-1:1;var d=a.getTimezoneOffset(),e=$(b,d);return _(a,c*(e-d))}function ba(a){a=ge(a).clone().empty();var b=ge("<div>").append(a).html();try{return a[0].nodeType===Fe?be(b):b.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,function(a,b){return"<"+be(b)})}catch(c){return be(b)}}function ca(a){try{return decodeURIComponent(a)}catch(b){}}function da(a){var b={};return f((a||"").split("&"),function(a){var c,d,e;
+a&&(d=a=a.replace(/\+/g,"%20"),c=a.indexOf("="),c!==-1&&(d=a.substring(0,c),e=a.substring(c+1)),d=ca(d),u(d)&&(e=!u(e)||ca(e),ae.call(b,d)?se(b[d])?b[d].push(e):b[d]=[b[d],e]:b[d]=e))}),b}function ea(a){var b=[];return f(a,function(a,c){se(a)?f(a,function(a){b.push(ga(c,!0)+(a===!0?"":"="+ga(a,!0)))}):b.push(ga(c,!0)+(a===!0?"":"="+ga(a,!0)))}),b.length?b.join("&"):""}function fa(a){return ga(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ga(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,b?"%20":"+")}function ha(a,b){var c,d,e=ze.length;for(d=0;d<e;++d)if(c=ze[d]+b,x(c=a.getAttribute(c)))return c;return null}function ia(b){var c=b.currentScript;if(!c)return!0;if(!(c instanceof a.HTMLScriptElement||c instanceof a.SVGScriptElement))return!1;var d=c.attributes,e=[d.getNamedItem("src"),d.getNamedItem("href"),d.getNamedItem("xlink:href")];return e.every(function(a){if(!a)return!0;if(!a.value)return!1;var c=b.createElement("a");if(c.href=a.value,b.location.origin===c.origin)return!0;switch(c.protocol){case"http:":case"https:":case"ftp:":case"blob:":case"file:":case"data:":return!0;default:return!1}})}function ja(b,c){var d,e,g={};if(f(ze,function(a){var c=a+"app";!d&&b.hasAttribute&&b.hasAttribute(c)&&(d=b,e=b.getAttribute(c))}),f(ze,function(a){var c,f=a+"app";!d&&(c=b.querySelector("["+f.replace(":","\\:")+"]"))&&(d=c,e=c.getAttribute(f))}),d){if(!Ae)return void a.console.error("Angular: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match.");g.strictDi=null!==ha(d,"strict-di"),c(d,e?[e]:[],g)}}function ka(b,c,d){v(d)||(d={});var e={strictDi:!1};d=l(e,d);var g=function(){if(b=ge(b),b.injector()){var e=b[0]===a.document?"document":ba(b);throw oe("btstrpd","App already bootstrapped with this element '{0}'",e.replace(/</,"&lt;").replace(/>/,"&gt;"))}c=c||[],c.unshift(["$provide",function(a){a.value("$rootElement",b)}]),d.debugInfoEnabled&&c.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]),c.unshift("ng");var f=mb(c,d.strictDi);return f.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d),c(b)(a)})}]),f},h=/^NG_ENABLE_DEBUG_INFO!/,i=/^NG_DEFER_BOOTSTRAP!/;return a&&h.test(a.name)&&(d.debugInfoEnabled=!0,a.name=a.name.replace(h,"")),a&&!i.test(a.name)?g():(a.name=a.name.replace(i,""),pe.resumeBootstrap=function(a){return f(a,function(a){c.push(a)}),g()},void(B(pe.resumeDeferredBootstrap)&&pe.resumeDeferredBootstrap()))}function la(){a.name="NG_ENABLE_DEBUG_INFO!"+a.name,a.location.reload()}function ma(a){var b=pe.element(a).injector();if(!b)throw oe("test","no injector found for element argument to getTestability");return b.get("$$testability")}function na(a,b){return b=b||"_",a.replace(Be,function(a,c){return(c?b:"")+a.toLowerCase()})}function oa(){var b;if(!Ce){var c=xe();he=t(c)?a.jQuery:c?a[c]:void 0,he&&he.fn.on?(ge=he,l(he.fn,{scope:We.scope,isolateScope:We.isolateScope,controller:We.controller,injector:We.injector,inheritedData:We.inheritedData}),b=he.cleanData,he.cleanData=function(a){for(var c,d,e=0;null!=(d=a[e]);e++)c=he._data(d,"events"),c&&c.$destroy&&he(d).triggerHandler("$destroy");b(a)}):ge=La,pe.element=ge,Ce=!0}}function pa(a,b,c){if(!a)throw oe("areq","Argument '{0}' is {1}",b||"?",c||"required");return a}function qa(a,b,c){return c&&se(a)&&(a=a[a.length-1]),pa(B(a),b,"not a function, got "+(a&&"object"==typeof a?a.constructor.name||"Object":typeof a)),a}function ra(a,b){if("hasOwnProperty"===a)throw oe("badname","hasOwnProperty is not a valid {0} name",b)}function sa(a,b,c){if(!b)return a;for(var d,e=b.split("."),f=a,g=e.length,h=0;h<g;h++)d=e[h],a&&(a=(f=a)[d]);return!c&&B(a)?W(f,a):a}function ta(a){for(var b,c=a[0],d=a[a.length-1],e=1;c!==d&&(c=c.nextSibling);e++)(b||a[e]!==c)&&(b||(b=ge(je.call(a,0,e))),b.push(c));return b||a}function ua(){return Object.create(null)}function va(a){if(null==a)return"";switch(typeof a){case"string":break;case"number":a=""+a;break;default:a=!s(a)||se(a)||z(a)?Y(a):a.toString()}return a}function wa(a){function b(a,b,c){return a[b]||(a[b]=c())}var c=d("$injector"),e=d("ng"),f=b(a,"angular",Object);return f.$$minErr=f.$$minErr||d,b(f,"module",function(){var a={};return function(d,f,g){var h={},i=function(a,b){if("hasOwnProperty"===a)throw e("badname","hasOwnProperty is not a valid {0} name",b)};return i(d,"module"),f&&a.hasOwnProperty(d)&&(a[d]=null),b(a,d,function(){function a(a,b,c,d){return d||(d=i),function(){return d[c||"push"]([a,b,arguments]),m}}function b(a,b,c){return c||(c=i),function(e,f){return f&&B(f)&&(f.$$moduleName=d),c.push([a,b,arguments]),m}}if(!f)throw c("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",d);var i=[],j=[],k=[],l=a("$injector","invoke","push",j),m={_invokeQueue:i,_configBlocks:j,_runBlocks:k,info:function(a){if(u(a)){if(!v(a))throw e("aobj","Argument '{0}' must be an object","value");return h=a,this}return h},requires:f,name:d,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),decorator:b("$provide","decorator",j),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),component:b("$compileProvider","component"),config:l,run:function(a){return k.push(a),this}};return g&&l(g),m})}})}function xa(a,b){if(se(a)){b=b||[];for(var c=0,d=a.length;c<d;c++)b[c]=a[c]}else if(v(a)){b=b||{};for(var e in a)"$"===e.charAt(0)&&"$"===e.charAt(1)||(b[e]=a[e])}return b||a}function ya(a,b){var d=[];return c(b)&&(a=pe.copy(a,null,b)),JSON.stringify(a,function(a,b){if(b=X(a,b),v(b)){if(d.indexOf(b)>=0)return"...";d.push(b)}return b})}function za(a,b){return"function"==typeof a?a.toString().replace(/ \{[\s\S]*$/,""):t(a)?"undefined":"string"!=typeof a?ya(a,b):a}function Aa(c){l(c,{errorHandlingConfig:b,bootstrap:ka,copy:R,extend:l,merge:m,equals:T,element:ge,forEach:f,injector:mb,noop:p,bind:W,toJson:Y,fromJson:Z,identity:q,isUndefined:t,isDefined:u,isString:x,isFunction:B,isObject:v,isNumber:y,isElement:M,isArray:se,version:Je,isDate:z,lowercase:be,uppercase:ce,callbacks:{$$counter:0},getTestability:ma,reloadWithDebugInfo:la,$$minErr:d,$$csp:we,$$encodeUriSegment:fa,$$encodeUriQuery:ga,$$stringify:va}),ie=wa(a),ie("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:Ic}),a.provider("$compile",xb).directive({a:fg,input:zg,textarea:zg,form:lg,script:th,select:wh,option:xh,ngBind:Cg,ngBindHtml:Eg,ngBindTemplate:Dg,ngClass:Gg,ngClassEven:Ig,ngClassOdd:Hg,ngCloak:Jg,ngController:Kg,ngForm:mg,ngHide:mh,ngIf:Ng,ngInclude:Og,ngInit:Qg,ngNonBindable:dh,ngPluralize:hh,ngRepeat:ih,ngShow:lh,ngStyle:nh,ngSwitch:oh,ngSwitchWhen:ph,ngSwitchDefault:qh,ngOptions:gh,ngTransclude:sh,ngModel:ah,ngList:Rg,ngChange:Fg,pattern:zh,ngPattern:zh,required:yh,ngRequired:yh,minlength:Bh,ngMinlength:Bh,maxlength:Ah,ngMaxlength:Ah,ngValue:Bg,ngModelOptions:ch}).directive({ngInclude:Pg}).directive(gg).directive(Lg),a.provider({$anchorScroll:nb,$animate:nf,$animateCss:qf,$$animateJs:lf,$$animateQueue:mf,$$AnimateRunner:pf,$$animateAsyncRun:of,$browser:tb,$cacheFactory:ub,$controller:Db,$document:Eb,$$isDocumentHidden:Fb,$exceptionHandler:Gb,$filter:Xc,$$forceReflow:xf,$interpolate:Ub,$interval:Vb,$http:Qb,$httpParamSerializer:Ib,$httpParamSerializerJQLike:Jb,$httpBackend:Sb,$xhrFactory:Rb,$jsonpCallbacks:Ff,$location:ic,$log:jc,$parse:zc,$rootScope:Hc,$q:Ac,$$q:Bc,$sce:Nc,$sceDelegate:Mc,$sniffer:Oc,$templateCache:vb,$templateRequest:Pc,$$testability:Qc,$timeout:Rc,$window:Uc,$$rAF:Gc,$$jqLite:fb,$$Map:af,$$cookieReader:Wc})}]).info({angularVersion:"1.6.5"})}function Ba(){return++Le}function Ca(a){return Ea(a.replace(Ne,"ms-"))}function Da(a,b){return b.toUpperCase()}function Ea(a){return a.replace(Me,Da)}function Fa(a){return!Re.test(a)}function Ga(a){var b=a.nodeType;return b===De||!b||b===He}function Ha(a){for(var b in Ke[a.ng339])return!0;return!1}function Ia(a,b){var c,d,e,g,h=b.createDocumentFragment(),i=[];if(Fa(a))i.push(b.createTextNode(a));else{for(c=h.appendChild(b.createElement("div")),d=(Se.exec(a)||["",""])[1].toLowerCase(),e=Ue[d]||Ue._default,c.innerHTML=e[1]+a.replace(Te,"<$1></$2>")+e[2],g=e[0];g--;)c=c.lastChild;i=U(i,c.childNodes),c=h.firstChild,c.textContent=""}return h.textContent="",h.innerHTML="",f(i,function(a){h.appendChild(a)}),h}function Ja(b,c){c=c||a.document;var d;return(d=Qe.exec(b))?[c.createElement(d[1])]:(d=Ia(b,c))?d.childNodes:[]}function Ka(a,b){var c=a.parentNode;c&&c.replaceChild(b,a),b.appendChild(a)}function La(a){if(a instanceof La)return a;var b;if(x(a)&&(a=ue(a),b=!0),!(this instanceof La)){if(b&&"<"!==a.charAt(0))throw Pe("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new La(a)}b?Va(this,Ja(a)):B(a)?_a(a):Va(this,a)}function Ma(a){return a.cloneNode(!0)}function Na(a,b){!b&&Ga(a)&&ge.cleanData([a]),a.querySelectorAll&&ge.cleanData(a.querySelectorAll("*"))}function Oa(a,b,c,d){if(u(d))throw Pe("offargs","jqLite#off() does not support the `selector` argument");var e=Qa(a),g=e&&e.events,h=e&&e.handle;if(h)if(b){var i=function(b){var d=g[b];u(c)&&Q(d||[],c),u(c)&&d&&d.length>0||(a.removeEventListener(b,h),delete g[b])};f(b.split(" "),function(a){i(a),Oe[a]&&i(Oe[a])})}else for(b in g)"$destroy"!==b&&a.removeEventListener(b,h),delete g[b]}function Pa(a,b){var c=a.ng339,d=c&&Ke[c];if(d){if(b)return void delete d.data[b];d.handle&&(d.events.$destroy&&d.handle({},"$destroy"),Oa(a)),delete Ke[c],a.ng339=void 0}}function Qa(a,b){var c=a.ng339,d=c&&Ke[c];return b&&!d&&(a.ng339=c=Ba(),d=Ke[c]={events:{},data:{},handle:void 0}),d}function Ra(a,b,c){if(Ga(a)){var d,e=u(c),f=!e&&b&&!v(b),g=!b,h=Qa(a,!f),i=h&&h.data;if(e)i[Ea(b)]=c;else{if(g)return i;if(f)return i&&i[Ea(b)];for(d in b)i[Ea(d)]=b[d]}}}function Sa(a,b){return!!a.getAttribute&&(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+b+" ")>-1}function Ta(a,b){b&&a.setAttribute&&f(b.split(" "),function(b){a.setAttribute("class",ue((" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+ue(b)+" "," ")))})}function Ua(a,b){if(b&&a.setAttribute){var c=(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");f(b.split(" "),function(a){a=ue(a),c.indexOf(" "+a+" ")===-1&&(c+=a+" ")}),a.setAttribute("class",ue(c))}}function Va(a,b){if(b)if(b.nodeType)a[a.length++]=b;else{var c=b.length;if("number"==typeof c&&b.window!==b){if(c)for(var d=0;d<c;d++)a[a.length++]=b[d]}else a[a.length++]=b}}function Wa(a,b){return Xa(a,"$"+(b||"ngController")+"Controller")}function Xa(a,b,c){a.nodeType===He&&(a=a.documentElement);for(var d=se(b)?b:[b];a;){for(var e=0,f=d.length;e<f;e++)if(u(c=ge.data(a,d[e])))return c;a=a.parentNode||a.nodeType===Ie&&a.host}}function Ya(a){for(Na(a,!0);a.firstChild;)a.removeChild(a.firstChild)}function Za(a,b){b||Na(a);var c=a.parentNode;c&&c.removeChild(a)}function $a(b,c){c=c||a,"complete"===c.document.readyState?c.setTimeout(b):ge(c).on("load",b)}function _a(b){function c(){a.document.removeEventListener("DOMContentLoaded",c),a.removeEventListener("load",c),b()}"complete"===a.document.readyState?a.setTimeout(b):(a.document.addEventListener("DOMContentLoaded",c),a.addEventListener("load",c))}function ab(a,b){var c=Xe[b.toLowerCase()];return c&&Ye[O(a)]&&c}function bb(a){return Ze[a]}function cb(a,b){var c=function(c,d){c.isDefaultPrevented=function(){return c.defaultPrevented};var e=b[d||c.type],f=e?e.length:0;if(f){if(t(c.immediatePropagationStopped)){var g=c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=!0,c.stopPropagation&&c.stopPropagation(),g&&g.call(c)}}c.isImmediatePropagationStopped=function(){return c.immediatePropagationStopped===!0};var h=e.specialHandlerWrapper||db;f>1&&(e=xa(e));for(var i=0;i<f;i++)c.isImmediatePropagationStopped()||h(a,c,e[i])}};return c.elem=a,c}function db(a,b,c){c.call(a,b)}function eb(a,b,c){var d=b.relatedTarget;d&&(d===a||Ve.call(a,d))||c.call(a,b)}function fb(){this.$get=function(){return l(La,{hasClass:function(a,b){return a.attr&&(a=a[0]),Sa(a,b)},addClass:function(a,b){return a.attr&&(a=a[0]),Ua(a,b)},removeClass:function(a,b){return a.attr&&(a=a[0]),Ta(a,b)}})}}function gb(a,b){var c=a&&a.$$hashKey;if(c)return"function"==typeof c&&(c=a.$$hashKey()),c;var d=typeof a;return c="function"===d||"object"===d&&null!==a?a.$$hashKey=d+":"+(b||i)():d+":"+a}function hb(){this._keys=[],this._values=[],this._lastKey=NaN,this._lastIndex=-1}function ib(a){return Function.prototype.toString.call(a)}function jb(a){var b=ib(a).replace(ff,""),c=b.match(bf)||b.match(cf);return c}function kb(a){var b=jb(a);return b?"function("+(b[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function lb(a,b,c){var d,e,g;if("function"==typeof a){if(!(d=a.$inject)){if(d=[],a.length){if(b)throw x(c)&&c||(c=a.name||kb(a)),gf("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",c);e=jb(a),f(e[1].split(df),function(a){a.replace(ef,function(a,b,c){d.push(c)})})}a.$inject=d}}else se(a)?(g=a.length-1,qa(a[g],"fn"),d=a.slice(0,g)):qa(a,"fn",!0);return d}function mb(a,b){function c(a){return function(b,c){return v(b)?void f(b,h(a)):a(b,c)}}function d(a,b){if(ra(a,"service"),(B(b)||se(b))&&(b=w.instantiate(b)),!b.$get)throw gf("pget","Provider '{0}' must define $get factory method.",a);return u[a+p]=b}function e(a,b){return function(){var c=A.invoke(b,this);if(t(c))throw gf("undef","Provider '{0}' must return a value from $get factory method.",a);return c}}function g(a,b,c){return d(a,{$get:c!==!1?e(a,b):b})}function i(a,b){return g(a,["$injector",function(a){return a.instantiate(b)}])}function j(a,b){return g(a,r(b),!1)}function k(a,b){ra(a,"constant"),u[a]=b,y[a]=b}function l(a,b){var c=w.get(a+p),d=c.$get;c.$get=function(){var a=A.invoke(d,c);return A.invoke(b,null,{$delegate:a})}}function m(a){pa(t(a)||se(a),"modulesToLoad","not an array");var b,c=[];return f(a,function(a){function d(a){var b,c;for(b=0,c=a.length;b<c;b++){var d=a[b],e=w.get(d[0]);e[d[1]].apply(e,d[2])}}if(!s.get(a)){s.set(a,!0);try{x(a)?(b=ie(a),A.modules[a]=b,c=c.concat(m(b.requires)).concat(b._runBlocks),d(b._invokeQueue),d(b._configBlocks)):B(a)?c.push(w.invoke(a)):se(a)?c.push(w.invoke(a)):qa(a,"module")}catch(e){throw se(a)&&(a=a[a.length-1]),e.message&&e.stack&&e.stack.indexOf(e.message)===-1&&(e=e.message+"\n"+e.stack),gf("modulerr","Failed to instantiate module {0} due to:\n{1}",a,e.stack||e.message||e)}}}),c}function n(a,c){function d(b,d){if(a.hasOwnProperty(b)){if(a[b]===o)throw gf("cdep","Circular dependency found: {0}",b+" <- "+q.join(" <- "));return a[b]}try{return q.unshift(b),a[b]=o,a[b]=c(b,d),a[b]}catch(e){throw a[b]===o&&delete a[b],e}finally{q.shift()}}function e(a,c,e){for(var f=[],g=mb.$$annotate(a,b,e),h=0,i=g.length;h<i;h++){var j=g[h];if("string"!=typeof j)throw gf("itkn","Incorrect injection token! Expected service name as string, got {0}",j);f.push(c&&c.hasOwnProperty(j)?c[j]:d(j,e))}return f}function f(a){if(fe||"function"!=typeof a)return!1;var b=a.$$ngIsClass;return I(b)||(b=a.$$ngIsClass=/^(?:class\b|constructor\()/.test(ib(a))),b}function g(a,b,c,d){"string"==typeof c&&(d=c,c=null);var g=e(a,c,d);return se(a)&&(a=a[a.length-1]),f(a)?(g.unshift(null),new(Function.prototype.bind.apply(a,g))):a.apply(b,g)}function h(a,b,c){var d=se(a)?a[a.length-1]:a,f=e(a,b,c);return f.unshift(null),new(Function.prototype.bind.apply(d,f))}return{invoke:g,instantiate:h,get:d,annotate:mb.$$annotate,has:function(b){return u.hasOwnProperty(b+p)||a.hasOwnProperty(b)}}}b=b===!0;var o={},p="Provider",q=[],s=new _e,u={$provide:{provider:c(d),factory:c(g),service:c(i),value:c(j),constant:c(k),decorator:l}},w=u.$injector=n(u,function(a,b){throw pe.isString(b)&&q.push(b),gf("unpr","Unknown provider: {0}",q.join(" <- "))}),y={},z=n(y,function(a,b){var c=w.get(a+p,b);return A.invoke(c.$get,c,void 0,a)}),A=z;u["$injector"+p]={$get:r(z)},A.modules=w.modules=ua();var C=m(a);return A=z.get("$injector"),A.strictDi=b,f(C,function(a){a&&A.invoke(a)}),A}function nb(){var a=!0;this.disableAutoScrolling=function(){a=!1},this.$get=["$window","$location","$rootScope",function(b,c,d){function e(a){var b=null;return Array.prototype.some.call(a,function(a){if("a"===O(a))return b=a,!0}),b}function f(){var a=h.yOffset;if(B(a))a=a();else if(M(a)){var c=a[0],d=b.getComputedStyle(c);a="fixed"!==d.position?0:c.getBoundingClientRect().bottom}else y(a)||(a=0);return a}function g(a){if(a){a.scrollIntoView();var c=f();if(c){var d=a.getBoundingClientRect().top;b.scrollBy(0,d-c)}}else b.scrollTo(0,0)}function h(a){a=x(a)?a:y(a)?a.toString():c.hash();var b;a?(b=i.getElementById(a))?g(b):(b=e(i.getElementsByName(a)))?g(b):"top"===a&&g(null):g(null)}var i=b.document;return a&&d.$watch(function(){return c.hash()},function(a,b){a===b&&""===a||$a(function(){d.$evalAsync(h)})}),h}]}function ob(a,b){return a||b?a?b?(se(a)&&(a=a.join(" ")),se(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function pb(a){for(var b=0;b<a.length;b++){var c=a[b];if(c.nodeType===jf)return c}}function qb(a){x(a)&&(a=a.split(" "));var b=ua();return f(a,function(a){a.length&&(b[a]=!0)}),b}function rb(a){return v(a)?a:{}}function sb(a,b,c,d){function e(a){try{a.apply(null,V(arguments,1))}finally{if(r--,0===r)for(;s.length;)try{s.pop()()}catch(b){c.error(b)}}}function g(a){var b=a.indexOf("#");return b===-1?"":a.substr(b)}function h(){y=null,j()}function i(){u=z(),u=t(u)?null:u,T(u,C)&&(u=C),C=u,v=u}function j(){var a=v;i(),w===k.url()&&a===u||(w=k.url(),v=u,f(A,function(a){a(k.url(),u)}))}var k=this,l=a.location,m=a.history,n=a.setTimeout,o=a.clearTimeout,q={};k.isMock=!1;var r=0,s=[];k.$$completeOutstandingRequest=e,k.$$incOutstandingRequestCount=function(){r++},k.notifyWhenNoOutstandingRequests=function(a){0===r?a():s.push(a)};var u,v,w=l.href,x=b.find("base"),y=null,z=d.history?function(){try{return m.state}catch(a){}}:p;i(),k.url=function(b,c,e){if(t(e)&&(e=null),l!==a.location&&(l=a.location),m!==a.history&&(m=a.history),b){var f=v===e;if(w===b&&(!d.history||f))return k;var h=w&&_b(w)===_b(b);return w=b,v=e,!d.history||h&&f?(h||(y=b),c?l.replace(b):h?l.hash=g(b):l.href=b,l.href!==b&&(y=b)):(m[c?"replaceState":"pushState"](e,"",b),i()),y&&(y=b),k}return y||l.href.replace(/%27/g,"'")},k.state=function(){return u};var A=[],B=!1,C=null;k.onUrlChange=function(b){return B||(d.history&&ge(a).on("popstate",h),ge(a).on("hashchange",h),B=!0),A.push(b),b},k.$$applicationDestroyed=function(){ge(a).off("hashchange popstate",h)},k.$$checkUrlChange=j,k.baseHref=function(){var a=x.attr("href");return a?a.replace(/^(https?:)?\/\/[^/]*/,""):""},k.defer=function(a,b){var c;return r++,c=n(function(){delete q[c],e(a)},b||0),q[c]=!0,c},k.defer.cancel=function(a){return!!q[a]&&(delete q[a],o(a),e(p),!0)}}function tb(){this.$get=["$window","$log","$sniffer","$document",function(a,b,c,d){return new sb(a,d,b,c)}]}function ub(){this.$get=function(){function a(a,c){function e(a){a!==m&&(n?n===a&&(n=a.n):n=a,f(a.n,a.p),f(a,m),m=a,m.n=null)}function f(a,b){a!==b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw d("$cacheFactory")("iid","CacheId '{0}' is already taken!",a);var g=0,h=l({},c,{id:a}),i=ua(),j=c&&c.capacity||Number.MAX_VALUE,k=ua(),m=null,n=null;return b[a]={put:function(a,b){if(!t(b)){if(j<Number.MAX_VALUE){var c=k[a]||(k[a]={key:a});e(c)}return a in i||g++,i[a]=b,g>j&&this.remove(n.key),b}},get:function(a){if(j<Number.MAX_VALUE){var b=k[a];if(!b)return;e(b)}return i[a]},remove:function(a){if(j<Number.MAX_VALUE){var b=k[a];if(!b)return;b===m&&(m=b.p),b===n&&(n=b.n),f(b.n,b.p),delete k[a]}a in i&&(delete i[a],g--)},removeAll:function(){i=ua(),g=0,k=ua(),m=n=null},destroy:function(){i=null,h=null,k=null,delete b[a]},info:function(){return l({},h,{size:g})}}}var b={};return a.info=function(){var a={};return f(b,function(b,c){a[c]=b.info()}),a},a.get=function(a){return b[a]},a}}function vb(){this.$get=["$cacheFactory",function(a){return a("templates")}]}function wb(){}function xb(b,c){function d(a,b,c){var d=/^\s*([@&<]|=(\*?))(\??)\s*([\w$]*)\s*$/,e=ua();return f(a,function(a,f){if(a in C)return void(e[f]=C[a]);var g=a.match(d);if(!g)throw rf("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",b,f,a,c?"controller bindings definition":"isolate scope definition");e[f]={mode:g[1][0],collection:"*"===g[2],optional:"?"===g[3],attrName:g[4]||f},g[4]&&(C[a]=e[f])}),e}function e(a,b){var c={isolateScope:null,bindToController:null};if(v(a.scope)&&(a.bindToController===!0?(c.bindToController=d(a.scope,b,!0),c.isolateScope={}):c.isolateScope=d(a.scope,b,!1)),v(a.bindToController)&&(c.bindToController=d(a.bindToController,b,!0)),c.bindToController&&!a.controller)throw rf("noctrl","Cannot bind to controller without directive '{0}'s controller.",b);return c}function g(a){var b=a.charAt(0);if(!b||b!==be(b))throw rf("baddir","Directive/Component name '{0}' is invalid. The first character must be a lowercase letter",a);if(a!==a.trim())throw rf("baddir","Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces",a)}function i(a){var b=a.require||a.controller&&a.name;return!se(b)&&v(b)&&f(b,function(a,c){var d=a.match(y),e=a.substring(d[0].length);e||(b[c]=d[0]+c)}),b}function j(a,b){if(a&&(!x(a)||!/[EACM]/.test(a)))throw rf("badrestrict","Restrict property '{0}' of directive '{1}' is invalid",a,b);return a||"EA"}var k={},m="Directive",n=/^\s*directive:\s*([\w-]+)\s+(.*)$/,s=/(([\w-]+)(?::([^;]+))?;?)/,w=N("ngSrc,ngSrcset,src,srcset"),y=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,z=/^(on[a-z]+|formaction)$/,C=ua();this.directive=function K(a,c){return pa(a,"name"),ra(a,"directive"),x(a)?(g(a),pa(c,"directiveFactory"),k.hasOwnProperty(a)||(k[a]=[],b.factory(a+m,["$injector","$exceptionHandler",function(b,c){var d=[];return f(k[a],function(e,f){try{var g=b.invoke(e);B(g)?g={compile:r(g)}:!g.compile&&g.link&&(g.compile=r(g.link)),g.priority=g.priority||0,g.index=f,g.name=g.name||a,g.require=i(g),g.restrict=j(g.restrict,a),g.$$moduleName=e.$$moduleName,d.push(g)}catch(h){c(h)}}),d}])),k[a].push(c)):f(a,h(K)),this},this.component=function L(a,b){function c(a){function c(b){return B(b)||se(b)?function(c,d){return a.invoke(b,this,{$element:c,$attrs:d})}:b}var e=b.template||b.templateUrl?b.template:"",g={controller:d,controllerAs:Cb(b.controller)||b.controllerAs||"$ctrl",template:c(e),templateUrl:c(b.templateUrl),transclude:b.transclude,scope:{},bindToController:b.bindings||{},restrict:"E",require:b.require};return f(b,function(a,b){"$"===b.charAt(0)&&(g[b]=a)}),g}if(!x(a))return f(a,h(W(this,L))),this;var d=b.controller||function(){};return f(b,function(a,b){"$"===b.charAt(0)&&(c[b]=a,B(d)&&(d[b]=a))}),c.$inject=["$injector"],this.directive(a,c)},this.aHrefSanitizationWhitelist=function(a){return u(a)?(c.aHrefSanitizationWhitelist(a),this):c.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(a){return u(a)?(c.imgSrcSanitizationWhitelist(a),this):c.imgSrcSanitizationWhitelist()};var D=!0;this.debugInfoEnabled=function(a){return u(a)?(D=a,this):D};var F=!1;this.preAssignBindingsEnabled=function(a){return u(a)?(F=a,this):F};var G=10;this.onChangesTtl=function(a){return arguments.length?(G=a,this):G};var H=!0;this.commentDirectivesEnabled=function(a){return arguments.length?(H=a,this):H};var J=!0;this.cssClassDirectivesEnabled=function(a){return arguments.length?(J=a,this):J},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate","$$sanitizeUri",function(b,c,d,g,h,i,j,r,C,K){function L(){try{if(!--Ea)throw za=void 0,rf("infchng","{0} $onChanges() iterations reached. Aborting!\n",G);j.$apply(function(){for(var a=[],b=0,c=za.length;b<c;++b)try{za[b]()}catch(d){a.push(d)}if(za=void 0,a.length)throw a})}finally{Ea++}}function M(a,b){if(b){var c,d,e,f=Object.keys(b);for(c=0,d=f.length;c<d;c++)e=f[c],this[e]=b[e]}else this.$attr={};this.$$element=a}function N(a,b,c){Ba.innerHTML="<span "+b+">";var d=Ba.firstChild.attributes,e=d[0];d.removeNamedItem(e.name),e.value=c,a.attributes.setNamedItem(e)}function P(a,b){try{a.addClass(b)}catch(c){}}function R(a,b,c,d,e){a instanceof ge||(a=ge(a));var f=X(a,b,a,c,d,e);R.$$addScopeClass(a);var g=null;return function(b,c,d){if(!a)throw rf("multilink","This element has already been linked.");pa(b,"scope"),e&&e.needsNewScope&&(b=b.$parent.$new()),d=d||{};var h=d.parentBoundTranscludeFn,i=d.transcludeControllers,j=d.futureParentElement;h&&h.$$boundTransclude&&(h=h.$$boundTransclude),g||(g=U(j));var k;if(k="html"!==g?ge(ra(g,ge("<div>").append(a).html())):c?We.clone.call(a):a,i)for(var l in i)k.data("$"+l+"Controller",i[l].instance);return R.$$addScopeInfo(k,b),c&&c(k,b),f&&f(b,k,k,h),c||(a=f=null),k}}function U(a){var b=a&&a[0];return b&&"foreignobject"!==O(b)&&me.call(b).match(/SVG/)?"svg":"html"}function X(a,b,c,d,e,f){function g(a,c,d,e){var f,g,h,i,j,k,l,m,p;if(n){var q=c.length;for(p=new Array(q),j=0;j<o.length;j+=3)l=o[j],p[l]=c[l]}else p=c;for(j=0,k=o.length;j<k;)h=p[o[j++]],f=o[j++],g=o[j++],f?(f.scope?(i=a.$new(),R.$$addScopeInfo(ge(h),i)):i=a,m=f.transcludeOnThisElement?Z(a,f.transclude,e):!f.templateOnThisElement&&e?e:!e&&b?Z(a,b):null,f(g,i,h,d,m)):g&&g(a,h.childNodes,void 0,e)}for(var h,i,j,k,l,m,n,o=[],p=se(a)||a instanceof ge,q=0;q<a.length;q++)h=new M,11===fe&&Y(a,q,p),i=$(a[q],[],h,0===q?d:void 0,e),j=i.length?ea(i,a[q],h,b,c,null,[],[],f):null,j&&j.scope&&R.$$addScopeClass(h.$$element),l=j&&j.terminal||!(k=a[q].childNodes)||!k.length?null:X(k,j?(j.transcludeOnThisElement||!j.templateOnThisElement)&&j.transclude:b),(j||l)&&(o.push(q,j,l),m=!0,n=n||j),f=null;return m?g:null}function Y(a,b,c){var d,e=a[b],f=e.parentNode;if(e.nodeType===Fe)for(;;){if(d=f?e.nextSibling:a[b+1],!d||d.nodeType!==Fe)break;e.nodeValue=e.nodeValue+d.nodeValue,d.parentNode&&d.parentNode.removeChild(d),c&&d===a[b+1]&&a.splice(b+1,1)}}function Z(a,b,c){function d(d,e,f,g,h){return d||(d=a.$new(!1,h),d.$$transcluded=!0),b(d,e,{parentBoundTranscludeFn:c,transcludeControllers:f,futureParentElement:g})}var e=d.$$slots=ua();for(var f in b.$$slots)b.$$slots[f]?e[f]=Z(a,b.$$slots[f],c):e[f]=null;return d}function $(a,b,c,d,e){var f,g,h,i=a.nodeType,j=c.$attr;switch(i){case De:g=O(a),ia(b,zb(g),"E",d,e);for(var k,l,m,n,o,p,q=a.attributes,r=0,t=q&&q.length;r<t;r++){var u=!1,w=!1;k=q[r],l=k.name,o=k.value,n=zb(l),p=Ja.test(n),p&&(l=l.replace(tf,"").substr(8).replace(/_(.)/g,function(a,b){return b.toUpperCase()}));var y=n.match(Ka);y&&ja(y[1])&&(u=l,w=l.substr(0,l.length-5)+"end",l=l.substr(0,l.length-6)),m=zb(l.toLowerCase()),j[m]=l,!p&&c.hasOwnProperty(m)||(c[m]=o,ab(a,m)&&(c[m]=!0)),ta(a,b,o,m,p),ia(b,m,"A",d,e,u,w)}if("input"===g&&"hidden"===a.getAttribute("type")&&a.setAttribute("autocomplete","off"),!Da)break;if(h=a.className,v(h)&&(h=h.animVal),x(h)&&""!==h)for(;f=s.exec(h);)m=zb(f[2]),ia(b,m,"C",d,e)&&(c[m]=ue(f[3])),h=h.substr(f.index+f[0].length);break;case Fe:qa(b,a.nodeValue);break;case Ge:if(!Ca)break;_(a,b,c,d,e)}return b.sort(ma),b}function _(a,b,c,d,e){try{var f=n.exec(a.nodeValue);if(f){var g=zb(f[1]);ia(b,g,"M",d,e)&&(c[g]=ue(f[2]))}}catch(h){}}function aa(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw rf("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",b,c);a.nodeType===De&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--),d.push(a),a=a.nextSibling}while(e>0)}else d.push(a);return ge(d)}function ca(a,b,c){return function(d,e,f,g,h){return e=aa(e[0],b,c),a(d,e,f,g,h)}}function da(a,b,c,d,e,f){var g;return a?R(b,c,d,e,f):function(){return g||(g=R(b,c,d,e,f),b=c=f=null),g.apply(this,arguments)}}function ea(a,b,c,e,g,h,i,j,k){function m(a,b,c,d){a&&(c&&(a=ca(a,c,d)),a.require=o.require,a.directiveName=p,(y===o||o.$$isolateScope)&&(a=wa(a,{isolateScope:!0})),i.push(a)),b&&(c&&(b=ca(b,c,d)),b.require=o.require,b.directiveName=p,(y===o||o.$$isolateScope)&&(b=wa(b,{isolateScope:!0})),j.push(b))}function n(a,e,g,h,k){function m(a,b,c,d){var e;if(E(a)||(d=c,c=b,b=a,a=void 0),G&&(e=s),c||(c=G?A.parent():A),!d)return k(a,b,e,c,N);var f=k.$$slots[d];if(f)return f(a,b,e,c,N);if(t(f))throw rf("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',d,ba(A))}var n,o,p,q,r,s,u,A,C,D;b===g?(C=c,A=c.$$element):(A=ge(g),C=new M(A,c)),r=e,y?q=e.$new(!0):w&&(r=e.$parent),k&&(u=m,u.$$boundTransclude=k,u.isSlotFilled=function(a){return!!k.$$slots[a]}),x&&(s=ga(A,C,u,x,q,e,y)),y&&(R.$$addScopeInfo(A,q,!0,!(z&&(z===y||z===y.$$originalDirective))),R.$$addScopeClass(A,!0),q.$$isolateBindings=y.$$isolateBindings,D=ya(e,C,q,q.$$isolateBindings,y),D.removeWatches&&q.$on("$destroy",D.removeWatches));for(var H in s){var I=x[H],J=s[H],K=I.$$bindings.bindToController;if(F){K?J.bindingInfo=ya(r,C,J.instance,K,I):J.bindingInfo={};var L=J();L!==J.instance&&(J.instance=L,A.data("$"+I.name+"Controller",L),J.bindingInfo.removeWatches&&J.bindingInfo.removeWatches(),J.bindingInfo=ya(r,C,J.instance,K,I))}else J.instance=J(),A.data("$"+I.name+"Controller",J.instance),J.bindingInfo=ya(r,C,J.instance,K,I)}for(f(x,function(a,b){var c=a.require;a.bindToController&&!se(c)&&v(c)&&l(s[b].instance,fa(b,c,A,s))}),f(s,function(a){var b=a.instance;if(B(b.$onChanges))try{b.$onChanges(a.bindingInfo.initialChanges)}catch(c){d(c)}if(B(b.$onInit))try{b.$onInit()}catch(c){d(c)}B(b.$doCheck)&&(r.$watch(function(){b.$doCheck()}),b.$doCheck()),B(b.$onDestroy)&&r.$on("$destroy",function(){b.$onDestroy()})}),n=0,o=i.length;n<o;n++)p=i[n],xa(p,p.isolateScope?q:e,A,C,p.require&&fa(p.directiveName,p.require,A,s),u);var N=e;for(y&&(y.template||null===y.templateUrl)&&(N=q),a&&a(N,g.childNodes,void 0,k),n=j.length-1;n>=0;n--)p=j[n],xa(p,p.isolateScope?q:e,A,C,p.require&&fa(p.directiveName,p.require,A,s),u);f(s,function(a){var b=a.instance;B(b.$postLink)&&b.$postLink()})}k=k||{};for(var o,p,q,r,s,u=-Number.MAX_VALUE,w=k.newScopeDirective,x=k.controllerDirectives,y=k.newIsolateScopeDirective,z=k.templateDirective,A=k.nonTlbTranscludeDirective,C=!1,D=!1,G=k.hasElementTranscludeDirective,H=c.$$element=ge(b),I=h,J=e,K=!1,L=!1,N=0,P=a.length;N<P;N++){o=a[N];var Q=o.$$start,S=o.$$end;if(Q&&(H=aa(b,Q,S)),q=void 0,u>o.priority)break;if(s=o.scope,s&&(o.templateUrl||(v(s)?(oa("new/isolated scope",y||w,o,H),y=o):oa("new/isolated scope",y,o,H)),w=w||o),p=o.name,!K&&(o.replace&&(o.templateUrl||o.template)||o.transclude&&!o.$$tlb)){for(var T,U=N+1;T=a[U++];)if(T.transclude&&!T.$$tlb||T.replace&&(T.templateUrl||T.template)){L=!0;break}K=!0}if(!o.templateUrl&&o.controller&&(x=x||ua(),oa("'"+p+"' controller",x[p],o,H),x[p]=o),s=o.transclude)if(C=!0,o.$$tlb||(oa("transclusion",A,o,H),A=o),"element"===s)G=!0,u=o.priority,q=H,H=c.$$element=ge(R.$$createComment(p,c[p])),b=H[0],va(g,V(q),b),q[0].$$parentNode=q[0].parentNode,J=da(L,q,e,u,I&&I.name,{nonTlbTranscludeDirective:A});else{var X=ua();if(v(s)){q=[];var Y=ua(),Z=ua();f(s,function(a,b){var c="?"===a.charAt(0);a=c?a.substring(1):a,Y[a]=b,X[b]=null,Z[b]=c}),f(H.contents(),function(a){var b=Y[zb(O(a))];b?(Z[b]=!0,X[b]=X[b]||[],X[b].push(a)):q.push(a)}),f(Z,function(a,b){if(!a)throw rf("reqslot","Required transclusion slot `{0}` was not filled.",b)});for(var _ in X)X[_]&&(X[_]=da(L,X[_],e))}else q=ge(Ma(b)).contents();H.empty(),J=da(L,q,e,void 0,void 0,{needsNewScope:o.$$isolateScope||o.$$newScope}),J.$$slots=X}if(o.template)if(D=!0,oa("template",z,o,H),z=o,s=B(o.template)?o.template(H,c):o.template,s=Ia(s),o.replace){if(I=o,q=Fa(s)?[]:Bb(ra(o.templateNamespace,ue(s))),b=q[0],1!==q.length||b.nodeType!==De)throw rf("tplrt","Template for directive '{0}' must have exactly one root element. {1}",p,"");va(g,H,b);var ea={$attr:{}},ia=$(b,[],ea),ja=a.splice(N+1,a.length-(N+1));
+(y||w)&&ha(ia,y,w),a=a.concat(ia).concat(ja),ka(c,ea),P=a.length}else H.html(s);if(o.templateUrl)D=!0,oa("template",z,o,H),z=o,o.replace&&(I=o),n=la(a.splice(N,a.length-N),H,c,g,C&&J,i,j,{controllerDirectives:x,newScopeDirective:w!==o&&w,newIsolateScopeDirective:y,templateDirective:z,nonTlbTranscludeDirective:A}),P=a.length;else if(o.compile)try{r=o.compile(H,c,J);var ma=o.$$originalDirective||o;B(r)?m(null,W(ma,r),Q,S):r&&m(W(ma,r.pre),W(ma,r.post),Q,S)}catch(na){d(na,ba(H))}o.terminal&&(n.terminal=!0,u=Math.max(u,o.priority))}return n.scope=w&&w.scope===!0,n.transcludeOnThisElement=C,n.templateOnThisElement=D,n.transclude=J,k.hasElementTranscludeDirective=G,n}function fa(a,b,c,d){var e;if(x(b)){var g=b.match(y),h=b.substring(g[0].length),i=g[1]||g[3],j="?"===g[2];if("^^"===i?c=c.parent():(e=d&&d[h],e=e&&e.instance),!e){var k="$"+h+"Controller";e=i?c.inheritedData(k):c.data(k)}if(!e&&!j)throw rf("ctreq","Controller '{0}', required by directive '{1}', can't be found!",h,a)}else if(se(b)){e=[];for(var l=0,m=b.length;l<m;l++)e[l]=fa(a,b[l],c,d)}else v(b)&&(e={},f(b,function(b,f){e[f]=fa(a,b,c,d)}));return e||null}function ga(a,b,c,d,e,f,g){var h=ua();for(var j in d){var k=d[j],l={$scope:k===g||k.$$isolateScope?e:f,$element:a,$attrs:b,$transclude:c},m=k.controller;"@"===m&&(m=b[k.name]);var n=i(m,l,!0,k.controllerAs);h[k.name]=n,a.data("$"+k.name+"Controller",n.instance)}return h}function ha(a,b,c){for(var d=0,e=a.length;d<e;d++)a[d]=o(a[d],{$$isolateScope:b,$$newScope:c})}function ia(a,c,d,f,g,h,i){if(c===g)return null;var j=null;if(k.hasOwnProperty(c))for(var l,n=b.get(c+m),p=0,q=n.length;p<q;p++)if(l=n[p],(t(f)||f>l.priority)&&l.restrict.indexOf(d)!==-1){if(h&&(l=o(l,{$$start:h,$$end:i})),!l.$$bindings){var r=l.$$bindings=e(l,l.name);v(r.isolateScope)&&(l.$$isolateBindings=r.isolateScope)}a.push(l),j=l}return j}function ja(a){if(k.hasOwnProperty(a))for(var c,d=b.get(a+m),e=0,f=d.length;e<f;e++)if(c=d[e],c.multiElement)return!0;return!1}function ka(a,b){var c=b.$attr,d=a.$attr;f(a,function(d,e){"$"!==e.charAt(0)&&(b[e]&&b[e]!==d&&(d.length?d+=("style"===e?";":" ")+b[e]:d=b[e]),a.$set(e,d,!0,c[e]))}),f(b,function(b,e){a.hasOwnProperty(e)||"$"===e.charAt(0)||(a[e]=b,"class"!==e&&"style"!==e&&(d[e]=c[e]))})}function la(a,b,c,e,h,i,j,k){var l,m,n=[],p=b[0],q=a.shift(),r=o(q,{templateUrl:null,transclude:null,replace:null,$$originalDirective:q}),s=B(q.templateUrl)?q.templateUrl(b,c):q.templateUrl,t=q.templateNamespace;return b.empty(),g(s).then(function(d){var g,o,u,w;if(d=Ia(d),q.replace){if(u=Fa(d)?[]:Bb(ra(t,ue(d))),g=u[0],1!==u.length||g.nodeType!==De)throw rf("tplrt","Template for directive '{0}' must have exactly one root element. {1}",q.name,s);o={$attr:{}},va(e,b,g);var x=$(g,[],o);v(q.scope)&&ha(x,!0),a=x.concat(a),ka(c,o)}else g=p,b.html(d);for(a.unshift(r),l=ea(a,g,c,h,b,q,i,j,k),f(e,function(a,c){a===g&&(e[c]=b[0])}),m=X(b[0].childNodes,h);n.length;){var y=n.shift(),z=n.shift(),A=n.shift(),B=n.shift(),C=b[0];if(!y.$$destroyed){if(z!==p){var D=z.className;k.hasElementTranscludeDirective&&q.replace||(C=Ma(g)),va(A,ge(z),C),P(ge(C),D)}w=l.transcludeOnThisElement?Z(y,l.transclude,B):B,l(m,y,C,e,w)}}n=null})["catch"](function(a){A(a)&&d(a)}),function(a,b,c,d,e){var f=e;b.$$destroyed||(n?n.push(b,c,d,f):(l.transcludeOnThisElement&&(f=Z(b,l.transclude,e)),l(m,b,c,d,f)))}}function ma(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function oa(a,b,c,d){function e(a){return a?" (module: "+a+")":""}if(b)throw rf("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",b.name,e(b.$$moduleName),c.name,e(c.$$moduleName),a,ba(d))}function qa(a,b){var d=c(b,!0);d&&a.push({priority:0,compile:function(a){var b=a.parent(),c=!!b.length;return c&&R.$$addBindingClass(b),function(a,b){var e=b.parent();c||R.$$addBindingClass(e),R.$$addBindingInfo(e,d.expressions),a.$watch(d,function(a){b[0].nodeValue=a})}}})}function ra(b,c){switch(b=be(b||"html")){case"svg":case"math":var d=a.document.createElement("div");return d.innerHTML="<"+b+">"+c+"</"+b+">",d.childNodes[0].childNodes;default:return c}}function sa(a,b){if("srcdoc"===b)return r.HTML;var c=O(a);if("src"===b||"ngSrc"===b){if(["img","video","audio","source","track"].indexOf(c)===-1)return r.RESOURCE_URL}else if("xlinkHref"===b||"form"===c&&"action"===b||"link"===c&&"href"===b)return r.RESOURCE_URL}function ta(a,b,d,e,f){var g=sa(a,e),h=!f,i=w[e]||f,j=c(d,h,g,i);if(j){if("multiple"===e&&"select"===O(a))throw rf("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",ba(a));if(z.test(e))throw rf("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");b.push({priority:100,compile:function(){return{pre:function(a,b,f){var h=f.$$observers||(f.$$observers=ua()),k=f[e];k!==d&&(j=k&&c(k,!0,g,i),d=k),j&&(f[e]=j(a),(h[e]||(h[e]=[])).$$inter=!0,(f.$$observers&&f.$$observers[e].$$scope||a).$watch(j,function(a,b){"class"===e&&a!==b?f.$updateClass(a,b):f.$set(e,a)}))}}}})}}function va(b,c,d){var e,f,g=c[0],h=c.length,i=g.parentNode;if(b)for(e=0,f=b.length;e<f;e++)if(b[e]===g){b[e++]=d;for(var j=e,k=j+h-1,l=b.length;j<l;j++,k++)k<l?b[j]=b[k]:delete b[j];b.length-=h-1,b.context===g&&(b.context=d);break}i&&i.replaceChild(d,g);var m=a.document.createDocumentFragment();for(e=0;e<h;e++)m.appendChild(c[e]);for(ge.hasData(g)&&(ge.data(d,ge.data(g)),ge(g).off("$destroy")),ge.cleanData(m.querySelectorAll("*")),e=1;e<h;e++)delete c[e];c[0]=d,c.length=1}function wa(a,b){return l(function(){return a.apply(null,arguments)},a,b)}function xa(a,b,c,e,f,g){try{a(b,c,e,f,g)}catch(h){d(h,ba(c))}}function ya(a,b,d,e,g){function i(b,c,e){B(d.$onChanges)&&!S(c,e)&&(za||(a.$$postDigest(L),za=[]),k||(k={},za.push(j)),k[b]&&(e=k[b].previousValue),k[b]=new yb(e,c))}function j(){d.$onChanges(k),k=void 0}var k,l=[],m={};return f(e,function(e,f){var j,k,n,o,q,r=e.attrName,s=e.optional,t=e.mode;switch(t){case"@":s||ae.call(b,r)||(d[f]=b[r]=void 0),q=b.$observe(r,function(a){if(x(a)||I(a)){var b=d[f];i(f,a,b),d[f]=a}}),b.$$observers[r].$$scope=a,j=b[r],x(j)?d[f]=c(j)(a):I(j)&&(d[f]=j),m[f]=new yb(sf,d[f]),l.push(q);break;case"=":if(!ae.call(b,r)){if(s)break;b[r]=void 0}if(s&&!b[r])break;k=h(b[r]),o=k.literal?T:S,n=k.assign||function(){throw j=d[f]=k(a),rf("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",b[r],r,g.name)},j=d[f]=k(a);var u=function(b){return o(b,d[f])||(o(b,j)?n(a,b=d[f]):d[f]=b),j=b};u.$stateful=!0,q=e.collection?a.$watchCollection(b[r],u):a.$watch(h(b[r],u),null,k.literal),l.push(q);break;case"<":if(!ae.call(b,r)){if(s)break;b[r]=void 0}if(s&&!b[r])break;k=h(b[r]);var v=k.literal,w=d[f]=k(a);m[f]=new yb(sf,d[f]),q=a.$watch(k,function(a,b){if(b===a){if(b===w||v&&T(b,w))return;b=w}i(f,a,b),d[f]=a},v),l.push(q);break;case"&":if(k=b.hasOwnProperty(r)?h(b[r]):p,k===p&&s)break;d[f]=function(b){return k(a,b)}}}),{initialChanges:m,removeWatches:l.length&&function(){for(var a=0,b=l.length;a<b;++a)l[a]()}}}var za,Aa=/^\w/,Ba=a.document.createElement("div"),Ca=H,Da=J,Ea=G;M.prototype={$normalize:zb,$addClass:function(a){a&&a.length>0&&C.addClass(this.$$element,a)},$removeClass:function(a){a&&a.length>0&&C.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=Ab(a,b);c&&c.length&&C.addClass(this.$$element,c);var d=Ab(b,a);d&&d.length&&C.removeClass(this.$$element,d)},$set:function(a,b,c,e){var g,h=this.$$element[0],i=ab(h,a),j=bb(a),k=a;if(i?(this.$$element.prop(a,b),e=i):j&&(this[j]=b,k=j),this[a]=b,e?this.$attr[a]=e:(e=this.$attr[a],e||(this.$attr[a]=e=na(a,"-"))),g=O(this.$$element),"a"===g&&("href"===a||"xlinkHref"===a)||"img"===g&&"src"===a)this[a]=b=K(b,"src"===a);else if("img"===g&&"srcset"===a&&u(b)){for(var l="",m=ue(b),n=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,o=/\s/.test(m)?n:/(,)/,p=m.split(o),q=Math.floor(p.length/2),r=0;r<q;r++){var s=2*r;l+=K(ue(p[s]),!0),l+=" "+ue(p[s+1])}var v=ue(p[2*r]).split(/\s/);l+=K(ue(v[0]),!0),2===v.length&&(l+=" "+ue(v[1])),this[a]=b=l}c!==!1&&(null===b||t(b)?this.$$element.removeAttr(e):Aa.test(e)?this.$$element.attr(e,b):N(this.$$element[0],e,b));var w=this.$$observers;w&&f(w[k],function(a){try{a(b)}catch(c){d(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=ua()),e=d[a]||(d[a]=[]);return e.push(b),j.$evalAsync(function(){e.$$inter||!c.hasOwnProperty(a)||t(c[a])||b(c[a])}),function(){Q(e,b)}}};var Ga=c.startSymbol(),Ha=c.endSymbol(),Ia="{{"===Ga&&"}}"===Ha?q:function(a){return a.replace(/\{\{/g,Ga).replace(/}}/g,Ha)},Ja=/^ngAttr[A-Z]/,Ka=/^(.+)Start$/;return R.$$addBindingInfo=D?function(a,b){var c=a.data("$binding")||[];se(b)?c=c.concat(b):c.push(b),a.data("$binding",c)}:p,R.$$addBindingClass=D?function(a){P(a,"ng-binding")}:p,R.$$addScopeInfo=D?function(a,b,c,d){var e=c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope";a.data(e,b)}:p,R.$$addScopeClass=D?function(a,b){P(a,b?"ng-isolate-scope":"ng-scope")}:p,R.$$createComment=function(b,c){var d="";return D&&(d=" "+(b||"")+": ",c&&(d+=c+" ")),a.document.createComment(d)},R}]}function yb(a,b){this.previousValue=a,this.currentValue=b}function zb(a){return a.replace(tf,"").replace(uf,Da)}function Ab(a,b){var c="",d=a.split(/\s+/),e=b.split(/\s+/);a:for(var f=0;f<d.length;f++){for(var g=d[f],h=0;h<e.length;h++)if(g===e[h])continue a;c+=(c.length>0?" ":"")+g}return c}function Bb(a){a=ge(a);var b=a.length;if(b<=1)return a;for(;b--;){var c=a[b];(c.nodeType===Ge||c.nodeType===Fe&&""===c.nodeValue.trim())&&ke.call(a,b,1)}return a}function Cb(a,b){if(b&&x(b))return b;if(x(a)){var c=wf.exec(a);if(c)return c[3]}}function Db(){var a={},b=!1;this.has=function(b){return a.hasOwnProperty(b)},this.register=function(b,c){ra(b,"controller"),v(b)?l(a,b):a[b]=c},this.allowGlobals=function(){b=!0},this.$get=["$injector","$window",function(c,e){function f(a,b,c,e){if(!a||!v(a.$scope))throw d("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",e,b);a.$scope[b]=c}return function(d,g,h,i){var j,k,m,n;if(h=h===!0,i&&x(i)&&(n=i),x(d)){if(k=d.match(wf),!k)throw vf("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",d);if(m=k[1],n=n||k[3],d=a.hasOwnProperty(m)?a[m]:sa(g.$scope,m,!0)||(b?sa(e,m,!0):void 0),!d)throw vf("ctrlreg","The controller with the name '{0}' is not registered.",m);qa(d,m,!0)}if(h){var o=(se(d)?d[d.length-1]:d).prototype;return j=Object.create(o||null),n&&f(g,n,j,m||d.name),l(function(){var a=c.invoke(d,j,g,m);return a!==j&&(v(a)||B(a))&&(j=a,n&&f(g,n,j,m||d.name)),j},{instance:j,identifier:n})}return j=c.instantiate(d,g,m),n&&f(g,n,j,m||d.name),j}}]}function Eb(){this.$get=["$window",function(a){return ge(a.document)}]}function Fb(){this.$get=["$document","$rootScope",function(a,b){function c(){e=d.hidden}var d=a[0],e=d&&d.hidden;return a.on("visibilitychange",c),b.$on("$destroy",function(){a.off("visibilitychange",c)}),function(){return e}}]}function Gb(){this.$get=["$log",function(a){return function(b,c){a.error.apply(a,arguments)}}]}function Hb(a){return v(a)?z(a)?a.toISOString():Y(a):a}function Ib(){this.$get=function(){return function(a){if(!a)return"";var b=[];return g(a,function(a,c){null===a||t(a)||(se(a)?f(a,function(a){b.push(ga(c)+"="+ga(Hb(a)))}):b.push(ga(c)+"="+ga(Hb(a))))}),b.join("&")}}}function Jb(){this.$get=function(){return function(a){function b(a,d,e){null===a||t(a)||(se(a)?f(a,function(a,c){b(a,d+"["+(v(a)?c:"")+"]")}):v(a)&&!z(a)?g(a,function(a,c){b(a,d+(e?"":"[")+c+(e?"":"]"))}):c.push(ga(d)+"="+ga(Hb(a))))}if(!a)return"";var c=[];return b(a,"",!0),c.join("&")}}}function Kb(a,b){if(x(a)){var c=a.replace(Cf,"").trim();if(c){var d=b("Content-Type");if(d&&0===d.indexOf(yf)||Lb(c))try{a=Z(c)}catch(e){throw Df("baddata",'Data must be a valid JSON object. Received: "{0}". Parse error: "{1}"',a,e)}}}return a}function Lb(a){var b=a.match(Af);return b&&Bf[b[0]].test(a)}function Mb(a){function b(a,b){a&&(d[a]=d[a]?d[a]+", "+b:b)}var c,d=ua();return x(a)?f(a.split("\n"),function(a){c=a.indexOf(":"),b(be(ue(a.substr(0,c))),ue(a.substr(c+1)))}):v(a)&&f(a,function(a,c){b(be(c),ue(a))}),d}function Nb(a){var b;return function(c){if(b||(b=Mb(a)),c){var d=b[be(c)];return void 0===d&&(d=null),d}return b}}function Ob(a,b,c,d){return B(d)?d(a,b,c):(f(d,function(d){a=d(a,b,c)}),a)}function Pb(a){return 200<=a&&a<300}function Qb(){var a=this.defaults={transformResponse:[Kb],transformRequest:[function(a){return!v(a)||F(a)||H(a)||G(a)?a:Y(a)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:xa(zf),put:xa(zf),patch:xa(zf)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer",jsonpCallbackParam:"callback"},b=!1;this.useApplyAsync=function(a){return u(a)?(b=!!a,this):b};var c=this.interceptors=[];this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector","$sce",function(e,g,h,i,j,k,m,n){function o(b){function c(a,b){for(var c=0,d=b.length;c<d;){var e=b[c++],f=b[c++];a=a.then(e,f)}return b.length=0,a}function g(){e.$$completeOutstandingRequest(p)}function h(a,b){var c,d={};return f(a,function(a,e){B(a)?(c=a(b),null!=c&&(d[e]=c)):d[e]=a}),d}function i(b){var c,d,e,f=a.headers,g=l({},b.headers);f=l({},f.common,f[be(b.method)]);a:for(c in f){d=be(c);for(e in g)if(be(e)===d)continue a;g[c]=f[c]}return h(g,xa(b))}function j(b){var c=b.headers,d=Ob(b.data,Nb(c),void 0,b.transformRequest);return t(d)&&f(c,function(a,b){"content-type"===be(b)&&delete c[b]}),t(b.withCredentials)&&!t(a.withCredentials)&&(b.withCredentials=a.withCredentials),s(b,d).then(o,o)}function o(a){var b=l({},a);return b.data=Ob(a.data,a.headers,a.status,q.transformResponse),Pb(a.status)?b:k.reject(b)}if(!v(b))throw d("$http")("badreq","Http request configuration must be an object.  Received: {0}",b);if(!x(n.valueOf(b.url)))throw d("$http")("badreq","Http request configuration url must be a string or a $sce trusted object.  Received: {0}",b.url);var q=l({method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse,paramSerializer:a.paramSerializer,jsonpCallbackParam:a.jsonpCallbackParam},b);q.headers=i(b),q.method=ce(q.method),q.paramSerializer=x(q.paramSerializer)?m.get(q.paramSerializer):q.paramSerializer,e.$$incOutstandingRequestCount();var r=[],u=[],w=k.resolve(q);return f(A,function(a){(a.request||a.requestError)&&r.unshift(a.request,a.requestError),(a.response||a.responseError)&&u.push(a.response,a.responseError)}),w=c(w,r),w=w.then(j),w=c(w,u),w=w["finally"](g)}function q(a){f(arguments,function(a){o[a]=function(b,c){return o(l({},c||{},{method:a,url:b}))}})}function r(a){f(arguments,function(a){o[a]=function(b,c,d){return o(l({},d||{},{method:a,url:b,data:c}))}})}function s(c,d){function e(a){if(a){var c={};return f(a,function(a,d){c[d]=function(c){function d(){a(c)}b?j.$applyAsync(d):j.$$phase?d():j.$apply(d)}}),c}}function i(a,c,d,e){function f(){l(c,a,d,e)}q&&(Pb(a)?q.put(D,[a,c,Mb(d),e]):q.remove(D)),b?j.$applyAsync(f):(f(),j.$$phase||j.$apply())}function l(a,b,d,e){b=b>=-1?b:0,(Pb(b)?s.resolve:s.reject)({data:a,status:b,headers:Nb(d),config:c,statusText:e})}function m(a){l(a.data,a.status,xa(a.headers()),a.statusText)}function p(){var a=o.pendingRequests.indexOf(c);a!==-1&&o.pendingRequests.splice(a,1)}var q,r,s=k.defer(),A=s.promise,B=c.headers,C="jsonp"===be(c.method),D=c.url;if(C?D=n.getTrustedResourceUrl(D):x(D)||(D=n.valueOf(D)),D=w(D,c.paramSerializer(c.params)),C&&(D=y(D,c.jsonpCallbackParam)),o.pendingRequests.push(c),A.then(p,p),!c.cache&&!a.cache||c.cache===!1||"GET"!==c.method&&"JSONP"!==c.method||(q=v(c.cache)?c.cache:v(a.cache)?a.cache:z),q&&(r=q.get(D),u(r)?J(r)?r.then(m,m):se(r)?l(r[1],r[0],xa(r[2]),r[3]):l(r,200,{},"OK"):q.put(D,A)),t(r)){var E=Tc(c.url)?h()[c.xsrfCookieName||a.xsrfCookieName]:void 0;E&&(B[c.xsrfHeaderName||a.xsrfHeaderName]=E),g(c.method,D,d,i,B,c.timeout,c.withCredentials,c.responseType,e(c.eventHandlers),e(c.uploadEventHandlers))}return A}function w(a,b){return b.length>0&&(a+=(a.indexOf("?")===-1?"?":"&")+b),a}function y(a,b){if(/[&?][^=]+=JSON_CALLBACK/.test(a))throw Df("badjsonp",'Illegal use of JSON_CALLBACK in url, "{0}"',a);var c=new RegExp("[&?]"+b+"=");if(c.test(a))throw Df("badjsonp",'Illegal use of callback param, "{0}", in url, "{1}"',b,a);return a+=(a.indexOf("?")===-1?"?":"&")+b+"=JSON_CALLBACK"}var z=i("$http");a.paramSerializer=x(a.paramSerializer)?m.get(a.paramSerializer):a.paramSerializer;var A=[];return f(c,function(a){A.unshift(x(a)?m.get(a):m.invoke(a))}),o.pendingRequests=[],q("get","delete","head","jsonp"),r("post","put","patch"),o.defaults=a,o}]}function Rb(){this.$get=function(){return function(){return new a.XMLHttpRequest}}}function Sb(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function(a,b,c,d){return Tb(a,d,a.defer,b,c[0])}]}function Tb(a,b,c,d,e){function g(a,b,c){a=a.replace("JSON_CALLBACK",b);var f=e.createElement("script"),g=null;return f.type="text/javascript",f.src=a,f.async=!0,g=function(a){f.removeEventListener("load",g),f.removeEventListener("error",g),e.body.removeChild(f),f=null;var h=-1,i="unknown";a&&("load"!==a.type||d.wasCalled(b)||(a={type:"error"}),i=a.type,h="error"===a.type?404:200),c&&c(h,i)},f.addEventListener("load",g),f.addEventListener("error",g),e.body.appendChild(f),g}return function(e,h,i,j,k,l,m,n,o,p){function q(){v&&v(),w&&w.abort()}function r(a,b,d,e,f){u(z)&&c.cancel(z),v=w=null,a(b,d,e,f)}if(h=h||a.url(),"jsonp"===be(e))var s=d.createCallback(h),v=g(h,s,function(a,b){var c=200===a&&d.getResponse(s);r(j,a,c,"",b),d.removeCallback(s)});else{var w=b(e,h);w.open(e,h,!0),f(k,function(a,b){u(a)&&w.setRequestHeader(b,a)}),w.onload=function(){var a=w.statusText||"",b="response"in w?w.response:w.responseText,c=1223===w.status?204:w.status;0===c&&(c=b?200:"file"===Sc(h).protocol?404:0),r(j,c,b,w.getAllResponseHeaders(),a)};var x=function(){r(j,-1,null,null,"")};if(w.onerror=x,w.onabort=x,w.ontimeout=x,f(o,function(a,b){w.addEventListener(b,a)}),f(p,function(a,b){w.upload.addEventListener(b,a)}),m&&(w.withCredentials=!0),n)try{w.responseType=n}catch(y){if("json"!==n)throw y}w.send(t(i)?null:i)}if(l>0)var z=c(q,l);else J(l)&&l.then(q)}}function Ub(){var a="{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a},this.endSymbol=function(a){return a?(b=a,this):b},this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(a){return"\\\\\\"+a}function g(c){return c.replace(m,a).replace(n,b)}function h(a,b,c,d){var e=a.$watch(function(a){return e(),d(a)},b,c);return e}function i(f,i,m,n){function o(a){try{return a=F(a),n&&!u(a)?a:va(a)}catch(b){d(Ef.interr(f,b))}}if(!f.length||f.indexOf(a)===-1){var p;if(!i){var q=g(f);p=r(q),p.exp=f,p.expressions=[],p.$$watchDelegate=h}return p}n=!!n;for(var s,v,w,x=0,y=[],z=[],A=f.length,C=[],D=[];x<A;){if((s=f.indexOf(a,x))===-1||(v=f.indexOf(b,s+j))===-1){x!==A&&C.push(g(f.substring(x)));break}x!==s&&C.push(g(f.substring(x,s))),w=f.substring(s+j,v),y.push(w),z.push(c(w,o)),x=v+k,D.push(C.length),C.push("")}if(m&&C.length>1&&Ef.throwNoconcat(f),!i||y.length){var E=function(a){for(var b=0,c=y.length;b<c;b++){if(n&&t(a[b]))return;C[D[b]]=a[b]}return C.join("")},F=function(a){return m?e.getTrusted(m,a):e.valueOf(a)};return l(function(a){var b=0,c=y.length,e=new Array(c);try{for(;b<c;b++)e[b]=z[b](a);return E(e)}catch(g){d(Ef.interr(f,g))}},{exp:f,expressions:y,$$watchDelegate:function(a,b){var c;return a.$watchGroup(z,function(d,e){var f=E(d);B(b)&&b.call(this,f,d!==e?c:f,a),c=f})}})}}var j=a.length,k=b.length,m=new RegExp(a.replace(/./g,f),"g"),n=new RegExp(b.replace(/./g,f),"g");return i.startSymbol=function(){return a},i.endSymbol=function(){return b},i}]}function Vb(){this.$get=["$rootScope","$window","$q","$$q","$browser",function(a,b,c,d,e){function f(f,h,i,j){function k(){l?f.apply(null,m):f(p)}var l=arguments.length>4,m=l?V(arguments,4):[],n=b.setInterval,o=b.clearInterval,p=0,q=u(j)&&!j,r=(q?d:c).defer(),s=r.promise;return i=u(i)?i:0,s.$$intervalId=n(function(){q?e.defer(k):a.$evalAsync(k),r.notify(p++),i>0&&p>=i&&(r.resolve(p),o(s.$$intervalId),delete g[s.$$intervalId]),q||a.$apply()},h),g[s.$$intervalId]=r,s}var g={};return f.cancel=function(a){return!!(a&&a.$$intervalId in g)&&(Fc(g[a.$$intervalId].promise),g[a.$$intervalId].reject("canceled"),b.clearInterval(a.$$intervalId),delete g[a.$$intervalId],!0)},f}]}function Wb(a){for(var b=a.split("/"),c=b.length;c--;)b[c]=fa(b[c]);return b.join("/")}function Xb(a,b){var c=Sc(a);b.$$protocol=c.protocol,b.$$host=c.hostname,b.$$port=n(c.port)||Hf[c.protocol]||null}function Yb(a,b){if(Jf.test(a))throw If("badpath",'Invalid url "{0}".',a);var c="/"!==a.charAt(0);c&&(a="/"+a);var d=Sc(a);b.$$path=decodeURIComponent(c&&"/"===d.pathname.charAt(0)?d.pathname.substring(1):d.pathname),b.$$search=da(d.search),b.$$hash=decodeURIComponent(d.hash),b.$$path&&"/"!==b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function Zb(a,b){return a.slice(0,b.length)===b}function $b(a,b){if(Zb(b,a))return b.substr(a.length)}function _b(a){var b=a.indexOf("#");return b===-1?a:a.substr(0,b)}function ac(a){return a.replace(/(#.+)|#$/,"$1")}function bc(a){return a.substr(0,_b(a).lastIndexOf("/")+1)}function cc(a){return a.substring(0,a.indexOf("/",a.indexOf("//")+2))}function dc(a,b,c){this.$$html5=!0,c=c||"",Xb(a,this),this.$$parse=function(a){var c=$b(b,a);if(!x(c))throw If("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',a,b);Yb(c,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var a=ea(this.$$search),c=this.$$hash?"#"+fa(this.$$hash):"";this.$$url=Wb(this.$$path)+(a?"?"+a:"")+c,this.$$absUrl=b+this.$$url.substr(1),this.$$urlUpdatedByLocation=!0},this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g,h;return u(f=$b(a,d))?(g=f,h=c&&u(f=$b(c,f))?b+($b("/",f)||f):a+g):u(f=$b(b,d))?h=b+f:b===d+"/"&&(h=b),h&&this.$$parse(h),!!h}}function ec(a,b,c){Xb(a,this),this.$$parse=function(d){function e(a,b,c){var d,e=/^\/[A-Z]:(\/.*)/;return Zb(b,c)&&(b=b.replace(c,"")),e.exec(b)?a:(d=e.exec(a),d?d[1]:a)}var f,g=$b(a,d)||$b(b,d);t(g)||"#"!==g.charAt(0)?this.$$html5?f=g:(f="",t(g)&&(a=d,this.replace())):(f=$b(c,g),t(f)&&(f=g)),Yb(f,this),this.$$path=e(this.$$path,f,a),this.$$compose()},this.$$compose=function(){var b=ea(this.$$search),d=this.$$hash?"#"+fa(this.$$hash):"";this.$$url=Wb(this.$$path)+(b?"?"+b:"")+d,this.$$absUrl=a+(this.$$url?c+this.$$url:""),this.$$urlUpdatedByLocation=!0},this.$$parseLinkUrl=function(b,c){return _b(a)===_b(b)&&(this.$$parse(b),!0)}}function fc(a,b,c){this.$$html5=!0,ec.apply(this,arguments),this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;return a===_b(d)?f=d:(g=$b(b,d))?f=a+c+g:b===d+"/"&&(f=b),f&&this.$$parse(f),!!f},this.$$compose=function(){var b=ea(this.$$search),d=this.$$hash?"#"+fa(this.$$hash):"";this.$$url=Wb(this.$$path)+(b?"?"+b:"")+d,this.$$absUrl=a+c+this.$$url,this.$$urlUpdatedByLocation=!0}}function gc(a){return function(){return this[a]}}function hc(a,b){return function(c){return t(c)?this[a]:(this[a]=b(c),this.$$compose(),this)}}function ic(){var a="!",b={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(b){return u(b)?(a=b,this):a},this.html5Mode=function(a){return I(a)?(b.enabled=a,this):v(a)?(I(a.enabled)&&(b.enabled=a.enabled),I(a.requireBase)&&(b.requireBase=a.requireBase),(I(a.rewriteLinks)||x(a.rewriteLinks))&&(b.rewriteLinks=a.rewriteLinks),this):b},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(c,d,e,f,g){function h(a,b,c){var e=j.url(),f=j.$$state;try{d.url(a,b,c),j.$$state=d.state()}catch(g){throw j.url(e),j.$$state=f,g}}function i(a,b){c.$broadcast("$locationChangeSuccess",j.absUrl(),a,j.$$state,b)}var j,k,l,m=d.baseHref(),n=d.url();if(b.enabled){if(!m&&b.requireBase)throw If("nobase","$location in HTML5 mode requires a <base> tag to be present!");l=cc(n)+(m||"/"),k=e.history?dc:fc}else l=_b(n),k=ec;var o=bc(l);j=new k(l,o,"#"+a),j.$$parseLinkUrl(n,n),j.$$state=d.state();var p=/^\s*(javascript|mailto):/i;f.on("click",function(a){var e=b.rewriteLinks;if(e&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&2!==a.which&&2!==a.button){for(var h=ge(a.target);"a"!==O(h[0]);)if(h[0]===f[0]||!(h=h.parent())[0])return;if(!x(e)||!t(h.attr(e))){var i=h.prop("href"),k=h.attr("href")||h.attr("xlink:href");v(i)&&"[object SVGAnimatedString]"===i.toString()&&(i=Sc(i.animVal).href),p.test(i)||!i||h.attr("target")||a.isDefaultPrevented()||j.$$parseLinkUrl(i,k)&&(a.preventDefault(),j.absUrl()!==d.url()&&(c.$apply(),g.angular["ff-684208-preventDefault"]=!0))}}}),ac(j.absUrl())!==ac(n)&&d.url(j.absUrl(),!0);var q=!0;return d.onUrlChange(function(a,b){return Zb(a,o)?(c.$evalAsync(function(){var d,e=j.absUrl(),f=j.$$state;a=ac(a),j.$$parse(a),j.$$state=b,d=c.$broadcast("$locationChangeStart",a,e,b,f).defaultPrevented,j.absUrl()===a&&(d?(j.$$parse(e),j.$$state=f,h(e,!1,f)):(q=!1,i(e,f)))}),void(c.$$phase||c.$digest())):void(g.location.href=a)}),c.$watch(function(){if(q||j.$$urlUpdatedByLocation){j.$$urlUpdatedByLocation=!1;var a=ac(d.url()),b=ac(j.absUrl()),f=d.state(),g=j.$$replace,k=a!==b||j.$$html5&&e.history&&f!==j.$$state;(q||k)&&(q=!1,c.$evalAsync(function(){var b=j.absUrl(),d=c.$broadcast("$locationChangeStart",b,a,j.$$state,f).defaultPrevented;j.absUrl()===b&&(d?(j.$$parse(a),j.$$state=f):(k&&h(b,g,f===j.$$state?null:j.$$state),i(a,f)))}))}j.$$replace=!1}),j}]}function jc(){var a=!0,b=this;this.debugEnabled=function(b){return u(b)?(a=b,this):a},this.$get=["$window",function(c){function d(a){return A(a)&&(a.stack&&g?a=a.message&&a.stack.indexOf(a.message)===-1?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line)),a}function e(a){var b=c.console||{},e=b[a]||b.log||p;return function(){var a=[];return f(arguments,function(b){a.push(d(b))}),Function.prototype.apply.call(e,b,a)}}var g=fe||/\bEdge\//.test(c.navigator&&c.navigator.userAgent);return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function kc(a){return a+""}function lc(a,b){return"undefined"!=typeof a?a:b}function mc(a,b){return"undefined"==typeof a?b:"undefined"==typeof b?a:a+b}function nc(a,b){var c=a(b);return!c.$stateful}function oc(a,b){switch(a.type){case Qf.MemberExpression:if(a.computed)return!1;break;case Qf.UnaryExpression:return Rf;case Qf.BinaryExpression:return"+"!==a.operator&&Rf;case Qf.CallExpression:return!1}return void 0===b?Sf:b}function pc(a,b,c){var d,e,g,h=a.isPure=oc(a,c);switch(a.type){case Qf.Program:d=!0,f(a.body,function(a){pc(a.expression,b,h),d=d&&a.expression.constant}),a.constant=d;break;case Qf.Literal:a.constant=!0,a.toWatch=[];break;case Qf.UnaryExpression:pc(a.argument,b,h),a.constant=a.argument.constant,a.toWatch=a.argument.toWatch;break;case Qf.BinaryExpression:pc(a.left,b,h),pc(a.right,b,h),a.constant=a.left.constant&&a.right.constant,a.toWatch=a.left.toWatch.concat(a.right.toWatch);break;case Qf.LogicalExpression:pc(a.left,b,h),pc(a.right,b,h),a.constant=a.left.constant&&a.right.constant,a.toWatch=a.constant?[]:[a];break;case Qf.ConditionalExpression:pc(a.test,b,h),pc(a.alternate,b,h),pc(a.consequent,b,h),a.constant=a.test.constant&&a.alternate.constant&&a.consequent.constant,a.toWatch=a.constant?[]:[a];break;case Qf.Identifier:a.constant=!1,a.toWatch=[a];break;case Qf.MemberExpression:pc(a.object,b,h),a.computed&&pc(a.property,b,h),a.constant=a.object.constant&&(!a.computed||a.property.constant),a.toWatch=[a];break;case Qf.CallExpression:g=!!a.filter&&nc(b,a.callee.name),d=g,e=[],f(a.arguments,function(a){pc(a,b,h),d=d&&a.constant,a.constant||e.push.apply(e,a.toWatch)}),a.constant=d,a.toWatch=g?e:[a];break;case Qf.AssignmentExpression:pc(a.left,b,h),pc(a.right,b,h),a.constant=a.left.constant&&a.right.constant,a.toWatch=[a];break;case Qf.ArrayExpression:d=!0,e=[],f(a.elements,function(a){pc(a,b,h),d=d&&a.constant,a.constant||e.push.apply(e,a.toWatch)}),a.constant=d,a.toWatch=e;break;case Qf.ObjectExpression:d=!0,e=[],f(a.properties,function(a){pc(a.value,b,h),d=d&&a.value.constant&&!a.computed,a.value.constant||e.push.apply(e,a.value.toWatch),a.computed&&(pc(a.key,b,h),a.key.constant||e.push.apply(e,a.key.toWatch))}),a.constant=d,a.toWatch=e;break;case Qf.ThisExpression:a.constant=!1,a.toWatch=[];break;case Qf.LocalsExpression:a.constant=!1,a.toWatch=[]}}function qc(a){if(1===a.length){var b=a[0].expression,c=b.toWatch;return 1!==c.length?c:c[0]!==b?c:void 0}}function rc(a){return a.type===Qf.Identifier||a.type===Qf.MemberExpression}function sc(a){if(1===a.body.length&&rc(a.body[0].expression))return{type:Qf.AssignmentExpression,left:a.body[0].expression,right:{type:Qf.NGValueParameter},operator:"="}}function tc(a){return 0===a.body.length||1===a.body.length&&(a.body[0].expression.type===Qf.Literal||a.body[0].expression.type===Qf.ArrayExpression||a.body[0].expression.type===Qf.ObjectExpression)}function uc(a){return a.constant}function vc(a){this.$filter=a}function wc(a){this.$filter=a}function xc(a,b,c){this.ast=new Qf(a,c),this.astCompiler=c.csp?new wc(b):new vc(b)}function yc(a){return B(a.valueOf)?a.valueOf():Mf.call(a)}function zc(){var a,b,c=ua(),d={"true":!0,"false":!1,"null":null,undefined:void 0};this.addLiteral=function(a,b){d[a]=b},this.setIdentifierFns=function(c,d){return a=c,b=d,this},this.$get=["$filter",function(e){function g(a,b){var d,f,g;switch(typeof a){case"string":if(a=a.trim(),g=a,d=c[g],!d){":"===a.charAt(0)&&":"===a.charAt(1)&&(f=!0,a=a.substring(2));var h=new Pf(o),n=new xc(h,e,o);d=n.parse(a),d.constant?d.$$watchDelegate=l:f?d.$$watchDelegate=d.literal?k:j:d.inputs&&(d.$$watchDelegate=i),c[g]=d}return m(d,b);case"function":return m(a,b);default:return m(p,b)}}function h(a,b,c){return null==a||null==b?a===b:!("object"==typeof a&&(a=yc(a),"object"==typeof a&&!c))&&(a===b||a!==a&&b!==b)}function i(a,b,c,d,e){var f,g=d.inputs;if(1===g.length){var i=h;return g=g[0],a.$watch(function(a){var b=g(a);return h(b,i,g.isPure)||(f=d(a,void 0,void 0,[b]),i=b&&yc(b)),f},b,c,e)}for(var j=[],k=[],l=0,m=g.length;l<m;l++)j[l]=h,k[l]=null;return a.$watch(function(a){for(var b=!1,c=0,e=g.length;c<e;c++){var i=g[c](a);(b||(b=!h(i,j[c],g[c].isPure)))&&(k[c]=i,j[c]=i&&yc(i))}return b&&(f=d(a,void 0,void 0,k)),f},b,c,e)}function j(a,b,c,d,e){function f(a){return d(a)}function g(a,c,d){j=a,B(b)&&b(a,c,d),u(a)&&d.$$postDigest(function(){u(j)&&h()})}var h,j;return h=d.inputs?i(a,g,c,d,e):a.$watch(f,g,c)}function k(a,b,c,d){function e(a){var b=!0;return f(a,function(a){u(a)||(b=!1)}),b}var g,h;return g=a.$watch(function(a){return d(a)},function(a,c,d){h=a,B(b)&&b(a,c,d),e(a)&&d.$$postDigest(function(){e(h)&&g()})},c)}function l(a,b,c,d){var e=a.$watch(function(a){return e(),d(a)},b,c);return e}function m(a,b){if(!b)return a;var c=a.$$watchDelegate,d=!1,e=c!==k&&c!==j,f=e?function(c,e,f,g){var h=d&&g?g[0]:a(c,e,f,g);return b(h,c,e)}:function(c,d,e,f){var g=a(c,d,e,f),h=b(g,c,d);return u(g)?h:g};return d=!a.inputs,c&&c!==i?(f.$$watchDelegate=c,f.inputs=a.inputs):b.$stateful||(f.$$watchDelegate=i,f.inputs=a.inputs?a.inputs:[a]),f.inputs&&(f.inputs=f.inputs.map(function(a){return a.isPure===Sf?function(b){return a(b)}:a})),f}var n=we().noUnsafeEval,o={csp:n,literals:R(d),isIdentifierStart:B(a)&&a,isIdentifierContinue:B(b)&&b};return g}]}function Ac(){var a=!0;this.$get=["$rootScope","$exceptionHandler",function(b,c){return Cc(function(a){b.$evalAsync(a)},c,a)}],this.errorOnUnhandledRejections=function(b){return u(b)?(a=b,this):a}}function Bc(){var a=!0;this.$get=["$browser","$exceptionHandler",function(b,c){return Cc(function(a){b.defer(a)},c,a)}],this.errorOnUnhandledRejections=function(b){return u(b)?(a=b,this):a}}function Cc(a,b,c){function e(){return new g}function g(){var a=this.promise=new h;this.resolve=function(b){m(a,b)},this.reject=function(b){o(a,b)},this.notify=function(b){q(a,b)}}function h(){this.$$state={status:0}}function i(b){var d,e,f;
+f=b.pending,b.processScheduled=!1,b.pending=void 0;try{for(var g=0,h=f.length;g<h;++g){Ec(b),e=f[g][0],d=f[g][b.status];try{B(d)?m(e,d(b.value)):1===b.status?m(e,b.value):o(e,b.value)}catch(i){o(e,i)}}}finally{--C,c&&0===C&&a(j)}}function j(){for(;!C&&D.length;){var a=D.shift();if(!Dc(a)){Ec(a);var c="Possibly unhandled rejection: "+za(a.value);A(a.value)?b(a.value,c):b(c)}}}function k(b){!c||b.pending||2!==b.status||Dc(b)||(0===C&&0===D.length&&a(j),D.push(b)),!b.processScheduled&&b.pending&&(b.processScheduled=!0,++C,a(function(){i(b)}))}function m(a,b){a.$$state.status||(b===a?p(a,z("qcycle","Expected promise to be resolved with value other than itself '{0}'",b)):n(a,b))}function n(a,b){function c(b){g||(g=!0,n(a,b))}function d(b){g||(g=!0,p(a,b))}function e(b){q(a,b)}var f,g=!1;try{(v(b)||B(b))&&(f=b.then),B(f)?(a.$$state.status=-1,f.call(b,c,d,e)):(a.$$state.value=b,a.$$state.status=1,k(a.$$state))}catch(h){d(h)}}function o(a,b){a.$$state.status||p(a,b)}function p(a,b){a.$$state.value=b,a.$$state.status=2,k(a.$$state)}function q(c,d){var e=c.$$state.pending;c.$$state.status<=0&&e&&e.length&&a(function(){for(var a,c,f=0,g=e.length;f<g;f++){c=e[f][0],a=e[f][3];try{q(c,B(a)?a(d):d)}catch(h){b(h)}}})}function r(a){var b=new h;return o(b,a),b}function s(a,b,c){var d=null;try{B(c)&&(d=c())}catch(e){return r(e)}return J(d)?d.then(function(){return b(a)},r):b(a)}function u(a,b,c,d){var e=new h;return m(e,a),e.then(b,c,d)}function w(a){var b=new h,c=0,d=se(a)?[]:{};return f(a,function(a,e){c++,u(a).then(function(a){d[e]=a,--c||m(b,d)},function(a){o(b,a)})}),0===c&&m(b,d),b}function x(a){var b=e();return f(a,function(a){u(a).then(b.resolve,b.reject)}),b.promise}function y(a){function b(a){m(d,a)}function c(a){o(d,a)}if(!B(a))throw z("norslvr","Expected resolverFn, got '{0}'",a);var d=new h;return a(b,c),d}var z=d("$q",TypeError),C=0,D=[];l(h.prototype,{then:function(a,b,c){if(t(a)&&t(b)&&t(c))return this;var d=new h;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([d,a,b,c]),this.$$state.status>0&&k(this.$$state),d},"catch":function(a){return this.then(null,a)},"finally":function(a,b){return this.then(function(b){return s(b,E,a)},function(b){return s(b,r,a)},b)}});var E=u;return y.prototype=h.prototype,y.defer=e,y.reject=r,y.when=u,y.resolve=E,y.all=w,y.race=x,y}function Dc(a){return!!a.pur}function Ec(a){a.pur=!0}function Fc(a){Ec(a.$$state)}function Gc(){this.$get=["$window","$timeout",function(a,b){var c=a.requestAnimationFrame||a.webkitRequestAnimationFrame,d=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame,e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:function(a){var c=b(a,16.66,!1);return function(){b.cancel(c)}};return f.supported=e,f}]}function Hc(){function a(a){function b(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=i(),this.$$ChildScope=null}return b.prototype=a,b}var b=10,c=d("$rootScope"),g=null,h=null;this.digestTtl=function(a){return arguments.length&&(b=a),b},this.$get=["$exceptionHandler","$parse","$browser",function(d,j,k){function l(a){a.currentScope.$$destroyed=!0}function m(a){9===fe&&(a.$$childHead&&m(a.$$childHead),a.$$nextSibling&&m(a.$$nextSibling)),a.$parent=a.$$nextSibling=a.$$prevSibling=a.$$childHead=a.$$childTail=a.$root=a.$$watchers=null}function n(){this.$id=i(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function o(a){if(y.$$phase)throw c("inprog","{0} already in progress",y.$$phase);y.$$phase=a}function q(){y.$$phase=null}function r(a,b){do a.$$watchersCount+=b;while(a=a.$parent)}function s(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function u(){}function w(){for(;C.length;)try{C.shift()()}catch(a){d(a)}h=null}function x(){null===h&&(h=k.defer(function(){y.$apply(w)}))}n.prototype={constructor:n,$new:function(b,c){var d;return c=c||this,b?(d=new n,d.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=a(this)),d=new this.$$ChildScope),d.$parent=c,d.$$prevSibling=c.$$childTail,c.$$childHead?(c.$$childTail.$$nextSibling=d,c.$$childTail=d):c.$$childHead=c.$$childTail=d,(b||c!==this)&&d.$on("$destroy",l),d},$watch:function(a,b,c,d){var e=j(a);if(e.$$watchDelegate)return e.$$watchDelegate(this,b,c,e,a);var f=this,h=f.$$watchers,i={fn:b,last:u,get:e,exp:d||a,eq:!!c};return g=null,B(b)||(i.fn=p),h||(h=f.$$watchers=[],h.$$digestWatchIndex=-1),h.unshift(i),h.$$digestWatchIndex++,r(this,1),function(){var a=Q(h,i);a>=0&&(r(f,-1),a<h.$$digestWatchIndex&&h.$$digestWatchIndex--),g=null}},$watchGroup:function(a,b){function c(){i=!1,j?(j=!1,b(e,e,h)):b(e,d,h)}var d=new Array(a.length),e=new Array(a.length),g=[],h=this,i=!1,j=!0;if(!a.length){var k=!0;return h.$evalAsync(function(){k&&b(e,e,h)}),function(){k=!1}}return 1===a.length?this.$watch(a[0],function(a,c,f){e[0]=a,d[0]=c,b(e,a===c?e:d,f)}):(f(a,function(a,b){var f=h.$watch(a,function(a,f){e[b]=a,d[b]=f,i||(i=!0,h.$evalAsync(c))});g.push(f)}),function(){for(;g.length;)g.shift()()})},$watchCollection:function(a,b){function c(a){f=a;var b,c,d,h,i;if(!t(f)){if(v(f))if(e(f)){g!==n&&(g=n,q=g.length=0,l++),b=f.length,q!==b&&(l++,g.length=q=b);for(var j=0;j<b;j++)i=g[j],h=f[j],d=i!==i&&h!==h,d||i===h||(l++,g[j]=h)}else{g!==o&&(g=o={},q=0,l++),b=0;for(c in f)ae.call(f,c)&&(b++,h=f[c],i=g[c],c in g?(d=i!==i&&h!==h,d||i===h||(l++,g[c]=h)):(q++,g[c]=h,l++));if(q>b){l++;for(c in g)ae.call(f,c)||(q--,delete g[c])}}else g!==f&&(g=f,l++);return l}}function d(){if(p?(p=!1,b(f,f,i)):b(f,h,i),k)if(v(f))if(e(f)){h=new Array(f.length);for(var a=0;a<f.length;a++)h[a]=f[a]}else{h={};for(var c in f)ae.call(f,c)&&(h[c]=f[c])}else h=f}c.$stateful=!0;var f,g,h,i=this,k=b.length>1,l=0,m=j(a,c),n=[],o={},p=!0,q=0;return this.$watch(m,d)},$digest:function(){var a,e,f,i,j,l,m,n,p,r,s,t=b,v=this,x=[];o("$digest"),k.$$checkUrlChange(),this===y&&null!==h&&(k.defer.cancel(h),w()),g=null;do{m=!1,p=v;for(var C=0;C<z.length;C++){try{s=z[C],i=s.fn,i(s.scope,s.locals)}catch(E){d(E)}g=null}z.length=0;a:do{if(l=p.$$watchers)for(l.$$digestWatchIndex=l.length;l.$$digestWatchIndex--;)try{if(a=l[l.$$digestWatchIndex])if(j=a.get,(e=j(p))===(f=a.last)||(a.eq?T(e,f):re(e)&&re(f))){if(a===g){m=!1;break a}}else m=!0,g=a,a.last=a.eq?R(e,null):e,i=a.fn,i(e,f===u?e:f,p),t<5&&(r=4-t,x[r]||(x[r]=[]),x[r].push({msg:B(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,newVal:e,oldVal:f}))}catch(E){d(E)}if(!(n=p.$$watchersCount&&p.$$childHead||p!==v&&p.$$nextSibling))for(;p!==v&&!(n=p.$$nextSibling);)p=p.$parent}while(p=n);if((m||z.length)&&!t--)throw q(),c("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",b,x)}while(m||z.length);for(q();D<A.length;)try{A[D++]()}catch(E){d(E)}A.length=D=0,k.$$checkUrlChange()},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===y&&k.$$applicationDestroyed(),r(this,-this.$$watchersCount);for(var b in this.$$listenerCount)s(this,this.$$listenerCount[b],b);a&&a.$$childHead===this&&(a.$$childHead=this.$$nextSibling),a&&a.$$childTail===this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=p,this.$on=this.$watch=this.$watchGroup=function(){return p},this.$$listeners={},this.$$nextSibling=null,m(this)}},$eval:function(a,b){return j(a)(this,b)},$evalAsync:function(a,b){y.$$phase||z.length||k.defer(function(){z.length&&y.$digest()}),z.push({scope:this,fn:j(a),locals:b})},$$postDigest:function(a){A.push(a)},$apply:function(a){try{o("$apply");try{return this.$eval(a)}finally{q()}}catch(b){d(b)}finally{try{y.$digest()}catch(b){throw d(b),b}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&C.push(b),a=j(a),x()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]),c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);d!==-1&&(c[d]=null,s(e,1,a))}},$emit:function(a,b){var c,e,f,g=[],h=this,i=!1,j={name:a,targetScope:h,stopPropagation:function(){i=!0},preventDefault:function(){j.defaultPrevented=!0},defaultPrevented:!1},k=U([j],arguments,1);do{for(c=h.$$listeners[a]||g,j.currentScope=h,e=0,f=c.length;e<f;e++)if(c[e])try{c[e].apply(null,k)}catch(l){d(l)}else c.splice(e,1),e--,f--;if(i)return j.currentScope=null,j;h=h.$parent}while(h);return j.currentScope=null,j},$broadcast:function(a,b){var c=this,e=c,f=c,g={name:a,targetScope:c,preventDefault:function(){g.defaultPrevented=!0},defaultPrevented:!1};if(!c.$$listenerCount[a])return g;for(var h,i,j,k=U([g],arguments,1);e=f;){for(g.currentScope=e,h=e.$$listeners[a]||[],i=0,j=h.length;i<j;i++)if(h[i])try{h[i].apply(null,k)}catch(l){d(l)}else h.splice(i,1),i--,j--;if(!(f=e.$$listenerCount[a]&&e.$$childHead||e!==c&&e.$$nextSibling))for(;e!==c&&!(f=e.$$nextSibling);)e=e.$parent}return g.currentScope=null,g}};var y=new n,z=y.$$asyncQueue=[],A=y.$$postDigestQueue=[],C=y.$$applyAsyncQueue=[],D=0;return y}]}function Ic(){var a=/^\s*(https?|ftp|mailto|tel|file):/,b=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(b){return u(b)?(a=b,this):a},this.imgSrcSanitizationWhitelist=function(a){return u(a)?(b=a,this):b},this.$get=function(){return function(c,d){var e,f=d?b:a;return e=Sc(c).href,""===e||e.match(f)?c:"unsafe:"+e}}}function Jc(a){return a.replace(Vf,Da)}function Kc(a){if("self"===a)return a;if(x(a)){if(a.indexOf("***")>-1)throw Tf("iwcard","Illegal sequence *** in string matcher.  String: {0}",a);return a=ve(a).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*"),new RegExp("^"+a+"$")}if(C(a))return new RegExp("^"+a.source+"$");throw Tf("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function Lc(a){var b=[];return u(a)&&f(a,function(a){b.push(Kc(a))}),b}function Mc(){this.SCE_CONTEXTS=Uf;var a=["self"],b=[];this.resourceUrlWhitelist=function(b){return arguments.length&&(a=Lc(b)),a},this.resourceUrlBlacklist=function(a){return arguments.length&&(b=Lc(a)),b},this.$get=["$injector",function(c){function d(a,b){return"self"===a?Tc(b):!!a.exec(b.href)}function e(c){var e,f,g=Sc(c.toString()),h=!1;for(e=0,f=a.length;e<f;e++)if(d(a[e],g)){h=!0;break}if(h)for(e=0,f=b.length;e<f;e++)if(d(b[e],g)){h=!1;break}return h}function f(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};return a&&(b.prototype=new a),b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},b}function g(a,b){var c=l.hasOwnProperty(a)?l[a]:null;if(!c)throw Tf("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",a,b);if(null===b||t(b)||""===b)return b;if("string"!=typeof b)throw Tf("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",a);return new c(b)}function h(a){return a instanceof k?a.$$unwrapTrustedValue():a}function i(a,b){if(null===b||t(b)||""===b)return b;var c=l.hasOwnProperty(a)?l[a]:null;if(c&&b instanceof c)return b.$$unwrapTrustedValue();if(a===Uf.RESOURCE_URL){if(e(b))return b;throw Tf("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",b.toString())}if(a===Uf.HTML)return j(b);throw Tf("unsafe","Attempting to use an unsafe value in a safe context.")}var j=function(a){throw Tf("unsafe","Attempting to use an unsafe value in a safe context.")};c.has("$sanitize")&&(j=c.get("$sanitize"));var k=f(),l={};return l[Uf.HTML]=f(k),l[Uf.CSS]=f(k),l[Uf.URL]=f(k),l[Uf.JS]=f(k),l[Uf.RESOURCE_URL]=f(l[Uf.URL]),{trustAs:g,getTrusted:i,valueOf:h}}]}function Nc(){var a=!0;this.enabled=function(b){return arguments.length&&(a=!!b),a},this.$get=["$parse","$sceDelegate",function(b,c){if(a&&fe<8)throw Tf("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.");var d=xa(Uf);d.isEnabled=function(){return a},d.trustAs=c.trustAs,d.getTrusted=c.getTrusted,d.valueOf=c.valueOf,a||(d.trustAs=d.getTrusted=function(a,b){return b},d.valueOf=q),d.parseAs=function(a,c){var e=b(c);return e.literal&&e.constant?e:b(c,function(b){return d.getTrusted(a,b)})};var e=d.parseAs,g=d.getTrusted,h=d.trustAs;return f(Uf,function(a,b){var c=be(b);d[Jc("parse_as_"+c)]=function(b){return e(a,b)},d[Jc("get_trusted_"+c)]=function(b){return g(a,b)},d[Jc("trust_as_"+c)]=function(b){return h(a,b)}}),d}]}function Oc(){this.$get=["$window","$document",function(a,b){var c={},d=a.nw&&a.nw.process,e=!d&&a.chrome&&(a.chrome.app&&a.chrome.app.runtime||!a.chrome.app&&a.chrome.runtime&&a.chrome.runtime.id),f=!e&&a.history&&a.history.pushState,g=n((/android (\d+)/.exec(be((a.navigator||{}).userAgent))||[])[1]),h=/Boxee/i.test((a.navigator||{}).userAgent),i=b[0]||{},j=i.body&&i.body.style,k=!1,l=!1;return j&&(k=!!("transition"in j||"webkitTransition"in j),l=!!("animation"in j||"webkitAnimation"in j)),{history:!(!f||g<4||h),hasEvent:function(a){if("input"===a&&fe)return!1;if(t(c[a])){var b=i.createElement("div");c[a]="on"+a in b}return c[a]},csp:we(),transitions:k,animations:l,android:g}}]}function Pc(){var a;this.httpOptions=function(b){return b?(a=b,this):a},this.$get=["$exceptionHandler","$templateCache","$http","$q","$sce",function(b,c,d,e,f){function g(h,i){function j(a){return i||(a=Wf("tpload","Failed to load template: {0} (HTTP status: {1} {2})",h,a.status,a.statusText),b(a)),e.reject(a)}g.totalPendingRequests++,x(h)&&!t(c.get(h))||(h=f.getTrustedResourceUrl(h));var k=d.defaults&&d.defaults.transformResponse;return se(k)?k=k.filter(function(a){return a!==Kb}):k===Kb&&(k=null),d.get(h,l({cache:c,transformResponse:k},a))["finally"](function(){g.totalPendingRequests--}).then(function(a){return c.put(h,a.data),a.data},j)}return g.totalPendingRequests=0,g}]}function Qc(){this.$get=["$rootScope","$browser","$location",function(a,b,c){var d={};return d.findBindings=function(a,b,c){var d=a.getElementsByClassName("ng-binding"),e=[];return f(d,function(a){var d=pe.element(a).data("$binding");d&&f(d,function(d){if(c){var f=new RegExp("(^|\\s)"+ve(b)+"(\\s|\\||$)");f.test(d)&&e.push(a)}else d.indexOf(b)!==-1&&e.push(a)})}),e},d.findModels=function(a,b,c){for(var d=["ng-","data-ng-","ng\\:"],e=0;e<d.length;++e){var f=c?"=":"*=",g="["+d[e]+"model"+f+'"'+b+'"]',h=a.querySelectorAll(g);if(h.length)return h}},d.getLocation=function(){return c.url()},d.setLocation=function(b){b!==c.url()&&(c.url(b),a.$digest())},d.whenStable=function(a){b.notifyWhenNoOutstandingRequests(a)},d}]}function Rc(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(a,b,c,d,e){function f(f,h,i){B(f)||(i=h,h=f,f=p);var j,k=V(arguments,3),l=u(i)&&!i,m=(l?d:c).defer(),n=m.promise;return j=b.defer(function(){try{m.resolve(f.apply(null,k))}catch(b){m.reject(b),e(b)}finally{delete g[n.$$timeoutId]}l||a.$apply()},h),n.$$timeoutId=j,g[j]=m,n}var g={};return f.cancel=function(a){return!!(a&&a.$$timeoutId in g)&&(Fc(g[a.$$timeoutId].promise),g[a.$$timeoutId].reject("canceled"),delete g[a.$$timeoutId],b.defer.cancel(a.$$timeoutId))},f}]}function Sc(a){var b=a;return fe&&(Xf.setAttribute("href",b),b=Xf.href),Xf.setAttribute("href",b),{href:Xf.href,protocol:Xf.protocol?Xf.protocol.replace(/:$/,""):"",host:Xf.host,search:Xf.search?Xf.search.replace(/^\?/,""):"",hash:Xf.hash?Xf.hash.replace(/^#/,""):"",hostname:Xf.hostname,port:Xf.port,pathname:"/"===Xf.pathname.charAt(0)?Xf.pathname:"/"+Xf.pathname}}function Tc(a){var b=x(a)?Sc(a):a;return b.protocol===Yf.protocol&&b.host===Yf.host}function Uc(){this.$get=r(a)}function Vc(a){function b(a){try{return a.cookie||""}catch(b){return""}}function c(a){try{return decodeURIComponent(a)}catch(b){return a}}var d=a[0]||{},e={},f="";return function(){var a,g,h,i,j,k=b(d);if(k!==f)for(f=k,a=f.split("; "),e={},h=0;h<a.length;h++)g=a[h],i=g.indexOf("="),i>0&&(j=c(g.substring(0,i)),t(e[j])&&(e[j]=c(g.substring(i+1))));return e}}function Wc(){this.$get=Vc}function Xc(a){function b(d,e){if(v(d)){var g={};return f(d,function(a,c){g[c]=b(c,a)}),g}return a.factory(d+c,e)}var c="Filter";this.register=b,this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}],b("currency",ad),b("date",pd),b("filter",Yc),b("json",qd),b("limitTo",rd),b("lowercase",dg),b("number",bd),b("orderBy",td),b("uppercase",eg)}function Yc(){return function(a,b,c,f){if(!e(a)){if(null==a)return a;throw d("filter")("notarray","Expected array but received: {0}",a)}f=f||"$";var g,h,i=_c(b);switch(i){case"function":g=b;break;case"boolean":case"null":case"number":case"string":h=!0;case"object":g=Zc(b,c,f,h);break;default:return a}return Array.prototype.filter.call(a,g)}}function Zc(a,b,c,d){var e,f=v(a)&&c in a;return b===!0?b=T:B(b)||(b=function(a,b){return!t(a)&&(null===a||null===b?a===b:!(v(b)||v(a)&&!s(a))&&(a=be(""+a),b=be(""+b),a.indexOf(b)!==-1))}),e=function(e){return f&&!v(e)?$c(e,a[c],b,c,!1):$c(e,a,b,c,d)}}function $c(a,b,c,d,e,f){var g=_c(a),h=_c(b);if("string"===h&&"!"===b.charAt(0))return!$c(a,b.substring(1),c,d,e);if(se(a))return a.some(function(a){return $c(a,b,c,d,e)});switch(g){case"object":var i;if(e){for(i in a)if(i.charAt&&"$"!==i.charAt(0)&&$c(a[i],b,c,d,!0))return!0;return!f&&$c(a,b,c,d,!1)}if("object"===h){for(i in b){var j=b[i];if(!B(j)&&!t(j)){var k=i===d,l=k?a:a[i];if(!$c(l,j,c,d,k,k))return!1}}return!0}return c(a,b);case"function":return!1;default:return c(a,b)}}function _c(a){return null===a?"null":typeof a}function ad(a){var b=a.NUMBER_FORMATS;return function(a,c,d){return t(c)&&(c=b.CURRENCY_SYM),t(d)&&(d=b.PATTERNS[1].maxFrac),null==a?a:ed(a,b.PATTERNS[1],b.GROUP_SEP,b.DECIMAL_SEP,d).replace(/\u00A4/g,c)}}function bd(a){var b=a.NUMBER_FORMATS;return function(a,c){return null==a?a:ed(a,b.PATTERNS[0],b.GROUP_SEP,b.DECIMAL_SEP,c)}}function cd(a){var b,c,d,e,f,g=0;for((c=a.indexOf($f))>-1&&(a=a.replace($f,"")),(d=a.search(/e/i))>0?(c<0&&(c=d),c+=+a.slice(d+1),a=a.substring(0,d)):c<0&&(c=a.length),d=0;a.charAt(d)===_f;d++);if(d===(f=a.length))b=[0],c=1;else{for(f--;a.charAt(f)===_f;)f--;for(c-=d,b=[],e=0;d<=f;d++,e++)b[e]=+a.charAt(d)}return c>Zf&&(b=b.splice(0,Zf-1),g=c-1,c=1),{d:b,e:g,i:c}}function dd(a,b,c,d){var e=a.d,f=e.length-a.i;b=t(b)?Math.min(Math.max(c,f),d):+b;var g=b+a.i,h=e[g];if(g>0){e.splice(Math.max(a.i,g));for(var i=g;i<e.length;i++)e[i]=0}else{f=Math.max(0,f),a.i=1,e.length=Math.max(1,g=b+1),e[0]=0;for(var j=1;j<g;j++)e[j]=0}if(h>=5)if(g-1<0){for(var k=0;k>g;k--)e.unshift(0),a.i++;e.unshift(1),a.i++}else e[g-1]++;for(;f<Math.max(0,b);f++)e.push(0);var l=e.reduceRight(function(a,b,c,d){return b+=a,d[c]=b%10,Math.floor(b/10)},0);l&&(e.unshift(l),a.i++)}function ed(a,b,c,d,e){if(!x(a)&&!y(a)||isNaN(a))return"";var f,g=!isFinite(a),h=!1,i=Math.abs(a)+"",j="";if(g)j="∞";else{f=cd(i),dd(f,e,b.minFrac,b.maxFrac);var k=f.d,l=f.i,m=f.e,n=[];for(h=k.reduce(function(a,b){return a&&!b},!0);l<0;)k.unshift(0),l++;l>0?n=k.splice(l,k.length):(n=k,k=[0]);var o=[];for(k.length>=b.lgSize&&o.unshift(k.splice(-b.lgSize,k.length).join(""));k.length>b.gSize;)o.unshift(k.splice(-b.gSize,k.length).join(""));k.length&&o.unshift(k.join("")),j=o.join(c),n.length&&(j+=d+n.join("")),m&&(j+="e+"+m)}return a<0&&!h?b.negPre+j+b.negSuf:b.posPre+j+b.posSuf}function fd(a,b,c,d){var e="";for((a<0||d&&a<=0)&&(d?a=-a+1:(a=-a,e="-")),a=""+a;a.length<b;)a=_f+a;return c&&(a=a.substr(a.length-b)),e+a}function gd(a,b,c,d,e){return c=c||0,function(f){var g=f["get"+a]();return(c>0||g>-c)&&(g+=c),0===g&&c===-12&&(g=12),fd(g,b,d,e)}}function hd(a,b,c){return function(d,e){var f=d["get"+a](),g=(c?"STANDALONE":"")+(b?"SHORT":""),h=ce(g+a);return e[h][f]}}function id(a,b,c){var d=-1*c,e=d>=0?"+":"";return e+=fd(Math[d>0?"floor":"ceil"](d/60),2)+fd(Math.abs(d%60),2)}function jd(a){var b=new Date(a,0,1).getDay();return new Date(a,0,(b<=4?5:12)-b)}function kd(a){return new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))}function ld(a){return function(b){var c=jd(b.getFullYear()),d=kd(b),e=+d-+c,f=1+Math.round(e/6048e5);return fd(f,a)}}function md(a,b){return a.getHours()<12?b.AMPMS[0]:b.AMPMS[1]}function nd(a,b){return a.getFullYear()<=0?b.ERAS[0]:b.ERAS[1]}function od(a,b){return a.getFullYear()<=0?b.ERANAMES[0]:b.ERANAMES[1]}function pd(a){function b(a){var b;if(b=a.match(c)){var d=new Date(0),e=0,f=0,g=b[8]?d.setUTCFullYear:d.setFullYear,h=b[8]?d.setUTCHours:d.setHours;b[9]&&(e=n(b[9]+b[10]),f=n(b[9]+b[11])),g.call(d,n(b[1]),n(b[2])-1,n(b[3]));var i=n(b[4]||0)-e,j=n(b[5]||0)-f,k=n(b[6]||0),l=Math.round(1e3*parseFloat("0."+(b[7]||0)));return h.call(d,i,j,k,l),d}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d,e){var g,h,i="",j=[];if(d=d||"mediumDate",d=a.DATETIME_FORMATS[d]||d,x(c)&&(c=cg.test(c)?n(c):b(c)),y(c)&&(c=new Date(c)),!z(c)||!isFinite(c.getTime()))return c;for(;d;)h=bg.exec(d),h?(j=U(j,h,1),d=j.pop()):(j.push(d),d=null);var k=c.getTimezoneOffset();return e&&(k=$(e,k),c=aa(c,e,!0)),f(j,function(b){g=ag[b],i+=g?g(c,a.DATETIME_FORMATS,k):"''"===b?"'":b.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),i}}function qd(){return function(a,b){return t(b)&&(b=2),Y(a,b)}}function rd(){return function(a,b,c){return b=Math.abs(Number(b))===1/0?Number(b):n(b),re(b)?a:(y(a)&&(a=a.toString()),e(a)?(c=!c||isNaN(c)?0:n(c),c=c<0?Math.max(0,a.length+c):c,b>=0?sd(a,c,c+b):0===c?sd(a,b,a.length):sd(a,Math.max(0,c+b),c)):a)}}function sd(a,b,c){return x(a)?a.slice(b,c):je.call(a,b,c)}function td(a){function b(b){return b.map(function(b){var c=1,d=q;if(B(b))d=b;else if(x(b)&&("+"!==b.charAt(0)&&"-"!==b.charAt(0)||(c="-"===b.charAt(0)?-1:1,b=b.substring(1)),""!==b&&(d=a(b),d.constant))){var e=d();d=function(a){return a[e]}}return{get:d,descending:c}})}function c(a){switch(typeof a){case"number":case"boolean":case"string":return!0;default:return!1}}function f(a){return B(a.valueOf)&&(a=a.valueOf(),c(a))?a:s(a)&&(a=a.toString(),c(a))?a:a}function g(a,b){var c=typeof a;return null===a?(c="string",a="null"):"object"===c&&(a=f(a)),{value:a,type:c,index:b}}function h(a,b){var c=0,d=a.type,e=b.type;if(d===e){var f=a.value,g=b.value;"string"===d?(f=f.toLowerCase(),g=g.toLowerCase()):"object"===d&&(v(f)&&(f=a.index),v(g)&&(g=b.index)),f!==g&&(c=f<g?-1:1)}else c=d<e?-1:1;return c}return function(a,c,f,i){function j(a,b){return{value:a,tieBreaker:{value:b,type:"number",index:b},predicateValues:l.map(function(c){return g(c.get(a),b)})}}function k(a,b){for(var c=0,d=l.length;c<d;c++){var e=n(a.predicateValues[c],b.predicateValues[c]);if(e)return e*l[c].descending*m}return(n(a.tieBreaker,b.tieBreaker)||h(a.tieBreaker,b.tieBreaker))*m}if(null==a)return a;if(!e(a))throw d("orderBy")("notarray","Expected array but received: {0}",a);se(c)||(c=[c]),0===c.length&&(c=["+"]);var l=b(c),m=f?-1:1,n=B(i)?i:h,o=Array.prototype.map.call(a,j);return o.sort(k),a=o.map(function(a){return a.value})}}function ud(a){return B(a)&&(a={link:a}),a.restrict=a.restrict||"AC",r(a)}function vd(a,b){a.$name=b}function wd(a,b,c,d,e){this.$$controls=[],this.$error={},this.$$success={},this.$pending=void 0,this.$name=e(b.name||b.ngForm||"")(c),this.$dirty=!1,this.$pristine=!0,this.$valid=!0,this.$invalid=!1,this.$submitted=!1,this.$$parentForm=hg,this.$$element=a,this.$$animate=d,xd(this)}function xd(a){a.$$classCache={},a.$$classCache[Tg]=!(a.$$classCache[Sg]=a.$$element.hasClass(Sg))}function yd(a){function b(a,b,c,d){a[b]||(a[b]={}),g(a[b],c,d)}function c(a,b,c,d){a[b]&&h(a[b],c,d),zd(a[b])&&(a[b]=void 0)}function d(a,b,c){c&&!a.$$classCache[b]?(a.$$animate.addClass(a.$$element,b),a.$$classCache[b]=!0):!c&&a.$$classCache[b]&&(a.$$animate.removeClass(a.$$element,b),a.$$classCache[b]=!1)}function e(a,b,c){b=b?"-"+na(b,"-"):"",d(a,Sg+b,c===!0),d(a,Tg+b,c===!1)}var f=a.clazz,g=a.set,h=a.unset;f.prototype.$setValidity=function(a,f,i){t(f)?b(this,"$pending",a,i):c(this,"$pending",a,i),I(f)?f?(h(this.$error,a,i),g(this.$$success,a,i)):(g(this.$error,a,i),h(this.$$success,a,i)):(h(this.$error,a,i),h(this.$$success,a,i)),this.$pending?(d(this,ig,!0),this.$valid=this.$invalid=void 0,e(this,"",null)):(d(this,ig,!1),this.$valid=zd(this.$error),this.$invalid=!this.$valid,e(this,"",this.$valid));var j;j=this.$pending&&this.$pending[a]?void 0:!this.$error[a]&&(!!this.$$success[a]||null),e(this,a,j),this.$$parentForm.$setValidity(a,j,this)}}function zd(a){if(a)for(var b in a)if(a.hasOwnProperty(b))return!1;return!0}function Ad(a){a.$formatters.push(function(b){return a.$isEmpty(b)?b:b.toString()})}function Bd(a,b,c,d,e,f){Cd(a,b,c,d,e,f),Ad(d)}function Cd(a,b,c,d,e,f){var g=be(b[0].type);if(!e.android){var h=!1;b.on("compositionstart",function(){h=!0}),b.on("compositionend",function(){h=!1,j()})}var i,j=function(a){if(i&&(f.defer.cancel(i),i=null),!h){var e=b.val(),j=a&&a.type;"password"===g||c.ngTrim&&"false"===c.ngTrim||(e=ue(e)),(d.$viewValue!==e||""===e&&d.$$hasNativeValidators)&&d.$setViewValue(e,j)}};if(e.hasEvent("input"))b.on("input",j);else{var k=function(a,b,c){i||(i=f.defer(function(){i=null,b&&b.value===c||j(a)}))};b.on("keydown",function(a){var b=a.keyCode;91===b||15<b&&b<19||37<=b&&b<=40||k(a,this,this.value)}),e.hasEvent("paste")&&b.on("paste cut",k)}b.on("change",j),xg[g]&&d.$$hasNativeValidators&&g===c.type&&b.on(wg,function(a){if(!i){var b=this[_d],c=b.badInput,d=b.typeMismatch;i=f.defer(function(){i=null,b.badInput===c&&b.typeMismatch===d||j(a)})}}),d.$render=function(){var a=d.$isEmpty(d.$viewValue)?"":d.$viewValue;b.val()!==a&&b.val(a)}}function Dd(a,b){if(z(a))return a;if(x(a)){tg.lastIndex=0;var c=tg.exec(a);if(c){var d=+c[1],e=+c[2],f=0,g=0,h=0,i=0,j=jd(d),k=7*(e-1);return b&&(f=b.getHours(),g=b.getMinutes(),h=b.getSeconds(),i=b.getMilliseconds()),new Date(d,0,j.getDate()+k,f,g,h,i)}}return NaN}function Ed(a,b){return function(c,d){var e,g;if(z(c))return c;if(x(c)){if('"'===c.charAt(0)&&'"'===c.charAt(c.length-1)&&(c=c.substring(1,c.length-1)),ng.test(c))return new Date(c);if(a.lastIndex=0,e=a.exec(c))return e.shift(),g=d?{yyyy:d.getFullYear(),MM:d.getMonth()+1,dd:d.getDate(),HH:d.getHours(),mm:d.getMinutes(),ss:d.getSeconds(),sss:d.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},f(e,function(a,c){c<b.length&&(g[b[c]]=+a)}),new Date(g.yyyy,g.MM-1,g.dd,g.HH,g.mm,g.ss||0,1e3*g.sss||0)}return NaN}}function Fd(a,b,c,d){return function(e,f,g,h,i,j,k){function l(a){return a&&!(a.getTime&&a.getTime()!==a.getTime())}function m(a){return u(a)&&!z(a)?c(a)||void 0:a}Gd(e,f,g,h),Cd(e,f,g,h,i,j);var n,o=h&&h.$options.getOption("timezone");if(h.$$parserName=a,h.$parsers.push(function(a){if(h.$isEmpty(a))return null;if(b.test(a)){var d=c(a,n);return o&&(d=aa(d,o)),d}}),h.$formatters.push(function(a){if(a&&!z(a))throw $g("datefmt","Expected `{0}` to be a date",a);return l(a)?(n=a,n&&o&&(n=aa(n,o,!0)),k("date")(a,d,o)):(n=null,"")}),u(g.min)||g.ngMin){var p;h.$validators.min=function(a){return!l(a)||t(p)||c(a)>=p},g.$observe("min",function(a){p=m(a),h.$validate()})}if(u(g.max)||g.ngMax){var q;h.$validators.max=function(a){return!l(a)||t(q)||c(a)<=q},g.$observe("max",function(a){q=m(a),h.$validate()})}}}function Gd(a,b,c,d){var e=b[0],f=d.$$hasNativeValidators=v(e.validity);f&&d.$parsers.push(function(a){var c=b.prop(_d)||{};return c.badInput||c.typeMismatch?void 0:a})}function Hd(a){a.$$parserName="number",a.$parsers.push(function(b){return a.$isEmpty(b)?null:qg.test(b)?parseFloat(b):void 0}),a.$formatters.push(function(b){if(!a.$isEmpty(b)){if(!y(b))throw $g("numfmt","Expected `{0}` to be a number",b);b=b.toString()}return b})}function Id(a){return u(a)&&!y(a)&&(a=parseFloat(a)),re(a)?void 0:a}function Jd(a){return(0|a)===a}function Kd(a){var b=a.toString(),c=b.indexOf(".");if(c===-1){if(-1<a&&a<1){var d=/e-(\d+)$/.exec(b);if(d)return Number(d[1])}return 0}return b.length-c-1}function Ld(a,b,c){var d=Number(a),e=!Jd(d),f=!Jd(b),g=!Jd(c);if(e||f||g){var h=e?Kd(d):0,i=f?Kd(b):0,j=g?Kd(c):0,k=Math.max(h,i,j),l=Math.pow(10,k);d*=l,b*=l,c*=l,e&&(d=Math.round(d)),f&&(b=Math.round(b)),g&&(c=Math.round(c))}return(d-b)%c===0}function Md(a,b,c,d,e,f){Gd(a,b,c,d),Hd(d),Cd(a,b,c,d,e,f);var g,h;if((u(c.min)||c.ngMin)&&(d.$validators.min=function(a){return d.$isEmpty(a)||t(g)||a>=g},c.$observe("min",function(a){g=Id(a),d.$validate()})),(u(c.max)||c.ngMax)&&(d.$validators.max=function(a){return d.$isEmpty(a)||t(h)||a<=h},c.$observe("max",function(a){h=Id(a),d.$validate()})),u(c.step)||c.ngStep){var i;d.$validators.step=function(a,b){return d.$isEmpty(b)||t(i)||Ld(b,g||0,i)},c.$observe("step",function(a){i=Id(a),d.$validate()})}}function Nd(a,b,c,d,e,f){function g(a,d){b.attr(a,c[a]),c.$observe(a,d)}function h(a){if(l=Id(a),!re(d.$modelValue))if(k){var c=b.val();l>c&&(c=l,b.val(c)),d.$setViewValue(c)}else d.$validate()}function i(a){if(m=Id(a),!re(d.$modelValue))if(k){var c=b.val();m<c&&(b.val(m),c=m<l?l:m),d.$setViewValue(c)}else d.$validate()}function j(a){n=Id(a),re(d.$modelValue)||(k&&d.$viewValue!==b.val()?d.$setViewValue(b.val()):d.$validate())}Gd(a,b,c,d),Hd(d),Cd(a,b,c,d,e,f);var k=d.$$hasNativeValidators&&"range"===b[0].type,l=k?0:void 0,m=k?100:void 0,n=k?1:void 0,o=b[0].validity,p=u(c.min),q=u(c.max),r=u(c.step),s=d.$render;d.$render=k&&u(o.rangeUnderflow)&&u(o.rangeOverflow)?function(){s(),d.$setViewValue(b.val())}:s,p&&(d.$validators.min=k?function(){return!0}:function(a,b){return d.$isEmpty(b)||t(l)||b>=l},g("min",h)),q&&(d.$validators.max=k?function(){return!0}:function(a,b){return d.$isEmpty(b)||t(m)||b<=m},g("max",i)),r&&(d.$validators.step=k?function(){return!o.stepMismatch}:function(a,b){return d.$isEmpty(b)||t(n)||Ld(b,l||0,n)},g("step",j))}function Od(a,b,c,d,e,f){Cd(a,b,c,d,e,f),Ad(d),d.$$parserName="url",d.$validators.url=function(a,b){var c=a||b;return d.$isEmpty(c)||og.test(c)}}function Pd(a,b,c,d,e,f){Cd(a,b,c,d,e,f),Ad(d),d.$$parserName="email",d.$validators.email=function(a,b){var c=a||b;return d.$isEmpty(c)||pg.test(c)}}function Qd(a,b,c,d){var e=!c.ngTrim||"false"!==ue(c.ngTrim);t(c.name)&&b.attr("name",i());var f=function(a){var f;b[0].checked&&(f=c.value,e&&(f=ue(f)),d.$setViewValue(f,a&&a.type))};b.on("click",f),d.$render=function(){var a=c.value;e&&(a=ue(a)),b[0].checked=a===d.$viewValue},c.$observe("value",d.$render)}function Rd(a,b,c,d,e){var f;if(u(d)){if(f=a(d),!f.constant)throw $g("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",c,d);return f(b)}return e}function Sd(a,b,c,d,e,f,g,h){var i=Rd(h,a,"ngTrueValue",c.ngTrueValue,!0),j=Rd(h,a,"ngFalseValue",c.ngFalseValue,!1),k=function(a){d.$setViewValue(b[0].checked,a&&a.type)};b.on("click",k),d.$render=function(){b[0].checked=d.$viewValue},d.$isEmpty=function(a){return a===!1},d.$formatters.push(function(a){return T(a,i)}),d.$parsers.push(function(a){return a?i:j})}function Td(a,b){function c(a,b){if(!a||!a.length)return[];if(!b||!b.length)return a;var c=[];a:for(var d=0;d<a.length;d++){for(var e=a[d],f=0;f<b.length;f++)if(e===b[f])continue a;c.push(e)}return c}function d(a){return a&&a.split(" ")}function e(a){var b=a;return se(a)?b=a.map(e).join(" "):v(a)&&(b=Object.keys(a).filter(function(b){return a[b]}).join(" ")),b}function g(a){var b=a;if(se(a))b=a.map(g);else if(v(a)){var c=!1;b=Object.keys(a).filter(function(b){var d=a[b];return!c&&t(d)&&(c=!0),d}),c&&b.push(void 0)}return b}a="ngClass"+a;var h;return["$parse",function(i){return{restrict:"AC",link:function(j,k,l){function m(a){a=p(d(a),1),l.$addClass(a)}function n(a){a=p(d(a),-1),l.$removeClass(a)}function o(a,b){var e=d(a),f=d(b),g=c(e,f),h=c(f,e),i=p(g,-1),j=p(h,1);
+l.$addClass(j),l.$removeClass(i)}function p(a,b){var c=[];return f(a,function(a){(b>0||z[a])&&(z[a]=(z[a]||0)+b,z[a]===+(b>0)&&c.push(a))}),c.join(" ")}function q(a){a===b?m(t):n(t),A=a}function r(a){var b=e(a);b!==t&&s(b)}function s(a){A===b&&o(t,a),t=a}var t,u=l[a].trim(),v=":"===u.charAt(0)&&":"===u.charAt(1),w=v?g:e,x=i(u,w),y=v?r:s,z=k.data("$classCounts"),A=!0;z||(z=ua(),k.data("$classCounts",z)),"ngClass"!==a&&(h||(h=i("$index",function(a){return 1&a})),j.$watch(h,q)),j.$watch(x,y,v)}}}]}function Ud(a,b,c,d,e,f,g,h,i){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=i(c.name||"",!1)(a),this.$$parentForm=hg,this.$options=_g,this.$$parsedNgModel=e(c.ngModel),this.$$parsedNgModelAssign=this.$$parsedNgModel.assign,this.$$ngModelGet=this.$$parsedNgModel,this.$$ngModelSet=this.$$parsedNgModelAssign,this.$$pendingDebounce=null,this.$$parserValid=void 0,this.$$currentValidationRunId=0,Object.defineProperty(this,"$$scope",{value:a}),this.$$attr=c,this.$$element=d,this.$$animate=f,this.$$timeout=g,this.$$parse=e,this.$$q=h,this.$$exceptionHandler=b,xd(this),Vd(this)}function Vd(a){a.$$scope.$watch(function(b){var c=a.$$ngModelGet(b);if(c!==a.$modelValue&&(a.$modelValue===a.$modelValue||c===c)){a.$modelValue=a.$$rawModelValue=c,a.$$parserValid=void 0;for(var d=a.$formatters,e=d.length,f=c;e--;)f=d[e](f);a.$viewValue!==f&&(a.$$updateEmptyClasses(f),a.$viewValue=a.$$lastCommittedViewValue=f,a.$render(),a.$$runValidators(a.$modelValue,a.$viewValue,p))}return c})}function Wd(a){this.$$options=a}function Xd(a,b){f(b,function(b,c){u(a[c])||(a[c]=b)})}function Yd(a,b){a.prop("selected",b),a.attr("selected",b)}var Zd={objectMaxDepth:5},$d=/^\/(.+)\/([a-z]*)$/,_d="validity",ae=Object.prototype.hasOwnProperty,be=function(a){return x(a)?a.toLowerCase():a},ce=function(a){return x(a)?a.toUpperCase():a},de=function(a){return x(a)?a.replace(/[A-Z]/g,function(a){return String.fromCharCode(32|a.charCodeAt(0))}):a},ee=function(a){return x(a)?a.replace(/[a-z]/g,function(a){return String.fromCharCode(a.charCodeAt(0)&-33)}):a};"i"!=="I".toLowerCase()&&(be=de,ce=ee);var fe,ge,he,ie,je=[].slice,ke=[].splice,le=[].push,me=Object.prototype.toString,ne=Object.getPrototypeOf,oe=d("ng"),pe=a.angular||(a.angular={}),qe=0;fe=a.document.documentMode;var re=Number.isNaN||function(a){return a!==a};p.$inject=[],q.$inject=[];var se=Array.isArray,te=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/,ue=function(a){return x(a)?a.trim():a},ve=function(a){return a.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},we=function(){function b(){try{return new Function(""),!1}catch(a){return!0}}if(!u(we.rules)){var c=a.document.querySelector("[ng-csp]")||a.document.querySelector("[data-ng-csp]");if(c){var d=c.getAttribute("ng-csp")||c.getAttribute("data-ng-csp");we.rules={noUnsafeEval:!d||d.indexOf("no-unsafe-eval")!==-1,noInlineStyle:!d||d.indexOf("no-inline-style")!==-1}}else we.rules={noUnsafeEval:b(),noInlineStyle:!1}}return we.rules},xe=function(){if(u(xe.name_))return xe.name_;var b,c,d,e,f=ze.length;for(c=0;c<f;++c)if(d=ze[c],b=a.document.querySelector("["+d.replace(":","\\:")+"jq]")){e=b.getAttribute(d+"jq");break}return xe.name_=e},ye=/:/g,ze=["ng-","data-ng-","ng:","x-ng-"],Ae=ia(a.document),Be=/[A-Z]/g,Ce=!1,De=1,Ee=2,Fe=3,Ge=8,He=9,Ie=11,Je={full:"1.6.5",major:1,minor:6,dot:5,codeName:"toffee-salinization"};La.expando="ng339";var Ke=La.cache={},Le=1;La._data=function(a){return this.cache[a[this.expando]]||{}};var Me=/-([a-z])/g,Ne=/^-ms-/,Oe={mouseleave:"mouseout",mouseenter:"mouseover"},Pe=d("jqLite"),Qe=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Re=/<|&#?\w+;/,Se=/<([\w:-]+)/,Te=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Ue={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,"",""]};Ue.optgroup=Ue.option,Ue.tbody=Ue.tfoot=Ue.colgroup=Ue.caption=Ue.thead,Ue.th=Ue.td;var Ve=a.Node.prototype.contains||function(a){return!!(16&this.compareDocumentPosition(a))},We=La.prototype={ready:_a,toString:function(){var a=[];return f(this,function(b){a.push(""+b)}),"["+a.join(", ")+"]"},eq:function(a){return ge(a>=0?this[a]:this[this.length+a])},length:0,push:le,sort:[].sort,splice:[].splice},Xe={};f("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(a){Xe[be(a)]=a});var Ye={};f("input,select,option,textarea,button,form,details".split(","),function(a){Ye[a]=!0});var Ze={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"};f({data:Ra,removeData:Pa,hasData:Ha,cleanData:function(a){for(var b=0,c=a.length;b<c;b++)Pa(a[b])}},function(a,b){La[b]=a}),f({data:Ra,inheritedData:Xa,scope:function(a){return ge.data(a,"$scope")||Xa(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return ge.data(a,"$isolateScope")||ge.data(a,"$isolateScopeNoTemplate")},controller:Wa,injector:function(a){return Xa(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:Sa,css:function(a,b,c){return b=Ca(b),u(c)?void(a.style[b]=c):a.style[b]},attr:function(a,b,c){var d,e=a.nodeType;if(e!==Fe&&e!==Ee&&e!==Ge&&a.getAttribute){var f=be(b),g=Xe[f];return u(c)?void(null===c||c===!1&&g?a.removeAttribute(b):a.setAttribute(b,g?f:c)):(d=a.getAttribute(b),g&&null!==d&&(d=f),null===d?void 0:d)}},prop:function(a,b,c){return u(c)?void(a[b]=c):a[b]},text:function(){function a(a,b){if(t(b)){var c=a.nodeType;return c===De||c===Fe?a.textContent:""}a.textContent=b}return a.$dv="",a}(),val:function(a,b){if(t(b)){if(a.multiple&&"select"===O(a)){var c=[];return f(a.options,function(a){a.selected&&c.push(a.value||a.text)}),c}return a.value}a.value=b},html:function(a,b){return t(b)?a.innerHTML:(Na(a,!0),void(a.innerHTML=b))},empty:Ya},function(a,b){La.prototype[b]=function(b,c){var d,e,f=this.length;if(a!==Ya&&t(2===a.length&&a!==Sa&&a!==Wa?b:c)){if(v(b)){for(d=0;d<f;d++)if(a===Ra)a(this[d],b);else for(e in b)a(this[d],e,b[e]);return this}for(var g=a.$dv,h=t(g)?Math.min(f,1):f,i=0;i<h;i++){var j=a(this[i],b,c);g=g?g+j:j}return g}for(d=0;d<f;d++)a(this[d],b,c);return this}}),f({removeData:Pa,on:function(a,b,c,d){if(u(d))throw Pe("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(Ga(a)){var e=Qa(a,!0),f=e.events,g=e.handle;g||(g=e.handle=cb(a,f));for(var h=b.indexOf(" ")>=0?b.split(" "):[b],i=h.length,j=function(b,d,e){var h=f[b];h||(h=f[b]=[],h.specialHandlerWrapper=d,"$destroy"===b||e||a.addEventListener(b,g)),h.push(c)};i--;)b=h[i],Oe[b]?(j(Oe[b],eb),j(b,void 0,!0)):j(b)}},off:Oa,one:function(a,b,c){a=ge(a),a.on(b,function d(){a.off(b,c),a.off(b,d)}),a.on(b,c)},replaceWith:function(a,b){var c,d=a.parentNode;Na(a),f(new La(b),function(b){c?d.insertBefore(b,c.nextSibling):d.replaceChild(b,a),c=b})},children:function(a){var b=[];return f(a.childNodes,function(a){a.nodeType===De&&b.push(a)}),b},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,b){var c=a.nodeType;if(c===De||c===Ie){b=new La(b);for(var d=0,e=b.length;d<e;d++){var f=b[d];a.appendChild(f)}}},prepend:function(a,b){if(a.nodeType===De){var c=a.firstChild;f(new La(b),function(b){a.insertBefore(b,c)})}},wrap:function(a,b){Ka(a,ge(b).eq(0).clone()[0])},remove:Za,detach:function(a){Za(a,!0)},after:function(a,b){var c=a,d=a.parentNode;if(d){b=new La(b);for(var e=0,f=b.length;e<f;e++){var g=b[e];d.insertBefore(g,c.nextSibling),c=g}}},addClass:Ua,removeClass:Ta,toggleClass:function(a,b,c){b&&f(b.split(" "),function(b){var d=c;t(d)&&(d=!Sa(a,b)),(d?Ua:Ta)(a,b)})},parent:function(a){var b=a.parentNode;return b&&b.nodeType!==Ie?b:null},next:function(a){return a.nextElementSibling},find:function(a,b){return a.getElementsByTagName?a.getElementsByTagName(b):[]},clone:Ma,triggerHandler:function(a,b,c){var d,e,g,h=b.type||b,i=Qa(a),j=i&&i.events,k=j&&j[h];k&&(d={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:p,type:h,target:a},b.type&&(d=l(d,b)),e=xa(k),g=c?[d].concat(c):[d],f(e,function(b){d.isImmediatePropagationStopped()||b.apply(a,g)}))}},function(a,b){La.prototype[b]=function(b,c,d){for(var e,f=0,g=this.length;f<g;f++)t(e)?(e=a(this[f],b,c,d),u(e)&&(e=ge(e))):Va(e,a(this[f],b,c,d));return u(e)?e:this}}),La.prototype.bind=La.prototype.on,La.prototype.unbind=La.prototype.off;var $e=Object.create(null);hb.prototype={_idx:function(a){return a===this._lastKey?this._lastIndex:(this._lastKey=a,this._lastIndex=this._keys.indexOf(a),this._lastIndex)},_transformKey:function(a){return re(a)?$e:a},get:function(a){a=this._transformKey(a);var b=this._idx(a);if(b!==-1)return this._values[b]},set:function(a,b){a=this._transformKey(a);var c=this._idx(a);c===-1&&(c=this._lastIndex=this._keys.length),this._keys[c]=a,this._values[c]=b},"delete":function(a){a=this._transformKey(a);var b=this._idx(a);return b!==-1&&(this._keys.splice(b,1),this._values.splice(b,1),this._lastKey=NaN,this._lastIndex=-1,!0)}};var _e=hb,af=[function(){this.$get=[function(){return _e}]}],bf=/^([^(]+?)=>/,cf=/^[^(]*\(\s*([^)]*)\)/m,df=/,/,ef=/^\s*(_?)(\S+?)\1\s*$/,ff=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,gf=d("$injector");mb.$$annotate=lb;var hf=d("$animate"),jf=1,kf="ng-animate",lf=function(){this.$get=p},mf=function(){var a=new _e,b=[];this.$get=["$$AnimateRunner","$rootScope",function(c,d){function e(a,b,c){var d=!1;return b&&(b=x(b)?b.split(" "):se(b)?b:[],f(b,function(b){b&&(d=!0,a[b]=c)})),d}function g(){f(b,function(b){var c=a.get(b);if(c){var d=qb(b.attr("class")),e="",g="";f(c,function(a,b){var c=!!d[b];a!==c&&(a?e+=(e.length?" ":"")+b:g+=(g.length?" ":"")+b)}),f(b,function(a){e&&Ua(a,e),g&&Ta(a,g)}),a["delete"](b)}}),b.length=0}function h(c,f,h){var i=a.get(c)||{},j=e(i,f,!0),k=e(i,h,!1);(j||k)&&(a.set(c,i),b.push(c),1===b.length&&d.$$postDigest(g))}return{enabled:p,on:p,off:p,pin:p,push:function(a,b,d,e){e&&e(),d=d||{},d.from&&a.css(d.from),d.to&&a.css(d.to),(d.addClass||d.removeClass)&&h(a,d.addClass,d.removeClass);var f=new c;return f.complete(),f}}}]},nf=["$provide",function(a){var b=this,c=null,d=null;this.$$registeredAnimations=Object.create(null),this.register=function(c,d){if(c&&"."!==c.charAt(0))throw hf("notcsel","Expecting class selector starting with '.' got '{0}'.",c);var e=c+"-animation";b.$$registeredAnimations[c.substr(1)]=e,a.factory(e,d)},this.customFilter=function(a){return 1===arguments.length&&(d=B(a)?a:null),d},this.classNameFilter=function(a){if(1===arguments.length&&(c=a instanceof RegExp?a:null)){var b=new RegExp("[(\\s|\\/)]"+kf+"[(\\s|\\/)]");if(b.test(c.toString()))throw c=null,hf("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',kf)}return c},this.$get=["$$animateQueue",function(a){function b(a,b,c){if(c){var d=pb(c);!d||d.parentNode||d.previousElementSibling||(c=null)}c?c.after(a):b.prepend(a)}return{on:a.on,off:a.off,pin:a.pin,enabled:a.enabled,cancel:function(a){a.end&&a.end()},enter:function(c,d,e,f){return d=d&&ge(d),e=e&&ge(e),d=d||e.parent(),b(c,d,e),a.push(c,"enter",rb(f))},move:function(c,d,e,f){return d=d&&ge(d),e=e&&ge(e),d=d||e.parent(),b(c,d,e),a.push(c,"move",rb(f))},leave:function(b,c){return a.push(b,"leave",rb(c),function(){b.remove()})},addClass:function(b,c,d){return d=rb(d),d.addClass=ob(d.addclass,c),a.push(b,"addClass",d)},removeClass:function(b,c,d){return d=rb(d),d.removeClass=ob(d.removeClass,c),a.push(b,"removeClass",d)},setClass:function(b,c,d,e){return e=rb(e),e.addClass=ob(e.addClass,c),e.removeClass=ob(e.removeClass,d),a.push(b,"setClass",e)},animate:function(b,c,d,e,f){return f=rb(f),f.from=f.from?l(f.from,c):c,f.to=f.to?l(f.to,d):d,e=e||"ng-inline-animate",f.tempClasses=ob(f.tempClasses,e),a.push(b,"animate",f)}}}]}],of=function(){this.$get=["$$rAF",function(a){function b(b){c.push(b),c.length>1||a(function(){for(var a=0;a<c.length;a++)c[a]();c=[]})}var c=[];return function(){var a=!1;return b(function(){a=!0}),function(c){a?c():b(c)}}}]},pf=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$$isDocumentHidden","$timeout",function(a,b,c,d,e){function g(a){this.setHost(a);var b=c(),f=function(a){e(a,0,!1)};this._doneCallbacks=[],this._tick=function(a){d()?f(a):b(a)},this._state=0}var h=0,i=1,j=2;return g.chain=function(a,b){function c(){return d===a.length?void b(!0):void a[d](function(a){return a===!1?void b(!1):(d++,void c())})}var d=0;c()},g.all=function(a,b){function c(c){e=e&&c,++d===a.length&&b(e)}var d=0,e=!0;f(a,function(a){a.done(c)})},g.prototype={setHost:function(a){this.host=a||{}},done:function(a){this._state===j?a():this._doneCallbacks.push(a)},progress:p,getPromise:function(){if(!this.promise){var b=this;this.promise=a(function(a,c){b.done(function(b){b===!1?c():a()})})}return this.promise},then:function(a,b){return this.getPromise().then(a,b)},"catch":function(a){return this.getPromise()["catch"](a)},"finally":function(a){return this.getPromise()["finally"](a)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(a){var b=this;b._state===h&&(b._state=i,b._tick(function(){b._resolve(a)}))},_resolve:function(a){this._state!==j&&(f(this._doneCallbacks,function(b){b(a)}),this._doneCallbacks.length=0,this._state=j)}},g}]},qf=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function(a,b,c){return function(b,d){function e(){return a(function(){f(),h||i.complete(),h=!0}),i}function f(){g.addClass&&(b.addClass(g.addClass),g.addClass=null),g.removeClass&&(b.removeClass(g.removeClass),g.removeClass=null),g.to&&(b.css(g.to),g.to=null)}var g=d||{};g.$$prepared||(g=R(g)),g.cleanupStyles&&(g.from=g.to=null),g.from&&(b.css(g.from),g.from=null);var h,i=new c;return{start:e,end:e}}}]},rf=d("$compile"),sf=new wb;xb.$inject=["$provide","$$sanitizeUriProvider"],yb.prototype.isFirstChange=function(){return this.previousValue===sf};var tf=/^((?:x|data)[:\-_])/i,uf=/[:\-_]+(.)/g,vf=d("$controller"),wf=/^(\S+)(\s+as\s+([\w$]+))?$/,xf=function(){this.$get=["$document",function(a){return function(b){return b?!b.nodeType&&b instanceof ge&&(b=b[0]):b=a[0].body,b.offsetWidth+1}}]},yf="application/json",zf={"Content-Type":yf+";charset=utf-8"},Af=/^\[|^\{(?!\{)/,Bf={"[":/]$/,"{":/}$/},Cf=/^\)]\}',?\n/,Df=d("$http"),Ef=pe.$interpolateMinErr=d("$interpolate");Ef.throwNoconcat=function(a){throw Ef("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce",a)},Ef.interr=function(a,b){return Ef("interr","Can't interpolate: {0}\n{1}",a,b.toString())};var Ff=function(){this.$get=function(){function a(a){var b=function(a){b.data=a,b.called=!0};return b.id=a,b}var b=pe.callbacks,c={};return{createCallback:function(d){var e="_"+(b.$$counter++).toString(36),f="angular.callbacks."+e,g=a(e);return c[f]=b[e]=g,f},wasCalled:function(a){return c[a].called},getResponse:function(a){return c[a].data},removeCallback:function(a){var d=c[a];delete b[d.id],delete c[a]}}}},Gf=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,Hf={http:80,https:443,ftp:21},If=d("$location"),Jf=/^\s*[\\/]{2,}/,Kf={$$absUrl:"",$$html5:!1,$$replace:!1,absUrl:gc("$$absUrl"),url:function(a){if(t(a))return this.$$url;var b=Gf.exec(a);return(b[1]||""===a)&&this.path(decodeURIComponent(b[1])),(b[2]||b[1]||""===a)&&this.search(b[3]||""),this.hash(b[5]||""),this},protocol:gc("$$protocol"),host:gc("$$host"),port:gc("$$port"),path:hc("$$path",function(a){return a=null!==a?a.toString():"","/"===a.charAt(0)?a:"/"+a}),search:function(a,b){switch(arguments.length){case 0:return this.$$search;case 1:if(x(a)||y(a))a=a.toString(),this.$$search=da(a);else{if(!v(a))throw If("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");a=R(a,{}),f(a,function(b,c){null==b&&delete a[c]}),this.$$search=a}break;default:t(b)||null===b?delete this.$$search[a]:this.$$search[a]=b}return this.$$compose(),this},hash:hc("$$hash",function(a){return null!==a?a.toString():""}),replace:function(){return this.$$replace=!0,this}};f([fc,ec,dc],function(a){a.prototype=Object.create(Kf),a.prototype.state=function(b){if(!arguments.length)return this.$$state;if(a!==dc||!this.$$html5)throw If("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=t(b)?null:b,this.$$urlUpdatedByLocation=!0,this}});var Lf=d("$parse"),Mf={}.constructor.prototype.valueOf,Nf=ua();f("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(a){Nf[a]=!0});var Of={n:"\n",f:"\f",r:"\r",t:"\t",v:"\x0B","'":"'",'"':'"'},Pf=function(a){this.options=a};Pf.prototype={constructor:Pf,lex:function(a){for(this.text=a,this.index=0,this.tokens=[];this.index<this.text.length;){var b=this.text.charAt(this.index);if('"'===b||"'"===b)this.readString(b);else if(this.isNumber(b)||"."===b&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(b,"(){}[].,;:?"))this.tokens.push({index:this.index,text:b}),this.index++;else if(this.isWhitespace(b))this.index++;else{var c=b+this.peek(),d=c+this.peek(2),e=Nf[b],f=Nf[c],g=Nf[d];if(e||f||g){var h=g?d:f?c:b;this.tokens.push({index:this.index,text:h,operator:!0}),this.index+=h.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(a,b){return b.indexOf(a)!==-1},peek:function(a){var b=a||1;return this.index+b<this.text.length&&this.text.charAt(this.index+b)},isNumber:function(a){return"0"<=a&&a<="9"&&"string"==typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\x0B"===a||" "===a},isIdentifierStart:function(a){return this.options.isIdentifierStart?this.options.isIdentifierStart(a,this.codePointAt(a)):this.isValidIdentifierStart(a)},isValidIdentifierStart:function(a){return"a"<=a&&a<="z"||"A"<=a&&a<="Z"||"_"===a||"$"===a},isIdentifierContinue:function(a){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(a,this.codePointAt(a)):this.isValidIdentifierContinue(a)},isValidIdentifierContinue:function(a,b){return this.isValidIdentifierStart(a,b)||this.isNumber(a)},codePointAt:function(a){return 1===a.length?a.charCodeAt(0):(a.charCodeAt(0)<<10)+a.charCodeAt(1)-56613888},peekMultichar:function(){var a=this.text.charAt(this.index),b=this.peek();if(!b)return a;var c=a.charCodeAt(0),d=b.charCodeAt(0);return c>=55296&&c<=56319&&d>=56320&&d<=57343?a+b:a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,b,c){c=c||this.index;var d=u(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,c)+"]":" "+c;throw Lf("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",a,d,this.text)},readNumber:function(){for(var a="",b=this.index;this.index<this.text.length;){var c=be(this.text.charAt(this.index));if("."===c||this.isNumber(c))a+=c;else{var d=this.peek();if("e"===c&&this.isExpOperator(d))a+=c;else if(this.isExpOperator(c)&&d&&this.isNumber(d)&&"e"===a.charAt(a.length-1))a+=c;else{if(!this.isExpOperator(c)||d&&this.isNumber(d)||"e"!==a.charAt(a.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:b,text:a,constant:!0,value:Number(a)})},readIdent:function(){var a=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var b=this.peekMultichar();if(!this.isIdentifierContinue(b))break;this.index+=b.length}this.tokens.push({index:a,text:this.text.slice(a,this.index),identifier:!0})},readString:function(a){var b=this.index;this.index++;for(var c="",d=a,e=!1;this.index<this.text.length;){var f=this.text.charAt(this.index);if(d+=f,e){if("u"===f){var g=this.text.substring(this.index+1,this.index+5);g.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+g+"]"),this.index+=4,c+=String.fromCharCode(parseInt(g,16))}else{var h=Of[f];c+=h||f}e=!1}else if("\\"===f)e=!0;else{if(f===a)return this.index++,void this.tokens.push({index:b,text:d,constant:!0,value:c});c+=f}this.index++}this.throwError("Unterminated quote",b)}};var Qf=function(a,b){this.lexer=a,this.options=b};Qf.Program="Program",Qf.ExpressionStatement="ExpressionStatement",Qf.AssignmentExpression="AssignmentExpression",Qf.ConditionalExpression="ConditionalExpression",Qf.LogicalExpression="LogicalExpression",Qf.BinaryExpression="BinaryExpression",Qf.UnaryExpression="UnaryExpression",Qf.CallExpression="CallExpression",Qf.MemberExpression="MemberExpression",Qf.Identifier="Identifier",Qf.Literal="Literal",Qf.ArrayExpression="ArrayExpression",Qf.Property="Property",Qf.ObjectExpression="ObjectExpression",Qf.ThisExpression="ThisExpression",Qf.LocalsExpression="LocalsExpression",Qf.NGValueParameter="NGValueParameter",Qf.prototype={ast:function(a){this.text=a,this.tokens=this.lexer.lex(a);var b=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),b},program:function(){for(var a=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&a.push(this.expressionStatement()),!this.expect(";"))return{type:Qf.Program,body:a}},expressionStatement:function(){return{type:Qf.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var a=this.expression();this.expect("|");)a=this.filter(a);return a},expression:function(){return this.assignment()},assignment:function(){var a=this.ternary();if(this.expect("=")){if(!rc(a))throw Lf("lval","Trying to assign a value to a non l-value");a={type:Qf.AssignmentExpression,left:a,right:this.assignment(),operator:"="}}return a},ternary:function(){var a,b,c=this.logicalOR();return this.expect("?")&&(a=this.expression(),this.consume(":"))?(b=this.expression(),{type:Qf.ConditionalExpression,test:c,alternate:a,consequent:b}):c},logicalOR:function(){for(var a=this.logicalAND();this.expect("||");)a={type:Qf.LogicalExpression,operator:"||",left:a,right:this.logicalAND()};return a},logicalAND:function(){for(var a=this.equality();this.expect("&&");)a={type:Qf.LogicalExpression,operator:"&&",left:a,right:this.equality()};return a},equality:function(){for(var a,b=this.relational();a=this.expect("==","!=","===","!==");)b={type:Qf.BinaryExpression,operator:a.text,left:b,right:this.relational()};return b},relational:function(){for(var a,b=this.additive();a=this.expect("<",">","<=",">=");)b={type:Qf.BinaryExpression,operator:a.text,left:b,right:this.additive()};return b},additive:function(){for(var a,b=this.multiplicative();a=this.expect("+","-");)b={type:Qf.BinaryExpression,operator:a.text,left:b,right:this.multiplicative()};return b},multiplicative:function(){for(var a,b=this.unary();a=this.expect("*","/","%");)b={type:Qf.BinaryExpression,operator:a.text,left:b,right:this.unary()};return b},unary:function(){var a;return(a=this.expect("+","-","!"))?{type:Qf.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?a=R(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?a={type:Qf.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression",this.peek());for(var b;b=this.expect("(","[",".");)"("===b.text?(a={type:Qf.CallExpression,callee:a,arguments:this.parseArguments()},this.consume(")")):"["===b.text?(a={type:Qf.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===b.text?a={type:Qf.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){for(var b=[a],c={type:Qf.CallExpression,callee:this.identifier(),arguments:b,filter:!0};this.expect(":");)b.push(this.expression());return c},parseArguments:function(){var a=[];if(")"!==this.peekToken().text)do a.push(this.filterChain());while(this.expect(","));return a},identifier:function(){var a=this.consume();return a.identifier||this.throwError("is not a valid identifier",a),{type:Qf.Identifier,name:a.text}},constant:function(){return{type:Qf.Literal,value:this.consume().value}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:Qf.ArrayExpression,elements:a}},object:function(){var a,b=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;a={type:Qf.Property,kind:"init"},this.peek().constant?(a.key=this.constant(),a.computed=!1,this.consume(":"),a.value=this.expression()):this.peek().identifier?(a.key=this.identifier(),a.computed=!1,this.peek(":")?(this.consume(":"),a.value=this.expression()):a.value=a.key):this.peek("[")?(this.consume("["),a.key=this.expression(),this.consume("]"),a.computed=!0,this.consume(":"),a.value=this.expression()):this.throwError("invalid key",this.peek()),b.push(a)}while(this.expect(","));return this.consume("}"),{type:Qf.ObjectExpression,properties:b}},throwError:function(a,b){throw Lf("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",b.text,a,b.index+1,this.text,this.text.substring(b.index))},consume:function(a){if(0===this.tokens.length)throw Lf("ueoe","Unexpected end of expression: {0}",this.text);var b=this.expect(a);return b||this.throwError("is unexpected, expecting ["+a+"]",this.peek()),b},peekToken:function(){if(0===this.tokens.length)throw Lf("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(a,b,c,d){return this.peekAhead(0,a,b,c,d)},peekAhead:function(a,b,c,d,e){if(this.tokens.length>a){var f=this.tokens[a],g=f.text;if(g===b||g===c||g===d||g===e||!b&&!c&&!d&&!e)return f}return!1},expect:function(a,b,c,d){var e=this.peek(a,b,c,d);return!!e&&(this.tokens.shift(),e)},selfReferential:{"this":{type:Qf.ThisExpression},$locals:{type:Qf.LocalsExpression}}};var Rf=1,Sf=2;vc.prototype={compile:function(a){var b=this;this.state={nextId:0,filters:{},fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},pc(a,b.$filter);var c,d="";if(this.stage="assign",c=sc(a)){this.state.computing="assign";var e=this.nextId();this.recurse(c,e),this.return_(e),d="fn.assign="+this.generateFunction("assign","s,v,l")}var g=qc(a.body);b.stage="inputs",f(g,function(a,c){var d="fn"+c;b.state[d]={vars:[],body:[],own:{}},b.state.computing=d;var e=b.nextId();b.recurse(a,e),b.return_(e),b.state.inputs.push({name:d,isPure:a.isPure}),a.watchId=c}),this.state.computing="fn",this.stage="main",this.recurse(a);var h='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+d+this.watchFns()+"return fn;",i=new Function("$filter","getStringValue","ifDefined","plus",h)(this.$filter,kc,lc,mc);return this.state=this.stage=void 0,i},USE:"use",STRICT:"strict",watchFns:function(){var a=[],b=this.state.inputs,c=this;return f(b,function(b){a.push("var "+b.name+"="+c.generateFunction(b.name,"s")),b.isPure&&a.push(b.name,".isPure="+JSON.stringify(b.isPure)+";")}),b.length&&a.push("fn.inputs=["+b.map(function(a){return a.name}).join(",")+"];"),a.join("")},generateFunction:function(a,b){return"function("+b+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],b=this;return f(this.state.filters,function(c,d){a.push(c+"=$filter("+b.escape(d)+")")}),a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")},recurse:function(a,b,c,d,e,g){var h,i,j,k,l,m=this;if(d=d||p,!g&&u(a.watchId))return b=b||this.nextId(),void this.if_("i",this.lazyAssign(b,this.computedMember("i",a.watchId)),this.lazyRecurse(a,b,c,d,e,!0));switch(a.type){case Qf.Program:f(a.body,function(b,c){m.recurse(b.expression,void 0,void 0,function(a){i=a}),c!==a.body.length-1?m.current().body.push(i,";"):m.return_(i)});break;case Qf.Literal:k=this.escape(a.value),this.assign(b,k),d(b||k);break;case Qf.UnaryExpression:this.recurse(a.argument,void 0,void 0,function(a){i=a}),k=a.operator+"("+this.ifDefined(i,0)+")",this.assign(b,k),d(k);break;case Qf.BinaryExpression:this.recurse(a.left,void 0,void 0,function(a){h=a}),this.recurse(a.right,void 0,void 0,function(a){i=a}),k="+"===a.operator?this.plus(h,i):"-"===a.operator?this.ifDefined(h,0)+a.operator+this.ifDefined(i,0):"("+h+")"+a.operator+"("+i+")",this.assign(b,k),d(k);break;case Qf.LogicalExpression:b=b||this.nextId(),m.recurse(a.left,b),m.if_("&&"===a.operator?b:m.not(b),m.lazyRecurse(a.right,b)),d(b);break;case Qf.ConditionalExpression:b=b||this.nextId(),m.recurse(a.test,b),m.if_(b,m.lazyRecurse(a.alternate,b),m.lazyRecurse(a.consequent,b)),d(b);break;case Qf.Identifier:b=b||this.nextId(),c&&(c.context="inputs"===m.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",a.name)+"?l:s"),c.computed=!1,c.name=a.name),m.if_("inputs"===m.stage||m.not(m.getHasOwnProperty("l",a.name)),function(){m.if_("inputs"===m.stage||"s",function(){e&&1!==e&&m.if_(m.isNull(m.nonComputedMember("s",a.name)),m.lazyAssign(m.nonComputedMember("s",a.name),"{}")),m.assign(b,m.nonComputedMember("s",a.name))})},b&&m.lazyAssign(b,m.nonComputedMember("l",a.name))),d(b);break;case Qf.MemberExpression:h=c&&(c.context=this.nextId())||this.nextId(),b=b||this.nextId(),m.recurse(a.object,h,void 0,function(){m.if_(m.notNull(h),function(){a.computed?(i=m.nextId(),m.recurse(a.property,i),m.getStringValue(i),e&&1!==e&&m.if_(m.not(m.computedMember(h,i)),m.lazyAssign(m.computedMember(h,i),"{}")),k=m.computedMember(h,i),m.assign(b,k),c&&(c.computed=!0,c.name=i)):(e&&1!==e&&m.if_(m.isNull(m.nonComputedMember(h,a.property.name)),m.lazyAssign(m.nonComputedMember(h,a.property.name),"{}")),k=m.nonComputedMember(h,a.property.name),m.assign(b,k),c&&(c.computed=!1,c.name=a.property.name))},function(){m.assign(b,"undefined")}),d(b)},!!e);break;case Qf.CallExpression:b=b||this.nextId(),a.filter?(i=m.filter(a.callee.name),j=[],f(a.arguments,function(a){var b=m.nextId();m.recurse(a,b),j.push(b)}),k=i+"("+j.join(",")+")",m.assign(b,k),d(b)):(i=m.nextId(),h={},j=[],m.recurse(a.callee,i,h,function(){m.if_(m.notNull(i),function(){f(a.arguments,function(b){m.recurse(b,a.constant?void 0:m.nextId(),void 0,function(a){j.push(a)})}),k=h.name?m.member(h.context,h.name,h.computed)+"("+j.join(",")+")":i+"("+j.join(",")+")",m.assign(b,k)},function(){m.assign(b,"undefined")}),d(b)}));break;case Qf.AssignmentExpression:i=this.nextId(),h={},this.recurse(a.left,void 0,h,function(){m.if_(m.notNull(h.context),function(){m.recurse(a.right,i),k=m.member(h.context,h.name,h.computed)+a.operator+i,m.assign(b,k),d(b||k)})},1);break;case Qf.ArrayExpression:j=[],f(a.elements,function(b){m.recurse(b,a.constant?void 0:m.nextId(),void 0,function(a){j.push(a)})}),k="["+j.join(",")+"]",this.assign(b,k),d(b||k);break;case Qf.ObjectExpression:j=[],l=!1,f(a.properties,function(a){a.computed&&(l=!0)}),l?(b=b||this.nextId(),this.assign(b,"{}"),f(a.properties,function(a){a.computed?(h=m.nextId(),
+m.recurse(a.key,h)):h=a.key.type===Qf.Identifier?a.key.name:""+a.key.value,i=m.nextId(),m.recurse(a.value,i),m.assign(m.member(b,h,a.computed),i)})):(f(a.properties,function(b){m.recurse(b.value,a.constant?void 0:m.nextId(),void 0,function(a){j.push(m.escape(b.key.type===Qf.Identifier?b.key.name:""+b.key.value)+":"+a)})}),k="{"+j.join(",")+"}",this.assign(b,k)),d(b||k);break;case Qf.ThisExpression:this.assign(b,"s"),d(b||"s");break;case Qf.LocalsExpression:this.assign(b,"l"),d(b||"l");break;case Qf.NGValueParameter:this.assign(b,"v"),d(b||"v")}},getHasOwnProperty:function(a,b){var c=a+"."+b,d=this.current().own;return d.hasOwnProperty(c)||(d[c]=this.nextId(!1,a+"&&("+this.escape(b)+" in "+a+")")),d[c]},assign:function(a,b){if(a)return this.current().body.push(a,"=",b,";"),a},filter:function(a){return this.state.filters.hasOwnProperty(a)||(this.state.filters[a]=this.nextId(!0)),this.state.filters[a]},ifDefined:function(a,b){return"ifDefined("+a+","+this.escape(b)+")"},plus:function(a,b){return"plus("+a+","+b+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a,b,c){if(a===!0)b();else{var d=this.current().body;d.push("if(",a,"){"),b(),d.push("}"),c&&(d.push("else{"),c(),d.push("}"))}},not:function(a){return"!("+a+")"},isNull:function(a){return a+"==null"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,b){var c=/^[$_a-zA-Z][$_a-zA-Z0-9]*$/,d=/[^$_a-zA-Z0-9]/g;return c.test(b)?a+"."+b:a+'["'+b.replace(d,this.stringEscapeFn)+'"]'},computedMember:function(a,b){return a+"["+b+"]"},member:function(a,b,c){return c?this.computedMember(a,b):this.nonComputedMember(a,b)},getStringValue:function(a){this.assign(a,"getStringValue("+a+")")},lazyRecurse:function(a,b,c,d,e,f){var g=this;return function(){g.recurse(a,b,c,d,e,f)}},lazyAssign:function(a,b){var c=this;return function(){c.assign(a,b)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(x(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(y(a))return a.toString();if(a===!0)return"true";if(a===!1)return"false";if(null===a)return"null";if("undefined"==typeof a)return"undefined";throw Lf("esc","IMPOSSIBLE")},nextId:function(a,b){var c="v"+this.state.nextId++;return a||this.current().vars.push(c+(b?"="+b:"")),c},current:function(){return this.state[this.state.computing]}},wc.prototype={compile:function(a){var b=this;pc(a,b.$filter);var c,d;(c=sc(a))&&(d=this.recurse(c));var e,g=qc(a.body);g&&(e=[],f(g,function(a,c){var d=b.recurse(a);d.isPure=a.isPure,a.input=d,e.push(d),a.watchId=c}));var h=[];f(a.body,function(a){h.push(b.recurse(a.expression))});var i=0===a.body.length?p:1===a.body.length?h[0]:function(a,b){var c;return f(h,function(d){c=d(a,b)}),c};return d&&(i.assign=function(a,b,c){return d(a,c,b)}),e&&(i.inputs=e),i},recurse:function(a,b,c){var d,e,g,h=this;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case Qf.Literal:return this.value(a.value,b);case Qf.UnaryExpression:return e=this.recurse(a.argument),this["unary"+a.operator](e,b);case Qf.BinaryExpression:return d=this.recurse(a.left),e=this.recurse(a.right),this["binary"+a.operator](d,e,b);case Qf.LogicalExpression:return d=this.recurse(a.left),e=this.recurse(a.right),this["binary"+a.operator](d,e,b);case Qf.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),b);case Qf.Identifier:return h.identifier(a.name,b,c);case Qf.MemberExpression:return d=this.recurse(a.object,!1,!!c),a.computed||(e=a.property.name),a.computed&&(e=this.recurse(a.property)),a.computed?this.computedMember(d,e,b,c):this.nonComputedMember(d,e,b,c);case Qf.CallExpression:return g=[],f(a.arguments,function(a){g.push(h.recurse(a))}),a.filter&&(e=this.$filter(a.callee.name)),a.filter||(e=this.recurse(a.callee,!0)),a.filter?function(a,c,d,f){for(var h=[],i=0;i<g.length;++i)h.push(g[i](a,c,d,f));var j=e.apply(void 0,h,f);return b?{context:void 0,name:void 0,value:j}:j}:function(a,c,d,f){var h,i=e(a,c,d,f);if(null!=i.value){for(var j=[],k=0;k<g.length;++k)j.push(g[k](a,c,d,f));h=i.value.apply(i.context,j)}return b?{value:h}:h};case Qf.AssignmentExpression:return d=this.recurse(a.left,!0,1),e=this.recurse(a.right),function(a,c,f,g){var h=d(a,c,f,g),i=e(a,c,f,g);return h.context[h.name]=i,b?{value:i}:i};case Qf.ArrayExpression:return g=[],f(a.elements,function(a){g.push(h.recurse(a))}),function(a,c,d,e){for(var f=[],h=0;h<g.length;++h)f.push(g[h](a,c,d,e));return b?{value:f}:f};case Qf.ObjectExpression:return g=[],f(a.properties,function(a){a.computed?g.push({key:h.recurse(a.key),computed:!0,value:h.recurse(a.value)}):g.push({key:a.key.type===Qf.Identifier?a.key.name:""+a.key.value,computed:!1,value:h.recurse(a.value)})}),function(a,c,d,e){for(var f={},h=0;h<g.length;++h)g[h].computed?f[g[h].key(a,c,d,e)]=g[h].value(a,c,d,e):f[g[h].key]=g[h].value(a,c,d,e);return b?{value:f}:f};case Qf.ThisExpression:return function(a){return b?{value:a}:a};case Qf.LocalsExpression:return function(a,c){return b?{value:c}:c};case Qf.NGValueParameter:return function(a,c,d){return b?{value:d}:d}}},"unary+":function(a,b){return function(c,d,e,f){var g=a(c,d,e,f);return g=u(g)?+g:0,b?{value:g}:g}},"unary-":function(a,b){return function(c,d,e,f){var g=a(c,d,e,f);return g=u(g)?-g:-0,b?{value:g}:g}},"unary!":function(a,b){return function(c,d,e,f){var g=!a(c,d,e,f);return b?{value:g}:g}},"binary+":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g),i=b(d,e,f,g),j=mc(h,i);return c?{value:j}:j}},"binary-":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g),i=b(d,e,f,g),j=(u(h)?h:0)-(u(i)?i:0);return c?{value:j}:j}},"binary*":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)*b(d,e,f,g);return c?{value:h}:h}},"binary/":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)/b(d,e,f,g);return c?{value:h}:h}},"binary%":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)%b(d,e,f,g);return c?{value:h}:h}},"binary===":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)===b(d,e,f,g);return c?{value:h}:h}},"binary!==":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)!==b(d,e,f,g);return c?{value:h}:h}},"binary==":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)==b(d,e,f,g);return c?{value:h}:h}},"binary!=":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)!=b(d,e,f,g);return c?{value:h}:h}},"binary<":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)<b(d,e,f,g);return c?{value:h}:h}},"binary>":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)>b(d,e,f,g);return c?{value:h}:h}},"binary<=":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)<=b(d,e,f,g);return c?{value:h}:h}},"binary>=":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)>=b(d,e,f,g);return c?{value:h}:h}},"binary&&":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)&&b(d,e,f,g);return c?{value:h}:h}},"binary||":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)||b(d,e,f,g);return c?{value:h}:h}},"ternary?:":function(a,b,c,d){return function(e,f,g,h){var i=a(e,f,g,h)?b(e,f,g,h):c(e,f,g,h);return d?{value:i}:i}},value:function(a,b){return function(){return b?{context:void 0,name:void 0,value:a}:a}},identifier:function(a,b,c){return function(d,e,f,g){var h=e&&a in e?e:d;c&&1!==c&&h&&null==h[a]&&(h[a]={});var i=h?h[a]:void 0;return b?{context:h,name:a,value:i}:i}},computedMember:function(a,b,c,d){return function(e,f,g,h){var i,j,k=a(e,f,g,h);return null!=k&&(i=b(e,f,g,h),i=kc(i),d&&1!==d&&k&&!k[i]&&(k[i]={}),j=k[i]),c?{context:k,name:i,value:j}:j}},nonComputedMember:function(a,b,c,d){return function(e,f,g,h){var i=a(e,f,g,h);d&&1!==d&&i&&null==i[b]&&(i[b]={});var j=null!=i?i[b]:void 0;return c?{context:i,name:b,value:j}:j}},inputs:function(a,b){return function(c,d,e,f){return f?f[b]:a(c,d,e)}}},xc.prototype={constructor:xc,parse:function(a){var b=this.ast.ast(a),c=this.astCompiler.compile(b);return c.literal=tc(b),c.constant=uc(b),c}};var Tf=d("$sce"),Uf={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Vf=/_([a-z])/g,Wf=d("$compile"),Xf=a.document.createElement("a"),Yf=Sc(a.location.href);Vc.$inject=["$document"],Xc.$inject=["$provide"];var Zf=22,$f=".",_f="0";ad.$inject=["$locale"],bd.$inject=["$locale"];var ag={yyyy:gd("FullYear",4,0,!1,!0),yy:gd("FullYear",2,0,!0,!0),y:gd("FullYear",1,0,!1,!0),MMMM:hd("Month"),MMM:hd("Month",!0),MM:gd("Month",2,1),M:gd("Month",1,1),LLLL:hd("Month",!1,!0),dd:gd("Date",2),d:gd("Date",1),HH:gd("Hours",2),H:gd("Hours",1),hh:gd("Hours",2,-12),h:gd("Hours",1,-12),mm:gd("Minutes",2),m:gd("Minutes",1),ss:gd("Seconds",2),s:gd("Seconds",1),sss:gd("Milliseconds",3),EEEE:hd("Day"),EEE:hd("Day",!0),a:md,Z:id,ww:ld(2),w:ld(1),G:nd,GG:nd,GGG:nd,GGGG:od},bg=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))([\s\S]*)/,cg=/^-?\d+$/;pd.$inject=["$locale"];var dg=r(be),eg=r(ce);td.$inject=["$parse"];var fg=r({restrict:"E",compile:function(a,b){if(!b.href&&!b.xlinkHref)return function(a,b){if("a"===b[0].nodeName.toLowerCase()){var c="[object SVGAnimatedString]"===me.call(b.prop("href"))?"xlink:href":"href";b.on("click",function(a){b.attr(c)||a.preventDefault()})}}}}),gg={};f(Xe,function(a,b){function c(a,c,e){a.$watch(e[d],function(a){e.$set(b,!!a)})}if("multiple"!==a){var d=zb("ng-"+b),e=c;"checked"===a&&(e=function(a,b,e){e.ngModel!==e[d]&&c(a,b,e)}),gg[d]=function(){return{restrict:"A",priority:100,link:e}}}}),f(Ze,function(a,b){gg[b]=function(){return{priority:100,link:function(a,c,d){if("ngPattern"===b&&"/"===d.ngPattern.charAt(0)){var e=d.ngPattern.match($d);if(e)return void d.$set("ngPattern",new RegExp(e[1],e[2]))}a.$watch(d[b],function(a){d.$set(b,a)})}}}}),f(["src","srcset","href"],function(a){var b=zb("ng-"+a);gg[b]=function(){return{priority:99,link:function(c,d,e){var f=a,g=a;"href"===a&&"[object SVGAnimatedString]"===me.call(d.prop("href"))&&(g="xlinkHref",e.$attr[g]="xlink:href",f=null),e.$observe(b,function(b){return b?(e.$set(g,b),void(fe&&f&&d.prop(f,e[g]))):void("href"===a&&e.$set(g,null))})}}}});var hg={$addControl:p,$$renameControl:vd,$removeControl:p,$setValidity:p,$setDirty:p,$setPristine:p,$setSubmitted:p},ig="ng-pending",jg="ng-submitted";wd.$inject=["$element","$attrs","$scope","$animate","$interpolate"],wd.prototype={$rollbackViewValue:function(){f(this.$$controls,function(a){a.$rollbackViewValue()})},$commitViewValue:function(){f(this.$$controls,function(a){a.$commitViewValue()})},$addControl:function(a){ra(a.$name,"input"),this.$$controls.push(a),a.$name&&(this[a.$name]=a),a.$$parentForm=this},$$renameControl:function(a,b){var c=a.$name;this[c]===a&&delete this[c],this[b]=a,a.$name=b},$removeControl:function(a){a.$name&&this[a.$name]===a&&delete this[a.$name],f(this.$pending,function(b,c){this.$setValidity(c,null,a)},this),f(this.$error,function(b,c){this.$setValidity(c,null,a)},this),f(this.$$success,function(b,c){this.$setValidity(c,null,a)},this),Q(this.$$controls,a),a.$$parentForm=hg},$setDirty:function(){this.$$animate.removeClass(this.$$element,Ug),this.$$animate.addClass(this.$$element,Vg),this.$dirty=!0,this.$pristine=!1,this.$$parentForm.$setDirty()},$setPristine:function(){this.$$animate.setClass(this.$$element,Ug,Vg+" "+jg),this.$dirty=!1,this.$pristine=!0,this.$submitted=!1,f(this.$$controls,function(a){a.$setPristine()})},$setUntouched:function(){f(this.$$controls,function(a){a.$setUntouched()})},$setSubmitted:function(){this.$$animate.addClass(this.$$element,jg),this.$submitted=!0,this.$$parentForm.$setSubmitted()}},yd({clazz:wd,set:function(a,b,c){var d=a[b];if(d){var e=d.indexOf(c);e===-1&&d.push(c)}else a[b]=[c]},unset:function(a,b,c){var d=a[b];d&&(Q(d,c),0===d.length&&delete a[b])}});var kg=function(a){return["$timeout","$parse",function(b,c){function d(a){return""===a?c('this[""]').assign:c(a).assign||p}var e={name:"form",restrict:a?"EAC":"E",require:["form","^^?form"],controller:wd,compile:function(c,e){c.addClass(Ug).addClass(Sg);var f=e.name?"name":!(!a||!e.ngForm)&&"ngForm";return{pre:function(a,c,e,g){var h=g[0];if(!("action"in e)){var i=function(b){a.$apply(function(){h.$commitViewValue(),h.$setSubmitted()}),b.preventDefault()};c[0].addEventListener("submit",i),c.on("$destroy",function(){b(function(){c[0].removeEventListener("submit",i)},0,!1)})}var j=g[1]||h.$$parentForm;j.$addControl(h);var k=f?d(h.$name):p;f&&(k(a,h),e.$observe(f,function(b){h.$name!==b&&(k(a,void 0),h.$$parentForm.$$renameControl(h,b),(k=d(h.$name))(a,h))})),c.on("$destroy",function(){h.$$parentForm.$removeControl(h),k(a,void 0),l(h,hg)})}}}};return e}]},lg=kg(),mg=kg(!0),ng=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,og=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,pg=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,qg=/^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,rg=/^(\d{4,})-(\d{2})-(\d{2})$/,sg=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,tg=/^(\d{4,})-W(\d\d)$/,ug=/^(\d{4,})-(\d\d)$/,vg=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,wg="keydown wheel mousedown",xg=ua();f("date,datetime-local,month,time,week".split(","),function(a){xg[a]=!0});var yg={text:Bd,date:Fd("date",rg,Ed(rg,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":Fd("datetimelocal",sg,Ed(sg,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:Fd("time",vg,Ed(vg,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:Fd("week",tg,Dd,"yyyy-Www"),month:Fd("month",ug,Ed(ug,["yyyy","MM"]),"yyyy-MM"),number:Md,url:Od,email:Pd,radio:Qd,range:Nd,checkbox:Sd,hidden:p,button:p,submit:p,reset:p,file:p},zg=["$browser","$sniffer","$filter","$parse",function(a,b,c,d){return{restrict:"E",require:["?ngModel"],link:{pre:function(e,f,g,h){h[0]&&(yg[be(g.type)]||yg.text)(e,f,g,h[0],b,a,c,d)}}}}],Ag=/^(true|false|\d+)$/,Bg=function(){function a(a,b,c){var d=u(c)?c:9===fe?"":null;a.prop("value",d),b.$set("value",c)}return{restrict:"A",priority:100,compile:function(b,c){return Ag.test(c.ngValue)?function(b,c,d){var e=b.$eval(d.ngValue);a(c,d,e)}:function(b,c,d){b.$watch(d.ngValue,function(b){a(c,d,b)})}}}},Cg=["$compile",function(a){return{restrict:"AC",compile:function(b){return a.$$addBindingClass(b),function(b,c,d){a.$$addBindingInfo(c,d.ngBind),c=c[0],b.$watch(d.ngBind,function(a){c.textContent=va(a)})}}}}],Dg=["$interpolate","$compile",function(a,b){return{compile:function(c){return b.$$addBindingClass(c),function(c,d,e){var f=a(d.attr(e.$attr.ngBindTemplate));b.$$addBindingInfo(d,f.expressions),d=d[0],e.$observe("ngBindTemplate",function(a){d.textContent=t(a)?"":a})}}}}],Eg=["$sce","$parse","$compile",function(a,b,c){return{restrict:"A",compile:function(d,e){var f=b(e.ngBindHtml),g=b(e.ngBindHtml,function(b){return a.valueOf(b)});return c.$$addBindingClass(d),function(b,d,e){c.$$addBindingInfo(d,e.ngBindHtml),b.$watch(g,function(){var c=f(b);d.html(a.getTrustedHtml(c)||"")})}}}}],Fg=r({restrict:"A",require:"ngModel",link:function(a,b,c,d){d.$viewChangeListeners.push(function(){a.$eval(c.ngChange)})}}),Gg=Td("",!0),Hg=Td("Odd",0),Ig=Td("Even",1),Jg=ud({compile:function(a,b){b.$set("ngCloak",void 0),a.removeClass("ng-cloak")}}),Kg=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Lg={},Mg={blur:!0,focus:!0};f("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var b=zb("ng-"+a);Lg[b]=["$parse","$rootScope",function(c,d){return{restrict:"A",compile:function(e,f){var g=c(f[b]);return function(b,c){c.on(a,function(c){var e=function(){g(b,{$event:c})};Mg[a]&&d.$$phase?b.$evalAsync(e):b.$apply(e)})}}}}]});var Ng=["$animate","$compile",function(a,b){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,i,j;c.$watch(e.ngIf,function(c){c?i||g(function(c,f){i=f,c[c.length++]=b.$$createComment("end ngIf",e.ngIf),h={clone:c},a.enter(c,d.parent(),d)}):(j&&(j.remove(),j=null),i&&(i.$destroy(),i=null),h&&(j=ta(h.clone),a.leave(j).done(function(a){a!==!1&&(j=null)}),h=null))})}}}],Og=["$templateRequest","$anchorScroll","$animate",function(a,b,c){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:pe.noop,compile:function(d,e){var f=e.ngInclude||e.src,g=e.onload||"",h=e.autoscroll;return function(d,e,i,j,k){var l,m,n,o=0,p=function(){m&&(m.remove(),m=null),l&&(l.$destroy(),l=null),n&&(c.leave(n).done(function(a){a!==!1&&(m=null)}),m=n,n=null)};d.$watch(f,function(f){var i=function(a){a===!1||!u(h)||h&&!d.$eval(h)||b()},m=++o;f?(a(f,!0).then(function(a){if(!d.$$destroyed&&m===o){var b=d.$new();j.template=a;var h=k(b,function(a){p(),c.enter(a,null,e).done(i)});l=b,n=h,l.$emit("$includeContentLoaded",f),d.$eval(g)}},function(){d.$$destroyed||m===o&&(p(),d.$emit("$includeContentError",f))}),d.$emit("$includeContentRequested",f)):(p(),j.template=null)})}}}}],Pg=["$compile",function(b){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){return me.call(d[0]).match(/SVG/)?(d.empty(),void b(Ia(f.template,a.document).childNodes)(c,function(a){d.append(a)},{futureParentElement:d})):(d.html(f.template),void b(d.contents())(c))}}}],Qg=ud({priority:450,compile:function(){return{pre:function(a,b,c){a.$eval(c.ngInit)}}}}),Rg=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,b,c,d){var e=c.ngList||", ",g="false"!==c.ngTrim,h=g?ue(e):e,i=function(a){if(!t(a)){var b=[];return a&&f(a.split(h),function(a){a&&b.push(g?ue(a):a)}),b}};d.$parsers.push(i),d.$formatters.push(function(a){if(se(a))return a.join(e)}),d.$isEmpty=function(a){return!a||!a.length}}}},Sg="ng-valid",Tg="ng-invalid",Ug="ng-pristine",Vg="ng-dirty",Wg="ng-untouched",Xg="ng-touched",Yg="ng-empty",Zg="ng-not-empty",$g=d("ngModel");Ud.$inject=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$q","$interpolate"],Ud.prototype={$$initGetterSetters:function(){if(this.$options.getOption("getterSetter")){var a=this.$$parse(this.$$attr.ngModel+"()"),b=this.$$parse(this.$$attr.ngModel+"($$$p)");this.$$ngModelGet=function(b){var c=this.$$parsedNgModel(b);return B(c)&&(c=a(b)),c},this.$$ngModelSet=function(a,c){B(this.$$parsedNgModel(a))?b(a,{$$$p:c}):this.$$parsedNgModelAssign(a,c)}}else if(!this.$$parsedNgModel.assign)throw $g("nonassign","Expression '{0}' is non-assignable. Element: {1}",this.$$attr.ngModel,ba(this.$$element))},$render:p,$isEmpty:function(a){return t(a)||""===a||null===a||a!==a},$$updateEmptyClasses:function(a){this.$isEmpty(a)?(this.$$animate.removeClass(this.$$element,Zg),this.$$animate.addClass(this.$$element,Yg)):(this.$$animate.removeClass(this.$$element,Yg),this.$$animate.addClass(this.$$element,Zg))},$setPristine:function(){this.$dirty=!1,this.$pristine=!0,this.$$animate.removeClass(this.$$element,Vg),this.$$animate.addClass(this.$$element,Ug)},$setDirty:function(){this.$dirty=!0,this.$pristine=!1,this.$$animate.removeClass(this.$$element,Ug),this.$$animate.addClass(this.$$element,Vg),this.$$parentForm.$setDirty()},$setUntouched:function(){this.$touched=!1,this.$untouched=!0,this.$$animate.setClass(this.$$element,Wg,Xg)},$setTouched:function(){this.$touched=!0,this.$untouched=!1,this.$$animate.setClass(this.$$element,Xg,Wg)},$rollbackViewValue:function(){this.$$timeout.cancel(this.$$pendingDebounce),this.$viewValue=this.$$lastCommittedViewValue,this.$render()},$validate:function(){if(!re(this.$modelValue)){var a=this.$$lastCommittedViewValue,b=this.$$rawModelValue,c=this.$valid,d=this.$modelValue,e=this.$options.getOption("allowInvalid"),f=this;this.$$runValidators(b,a,function(a){e||c===a||(f.$modelValue=a?b:void 0,f.$modelValue!==d&&f.$$writeModelToScope())})}},$$runValidators:function(a,b,c){function d(){var a=k.$$parserName||"parse";return t(k.$$parserValid)?(h(a,null),!0):(k.$$parserValid||(f(k.$validators,function(a,b){h(b,null)}),f(k.$asyncValidators,function(a,b){h(b,null)})),h(a,k.$$parserValid),k.$$parserValid)}function e(){var c=!0;return f(k.$validators,function(d,e){var f=Boolean(d(a,b));c=c&&f,h(e,f)}),!!c||(f(k.$asyncValidators,function(a,b){h(b,null)}),!1)}function g(){var c=[],d=!0;f(k.$asyncValidators,function(e,f){var g=e(a,b);if(!J(g))throw $g("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",g);h(f,void 0),c.push(g.then(function(){h(f,!0)},function(){d=!1,h(f,!1)}))}),c.length?k.$$q.all(c).then(function(){i(d)},p):i(!0)}function h(a,b){j===k.$$currentValidationRunId&&k.$setValidity(a,b)}function i(a){j===k.$$currentValidationRunId&&c(a)}this.$$currentValidationRunId++;var j=this.$$currentValidationRunId,k=this;return d()&&e()?void g():void i(!1)},$commitViewValue:function(){var a=this.$viewValue;this.$$timeout.cancel(this.$$pendingDebounce),(this.$$lastCommittedViewValue!==a||""===a&&this.$$hasNativeValidators)&&(this.$$updateEmptyClasses(a),this.$$lastCommittedViewValue=a,this.$pristine&&this.$setDirty(),this.$$parseAndValidate())},$$parseAndValidate:function(){function a(){d.$modelValue!==f&&d.$$writeModelToScope()}var b=this.$$lastCommittedViewValue,c=b,d=this;if(this.$$parserValid=!t(c)||void 0,this.$$parserValid)for(var e=0;e<this.$parsers.length;e++)if(c=this.$parsers[e](c),t(c)){this.$$parserValid=!1;break}re(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$scope));var f=this.$modelValue,g=this.$options.getOption("allowInvalid");this.$$rawModelValue=c,g&&(this.$modelValue=c,a()),this.$$runValidators(c,this.$$lastCommittedViewValue,function(b){g||(d.$modelValue=b?c:void 0,a())})},$$writeModelToScope:function(){this.$$ngModelSet(this.$$scope,this.$modelValue),f(this.$viewChangeListeners,function(a){try{a()}catch(b){this.$$exceptionHandler(b)}},this)},$setViewValue:function(a,b){this.$viewValue=a,this.$options.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(b)},$$debounceViewValueCommit:function(a){var b=this.$options.getOption("debounce");y(b[a])?b=b[a]:y(b["default"])&&(b=b["default"]),this.$$timeout.cancel(this.$$pendingDebounce);var c=this;b>0?this.$$pendingDebounce=this.$$timeout(function(){c.$commitViewValue()},b):this.$$scope.$root.$$phase?this.$commitViewValue():this.$$scope.$apply(function(){c.$commitViewValue()})},$overrideModelOptions:function(a){this.$options=this.$options.createChild(a)}},yd({clazz:Ud,set:function(a,b){a[b]=!0},unset:function(a,b){delete a[b]}});var _g,ah=["$rootScope",function(a){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:Ud,priority:1,compile:function(b){return b.addClass(Ug).addClass(Wg).addClass(Sg),{pre:function(a,b,c,d){var e=d[0],f=d[1]||e.$$parentForm,g=d[2];g&&(e.$options=g.$options),e.$$initGetterSetters(),f.$addControl(e),c.$observe("name",function(a){e.$name!==a&&e.$$parentForm.$$renameControl(e,a)}),a.$on("$destroy",function(){e.$$parentForm.$removeControl(e)})},post:function(b,c,d,e){function f(){g.$setTouched()}var g=e[0];g.$options.getOption("updateOn")&&c.on(g.$options.getOption("updateOn"),function(a){g.$$debounceViewValueCommit(a&&a.type)}),c.on("blur",function(){g.$touched||(a.$$phase?b.$evalAsync(f):b.$apply(f))})}}}}}],bh=/(\s+|^)default(\s+|$)/;Wd.prototype={getOption:function(a){return this.$$options[a]},createChild:function(a){var b=!1;return a=l({},a),f(a,function(c,d){"$inherit"===c?"*"===d?b=!0:(a[d]=this.$$options[d],"updateOn"===d&&(a.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===d&&(a.updateOnDefault=!1,a[d]=ue(c.replace(bh,function(){return a.updateOnDefault=!0," "})))},this),b&&(delete a["*"],Xd(a,this.$$options)),Xd(a,_g.$$options),new Wd(a)}},_g=new Wd({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1,timezone:null});var ch=function(){function a(a,b){this.$$attrs=a,this.$$scope=b}return a.$inject=["$attrs","$scope"],a.prototype={$onInit:function(){var a=this.parentCtrl?this.parentCtrl.$options:_g,b=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=a.createChild(b)}},{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:a}},dh=ud({terminal:!0,priority:1e3}),eh=d("ngOptions"),fh=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([$\w][$\w]*)|(?:\(\s*([$\w][$\w]*)\s*,\s*([$\w][$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,gh=["$compile","$document","$parse",function(b,c,d){function g(a,b,c){function f(a,b,c,d,e){this.selectValue=a,this.viewValue=b,this.label=c,this.group=d,this.disabled=e}function g(a){var b;if(!j&&e(a))b=a;else{b=[];for(var c in a)a.hasOwnProperty(c)&&"$"!==c.charAt(0)&&b.push(c)}return b}var h=a.match(fh);if(!h)throw eh("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",a,ba(b));var i=h[5]||h[7],j=h[6],k=/ as /.test(h[0])&&h[1],l=h[9],m=d(h[2]?h[1]:i),n=k&&d(k),o=n||m,p=l&&d(l),q=l?function(a,b){return p(c,b)}:function(a){return gb(a)},r=function(a,b){return q(a,x(a,b))},s=d(h[2]||h[1]),t=d(h[3]||""),u=d(h[4]||""),v=d(h[8]),w={},x=j?function(a,b){return w[j]=b,w[i]=a,w}:function(a){return w[i]=a,w};return{trackBy:l,getTrackByValue:r,getWatchables:d(v,function(a){var b=[];a=a||[];for(var d=g(a),e=d.length,f=0;f<e;f++){var i=a===d?f:d[f],j=a[i],k=x(j,i),l=q(j,k);if(b.push(l),h[2]||h[1]){var m=s(c,k);b.push(m)}if(h[4]){var n=u(c,k);b.push(n)}}return b}),getOptions:function(){for(var a=[],b={},d=v(c)||[],e=g(d),h=e.length,i=0;i<h;i++){var j=d===e?i:e[i],k=d[j],m=x(k,j),n=o(c,m),p=q(n,m),w=s(c,m),y=t(c,m),z=u(c,m),A=new f(p,n,w,y,z);a.push(A),b[p]=A}return{items:a,selectValueMap:b,getOptionFromViewValue:function(a){return b[r(a)]},getViewValueFromOption:function(a){return l?R(a.viewValue):a.viewValue}}}}}function h(a,d,e,h){function k(a,b){var c=i.cloneNode(!1);b.appendChild(c),m(a,c)}function l(a){var b=x.getOptionFromViewValue(a),c=b&&b.element;return c&&!c.selected&&(c.selected=!0),b}function m(a,b){a.element=b,b.disabled=a.disabled,a.label!==b.label&&(b.label=a.label,b.textContent=a.label),b.value=a.selectValue}function n(){var a=x&&o.readValue();if(x)for(var b=x.items.length-1;b>=0;b--){var c=x.items[b];Za(u(c.group)?c.element.parentNode:c.element)}x=y.getOptions();var e={};if(x.items.forEach(function(a){var b;u(a.group)?(b=e[a.group],b||(b=j.cloneNode(!1),z.appendChild(b),b.label=null===a.group?"null":a.group,e[a.group]=b),k(a,b)):k(a,z)}),d[0].appendChild(z),p.$render(),!p.$isEmpty(a)){var f=o.readValue(),g=y.trackBy||q;(g?T(a,f):a===f)||(p.$setViewValue(f),p.$render())}}for(var o=h[0],p=h[1],q=e.multiple,r=0,s=d.children(),t=s.length;r<t;r++)if(""===s[r].value){o.hasEmptyOption=!0,o.emptyOption=s.eq(r);break}d.empty();var v=!!o.emptyOption,w=ge(i.cloneNode(!1));w.val("?");var x,y=g(e.ngOptions,d,a),z=c[0].createDocumentFragment();o.generateUnknownOptionValue=function(a){return"?"},q?(o.writeValue=function(a){if(x){var b=a&&a.map(l)||[];x.items.forEach(function(a){a.element.selected&&!P(b,a)&&(a.element.selected=!1)})}},o.readValue=function(){var a=d.val()||[],b=[];return f(a,function(a){var c=x.selectValueMap[a];c&&!c.disabled&&b.push(x.getViewValueFromOption(c))}),b},y.trackBy&&a.$watchCollection(function(){if(se(p.$viewValue))return p.$viewValue.map(function(a){return y.getTrackByValue(a)})},function(){p.$render()})):(o.writeValue=function(a){if(x){var b=d[0].options[d[0].selectedIndex],c=x.getOptionFromViewValue(a);b&&b.removeAttribute("selected"),c?(d[0].value!==c.selectValue&&(o.removeUnknownOption(),d[0].value=c.selectValue,c.element.selected=!0),c.element.setAttribute("selected","selected")):o.selectUnknownOrEmptyOption(a)}},o.readValue=function(){var a=x.selectValueMap[d.val()];return a&&!a.disabled?(o.unselectEmptyOption(),o.removeUnknownOption(),x.getViewValueFromOption(a)):null},y.trackBy&&a.$watch(function(){return y.getTrackByValue(p.$viewValue)},function(){p.$render()})),v&&(b(o.emptyOption)(a),d.prepend(o.emptyOption),o.emptyOption[0].nodeType===Ge?(o.hasEmptyOption=!1,o.registerOption=function(a,b){""===b.val()&&(o.hasEmptyOption=!0,o.emptyOption=b,o.emptyOption.removeClass("ng-scope"),p.$render(),b.on("$destroy",function(){var a=o.$isEmptyOptionSelected();o.hasEmptyOption=!1,o.emptyOption=void 0,a&&p.$render()}))}):o.emptyOption.removeClass("ng-scope")),a.$watchCollection(y.getWatchables,n)}var i=a.document.createElement("option"),j=a.document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(a,b,c,d){d[0].registerOption=p},post:h}}}],hh=["$locale","$interpolate","$log",function(a,b,c){var d=/{}/g,e=/^when(Minus)?(.+)$/;return{link:function(g,h,i){function j(a){h.text(a||"")}var k,l=i.count,m=i.$attr.when&&h.attr(i.$attr.when),n=i.offset||0,o=g.$eval(m)||{},q={},r=b.startSymbol(),s=b.endSymbol(),u=r+l+"-"+n+s,v=pe.noop;f(i,function(a,b){var c=e.exec(b);if(c){var d=(c[1]?"-":"")+be(c[2]);o[d]=h.attr(i.$attr[b])}}),f(o,function(a,c){q[c]=b(a.replace(d,u))}),g.$watch(l,function(b){var d=parseFloat(b),e=re(d);if(e||d in o||(d=a.pluralCat(d-n)),!(d===k||e&&re(k))){v();var f=q[d];t(f)?(null!=b&&c.debug("ngPluralize: no rule defined for '"+d+"' in "+m),v=p,j()):v=g.$watch(f,j),k=d}})}}}],ih=["$parse","$animate","$compile",function(a,b,c){var g="$$NG_REMOVED",h=d("ngRepeat"),i=function(a,b,c,d,e,f,g){a[c]=d,e&&(a[e]=f),a.$index=b,a.$first=0===b,a.$last=b===g-1,a.$middle=!(a.$first||a.$last),a.$odd=!(a.$even=0===(1&b))},j=function(a){return a.clone[0]},k=function(a){return a.clone[a.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(d,l){var m=l.ngRepeat,n=c.$$createComment("end ngRepeat",m),o=m.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!o)throw h("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",m);var p=o[1],q=o[2],r=o[3],s=o[4];if(o=p.match(/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/),!o)throw h("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",p);var t=o[3]||o[1],u=o[2];if(r&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(r)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(r)))throw h("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",r);var v,w,x,y,z={$id:gb};return s?v=a(s):(x=function(a,b){return gb(b)},y=function(a){return a}),function(a,c,d,l,o){v&&(w=function(b,c,d){return u&&(z[u]=b),z[t]=c,z.$index=d,v(a,z)});var p=ua();a.$watchCollection(q,function(d){var l,q,s,v,z,A,B,C,D,E,F,G,H=c[0],I=ua();if(r&&(a[r]=d),e(d))D=d,C=w||x;else{C=w||y,D=[];for(var J in d)ae.call(d,J)&&"$"!==J.charAt(0)&&D.push(J)}for(v=D.length,F=new Array(v),l=0;l<v;l++)if(z=d===D?l:D[l],A=d[z],B=C(z,A,l),p[B])E=p[B],delete p[B],I[B]=E,F[l]=E;else{if(I[B])throw f(F,function(a){a&&a.scope&&(p[a.id]=a)}),h("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",m,B,A);F[l]={id:B,scope:void 0,clone:void 0},I[B]=!0}for(var K in p){if(E=p[K],G=ta(E.clone),b.leave(G),G[0].parentNode)for(l=0,q=G.length;l<q;l++)G[l][g]=!0;E.scope.$destroy()}for(l=0;l<v;l++)if(z=d===D?l:D[l],A=d[z],E=F[l],E.scope){s=H;do s=s.nextSibling;while(s&&s[g]);j(E)!==s&&b.move(ta(E.clone),null,H),H=k(E),i(E.scope,l,t,A,u,z,v)}else o(function(a,c){E.scope=c;var d=n.cloneNode(!1);a[a.length++]=d,b.enter(a,null,H),H=d,E.clone=a,I[E.id]=E,i(E.scope,l,t,A,u,z,v)});p=I})}}}}],jh="ng-hide",kh="ng-hide-animate",lh=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,c,d){b.$watch(d.ngShow,function(b){a[b?"removeClass":"addClass"](c,jh,{tempClasses:kh
+})})}}}],mh=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,c,d){b.$watch(d.ngHide,function(b){a[b?"addClass":"removeClass"](c,jh,{tempClasses:kh})})}}}],nh=ud(function(a,b,c){a.$watch(c.ngStyle,function(a,c){c&&a!==c&&f(c,function(a,c){b.css(c,"")}),a&&b.css(a)},!0)}),oh=["$animate","$compile",function(a,b){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,g){var h=e.ngSwitch||e.on,i=[],j=[],k=[],l=[],m=function(a,b){return function(c){c!==!1&&a.splice(b,1)}};c.$watch(h,function(c){for(var d,e;k.length;)a.cancel(k.pop());for(d=0,e=l.length;d<e;++d){var h=ta(j[d].clone);l[d].$destroy();var n=k[d]=a.leave(h);n.done(m(k,d))}j.length=0,l.length=0,(i=g.cases["!"+c]||g.cases["?"])&&f(i,function(c){c.transclude(function(d,e){l.push(e);var f=c.element;d[d.length++]=b.$$createComment("end ngSwitchWhen");var g={clone:d};j.push(g),a.enter(d,f.parent(),f)})})})}}}],ph=ud({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,c,d,e){var g=c.ngSwitchWhen.split(c.ngSwitchWhenSeparator).sort().filter(function(a,b,c){return c[b-1]!==a});f(g,function(a){d.cases["!"+a]=d.cases["!"+a]||[],d.cases["!"+a].push({transclude:e,element:b})})}}),qh=ud({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,c,d,e){d.cases["?"]=d.cases["?"]||[],d.cases["?"].push({transclude:e,element:b})}}),rh=d("ngTransclude"),sh=["$compile",function(a){return{restrict:"EAC",terminal:!0,compile:function(b){var c=a(b.contents());return b.empty(),function(a,b,d,e,f){function g(a,c){a.length&&i(a)?b.append(a):(h(),c.$destroy())}function h(){c(a,function(a){b.append(a)})}function i(a){for(var b=0,c=a.length;b<c;b++){var d=a[b];if(d.nodeType!==Fe||d.nodeValue.trim())return!0}}if(!f)throw rh("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",ba(b));d.ngTransclude===d.$attr.ngTransclude&&(d.ngTransclude="");var j=d.ngTransclude||d.ngTranscludeSlot;f(g,null,j),j&&!f.isSlotFilled(j)&&h()}}}}],th=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,c){if("text/ng-template"===c.type){var d=c.id,e=b[0].text;a.put(d,e)}}}}],uh={$setViewValue:p,$render:p},vh=["$element","$scope",function(b,c){function d(){h||(h=!0,c.$$postDigest(function(){h=!1,f.ngModelCtrl.$render()}))}function e(a){i||(i=!0,c.$$postDigest(function(){c.$$destroyed||(i=!1,f.ngModelCtrl.$setViewValue(f.readValue()),a&&f.ngModelCtrl.$render())}))}var f=this,g=new _e;f.selectValueMap={},f.ngModelCtrl=uh,f.multiple=!1,f.unknownOption=ge(a.document.createElement("option")),f.hasEmptyOption=!1,f.emptyOption=void 0,f.renderUnknownOption=function(a){var c=f.generateUnknownOptionValue(a);f.unknownOption.val(c),b.prepend(f.unknownOption),Yd(f.unknownOption,!0),b.val(c)},f.updateUnknownOption=function(a){var c=f.generateUnknownOptionValue(a);f.unknownOption.val(c),Yd(f.unknownOption,!0),b.val(c)},f.generateUnknownOptionValue=function(a){return"? "+gb(a)+" ?"},f.removeUnknownOption=function(){f.unknownOption.parent()&&f.unknownOption.remove()},f.selectEmptyOption=function(){f.emptyOption&&(b.val(""),Yd(f.emptyOption,!0))},f.unselectEmptyOption=function(){f.hasEmptyOption&&Yd(f.emptyOption,!1)},c.$on("$destroy",function(){f.renderUnknownOption=p}),f.readValue=function(){var a=b.val(),c=a in f.selectValueMap?f.selectValueMap[a]:a;return f.hasOption(c)?c:null},f.writeValue=function(a){var c=b[0].options[b[0].selectedIndex];if(c&&Yd(ge(c),!1),f.hasOption(a)){f.removeUnknownOption();var d=gb(a);b.val(d in f.selectValueMap?d:a);var e=b[0].options[b[0].selectedIndex];Yd(ge(e),!0)}else f.selectUnknownOrEmptyOption(a)},f.addOption=function(a,b){if(b[0].nodeType!==Ge){ra(a,'"option value"'),""===a&&(f.hasEmptyOption=!0,f.emptyOption=b);var c=g.get(a)||0;g.set(a,c+1),d()}},f.removeOption=function(a){var b=g.get(a);b&&(1===b?(g["delete"](a),""===a&&(f.hasEmptyOption=!1,f.emptyOption=void 0)):g.set(a,b-1))},f.hasOption=function(a){return!!g.get(a)},f.$hasEmptyOption=function(){return f.hasEmptyOption},f.$isUnknownOptionSelected=function(){return b[0].options[0]===f.unknownOption[0]},f.$isEmptyOptionSelected=function(){return f.hasEmptyOption&&b[0].options[b[0].selectedIndex]===f.emptyOption[0]},f.selectUnknownOrEmptyOption=function(a){null==a&&f.emptyOption?(f.removeUnknownOption(),f.selectEmptyOption()):f.unknownOption.parent().length?f.updateUnknownOption(a):f.renderUnknownOption(a)};var h=!1,i=!1;f.registerOption=function(a,b,c,g,h){if(c.$attr.ngValue){var i,j=NaN;c.$observe("value",function(a){var c,d=b.prop("selected");u(j)&&(f.removeOption(i),delete f.selectValueMap[j],c=!0),j=gb(a),i=a,f.selectValueMap[j]=a,f.addOption(a,b),b.attr("value",j),c&&d&&e()})}else g?c.$observe("value",function(a){f.readValue();var c,d=b.prop("selected");u(i)&&(f.removeOption(i),c=!0),i=a,f.addOption(a,b),c&&d&&e()}):h?a.$watch(h,function(a,d){c.$set("value",a);var g=b.prop("selected");d!==a&&f.removeOption(d),f.addOption(a,b),d&&g&&e()}):f.addOption(c.value,b);c.$observe("disabled",function(a){("true"===a||a&&b.prop("selected"))&&(f.multiple?e(!0):(f.ngModelCtrl.$setViewValue(null),f.ngModelCtrl.$render()))}),b.on("$destroy",function(){var a=f.readValue(),b=c.value;f.removeOption(b),d(),(f.multiple&&a&&a.indexOf(b)!==-1||a===b)&&e(!0)})}}],wh=function(){function a(a,b,c,d){var e=d[0],g=d[1];if(!g)return void(e.registerOption=p);if(e.ngModelCtrl=g,b.on("change",function(){e.removeUnknownOption(),a.$apply(function(){g.$setViewValue(e.readValue())})}),c.multiple){e.multiple=!0,e.readValue=function(){var a=[];return f(b.find("option"),function(b){if(b.selected&&!b.disabled){var c=b.value;a.push(c in e.selectValueMap?e.selectValueMap[c]:c)}}),a},e.writeValue=function(a){f(b.find("option"),function(b){var c=!!a&&(P(a,b.value)||P(a,e.selectValueMap[b.value])),d=b.selected;c!==d&&Yd(ge(b),c)})};var h,i=NaN;a.$watch(function(){i!==g.$viewValue||T(h,g.$viewValue)||(h=xa(g.$viewValue),g.$render()),i=g.$viewValue}),g.$isEmpty=function(a){return!a||0===a.length}}}function b(a,b,c,d){var e=d[1];if(e){var f=d[0];e.$render=function(){f.writeValue(e.$viewValue)}}}return{restrict:"E",require:["select","?ngModel"],controller:vh,priority:1,link:{pre:a,post:b}}},xh=["$interpolate",function(a){return{restrict:"E",priority:100,compile:function(b,c){var d,e;return u(c.ngValue)||(u(c.value)?d=a(c.value,!0):(e=a(b.text(),!0),e||c.$set("value",b.text()))),function(a,b,c){var f="$selectController",g=b.parent(),h=g.data(f)||g.parent().data(f);h&&h.registerOption(a,b,c,d,e)}}}}],yh=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){d&&(c.required=!0,d.$validators.required=function(a,b){return!c.required||!d.$isEmpty(b)},c.$observe("required",function(){d.$validate()}))}}},zh=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,e){if(e){var f,g=c.ngPattern||c.pattern;c.$observe("pattern",function(a){if(x(a)&&a.length>0&&(a=new RegExp("^"+a+"$")),a&&!a.test)throw d("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",g,a,ba(b));f=a||void 0,e.$validate()}),e.$validators.pattern=function(a,b){return e.$isEmpty(b)||t(f)||f.test(b)}}}}},Ah=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){if(d){var e=-1;c.$observe("maxlength",function(a){var b=n(a);e=re(b)?-1:b,d.$validate()}),d.$validators.maxlength=function(a,b){return e<0||d.$isEmpty(b)||b.length<=e}}}}},Bh=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){if(d){var e=0;c.$observe("minlength",function(a){e=n(a)||0,d.$validate()}),d.$validators.minlength=function(a,b){return d.$isEmpty(b)||b.length>=e}}}}};return a.angular.bootstrap?void(a.console&&console.log("WARNING: Tried to load angular more than once.")):(oa(),Aa(pe),pe.module("ngLocale",[],["$provide",function(a){function b(a){a+="";var b=a.indexOf(".");return b==-1?0:a.length-b-1}function c(a,c){var d=c;void 0===d&&(d=Math.min(b(a),3));var e=Math.pow(10,d),f=(a*e|0)%e;return{v:d,f:f}}var d={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],STANDALONEMONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(a,b){var e=0|a,f=c(a,b);return 1==e&&0==f.v?d.ONE:d.OTHER}})}]),void ge(function(){ja(a.document,ka)}))}(window),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'),!function(){function a(a){return a&&(a.ownerDocument||a.document||a).documentElement}function b(a){return a&&(a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView)}function c(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function d(a){return null===a?NaN:+a}function e(a){return!isNaN(a)}function f(a){return{left:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);d<e;){var f=d+e>>>1;a(b[f],c)<0?d=f+1:e=f}return d},right:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);d<e;){var f=d+e>>>1;a(b[f],c)>0?e=f:d=f+1}return d}}}function g(a){return a.length}function h(a){for(var b=1;a*b%1;)b*=10;return b}function i(a,b){for(var c in b)Object.defineProperty(a.prototype,c,{value:b[c],enumerable:!1})}function j(){this._=Object.create(null)}function k(a){return(a+="")===ug||a[0]===vg?vg+a:a}function l(a){return(a+="")[0]===vg?a.slice(1):a}function m(a){return k(a)in this._}function n(a){return(a=k(a))in this._&&delete this._[a]}function o(){var a=[];for(var b in this._)a.push(l(b));return a}function p(){var a=0;for(var b in this._)++a;return a}function q(){for(var a in this._)return!1;return!0}function r(){this._=Object.create(null)}function s(a){return a}function t(a,b,c){return function(){var d=c.apply(b,arguments);return d===b?a:d}}function u(a,b){if(b in a)return b;b=b.charAt(0).toUpperCase()+b.slice(1);for(var c=0,d=wg.length;c<d;++c){var e=wg[c]+b;if(e in a)return e}}function v(){}function w(){}function x(a){function b(){for(var b,d=c,e=-1,f=d.length;++e<f;)(b=d[e].on)&&b.apply(this,arguments);return a}var c=[],d=new j;return b.on=function(b,e){var f,g=d.get(b);return arguments.length<2?g&&g.on:(g&&(g.on=null,c=c.slice(0,f=c.indexOf(g)).concat(c.slice(f+1)),d.remove(b)),e&&c.push(d.set(b,{on:e})),a)},b}function y(){hg.event.preventDefault()}function z(){for(var a,b=hg.event;a=b.sourceEvent;)b=a;return b}function A(a){for(var b=new w,c=0,d=arguments.length;++c<d;)b[arguments[c]]=x(b);return b.of=function(c,d){return function(e){try{var f=e.sourceEvent=hg.event;e.target=a,hg.event=e,b[e.type].apply(c,d)}finally{hg.event=f}}},b}function B(a){return yg(a,Cg),a}function C(a){return"function"==typeof a?a:function(){return zg(a,this)}}function D(a){return"function"==typeof a?a:function(){return Ag(a,this)}}function E(a,b){function c(){this.removeAttribute(a)}function d(){this.removeAttributeNS(a.space,a.local)}function e(){this.setAttribute(a,b)}function f(){this.setAttributeNS(a.space,a.local,b)}function g(){var c=b.apply(this,arguments);null==c?this.removeAttribute(a):this.setAttribute(a,c)}function h(){var c=b.apply(this,arguments);null==c?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,c)}return a=hg.ns.qualify(a),null==b?a.local?d:c:"function"==typeof b?a.local?h:g:a.local?f:e}function F(a){return a.trim().replace(/\s+/g," ")}function G(a){return new RegExp("(?:^|\\s+)"+hg.requote(a)+"(?:\\s+|$)","g")}function H(a){return(a+"").trim().split(/^|\s+/)}function I(a,b){function c(){for(var c=-1;++c<e;)a[c](this,b)}function d(){for(var c=-1,d=b.apply(this,arguments);++c<e;)a[c](this,d)}a=H(a).map(J);var e=a.length;return"function"==typeof b?d:c}function J(a){var b=G(a);return function(c,d){if(e=c.classList)return d?e.add(a):e.remove(a);var e=c.getAttribute("class")||"";d?(b.lastIndex=0,b.test(e)||c.setAttribute("class",F(e+" "+a))):c.setAttribute("class",F(e.replace(b," ")))}}function K(a,b,c){function d(){this.style.removeProperty(a)}function e(){this.style.setProperty(a,b,c)}function f(){var d=b.apply(this,arguments);null==d?this.style.removeProperty(a):this.style.setProperty(a,d,c)}return null==b?d:"function"==typeof b?f:e}function L(a,b){function c(){delete this[a]}function d(){this[a]=b}function e(){var c=b.apply(this,arguments);null==c?delete this[a]:this[a]=c}return null==b?c:"function"==typeof b?e:d}function M(a){function b(){var b=this.ownerDocument,c=this.namespaceURI;return c===Dg&&b.documentElement.namespaceURI===Dg?b.createElement(a):b.createElementNS(c,a)}function c(){return this.ownerDocument.createElementNS(a.space,a.local)}return"function"==typeof a?a:(a=hg.ns.qualify(a)).local?c:b}function N(){var a=this.parentNode;a&&a.removeChild(this)}function O(a){return{__data__:a}}function P(a){return function(){return Bg(this,a)}}function Q(a){return arguments.length||(a=c),function(b,c){return b&&c?a(b.__data__,c.__data__):!b-!c}}function R(a,b){for(var c=0,d=a.length;c<d;c++)for(var e,f=a[c],g=0,h=f.length;g<h;g++)(e=f[g])&&b(e,g,c);return a}function S(a){return yg(a,Fg),a}function T(a){var b,c;return function(d,e,f){var g,h=a[f].update,i=h.length;for(f!=c&&(c=f,b=0),e>=b&&(b=e+1);!(g=h[b])&&++b<i;);return g}}function U(a,b,c){function d(){var b=this[g];b&&(this.removeEventListener(a,b,b.$),delete this[g])}function e(){var e=i(b,jg(arguments));d.call(this),this.addEventListener(a,this[g]=e,e.$=c),e._=b}function f(){var b,c=new RegExp("^__on([^.]+)"+hg.requote(a)+"$");for(var d in this)if(b=d.match(c)){var e=this[d];this.removeEventListener(b[1],e,e.$),delete this[d]}}var g="__on"+a,h=a.indexOf("."),i=V;h>0&&(a=a.slice(0,h));var j=Gg.get(a);return j&&(a=j,i=W),h?b?e:d:b?v:f}function V(a,b){return function(c){var d=hg.event;hg.event=c,b[0]=this.__data__;try{a.apply(this,b)}finally{hg.event=d}}}function W(a,b){var c=V(a,b);return function(a){var b=this,d=a.relatedTarget;d&&(d===b||8&d.compareDocumentPosition(b))||c.call(b,a)}}function X(c){var d=".dragsuppress-"+ ++Ig,e="click"+d,f=hg.select(b(c)).on("touchmove"+d,y).on("dragstart"+d,y).on("selectstart"+d,y);if(null==Hg&&(Hg=!("onselectstart"in c)&&u(c.style,"userSelect")),Hg){var g=a(c).style,h=g[Hg];g[Hg]="none"}return function(a){if(f.on(d,null),Hg&&(g[Hg]=h),a){var b=function(){f.on(e,null)};f.on(e,function(){y(),b()},!0),setTimeout(b,0)}}}function Y(a,c){c.changedTouches&&(c=c.changedTouches[0]);var d=a.ownerSVGElement||a;if(d.createSVGPoint){var e=d.createSVGPoint();if(Jg<0){var f=b(a);if(f.scrollX||f.scrollY){d=hg.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var g=d[0][0].getScreenCTM();Jg=!(g.f||g.e),d.remove()}}return Jg?(e.x=c.pageX,e.y=c.pageY):(e.x=c.clientX,e.y=c.clientY),e=e.matrixTransform(a.getScreenCTM().inverse()),[e.x,e.y]}var h=a.getBoundingClientRect();return[c.clientX-h.left-a.clientLeft,c.clientY-h.top-a.clientTop]}function Z(){return hg.event.changedTouches[0].identifier}function $(a){return a>0?1:a<0?-1:0}function _(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])}function aa(a){return a>1?0:a<-1?Mg:Math.acos(a)}function ba(a){return a>1?Pg:a<-1?-Pg:Math.asin(a)}function ca(a){return((a=Math.exp(a))-1/a)/2}function da(a){return((a=Math.exp(a))+1/a)/2}function ea(a){return((a=Math.exp(2*a))-1)/(a+1)}function fa(a){return(a=Math.sin(a/2))*a}function ga(){}function ha(a,b,c){return this instanceof ha?(this.h=+a,this.s=+b,void(this.l=+c)):arguments.length<2?a instanceof ha?new ha(a.h,a.s,a.l):va(""+a,wa,ha):new ha(a,b,c)}function ia(a,b,c){function d(a){return a>360?a-=360:a<0&&(a+=360),a<60?f+(g-f)*a/60:a<180?g:a<240?f+(g-f)*(240-a)/60:f}function e(a){return Math.round(255*d(a))}var f,g;return a=isNaN(a)?0:(a%=360)<0?a+360:a,b=isNaN(b)?0:b<0?0:b>1?1:b,c=c<0?0:c>1?1:c,g=c<=.5?c*(1+b):c+b-c*b,f=2*c-g,new ra(e(a+120),e(a),e(a-120))}function ja(a,b,c){return this instanceof ja?(this.h=+a,this.c=+b,void(this.l=+c)):arguments.length<2?a instanceof ja?new ja(a.h,a.c,a.l):a instanceof la?na(a.l,a.a,a.b):na((a=xa((a=hg.rgb(a)).r,a.g,a.b)).l,a.a,a.b):new ja(a,b,c)}function ka(a,b,c){return isNaN(a)&&(a=0),isNaN(b)&&(b=0),new la(c,Math.cos(a*=Qg)*b,Math.sin(a)*b)}function la(a,b,c){return this instanceof la?(this.l=+a,this.a=+b,void(this.b=+c)):arguments.length<2?a instanceof la?new la(a.l,a.a,a.b):a instanceof ja?ka(a.h,a.c,a.l):xa((a=ra(a)).r,a.g,a.b):new la(a,b,c)}function ma(a,b,c){var d=(a+16)/116,e=d+b/500,f=d-c/200;return e=oa(e)*_g,d=oa(d)*ah,f=oa(f)*bh,new ra(qa(3.2404542*e-1.5371385*d-.4985314*f),qa(-.969266*e+1.8760108*d+.041556*f),qa(.0556434*e-.2040259*d+1.0572252*f))}function na(a,b,c){return a>0?new ja(Math.atan2(c,b)*Rg,Math.sqrt(b*b+c*c),a):new ja(NaN,NaN,a)}function oa(a){return a>.206893034?a*a*a:(a-4/29)/7.787037}function pa(a){return a>.008856?Math.pow(a,1/3):7.787037*a+4/29}function qa(a){return Math.round(255*(a<=.00304?12.92*a:1.055*Math.pow(a,1/2.4)-.055))}function ra(a,b,c){return this instanceof ra?(this.r=~~a,this.g=~~b,void(this.b=~~c)):arguments.length<2?a instanceof ra?new ra(a.r,a.g,a.b):va(""+a,ra,ia):new ra(a,b,c)}function sa(a){return new ra(a>>16,a>>8&255,255&a)}function ta(a){return sa(a)+""}function ua(a){return a<16?"0"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function va(a,b,c){var d,e,f,g=0,h=0,i=0;if(d=/([a-z]+)\((.*)\)/.exec(a=a.toLowerCase()))switch(e=d[2].split(","),d[1]){case"hsl":return c(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100);case"rgb":return b(za(e[0]),za(e[1]),za(e[2]))}return(f=eh.get(a))?b(f.r,f.g,f.b):(null==a||"#"!==a.charAt(0)||isNaN(f=parseInt(a.slice(1),16))||(4===a.length?(g=(3840&f)>>4,g=g>>4|g,h=240&f,h=h>>4|h,i=15&f,i=i<<4|i):7===a.length&&(g=(16711680&f)>>16,h=(65280&f)>>8,i=255&f)),b(g,h,i))}function wa(a,b,c){var d,e,f=Math.min(a/=255,b/=255,c/=255),g=Math.max(a,b,c),h=g-f,i=(g+f)/2;return h?(e=i<.5?h/(g+f):h/(2-g-f),d=a==g?(b-c)/h+(b<c?6:0):b==g?(c-a)/h+2:(a-b)/h+4,d*=60):(d=NaN,e=i>0&&i<1?0:d),new ha(d,e,i)}function xa(a,b,c){a=ya(a),b=ya(b),c=ya(c);var d=pa((.4124564*a+.3575761*b+.1804375*c)/_g),e=pa((.2126729*a+.7151522*b+.072175*c)/ah),f=pa((.0193339*a+.119192*b+.9503041*c)/bh);return la(116*e-16,500*(d-e),200*(e-f))}function ya(a){return(a/=255)<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4)}function za(a){var b=parseFloat(a);return"%"===a.charAt(a.length-1)?Math.round(2.55*b):b}function Aa(a){return"function"==typeof a?a:function(){return a}}function Ba(a){return function(b,c,d){return 2===arguments.length&&"function"==typeof c&&(d=c,c=null),Ca(b,c,a,d)}}function Ca(a,b,c,d){function e(){var a,b=i.status;if(!b&&Ea(i)||b>=200&&b<300||304===b){try{a=c.call(f,i)}catch(d){return void g.error.call(f,d)}g.load.call(f,a)}else g.error.call(f,i)}var f={},g=hg.dispatch("beforesend","progress","load","error"),h={},i=new XMLHttpRequest,j=null;return!this.XDomainRequest||"withCredentials"in i||!/^(http(s)?:)?\/\//.test(a)||(i=new XDomainRequest),"onload"in i?i.onload=i.onerror=e:i.onreadystatechange=function(){i.readyState>3&&e()},i.onprogress=function(a){var b=hg.event;hg.event=a;try{g.progress.call(f,i)}finally{hg.event=b}},f.header=function(a,b){return a=(a+"").toLowerCase(),arguments.length<2?h[a]:(null==b?delete h[a]:h[a]=b+"",f)},f.mimeType=function(a){return arguments.length?(b=null==a?null:a+"",f):b},f.responseType=function(a){return arguments.length?(j=a,f):j},f.response=function(a){return c=a,f},["get","post"].forEach(function(a){f[a]=function(){return f.send.apply(f,[a].concat(jg(arguments)))}}),f.send=function(c,d,e){if(2===arguments.length&&"function"==typeof d&&(e=d,d=null),i.open(c,a,!0),null==b||"accept"in h||(h.accept=b+",*/*"),i.setRequestHeader)for(var k in h)i.setRequestHeader(k,h[k]);return null!=b&&i.overrideMimeType&&i.overrideMimeType(b),null!=j&&(i.responseType=j),null!=e&&f.on("error",e).on("load",function(a){e(null,a)}),g.beforesend.call(f,i),i.send(null==d?null:d),f},f.abort=function(){return i.abort(),f},hg.rebind(f,g,"on"),null==d?f:f.get(Da(d))}function Da(a){return 1===a.length?function(b,c){a(null==b?c:null)}:a}function Ea(a){var b=a.responseType;return b&&"text"!==b?a.response:a.responseText}function Fa(a,b,c){var d=arguments.length;d<2&&(b=0),d<3&&(c=Date.now());var e=c+b,f={c:a,t:e,n:null};return gh?gh.n=f:fh=f,gh=f,hh||(ih=clearTimeout(ih),hh=1,jh(Ga)),f}function Ga(){var a=Ha(),b=Ia()-a;b>24?(isFinite(b)&&(clearTimeout(ih),ih=setTimeout(Ga,b)),hh=0):(hh=1,jh(Ga))}function Ha(){for(var a=Date.now(),b=fh;b;)a>=b.t&&b.c(a-b.t)&&(b.c=null),b=b.n;return a}function Ia(){for(var a,b=fh,c=1/0;b;)b.c?(b.t<c&&(c=b.t),b=(a=b).n):b=a?a.n=b.n:fh=b.n;return gh=a,c}function Ja(a,b){return b-(a?Math.ceil(Math.log(a)/Math.LN10):1)}function Ka(a,b){var c=Math.pow(10,3*tg(8-b));return{scale:b>8?function(a){return a/c}:function(a){return a*c},symbol:a}}function La(a){var b=a.decimal,c=a.thousands,d=a.grouping,e=a.currency,f=d&&c?function(a,b){for(var e=a.length,f=[],g=0,h=d[0],i=0;e>0&&h>0&&(i+h+1>b&&(h=Math.max(1,b-i)),f.push(a.substring(e-=h,e+h)),!((i+=h+1)>b));)h=d[g=(g+1)%d.length];return f.reverse().join(c)}:s;return function(a){var c=lh.exec(a),d=c[1]||" ",g=c[2]||">",h=c[3]||"-",i=c[4]||"",j=c[5],k=+c[6],l=c[7],m=c[8],n=c[9],o=1,p="",q="",r=!1,s=!0;switch(m&&(m=+m.substring(1)),(j||"0"===d&&"="===g)&&(j=d="0",g="="),n){case"n":l=!0,n="g";break;case"%":o=100,q="%",n="f";break;case"p":o=100,q="%",n="r";break;case"b":case"o":case"x":case"X":"#"===i&&(p="0"+n.toLowerCase());case"c":s=!1;case"d":r=!0,m=0;break;case"s":o=-1,n="r"}"$"===i&&(p=e[0],q=e[1]),"r"!=n||m||(n="g"),null!=m&&("g"==n?m=Math.max(1,Math.min(21,m)):"e"!=n&&"f"!=n||(m=Math.max(0,Math.min(20,m)))),n=mh.get(n)||Ma;var t=j&&l;return function(a){var c=q;if(r&&a%1)return"";var e=a<0||0===a&&1/a<0?(a=-a,"-"):"-"===h?"":h;if(o<0){var i=hg.formatPrefix(a,m);a=i.scale(a),c=i.symbol+q}else a*=o;a=n(a,m);var u,v,w=a.lastIndexOf(".");if(w<0){var x=s?a.lastIndexOf("e"):-1;x<0?(u=a,v=""):(u=a.substring(0,x),v=a.substring(x))}else u=a.substring(0,w),v=b+a.substring(w+1);!j&&l&&(u=f(u,1/0));var y=p.length+u.length+v.length+(t?0:e.length),z=y<k?new Array(y=k-y+1).join(d):"";return t&&(u=f(z+u,z.length?k-v.length:1/0)),e+=p,a=u+v,("<"===g?e+a+z:">"===g?z+e+a:"^"===g?z.substring(0,y>>=1)+e+a+z.substring(y):e+(t?a:z+a))+c}}}function Ma(a){return a+""}function Na(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Oa(a,b,c){function d(b){var c=a(b),d=f(c,1);return b-c<d-b?c:d}function e(c){return b(c=a(new oh(c-1)),1),c}function f(a,c){return b(a=new oh((+a)),c),a}function g(a,d,f){var g=e(a),h=[];if(f>1)for(;g<d;)c(g)%f||h.push(new Date((+g))),b(g,1);else for(;g<d;)h.push(new Date((+g))),b(g,1);return h}function h(a,b,c){try{oh=Na;var d=new Na;return d._=a,g(d,b,c)}finally{oh=Date}}a.floor=a,a.round=d,a.ceil=e,a.offset=f,a.range=g;var i=a.utc=Pa(a);return i.floor=i,i.round=Pa(d),i.ceil=Pa(e),i.offset=Pa(f),i.range=h,a}function Pa(a){return function(b,c){try{oh=Na;var d=new Na;return d._=b,a(d,c)._}finally{oh=Date}}}function Qa(a){function b(a){function b(b){for(var c,e,f,g=[],h=-1,i=0;++h<d;)37===a.charCodeAt(h)&&(g.push(a.slice(i,h)),null!=(e=qh[c=a.charAt(++h)])&&(c=a.charAt(++h)),(f=C[c])&&(c=f(b,null==e?"e"===c?" ":"0":e)),g.push(c),i=h+1);return g.push(a.slice(i,h)),g.join("")}var d=a.length;return b.parse=function(b){var d={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},e=c(d,a,b,0);if(e!=b.length)return null;"p"in d&&(d.H=d.H%12+12*d.p);var f=null!=d.Z&&oh!==Na,g=new(f?Na:oh);return"j"in d?g.setFullYear(d.y,0,d.j):"W"in d||"U"in d?("w"in d||(d.w="W"in d?1:0),g.setFullYear(d.y,0,1),g.setFullYear(d.y,0,"W"in d?(d.w+6)%7+7*d.W-(g.getDay()+5)%7:d.w+7*d.U-(g.getDay()+6)%7)):g.setFullYear(d.y,d.m,d.d),g.setHours(d.H+(d.Z/100|0),d.M+d.Z%100,d.S,d.L),f?g._:g},b.toString=function(){return a},b}function c(a,b,c,d){for(var e,f,g,h=0,i=b.length,j=c.length;h<i;){if(d>=j)return-1;if(e=b.charCodeAt(h++),37===e){if(g=b.charAt(h++),f=D[g in qh?b.charAt(h++):g],!f||(d=f(a,c,d))<0)return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function d(a,b,c){w.lastIndex=0;var d=w.exec(b.slice(c));return d?(a.w=x.get(d[0].toLowerCase()),c+d[0].length):-1}function e(a,b,c){u.lastIndex=0;var d=u.exec(b.slice(c));return d?(a.w=v.get(d[0].toLowerCase()),c+d[0].length):-1}function f(a,b,c){A.lastIndex=0;var d=A.exec(b.slice(c));return d?(a.m=B.get(d[0].toLowerCase()),c+d[0].length):-1}function g(a,b,c){y.lastIndex=0;var d=y.exec(b.slice(c));return d?(a.m=z.get(d[0].toLowerCase()),c+d[0].length):-1}function h(a,b,d){return c(a,C.c.toString(),b,d)}function i(a,b,d){return c(a,C.x.toString(),b,d)}function j(a,b,d){return c(a,C.X.toString(),b,d)}function k(a,b,c){var d=t.get(b.slice(c,c+=2).toLowerCase());return null==d?-1:(a.p=d,c)}var l=a.dateTime,m=a.date,n=a.time,o=a.periods,p=a.days,q=a.shortDays,r=a.months,s=a.shortMonths;b.utc=function(a){function c(a){try{oh=Na;var b=new oh;return b._=a,d(b)}finally{oh=Date}}var d=b(a);return c.parse=function(a){try{oh=Na;var b=d.parse(a);return b&&b._}finally{oh=Date}},c.toString=d.toString,c},b.multi=b.utc.multi=ib;var t=hg.map(),u=Sa(p),v=Ta(p),w=Sa(q),x=Ta(q),y=Sa(r),z=Ta(r),A=Sa(s),B=Ta(s);o.forEach(function(a,b){t.set(a.toLowerCase(),b)});var C={a:function(a){return q[a.getDay()]},A:function(a){return p[a.getDay()]},b:function(a){return s[a.getMonth()]},B:function(a){return r[a.getMonth()]},c:b(l),d:function(a,b){return Ra(a.getDate(),b,2)},e:function(a,b){return Ra(a.getDate(),b,2)},H:function(a,b){return Ra(a.getHours(),b,2)},I:function(a,b){return Ra(a.getHours()%12||12,b,2)},j:function(a,b){return Ra(1+nh.dayOfYear(a),b,3)},L:function(a,b){return Ra(a.getMilliseconds(),b,3)},m:function(a,b){return Ra(a.getMonth()+1,b,2)},M:function(a,b){return Ra(a.getMinutes(),b,2)},p:function(a){return o[+(a.getHours()>=12)]},S:function(a,b){return Ra(a.getSeconds(),b,2)},U:function(a,b){return Ra(nh.sundayOfYear(a),b,2)},w:function(a){return a.getDay()},W:function(a,b){return Ra(nh.mondayOfYear(a),b,2)},x:b(m),X:b(n),y:function(a,b){return Ra(a.getFullYear()%100,b,2)},Y:function(a,b){return Ra(a.getFullYear()%1e4,b,4)},Z:gb,"%":function(){return"%"}},D={a:d,A:e,b:f,B:g,c:h,d:ab,e:ab,H:cb,I:cb,j:bb,L:fb,m:_a,M:db,p:k,S:eb,U:Va,w:Ua,W:Wa,x:i,X:j,y:Ya,Y:Xa,Z:Za,"%":hb};return b}function Ra(a,b,c){var d=a<0?"-":"",e=(d?-a:a)+"",f=e.length;return d+(f<c?new Array(c-f+1).join(b)+e:e)}function Sa(a){return new RegExp("^(?:"+a.map(hg.requote).join("|")+")","i")}function Ta(a){for(var b=new j,c=-1,d=a.length;++c<d;)b.set(a[c].toLowerCase(),c);return b}function Ua(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+1));return d?(a.w=+d[0],c+d[0].length):-1}function Va(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c));return d?(a.U=+d[0],c+d[0].length):-1}function Wa(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c));return d?(a.W=+d[0],c+d[0].length):-1}function Xa(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+4));return d?(a.y=+d[0],c+d[0].length):-1}function Ya(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+2));return d?(a.y=$a(+d[0]),c+d[0].length):-1}function Za(a,b,c){return/^[+-]\d{4}$/.test(b=b.slice(c,c+5))?(a.Z=-b,c+5):-1}function $a(a){return a+(a>68?1900:2e3)}function _a(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+2));return d?(a.m=d[0]-1,c+d[0].length):-1}function ab(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+2));return d?(a.d=+d[0],c+d[0].length):-1}function bb(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+3));return d?(a.j=+d[0],c+d[0].length):-1}function cb(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+2));return d?(a.H=+d[0],c+d[0].length):-1}function db(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+2));return d?(a.M=+d[0],c+d[0].length):-1}function eb(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+2));return d?(a.S=+d[0],c+d[0].length):-1}function fb(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+3));return d?(a.L=+d[0],c+d[0].length):-1}function gb(a){var b=a.getTimezoneOffset(),c=b>0?"-":"+",d=tg(b)/60|0,e=tg(b)%60;return c+Ra(d,"0",2)+Ra(e,"0",2)}function hb(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+1));return d?c+d[0].length:-1}function ib(a){for(var b=a.length,c=-1;++c<b;)a[c][0]=this(a[c][0]);return function(b){for(var c=0,d=a[c];!d[1](b);)d=a[++c];return d[0](b)}}function jb(){}function kb(a,b,c){var d=c.s=a+b,e=d-a,f=d-e;c.t=a-f+(b-e)}function lb(a,b){a&&wh.hasOwnProperty(a.type)&&wh[a.type](a,b)}function mb(a,b,c){var d,e=-1,f=a.length-c;for(b.lineStart();++e<f;)d=a[e],b.point(d[0],d[1],d[2]);b.lineEnd()}function nb(a,b){var c=-1,d=a.length;for(b.polygonStart();++c<d;)mb(a[c],b,1);b.polygonEnd()}function ob(){function a(a,b){a*=Qg,b=b*Qg/2+Mg/4;var c=a-d,g=c>=0?1:-1,h=g*c,i=Math.cos(b),j=Math.sin(b),k=f*j,l=e*i+k*Math.cos(h),m=k*g*Math.sin(h);yh.add(Math.atan2(m,l)),d=a,e=i,f=j}var b,c,d,e,f;zh.point=function(g,h){zh.point=a,d=(b=g)*Qg,e=Math.cos(h=(c=h)*Qg/2+Mg/4),f=Math.sin(h)},zh.lineEnd=function(){a(b,c)}}function pb(a){var b=a[0],c=a[1],d=Math.cos(c);return[d*Math.cos(b),d*Math.sin(b),Math.sin(c)]}function qb(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function rb(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function sb(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function tb(a,b){return[a[0]*b,a[1]*b,a[2]*b]}function ub(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);a[0]/=b,a[1]/=b,a[2]/=b}function vb(a){return[Math.atan2(a[1],a[0]),ba(a[2])]}function wb(a,b){return tg(a[0]-b[0])<Kg&&tg(a[1]-b[1])<Kg}function xb(a,b){a*=Qg;var c=Math.cos(b*=Qg);yb(c*Math.cos(a),c*Math.sin(a),Math.sin(b))}function yb(a,b,c){++Ah,Ch+=(a-Ch)/Ah,Dh+=(b-Dh)/Ah,Eh+=(c-Eh)/Ah}function zb(){function a(a,e){a*=Qg;var f=Math.cos(e*=Qg),g=f*Math.cos(a),h=f*Math.sin(a),i=Math.sin(e),j=Math.atan2(Math.sqrt((j=c*i-d*h)*j+(j=d*g-b*i)*j+(j=b*h-c*g)*j),b*g+c*h+d*i);Bh+=j,Fh+=j*(b+(b=g)),Gh+=j*(c+(c=h)),Hh+=j*(d+(d=i)),yb(b,c,d)}var b,c,d;Lh.point=function(e,f){e*=Qg;var g=Math.cos(f*=Qg);b=g*Math.cos(e),c=g*Math.sin(e),d=Math.sin(f),Lh.point=a,yb(b,c,d)}}function Ab(){Lh.point=xb}function Bb(){function a(a,b){a*=Qg;var c=Math.cos(b*=Qg),g=c*Math.cos(a),h=c*Math.sin(a),i=Math.sin(b),j=e*i-f*h,k=f*g-d*i,l=d*h-e*g,m=Math.sqrt(j*j+k*k+l*l),n=d*g+e*h+f*i,o=m&&-aa(n)/m,p=Math.atan2(m,n);Ih+=o*j,Jh+=o*k,Kh+=o*l,Bh+=p,Fh+=p*(d+(d=g)),Gh+=p*(e+(e=h)),Hh+=p*(f+(f=i)),yb(d,e,f)}var b,c,d,e,f;Lh.point=function(g,h){b=g,c=h,Lh.point=a,g*=Qg;var i=Math.cos(h*=Qg);d=i*Math.cos(g),e=i*Math.sin(g),f=Math.sin(h),yb(d,e,f)},Lh.lineEnd=function(){a(b,c),Lh.lineEnd=Ab,Lh.point=xb}}function Cb(a,b){function c(c,d){return c=a(c,d),b(c[0],c[1])}return a.invert&&b.invert&&(c.invert=function(c,d){return c=b.invert(c,d),c&&a.invert(c[0],c[1])}),c}function Db(){return!0}function Eb(a,b,c,d,e){var f=[],g=[];if(a.forEach(function(a){if(!((b=a.length-1)<=0)){var b,c=a[0],d=a[b];if(wb(c,d)){e.lineStart();for(var h=0;h<b;++h)e.point((c=a[h])[0],c[1]);return void e.lineEnd()}var i=new Gb(c,a,null,(!0)),j=new Gb(c,null,i,(!1));i.o=j,f.push(i),g.push(j),i=new Gb(d,a,null,(!1)),
+j=new Gb(d,null,i,(!0)),i.o=j,f.push(i),g.push(j)}}),g.sort(b),Fb(f),Fb(g),f.length){for(var h=0,i=c,j=g.length;h<j;++h)g[h].e=i=!i;for(var k,l,m=f[0];;){for(var n=m,o=!0;n.v;)if((n=n.n)===m)return;k=n.z,e.lineStart();do{if(n.v=n.o.v=!0,n.e){if(o)for(var h=0,j=k.length;h<j;++h)e.point((l=k[h])[0],l[1]);else d(n.x,n.n.x,1,e);n=n.n}else{if(o){k=n.p.z;for(var h=k.length-1;h>=0;--h)e.point((l=k[h])[0],l[1])}else d(n.x,n.p.x,-1,e);n=n.p}n=n.o,k=n.z,o=!o}while(!n.v);e.lineEnd()}}}function Fb(a){if(b=a.length){for(var b,c,d=0,e=a[0];++d<b;)e.n=c=a[d],c.p=e,e=c;e.n=c=a[0],c.p=e}}function Gb(a,b,c,d){this.x=a,this.z=b,this.o=c,this.e=d,this.v=!1,this.n=this.p=null}function Hb(a,b,c,d){return function(e,f){function g(b,c){var d=e(b,c);a(b=d[0],c=d[1])&&f.point(b,c)}function h(a,b){var c=e(a,b);q.point(c[0],c[1])}function i(){s.point=h,q.lineStart()}function j(){s.point=g,q.lineEnd()}function k(a,b){p.push([a,b]);var c=e(a,b);u.point(c[0],c[1])}function l(){u.lineStart(),p=[]}function m(){k(p[0][0],p[0][1]),u.lineEnd();var a,b=u.clean(),c=t.buffer(),d=c.length;if(p.pop(),o.push(p),p=null,d)if(1&b){a=c[0];var e,d=a.length-1,g=-1;if(d>0){for(v||(f.polygonStart(),v=!0),f.lineStart();++g<d;)f.point((e=a[g])[0],e[1]);f.lineEnd()}}else d>1&&2&b&&c.push(c.pop().concat(c.shift())),n.push(c.filter(Ib))}var n,o,p,q=b(f),r=e.invert(d[0],d[1]),s={point:g,lineStart:i,lineEnd:j,polygonStart:function(){s.point=k,s.lineStart=l,s.lineEnd=m,n=[],o=[]},polygonEnd:function(){s.point=g,s.lineStart=i,s.lineEnd=j,n=hg.merge(n);var a=Ob(r,o);n.length?(v||(f.polygonStart(),v=!0),Eb(n,Kb,a,c,f)):a&&(v||(f.polygonStart(),v=!0),f.lineStart(),c(null,null,1,f),f.lineEnd()),v&&(f.polygonEnd(),v=!1),n=o=null},sphere:function(){f.polygonStart(),f.lineStart(),c(null,null,1,f),f.lineEnd(),f.polygonEnd()}},t=Jb(),u=b(t),v=!1;return s}}function Ib(a){return a.length>1}function Jb(){var a,b=[];return{lineStart:function(){b.push(a=[])},point:function(b,c){a.push([b,c])},lineEnd:v,buffer:function(){var c=b;return b=[],a=null,c},rejoin:function(){b.length>1&&b.push(b.pop().concat(b.shift()))}}}function Kb(a,b){return((a=a.x)[0]<0?a[1]-Pg-Kg:Pg-a[1])-((b=b.x)[0]<0?b[1]-Pg-Kg:Pg-b[1])}function Lb(a){var b,c=NaN,d=NaN,e=NaN;return{lineStart:function(){a.lineStart(),b=1},point:function(f,g){var h=f>0?Mg:-Mg,i=tg(f-c);tg(i-Mg)<Kg?(a.point(c,d=(d+g)/2>0?Pg:-Pg),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),a.point(f,d),b=0):e!==h&&i>=Mg&&(tg(c-e)<Kg&&(c-=e*Kg),tg(f-h)<Kg&&(f-=h*Kg),d=Mb(c,d,f,g),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),b=0),a.point(c=f,d=g),e=h},lineEnd:function(){a.lineEnd(),c=d=NaN},clean:function(){return 2-b}}}function Mb(a,b,c,d){var e,f,g=Math.sin(a-c);return tg(g)>Kg?Math.atan((Math.sin(b)*(f=Math.cos(d))*Math.sin(c)-Math.sin(d)*(e=Math.cos(b))*Math.sin(a))/(e*f*g)):(b+d)/2}function Nb(a,b,c,d){var e;if(null==a)e=c*Pg,d.point(-Mg,e),d.point(0,e),d.point(Mg,e),d.point(Mg,0),d.point(Mg,-e),d.point(0,-e),d.point(-Mg,-e),d.point(-Mg,0),d.point(-Mg,e);else if(tg(a[0]-b[0])>Kg){var f=a[0]<b[0]?Mg:-Mg;e=c*f/2,d.point(-f,e),d.point(0,e),d.point(f,e)}else d.point(b[0],b[1])}function Ob(a,b){var c=a[0],d=a[1],e=[Math.sin(c),-Math.cos(c),0],f=0,g=0;yh.reset();for(var h=0,i=b.length;h<i;++h){var j=b[h],k=j.length;if(k)for(var l=j[0],m=l[0],n=l[1]/2+Mg/4,o=Math.sin(n),p=Math.cos(n),q=1;;){q===k&&(q=0),a=j[q];var r=a[0],s=a[1]/2+Mg/4,t=Math.sin(s),u=Math.cos(s),v=r-m,w=v>=0?1:-1,x=w*v,y=x>Mg,z=o*t;if(yh.add(Math.atan2(z*w*Math.sin(x),p*u+z*Math.cos(x))),f+=y?v+w*Ng:v,y^m>=c^r>=c){var A=rb(pb(l),pb(a));ub(A);var B=rb(e,A);ub(B);var C=(y^v>=0?-1:1)*ba(B[2]);(d>C||d===C&&(A[0]||A[1]))&&(g+=y^v>=0?1:-1)}if(!q++)break;m=r,o=t,p=u,l=a}}return(f<-Kg||f<Kg&&yh<-Kg)^1&g}function Pb(a){function b(a,b){return Math.cos(a)*Math.cos(b)>f}function c(a){var c,f,i,j,k;return{lineStart:function(){j=i=!1,k=1},point:function(l,m){var n,o=[l,m],p=b(l,m),q=g?p?0:e(l,m):p?e(l+(l<0?Mg:-Mg),m):0;if(!c&&(j=i=p)&&a.lineStart(),p!==i&&(n=d(c,o),(wb(c,n)||wb(o,n))&&(o[0]+=Kg,o[1]+=Kg,p=b(o[0],o[1]))),p!==i)k=0,p?(a.lineStart(),n=d(o,c),a.point(n[0],n[1])):(n=d(c,o),a.point(n[0],n[1]),a.lineEnd()),c=n;else if(h&&c&&g^p){var r;q&f||!(r=d(o,c,!0))||(k=0,g?(a.lineStart(),a.point(r[0][0],r[0][1]),a.point(r[1][0],r[1][1]),a.lineEnd()):(a.point(r[1][0],r[1][1]),a.lineEnd(),a.lineStart(),a.point(r[0][0],r[0][1])))}!p||c&&wb(c,o)||a.point(o[0],o[1]),c=o,i=p,f=q},lineEnd:function(){i&&a.lineEnd(),c=null},clean:function(){return k|(j&&i)<<1}}}function d(a,b,c){var d=pb(a),e=pb(b),g=[1,0,0],h=rb(d,e),i=qb(h,h),j=h[0],k=i-j*j;if(!k)return!c&&a;var l=f*i/k,m=-f*j/k,n=rb(g,h),o=tb(g,l),p=tb(h,m);sb(o,p);var q=n,r=qb(o,q),s=qb(q,q),t=r*r-s*(qb(o,o)-1);if(!(t<0)){var u=Math.sqrt(t),v=tb(q,(-r-u)/s);if(sb(v,o),v=vb(v),!c)return v;var w,x=a[0],y=b[0],z=a[1],A=b[1];y<x&&(w=x,x=y,y=w);var B=y-x,C=tg(B-Mg)<Kg,D=C||B<Kg;if(!C&&A<z&&(w=z,z=A,A=w),D?C?z+A>0^v[1]<(tg(v[0]-x)<Kg?z:A):z<=v[1]&&v[1]<=A:B>Mg^(x<=v[0]&&v[0]<=y)){var E=tb(q,(-r+u)/s);return sb(E,o),[v,vb(E)]}}}function e(b,c){var d=g?a:Mg-a,e=0;return b<-d?e|=1:b>d&&(e|=2),c<-d?e|=4:c>d&&(e|=8),e}var f=Math.cos(a),g=f>0,h=tg(f)>Kg,i=oc(a,6*Qg);return Hb(b,c,i,g?[0,-a]:[-Mg,a-Mg])}function Qb(a,b,c,d){return function(e){var f,g=e.a,h=e.b,i=g.x,j=g.y,k=h.x,l=h.y,m=0,n=1,o=k-i,p=l-j;if(f=a-i,o||!(f>0)){if(f/=o,o<0){if(f<m)return;f<n&&(n=f)}else if(o>0){if(f>n)return;f>m&&(m=f)}if(f=c-i,o||!(f<0)){if(f/=o,o<0){if(f>n)return;f>m&&(m=f)}else if(o>0){if(f<m)return;f<n&&(n=f)}if(f=b-j,p||!(f>0)){if(f/=p,p<0){if(f<m)return;f<n&&(n=f)}else if(p>0){if(f>n)return;f>m&&(m=f)}if(f=d-j,p||!(f<0)){if(f/=p,p<0){if(f>n)return;f>m&&(m=f)}else if(p>0){if(f<m)return;f<n&&(n=f)}return m>0&&(e.a={x:i+m*o,y:j+m*p}),n<1&&(e.b={x:i+n*o,y:j+n*p}),e}}}}}}function Rb(a,b,c,d){function e(d,e){return tg(d[0]-a)<Kg?e>0?0:3:tg(d[0]-c)<Kg?e>0?2:1:tg(d[1]-b)<Kg?e>0?1:0:e>0?3:2}function f(a,b){return g(a.x,b.x)}function g(a,b){var c=e(a,1),d=e(b,1);return c!==d?c-d:0===c?b[1]-a[1]:1===c?a[0]-b[0]:2===c?a[1]-b[1]:b[0]-a[0]}return function(h){function i(a){for(var b=0,c=q.length,d=a[1],e=0;e<c;++e)for(var f,g=1,h=q[e],i=h.length,j=h[0];g<i;++g)f=h[g],j[1]<=d?f[1]>d&&_(j,f,a)>0&&++b:f[1]<=d&&_(j,f,a)<0&&--b,j=f;return 0!==b}function j(f,h,i,j){var k=0,l=0;if(null==f||(k=e(f,i))!==(l=e(h,i))||g(f,h)<0^i>0){do j.point(0===k||3===k?a:c,k>1?d:b);while((k=(k+i+4)%4)!==l)}else j.point(h[0],h[1])}function k(e,f){return a<=e&&e<=c&&b<=f&&f<=d}function l(a,b){k(a,b)&&h.point(a,b)}function m(){D.point=o,q&&q.push(r=[]),y=!0,x=!1,v=w=NaN}function n(){p&&(o(s,t),u&&x&&B.rejoin(),p.push(B.buffer())),D.point=l,x&&h.lineEnd()}function o(a,b){a=Math.max(-Nh,Math.min(Nh,a)),b=Math.max(-Nh,Math.min(Nh,b));var c=k(a,b);if(q&&r.push([a,b]),y)s=a,t=b,u=c,y=!1,c&&(h.lineStart(),h.point(a,b));else if(c&&x)h.point(a,b);else{var d={a:{x:v,y:w},b:{x:a,y:b}};C(d)?(x||(h.lineStart(),h.point(d.a.x,d.a.y)),h.point(d.b.x,d.b.y),c||h.lineEnd(),z=!1):c&&(h.lineStart(),h.point(a,b),z=!1)}v=a,w=b,x=c}var p,q,r,s,t,u,v,w,x,y,z,A=h,B=Jb(),C=Qb(a,b,c,d),D={point:l,lineStart:m,lineEnd:n,polygonStart:function(){h=B,p=[],q=[],z=!0},polygonEnd:function(){h=A,p=hg.merge(p);var b=i([a,d]),c=z&&b,e=p.length;(c||e)&&(h.polygonStart(),c&&(h.lineStart(),j(null,null,1,h),h.lineEnd()),e&&Eb(p,f,b,j,h),h.polygonEnd()),p=q=r=null}};return D}}function Sb(a){var b=0,c=Mg/3,d=gc(a),e=d(b,c);return e.parallels=function(a){return arguments.length?d(b=a[0]*Mg/180,c=a[1]*Mg/180):[b/Mg*180,c/Mg*180]},e}function Tb(a,b){function c(a,b){var c=Math.sqrt(f-2*e*Math.sin(b))/e;return[c*Math.sin(a*=e),g-c*Math.cos(a)]}var d=Math.sin(a),e=(d+Math.sin(b))/2,f=1+d*(2*e-d),g=Math.sqrt(f)/e;return c.invert=function(a,b){var c=g-b;return[Math.atan2(a,c)/e,ba((f-(a*a+c*c)*e*e)/(2*e))]},c}function Ub(){function a(a,b){Ph+=e*a-d*b,d=a,e=b}var b,c,d,e;Uh.point=function(f,g){Uh.point=a,b=d=f,c=e=g},Uh.lineEnd=function(){a(b,c)}}function Vb(a,b){a<Qh&&(Qh=a),a>Sh&&(Sh=a),b<Rh&&(Rh=b),b>Th&&(Th=b)}function Wb(){function a(a,b){g.push("M",a,",",b,f)}function b(a,b){g.push("M",a,",",b),h.point=c}function c(a,b){g.push("L",a,",",b)}function d(){h.point=a}function e(){g.push("Z")}var f=Xb(4.5),g=[],h={point:a,lineStart:function(){h.point=b},lineEnd:d,polygonStart:function(){h.lineEnd=e},polygonEnd:function(){h.lineEnd=d,h.point=a},pointRadius:function(a){return f=Xb(a),h},result:function(){if(g.length){var a=g.join("");return g=[],a}}};return h}function Xb(a){return"m0,"+a+"a"+a+","+a+" 0 1,1 0,"+-2*a+"a"+a+","+a+" 0 1,1 0,"+2*a+"z"}function Yb(a,b){Ch+=a,Dh+=b,++Eh}function Zb(){function a(a,d){var e=a-b,f=d-c,g=Math.sqrt(e*e+f*f);Fh+=g*(b+a)/2,Gh+=g*(c+d)/2,Hh+=g,Yb(b=a,c=d)}var b,c;Wh.point=function(d,e){Wh.point=a,Yb(b=d,c=e)}}function $b(){Wh.point=Yb}function _b(){function a(a,b){var c=a-d,f=b-e,g=Math.sqrt(c*c+f*f);Fh+=g*(d+a)/2,Gh+=g*(e+b)/2,Hh+=g,g=e*a-d*b,Ih+=g*(d+a),Jh+=g*(e+b),Kh+=3*g,Yb(d=a,e=b)}var b,c,d,e;Wh.point=function(f,g){Wh.point=a,Yb(b=d=f,c=e=g)},Wh.lineEnd=function(){a(b,c)}}function ac(a){function b(b,c){a.moveTo(b+g,c),a.arc(b,c,g,0,Ng)}function c(b,c){a.moveTo(b,c),h.point=d}function d(b,c){a.lineTo(b,c)}function e(){h.point=b}function f(){a.closePath()}var g=4.5,h={point:b,lineStart:function(){h.point=c},lineEnd:e,polygonStart:function(){h.lineEnd=f},polygonEnd:function(){h.lineEnd=e,h.point=b},pointRadius:function(a){return g=a,h},result:v};return h}function bc(a){function b(a){return(h?d:c)(a)}function c(b){return ec(b,function(c,d){c=a(c,d),b.point(c[0],c[1])})}function d(b){function c(c,d){c=a(c,d),b.point(c[0],c[1])}function d(){t=NaN,y.point=f,b.lineStart()}function f(c,d){var f=pb([c,d]),g=a(c,d);e(t,u,s,v,w,x,t=g[0],u=g[1],s=c,v=f[0],w=f[1],x=f[2],h,b),b.point(t,u)}function g(){y.point=c,b.lineEnd()}function i(){d(),y.point=j,y.lineEnd=k}function j(a,b){f(l=a,m=b),n=t,o=u,p=v,q=w,r=x,y.point=f}function k(){e(t,u,s,v,w,x,n,o,l,p,q,r,h,b),y.lineEnd=g,g()}var l,m,n,o,p,q,r,s,t,u,v,w,x,y={point:c,lineStart:d,lineEnd:g,polygonStart:function(){b.polygonStart(),y.lineStart=i},polygonEnd:function(){b.polygonEnd(),y.lineStart=d}};return y}function e(b,c,d,h,i,j,k,l,m,n,o,p,q,r){var s=k-b,t=l-c,u=s*s+t*t;if(u>4*f&&q--){var v=h+n,w=i+o,x=j+p,y=Math.sqrt(v*v+w*w+x*x),z=Math.asin(x/=y),A=tg(tg(x)-1)<Kg||tg(d-m)<Kg?(d+m)/2:Math.atan2(w,v),B=a(A,z),C=B[0],D=B[1],E=C-b,F=D-c,G=t*E-s*F;(G*G/u>f||tg((s*E+t*F)/u-.5)>.3||h*n+i*o+j*p<g)&&(e(b,c,d,h,i,j,C,D,A,v/=y,w/=y,x,q,r),r.point(C,D),e(C,D,A,v,w,x,k,l,m,n,o,p,q,r))}}var f=.5,g=Math.cos(30*Qg),h=16;return b.precision=function(a){return arguments.length?(h=(f=a*a)>0&&16,b):Math.sqrt(f)},b}function cc(a){var b=bc(function(b,c){return a([b*Rg,c*Rg])});return function(a){return hc(b(a))}}function dc(a){this.stream=a}function ec(a,b){return{point:b,sphere:function(){a.sphere()},lineStart:function(){a.lineStart()},lineEnd:function(){a.lineEnd()},polygonStart:function(){a.polygonStart()},polygonEnd:function(){a.polygonEnd()}}}function fc(a){return gc(function(){return a})()}function gc(a){function b(a){return a=h(a[0]*Qg,a[1]*Qg),[a[0]*m+i,j-a[1]*m]}function c(a){return a=h.invert((a[0]-i)/m,(j-a[1])/m),a&&[a[0]*Rg,a[1]*Rg]}function d(){h=Cb(g=kc(r,t,u),f);var a=f(p,q);return i=n-a[0]*m,j=o+a[1]*m,e()}function e(){return k&&(k.valid=!1,k=null),b}var f,g,h,i,j,k,l=bc(function(a,b){return a=f(a,b),[a[0]*m+i,j-a[1]*m]}),m=150,n=480,o=250,p=0,q=0,r=0,t=0,u=0,v=Mh,w=s,x=null,y=null;return b.stream=function(a){return k&&(k.valid=!1),k=hc(v(g,l(w(a)))),k.valid=!0,k},b.clipAngle=function(a){return arguments.length?(v=null==a?(x=a,Mh):Pb((x=+a)*Qg),e()):x},b.clipExtent=function(a){return arguments.length?(y=a,w=a?Rb(a[0][0],a[0][1],a[1][0],a[1][1]):s,e()):y},b.scale=function(a){return arguments.length?(m=+a,d()):m},b.translate=function(a){return arguments.length?(n=+a[0],o=+a[1],d()):[n,o]},b.center=function(a){return arguments.length?(p=a[0]%360*Qg,q=a[1]%360*Qg,d()):[p*Rg,q*Rg]},b.rotate=function(a){return arguments.length?(r=a[0]%360*Qg,t=a[1]%360*Qg,u=a.length>2?a[2]%360*Qg:0,d()):[r*Rg,t*Rg,u*Rg]},hg.rebind(b,l,"precision"),function(){return f=a.apply(this,arguments),b.invert=f.invert&&c,d()}}function hc(a){return ec(a,function(b,c){a.point(b*Qg,c*Qg)})}function ic(a,b){return[a,b]}function jc(a,b){return[a>Mg?a-Ng:a<-Mg?a+Ng:a,b]}function kc(a,b,c){return a?b||c?Cb(mc(a),nc(b,c)):mc(a):b||c?nc(b,c):jc}function lc(a){return function(b,c){return b+=a,[b>Mg?b-Ng:b<-Mg?b+Ng:b,c]}}function mc(a){var b=lc(a);return b.invert=lc(-a),b}function nc(a,b){function c(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*d+h*e;return[Math.atan2(i*f-k*g,h*d-j*e),ba(k*f+i*g)]}var d=Math.cos(a),e=Math.sin(a),f=Math.cos(b),g=Math.sin(b);return c.invert=function(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*f-i*g;return[Math.atan2(i*f+j*g,h*d+k*e),ba(k*d-h*e)]},c}function oc(a,b){var c=Math.cos(a),d=Math.sin(a);return function(e,f,g,h){var i=g*b;null!=e?(e=pc(c,e),f=pc(c,f),(g>0?e<f:e>f)&&(e+=g*Ng)):(e=a+g*Ng,f=a-.5*i);for(var j,k=e;g>0?k>f:k<f;k-=i)h.point((j=vb([c,-d*Math.cos(k),-d*Math.sin(k)]))[0],j[1])}}function pc(a,b){var c=pb(b);c[0]-=a,ub(c);var d=aa(-c[1]);return((-c[2]<0?-d:d)+2*Math.PI-Kg)%(2*Math.PI)}function qc(a,b,c){var d=hg.range(a,b-Kg,c).concat(b);return function(a){return d.map(function(b){return[a,b]})}}function rc(a,b,c){var d=hg.range(a,b-Kg,c).concat(b);return function(a){return d.map(function(b){return[b,a]})}}function sc(a){return a.source}function tc(a){return a.target}function uc(a,b,c,d){var e=Math.cos(b),f=Math.sin(b),g=Math.cos(d),h=Math.sin(d),i=e*Math.cos(a),j=e*Math.sin(a),k=g*Math.cos(c),l=g*Math.sin(c),m=2*Math.asin(Math.sqrt(fa(d-b)+e*g*fa(c-a))),n=1/Math.sin(m),o=m?function(a){var b=Math.sin(a*=m)*n,c=Math.sin(m-a)*n,d=c*i+b*k,e=c*j+b*l,g=c*f+b*h;return[Math.atan2(e,d)*Rg,Math.atan2(g,Math.sqrt(d*d+e*e))*Rg]}:function(){return[a*Rg,b*Rg]};return o.distance=m,o}function vc(){function a(a,e){var f=Math.sin(e*=Qg),g=Math.cos(e),h=tg((a*=Qg)-b),i=Math.cos(h);Xh+=Math.atan2(Math.sqrt((h=g*Math.sin(h))*h+(h=d*f-c*g*i)*h),c*f+d*g*i),b=a,c=f,d=g}var b,c,d;Yh.point=function(e,f){b=e*Qg,c=Math.sin(f*=Qg),d=Math.cos(f),Yh.point=a},Yh.lineEnd=function(){Yh.point=Yh.lineEnd=v}}function wc(a,b){function c(b,c){var d=Math.cos(b),e=Math.cos(c),f=a(d*e);return[f*e*Math.sin(b),f*Math.sin(c)]}return c.invert=function(a,c){var d=Math.sqrt(a*a+c*c),e=b(d),f=Math.sin(e),g=Math.cos(e);return[Math.atan2(a*f,d*g),Math.asin(d&&c*f/d)]},c}function xc(a,b){function c(a,b){g>0?b<-Pg+Kg&&(b=-Pg+Kg):b>Pg-Kg&&(b=Pg-Kg);var c=g/Math.pow(e(b),f);return[c*Math.sin(f*a),g-c*Math.cos(f*a)]}var d=Math.cos(a),e=function(a){return Math.tan(Mg/4+a/2)},f=a===b?Math.sin(a):Math.log(d/Math.cos(b))/Math.log(e(b)/e(a)),g=d*Math.pow(e(a),f)/f;return f?(c.invert=function(a,b){var c=g-b,d=$(f)*Math.sqrt(a*a+c*c);return[Math.atan2(a,c)/f,2*Math.atan(Math.pow(g/d,1/f))-Pg]},c):zc}function yc(a,b){function c(a,b){var c=f-b;return[c*Math.sin(e*a),f-c*Math.cos(e*a)]}var d=Math.cos(a),e=a===b?Math.sin(a):(d-Math.cos(b))/(b-a),f=d/e+a;return tg(e)<Kg?ic:(c.invert=function(a,b){var c=f-b;return[Math.atan2(a,c)/e,f-$(e)*Math.sqrt(a*a+c*c)]},c)}function zc(a,b){return[a,Math.log(Math.tan(Mg/4+b/2))]}function Ac(a){var b,c=fc(a),d=c.scale,e=c.translate,f=c.clipExtent;return c.scale=function(){var a=d.apply(c,arguments);return a===c?b?c.clipExtent(null):c:a},c.translate=function(){var a=e.apply(c,arguments);return a===c?b?c.clipExtent(null):c:a},c.clipExtent=function(a){var g=f.apply(c,arguments);if(g===c){if(b=null==a){var h=Mg*d(),i=e();f([[i[0]-h,i[1]-h],[i[0]+h,i[1]+h]])}}else b&&(g=null);return g},c.clipExtent(null)}function Bc(a,b){return[Math.log(Math.tan(Mg/4+b/2)),-a]}function Cc(a){return a[0]}function Dc(a){return a[1]}function Ec(a){for(var b=a.length,c=[0,1],d=2,e=2;e<b;e++){for(;d>1&&_(a[c[d-2]],a[c[d-1]],a[e])<=0;)--d;c[d++]=e}return c.slice(0,d)}function Fc(a,b){return a[0]-b[0]||a[1]-b[1]}function Gc(a,b,c){return(c[0]-b[0])*(a[1]-b[1])<(c[1]-b[1])*(a[0]-b[0])}function Hc(a,b,c,d){var e=a[0],f=c[0],g=b[0]-e,h=d[0]-f,i=a[1],j=c[1],k=b[1]-i,l=d[1]-j,m=(h*(i-j)-l*(e-f))/(l*g-h*k);return[e+m*g,i+m*k]}function Ic(a){var b=a[0],c=a[a.length-1];return!(b[0]-c[0]||b[1]-c[1])}function Jc(){cd(this),this.edge=this.site=this.circle=null}function Kc(a){var b=ii.pop()||new Jc;return b.site=a,b}function Lc(a){Vc(a),fi.remove(a),ii.push(a),cd(a)}function Mc(a){var b=a.circle,c=b.x,d=b.cy,e={x:c,y:d},f=a.P,g=a.N,h=[a];Lc(a);for(var i=f;i.circle&&tg(c-i.circle.x)<Kg&&tg(d-i.circle.cy)<Kg;)f=i.P,h.unshift(i),Lc(i),i=f;h.unshift(i),Vc(i);for(var j=g;j.circle&&tg(c-j.circle.x)<Kg&&tg(d-j.circle.cy)<Kg;)g=j.N,h.push(j),Lc(j),j=g;h.push(j),Vc(j);var k,l=h.length;for(k=1;k<l;++k)j=h[k],i=h[k-1],_c(j.edge,i.site,j.site,e);i=h[0],j=h[l-1],j.edge=Zc(i.site,j.site,null,e),Uc(i),Uc(j)}function Nc(a){for(var b,c,d,e,f=a.x,g=a.y,h=fi._;h;)if(d=Oc(h,g)-f,d>Kg)h=h.L;else{if(e=f-Pc(h,g),!(e>Kg)){d>-Kg?(b=h.P,c=h):e>-Kg?(b=h,c=h.N):b=c=h;break}if(!h.R){b=h;break}h=h.R}var i=Kc(a);if(fi.insert(b,i),b||c){if(b===c)return Vc(b),c=Kc(b.site),fi.insert(i,c),i.edge=c.edge=Zc(b.site,i.site),Uc(b),void Uc(c);if(!c)return void(i.edge=Zc(b.site,i.site));Vc(b),Vc(c);var j=b.site,k=j.x,l=j.y,m=a.x-k,n=a.y-l,o=c.site,p=o.x-k,q=o.y-l,r=2*(m*q-n*p),s=m*m+n*n,t=p*p+q*q,u={x:(q*s-n*t)/r+k,y:(m*t-p*s)/r+l};_c(c.edge,j,o,u),i.edge=Zc(j,a,null,u),c.edge=Zc(a,o,null,u),Uc(b),Uc(c)}}function Oc(a,b){var c=a.site,d=c.x,e=c.y,f=e-b;if(!f)return d;var g=a.P;if(!g)return-(1/0);c=g.site;var h=c.x,i=c.y,j=i-b;if(!j)return h;var k=h-d,l=1/f-1/j,m=k/j;return l?(-m+Math.sqrt(m*m-2*l*(k*k/(-2*j)-i+j/2+e-f/2)))/l+d:(d+h)/2}function Pc(a,b){var c=a.N;if(c)return Oc(c,b);var d=a.site;return d.y===b?d.x:1/0}function Qc(a){this.site=a,this.edges=[]}function Rc(a){for(var b,c,d,e,f,g,h,i,j,k,l=a[0][0],m=a[1][0],n=a[0][1],o=a[1][1],p=ei,q=p.length;q--;)if(f=p[q],f&&f.prepare())for(h=f.edges,i=h.length,g=0;g<i;)k=h[g].end(),d=k.x,e=k.y,j=h[++g%i].start(),b=j.x,c=j.y,(tg(d-b)>Kg||tg(e-c)>Kg)&&(h.splice(g,0,new ad($c(f.site,k,tg(d-l)<Kg&&o-e>Kg?{x:l,y:tg(b-l)<Kg?c:o}:tg(e-o)<Kg&&m-d>Kg?{x:tg(c-o)<Kg?b:m,y:o}:tg(d-m)<Kg&&e-n>Kg?{x:m,y:tg(b-m)<Kg?c:n}:tg(e-n)<Kg&&d-l>Kg?{x:tg(c-n)<Kg?b:l,y:n}:null),f.site,null)),++i)}function Sc(a,b){return b.angle-a.angle}function Tc(){cd(this),this.x=this.y=this.arc=this.site=this.cy=null}function Uc(a){var b=a.P,c=a.N;if(b&&c){var d=b.site,e=a.site,f=c.site;if(d!==f){var g=e.x,h=e.y,i=d.x-g,j=d.y-h,k=f.x-g,l=f.y-h,m=2*(i*l-j*k);if(!(m>=-Lg)){var n=i*i+j*j,o=k*k+l*l,p=(l*n-j*o)/m,q=(i*o-k*n)/m,l=q+h,r=ji.pop()||new Tc;r.arc=a,r.site=e,r.x=p+g,r.y=l+Math.sqrt(p*p+q*q),r.cy=l,a.circle=r;for(var s=null,t=hi._;t;)if(r.y<t.y||r.y===t.y&&r.x<=t.x){if(!t.L){s=t.P;break}t=t.L}else{if(!t.R){s=t;break}t=t.R}hi.insert(s,r),s||(gi=r)}}}}function Vc(a){var b=a.circle;b&&(b.P||(gi=b.N),hi.remove(b),ji.push(b),cd(b),a.circle=null)}function Wc(a){for(var b,c=di,d=Qb(a[0][0],a[0][1],a[1][0],a[1][1]),e=c.length;e--;)b=c[e],(!Xc(b,a)||!d(b)||tg(b.a.x-b.b.x)<Kg&&tg(b.a.y-b.b.y)<Kg)&&(b.a=b.b=null,c.splice(e,1))}function Xc(a,b){var c=a.b;if(c)return!0;var d,e,f=a.a,g=b[0][0],h=b[1][0],i=b[0][1],j=b[1][1],k=a.l,l=a.r,m=k.x,n=k.y,o=l.x,p=l.y,q=(m+o)/2,r=(n+p)/2;if(p===n){if(q<g||q>=h)return;if(m>o){if(f){if(f.y>=j)return}else f={x:q,y:i};c={x:q,y:j}}else{if(f){if(f.y<i)return}else f={x:q,y:j};c={x:q,y:i}}}else if(d=(m-o)/(p-n),e=r-d*q,d<-1||d>1)if(m>o){if(f){if(f.y>=j)return}else f={x:(i-e)/d,y:i};c={x:(j-e)/d,y:j}}else{if(f){if(f.y<i)return}else f={x:(j-e)/d,y:j};c={x:(i-e)/d,y:i}}else if(n<p){if(f){if(f.x>=h)return}else f={x:g,y:d*g+e};c={x:h,y:d*h+e}}else{if(f){if(f.x<g)return}else f={x:h,y:d*h+e};c={x:g,y:d*g+e}}return a.a=f,a.b=c,!0}function Yc(a,b){this.l=a,this.r=b,this.a=this.b=null}function Zc(a,b,c,d){var e=new Yc(a,b);return di.push(e),c&&_c(e,a,b,c),d&&_c(e,b,a,d),ei[a.i].edges.push(new ad(e,a,b)),ei[b.i].edges.push(new ad(e,b,a)),e}function $c(a,b,c){var d=new Yc(a,null);return d.a=b,d.b=c,di.push(d),d}function _c(a,b,c,d){a.a||a.b?a.l===c?a.b=d:a.a=d:(a.a=d,a.l=b,a.r=c)}function ad(a,b,c){var d=a.a,e=a.b;this.edge=a,this.site=b,this.angle=c?Math.atan2(c.y-b.y,c.x-b.x):a.l===b?Math.atan2(e.x-d.x,d.y-e.y):Math.atan2(d.x-e.x,e.y-d.y)}function bd(){this._=null}function cd(a){a.U=a.C=a.L=a.R=a.P=a.N=null}function dd(a,b){var c=b,d=b.R,e=c.U;e?e.L===c?e.L=d:e.R=d:a._=d,d.U=e,c.U=d,c.R=d.L,c.R&&(c.R.U=c),d.L=c}function ed(a,b){var c=b,d=b.L,e=c.U;e?e.L===c?e.L=d:e.R=d:a._=d,d.U=e,c.U=d,c.L=d.R,c.L&&(c.L.U=c),d.R=c}function fd(a){for(;a.L;)a=a.L;return a}function gd(a,b){var c,d,e,f=a.sort(hd).pop();for(di=[],ei=new Array(a.length),fi=new bd,hi=new bd;;)if(e=gi,f&&(!e||f.y<e.y||f.y===e.y&&f.x<e.x))f.x===c&&f.y===d||(ei[f.i]=new Qc(f),Nc(f),c=f.x,d=f.y),f=a.pop();else{if(!e)break;Mc(e.arc)}b&&(Wc(b),Rc(b));var g={cells:ei,edges:di};return fi=hi=di=ei=null,g}function hd(a,b){return b.y-a.y||b.x-a.x}function id(a,b,c){return(a.x-c.x)*(b.y-a.y)-(a.x-b.x)*(c.y-a.y)}function jd(a){return a.x}function kd(a){return a.y}function ld(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function md(a,b,c,d,e,f){if(!a(b,c,d,e,f)){var g=.5*(c+e),h=.5*(d+f),i=b.nodes;i[0]&&md(a,i[0],c,d,g,h),i[1]&&md(a,i[1],g,d,e,h),i[2]&&md(a,i[2],c,h,g,f),i[3]&&md(a,i[3],g,h,e,f)}}function nd(a,b,c,d,e,f,g){var h,i=1/0;return function j(a,k,l,m,n){if(!(k>f||l>g||m<d||n<e)){if(o=a.point){var o,p=b-a.x,q=c-a.y,r=p*p+q*q;if(r<i){var s=Math.sqrt(i=r);d=b-s,e=c-s,f=b+s,g=c+s,h=o}}for(var t=a.nodes,u=.5*(k+m),v=.5*(l+n),w=b>=u,x=c>=v,y=x<<1|w,z=y+4;y<z;++y)if(a=t[3&y])switch(3&y){case 0:j(a,k,l,u,v);break;case 1:j(a,u,l,m,v);break;case 2:j(a,k,v,u,n);break;case 3:j(a,u,v,m,n)}}}(a,d,e,f,g),h}function od(a,b){a=hg.rgb(a),b=hg.rgb(b);var c=a.r,d=a.g,e=a.b,f=b.r-c,g=b.g-d,h=b.b-e;return function(a){return"#"+ua(Math.round(c+f*a))+ua(Math.round(d+g*a))+ua(Math.round(e+h*a))}}function pd(a,b){var c,d={},e={};for(c in a)c in b?d[c]=sd(a[c],b[c]):e[c]=a[c];for(c in b)c in a||(e[c]=b[c]);return function(a){for(c in d)e[c]=d[c](a);return e}}function qd(a,b){return a=+a,b=+b,function(c){return a*(1-c)+b*c}}function rd(a,b){var c,d,e,f=li.lastIndex=mi.lastIndex=0,g=-1,h=[],i=[];for(a+="",b+="";(c=li.exec(a))&&(d=mi.exec(b));)(e=d.index)>f&&(e=b.slice(f,e),h[g]?h[g]+=e:h[++g]=e),(c=c[0])===(d=d[0])?h[g]?h[g]+=d:h[++g]=d:(h[++g]=null,i.push({i:g,x:qd(c,d)})),f=mi.lastIndex;return f<b.length&&(e=b.slice(f),h[g]?h[g]+=e:h[++g]=e),h.length<2?i[0]?(b=i[0].x,function(a){return b(a)+""}):function(){return b}:(b=i.length,function(a){for(var c,d=0;d<b;++d)h[(c=i[d]).i]=c.x(a);return h.join("")})}function sd(a,b){for(var c,d=hg.interpolators.length;--d>=0&&!(c=hg.interpolators[d](a,b)););return c}function td(a,b){var c,d=[],e=[],f=a.length,g=b.length,h=Math.min(a.length,b.length);for(c=0;c<h;++c)d.push(sd(a[c],b[c]));for(;c<f;++c)e[c]=a[c];for(;c<g;++c)e[c]=b[c];return function(a){for(c=0;c<h;++c)e[c]=d[c](a);return e}}function ud(a){return function(b){return b<=0?0:b>=1?1:a(b)}}function vd(a){return function(b){return 1-a(1-b)}}function wd(a){return function(b){return.5*(b<.5?a(2*b):2-a(2-2*b))}}function xd(a){return a*a}function yd(a){return a*a*a}function zd(a){if(a<=0)return 0;if(a>=1)return 1;var b=a*a,c=b*a;return 4*(a<.5?c:3*(a-b)+c-.75)}function Ad(a){return function(b){return Math.pow(b,a)}}function Bd(a){return 1-Math.cos(a*Pg)}function Cd(a){return Math.pow(2,10*(a-1))}function Dd(a){return 1-Math.sqrt(1-a*a)}function Ed(a,b){var c;return arguments.length<2&&(b=.45),arguments.length?c=b/Ng*Math.asin(1/a):(a=1,c=b/4),function(d){return 1+a*Math.pow(2,-10*d)*Math.sin((d-c)*Ng/b)}}function Fd(a){return a||(a=1.70158),function(b){return b*b*((a+1)*b-a)}}function Gd(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}function Hd(a,b){a=hg.hcl(a),b=hg.hcl(b);var c=a.h,d=a.c,e=a.l,f=b.h-c,g=b.c-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.c:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:f<-180&&(f+=360),function(a){return ka(c+f*a,d+g*a,e+h*a)+""}}function Id(a,b){a=hg.hsl(a),b=hg.hsl(b);var c=a.h,d=a.s,e=a.l,f=b.h-c,g=b.s-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.s:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:f<-180&&(f+=360),function(a){return ia(c+f*a,d+g*a,e+h*a)+""}}function Jd(a,b){a=hg.lab(a),b=hg.lab(b);var c=a.l,d=a.a,e=a.b,f=b.l-c,g=b.a-d,h=b.b-e;return function(a){return ma(c+f*a,d+g*a,e+h*a)+""}}function Kd(a,b){return b-=a,function(c){return Math.round(a+b*c)}}function Ld(a){var b=[a.a,a.b],c=[a.c,a.d],d=Nd(b),e=Md(b,c),f=Nd(Od(c,b,-e))||0;b[0]*c[1]<c[0]*b[1]&&(b[0]*=-1,b[1]*=-1,d*=-1,e*=-1),this.rotate=(d?Math.atan2(b[1],b[0]):Math.atan2(-c[0],c[1]))*Rg,this.translate=[a.e,a.f],this.scale=[d,f],this.skew=f?Math.atan2(e,f)*Rg:0}function Md(a,b){return a[0]*b[0]+a[1]*b[1]}function Nd(a){var b=Math.sqrt(Md(a,a));return b&&(a[0]/=b,a[1]/=b),b}function Od(a,b,c){return a[0]+=c*b[0],a[1]+=c*b[1],a}function Pd(a){return a.length?a.pop()+",":""}function Qd(a,b,c,d){if(a[0]!==b[0]||a[1]!==b[1]){var e=c.push("translate(",null,",",null,")");d.push({i:e-4,x:qd(a[0],b[0])},{i:e-2,x:qd(a[1],b[1])})}else(b[0]||b[1])&&c.push("translate("+b+")")}function Rd(a,b,c,d){a!==b?(a-b>180?b+=360:b-a>180&&(a+=360),d.push({i:c.push(Pd(c)+"rotate(",null,")")-2,x:qd(a,b)})):b&&c.push(Pd(c)+"rotate("+b+")")}function Sd(a,b,c,d){a!==b?d.push({i:c.push(Pd(c)+"skewX(",null,")")-2,x:qd(a,b)}):b&&c.push(Pd(c)+"skewX("+b+")")}function Td(a,b,c,d){if(a[0]!==b[0]||a[1]!==b[1]){var e=c.push(Pd(c)+"scale(",null,",",null,")");d.push({i:e-4,x:qd(a[0],b[0])},{i:e-2,x:qd(a[1],b[1])})}else 1===b[0]&&1===b[1]||c.push(Pd(c)+"scale("+b+")")}function Ud(a,b){var c=[],d=[];return a=hg.transform(a),b=hg.transform(b),Qd(a.translate,b.translate,c,d),Rd(a.rotate,b.rotate,c,d),Sd(a.skew,b.skew,c,d),Td(a.scale,b.scale,c,d),a=b=null,function(a){for(var b,e=-1,f=d.length;++e<f;)c[(b=d[e]).i]=b.x(a);return c.join("")}}function Vd(a,b){return b=(b-=a=+a)||1/b,function(c){return(c-a)/b}}function Wd(a,b){return b=(b-=a=+a)||1/b,function(c){return Math.max(0,Math.min(1,(c-a)/b))}}function Xd(a){for(var b=a.source,c=a.target,d=Zd(b,c),e=[b];b!==d;)b=b.parent,e.push(b);for(var f=e.length;c!==d;)e.splice(f,0,c),c=c.parent;return e}function Yd(a){for(var b=[],c=a.parent;null!=c;)b.push(a),a=c,c=c.parent;return b.push(a),b}function Zd(a,b){if(a===b)return a;for(var c=Yd(a),d=Yd(b),e=c.pop(),f=d.pop(),g=null;e===f;)g=e,e=c.pop(),f=d.pop();return g}function $d(a){a.fixed|=2}function _d(a){a.fixed&=-7}function ae(a){a.fixed|=4,a.px=a.x,a.py=a.y}function be(a){a.fixed&=-5}function ce(a,b,c){var d=0,e=0;if(a.charge=0,!a.leaf)for(var f,g=a.nodes,h=g.length,i=-1;++i<h;)f=g[i],null!=f&&(ce(f,b,c),a.charge+=f.charge,d+=f.charge*f.cx,e+=f.charge*f.cy);if(a.point){a.leaf||(a.point.x+=Math.random()-.5,a.point.y+=Math.random()-.5);var j=b*c[a.point.index];a.charge+=a.pointCharge=j,d+=j*a.point.x,e+=j*a.point.y}a.cx=d/a.charge,a.cy=e/a.charge}function de(a,b){return hg.rebind(a,b,"sort","children","value"),a.nodes=a,a.links=je,a}function ee(a,b){for(var c=[a];null!=(a=c.pop());)if(b(a),(e=a.children)&&(d=e.length))for(var d,e;--d>=0;)c.push(e[d])}function fe(a,b){for(var c=[a],d=[];null!=(a=c.pop());)if(d.push(a),(f=a.children)&&(e=f.length))for(var e,f,g=-1;++g<e;)c.push(f[g]);for(;null!=(a=d.pop());)b(a)}function ge(a){return a.children}function he(a){return a.value}function ie(a,b){return b.value-a.value}function je(a){return hg.merge(a.map(function(a){return(a.children||[]).map(function(b){return{source:a,target:b}})}))}function ke(a){return a.x}function le(a){return a.y}function me(a,b,c){a.y0=b,a.y=c}function ne(a){return hg.range(a.length)}function oe(a){for(var b=-1,c=a[0].length,d=[];++b<c;)d[b]=0;return d}function pe(a){for(var b,c=1,d=0,e=a[0][1],f=a.length;c<f;++c)(b=a[c][1])>e&&(d=c,e=b);return d}function qe(a){return a.reduce(re,0)}function re(a,b){return a+b[1]}function se(a,b){return te(a,Math.ceil(Math.log(b.length)/Math.LN2+1))}function te(a,b){for(var c=-1,d=+a[0],e=(a[1]-d)/b,f=[];++c<=b;)f[c]=e*c+d;return f}function ue(a){return[hg.min(a),hg.max(a)]}function ve(a,b){return a.value-b.value}function we(a,b){var c=a._pack_next;a._pack_next=b,b._pack_prev=a,b._pack_next=c,c._pack_prev=b}function xe(a,b){a._pack_next=b,b._pack_prev=a}function ye(a,b){var c=b.x-a.x,d=b.y-a.y,e=a.r+b.r;return.999*e*e>c*c+d*d}function ze(a){function b(a){k=Math.min(a.x-a.r,k),l=Math.max(a.x+a.r,l),m=Math.min(a.y-a.r,m),n=Math.max(a.y+a.r,n)}if((c=a.children)&&(j=c.length)){var c,d,e,f,g,h,i,j,k=1/0,l=-(1/0),m=1/0,n=-(1/0);if(c.forEach(Ae),d=c[0],d.x=-d.r,d.y=0,b(d),j>1&&(e=c[1],e.x=e.r,e.y=0,b(e),j>2))for(f=c[2],De(d,e,f),b(f),we(d,f),d._pack_prev=f,we(f,e),e=d._pack_next,g=3;g<j;g++){De(d,e,f=c[g]);var o=0,p=1,q=1;for(h=e._pack_next;h!==e;h=h._pack_next,p++)if(ye(h,f)){o=1;break}if(1==o)for(i=d._pack_prev;i!==h._pack_prev&&!ye(i,f);i=i._pack_prev,q++);o?(p<q||p==q&&e.r<d.r?xe(d,e=h):xe(d=i,e),g--):(we(d,f),e=f,b(f))}var r=(k+l)/2,s=(m+n)/2,t=0;for(g=0;g<j;g++)f=c[g],f.x-=r,f.y-=s,t=Math.max(t,f.r+Math.sqrt(f.x*f.x+f.y*f.y));a.r=t,c.forEach(Be)}}function Ae(a){a._pack_next=a._pack_prev=a}function Be(a){delete a._pack_next,delete a._pack_prev}function Ce(a,b,c,d){var e=a.children;if(a.x=b+=d*a.x,a.y=c+=d*a.y,a.r*=d,e)for(var f=-1,g=e.length;++f<g;)Ce(e[f],b,c,d)}function De(a,b,c){var d=a.r+c.r,e=b.x-a.x,f=b.y-a.y;if(d&&(e||f)){var g=b.r+c.r,h=e*e+f*f;g*=g,d*=d;var i=.5+(d-g)/(2*h),j=Math.sqrt(Math.max(0,2*g*(d+h)-(d-=h)*d-g*g))/(2*h);c.x=a.x+i*e+j*f,c.y=a.y+i*f-j*e}else c.x=a.x+d,c.y=a.y}function Ee(a,b){return a.parent==b.parent?1:2}function Fe(a){var b=a.children;return b.length?b[0]:a.t}function Ge(a){var b,c=a.children;return(b=c.length)?c[b-1]:a.t}function He(a,b,c){var d=c/(b.i-a.i);b.c-=d,b.s+=c,a.c+=d,b.z+=c,b.m+=c}function Ie(a){for(var b,c=0,d=0,e=a.children,f=e.length;--f>=0;)b=e[f],b.z+=c,b.m+=c,c+=b.s+(d+=b.c)}function Je(a,b,c){return a.a.parent===b.parent?a.a:c}function Ke(a){return 1+hg.max(a,function(a){return a.y})}function Le(a){return a.reduce(function(a,b){return a+b.x},0)/a.length}function Me(a){var b=a.children;return b&&b.length?Me(b[0]):a}function Ne(a){var b,c=a.children;return c&&(b=c.length)?Ne(c[b-1]):a}function Oe(a){return{x:a.x,y:a.y,dx:a.dx,dy:a.dy}}function Pe(a,b){var c=a.x+b[3],d=a.y+b[0],e=a.dx-b[1]-b[3],f=a.dy-b[0]-b[2];return e<0&&(c+=e/2,e=0),f<0&&(d+=f/2,f=0),{x:c,y:d,dx:e,dy:f}}function Qe(a){var b=a[0],c=a[a.length-1];return b<c?[b,c]:[c,b]}function Re(a){return a.rangeExtent?a.rangeExtent():Qe(a.range())}function Se(a,b,c,d){var e=c(a[0],a[1]),f=d(b[0],b[1]);return function(a){return f(e(a))}}function Te(a,b){var c,d=0,e=a.length-1,f=a[d],g=a[e];return g<f&&(c=d,d=e,e=c,c=f,f=g,g=c),a[d]=b.floor(f),a[e]=b.ceil(g),a}function Ue(a){return a?{floor:function(b){return Math.floor(b/a)*a},ceil:function(b){return Math.ceil(b/a)*a}}:xi}function Ve(a,b,c,d){var e=[],f=[],g=0,h=Math.min(a.length,b.length)-1;for(a[h]<a[0]&&(a=a.slice().reverse(),b=b.slice().reverse());++g<=h;)e.push(c(a[g-1],a[g])),f.push(d(b[g-1],b[g]));return function(b){var c=hg.bisect(a,b,1,h)-1;return f[c](e[c](b))}}function We(a,b,c,d){function e(){var e=Math.min(a.length,b.length)>2?Ve:Se,i=d?Wd:Vd;return g=e(a,b,i,c),h=e(b,a,i,sd),f}function f(a){return g(a)}var g,h;return f.invert=function(a){return h(a)},f.domain=function(b){return arguments.length?(a=b.map(Number),e()):a},f.range=function(a){return arguments.length?(b=a,e()):b},f.rangeRound=function(a){return f.range(a).interpolate(Kd)},f.clamp=function(a){return arguments.length?(d=a,e()):d},f.interpolate=function(a){return arguments.length?(c=a,e()):c},f.ticks=function(b){return $e(a,b)},f.tickFormat=function(b,c){return _e(a,b,c)},f.nice=function(b){return Ye(a,b),e()},f.copy=function(){return We(a,b,c,d)},e()}function Xe(a,b){return hg.rebind(a,b,"range","rangeRound","interpolate","clamp")}function Ye(a,b){return Te(a,Ue(Ze(a,b)[2])),Te(a,Ue(Ze(a,b)[2])),a}function Ze(a,b){null==b&&(b=10);var c=Qe(a),d=c[1]-c[0],e=Math.pow(10,Math.floor(Math.log(d/b)/Math.LN10)),f=b/d*e;return f<=.15?e*=10:f<=.35?e*=5:f<=.75&&(e*=2),c[0]=Math.ceil(c[0]/e)*e,c[1]=Math.floor(c[1]/e)*e+.5*e,
+c[2]=e,c}function $e(a,b){return hg.range.apply(hg,Ze(a,b))}function _e(a,b,c){var d=Ze(a,b);if(c){var e=lh.exec(c);if(e.shift(),"s"===e[8]){var f=hg.formatPrefix(Math.max(tg(d[0]),tg(d[1])));return e[7]||(e[7]="."+af(f.scale(d[2]))),e[8]="f",c=hg.format(e.join("")),function(a){return c(f.scale(a))+f.symbol}}e[7]||(e[7]="."+bf(e[8],d)),c=e.join("")}else c=",."+af(d[2])+"f";return hg.format(c)}function af(a){return-Math.floor(Math.log(a)/Math.LN10+.01)}function bf(a,b){var c=af(b[2]);return a in yi?Math.abs(c-af(Math.max(tg(b[0]),tg(b[1]))))+ +("e"!==a):c-2*("%"===a)}function cf(a,b,c,d){function e(a){return(c?Math.log(a<0?0:a):-Math.log(a>0?0:-a))/Math.log(b)}function f(a){return c?Math.pow(b,a):-Math.pow(b,-a)}function g(b){return a(e(b))}return g.invert=function(b){return f(a.invert(b))},g.domain=function(b){return arguments.length?(c=b[0]>=0,a.domain((d=b.map(Number)).map(e)),g):d},g.base=function(c){return arguments.length?(b=+c,a.domain(d.map(e)),g):b},g.nice=function(){var b=Te(d.map(e),c?Math:Ai);return a.domain(b),d=b.map(f),g},g.ticks=function(){var a=Qe(d),g=[],h=a[0],i=a[1],j=Math.floor(e(h)),k=Math.ceil(e(i)),l=b%1?2:b;if(isFinite(k-j)){if(c){for(;j<k;j++)for(var m=1;m<l;m++)g.push(f(j)*m);g.push(f(j))}else for(g.push(f(j));j++<k;)for(var m=l-1;m>0;m--)g.push(f(j)*m);for(j=0;g[j]<h;j++);for(k=g.length;g[k-1]>i;k--);g=g.slice(j,k)}return g},g.tickFormat=function(a,c){if(!arguments.length)return zi;arguments.length<2?c=zi:"function"!=typeof c&&(c=hg.format(c));var d=Math.max(1,b*a/g.ticks().length);return function(a){var g=a/f(Math.round(e(a)));return g*b<b-.5&&(g*=b),g<=d?c(a):""}},g.copy=function(){return cf(a.copy(),b,c,d)},Xe(g,a)}function df(a,b,c){function d(b){return a(e(b))}var e=ef(b),f=ef(1/b);return d.invert=function(b){return f(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain((c=b.map(Number)).map(e)),d):c},d.ticks=function(a){return $e(c,a)},d.tickFormat=function(a,b){return _e(c,a,b)},d.nice=function(a){return d.domain(Ye(c,a))},d.exponent=function(g){return arguments.length?(e=ef(b=g),f=ef(1/b),a.domain(c.map(e)),d):b},d.copy=function(){return df(a.copy(),b,c)},Xe(d,a)}function ef(a){return function(b){return b<0?-Math.pow(-b,a):Math.pow(b,a)}}function ff(a,b){function c(c){return f[((e.get(c)||("range"===b.t?e.set(c,a.push(c)):NaN))-1)%f.length]}function d(b,c){return hg.range(a.length).map(function(a){return b+c*a})}var e,f,g;return c.domain=function(d){if(!arguments.length)return a;a=[],e=new j;for(var f,g=-1,h=d.length;++g<h;)e.has(f=d[g])||e.set(f,a.push(f));return c[b.t].apply(c,b.a)},c.range=function(a){return arguments.length?(f=a,g=0,b={t:"range",a:arguments},c):f},c.rangePoints=function(e,h){arguments.length<2&&(h=0);var i=e[0],j=e[1],k=a.length<2?(i=(i+j)/2,0):(j-i)/(a.length-1+h);return f=d(i+k*h/2,k),g=0,b={t:"rangePoints",a:arguments},c},c.rangeRoundPoints=function(e,h){arguments.length<2&&(h=0);var i=e[0],j=e[1],k=a.length<2?(i=j=Math.round((i+j)/2),0):(j-i)/(a.length-1+h)|0;return f=d(i+Math.round(k*h/2+(j-i-(a.length-1+h)*k)/2),k),g=0,b={t:"rangeRoundPoints",a:arguments},c},c.rangeBands=function(e,h,i){arguments.length<2&&(h=0),arguments.length<3&&(i=h);var j=e[1]<e[0],k=e[j-0],l=e[1-j],m=(l-k)/(a.length-h+2*i);return f=d(k+m*i,m),j&&f.reverse(),g=m*(1-h),b={t:"rangeBands",a:arguments},c},c.rangeRoundBands=function(e,h,i){arguments.length<2&&(h=0),arguments.length<3&&(i=h);var j=e[1]<e[0],k=e[j-0],l=e[1-j],m=Math.floor((l-k)/(a.length-h+2*i));return f=d(k+Math.round((l-k-(a.length-h)*m)/2),m),j&&f.reverse(),g=Math.round(m*(1-h)),b={t:"rangeRoundBands",a:arguments},c},c.rangeBand=function(){return g},c.rangeExtent=function(){return Qe(b.a[0])},c.copy=function(){return ff(a,b)},c.domain(a)}function gf(a,b){function f(){var c=0,d=b.length;for(h=[];++c<d;)h[c-1]=hg.quantile(a,c/d);return g}function g(a){if(!isNaN(a=+a))return b[hg.bisect(h,a)]}var h;return g.domain=function(b){return arguments.length?(a=b.map(d).filter(e).sort(c),f()):a},g.range=function(a){return arguments.length?(b=a,f()):b},g.quantiles=function(){return h},g.invertExtent=function(c){return c=b.indexOf(c),c<0?[NaN,NaN]:[c>0?h[c-1]:a[0],c<h.length?h[c]:a[a.length-1]]},g.copy=function(){return gf(a,b)},f()}function hf(a,b,c){function d(b){return c[Math.max(0,Math.min(g,Math.floor(f*(b-a))))]}function e(){return f=c.length/(b-a),g=c.length-1,d}var f,g;return d.domain=function(c){return arguments.length?(a=+c[0],b=+c[c.length-1],e()):[a,b]},d.range=function(a){return arguments.length?(c=a,e()):c},d.invertExtent=function(b){return b=c.indexOf(b),b=b<0?NaN:b/f+a,[b,b+1/f]},d.copy=function(){return hf(a,b,c)},e()}function jf(a,b){function c(c){if(c<=c)return b[hg.bisect(a,c)]}return c.domain=function(b){return arguments.length?(a=b,c):a},c.range=function(a){return arguments.length?(b=a,c):b},c.invertExtent=function(c){return c=b.indexOf(c),[a[c-1],a[c]]},c.copy=function(){return jf(a,b)},c}function kf(a){function b(a){return+a}return b.invert=b,b.domain=b.range=function(c){return arguments.length?(a=c.map(b),b):a},b.ticks=function(b){return $e(a,b)},b.tickFormat=function(b,c){return _e(a,b,c)},b.copy=function(){return kf(a)},b}function lf(){return 0}function mf(a){return a.innerRadius}function nf(a){return a.outerRadius}function of(a){return a.startAngle}function pf(a){return a.endAngle}function qf(a){return a&&a.padAngle}function rf(a,b,c,d){return(a-c)*b-(b-d)*a>0?0:1}function sf(a,b,c,d,e){var f=a[0]-b[0],g=a[1]-b[1],h=(e?d:-d)/Math.sqrt(f*f+g*g),i=h*g,j=-h*f,k=a[0]+i,l=a[1]+j,m=b[0]+i,n=b[1]+j,o=(k+m)/2,p=(l+n)/2,q=m-k,r=n-l,s=q*q+r*r,t=c-d,u=k*n-m*l,v=(r<0?-1:1)*Math.sqrt(Math.max(0,t*t*s-u*u)),w=(u*r-q*v)/s,x=(-u*q-r*v)/s,y=(u*r+q*v)/s,z=(-u*q+r*v)/s,A=w-o,B=x-p,C=y-o,D=z-p;return A*A+B*B>C*C+D*D&&(w=y,x=z),[[w-i,x-j],[w*c/t,x*c/t]]}function tf(a){function b(b){function g(){j.push("M",f(a(k),h))}for(var i,j=[],k=[],l=-1,m=b.length,n=Aa(c),o=Aa(d);++l<m;)e.call(this,i=b[l],l)?k.push([+n.call(this,i,l),+o.call(this,i,l)]):k.length&&(g(),k=[]);return k.length&&g(),j.length?j.join(""):null}var c=Cc,d=Dc,e=Db,f=uf,g=f.key,h=.7;return b.x=function(a){return arguments.length?(c=a,b):c},b.y=function(a){return arguments.length?(d=a,b):d},b.defined=function(a){return arguments.length?(e=a,b):e},b.interpolate=function(a){return arguments.length?(g="function"==typeof a?f=a:(f=Gi.get(a)||uf).key,b):g},b.tension=function(a){return arguments.length?(h=a,b):h},b}function uf(a){return a.length>1?a.join("L"):a+"Z"}function vf(a){return a.join("L")+"Z"}function wf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("H",(d[0]+(d=a[b])[0])/2,"V",d[1]);return c>1&&e.push("H",d[0]),e.join("")}function xf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("V",(d=a[b])[1],"H",d[0]);return e.join("")}function yf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("H",(d=a[b])[0],"V",d[1]);return e.join("")}function zf(a,b){return a.length<4?uf(a):a[1]+Cf(a.slice(1,-1),Df(a,b))}function Af(a,b){return a.length<3?vf(a):a[0]+Cf((a.push(a[0]),a),Df([a[a.length-2]].concat(a,[a[1]]),b))}function Bf(a,b){return a.length<3?uf(a):a[0]+Cf(a,Df(a,b))}function Cf(a,b){if(b.length<1||a.length!=b.length&&a.length!=b.length+2)return uf(a);var c=a.length!=b.length,d="",e=a[0],f=a[1],g=b[0],h=g,i=1;if(c&&(d+="Q"+(f[0]-2*g[0]/3)+","+(f[1]-2*g[1]/3)+","+f[0]+","+f[1],e=a[1],i=2),b.length>1){h=b[1],f=a[i],i++,d+="C"+(e[0]+g[0])+","+(e[1]+g[1])+","+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1];for(var j=2;j<b.length;j++,i++)f=a[i],h=b[j],d+="S"+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1]}if(c){var k=a[i];d+="Q"+(f[0]+2*h[0]/3)+","+(f[1]+2*h[1]/3)+","+k[0]+","+k[1]}return d}function Df(a,b){for(var c,d=[],e=(1-b)/2,f=a[0],g=a[1],h=1,i=a.length;++h<i;)c=f,f=g,g=a[h],d.push([e*(g[0]-c[0]),e*(g[1]-c[1])]);return d}function Ef(a){if(a.length<3)return uf(a);var b=1,c=a.length,d=a[0],e=d[0],f=d[1],g=[e,e,e,(d=a[1])[0]],h=[f,f,f,d[1]],i=[e,",",f,"L",If(Ji,g),",",If(Ji,h)];for(a.push(a[c-1]);++b<=c;)d=a[b],g.shift(),g.push(d[0]),h.shift(),h.push(d[1]),Jf(i,g,h);return a.pop(),i.push("L",d),i.join("")}function Ff(a){if(a.length<4)return uf(a);for(var b,c=[],d=-1,e=a.length,f=[0],g=[0];++d<3;)b=a[d],f.push(b[0]),g.push(b[1]);for(c.push(If(Ji,f)+","+If(Ji,g)),--d;++d<e;)b=a[d],f.shift(),f.push(b[0]),g.shift(),g.push(b[1]),Jf(c,f,g);return c.join("")}function Gf(a){for(var b,c,d=-1,e=a.length,f=e+4,g=[],h=[];++d<4;)c=a[d%e],g.push(c[0]),h.push(c[1]);for(b=[If(Ji,g),",",If(Ji,h)],--d;++d<f;)c=a[d%e],g.shift(),g.push(c[0]),h.shift(),h.push(c[1]),Jf(b,g,h);return b.join("")}function Hf(a,b){var c=a.length-1;if(c)for(var d,e,f=a[0][0],g=a[0][1],h=a[c][0]-f,i=a[c][1]-g,j=-1;++j<=c;)d=a[j],e=j/c,d[0]=b*d[0]+(1-b)*(f+e*h),d[1]=b*d[1]+(1-b)*(g+e*i);return Ef(a)}function If(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]}function Jf(a,b,c){a.push("C",If(Hi,b),",",If(Hi,c),",",If(Ii,b),",",If(Ii,c),",",If(Ji,b),",",If(Ji,c))}function Kf(a,b){return(b[1]-a[1])/(b[0]-a[0])}function Lf(a){for(var b=0,c=a.length-1,d=[],e=a[0],f=a[1],g=d[0]=Kf(e,f);++b<c;)d[b]=(g+(g=Kf(e=f,f=a[b+1])))/2;return d[b]=g,d}function Mf(a){for(var b,c,d,e,f=[],g=Lf(a),h=-1,i=a.length-1;++h<i;)b=Kf(a[h],a[h+1]),tg(b)<Kg?g[h]=g[h+1]=0:(c=g[h]/b,d=g[h+1]/b,e=c*c+d*d,e>9&&(e=3*b/Math.sqrt(e),g[h]=e*c,g[h+1]=e*d));for(h=-1;++h<=i;)e=(a[Math.min(i,h+1)][0]-a[Math.max(0,h-1)][0])/(6*(1+g[h]*g[h])),f.push([e||0,g[h]*e||0]);return f}function Nf(a){return a.length<3?uf(a):a[0]+Cf(a,Mf(a))}function Of(a){for(var b,c,d,e=-1,f=a.length;++e<f;)b=a[e],c=b[0],d=b[1]-Pg,b[0]=c*Math.cos(d),b[1]=c*Math.sin(d);return a}function Pf(a){function b(b){function i(){p.push("M",h(a(r),l),k,j(a(q.reverse()),l),"Z")}for(var m,n,o,p=[],q=[],r=[],s=-1,t=b.length,u=Aa(c),v=Aa(e),w=c===d?function(){return n}:Aa(d),x=e===f?function(){return o}:Aa(f);++s<t;)g.call(this,m=b[s],s)?(q.push([n=+u.call(this,m,s),o=+v.call(this,m,s)]),r.push([+w.call(this,m,s),+x.call(this,m,s)])):q.length&&(i(),q=[],r=[]);return q.length&&i(),p.length?p.join(""):null}var c=Cc,d=Cc,e=0,f=Dc,g=Db,h=uf,i=h.key,j=h,k="L",l=.7;return b.x=function(a){return arguments.length?(c=d=a,b):d},b.x0=function(a){return arguments.length?(c=a,b):c},b.x1=function(a){return arguments.length?(d=a,b):d},b.y=function(a){return arguments.length?(e=f=a,b):f},b.y0=function(a){return arguments.length?(e=a,b):e},b.y1=function(a){return arguments.length?(f=a,b):f},b.defined=function(a){return arguments.length?(g=a,b):g},b.interpolate=function(a){return arguments.length?(i="function"==typeof a?h=a:(h=Gi.get(a)||uf).key,j=h.reverse||h,k=h.closed?"M":"L",b):i},b.tension=function(a){return arguments.length?(l=a,b):l},b}function Qf(a){return a.radius}function Rf(a){return[a.x,a.y]}function Sf(a){return function(){var b=a.apply(this,arguments),c=b[0],d=b[1]-Pg;return[c*Math.cos(d),c*Math.sin(d)]}}function Tf(){return 64}function Uf(){return"circle"}function Vf(a){var b=Math.sqrt(a/Mg);return"M0,"+b+"A"+b+","+b+" 0 1,1 0,"+-b+"A"+b+","+b+" 0 1,1 0,"+b+"Z"}function Wf(a){return function(){var b,c,d;(b=this[a])&&(d=b[c=b.active])&&(d.timer.c=null,d.timer.t=NaN,--b.count?delete b[c]:delete this[a],b.active+=.5,d.event&&d.event.interrupt.call(this,this.__data__,d.index))}}function Xf(a,b,c){return yg(a,Qi),a.namespace=b,a.id=c,a}function Yf(a,b,c,d){var e=a.id,f=a.namespace;return R(a,"function"==typeof c?function(a,g,h){a[f][e].tween.set(b,d(c.call(a,a.__data__,g,h)))}:(c=d(c),function(a){a[f][e].tween.set(b,c)}))}function Zf(a){return null==a&&(a=""),function(){this.textContent=a}}function $f(a){return null==a?"__transition__":"__transition_"+a+"__"}function _f(a,b,c,d,e){function f(a){var b=p.delay;return k.t=b+i,b<=a?g(a-b):void(k.c=g)}function g(c){var e=o.active,f=o[e];f&&(f.timer.c=null,f.timer.t=NaN,--o.count,delete o[e],f.event&&f.event.interrupt.call(a,a.__data__,f.index));for(var g in o)if(+g<d){var j=o[g];j.timer.c=null,j.timer.t=NaN,--o.count,delete o[g]}k.c=h,Fa(function(){return k.c&&h(c||1)&&(k.c=null,k.t=NaN),1},0,i),o.active=d,p.event&&p.event.start.call(a,a.__data__,b),n=[],p.tween.forEach(function(c,d){(d=d.call(a,a.__data__,b))&&n.push(d)}),m=p.ease,l=p.duration}function h(e){for(var f=e/l,g=m(f),h=n.length;h>0;)n[--h].call(a,g);if(f>=1)return p.event&&p.event.end.call(a,a.__data__,b),--o.count?delete o[d]:delete a[c],1}var i,k,l,m,n,o=a[c]||(a[c]={active:0,count:0}),p=o[d];p||(i=e.time,k=Fa(f,0,i),p=o[d]={tween:new j,time:i,timer:k,delay:e.delay,duration:e.duration,ease:e.ease,index:b},e=null,++o.count)}function ag(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate("+(isFinite(d)?d:c(a))+",0)"})}function bg(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate(0,"+(isFinite(d)?d:c(a))+")"})}function cg(a){return a.toISOString()}function dg(a,b,c){function d(b){return a(b)}function e(a,c){var d=a[1]-a[0],e=d/c,f=hg.bisect(Zi,e);return f==Zi.length?[b.year,Ze(a.map(function(a){return a/31536e6}),c)[2]]:f?b[e/Zi[f-1]<Zi[f]/e?f-1:f]:[aj,Ze(a,c)[2]]}return d.invert=function(b){return eg(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain(b),d):a.domain().map(eg)},d.nice=function(a,b){function c(c){return!isNaN(c)&&!a.range(c,eg(+c+1),b).length}var f=d.domain(),g=Qe(f),h=null==a?e(g,10):"number"==typeof a&&e(g,a);return h&&(a=h[0],b=h[1]),d.domain(Te(f,b>1?{floor:function(b){for(;c(b=a.floor(b));)b=eg(b-1);return b},ceil:function(b){for(;c(b=a.ceil(b));)b=eg(+b+1);return b}}:a))},d.ticks=function(a,b){var c=Qe(d.domain()),f=null==a?e(c,10):"number"==typeof a?e(c,a):!a.range&&[{range:a},b];return f&&(a=f[0],b=f[1]),a.range(c[0],eg(+c[1]+1),b<1?1:b)},d.tickFormat=function(){return c},d.copy=function(){return dg(a.copy(),b,c)},Xe(d,a)}function eg(a){return new Date(a)}function fg(a){return JSON.parse(a.responseText)}function gg(a){var b=kg.createRange();return b.selectNode(kg.body),b.createContextualFragment(a.responseText)}var hg={version:"3.5.17"},ig=[].slice,jg=function(a){return ig.call(a)},kg=this.document;if(kg)try{jg(kg.documentElement.childNodes)[0].nodeType}catch(lg){jg=function(a){for(var b=a.length,c=new Array(b);b--;)c[b]=a[b];return c}}if(Date.now||(Date.now=function(){return+new Date}),kg)try{kg.createElement("DIV").style.setProperty("opacity",0,"")}catch(mg){var ng=this.Element.prototype,og=ng.setAttribute,pg=ng.setAttributeNS,qg=this.CSSStyleDeclaration.prototype,rg=qg.setProperty;ng.setAttribute=function(a,b){og.call(this,a,b+"")},ng.setAttributeNS=function(a,b,c){pg.call(this,a,b,c+"")},qg.setProperty=function(a,b,c){rg.call(this,a,b+"",c)}}hg.ascending=c,hg.descending=function(a,b){return b<a?-1:b>a?1:b>=a?0:NaN},hg.min=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e<f;)if(null!=(d=a[e])&&d>=d){c=d;break}for(;++e<f;)null!=(d=a[e])&&c>d&&(c=d)}else{for(;++e<f;)if(null!=(d=b.call(a,a[e],e))&&d>=d){c=d;break}for(;++e<f;)null!=(d=b.call(a,a[e],e))&&c>d&&(c=d)}return c},hg.max=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e<f;)if(null!=(d=a[e])&&d>=d){c=d;break}for(;++e<f;)null!=(d=a[e])&&d>c&&(c=d)}else{for(;++e<f;)if(null!=(d=b.call(a,a[e],e))&&d>=d){c=d;break}for(;++e<f;)null!=(d=b.call(a,a[e],e))&&d>c&&(c=d)}return c},hg.extent=function(a,b){var c,d,e,f=-1,g=a.length;if(1===arguments.length){for(;++f<g;)if(null!=(d=a[f])&&d>=d){c=e=d;break}for(;++f<g;)null!=(d=a[f])&&(c>d&&(c=d),e<d&&(e=d))}else{for(;++f<g;)if(null!=(d=b.call(a,a[f],f))&&d>=d){c=e=d;break}for(;++f<g;)null!=(d=b.call(a,a[f],f))&&(c>d&&(c=d),e<d&&(e=d))}return[c,e]},hg.sum=function(a,b){var c,d=0,f=a.length,g=-1;if(1===arguments.length)for(;++g<f;)e(c=+a[g])&&(d+=c);else for(;++g<f;)e(c=+b.call(a,a[g],g))&&(d+=c);return d},hg.mean=function(a,b){var c,f=0,g=a.length,h=-1,i=g;if(1===arguments.length)for(;++h<g;)e(c=d(a[h]))?f+=c:--i;else for(;++h<g;)e(c=d(b.call(a,a[h],h)))?f+=c:--i;if(i)return f/i},hg.quantile=function(a,b){var c=(a.length-1)*b+1,d=Math.floor(c),e=+a[d-1],f=c-d;return f?e+f*(a[d]-e):e},hg.median=function(a,b){var f,g=[],h=a.length,i=-1;if(1===arguments.length)for(;++i<h;)e(f=d(a[i]))&&g.push(f);else for(;++i<h;)e(f=d(b.call(a,a[i],i)))&&g.push(f);if(g.length)return hg.quantile(g.sort(c),.5)},hg.variance=function(a,b){var c,f,g=a.length,h=0,i=0,j=-1,k=0;if(1===arguments.length)for(;++j<g;)e(c=d(a[j]))&&(f=c-h,h+=f/++k,i+=f*(c-h));else for(;++j<g;)e(c=d(b.call(a,a[j],j)))&&(f=c-h,h+=f/++k,i+=f*(c-h));if(k>1)return i/(k-1)},hg.deviation=function(){var a=hg.variance.apply(this,arguments);return a?Math.sqrt(a):a};var sg=f(c);hg.bisectLeft=sg.left,hg.bisect=hg.bisectRight=sg.right,hg.bisector=function(a){return f(1===a.length?function(b,d){return c(a(b),d)}:a)},hg.shuffle=function(a,b,c){(f=arguments.length)<3&&(c=a.length,f<2&&(b=0));for(var d,e,f=c-b;f;)e=Math.random()*f--|0,d=a[f+b],a[f+b]=a[e+b],a[e+b]=d;return a},hg.permute=function(a,b){for(var c=b.length,d=new Array(c);c--;)d[c]=a[b[c]];return d},hg.pairs=function(a){for(var b,c=0,d=a.length-1,e=a[0],f=new Array(d<0?0:d);c<d;)f[c]=[b=e,e=a[++c]];return f},hg.transpose=function(a){if(!(e=a.length))return[];for(var b=-1,c=hg.min(a,g),d=new Array(c);++b<c;)for(var e,f=-1,h=d[b]=new Array(e);++f<e;)h[f]=a[f][b];return d},hg.zip=function(){return hg.transpose(arguments)},hg.keys=function(a){var b=[];for(var c in a)b.push(c);return b},hg.values=function(a){var b=[];for(var c in a)b.push(a[c]);return b},hg.entries=function(a){var b=[];for(var c in a)b.push({key:c,value:a[c]});return b},hg.merge=function(a){for(var b,c,d,e=a.length,f=-1,g=0;++f<e;)g+=a[f].length;for(c=new Array(g);--e>=0;)for(d=a[e],b=d.length;--b>=0;)c[--g]=d[b];return c};var tg=Math.abs;hg.range=function(a,b,c){if(arguments.length<3&&(c=1,arguments.length<2&&(b=a,a=0)),(b-a)/c===1/0)throw new Error("infinite range");var d,e=[],f=h(tg(c)),g=-1;if(a*=f,b*=f,c*=f,c<0)for(;(d=a+c*++g)>b;)e.push(d/f);else for(;(d=a+c*++g)<b;)e.push(d/f);return e},hg.map=function(a,b){var c=new j;if(a instanceof j)a.forEach(function(a,b){c.set(a,b)});else if(Array.isArray(a)){var d,e=-1,f=a.length;if(1===arguments.length)for(;++e<f;)c.set(e,a[e]);else for(;++e<f;)c.set(b.call(a,d=a[e],e),d)}else for(var g in a)c.set(g,a[g]);return c};var ug="__proto__",vg="\0";i(j,{has:m,get:function(a){return this._[k(a)]},set:function(a,b){return this._[k(a)]=b},remove:n,keys:o,values:function(){var a=[];for(var b in this._)a.push(this._[b]);return a},entries:function(){var a=[];for(var b in this._)a.push({key:l(b),value:this._[b]});return a},size:p,empty:q,forEach:function(a){for(var b in this._)a.call(this,l(b),this._[b])}}),hg.nest=function(){function a(b,g,h){if(h>=f.length)return d?d.call(e,g):c?g.sort(c):g;for(var i,k,l,m,n=-1,o=g.length,p=f[h++],q=new j;++n<o;)(m=q.get(i=p(k=g[n])))?m.push(k):q.set(i,[k]);return b?(k=b(),l=function(c,d){k.set(c,a(b,d,h))}):(k={},l=function(c,d){k[c]=a(b,d,h)}),q.forEach(l),k}function b(a,c){if(c>=f.length)return a;var d=[],e=g[c++];return a.forEach(function(a,e){d.push({key:a,values:b(e,c)})}),e?d.sort(function(a,b){return e(a.key,b.key)}):d}var c,d,e={},f=[],g=[];return e.map=function(b,c){return a(c,b,0)},e.entries=function(c){return b(a(hg.map,c,0),0)},e.key=function(a){return f.push(a),e},e.sortKeys=function(a){return g[f.length-1]=a,e},e.sortValues=function(a){return c=a,e},e.rollup=function(a){return d=a,e},e},hg.set=function(a){var b=new r;if(a)for(var c=0,d=a.length;c<d;++c)b.add(a[c]);return b},i(r,{has:m,add:function(a){return this._[k(a+="")]=!0,a},remove:n,values:o,size:p,empty:q,forEach:function(a){for(var b in this._)a.call(this,l(b))}}),hg.behavior={},hg.rebind=function(a,b){for(var c,d=1,e=arguments.length;++d<e;)a[c=arguments[d]]=t(a,b,b[c]);return a};var wg=["webkit","ms","moz","Moz","o","O"];hg.dispatch=function(){for(var a=new w,b=-1,c=arguments.length;++b<c;)a[arguments[b]]=x(a);return a},w.prototype.on=function(a,b){var c=a.indexOf("."),d="";if(c>=0&&(d=a.slice(c+1),a=a.slice(0,c)),a)return arguments.length<2?this[a].on(d):this[a].on(d,b);if(2===arguments.length){if(null==b)for(a in this)this.hasOwnProperty(a)&&this[a].on(d,null);return this}},hg.event=null,hg.requote=function(a){return a.replace(xg,"\\$&")};var xg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,yg={}.__proto__?function(a,b){a.__proto__=b}:function(a,b){for(var c in b)a[c]=b[c]},zg=function(a,b){return b.querySelector(a)},Ag=function(a,b){return b.querySelectorAll(a)},Bg=function(a,b){var c=a.matches||a[u(a,"matchesSelector")];return(Bg=function(a,b){return c.call(a,b)})(a,b)};"function"==typeof Sizzle&&(zg=function(a,b){return Sizzle(a,b)[0]||null},Ag=Sizzle,Bg=Sizzle.matchesSelector),hg.selection=function(){return hg.select(kg.documentElement)};var Cg=hg.selection.prototype=[];Cg.select=function(a){var b,c,d,e,f=[];a=C(a);for(var g=-1,h=this.length;++g<h;){f.push(b=[]),b.parentNode=(d=this[g]).parentNode;for(var i=-1,j=d.length;++i<j;)(e=d[i])?(b.push(c=a.call(e,e.__data__,i,g)),c&&"__data__"in e&&(c.__data__=e.__data__)):b.push(null)}return B(f)},Cg.selectAll=function(a){var b,c,d=[];a=D(a);for(var e=-1,f=this.length;++e<f;)for(var g=this[e],h=-1,i=g.length;++h<i;)(c=g[h])&&(d.push(b=jg(a.call(c,c.__data__,h,e))),b.parentNode=c);return B(d)};var Dg="http://www.w3.org/1999/xhtml",Eg={svg:"http://www.w3.org/2000/svg",xhtml:Dg,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};hg.ns={prefix:Eg,qualify:function(a){var b=a.indexOf(":"),c=a;return b>=0&&"xmlns"!==(c=a.slice(0,b))&&(a=a.slice(b+1)),Eg.hasOwnProperty(c)?{space:Eg[c],local:a}:a}},Cg.attr=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node();return a=hg.ns.qualify(a),a.local?c.getAttributeNS(a.space,a.local):c.getAttribute(a)}for(b in a)this.each(E(b,a[b]));return this}return this.each(E(a,b))},Cg.classed=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node(),d=(a=H(a)).length,e=-1;if(b=c.classList){for(;++e<d;)if(!b.contains(a[e]))return!1}else for(b=c.getAttribute("class");++e<d;)if(!G(a[e]).test(b))return!1;return!0}for(b in a)this.each(I(b,a[b]));return this}return this.each(I(a,b))},Cg.style=function(a,c,d){var e=arguments.length;if(e<3){if("string"!=typeof a){e<2&&(c="");for(d in a)this.each(K(d,a[d],c));return this}if(e<2){var f=this.node();return b(f).getComputedStyle(f,null).getPropertyValue(a)}d=""}return this.each(K(a,c,d))},Cg.property=function(a,b){if(arguments.length<2){if("string"==typeof a)return this.node()[a];for(b in a)this.each(L(b,a[b]));return this}return this.each(L(a,b))},Cg.text=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.textContent=null==b?"":b}:null==a?function(){this.textContent=""}:function(){this.textContent=a}):this.node().textContent},Cg.html=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.innerHTML=null==b?"":b}:null==a?function(){this.innerHTML=""}:function(){this.innerHTML=a}):this.node().innerHTML},Cg.append=function(a){return a=M(a),this.select(function(){return this.appendChild(a.apply(this,arguments))})},Cg.insert=function(a,b){return a=M(a),b=C(b),this.select(function(){return this.insertBefore(a.apply(this,arguments),b.apply(this,arguments)||null)})},Cg.remove=function(){return this.each(N)},Cg.data=function(a,b){function c(a,c){var d,e,f,g=a.length,l=c.length,m=Math.min(g,l),n=new Array(l),o=new Array(l),p=new Array(g);if(b){var q,r=new j,s=new Array(g);for(d=-1;++d<g;)(e=a[d])&&(r.has(q=b.call(e,e.__data__,d))?p[d]=e:r.set(q,e),s[d]=q);for(d=-1;++d<l;)(e=r.get(q=b.call(c,f=c[d],d)))?e!==!0&&(n[d]=e,e.__data__=f):o[d]=O(f),r.set(q,!0);for(d=-1;++d<g;)d in s&&r.get(s[d])!==!0&&(p[d]=a[d])}else{for(d=-1;++d<m;)e=a[d],f=c[d],e?(e.__data__=f,n[d]=e):o[d]=O(f);for(;d<l;++d)o[d]=O(c[d]);for(;d<g;++d)p[d]=a[d]}o.update=n,o.parentNode=n.parentNode=p.parentNode=a.parentNode,h.push(o),i.push(n),k.push(p)}var d,e,f=-1,g=this.length;if(!arguments.length){for(a=new Array(g=(d=this[0]).length);++f<g;)(e=d[f])&&(a[f]=e.__data__);return a}var h=S([]),i=B([]),k=B([]);if("function"==typeof a)for(;++f<g;)c(d=this[f],a.call(d,d.parentNode.__data__,f));else for(;++f<g;)c(d=this[f],a);return i.enter=function(){return h},i.exit=function(){return k},i},Cg.datum=function(a){return arguments.length?this.property("__data__",a):this.property("__data__")},Cg.filter=function(a){var b,c,d,e=[];"function"!=typeof a&&(a=P(a));for(var f=0,g=this.length;f<g;f++){e.push(b=[]),b.parentNode=(c=this[f]).parentNode;for(var h=0,i=c.length;h<i;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return B(e)},Cg.order=function(){for(var a=-1,b=this.length;++a<b;)for(var c,d=this[a],e=d.length-1,f=d[e];--e>=0;)(c=d[e])&&(f&&f!==c.nextSibling&&f.parentNode.insertBefore(c,f),f=c);return this},Cg.sort=function(a){a=Q.apply(this,arguments);for(var b=-1,c=this.length;++b<c;)this[b].sort(a);return this.order()},Cg.each=function(a){return R(this,function(b,c,d){a.call(b,b.__data__,c,d)})},Cg.call=function(a){var b=jg(arguments);return a.apply(b[0]=this,b),this},Cg.empty=function(){return!this.node()},Cg.node=function(){for(var a=0,b=this.length;a<b;a++)for(var c=this[a],d=0,e=c.length;d<e;d++){var f=c[d];if(f)return f}return null},Cg.size=function(){var a=0;return R(this,function(){++a}),a};var Fg=[];hg.selection.enter=S,hg.selection.enter.prototype=Fg,Fg.append=Cg.append,Fg.empty=Cg.empty,Fg.node=Cg.node,Fg.call=Cg.call,Fg.size=Cg.size,Fg.select=function(a){for(var b,c,d,e,f,g=[],h=-1,i=this.length;++h<i;){d=(e=this[h]).update,g.push(b=[]),b.parentNode=e.parentNode;for(var j=-1,k=e.length;++j<k;)(f=e[j])?(b.push(d[j]=c=a.call(e.parentNode,f.__data__,j,h)),c.__data__=f.__data__):b.push(null)}return B(g)},Fg.insert=function(a,b){return arguments.length<2&&(b=T(this)),Cg.insert.call(this,a,b)},hg.select=function(b){var c;return"string"==typeof b?(c=[zg(b,kg)],c.parentNode=kg.documentElement):(c=[b],c.parentNode=a(b)),B([c])},hg.selectAll=function(a){var b;return"string"==typeof a?(b=jg(Ag(a,kg)),b.parentNode=kg.documentElement):(b=jg(a),b.parentNode=null),B([b])},Cg.on=function(a,b,c){var d=arguments.length;if(d<3){if("string"!=typeof a){d<2&&(b=!1);for(c in a)this.each(U(c,a[c],b));return this}if(d<2)return(d=this.node()["__on"+a])&&d._;c=!1}return this.each(U(a,b,c))};var Gg=hg.map({mouseenter:"mouseover",mouseleave:"mouseout"});kg&&Gg.forEach(function(a){"on"+a in kg&&Gg.remove(a)});var Hg,Ig=0;hg.mouse=function(a){return Y(a,z())};var Jg=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;hg.touch=function(a,b,c){if(arguments.length<3&&(c=b,b=z().changedTouches),b)for(var d,e=0,f=b.length;e<f;++e)if((d=b[e]).identifier===c)return Y(a,d)},hg.behavior.drag=function(){function a(){this.on("mousedown.drag",f).on("touchstart.drag",g)}function c(a,b,c,f,g){return function(){function h(){var a,c,d=b(m,p);d&&(a=d[0]-t[0],c=d[1]-t[1],o|=a|c,t=d,n({type:"drag",x:d[0]+j[0],y:d[1]+j[1],dx:a,dy:c}))}function i(){b(m,p)&&(r.on(f+q,null).on(g+q,null),s(o),n({type:"dragend"}))}var j,k=this,l=hg.event.target.correspondingElement||hg.event.target,m=k.parentNode,n=d.of(k,arguments),o=0,p=a(),q=".drag"+(null==p?"":"-"+p),r=hg.select(c(l)).on(f+q,h).on(g+q,i),s=X(l),t=b(m,p);e?(j=e.apply(k,arguments),j=[j.x-t[0],j.y-t[1]]):j=[0,0],n({type:"dragstart"})}}var d=A(a,"drag","dragstart","dragend"),e=null,f=c(v,hg.mouse,b,"mousemove","mouseup"),g=c(Z,hg.touch,s,"touchmove","touchend");return a.origin=function(b){return arguments.length?(e=b,a):e},hg.rebind(a,d,"on")},hg.touches=function(a,b){return arguments.length<2&&(b=z().touches),b?jg(b).map(function(b){var c=Y(a,b);return c.identifier=b.identifier,c}):[]};var Kg=1e-6,Lg=Kg*Kg,Mg=Math.PI,Ng=2*Mg,Og=Ng-Kg,Pg=Mg/2,Qg=Mg/180,Rg=180/Mg,Sg=Math.SQRT2,Tg=2,Ug=4;hg.interpolateZoom=function(a,b){var c,d,e=a[0],f=a[1],g=a[2],h=b[0],i=b[1],j=b[2],k=h-e,l=i-f,m=k*k+l*l;if(m<Lg)d=Math.log(j/g)/Sg,c=function(a){return[e+a*k,f+a*l,g*Math.exp(Sg*a*d)]};else{var n=Math.sqrt(m),o=(j*j-g*g+Ug*m)/(2*g*Tg*n),p=(j*j-g*g-Ug*m)/(2*j*Tg*n),q=Math.log(Math.sqrt(o*o+1)-o),r=Math.log(Math.sqrt(p*p+1)-p);d=(r-q)/Sg,c=function(a){var b=a*d,c=da(q),h=g/(Tg*n)*(c*ea(Sg*b+q)-ca(q));return[e+h*k,f+h*l,g*c/da(Sg*b+q)]}}return c.duration=1e3*d,c},hg.behavior.zoom=function(){function a(a){a.on(F,l).on(Wg+".zoom",n).on("dblclick.zoom",o).on(I,m)}function c(a){return[(a[0]-z.x)/z.k,(a[1]-z.y)/z.k]}function d(a){return[a[0]*z.k+z.x,a[1]*z.k+z.y]}function e(a){z.k=Math.max(C[0],Math.min(C[1],a))}function f(a,b){b=d(b),z.x+=a[0]-b[0],z.y+=a[1]-b[1]}function g(b,c,d,g){b.__chart__={x:z.x,y:z.y,k:z.k},e(Math.pow(2,g)),f(q=c,d),b=hg.select(b),D>0&&(b=b.transition().duration(D)),b.call(a.event)}function h(){v&&v.domain(u.range().map(function(a){return(a-z.x)/z.k}).map(u.invert)),x&&x.domain(w.range().map(function(a){return(a-z.y)/z.k}).map(w.invert))}function i(a){E++||a({type:"zoomstart"})}function j(a){h(),a({type:"zoom",scale:z.k,translate:[z.x,z.y]})}function k(a){--E||(a({type:"zoomend"}),q=null)}function l(){function a(){h=1,f(hg.mouse(e),m),j(g)}function d(){l.on(G,null).on(H,null),n(h),k(g)}var e=this,g=J.of(e,arguments),h=0,l=hg.select(b(e)).on(G,a).on(H,d),m=c(hg.mouse(e)),n=X(e);Pi.call(e),i(g)}function m(){function a(){var a=hg.touches(o);return n=z.k,a.forEach(function(a){a.identifier in q&&(q[a.identifier]=c(a))}),a}function b(){var b=hg.event.target;hg.select(b).on(u,d).on(v,h),w.push(b);for(var c=hg.event.changedTouches,e=0,f=c.length;e<f;++e)q[c[e].identifier]=null;var i=a(),j=Date.now();if(1===i.length){if(j-t<500){var k=i[0];g(o,k,q[k.identifier],Math.floor(Math.log(z.k)/Math.LN2)+1),y()}t=j}else if(i.length>1){var k=i[0],l=i[1],m=k[0]-l[0],n=k[1]-l[1];r=m*m+n*n}}function d(){var a,b,c,d,g=hg.touches(o);Pi.call(o);for(var h=0,i=g.length;h<i;++h,d=null)if(c=g[h],d=q[c.identifier]){if(b)break;a=c,b=d}if(d){var k=(k=c[0]-a[0])*k+(k=c[1]-a[1])*k,l=r&&Math.sqrt(k/r);a=[(a[0]+c[0])/2,(a[1]+c[1])/2],b=[(b[0]+d[0])/2,(b[1]+d[1])/2],e(l*n)}t=null,f(a,b),j(p)}function h(){if(hg.event.touches.length){for(var b=hg.event.changedTouches,c=0,d=b.length;c<d;++c)delete q[b[c].identifier];for(var e in q)return void a()}hg.selectAll(w).on(s,null),x.on(F,l).on(I,m),A(),k(p)}var n,o=this,p=J.of(o,arguments),q={},r=0,s=".zoom-"+hg.event.changedTouches[0].identifier,u="touchmove"+s,v="touchend"+s,w=[],x=hg.select(o),A=X(o);b(),i(p),x.on(F,null).on(I,b)}function n(){var a=J.of(this,arguments);s?clearTimeout(s):(Pi.call(this),p=c(q=r||hg.mouse(this)),i(a)),s=setTimeout(function(){s=null,k(a)},50),y(),e(Math.pow(2,.002*Vg())*z.k),f(q,p),j(a)}function o(){var a=hg.mouse(this),b=Math.log(z.k)/Math.LN2;g(this,a,c(a),hg.event.shiftKey?Math.ceil(b)-1:Math.floor(b)+1)}var p,q,r,s,t,u,v,w,x,z={x:0,y:0,k:1},B=[960,500],C=Xg,D=250,E=0,F="mousedown.zoom",G="mousemove.zoom",H="mouseup.zoom",I="touchstart.zoom",J=A(a,"zoomstart","zoom","zoomend");return Wg||(Wg="onwheel"in kg?(Vg=function(){return-hg.event.deltaY*(hg.event.deltaMode?120:1)},"wheel"):"onmousewheel"in kg?(Vg=function(){return hg.event.wheelDelta},"mousewheel"):(Vg=function(){return-hg.event.detail},"MozMousePixelScroll")),a.event=function(a){a.each(function(){var a=J.of(this,arguments),b=z;Ni?hg.select(this).transition().each("start.zoom",function(){z=this.__chart__||{x:0,y:0,k:1},i(a)}).tween("zoom:zoom",function(){var c=B[0],d=B[1],e=q?q[0]:c/2,f=q?q[1]:d/2,g=hg.interpolateZoom([(e-z.x)/z.k,(f-z.y)/z.k,c/z.k],[(e-b.x)/b.k,(f-b.y)/b.k,c/b.k]);return function(b){var d=g(b),h=c/d[2];this.__chart__=z={x:e-d[0]*h,y:f-d[1]*h,k:h},j(a)}}).each("interrupt.zoom",function(){k(a)}).each("end.zoom",function(){k(a)}):(this.__chart__=z,i(a),j(a),k(a))})},a.translate=function(b){return arguments.length?(z={x:+b[0],y:+b[1],k:z.k},h(),a):[z.x,z.y]},a.scale=function(b){return arguments.length?(z={x:z.x,y:z.y,k:null},e(+b),h(),a):z.k},a.scaleExtent=function(b){return arguments.length?(C=null==b?Xg:[+b[0],+b[1]],a):C},a.center=function(b){return arguments.length?(r=b&&[+b[0],+b[1]],a):r},a.size=function(b){return arguments.length?(B=b&&[+b[0],+b[1]],a):B},a.duration=function(b){return arguments.length?(D=+b,a):D},a.x=function(b){return arguments.length?(v=b,u=b.copy(),z={x:0,y:0,k:1},a):v},a.y=function(b){
+return arguments.length?(x=b,w=b.copy(),z={x:0,y:0,k:1},a):x},hg.rebind(a,J,"on")};var Vg,Wg,Xg=[0,1/0];hg.color=ga,ga.prototype.toString=function(){return this.rgb()+""},hg.hsl=ha;var Yg=ha.prototype=new ga;Yg.brighter=function(a){return a=Math.pow(.7,arguments.length?a:1),new ha(this.h,this.s,this.l/a)},Yg.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new ha(this.h,this.s,a*this.l)},Yg.rgb=function(){return ia(this.h,this.s,this.l)},hg.hcl=ja;var Zg=ja.prototype=new ga;Zg.brighter=function(a){return new ja(this.h,this.c,Math.min(100,this.l+$g*(arguments.length?a:1)))},Zg.darker=function(a){return new ja(this.h,this.c,Math.max(0,this.l-$g*(arguments.length?a:1)))},Zg.rgb=function(){return ka(this.h,this.c,this.l).rgb()},hg.lab=la;var $g=18,_g=.95047,ah=1,bh=1.08883,ch=la.prototype=new ga;ch.brighter=function(a){return new la(Math.min(100,this.l+$g*(arguments.length?a:1)),this.a,this.b)},ch.darker=function(a){return new la(Math.max(0,this.l-$g*(arguments.length?a:1)),this.a,this.b)},ch.rgb=function(){return ma(this.l,this.a,this.b)},hg.rgb=ra;var dh=ra.prototype=new ga;dh.brighter=function(a){a=Math.pow(.7,arguments.length?a:1);var b=this.r,c=this.g,d=this.b,e=30;return b||c||d?(b&&b<e&&(b=e),c&&c<e&&(c=e),d&&d<e&&(d=e),new ra(Math.min(255,b/a),Math.min(255,c/a),Math.min(255,d/a))):new ra(e,e,e)},dh.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new ra(a*this.r,a*this.g,a*this.b)},dh.hsl=function(){return wa(this.r,this.g,this.b)},dh.toString=function(){return"#"+ua(this.r)+ua(this.g)+ua(this.b)};var eh=hg.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});eh.forEach(function(a,b){eh.set(a,sa(b))}),hg.functor=Aa,hg.xhr=Ba(s),hg.dsv=function(a,b){function c(a,c,f){arguments.length<3&&(f=c,c=null);var g=Ca(a,b,null==c?d:e(c),f);return g.row=function(a){return arguments.length?g.response(null==(c=a)?d:e(a)):c},g}function d(a){return c.parse(a.responseText)}function e(a){return function(b){return c.parse(b.responseText,a)}}function f(b){return b.map(g).join(a)}function g(a){return h.test(a)?'"'+a.replace(/\"/g,'""')+'"':a}var h=new RegExp('["'+a+"\n]"),i=a.charCodeAt(0);return c.parse=function(a,b){var d;return c.parseRows(a,function(a,c){if(d)return d(a,c-1);var e=new Function("d","return {"+a.map(function(a,b){return JSON.stringify(a)+": d["+b+"]"}).join(",")+"}");d=b?function(a,c){return b(e(a),c)}:e})},c.parseRows=function(a,b){function c(){if(k>=j)return g;if(e)return e=!1,f;var b=k;if(34===a.charCodeAt(b)){for(var c=b;c++<j;)if(34===a.charCodeAt(c)){if(34!==a.charCodeAt(c+1))break;++c}k=c+2;var d=a.charCodeAt(c+1);return 13===d?(e=!0,10===a.charCodeAt(c+2)&&++k):10===d&&(e=!0),a.slice(b+1,c).replace(/""/g,'"')}for(;k<j;){var d=a.charCodeAt(k++),h=1;if(10===d)e=!0;else if(13===d)e=!0,10===a.charCodeAt(k)&&(++k,++h);else if(d!==i)continue;return a.slice(b,k-h)}return a.slice(b)}for(var d,e,f={},g={},h=[],j=a.length,k=0,l=0;(d=c())!==g;){for(var m=[];d!==f&&d!==g;)m.push(d),d=c();b&&null==(m=b(m,l++))||h.push(m)}return h},c.format=function(b){if(Array.isArray(b[0]))return c.formatRows(b);var d=new r,e=[];return b.forEach(function(a){for(var b in a)d.has(b)||e.push(d.add(b))}),[e.map(g).join(a)].concat(b.map(function(b){return e.map(function(a){return g(b[a])}).join(a)})).join("\n")},c.formatRows=function(a){return a.map(f).join("\n")},c},hg.csv=hg.dsv(",","text/csv"),hg.tsv=hg.dsv("\t","text/tab-separated-values");var fh,gh,hh,ih,jh=this[u(this,"requestAnimationFrame")]||function(a){setTimeout(a,17)};hg.timer=function(){Fa.apply(this,arguments)},hg.timer.flush=function(){Ha(),Ia()},hg.round=function(a,b){return b?Math.round(a*(b=Math.pow(10,b)))/b:Math.round(a)};var kh=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Ka);hg.formatPrefix=function(a,b){var c=0;return(a=+a)&&(a<0&&(a*=-1),b&&(a=hg.round(a,Ja(a,b))),c=1+Math.floor(1e-12+Math.log(a)/Math.LN10),c=Math.max(-24,Math.min(24,3*Math.floor((c-1)/3)))),kh[8+c/3]};var lh=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,mh=hg.map({b:function(a){return a.toString(2)},c:function(a){return String.fromCharCode(a)},o:function(a){return a.toString(8)},x:function(a){return a.toString(16)},X:function(a){return a.toString(16).toUpperCase()},g:function(a,b){return a.toPrecision(b)},e:function(a,b){return a.toExponential(b)},f:function(a,b){return a.toFixed(b)},r:function(a,b){return(a=hg.round(a,Ja(a,b))).toFixed(Math.max(0,Math.min(20,Ja(a*(1+1e-15),b))))}}),nh=hg.time={},oh=Date;Na.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(){ph.setUTCDate.apply(this._,arguments)},setDay:function(){ph.setUTCDay.apply(this._,arguments)},setFullYear:function(){ph.setUTCFullYear.apply(this._,arguments)},setHours:function(){ph.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){ph.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){ph.setUTCMinutes.apply(this._,arguments)},setMonth:function(){ph.setUTCMonth.apply(this._,arguments)},setSeconds:function(){ph.setUTCSeconds.apply(this._,arguments)},setTime:function(){ph.setTime.apply(this._,arguments)}};var ph=Date.prototype;nh.year=Oa(function(a){return a=nh.day(a),a.setMonth(0,1),a},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()}),nh.years=nh.year.range,nh.years.utc=nh.year.utc.range,nh.day=Oa(function(a){var b=new oh(2e3,0);return b.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),b},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1}),nh.days=nh.day.range,nh.days.utc=nh.day.utc.range,nh.dayOfYear=function(a){var b=nh.year(a);return Math.floor((a-b-6e4*(a.getTimezoneOffset()-b.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(a,b){b=7-b;var c=nh[a]=Oa(function(a){return(a=nh.day(a)).setDate(a.getDate()-(a.getDay()+b)%7),a},function(a,b){a.setDate(a.getDate()+7*Math.floor(b))},function(a){var c=nh.year(a).getDay();return Math.floor((nh.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});nh[a+"s"]=c.range,nh[a+"s"].utc=c.utc.range,nh[a+"OfYear"]=function(a){var c=nh.year(a).getDay();return Math.floor((nh.dayOfYear(a)+(c+b)%7)/7)}}),nh.week=nh.sunday,nh.weeks=nh.sunday.range,nh.weeks.utc=nh.sunday.utc.range,nh.weekOfYear=nh.sundayOfYear;var qh={"-":"",_:" ",0:"0"},rh=/^\s*\d+/,sh=/^%/;hg.locale=function(a){return{numberFormat:La(a),timeFormat:Qa(a)}};var th=hg.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"]});hg.format=th.numberFormat,hg.geo={},jb.prototype={s:0,t:0,add:function(a){kb(a,this.t,uh),kb(uh.s,this.s,this),this.s?this.t+=uh.t:this.s=uh.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var uh=new jb;hg.geo.stream=function(a,b){a&&vh.hasOwnProperty(a.type)?vh[a.type](a,b):lb(a,b)};var vh={Feature:function(a,b){lb(a.geometry,b)},FeatureCollection:function(a,b){for(var c=a.features,d=-1,e=c.length;++d<e;)lb(c[d].geometry,b)}},wh={Sphere:function(a,b){b.sphere()},Point:function(a,b){a=a.coordinates,b.point(a[0],a[1],a[2])},MultiPoint:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)a=c[d],b.point(a[0],a[1],a[2])},LineString:function(a,b){mb(a.coordinates,b,0)},MultiLineString:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)mb(c[d],b,0)},Polygon:function(a,b){nb(a.coordinates,b)},MultiPolygon:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)nb(c[d],b)},GeometryCollection:function(a,b){for(var c=a.geometries,d=-1,e=c.length;++d<e;)lb(c[d],b)}};hg.geo.area=function(a){return xh=0,hg.geo.stream(a,zh),xh};var xh,yh=new jb,zh={sphere:function(){xh+=4*Mg},point:v,lineStart:v,lineEnd:v,polygonStart:function(){yh.reset(),zh.lineStart=ob},polygonEnd:function(){var a=2*yh;xh+=a<0?4*Mg+a:a,zh.lineStart=zh.lineEnd=zh.point=v}};hg.geo.bounds=function(){function a(a,b){t.push(u=[k=a,m=a]),b<l&&(l=b),b>n&&(n=b)}function b(b,c){var d=pb([b*Qg,c*Qg]);if(r){var e=rb(r,d),f=[e[1],-e[0],0],g=rb(f,e);ub(g),g=vb(g);var i=b-o,j=i>0?1:-1,p=g[0]*Rg*j,q=tg(i)>180;if(q^(j*o<p&&p<j*b)){var s=g[1]*Rg;s>n&&(n=s)}else if(p=(p+360)%360-180,q^(j*o<p&&p<j*b)){var s=-g[1]*Rg;s<l&&(l=s)}else c<l&&(l=c),c>n&&(n=c);q?b<o?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b):m>=k?(b<k&&(k=b),b>m&&(m=b)):b>o?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b)}else a(b,c);r=d,o=b}function c(){v.point=b}function d(){u[0]=k,u[1]=m,v.point=a,r=null}function e(a,c){if(r){var d=a-o;s+=tg(d)>180?d+(d>0?360:-360):d}else p=a,q=c;zh.point(a,c),b(a,c)}function f(){zh.lineStart()}function g(){e(p,q),zh.lineEnd(),tg(s)>Kg&&(k=-(m=180)),u[0]=k,u[1]=m,r=null}function h(a,b){return(b-=a)<0?b+360:b}function i(a,b){return a[0]-b[0]}function j(a,b){return b[0]<=b[1]?b[0]<=a&&a<=b[1]:a<b[0]||b[1]<a}var k,l,m,n,o,p,q,r,s,t,u,v={point:a,lineStart:c,lineEnd:d,polygonStart:function(){v.point=e,v.lineStart=f,v.lineEnd=g,s=0,zh.polygonStart()},polygonEnd:function(){zh.polygonEnd(),v.point=a,v.lineStart=c,v.lineEnd=d,yh<0?(k=-(m=180),l=-(n=90)):s>Kg?n=90:s<-Kg&&(l=-90),u[0]=k,u[1]=m}};return function(a){n=m=-(k=l=1/0),t=[],hg.geo.stream(a,v);var b=t.length;if(b){t.sort(i);for(var c,d=1,e=t[0],f=[e];d<b;++d)c=t[d],j(c[0],e)||j(c[1],e)?(h(e[0],c[1])>h(e[0],e[1])&&(e[1]=c[1]),h(c[0],e[1])>h(e[0],e[1])&&(e[0]=c[0])):f.push(e=c);for(var g,c,o=-(1/0),b=f.length-1,d=0,e=f[b];d<=b;e=c,++d)c=f[d],(g=h(e[1],c[0]))>o&&(o=g,k=c[0],m=e[1])}return t=u=null,k===1/0||l===1/0?[[NaN,NaN],[NaN,NaN]]:[[k,l],[m,n]]}}(),hg.geo.centroid=function(a){Ah=Bh=Ch=Dh=Eh=Fh=Gh=Hh=Ih=Jh=Kh=0,hg.geo.stream(a,Lh);var b=Ih,c=Jh,d=Kh,e=b*b+c*c+d*d;return e<Lg&&(b=Fh,c=Gh,d=Hh,Bh<Kg&&(b=Ch,c=Dh,d=Eh),e=b*b+c*c+d*d,e<Lg)?[NaN,NaN]:[Math.atan2(c,b)*Rg,ba(d/Math.sqrt(e))*Rg]};var Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh={sphere:v,point:xb,lineStart:zb,lineEnd:Ab,polygonStart:function(){Lh.lineStart=Bb},polygonEnd:function(){Lh.lineStart=zb}},Mh=Hb(Db,Lb,Nb,[-Mg,-Mg/2]),Nh=1e9;hg.geo.clipExtent=function(){var a,b,c,d,e,f,g={stream:function(a){return e&&(e.valid=!1),e=f(a),e.valid=!0,e},extent:function(h){return arguments.length?(f=Rb(a=+h[0][0],b=+h[0][1],c=+h[1][0],d=+h[1][1]),e&&(e.valid=!1,e=null),g):[[a,b],[c,d]]}};return g.extent([[0,0],[960,500]])},(hg.geo.conicEqualArea=function(){return Sb(Tb)}).raw=Tb,hg.geo.albers=function(){return hg.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},hg.geo.albersUsa=function(){function a(a){var f=a[0],g=a[1];return b=null,c(f,g),b||(d(f,g),b)||e(f,g),b}var b,c,d,e,f=hg.geo.albers(),g=hg.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),h=hg.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),i={point:function(a,c){b=[a,c]}};return a.invert=function(a){var b=f.scale(),c=f.translate(),d=(a[0]-c[0])/b,e=(a[1]-c[1])/b;return(e>=.12&&e<.234&&d>=-.425&&d<-.214?g:e>=.166&&e<.234&&d>=-.214&&d<-.115?h:f).invert(a)},a.stream=function(a){var b=f.stream(a),c=g.stream(a),d=h.stream(a);return{point:function(a,e){b.point(a,e),c.point(a,e),d.point(a,e)},sphere:function(){b.sphere(),c.sphere(),d.sphere()},lineStart:function(){b.lineStart(),c.lineStart(),d.lineStart()},lineEnd:function(){b.lineEnd(),c.lineEnd(),d.lineEnd()},polygonStart:function(){b.polygonStart(),c.polygonStart(),d.polygonStart()},polygonEnd:function(){b.polygonEnd(),c.polygonEnd(),d.polygonEnd()}}},a.precision=function(b){return arguments.length?(f.precision(b),g.precision(b),h.precision(b),a):f.precision()},a.scale=function(b){return arguments.length?(f.scale(b),g.scale(.35*b),h.scale(b),a.translate(f.translate())):f.scale()},a.translate=function(b){if(!arguments.length)return f.translate();var j=f.scale(),k=+b[0],l=+b[1];return c=f.translate(b).clipExtent([[k-.455*j,l-.238*j],[k+.455*j,l+.238*j]]).stream(i).point,d=g.translate([k-.307*j,l+.201*j]).clipExtent([[k-.425*j+Kg,l+.12*j+Kg],[k-.214*j-Kg,l+.234*j-Kg]]).stream(i).point,e=h.translate([k-.205*j,l+.212*j]).clipExtent([[k-.214*j+Kg,l+.166*j+Kg],[k-.115*j-Kg,l+.234*j-Kg]]).stream(i).point,a},a.scale(1070)};var Oh,Ph,Qh,Rh,Sh,Th,Uh={point:v,lineStart:v,lineEnd:v,polygonStart:function(){Ph=0,Uh.lineStart=Ub},polygonEnd:function(){Uh.lineStart=Uh.lineEnd=Uh.point=v,Oh+=tg(Ph/2)}},Vh={point:Vb,lineStart:v,lineEnd:v,polygonStart:v,polygonEnd:v},Wh={point:Yb,lineStart:Zb,lineEnd:$b,polygonStart:function(){Wh.lineStart=_b},polygonEnd:function(){Wh.point=Yb,Wh.lineStart=Zb,Wh.lineEnd=$b}};hg.geo.path=function(){function a(a){return a&&("function"==typeof h&&f.pointRadius(+h.apply(this,arguments)),g&&g.valid||(g=e(f)),hg.geo.stream(a,g)),f.result()}function b(){return g=null,a}var c,d,e,f,g,h=4.5;return a.area=function(a){return Oh=0,hg.geo.stream(a,e(Uh)),Oh},a.centroid=function(a){return Ch=Dh=Eh=Fh=Gh=Hh=Ih=Jh=Kh=0,hg.geo.stream(a,e(Wh)),Kh?[Ih/Kh,Jh/Kh]:Hh?[Fh/Hh,Gh/Hh]:Eh?[Ch/Eh,Dh/Eh]:[NaN,NaN]},a.bounds=function(a){return Sh=Th=-(Qh=Rh=1/0),hg.geo.stream(a,e(Vh)),[[Qh,Rh],[Sh,Th]]},a.projection=function(a){return arguments.length?(e=(c=a)?a.stream||cc(a):s,b()):c},a.context=function(a){return arguments.length?(f=null==(d=a)?new Wb:new ac(a),"function"!=typeof h&&f.pointRadius(h),b()):d},a.pointRadius=function(b){return arguments.length?(h="function"==typeof b?b:(f.pointRadius(+b),+b),a):h},a.projection(hg.geo.albersUsa()).context(null)},hg.geo.transform=function(a){return{stream:function(b){var c=new dc(b);for(var d in a)c[d]=a[d];return c}}},dc.prototype={point:function(a,b){this.stream.point(a,b)},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()}},hg.geo.projection=fc,hg.geo.projectionMutator=gc,(hg.geo.equirectangular=function(){return fc(ic)}).raw=ic.invert=ic,hg.geo.rotation=function(a){function b(b){return b=a(b[0]*Qg,b[1]*Qg),b[0]*=Rg,b[1]*=Rg,b}return a=kc(a[0]%360*Qg,a[1]*Qg,a.length>2?a[2]*Qg:0),b.invert=function(b){return b=a.invert(b[0]*Qg,b[1]*Qg),b[0]*=Rg,b[1]*=Rg,b},b},jc.invert=ic,hg.geo.circle=function(){function a(){var a="function"==typeof d?d.apply(this,arguments):d,b=kc(-a[0]*Qg,-a[1]*Qg,0).invert,e=[];return c(null,null,1,{point:function(a,c){e.push(a=b(a,c)),a[0]*=Rg,a[1]*=Rg}}),{type:"Polygon",coordinates:[e]}}var b,c,d=[0,0],e=6;return a.origin=function(b){return arguments.length?(d=b,a):d},a.angle=function(d){return arguments.length?(c=oc((b=+d)*Qg,e*Qg),a):b},a.precision=function(d){return arguments.length?(c=oc(b*Qg,(e=+d)*Qg),a):e},a.angle(90)},hg.geo.distance=function(a,b){var c,d=(b[0]-a[0])*Qg,e=a[1]*Qg,f=b[1]*Qg,g=Math.sin(d),h=Math.cos(d),i=Math.sin(e),j=Math.cos(e),k=Math.sin(f),l=Math.cos(f);return Math.atan2(Math.sqrt((c=l*g)*c+(c=j*k-i*l*h)*c),i*k+j*l*h)},hg.geo.graticule=function(){function a(){return{type:"MultiLineString",coordinates:b()}}function b(){return hg.range(Math.ceil(f/q)*q,e,q).map(m).concat(hg.range(Math.ceil(j/r)*r,i,r).map(n)).concat(hg.range(Math.ceil(d/o)*o,c,o).filter(function(a){return tg(a%q)>Kg}).map(k)).concat(hg.range(Math.ceil(h/p)*p,g,p).filter(function(a){return tg(a%r)>Kg}).map(l))}var c,d,e,f,g,h,i,j,k,l,m,n,o=10,p=o,q=90,r=360,s=2.5;return a.lines=function(){return b().map(function(a){return{type:"LineString",coordinates:a}})},a.outline=function(){return{type:"Polygon",coordinates:[m(f).concat(n(i).slice(1),m(e).reverse().slice(1),n(j).reverse().slice(1))]}},a.extent=function(b){return arguments.length?a.majorExtent(b).minorExtent(b):a.minorExtent()},a.majorExtent=function(b){return arguments.length?(f=+b[0][0],e=+b[1][0],j=+b[0][1],i=+b[1][1],f>e&&(b=f,f=e,e=b),j>i&&(b=j,j=i,i=b),a.precision(s)):[[f,j],[e,i]]},a.minorExtent=function(b){return arguments.length?(d=+b[0][0],c=+b[1][0],h=+b[0][1],g=+b[1][1],d>c&&(b=d,d=c,c=b),h>g&&(b=h,h=g,g=b),a.precision(s)):[[d,h],[c,g]]},a.step=function(b){return arguments.length?a.majorStep(b).minorStep(b):a.minorStep()},a.majorStep=function(b){return arguments.length?(q=+b[0],r=+b[1],a):[q,r]},a.minorStep=function(b){return arguments.length?(o=+b[0],p=+b[1],a):[o,p]},a.precision=function(b){return arguments.length?(s=+b,k=qc(h,g,90),l=rc(d,c,s),m=qc(j,i,90),n=rc(f,e,s),a):s},a.majorExtent([[-180,-90+Kg],[180,90-Kg]]).minorExtent([[-180,-80-Kg],[180,80+Kg]])},hg.geo.greatArc=function(){function a(){return{type:"LineString",coordinates:[b||d.apply(this,arguments),c||e.apply(this,arguments)]}}var b,c,d=sc,e=tc;return a.distance=function(){return hg.geo.distance(b||d.apply(this,arguments),c||e.apply(this,arguments))},a.source=function(c){return arguments.length?(d=c,b="function"==typeof c?null:c,a):d},a.target=function(b){return arguments.length?(e=b,c="function"==typeof b?null:b,a):e},a.precision=function(){return arguments.length?a:0},a},hg.geo.interpolate=function(a,b){return uc(a[0]*Qg,a[1]*Qg,b[0]*Qg,b[1]*Qg)},hg.geo.length=function(a){return Xh=0,hg.geo.stream(a,Yh),Xh};var Xh,Yh={sphere:v,point:v,lineStart:vc,lineEnd:v,polygonStart:v,polygonEnd:v},Zh=wc(function(a){return Math.sqrt(2/(1+a))},function(a){return 2*Math.asin(a/2)});(hg.geo.azimuthalEqualArea=function(){return fc(Zh)}).raw=Zh;var $h=wc(function(a){var b=Math.acos(a);return b&&b/Math.sin(b)},s);(hg.geo.azimuthalEquidistant=function(){return fc($h)}).raw=$h,(hg.geo.conicConformal=function(){return Sb(xc)}).raw=xc,(hg.geo.conicEquidistant=function(){return Sb(yc)}).raw=yc;var _h=wc(function(a){return 1/a},Math.atan);(hg.geo.gnomonic=function(){return fc(_h)}).raw=_h,zc.invert=function(a,b){return[a,2*Math.atan(Math.exp(b))-Pg]},(hg.geo.mercator=function(){return Ac(zc)}).raw=zc;var ai=wc(function(){return 1},Math.asin);(hg.geo.orthographic=function(){return fc(ai)}).raw=ai;var bi=wc(function(a){return 1/(1+a)},function(a){return 2*Math.atan(a)});(hg.geo.stereographic=function(){return fc(bi)}).raw=bi,Bc.invert=function(a,b){return[-b,2*Math.atan(Math.exp(a))-Pg]},(hg.geo.transverseMercator=function(){var a=Ac(Bc),b=a.center,c=a.rotate;return a.center=function(a){return a?b([-a[1],a[0]]):(a=b(),[a[1],-a[0]])},a.rotate=function(a){return a?c([a[0],a[1],a.length>2?a[2]+90:90]):(a=c(),[a[0],a[1],a[2]-90])},c([0,0,90])}).raw=Bc,hg.geom={},hg.geom.hull=function(a){function b(a){if(a.length<3)return[];var b,e=Aa(c),f=Aa(d),g=a.length,h=[],i=[];for(b=0;b<g;b++)h.push([+e.call(this,a[b],b),+f.call(this,a[b],b),b]);for(h.sort(Fc),b=0;b<g;b++)i.push([h[b][0],-h[b][1]]);var j=Ec(h),k=Ec(i),l=k[0]===j[0],m=k[k.length-1]===j[j.length-1],n=[];for(b=j.length-1;b>=0;--b)n.push(a[h[j[b]][2]]);for(b=+l;b<k.length-m;++b)n.push(a[h[k[b]][2]]);return n}var c=Cc,d=Dc;return arguments.length?b(a):(b.x=function(a){return arguments.length?(c=a,b):c},b.y=function(a){return arguments.length?(d=a,b):d},b)},hg.geom.polygon=function(a){return yg(a,ci),a};var ci=hg.geom.polygon.prototype=[];ci.area=function(){for(var a,b=-1,c=this.length,d=this[c-1],e=0;++b<c;)a=d,d=this[b],e+=a[1]*d[0]-a[0]*d[1];return.5*e},ci.centroid=function(a){var b,c,d=-1,e=this.length,f=0,g=0,h=this[e-1];for(arguments.length||(a=-1/(6*this.area()));++d<e;)b=h,h=this[d],c=b[0]*h[1]-h[0]*b[1],f+=(b[0]+h[0])*c,g+=(b[1]+h[1])*c;return[f*a,g*a]},ci.clip=function(a){for(var b,c,d,e,f,g,h=Ic(a),i=-1,j=this.length-Ic(this),k=this[j-1];++i<j;){for(b=a.slice(),a.length=0,e=this[i],f=b[(d=b.length-h)-1],c=-1;++c<d;)g=b[c],Gc(g,k,e)?(Gc(f,k,e)||a.push(Hc(f,g,k,e)),a.push(g)):Gc(f,k,e)&&a.push(Hc(f,g,k,e)),f=g;h&&a.push(a[0]),k=e}return a};var di,ei,fi,gi,hi,ii=[],ji=[];Qc.prototype.prepare=function(){for(var a,b=this.edges,c=b.length;c--;)a=b[c].edge,a.b&&a.a||b.splice(c,1);return b.sort(Sc),b.length},ad.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}},bd.prototype={insert:function(a,b){var c,d,e;if(a){if(b.P=a,b.N=a.N,a.N&&(a.N.P=b),a.N=b,a.R){for(a=a.R;a.L;)a=a.L;a.L=b}else a.R=b;c=a}else this._?(a=fd(this._),b.P=null,b.N=a,a.P=a.L=b,c=a):(b.P=b.N=null,this._=b,c=null);for(b.L=b.R=null,b.U=c,b.C=!0,a=b;c&&c.C;)d=c.U,c===d.L?(e=d.R,e&&e.C?(c.C=e.C=!1,d.C=!0,a=d):(a===c.R&&(dd(this,c),a=c,c=a.U),c.C=!1,d.C=!0,ed(this,d))):(e=d.L,e&&e.C?(c.C=e.C=!1,d.C=!0,a=d):(a===c.L&&(ed(this,c),a=c,c=a.U),c.C=!1,d.C=!0,dd(this,d))),c=a.U;this._.C=!1},remove:function(a){a.N&&(a.N.P=a.P),a.P&&(a.P.N=a.N),a.N=a.P=null;var b,c,d,e=a.U,f=a.L,g=a.R;if(c=f?g?fd(g):f:g,e?e.L===a?e.L=c:e.R=c:this._=c,f&&g?(d=c.C,c.C=a.C,c.L=f,f.U=c,c!==g?(e=c.U,c.U=a.U,a=c.R,e.L=a,c.R=g,g.U=c):(c.U=e,e=c,a=c.R)):(d=a.C,a=c),a&&(a.U=e),!d){if(a&&a.C)return void(a.C=!1);do{if(a===this._)break;if(a===e.L){if(b=e.R,b.C&&(b.C=!1,e.C=!0,dd(this,e),b=e.R),b.L&&b.L.C||b.R&&b.R.C){b.R&&b.R.C||(b.L.C=!1,b.C=!0,ed(this,b),b=e.R),b.C=e.C,e.C=b.R.C=!1,dd(this,e),a=this._;break}}else if(b=e.L,b.C&&(b.C=!1,e.C=!0,ed(this,e),b=e.L),b.L&&b.L.C||b.R&&b.R.C){b.L&&b.L.C||(b.R.C=!1,b.C=!0,dd(this,b),b=e.L),b.C=e.C,e.C=b.L.C=!1,ed(this,e),a=this._;break}b.C=!0,a=e,e=e.U}while(!a.C);a&&(a.C=!1)}}},hg.geom.voronoi=function(a){function b(a){var b=new Array(a.length),d=h[0][0],e=h[0][1],f=h[1][0],g=h[1][1];return gd(c(a),h).cells.forEach(function(c,h){var i=c.edges,j=c.site,k=b[h]=i.length?i.map(function(a){var b=a.start();return[b.x,b.y]}):j.x>=d&&j.x<=f&&j.y>=e&&j.y<=g?[[d,g],[f,g],[f,e],[d,e]]:[];k.point=a[h]}),b}function c(a){return a.map(function(a,b){return{x:Math.round(f(a,b)/Kg)*Kg,y:Math.round(g(a,b)/Kg)*Kg,i:b}})}var d=Cc,e=Dc,f=d,g=e,h=ki;return a?b(a):(b.links=function(a){return gd(c(a)).edges.filter(function(a){return a.l&&a.r}).map(function(b){return{source:a[b.l.i],target:a[b.r.i]}})},b.triangles=function(a){var b=[];return gd(c(a)).cells.forEach(function(c,d){for(var e,f,g=c.site,h=c.edges.sort(Sc),i=-1,j=h.length,k=h[j-1].edge,l=k.l===g?k.r:k.l;++i<j;)e=k,f=l,k=h[i].edge,l=k.l===g?k.r:k.l,d<f.i&&d<l.i&&id(g,f,l)<0&&b.push([a[d],a[f.i],a[l.i]])}),b},b.x=function(a){return arguments.length?(f=Aa(d=a),b):d},b.y=function(a){return arguments.length?(g=Aa(e=a),b):e},b.clipExtent=function(a){return arguments.length?(h=null==a?ki:a,b):h===ki?null:h},b.size=function(a){return arguments.length?b.clipExtent(a&&[[0,0],a]):h===ki?null:h&&h[1]},b)};var ki=[[-1e6,-1e6],[1e6,1e6]];hg.geom.delaunay=function(a){return hg.geom.voronoi().triangles(a)},hg.geom.quadtree=function(a,b,c,d,e){function f(a){function f(a,b,c,d,e,f,g,h){if(!isNaN(c)&&!isNaN(d))if(a.leaf){var i=a.x,k=a.y;if(null!=i)if(tg(i-c)+tg(k-d)<.01)j(a,b,c,d,e,f,g,h);else{var l=a.point;a.x=a.y=a.point=null,j(a,l,i,k,e,f,g,h),j(a,b,c,d,e,f,g,h)}else a.x=c,a.y=d,a.point=b}else j(a,b,c,d,e,f,g,h)}function j(a,b,c,d,e,g,h,i){var j=.5*(e+h),k=.5*(g+i),l=c>=j,m=d>=k,n=m<<1|l;a.leaf=!1,a=a.nodes[n]||(a.nodes[n]=ld()),l?e=j:h=j,m?g=k:i=k,f(a,b,c,d,e,g,h,i)}var k,l,m,n,o,p,q,r,s,t=Aa(h),u=Aa(i);if(null!=b)p=b,q=c,r=d,s=e;else if(r=s=-(p=q=1/0),l=[],m=[],o=a.length,g)for(n=0;n<o;++n)k=a[n],k.x<p&&(p=k.x),k.y<q&&(q=k.y),k.x>r&&(r=k.x),k.y>s&&(s=k.y),l.push(k.x),m.push(k.y);else for(n=0;n<o;++n){var v=+t(k=a[n],n),w=+u(k,n);v<p&&(p=v),w<q&&(q=w),v>r&&(r=v),w>s&&(s=w),l.push(v),m.push(w)}var x=r-p,y=s-q;x>y?s=q+x:r=p+y;var z=ld();if(z.add=function(a){f(z,a,+t(a,++n),+u(a,n),p,q,r,s)},z.visit=function(a){md(a,z,p,q,r,s)},z.find=function(a){return nd(z,a[0],a[1],p,q,r,s)},n=-1,null==b){for(;++n<o;)f(z,a[n],l[n],m[n],p,q,r,s);--n}else a.forEach(z.add);return l=m=a=k=null,z}var g,h=Cc,i=Dc;return(g=arguments.length)?(h=jd,i=kd,3===g&&(e=c,d=b,c=b=0),f(a)):(f.x=function(a){return arguments.length?(h=a,f):h},f.y=function(a){return arguments.length?(i=a,f):i},f.extent=function(a){return arguments.length?(null==a?b=c=d=e=null:(b=+a[0][0],c=+a[0][1],d=+a[1][0],e=+a[1][1]),f):null==b?null:[[b,c],[d,e]]},f.size=function(a){return arguments.length?(null==a?b=c=d=e=null:(b=c=0,d=+a[0],e=+a[1]),f):null==b?null:[d-b,e-c]},f)},hg.interpolateRgb=od,hg.interpolateObject=pd,hg.interpolateNumber=qd,hg.interpolateString=rd;var li=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,mi=new RegExp(li.source,"g");hg.interpolate=sd,hg.interpolators=[function(a,b){var c=typeof b;return("string"===c?eh.has(b.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(b)?od:rd:b instanceof ga?od:Array.isArray(b)?td:"object"===c&&isNaN(b)?pd:qd)(a,b)}],hg.interpolateArray=td;var ni=function(){return s},oi=hg.map({linear:ni,poly:Ad,quad:function(){return xd},cubic:function(){return yd},sin:function(){return Bd},exp:function(){return Cd},circle:function(){return Dd},elastic:Ed,back:Fd,bounce:function(){return Gd}}),pi=hg.map({"in":s,out:vd,"in-out":wd,"out-in":function(a){return wd(vd(a))}});hg.ease=function(a){var b=a.indexOf("-"),c=b>=0?a.slice(0,b):a,d=b>=0?a.slice(b+1):"in";return c=oi.get(c)||ni,d=pi.get(d)||s,ud(d(c.apply(null,ig.call(arguments,1))))},hg.interpolateHcl=Hd,hg.interpolateHsl=Id,hg.interpolateLab=Jd,hg.interpolateRound=Kd,hg.transform=function(a){var b=kg.createElementNS(hg.ns.prefix.svg,"g");return(hg.transform=function(a){if(null!=a){b.setAttribute("transform",a);var c=b.transform.baseVal.consolidate()}return new Ld(c?c.matrix:qi)})(a)},Ld.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var qi={a:1,b:0,c:0,d:1,e:0,f:0};hg.interpolateTransform=Ud,hg.layout={},hg.layout.bundle=function(){return function(a){for(var b=[],c=-1,d=a.length;++c<d;)b.push(Xd(a[c]));return b}},hg.layout.chord=function(){function a(){var a,j,l,m,n,o={},p=[],q=hg.range(f),r=[];for(c=[],d=[],a=0,m=-1;++m<f;){for(j=0,n=-1;++n<f;)j+=e[m][n];p.push(j),r.push(hg.range(f)),a+=j}for(g&&q.sort(function(a,b){return g(p[a],p[b])}),h&&r.forEach(function(a,b){a.sort(function(a,c){return h(e[b][a],e[b][c])})}),a=(Ng-k*f)/a,j=0,m=-1;++m<f;){for(l=j,n=-1;++n<f;){var s=q[m],t=r[s][n],u=e[s][t],v=j,w=j+=u*a;o[s+"-"+t]={index:s,subindex:t,startAngle:v,endAngle:w,value:u}}d[s]={index:s,startAngle:l,endAngle:j,value:p[s]},j+=k}for(m=-1;++m<f;)for(n=m-1;++n<f;){var x=o[m+"-"+n],y=o[n+"-"+m];(x.value||y.value)&&c.push(x.value<y.value?{source:y,target:x}:{source:x,target:y})}i&&b()}function b(){c.sort(function(a,b){return i((a.source.value+a.target.value)/2,(b.source.value+b.target.value)/2)})}var c,d,e,f,g,h,i,j={},k=0;return j.matrix=function(a){return arguments.length?(f=(e=a)&&e.length,c=d=null,j):e},j.padding=function(a){return arguments.length?(k=a,c=d=null,j):k},j.sortGroups=function(a){return arguments.length?(g=a,c=d=null,j):g},j.sortSubgroups=function(a){return arguments.length?(h=a,c=null,j):h},j.sortChords=function(a){return arguments.length?(i=a,c&&b(),j):i},j.chords=function(){return c||a(),c},j.groups=function(){return d||a(),d},j},hg.layout.force=function(){function a(a){return function(b,c,d,e){if(b.point!==a){var f=b.cx-a.x,g=b.cy-a.y,h=e-c,i=f*f+g*g;if(h*h/r<i){if(i<p){var j=b.charge/i;a.px-=f*j,a.py-=g*j}return!0}if(b.point&&i&&i<p){var j=b.pointCharge/i;a.px-=f*j,a.py-=g*j}}return!b.charge}}function b(a){a.px=hg.event.x,a.py=hg.event.y,i.resume()}var c,d,e,f,g,h,i={},j=hg.dispatch("start","tick","end"),k=[1,1],l=.9,m=ri,n=si,o=-30,p=ti,q=.1,r=.64,t=[],u=[];return i.tick=function(){if((e*=.99)<.005)return c=null,j.end({type:"end",alpha:e=0}),!0;var b,d,i,m,n,p,r,s,v,w=t.length,x=u.length;for(d=0;d<x;++d)i=u[d],m=i.source,n=i.target,s=n.x-m.x,v=n.y-m.y,(p=s*s+v*v)&&(p=e*g[d]*((p=Math.sqrt(p))-f[d])/p,s*=p,v*=p,n.x-=s*(r=m.weight+n.weight?m.weight/(m.weight+n.weight):.5),n.y-=v*r,m.x+=s*(r=1-r),m.y+=v*r);if((r=e*q)&&(s=k[0]/2,v=k[1]/2,d=-1,r))for(;++d<w;)i=t[d],i.x+=(s-i.x)*r,i.y+=(v-i.y)*r;if(o)for(ce(b=hg.geom.quadtree(t),e,h),d=-1;++d<w;)(i=t[d]).fixed||b.visit(a(i));for(d=-1;++d<w;)i=t[d],i.fixed?(i.x=i.px,i.y=i.py):(i.x-=(i.px-(i.px=i.x))*l,i.y-=(i.py-(i.py=i.y))*l);j.tick({type:"tick",alpha:e})},i.nodes=function(a){return arguments.length?(t=a,i):t},i.links=function(a){return arguments.length?(u=a,i):u},i.size=function(a){return arguments.length?(k=a,i):k},i.linkDistance=function(a){return arguments.length?(m="function"==typeof a?a:+a,i):m},i.distance=i.linkDistance,i.linkStrength=function(a){return arguments.length?(n="function"==typeof a?a:+a,i):n},i.friction=function(a){return arguments.length?(l=+a,i):l},i.charge=function(a){return arguments.length?(o="function"==typeof a?a:+a,i):o},i.chargeDistance=function(a){return arguments.length?(p=a*a,i):Math.sqrt(p)},i.gravity=function(a){return arguments.length?(q=+a,i):q},i.theta=function(a){return arguments.length?(r=a*a,i):Math.sqrt(r)},i.alpha=function(a){return arguments.length?(a=+a,e?a>0?e=a:(c.c=null,c.t=NaN,c=null,j.end({type:"end",alpha:e=0})):a>0&&(j.start({type:"start",alpha:e=a}),c=Fa(i.tick)),i):e},i.start=function(){function a(a,d){if(!c){for(c=new Array(e),
+i=0;i<e;++i)c[i]=[];for(i=0;i<j;++i){var f=u[i];c[f.source.index].push(f.target),c[f.target.index].push(f.source)}}for(var g,h=c[b],i=-1,k=h.length;++i<k;)if(!isNaN(g=h[i][a]))return g;return Math.random()*d}var b,c,d,e=t.length,j=u.length,l=k[0],p=k[1];for(b=0;b<e;++b)(d=t[b]).index=b,d.weight=0;for(b=0;b<j;++b)d=u[b],"number"==typeof d.source&&(d.source=t[d.source]),"number"==typeof d.target&&(d.target=t[d.target]),++d.source.weight,++d.target.weight;for(b=0;b<e;++b)d=t[b],isNaN(d.x)&&(d.x=a("x",l)),isNaN(d.y)&&(d.y=a("y",p)),isNaN(d.px)&&(d.px=d.x),isNaN(d.py)&&(d.py=d.y);if(f=[],"function"==typeof m)for(b=0;b<j;++b)f[b]=+m.call(this,u[b],b);else for(b=0;b<j;++b)f[b]=m;if(g=[],"function"==typeof n)for(b=0;b<j;++b)g[b]=+n.call(this,u[b],b);else for(b=0;b<j;++b)g[b]=n;if(h=[],"function"==typeof o)for(b=0;b<e;++b)h[b]=+o.call(this,t[b],b);else for(b=0;b<e;++b)h[b]=o;return i.resume()},i.resume=function(){return i.alpha(.1)},i.stop=function(){return i.alpha(0)},i.drag=function(){return d||(d=hg.behavior.drag().origin(s).on("dragstart.force",$d).on("drag.force",b).on("dragend.force",_d)),arguments.length?void this.on("mouseover.force",ae).on("mouseout.force",be).call(d):d},hg.rebind(i,j,"on")};var ri=20,si=1,ti=1/0;hg.layout.hierarchy=function(){function a(e){var f,g=[e],h=[];for(e.depth=0;null!=(f=g.pop());)if(h.push(f),(j=c.call(a,f,f.depth))&&(i=j.length)){for(var i,j,k;--i>=0;)g.push(k=j[i]),k.parent=f,k.depth=f.depth+1;d&&(f.value=0),f.children=j}else d&&(f.value=+d.call(a,f,f.depth)||0),delete f.children;return fe(e,function(a){var c,e;b&&(c=a.children)&&c.sort(b),d&&(e=a.parent)&&(e.value+=a.value)}),h}var b=ie,c=ge,d=he;return a.sort=function(c){return arguments.length?(b=c,a):b},a.children=function(b){return arguments.length?(c=b,a):c},a.value=function(b){return arguments.length?(d=b,a):d},a.revalue=function(b){return d&&(ee(b,function(a){a.children&&(a.value=0)}),fe(b,function(b){var c;b.children||(b.value=+d.call(a,b,b.depth)||0),(c=b.parent)&&(c.value+=b.value)})),b},a},hg.layout.partition=function(){function a(b,c,d,e){var f=b.children;if(b.x=c,b.y=b.depth*e,b.dx=d,b.dy=e,f&&(g=f.length)){var g,h,i,j=-1;for(d=b.value?d/b.value:0;++j<g;)a(h=f[j],c,i=h.value*d,e),c+=i}}function b(a){var c=a.children,d=0;if(c&&(e=c.length))for(var e,f=-1;++f<e;)d=Math.max(d,b(c[f]));return 1+d}function c(c,f){var g=d.call(this,c,f);return a(g[0],0,e[0],e[1]/b(g[0])),g}var d=hg.layout.hierarchy(),e=[1,1];return c.size=function(a){return arguments.length?(e=a,c):e},de(c,d)},hg.layout.pie=function(){function a(g){var h,i=g.length,j=g.map(function(c,d){return+b.call(a,c,d)}),k=+("function"==typeof d?d.apply(this,arguments):d),l=("function"==typeof e?e.apply(this,arguments):e)-k,m=Math.min(Math.abs(l)/i,+("function"==typeof f?f.apply(this,arguments):f)),n=m*(l<0?-1:1),o=hg.sum(j),p=o?(l-i*n)/o:0,q=hg.range(i),r=[];return null!=c&&q.sort(c===ui?function(a,b){return j[b]-j[a]}:function(a,b){return c(g[a],g[b])}),q.forEach(function(a){r[a]={data:g[a],value:h=j[a],startAngle:k,endAngle:k+=h*p+n,padAngle:m}}),r}var b=Number,c=ui,d=0,e=Ng,f=0;return a.value=function(c){return arguments.length?(b=c,a):b},a.sort=function(b){return arguments.length?(c=b,a):c},a.startAngle=function(b){return arguments.length?(d=b,a):d},a.endAngle=function(b){return arguments.length?(e=b,a):e},a.padAngle=function(b){return arguments.length?(f=b,a):f},a};var ui={};hg.layout.stack=function(){function a(h,i){if(!(m=h.length))return h;var j=h.map(function(c,d){return b.call(a,c,d)}),k=j.map(function(b){return b.map(function(b,c){return[f.call(a,b,c),g.call(a,b,c)]})}),l=c.call(a,k,i);j=hg.permute(j,l),k=hg.permute(k,l);var m,n,o,p,q=d.call(a,k,i),r=j[0].length;for(o=0;o<r;++o)for(e.call(a,j[0][o],p=q[o],k[0][o][1]),n=1;n<m;++n)e.call(a,j[n][o],p+=k[n-1][o][1],k[n][o][1]);return h}var b=s,c=ne,d=oe,e=me,f=ke,g=le;return a.values=function(c){return arguments.length?(b=c,a):b},a.order=function(b){return arguments.length?(c="function"==typeof b?b:vi.get(b)||ne,a):c},a.offset=function(b){return arguments.length?(d="function"==typeof b?b:wi.get(b)||oe,a):d},a.x=function(b){return arguments.length?(f=b,a):f},a.y=function(b){return arguments.length?(g=b,a):g},a.out=function(b){return arguments.length?(e=b,a):e},a};var vi=hg.map({"inside-out":function(a){var b,c,d=a.length,e=a.map(pe),f=a.map(qe),g=hg.range(d).sort(function(a,b){return e[a]-e[b]}),h=0,i=0,j=[],k=[];for(b=0;b<d;++b)c=g[b],h<i?(h+=f[c],j.push(c)):(i+=f[c],k.push(c));return k.reverse().concat(j)},reverse:function(a){return hg.range(a.length).reverse()},"default":ne}),wi=hg.map({silhouette:function(a){var b,c,d,e=a.length,f=a[0].length,g=[],h=0,i=[];for(c=0;c<f;++c){for(b=0,d=0;b<e;b++)d+=a[b][c][1];d>h&&(h=d),g.push(d)}for(c=0;c<f;++c)i[c]=(h-g[c])/2;return i},wiggle:function(a){var b,c,d,e,f,g,h,i,j,k=a.length,l=a[0],m=l.length,n=[];for(n[0]=i=j=0,c=1;c<m;++c){for(b=0,e=0;b<k;++b)e+=a[b][c][1];for(b=0,f=0,h=l[c][0]-l[c-1][0];b<k;++b){for(d=0,g=(a[b][c][1]-a[b][c-1][1])/(2*h);d<b;++d)g+=(a[d][c][1]-a[d][c-1][1])/h;f+=g*a[b][c][1]}n[c]=i-=e?f/e*h:0,i<j&&(j=i)}for(c=0;c<m;++c)n[c]-=j;return n},expand:function(a){var b,c,d,e=a.length,f=a[0].length,g=1/e,h=[];for(c=0;c<f;++c){for(b=0,d=0;b<e;b++)d+=a[b][c][1];if(d)for(b=0;b<e;b++)a[b][c][1]/=d;else for(b=0;b<e;b++)a[b][c][1]=g}for(c=0;c<f;++c)h[c]=0;return h},zero:oe});hg.layout.histogram=function(){function a(a,f){for(var g,h,i=[],j=a.map(c,this),k=d.call(this,j,f),l=e.call(this,k,j,f),f=-1,m=j.length,n=l.length-1,o=b?1:1/m;++f<n;)g=i[f]=[],g.dx=l[f+1]-(g.x=l[f]),g.y=0;if(n>0)for(f=-1;++f<m;)h=j[f],h>=k[0]&&h<=k[1]&&(g=i[hg.bisect(l,h,1,n)-1],g.y+=o,g.push(a[f]));return i}var b=!0,c=Number,d=ue,e=se;return a.value=function(b){return arguments.length?(c=b,a):c},a.range=function(b){return arguments.length?(d=Aa(b),a):d},a.bins=function(b){return arguments.length?(e="number"==typeof b?function(a){return te(a,b)}:Aa(b),a):e},a.frequency=function(c){return arguments.length?(b=!!c,a):b},a},hg.layout.pack=function(){function a(a,f){var g=c.call(this,a,f),h=g[0],i=e[0],j=e[1],k=null==b?Math.sqrt:"function"==typeof b?b:function(){return b};if(h.x=h.y=0,fe(h,function(a){a.r=+k(a.value)}),fe(h,ze),d){var l=d*(b?1:Math.max(2*h.r/i,2*h.r/j))/2;fe(h,function(a){a.r+=l}),fe(h,ze),fe(h,function(a){a.r-=l})}return Ce(h,i/2,j/2,b?1:1/Math.max(2*h.r/i,2*h.r/j)),g}var b,c=hg.layout.hierarchy().sort(ve),d=0,e=[1,1];return a.size=function(b){return arguments.length?(e=b,a):e},a.radius=function(c){return arguments.length?(b=null==c||"function"==typeof c?c:+c,a):b},a.padding=function(b){return arguments.length?(d=+b,a):d},de(a,c)},hg.layout.tree=function(){function a(a,e){var k=g.call(this,a,e),l=k[0],m=b(l);if(fe(m,c),m.parent.m=-m.z,ee(m,d),j)ee(l,f);else{var n=l,o=l,p=l;ee(l,function(a){a.x<n.x&&(n=a),a.x>o.x&&(o=a),a.depth>p.depth&&(p=a)});var q=h(n,o)/2-n.x,r=i[0]/(o.x+h(o,n)/2+q),s=i[1]/(p.depth||1);ee(l,function(a){a.x=(a.x+q)*r,a.y=a.depth*s})}return k}function b(a){for(var b,c={A:null,children:[a]},d=[c];null!=(b=d.pop());)for(var e,f=b.children,g=0,h=f.length;g<h;++g)d.push((f[g]=e={_:f[g],parent:b,children:(e=f[g].children)&&e.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:g}).a=e);return c.children[0]}function c(a){var b=a.children,c=a.parent.children,d=a.i?c[a.i-1]:null;if(b.length){Ie(a);var f=(b[0].z+b[b.length-1].z)/2;d?(a.z=d.z+h(a._,d._),a.m=a.z-f):a.z=f}else d&&(a.z=d.z+h(a._,d._));a.parent.A=e(a,d,a.parent.A||c[0])}function d(a){a._.x=a.z+a.parent.m,a.m+=a.parent.m}function e(a,b,c){if(b){for(var d,e=a,f=a,g=b,i=e.parent.children[0],j=e.m,k=f.m,l=g.m,m=i.m;g=Ge(g),e=Fe(e),g&&e;)i=Fe(i),f=Ge(f),f.a=a,d=g.z+l-e.z-j+h(g._,e._),d>0&&(He(Je(g,a,c),a,d),j+=d,k+=d),l+=g.m,j+=e.m,m+=i.m,k+=f.m;g&&!Ge(f)&&(f.t=g,f.m+=l-k),e&&!Fe(i)&&(i.t=e,i.m+=j-m,c=a)}return c}function f(a){a.x*=i[0],a.y=a.depth*i[1]}var g=hg.layout.hierarchy().sort(null).value(null),h=Ee,i=[1,1],j=null;return a.separation=function(b){return arguments.length?(h=b,a):h},a.size=function(b){return arguments.length?(j=null==(i=b)?f:null,a):j?null:i},a.nodeSize=function(b){return arguments.length?(j=null==(i=b)?null:f,a):j?i:null},de(a,g)},hg.layout.cluster=function(){function a(a,f){var g,h=b.call(this,a,f),i=h[0],j=0;fe(i,function(a){var b=a.children;b&&b.length?(a.x=Le(b),a.y=Ke(b)):(a.x=g?j+=c(a,g):0,a.y=0,g=a)});var k=Me(i),l=Ne(i),m=k.x-c(k,l)/2,n=l.x+c(l,k)/2;return fe(i,e?function(a){a.x=(a.x-i.x)*d[0],a.y=(i.y-a.y)*d[1]}:function(a){a.x=(a.x-m)/(n-m)*d[0],a.y=(1-(i.y?a.y/i.y:1))*d[1]}),h}var b=hg.layout.hierarchy().sort(null).value(null),c=Ee,d=[1,1],e=!1;return a.separation=function(b){return arguments.length?(c=b,a):c},a.size=function(b){return arguments.length?(e=null==(d=b),a):e?null:d},a.nodeSize=function(b){return arguments.length?(e=null!=(d=b),a):e?d:null},de(a,b)},hg.layout.treemap=function(){function a(a,b){for(var c,d,e=-1,f=a.length;++e<f;)d=(c=a[e]).value*(b<0?0:b),c.area=isNaN(d)||d<=0?0:d}function b(c){var f=c.children;if(f&&f.length){var g,h,i,j=l(c),k=[],m=f.slice(),o=1/0,p="slice"===n?j.dx:"dice"===n?j.dy:"slice-dice"===n?1&c.depth?j.dy:j.dx:Math.min(j.dx,j.dy);for(a(m,j.dx*j.dy/c.value),k.area=0;(i=m.length)>0;)k.push(g=m[i-1]),k.area+=g.area,"squarify"!==n||(h=d(k,p))<=o?(m.pop(),o=h):(k.area-=k.pop().area,e(k,p,j,!1),p=Math.min(j.dx,j.dy),k.length=k.area=0,o=1/0);k.length&&(e(k,p,j,!0),k.length=k.area=0),f.forEach(b)}}function c(b){var d=b.children;if(d&&d.length){var f,g=l(b),h=d.slice(),i=[];for(a(h,g.dx*g.dy/b.value),i.area=0;f=h.pop();)i.push(f),i.area+=f.area,null!=f.z&&(e(i,f.z?g.dx:g.dy,g,!h.length),i.length=i.area=0);d.forEach(c)}}function d(a,b){for(var c,d=a.area,e=0,f=1/0,g=-1,h=a.length;++g<h;)(c=a[g].area)&&(c<f&&(f=c),c>e&&(e=c));return d*=d,b*=b,d?Math.max(b*e*o/d,d/(b*f*o)):1/0}function e(a,b,c,d){var e,f=-1,g=a.length,h=c.x,j=c.y,k=b?i(a.area/b):0;if(b==c.dx){for((d||k>c.dy)&&(k=c.dy);++f<g;)e=a[f],e.x=h,e.y=j,e.dy=k,h+=e.dx=Math.min(c.x+c.dx-h,k?i(e.area/k):0);e.z=!0,e.dx+=c.x+c.dx-h,c.y+=k,c.dy-=k}else{for((d||k>c.dx)&&(k=c.dx);++f<g;)e=a[f],e.x=h,e.y=j,e.dx=k,j+=e.dy=Math.min(c.y+c.dy-j,k?i(e.area/k):0);e.z=!1,e.dy+=c.y+c.dy-j,c.x+=k,c.dx-=k}}function f(d){var e=g||h(d),f=e[0];return f.x=f.y=0,f.value?(f.dx=j[0],f.dy=j[1]):f.dx=f.dy=0,g&&h.revalue(f),a([f],f.dx*f.dy/f.value),(g?c:b)(f),m&&(g=e),e}var g,h=hg.layout.hierarchy(),i=Math.round,j=[1,1],k=null,l=Oe,m=!1,n="squarify",o=.5*(1+Math.sqrt(5));return f.size=function(a){return arguments.length?(j=a,f):j},f.padding=function(a){function b(b){var c=a.call(f,b,b.depth);return null==c?Oe(b):Pe(b,"number"==typeof c?[c,c,c,c]:c)}function c(b){return Pe(b,a)}if(!arguments.length)return k;var d;return l=null==(k=a)?Oe:"function"==(d=typeof a)?b:"number"===d?(a=[a,a,a,a],c):c,f},f.round=function(a){return arguments.length?(i=a?Math.round:Number,f):i!=Number},f.sticky=function(a){return arguments.length?(m=a,g=null,f):m},f.ratio=function(a){return arguments.length?(o=a,f):o},f.mode=function(a){return arguments.length?(n=a+"",f):n},de(f,h)},hg.random={normal:function(a,b){var c=arguments.length;return c<2&&(b=1),c<1&&(a=0),function(){var c,d,e;do c=2*Math.random()-1,d=2*Math.random()-1,e=c*c+d*d;while(!e||e>1);return a+b*c*Math.sqrt(-2*Math.log(e)/e)}},logNormal:function(){var a=hg.random.normal.apply(hg,arguments);return function(){return Math.exp(a())}},bates:function(a){var b=hg.random.irwinHall(a);return function(){return b()/a}},irwinHall:function(a){return function(){for(var b=0,c=0;c<a;c++)b+=Math.random();return b}}},hg.scale={};var xi={floor:s,ceil:s};hg.scale.linear=function(){return We([0,1],[0,1],sd,!1)};var yi={s:1,g:1,p:1,r:1,e:1};hg.scale.log=function(){return cf(hg.scale.linear().domain([0,1]),10,!0,[1,10])};var zi=hg.format(".0e"),Ai={floor:function(a){return-Math.ceil(-a)},ceil:function(a){return-Math.floor(-a)}};hg.scale.pow=function(){return df(hg.scale.linear(),1,[0,1])},hg.scale.sqrt=function(){return hg.scale.pow().exponent(.5)},hg.scale.ordinal=function(){return ff([],{t:"range",a:[[]]})},hg.scale.category10=function(){return hg.scale.ordinal().range(Bi)},hg.scale.category20=function(){return hg.scale.ordinal().range(Ci)},hg.scale.category20b=function(){return hg.scale.ordinal().range(Di)},hg.scale.category20c=function(){return hg.scale.ordinal().range(Ei)};var Bi=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ta),Ci=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ta),Di=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ta),Ei=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ta);hg.scale.quantile=function(){return gf([],[])},hg.scale.quantize=function(){return hf(0,1,[0,1])},hg.scale.threshold=function(){return jf([.5],[0,1])},hg.scale.identity=function(){return kf([0,1])},hg.svg={},hg.svg.arc=function(){function a(){var a=Math.max(0,+c.apply(this,arguments)),j=Math.max(0,+d.apply(this,arguments)),k=g.apply(this,arguments)-Pg,l=h.apply(this,arguments)-Pg,m=Math.abs(l-k),n=k>l?0:1;if(j<a&&(o=j,j=a,a=o),m>=Og)return b(j,n)+(a?b(a,1-n):"")+"Z";var o,p,q,r,s,t,u,v,w,x,y,z,A=0,B=0,C=[];if((r=(+i.apply(this,arguments)||0)/2)&&(q=f===Fi?Math.sqrt(a*a+j*j):+f.apply(this,arguments),n||(B*=-1),j&&(B=ba(q/j*Math.sin(r))),a&&(A=ba(q/a*Math.sin(r)))),j){s=j*Math.cos(k+B),t=j*Math.sin(k+B),u=j*Math.cos(l-B),v=j*Math.sin(l-B);var D=Math.abs(l-k-2*B)<=Mg?0:1;if(B&&rf(s,t,u,v)===n^D){var E=(k+l)/2;s=j*Math.cos(E),t=j*Math.sin(E),u=v=null}}else s=t=0;if(a){w=a*Math.cos(l-A),x=a*Math.sin(l-A),y=a*Math.cos(k+A),z=a*Math.sin(k+A);var F=Math.abs(k-l+2*A)<=Mg?0:1;if(A&&rf(w,x,y,z)===1-n^F){var G=(k+l)/2;w=a*Math.cos(G),x=a*Math.sin(G),y=z=null}}else w=x=0;if(m>Kg&&(o=Math.min(Math.abs(j-a)/2,+e.apply(this,arguments)))>.001){p=a<j^n?0:1;var H=o,I=o;if(m<Mg){var J=null==y?[w,x]:null==u?[s,t]:Hc([s,t],[y,z],[u,v],[w,x]),K=s-J[0],L=t-J[1],M=u-J[0],N=v-J[1],O=1/Math.sin(Math.acos((K*M+L*N)/(Math.sqrt(K*K+L*L)*Math.sqrt(M*M+N*N)))/2),P=Math.sqrt(J[0]*J[0]+J[1]*J[1]);I=Math.min(o,(a-P)/(O-1)),H=Math.min(o,(j-P)/(O+1))}if(null!=u){var Q=sf(null==y?[w,x]:[y,z],[s,t],j,H,n),R=sf([u,v],[w,x],j,H,n);o===H?C.push("M",Q[0],"A",H,",",H," 0 0,",p," ",Q[1],"A",j,",",j," 0 ",1-n^rf(Q[1][0],Q[1][1],R[1][0],R[1][1]),",",n," ",R[1],"A",H,",",H," 0 0,",p," ",R[0]):C.push("M",Q[0],"A",H,",",H," 0 1,",p," ",R[0])}else C.push("M",s,",",t);if(null!=y){var S=sf([s,t],[y,z],a,-I,n),T=sf([w,x],null==u?[s,t]:[u,v],a,-I,n);o===I?C.push("L",T[0],"A",I,",",I," 0 0,",p," ",T[1],"A",a,",",a," 0 ",n^rf(T[1][0],T[1][1],S[1][0],S[1][1]),",",1-n," ",S[1],"A",I,",",I," 0 0,",p," ",S[0]):C.push("L",T[0],"A",I,",",I," 0 0,",p," ",S[0])}else C.push("L",w,",",x)}else C.push("M",s,",",t),null!=u&&C.push("A",j,",",j," 0 ",D,",",n," ",u,",",v),C.push("L",w,",",x),null!=y&&C.push("A",a,",",a," 0 ",F,",",1-n," ",y,",",z);return C.push("Z"),C.join("")}function b(a,b){return"M0,"+a+"A"+a+","+a+" 0 1,"+b+" 0,"+-a+"A"+a+","+a+" 0 1,"+b+" 0,"+a}var c=mf,d=nf,e=lf,f=Fi,g=of,h=pf,i=qf;return a.innerRadius=function(b){return arguments.length?(c=Aa(b),a):c},a.outerRadius=function(b){return arguments.length?(d=Aa(b),a):d},a.cornerRadius=function(b){return arguments.length?(e=Aa(b),a):e},a.padRadius=function(b){return arguments.length?(f=b==Fi?Fi:Aa(b),a):f},a.startAngle=function(b){return arguments.length?(g=Aa(b),a):g},a.endAngle=function(b){return arguments.length?(h=Aa(b),a):h},a.padAngle=function(b){return arguments.length?(i=Aa(b),a):i},a.centroid=function(){var a=(+c.apply(this,arguments)+ +d.apply(this,arguments))/2,b=(+g.apply(this,arguments)+ +h.apply(this,arguments))/2-Pg;return[Math.cos(b)*a,Math.sin(b)*a]},a};var Fi="auto";hg.svg.line=function(){return tf(s)};var Gi=hg.map({linear:uf,"linear-closed":vf,step:wf,"step-before":xf,"step-after":yf,basis:Ef,"basis-open":Ff,"basis-closed":Gf,bundle:Hf,cardinal:Bf,"cardinal-open":zf,"cardinal-closed":Af,monotone:Nf});Gi.forEach(function(a,b){b.key=a,b.closed=/-closed$/.test(a)});var Hi=[0,2/3,1/3,0],Ii=[0,1/3,2/3,0],Ji=[0,1/6,2/3,1/6];hg.svg.line.radial=function(){var a=tf(Of);return a.radius=a.x,delete a.x,a.angle=a.y,delete a.y,a},xf.reverse=yf,yf.reverse=xf,hg.svg.area=function(){return Pf(s)},hg.svg.area.radial=function(){var a=Pf(Of);return a.radius=a.x,delete a.x,a.innerRadius=a.x0,delete a.x0,a.outerRadius=a.x1,delete a.x1,a.angle=a.y,delete a.y,a.startAngle=a.y0,delete a.y0,a.endAngle=a.y1,delete a.y1,a},hg.svg.chord=function(){function a(a,h){var i=b(this,f,a,h),j=b(this,g,a,h);return"M"+i.p0+d(i.r,i.p1,i.a1-i.a0)+(c(i,j)?e(i.r,i.p1,i.r,i.p0):e(i.r,i.p1,j.r,j.p0)+d(j.r,j.p1,j.a1-j.a0)+e(j.r,j.p1,i.r,i.p0))+"Z"}function b(a,b,c,d){var e=b.call(a,c,d),f=h.call(a,e,d),g=i.call(a,e,d)-Pg,k=j.call(a,e,d)-Pg;return{r:f,a0:g,a1:k,p0:[f*Math.cos(g),f*Math.sin(g)],p1:[f*Math.cos(k),f*Math.sin(k)]}}function c(a,b){return a.a0==b.a0&&a.a1==b.a1}function d(a,b,c){return"A"+a+","+a+" 0 "+ +(c>Mg)+",1 "+b}function e(a,b,c,d){return"Q 0,0 "+d}var f=sc,g=tc,h=Qf,i=of,j=pf;return a.radius=function(b){return arguments.length?(h=Aa(b),a):h},a.source=function(b){return arguments.length?(f=Aa(b),a):f},a.target=function(b){return arguments.length?(g=Aa(b),a):g},a.startAngle=function(b){return arguments.length?(i=Aa(b),a):i},a.endAngle=function(b){return arguments.length?(j=Aa(b),a):j},a},hg.svg.diagonal=function(){function a(a,e){var f=b.call(this,a,e),g=c.call(this,a,e),h=(f.y+g.y)/2,i=[f,{x:f.x,y:h},{x:g.x,y:h},g];return i=i.map(d),"M"+i[0]+"C"+i[1]+" "+i[2]+" "+i[3]}var b=sc,c=tc,d=Rf;return a.source=function(c){return arguments.length?(b=Aa(c),a):b},a.target=function(b){return arguments.length?(c=Aa(b),a):c},a.projection=function(b){return arguments.length?(d=b,a):d},a},hg.svg.diagonal.radial=function(){var a=hg.svg.diagonal(),b=Rf,c=a.projection;return a.projection=function(a){return arguments.length?c(Sf(b=a)):b},a},hg.svg.symbol=function(){function a(a,d){return(Ki.get(b.call(this,a,d))||Vf)(c.call(this,a,d))}var b=Uf,c=Tf;return a.type=function(c){return arguments.length?(b=Aa(c),a):b},a.size=function(b){return arguments.length?(c=Aa(b),a):c},a};var Ki=hg.map({circle:Vf,cross:function(a){var b=Math.sqrt(a/5)/2;return"M"+-3*b+","+-b+"H"+-b+"V"+-3*b+"H"+b+"V"+-b+"H"+3*b+"V"+b+"H"+b+"V"+3*b+"H"+-b+"V"+b+"H"+-3*b+"Z"},diamond:function(a){var b=Math.sqrt(a/(2*Mi)),c=b*Mi;return"M0,"+-b+"L"+c+",0 0,"+b+" "+-c+",0Z"},square:function(a){var b=Math.sqrt(a)/2;return"M"+-b+","+-b+"L"+b+","+-b+" "+b+","+b+" "+-b+","+b+"Z"},"triangle-down":function(a){var b=Math.sqrt(a/Li),c=b*Li/2;return"M0,"+c+"L"+b+","+-c+" "+-b+","+-c+"Z"},"triangle-up":function(a){var b=Math.sqrt(a/Li),c=b*Li/2;return"M0,"+-c+"L"+b+","+c+" "+-b+","+c+"Z"}});hg.svg.symbolTypes=Ki.keys();var Li=Math.sqrt(3),Mi=Math.tan(30*Qg);Cg.transition=function(a){for(var b,c,d=Ni||++Ri,e=$f(a),f=[],g=Oi||{time:Date.now(),ease:zd,delay:0,duration:250},h=-1,i=this.length;++h<i;){f.push(b=[]);for(var j=this[h],k=-1,l=j.length;++k<l;)(c=j[k])&&_f(c,k,e,d,g),b.push(c)}return Xf(f,e,d)},Cg.interrupt=function(a){return this.each(null==a?Pi:Wf($f(a)))};var Ni,Oi,Pi=Wf($f()),Qi=[],Ri=0;Qi.call=Cg.call,Qi.empty=Cg.empty,Qi.node=Cg.node,Qi.size=Cg.size,hg.transition=function(a,b){return a&&a.transition?Ni?a.transition(b):a:hg.selection().transition(a)},hg.transition.prototype=Qi,Qi.select=function(a){var b,c,d,e=this.id,f=this.namespace,g=[];a=C(a);for(var h=-1,i=this.length;++h<i;){g.push(b=[]);for(var j=this[h],k=-1,l=j.length;++k<l;)(d=j[k])&&(c=a.call(d,d.__data__,k,h))?("__data__"in d&&(c.__data__=d.__data__),_f(c,k,f,e,d[f][e]),b.push(c)):b.push(null)}return Xf(g,f,e)},Qi.selectAll=function(a){var b,c,d,e,f,g=this.id,h=this.namespace,i=[];a=D(a);for(var j=-1,k=this.length;++j<k;)for(var l=this[j],m=-1,n=l.length;++m<n;)if(d=l[m]){f=d[h][g],c=a.call(d,d.__data__,m,j),i.push(b=[]);for(var o=-1,p=c.length;++o<p;)(e=c[o])&&_f(e,o,h,g,f),b.push(e)}return Xf(i,h,g)},Qi.filter=function(a){var b,c,d,e=[];"function"!=typeof a&&(a=P(a));for(var f=0,g=this.length;f<g;f++){e.push(b=[]);for(var c=this[f],h=0,i=c.length;h<i;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return Xf(e,this.namespace,this.id)},Qi.tween=function(a,b){var c=this.id,d=this.namespace;return arguments.length<2?this.node()[d][c].tween.get(a):R(this,null==b?function(b){b[d][c].tween.remove(a)}:function(e){e[d][c].tween.set(a,b)})},Qi.attr=function(a,b){function c(){this.removeAttribute(h)}function d(){this.removeAttributeNS(h.space,h.local)}function e(a){return null==a?c:(a+="",function(){var b,c=this.getAttribute(h);return c!==a&&(b=g(c,a),function(a){this.setAttribute(h,b(a))})})}function f(a){return null==a?d:(a+="",function(){var b,c=this.getAttributeNS(h.space,h.local);return c!==a&&(b=g(c,a),function(a){this.setAttributeNS(h.space,h.local,b(a))})})}if(arguments.length<2){for(b in a)this.attr(b,a[b]);return this}var g="transform"==a?Ud:sd,h=hg.ns.qualify(a);return Yf(this,"attr."+a,b,h.local?f:e)},Qi.attrTween=function(a,b){function c(a,c){var d=b.call(this,a,c,this.getAttribute(e));return d&&function(a){this.setAttribute(e,d(a))}}function d(a,c){var d=b.call(this,a,c,this.getAttributeNS(e.space,e.local));return d&&function(a){this.setAttributeNS(e.space,e.local,d(a))}}var e=hg.ns.qualify(a);return this.tween("attr."+a,e.local?d:c)},Qi.style=function(a,c,d){function e(){this.style.removeProperty(a)}function f(c){return null==c?e:(c+="",function(){var e,f=b(this).getComputedStyle(this,null).getPropertyValue(a);return f!==c&&(e=sd(f,c),function(b){this.style.setProperty(a,e(b),d)})})}var g=arguments.length;if(g<3){if("string"!=typeof a){g<2&&(c="");for(d in a)this.style(d,a[d],c);return this}d=""}return Yf(this,"style."+a,c,f)},Qi.styleTween=function(a,c,d){function e(e,f){var g=c.call(this,e,f,b(this).getComputedStyle(this,null).getPropertyValue(a));return g&&function(b){this.style.setProperty(a,g(b),d)}}return arguments.length<3&&(d=""),this.tween("style."+a,e)},Qi.text=function(a){return Yf(this,"text",a,Zf)},Qi.remove=function(){var a=this.namespace;return this.each("end.transition",function(){var b;this[a].count<2&&(b=this.parentNode)&&b.removeChild(this)})},Qi.ease=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].ease:("function"!=typeof a&&(a=hg.ease.apply(hg,arguments)),R(this,function(d){d[c][b].ease=a}))},Qi.delay=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].delay:R(this,"function"==typeof a?function(d,e,f){d[c][b].delay=+a.call(d,d.__data__,e,f)}:(a=+a,function(d){d[c][b].delay=a}))},Qi.duration=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].duration:R(this,"function"==typeof a?function(d,e,f){d[c][b].duration=Math.max(1,a.call(d,d.__data__,e,f))}:(a=Math.max(1,a),function(d){d[c][b].duration=a}))},Qi.each=function(a,b){var c=this.id,d=this.namespace;if(arguments.length<2){var e=Oi,f=Ni;try{Ni=c,R(this,function(b,e,f){Oi=b[d][c],a.call(b,b.__data__,e,f)})}finally{Oi=e,Ni=f}}else R(this,function(e){var f=e[d][c];(f.event||(f.event=hg.dispatch("start","end","interrupt"))).on(a,b)});return this},Qi.transition=function(){for(var a,b,c,d,e=this.id,f=++Ri,g=this.namespace,h=[],i=0,j=this.length;i<j;i++){h.push(a=[]);for(var b=this[i],k=0,l=b.length;k<l;k++)(c=b[k])&&(d=c[g][e],_f(c,k,g,f,{time:d.time,ease:d.ease,delay:d.delay+d.duration,duration:d.duration})),a.push(c)}return Xf(h,g,f)},hg.svg.axis=function(){function a(a){a.each(function(){var a,j=hg.select(this),k=this.__chart__||c,l=this.__chart__=c.copy(),m=null==i?l.ticks?l.ticks.apply(l,h):l.domain():i,n=null==b?l.tickFormat?l.tickFormat.apply(l,h):s:b,o=j.selectAll(".tick").data(m,l),p=o.enter().insert("g",".domain").attr("class","tick").style("opacity",Kg),q=hg.transition(o.exit()).style("opacity",Kg).remove(),r=hg.transition(o.order()).style("opacity",1),t=Math.max(e,0)+g,u=Re(l),v=j.selectAll(".domain").data([0]),w=(v.enter().append("path").attr("class","domain"),hg.transition(v));p.append("line"),p.append("text");var x,y,z,A,B=p.select("line"),C=r.select("line"),D=o.select("text").text(n),E=p.select("text"),F=r.select("text"),G="top"===d||"left"===d?-1:1;if("bottom"===d||"top"===d?(a=ag,x="x",z="y",y="x2",A="y2",D.attr("dy",G<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+u[0]+","+G*f+"V0H"+u[1]+"V"+G*f)):(a=bg,x="y",z="x",y="y2",A="x2",D.attr("dy",".32em").style("text-anchor",G<0?"end":"start"),w.attr("d","M"+G*f+","+u[0]+"H0V"+u[1]+"H"+G*f)),B.attr(A,G*e),E.attr(z,G*t),C.attr(y,0).attr(A,G*e),F.attr(x,0).attr(z,G*t),l.rangeBand){var H=l,I=H.rangeBand()/2;k=l=function(a){return H(a)+I}}else k.rangeBand?k=l:q.call(a,l,k);p.call(a,k,l),r.call(a,l,l)})}var b,c=hg.scale.linear(),d=Si,e=6,f=6,g=3,h=[10],i=null;return a.scale=function(b){return arguments.length?(c=b,a):c},a.orient=function(b){return arguments.length?(d=b in Ti?b+"":Si,a):d},a.ticks=function(){return arguments.length?(h=jg(arguments),a):h},a.tickValues=function(b){return arguments.length?(i=b,a):i},a.tickFormat=function(c){return arguments.length?(b=c,a):b},a.tickSize=function(b){var c=arguments.length;return c?(e=+b,f=+arguments[c-1],a):e},a.innerTickSize=function(b){return arguments.length?(e=+b,a):e},a.outerTickSize=function(b){return arguments.length?(f=+b,a):f},a.tickPadding=function(b){return arguments.length?(g=+b,a):g},a.tickSubdivide=function(){return arguments.length&&a},a};var Si="bottom",Ti={top:1,right:1,bottom:1,left:1};hg.svg.brush=function(){function a(b){b.each(function(){var b=hg.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",f).on("touchstart.brush",f),g=b.selectAll(".background").data([0]);g.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),b.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var h=b.selectAll(".resize").data(p,s);h.exit().remove(),h.enter().append("g").attr("class",function(a){return"resize "+a}).style("cursor",function(a){return Ui[a]}).append("rect").attr("x",function(a){return/[ew]$/.test(a)?-3:null}).attr("y",function(a){return/^[ns]/.test(a)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),h.style("display",a.empty()?"none":null);var i,l=hg.transition(b),m=hg.transition(g);j&&(i=Re(j),m.attr("x",i[0]).attr("width",i[1]-i[0]),d(l)),k&&(i=Re(k),m.attr("y",i[0]).attr("height",i[1]-i[0]),e(l)),c(l)})}function c(a){a.selectAll(".resize").attr("transform",function(a){return"translate("+l[+/e$/.test(a)]+","+m[+/^s/.test(a)]+")"})}function d(a){a.select(".extent").attr("x",l[0]),a.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function e(a){a.select(".extent").attr("y",m[0]),a.selectAll(".extent,.e>rect,.w>rect").attr("height",m[1]-m[0])}function f(){function f(){32==hg.event.keyCode&&(D||(t=null,F[0]-=l[1],F[1]-=m[1],D=2),y())}function p(){32==hg.event.keyCode&&2==D&&(F[0]+=l[1],F[1]+=m[1],D=0,y())}function q(){var a=hg.mouse(v),b=!1;u&&(a[0]+=u[0],a[1]+=u[1]),D||(hg.event.altKey?(t||(t=[(l[0]+l[1])/2,(m[0]+m[1])/2]),F[0]=l[+(a[0]<t[0])],F[1]=m[+(a[1]<t[1])]):t=null),B&&r(a,j,0)&&(d(z),b=!0),C&&r(a,k,1)&&(e(z),b=!0),b&&(c(z),x({type:"brush",mode:D?"move":"resize"}))}function r(a,b,c){var d,e,f=Re(b),i=f[0],j=f[1],k=F[c],p=c?m:l,q=p[1]-p[0];if(D&&(i-=k,j-=q+k),d=(c?o:n)?Math.max(i,Math.min(j,a[c])):a[c],D?e=(d+=k)+q:(t&&(k=Math.max(i,Math.min(j,2*t[c]-d))),k<d?(e=d,d=k):e=k),p[0]!=d||p[1]!=e)return c?h=null:g=null,p[0]=d,p[1]=e,!0}function s(){q(),z.style("pointer-events","all").selectAll(".resize").style("display",a.empty()?"none":null),hg.select("body").style("cursor",null),G.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),E(),x({type:"brushend"})}var t,u,v=this,w=hg.select(hg.event.target),x=i.of(v,arguments),z=hg.select(v),A=w.datum(),B=!/^(n|s)$/.test(A)&&j,C=!/^(e|w)$/.test(A)&&k,D=w.classed("extent"),E=X(v),F=hg.mouse(v),G=hg.select(b(v)).on("keydown.brush",f).on("keyup.brush",p);if(hg.event.changedTouches?G.on("touchmove.brush",q).on("touchend.brush",s):G.on("mousemove.brush",q).on("mouseup.brush",s),z.interrupt().selectAll("*").interrupt(),D)F[0]=l[0]-F[0],F[1]=m[0]-F[1];else if(A){var H=+/w$/.test(A),I=+/^n/.test(A);u=[l[1-H]-F[0],m[1-I]-F[1]],F[0]=l[H],F[1]=m[I]}else hg.event.altKey&&(t=F.slice());z.style("pointer-events","none").selectAll(".resize").style("display",null),hg.select("body").style("cursor",w.style("cursor")),x({type:"brushstart"}),q()}var g,h,i=A(a,"brushstart","brush","brushend"),j=null,k=null,l=[0,0],m=[0,0],n=!0,o=!0,p=Vi[0];return a.event=function(a){a.each(function(){var a=i.of(this,arguments),b={x:l,y:m,i:g,j:h},c=this.__chart__||b;this.__chart__=b,Ni?hg.select(this).transition().each("start.brush",function(){g=c.i,h=c.j,l=c.x,m=c.y,a({type:"brushstart"})}).tween("brush:brush",function(){var c=td(l,b.x),d=td(m,b.y);return g=h=null,function(e){l=b.x=c(e),m=b.y=d(e),a({type:"brush",mode:"resize"})}}).each("end.brush",function(){g=b.i,h=b.j,a({type:"brush",mode:"resize"}),a({type:"brushend"})}):(a({type:"brushstart"}),a({type:"brush",mode:"resize"}),a({type:"brushend"}))})},a.x=function(b){return arguments.length?(j=b,p=Vi[!j<<1|!k],a):j},a.y=function(b){return arguments.length?(k=b,p=Vi[!j<<1|!k],a):k},a.clamp=function(b){return arguments.length?(j&&k?(n=!!b[0],o=!!b[1]):j?n=!!b:k&&(o=!!b),a):j&&k?[n,o]:j?n:k?o:null},a.extent=function(b){var c,d,e,f,i;return arguments.length?(j&&(c=b[0],d=b[1],k&&(c=c[0],d=d[0]),g=[c,d],j.invert&&(c=j(c),d=j(d)),d<c&&(i=c,c=d,d=i),c==l[0]&&d==l[1]||(l=[c,d])),k&&(e=b[0],f=b[1],j&&(e=e[1],f=f[1]),h=[e,f],k.invert&&(e=k(e),f=k(f)),f<e&&(i=e,e=f,f=i),e==m[0]&&f==m[1]||(m=[e,f])),a):(j&&(g?(c=g[0],d=g[1]):(c=l[0],d=l[1],j.invert&&(c=j.invert(c),d=j.invert(d)),d<c&&(i=c,c=d,d=i))),k&&(h?(e=h[0],f=h[1]):(e=m[0],f=m[1],k.invert&&(e=k.invert(e),f=k.invert(f)),f<e&&(i=e,e=f,f=i))),j&&k?[[c,e],[d,f]]:j?[c,d]:k&&[e,f])},a.clear=function(){return a.empty()||(l=[0,0],m=[0,0],g=h=null),a},a.empty=function(){return!!j&&l[0]==l[1]||!!k&&m[0]==m[1]},hg.rebind(a,i,"on")};var Ui={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Vi=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wi=nh.format=th.timeFormat,Xi=Wi.utc,Yi=Xi("%Y-%m-%dT%H:%M:%S.%LZ");Wi.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?cg:Yi,cg.parse=function(a){var b=new Date(a);return isNaN(b)?null:b},cg.toString=Yi.toString,nh.second=Oa(function(a){return new oh(1e3*Math.floor(a/1e3))},function(a,b){a.setTime(a.getTime()+1e3*Math.floor(b))},function(a){return a.getSeconds()}),nh.seconds=nh.second.range,nh.seconds.utc=nh.second.utc.range,nh.minute=Oa(function(a){return new oh(6e4*Math.floor(a/6e4))},function(a,b){a.setTime(a.getTime()+6e4*Math.floor(b))},function(a){return a.getMinutes()}),nh.minutes=nh.minute.range,nh.minutes.utc=nh.minute.utc.range,nh.hour=Oa(function(a){var b=a.getTimezoneOffset()/60;return new oh(36e5*(Math.floor(a/36e5-b)+b))},function(a,b){a.setTime(a.getTime()+36e5*Math.floor(b))},function(a){return a.getHours()}),nh.hours=nh.hour.range,nh.hours.utc=nh.hour.utc.range,nh.month=Oa(function(a){return a=nh.day(a),a.setDate(1),a},function(a,b){a.setMonth(a.getMonth()+b)},function(a){return a.getMonth()}),nh.months=nh.month.range,nh.months.utc=nh.month.utc.range;var Zi=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],$i=[[nh.second,1],[nh.second,5],[nh.second,15],[nh.second,30],[nh.minute,1],[nh.minute,5],[nh.minute,15],[nh.minute,30],[nh.hour,1],[nh.hour,3],[nh.hour,6],[nh.hour,12],[nh.day,1],[nh.day,2],[nh.week,1],[nh.month,1],[nh.month,3],[nh.year,1]],_i=Wi.multi([[".%L",function(a){
+return a.getMilliseconds()}],[":%S",function(a){return a.getSeconds()}],["%I:%M",function(a){return a.getMinutes()}],["%I %p",function(a){return a.getHours()}],["%a %d",function(a){return a.getDay()&&1!=a.getDate()}],["%b %d",function(a){return 1!=a.getDate()}],["%B",function(a){return a.getMonth()}],["%Y",Db]]),aj={range:function(a,b,c){return hg.range(Math.ceil(a/c)*c,+b,c).map(eg)},floor:s,ceil:s};$i.year=nh.year,nh.scale=function(){return dg(hg.scale.linear(),$i,_i)};var bj=$i.map(function(a){return[a[0].utc,a[1]]}),cj=Xi.multi([[".%L",function(a){return a.getUTCMilliseconds()}],[":%S",function(a){return a.getUTCSeconds()}],["%I:%M",function(a){return a.getUTCMinutes()}],["%I %p",function(a){return a.getUTCHours()}],["%a %d",function(a){return a.getUTCDay()&&1!=a.getUTCDate()}],["%b %d",function(a){return 1!=a.getUTCDate()}],["%B",function(a){return a.getUTCMonth()}],["%Y",Db]]);bj.year=nh.year.utc,nh.scale.utc=function(){return dg(hg.scale.linear(),bj,cj)},hg.text=Ba(function(a){return a.responseText}),hg.json=function(a,b){return Ca(a,"application/json",fg,b)},hg.html=function(a,b){return Ca(a,"text/html",gg,b)},hg.xml=Ba(function(a){return a.responseXML}),"function"==typeof define&&define.amd?(this.d3=hg,define(hg)):"object"==typeof module&&module.exports?module.exports=hg:this.d3=hg}(),function(){var a={};a.dev=!1,a.tooltip=a.tooltip||{},a.utils=a.utils||{},a.models=a.models||{},a.charts={},a.logs={},a.dom={},"undefined"!=typeof module&&"undefined"!=typeof exports&&"undefined"==typeof d3&&(d3=require("d3")),a.dispatch=d3.dispatch("render_start","render_end"),Function.prototype.bind||(Function.prototype.bind=function(a){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var b=Array.prototype.slice.call(arguments,1),c=this,d=function(){},e=function(){return c.apply(this instanceof d&&a?this:a,b.concat(Array.prototype.slice.call(arguments)))};return d.prototype=this.prototype,e.prototype=new d,e}),a.dev&&(a.dispatch.on("render_start",function(b){a.logs.startTime=+new Date}),a.dispatch.on("render_end",function(b){a.logs.endTime=+new Date,a.logs.totalTime=a.logs.endTime-a.logs.startTime,a.log("total",a.logs.totalTime)})),a.log=function(){if(a.dev&&window.console&&console.log&&console.log.apply)console.log.apply(console,arguments);else if(a.dev&&window.console&&"function"==typeof console.log&&Function.prototype.bind){var b=Function.prototype.bind.call(console.log,console);b.apply(console,arguments)}return arguments[arguments.length-1]},a.deprecated=function(a,b){console&&console.warn&&console.warn("nvd3 warning: `"+a+"` has been deprecated. ",b||"")},a.render=function(b){b=b||1,a.render.active=!0,a.dispatch.render_start();var c=function(){for(var d,e,f=0;f<b&&(e=a.render.queue[f]);f++)d=e.generate(),typeof e.callback==typeof Function&&e.callback(d);a.render.queue.splice(0,f),a.render.queue.length?setTimeout(c):(a.dispatch.render_end(),a.render.active=!1)};setTimeout(c)},a.render.active=!1,a.render.queue=[],a.addGraph=function(b){typeof arguments[0]==typeof Function&&(b={generate:arguments[0],callback:arguments[1]}),a.render.queue.push(b),a.render.active||a.render()},"undefined"!=typeof module&&"undefined"!=typeof exports&&(module.exports=a),"undefined"!=typeof window&&(window.nv=a),a.dom.write=function(a){return void 0!==window.fastdom?fastdom.mutate(a):a()},a.dom.read=function(a){return void 0!==window.fastdom?fastdom.measure(a):a()},a.interactiveGuideline=function(){"use strict";function b(l){l.each(function(l){function m(){var a=d3.mouse(this),d=a[0],e=a[1],h=!0,i=!1;if(k&&(d=d3.event.offsetX,e=d3.event.offsetY,"svg"!==d3.event.target.tagName&&(h=!1),d3.event.target.className.baseVal.match("nv-legend")&&(i=!0)),h&&(d-=c.left,e-=c.top),"mouseout"===d3.event.type||d<0||e<0||d>o||e>p||d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElement||i){if(k&&d3.event.relatedTarget&&void 0===d3.event.relatedTarget.ownerSVGElement&&(void 0===d3.event.relatedTarget.className||d3.event.relatedTarget.className.match(j.nvPointerEventsClass)))return;return g.elementMouseout({mouseX:d,mouseY:e}),b.renderGuideLine(null),void j.hidden(!0)}j.hidden(!1);var l="function"==typeof f.rangeBands,m=void 0;if(l){var n=d3.bisect(f.range(),d)-1;if(!(f.range()[n]+f.rangeBand()>=d))return g.elementMouseout({mouseX:d,mouseY:e}),b.renderGuideLine(null),void j.hidden(!0);m=f.domain()[d3.bisect(f.range(),d)-1]}else m=f.invert(d);g.elementMousemove({mouseX:d,mouseY:e,pointXValue:m}),"dblclick"===d3.event.type&&g.elementDblclick({mouseX:d,mouseY:e,pointXValue:m}),"click"===d3.event.type&&g.elementClick({mouseX:d,mouseY:e,pointXValue:m}),"mousedown"===d3.event.type&&g.elementMouseDown({mouseX:d,mouseY:e,pointXValue:m}),"mouseup"===d3.event.type&&g.elementMouseUp({mouseX:d,mouseY:e,pointXValue:m})}var n=d3.select(this),o=d||960,p=e||400,q=n.selectAll("g.nv-wrap.nv-interactiveLineLayer").data([l]),r=q.enter().append("g").attr("class"," nv-wrap nv-interactiveLineLayer");r.append("g").attr("class","nv-interactiveGuideLine"),i&&(i.on("touchmove",m).on("mousemove",m,!0).on("mouseout",m,!0).on("mousedown",m,!0).on("mouseup",m,!0).on("dblclick",m).on("click",m),b.guideLine=null,b.renderGuideLine=function(c){h&&(b.guideLine&&b.guideLine.attr("x1")===c||a.dom.write(function(){var b=q.select(".nv-interactiveGuideLine").selectAll("line").data(null!=c?[a.utils.NaNtoZero(c)]:[],String);b.enter().append("line").attr("class","nv-guideline").attr("x1",function(a){return a}).attr("x2",function(a){return a}).attr("y1",p).attr("y2",0),b.exit().remove()}))})})}var c={left:0,top:0},d=null,e=null,f=d3.scale.linear(),g=d3.dispatch("elementMousemove","elementMouseout","elementClick","elementDblclick","elementMouseDown","elementMouseUp"),h=!0,i=null,j=a.models.tooltip(),k=window.ActiveXObject;return j.duration(0).hideDelay(0).hidden(!1),b.dispatch=g,b.tooltip=j,b.margin=function(a){return arguments.length?(c.top="undefined"!=typeof a.top?a.top:c.top,c.left="undefined"!=typeof a.left?a.left:c.left,b):c},b.width=function(a){return arguments.length?(d=a,b):d},b.height=function(a){return arguments.length?(e=a,b):e},b.xScale=function(a){return arguments.length?(f=a,b):f},b.showGuideLine=function(a){return arguments.length?(h=a,b):h},b.svgContainer=function(a){return arguments.length?(i=a,b):i},b},a.interactiveBisect=function(a,b,c){"use strict";if(!(a instanceof Array))return null;var d;d="function"!=typeof c?function(a){return a.x}:c;var e=function(a,b){return d(a)-b},f=d3.bisector(e).left,g=d3.max([0,f(a,b)-1]),h=d(a[g]);if("undefined"==typeof h&&(h=g),h===b)return g;var i=d3.min([g+1,a.length-1]),j=d(a[i]);return"undefined"==typeof j&&(j=i),Math.abs(j-b)>=Math.abs(h-b)?g:i},a.nearestValueIndex=function(a,b,c){"use strict";var d=1/0,e=null;return a.forEach(function(a,f){var g=Math.abs(b-a);null!=a&&g<=d&&g<c&&(d=g,e=f)}),e},a.models.tooltip=function(){"use strict";function b(){if(!l||!l.node()){var a=[1];l=d3.select(document.body).selectAll(".nvtooltip").data(a),l.enter().append("div").attr("class","nvtooltip "+(i?i:"xy-tooltip")).attr("id",d).style("top",0).style("left",0).style("opacity",0).style("position","fixed").selectAll("div, table, td, tr").classed(q,!0).classed(q,!0),l.exit().remove()}}function c(){if(n&&w(e))return a.dom.write(function(){b();var a=u(e);a&&(l.node().innerHTML=a),y()}),c}var d="nvtooltip-"+Math.floor(1e5*Math.random()),e=null,f="w",g=25,h=0,i=null,j=!0,k=200,l=null,m={left:null,top:null},n=!0,o=100,p=!0,q="nv-pointer-events-none",r=function(a,b){return a},s=function(a){return a},t=function(a,b){return a},u=function(a){if(null===a)return"";var b=d3.select(document.createElement("table"));if(p){var c=b.selectAll("thead").data([a]).enter().append("thead");c.append("tr").append("td").attr("colspan",3).append("strong").classed("x-value",!0).html(s(a.value))}var d=b.selectAll("tbody").data([a]).enter().append("tbody"),e=d.selectAll("tr").data(function(a){return a.series}).enter().append("tr").classed("highlight",function(a){return a.highlight});e.append("td").classed("legend-color-guide",!0).append("div").style("background-color",function(a){return a.color}),e.append("td").classed("key",!0).classed("total",function(a){return!!a.total}).html(function(a,b){return t(a.key,b)}),e.append("td").classed("value",!0).html(function(a,b){return r(a.value,b)}),e.filter(function(a,b){return void 0!==a.percent}).append("td").classed("percent",!0).html(function(a,b){return"("+d3.format("%")(a.percent)+")"}),e.selectAll("td").each(function(a){if(a.highlight){var b=d3.scale.linear().domain([0,1]).range(["#fff",a.color]),c=.6;d3.select(this).style("border-bottom-color",b(c)).style("border-top-color",b(c))}});var f=b.node().outerHTML;return void 0!==a.footer&&(f+="<div class='footer'>"+a.footer+"</div>"),f},v=function(){var a={left:null!==d3.event?d3.event.clientX:0,top:null!==d3.event?d3.event.clientY:0};if("none"!=getComputedStyle(document.body).transform){var b=document.body.getBoundingClientRect();a.left-=b.left,a.top-=b.top}return a},w=function(b){if(b&&b.series){if(a.utils.isArray(b.series))return!0;if(a.utils.isObject(b.series))return b.series=[b.series],!0}return!1},x=function(a){var b,c,d,e=l.node().offsetHeight,h=l.node().offsetWidth,i=document.documentElement.clientWidth,j=document.documentElement.clientHeight;switch(f){case"e":b=-h-g,c=-(e/2),a.left+b<0&&(b=g),(d=a.top+c)<0&&(c-=d),(d=a.top+c+e)>j&&(c-=d-j);break;case"w":b=g,c=-(e/2),a.left+b+h>i&&(b=-h-g),(d=a.top+c)<0&&(c-=d),(d=a.top+c+e)>j&&(c-=d-j);break;case"n":b=-(h/2)-5,c=g,a.top+c+e>j&&(c=-e-g),(d=a.left+b)<0&&(b-=d),(d=a.left+b+h)>i&&(b-=d-i);break;case"s":b=-(h/2),c=-e-g,a.top+c<0&&(c=g),(d=a.left+b)<0&&(b-=d),(d=a.left+b+h)>i&&(b-=d-i);break;case"center":b=-(h/2),c=-(e/2);break;default:b=0,c=0}return{left:b,top:c}},y=function(){a.dom.read(function(){var a=v(),b=x(a),c=a.left+b.left,d=a.top+b.top;if(j)l.interrupt().transition().delay(k).duration(0).style("opacity",0);else{var e="translate("+m.left+"px, "+m.top+"px)",f="translate("+Math.round(c)+"px, "+Math.round(d)+"px)",g=d3.interpolateString(e,f),h=l.style("opacity")<.1;l.interrupt().transition().duration(h?0:o).styleTween("transform",function(a){return g},"important").styleTween("-webkit-transform",function(a){return g}).style("-ms-transform",f).style("opacity",1)}m.left=c,m.top=d})};return c.nvPointerEventsClass=q,c.options=a.utils.optionsFunc.bind(c),c._options=Object.create({},{duration:{get:function(){return o},set:function(a){o=a}},gravity:{get:function(){return f},set:function(a){f=a}},distance:{get:function(){return g},set:function(a){g=a}},snapDistance:{get:function(){return h},set:function(a){h=a}},classes:{get:function(){return i},set:function(a){i=a}},enabled:{get:function(){return n},set:function(a){n=a}},hideDelay:{get:function(){return k},set:function(a){k=a}},contentGenerator:{get:function(){return u},set:function(a){u=a}},valueFormatter:{get:function(){return r},set:function(a){r=a}},headerFormatter:{get:function(){return s},set:function(a){s=a}},keyFormatter:{get:function(){return t},set:function(a){t=a}},headerEnabled:{get:function(){return p},set:function(a){p=a}},position:{get:function(){return v},set:function(a){v=a}},chartContainer:{get:function(){return document.body},set:function(b){a.deprecated("chartContainer","feature removed after 1.8.3")}},fixedTop:{get:function(){return null},set:function(b){a.deprecated("fixedTop","feature removed after 1.8.1")}},offset:{get:function(){return{left:0,top:0}},set:function(b){a.deprecated("offset","use chart.tooltip.distance() instead")}},hidden:{get:function(){return j},set:function(a){j!=a&&(j=!!a,c())}},data:{get:function(){return e},set:function(a){a.point&&(a.value=a.point.x,a.series=a.series||{},a.series.value=a.point.y,a.series.color=a.point.color||a.series.color),e=a}},node:{get:function(){return l.node()},set:function(a){}},id:{get:function(){return d},set:function(a){}}}),a.utils.initOptions(c),c},a.utils.windowSize=function(){var a={width:640,height:480};return window.innerWidth&&window.innerHeight?(a.width=window.innerWidth,a.height=window.innerHeight,a):"CSS1Compat"==document.compatMode&&document.documentElement&&document.documentElement.offsetWidth?(a.width=document.documentElement.offsetWidth,a.height=document.documentElement.offsetHeight,a):document.body&&document.body.offsetWidth?(a.width=document.body.offsetWidth,a.height=document.body.offsetHeight,a):a},a.utils.isArray=Array.isArray,a.utils.isObject=function(a){return null!==a&&"object"==typeof a},a.utils.isFunction=function(a){return"function"==typeof a},a.utils.isDate=function(a){return"[object Date]"===toString.call(a)},a.utils.isNumber=function(a){return!isNaN(a)&&"number"==typeof a},a.utils.windowResize=function(b){return window.addEventListener?window.addEventListener("resize",b):a.log("ERROR: Failed to bind to window.resize with: ",b),{callback:b,clear:function(){window.removeEventListener("resize",b)}}},a.utils.getColor=function(b){if(void 0===b)return a.utils.defaultColor();if(a.utils.isArray(b)){var c=d3.scale.ordinal().range(b);return function(a,b){var d=void 0===b?a:b;return a.color||c(d)}}return b},a.utils.defaultColor=function(){return a.utils.getColor(d3.scale.category20().range())},a.utils.customTheme=function(b,c,d){c=c||function(a){return a.key},d=d||d3.scale.category20().range();var e=d.length;return function(f,g){var h=c(f);return a.utils.isFunction(b[h])?b[h]():void 0!==b[h]?b[h]:(e||(e=d.length),e-=1,d[e])}},a.utils.pjax=function(b,c){var d=function(d){d3.html(d,function(d){var e=d3.select(c).node();e.parentNode.replaceChild(d3.select(d).select(c).node(),e),a.utils.pjax(b,c)})};d3.selectAll(b).on("click",function(){history.pushState(this.href,this.textContent,this.href),d(this.href),d3.event.preventDefault()}),d3.select(window).on("popstate",function(){d3.event.state&&d(d3.event.state)})},a.utils.calcApproxTextWidth=function(b){if(a.utils.isFunction(b.style)&&a.utils.isFunction(b.text)){var c=parseInt(b.style("font-size").replace("px",""),10),d=b.text().length;return a.utils.NaNtoZero(d*c*.5)}return 0},a.utils.NaNtoZero=function(b){return!a.utils.isNumber(b)||isNaN(b)||null===b||b===1/0||b===-(1/0)?0:b},d3.selection.prototype.watchTransition=function(a){var b=[this].concat([].slice.call(arguments,1));return a.transition.apply(a,b)},a.utils.renderWatch=function(b,c){if(!(this instanceof a.utils.renderWatch))return new a.utils.renderWatch(b,c);var d=void 0!==c?c:250,e=[],f=this;this.models=function(a){return a=[].slice.call(arguments,0),a.forEach(function(a){a.__rendered=!1,function(a){a.dispatch.on("renderEnd",function(b){a.__rendered=!0,f.renderEnd("model")})}(a),e.indexOf(a)<0&&e.push(a)}),this},this.reset=function(a){void 0!==a&&(d=a),e=[]},this.transition=function(a,b,c){if(b=arguments.length>1?[].slice.call(arguments,1):[],c=b.length>1?b.pop():void 0!==d?d:250,a.__rendered=!1,e.indexOf(a)<0&&e.push(a),0===c)return a.__rendered=!0,a.delay=function(){return this},a.duration=function(){return this},a;0===a.length?a.__rendered=!0:a.every(function(a){return!a.length})?a.__rendered=!0:a.__rendered=!1;var g=0;return a.transition().duration(c).each(function(){++g}).each("end",function(c,d){0===--g&&(a.__rendered=!0,f.renderEnd.apply(this,b))})},this.renderEnd=function(){e.every(function(a){return a.__rendered})&&(e.forEach(function(a){a.__rendered=!1}),b.renderEnd.apply(this,arguments))}},a.utils.deepExtend=function(b){var c=arguments.length>1?[].slice.call(arguments,1):[];c.forEach(function(c){for(var d in c){var e=a.utils.isArray(b[d]),f=a.utils.isObject(b[d]),g=a.utils.isObject(c[d]);f&&!e&&g?a.utils.deepExtend(b[d],c[d]):b[d]=c[d]}})},a.utils.state=function(){if(!(this instanceof a.utils.state))return new a.utils.state;var b={},c=function(){},d=function(){return{}},e=null,f=null;this.dispatch=d3.dispatch("change","set"),this.dispatch.on("set",function(a){c(a,!0)}),this.getter=function(a){return d=a,this},this.setter=function(a,b){return b||(b=function(){}),c=function(c,d){a(c),d&&b()},this},this.init=function(b){e=e||{},a.utils.deepExtend(e,b)};var g=function(){var a=d();if(JSON.stringify(a)===JSON.stringify(b))return!1;for(var c in a)void 0===b[c]&&(b[c]={}),b[c]=a[c],f=!0;return!0};this.update=function(){e&&(c(e,!1),e=null),g.call(this)&&this.dispatch.change(b)}},a.utils.optionsFunc=function(b){return b&&d3.map(b).forEach(function(b,c){a.utils.isFunction(this[b])&&this[b](c)}.bind(this)),this},a.utils.calcTicksX=function(b,c){var d=1,e=0;for(e;e<c.length;e+=1){var f=c[e]&&c[e].values?c[e].values.length:0;d=f>d?f:d}return a.log("Requested number of ticks: ",b),a.log("Calculated max values to be: ",d),b=b>d?b=d-1:b,b=b<1?1:b,b=Math.floor(b),a.log("Calculating tick count as: ",b),b},a.utils.calcTicksY=function(b,c){return a.utils.calcTicksX(b,c)},a.utils.initOption=function(a,b){a._calls&&a._calls[b]?a[b]=a._calls[b]:(a[b]=function(c){return arguments.length?(a._overrides[b]=!0,a._options[b]=c,a):a._options[b]},a["_"+b]=function(c){return arguments.length?(a._overrides[b]||(a._options[b]=c),a):a._options[b]})},a.utils.initOptions=function(b){b._overrides=b._overrides||{};var c=Object.getOwnPropertyNames(b._options||{}),d=Object.getOwnPropertyNames(b._calls||{});c=c.concat(d);for(var e in c)a.utils.initOption(b,c[e])},a.utils.inheritOptionsD3=function(a,b,c){a._d3options=c.concat(a._d3options||[]),c.unshift(b),c.unshift(a),d3.rebind.apply(this,c)},a.utils.arrayUnique=function(a){return a.sort().filter(function(b,c){return!c||b!=a[c-1]})},a.utils.symbolMap=d3.map(),a.utils.symbol=function(){function b(b,e){var f=c.call(this,b,e),g=d.call(this,b,e);return d3.svg.symbolTypes.indexOf(f)!==-1?d3.svg.symbol().type(f).size(g)():a.utils.symbolMap.get(f)(g)}var c,d=64;return b.type=function(a){return arguments.length?(c=d3.functor(a),b):c},b.size=function(a){return arguments.length?(d=d3.functor(a),b):d},b},a.utils.inheritOptions=function(b,c){var d=Object.getOwnPropertyNames(c._options||{}),e=Object.getOwnPropertyNames(c._calls||{}),f=c._inherited||[],g=c._d3options||[],h=d.concat(e).concat(f).concat(g);h.unshift(c),h.unshift(b),d3.rebind.apply(this,h),b._inherited=a.utils.arrayUnique(d.concat(e).concat(f).concat(d).concat(b._inherited||[])),b._d3options=a.utils.arrayUnique(g.concat(b._d3options||[]))},a.utils.initSVG=function(a){a.classed({"nvd3-svg":!0})},a.utils.sanitizeHeight=function(a,b){return a||parseInt(b.style("height"),10)||400},a.utils.sanitizeWidth=function(a,b){return a||parseInt(b.style("width"),10)||960},a.utils.availableHeight=function(b,c,d){return Math.max(0,a.utils.sanitizeHeight(b,c)-d.top-d.bottom)},a.utils.availableWidth=function(b,c,d){return Math.max(0,a.utils.sanitizeWidth(b,c)-d.left-d.right)},a.utils.noData=function(b,c){var d=b.options(),e=d.margin(),f=d.noData(),g=null==f?["No Data Available."]:[f],h=a.utils.availableHeight(null,c,e),i=a.utils.availableWidth(null,c,e),j=e.left+i/2,k=e.top+h/2;c.selectAll("g").remove();var l=c.selectAll(".nv-noData").data(g);l.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),l.attr("x",j).attr("y",k).text(function(a){return a})},a.utils.wrapTicks=function(a,b){a.each(function(){for(var a,c=d3.select(this),d=c.text().split(/\s+/).reverse(),e=[],f=0,g=1.1,h=c.attr("y"),i=parseFloat(c.attr("dy")),j=c.text(null).append("tspan").attr("x",0).attr("y",h).attr("dy",i+"em");a=d.pop();)e.push(a),j.text(e.join(" ")),j.node().getComputedTextLength()>b&&(e.pop(),j.text(e.join(" ")),e=[a],j=c.append("tspan").attr("x",0).attr("y",h).attr("dy",++f*g+i+"em").text(a))})},a.utils.arrayEquals=function(b,c){if(b===c)return!0;if(!b||!c)return!1;if(b.length!=c.length)return!1;for(var d=0,e=b.length;d<e;d++)if(b[d]instanceof Array&&c[d]instanceof Array){if(!a.arrayEquals(b[d],c[d]))return!1}else if(b[d]!=c[d])return!1;return!0},a.models.axis=function(){"use strict";function b(g){return t.reset(),g.each(function(b){var g=d3.select(this);a.utils.initSVG(g);var q=g.selectAll("g.nv-wrap.nv-axis").data([b]),r=q.enter().append("g").attr("class","nvd3 nv-wrap nv-axis"),u=(r.append("g"),q.select("g"));null!==n?c.ticks(n):"top"!=c.orient()&&"bottom"!=c.orient()||c.ticks(Math.abs(d.range()[1]-d.range()[0])/100),u.watchTransition(t,"axis").call(c),s=s||c.scale();var v=c.tickFormat();null==v&&(v=s.tickFormat());var w=u.selectAll("text.nv-axislabel").data([h||null]);w.exit().remove(),void 0!==p&&u.selectAll("g").select("text").style("font-size",p);var x,y,z;switch(c.orient()){case"top":w.enter().append("text").attr("class","nv-axislabel"),z=0,1===d.range().length?z=m?2*d.range()[0]+d.rangeBand():0:2===d.range().length?z=m?d.range()[0]+d.range()[1]+d.rangeBand():d.range()[1]:d.range().length>2&&(z=d.range()[d.range().length-1]+(d.range()[1]-d.range()[0])),w.attr("text-anchor","middle").attr("y",0).attr("x",z/2),i&&(y=q.selectAll("g.nv-axisMaxMin").data(d.domain()),y.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-x",0==b?"nv-axisMin-x":"nv-axisMax-x"].join(" ")}).append("text"),y.exit().remove(),y.attr("transform",function(b,c){return"translate("+a.utils.NaNtoZero(d(b))+",0)"}).select("text").attr("dy","-0.5em").attr("y",-c.tickPadding()).attr("text-anchor","middle").text(function(a,b){var c=v(a);return(""+c).match("NaN")?"":c}),y.watchTransition(t,"min-max top").attr("transform",function(b,c){return"translate("+a.utils.NaNtoZero(d.range()[c])+",0)"}));break;case"bottom":x=o+36;var A=30,B=0,C=u.selectAll("g").select("text"),D="";if(j%360){C.attr("transform",""),C.each(function(a,b){var c=this.getBoundingClientRect(),d=c.width;B=c.height,d>A&&(A=d)}),D="rotate("+j+" 0,"+(B/2+c.tickPadding())+")";var E=Math.abs(Math.sin(j*Math.PI/180));x=(E?E*A:A)+30,C.attr("transform",D).style("text-anchor",j%360>0?"start":"end")}else l?C.attr("transform",function(a,b){return"translate(0,"+(b%2==0?"0":"12")+")"}):C.attr("transform","translate(0,0)");w.enter().append("text").attr("class","nv-axislabel"),z=0,1===d.range().length?z=m?2*d.range()[0]+d.rangeBand():0:2===d.range().length?z=m?d.range()[0]+d.range()[1]+d.rangeBand():d.range()[1]:d.range().length>2&&(z=d.range()[d.range().length-1]+(d.range()[1]-d.range()[0])),w.attr("text-anchor","middle").attr("y",x).attr("x",z/2),i&&(y=q.selectAll("g.nv-axisMaxMin").data([d.domain()[0],d.domain()[d.domain().length-1]]),y.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-x",0==b?"nv-axisMin-x":"nv-axisMax-x"].join(" ")}).append("text"),y.exit().remove(),y.attr("transform",function(b,c){return"translate("+a.utils.NaNtoZero(d(b)+(m?d.rangeBand()/2:0))+",0)"}).select("text").attr("dy",".71em").attr("y",c.tickPadding()).attr("transform",D).style("text-anchor",j?j%360>0?"start":"end":"middle").text(function(a,b){var c=v(a);return(""+c).match("NaN")?"":c}),y.watchTransition(t,"min-max bottom").attr("transform",function(b,c){return"translate("+a.utils.NaNtoZero(d(b)+(m?d.rangeBand()/2:0))+",0)"}));break;case"right":w.enter().append("text").attr("class","nv-axislabel"),w.style("text-anchor",k?"middle":"begin").attr("transform",k?"rotate(90)":"").attr("y",k?-Math.max(e.right,f)+12-(o||0):-10).attr("x",k?d3.max(d.range())/2:c.tickPadding()),i&&(y=q.selectAll("g.nv-axisMaxMin").data(d.domain()),y.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-y",0==b?"nv-axisMin-y":"nv-axisMax-y"].join(" ")}).append("text").style("opacity",0),y.exit().remove(),y.attr("transform",function(b,c){return"translate(0,"+a.utils.NaNtoZero(d(b))+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",c.tickPadding()).style("text-anchor","start").text(function(a,b){var c=v(a);return(""+c).match("NaN")?"":c}),y.watchTransition(t,"min-max right").attr("transform",function(b,c){return"translate(0,"+a.utils.NaNtoZero(d.range()[c])+")"}).select("text").style("opacity",1));break;case"left":w.enter().append("text").attr("class","nv-axislabel"),w.style("text-anchor",k?"middle":"end").attr("transform",k?"rotate(-90)":"").attr("y",k?-Math.max(e.left,f)+25-(o||0):-10).attr("x",k?-d3.max(d.range())/2:-c.tickPadding()),i&&(y=q.selectAll("g.nv-axisMaxMin").data(d.domain()),y.enter().append("g").attr("class",function(a,b){return["nv-axisMaxMin","nv-axisMaxMin-y",0==b?"nv-axisMin-y":"nv-axisMax-y"].join(" ")}).append("text").style("opacity",0),y.exit().remove(),y.attr("transform",function(b,c){return"translate(0,"+a.utils.NaNtoZero(s(b))+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",-c.tickPadding()).attr("text-anchor","end").text(function(a,b){var c=v(a);return(""+c).match("NaN")?"":c}),y.watchTransition(t,"min-max right").attr("transform",function(b,c){return"translate(0,"+a.utils.NaNtoZero(d.range()[c])+")"}).select("text").style("opacity",1))}if(w.text(function(a){return a}),!i||"left"!==c.orient()&&"right"!==c.orient()||(u.selectAll("g").each(function(a,b){d3.select(this).select("text").attr("opacity",1),(d(a)<d.range()[1]+10||d(a)>d.range()[0]-10)&&((a>1e-10||a<-1e-10)&&d3.select(this).attr("opacity",0),d3.select(this).select("text").attr("opacity",0))}),d.domain()[0]==d.domain()[1]&&0==d.domain()[0]&&q.selectAll("g.nv-axisMaxMin").style("opacity",function(a,b){return b?0:1})),i&&("top"===c.orient()||"bottom"===c.orient())){var F=[];q.selectAll("g.nv-axisMaxMin").each(function(a,b){try{b?F.push(d(a)-this.getBoundingClientRect().width-4):F.push(d(a)+this.getBoundingClientRect().width+4)}catch(c){b?F.push(d(a)-4):F.push(d(a)+4)}}),u.selectAll("g").each(function(a,b){(d(a)<F[0]||d(a)>F[1])&&(a>1e-10||a<-1e-10?d3.select(this).remove():d3.select(this).select("text").remove())})}u.selectAll(".tick").filter(function(a){return!parseFloat(Math.round(1e5*a)/1e6)&&void 0!==a}).classed("zero",!0),s=d.copy()}),t.renderEnd("axis immediate"),b}var c=d3.svg.axis(),d=d3.scale.linear(),e={top:0,right:0,bottom:0,left:0},f=75,g=60,h=null,i=!0,j=0,k=!0,l=!1,m=!1,n=null,o=0,p=void 0,q=250,r=d3.dispatch("renderEnd");c.scale(d).orient("bottom").tickFormat(function(a){return a});var s,t=a.utils.renderWatch(r,q);return b.axis=c,b.dispatch=r,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{axisLabelDistance:{get:function(){return o},set:function(a){o=a}},staggerLabels:{get:function(){return l},set:function(a){l=a}},rotateLabels:{get:function(){return j},set:function(a){j=a}},rotateYLabel:{get:function(){return k},set:function(a){k=a}},showMaxMin:{get:function(){return i},set:function(a){i=a}},axisLabel:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return g},set:function(a){g=a}},ticks:{get:function(){return n},set:function(a){n=a}},width:{get:function(){return f},set:function(a){f=a}},fontSize:{get:function(){return p},set:function(a){p=a}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}},duration:{get:function(){return q},set:function(a){q=a,t.reset(q)}},scale:{get:function(){return d},set:function(e){d=e,c.scale(d),m="function"==typeof d.rangeBands,a.utils.inheritOptionsD3(b,d,["domain","range","rangeBand","rangeBands"])}}}),a.utils.initOptions(b),a.utils.inheritOptionsD3(b,c,["orient","tickValues","tickSubdivide","tickSize","tickPadding","tickFormat"]),a.utils.inheritOptionsD3(b,d,["domain","range","rangeBand","rangeBands"]),b},a.models.boxPlot=function(){"use strict";function b(l){return E.reset(),l.each(function(b){var l=j-i.left-i.right,F=k-i.top-i.bottom;A=d3.select(this),a.utils.initSVG(A),m.domain(c||b.map(function(a,b){return o(a,b)})).rangeBands(d||[0,l],.1);var G=[];if(!e){var H,I,J=[];b.forEach(function(a,b){var c=p(a),d=r(a),e=s(a),f=t(a),g=v(a);g&&g.forEach(function(a,b){J.push(w(a,b,void 0))}),e&&J.push(e),c&&J.push(c),d&&J.push(d),f&&J.push(f)}),H=d3.min(J),I=d3.max(J),G=[H,I]}n.domain(e||G),n.range(f||[F,0]),g=g||m,h=h||n.copy().range([n(0),n(0)]);var K=A.selectAll("g.nv-wrap").data([b]);K.enter().append("g").attr("class","nvd3 nv-wrap");K.attr("transform","translate("+i.left+","+i.top+")");var L=K.selectAll(".nv-boxplot").data(function(a){return a}),M=L.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);L.attr("class","nv-boxplot").attr("transform",function(a,b,c){return"translate("+(m(o(a,b))+.05*m.rangeBand())+", 0)"}).classed("hover",function(a){return a.hover}),L.watchTransition(E,"nv-boxplot: boxplots").style("stroke-opacity",1).style("fill-opacity",.75).delay(function(a,c){return c*C/b.length}).attr("transform",function(a,b){return"translate("+(m(o(a,b))+.05*m.rangeBand())+", 0)"}),L.exit().remove(),M.each(function(a,b){var c=d3.select(this);[s,t].forEach(function(d){if(d(a)){var e=d===s?"low":"high";c.append("line").style("stroke",u(a)||z(a,b)).attr("class","nv-boxplot-whisker nv-boxplot-"+e),c.append("line").style("stroke",u(a)||z(a,b)).attr("class","nv-boxplot-tick nv-boxplot-"+e)}})});var N=function(){return null===D?.9*m.rangeBand():Math.min(75,.9*m.rangeBand())},O=function(){return.45*m.rangeBand()-N()/2},P=function(){return.45*m.rangeBand()+N()/2};[s,t].forEach(function(a){var b=a===s?"low":"high",c=a===s?p:r;L.select("line.nv-boxplot-whisker.nv-boxplot-"+b).watchTransition(E,"nv-boxplot: boxplots").attr("x1",.45*m.rangeBand()).attr("y1",function(b,c){return n(a(b))}).attr("x2",.45*m.rangeBand()).attr("y2",function(a,b){return n(c(a))}),L.select("line.nv-boxplot-tick.nv-boxplot-"+b).watchTransition(E,"nv-boxplot: boxplots").attr("x1",O).attr("y1",function(b,c){return n(a(b))}).attr("x2",P).attr("y2",function(b,c){return n(a(b))})}),[s,t].forEach(function(a){var b=a===s?"low":"high";M.selectAll(".nv-boxplot-"+b).on("mouseover",function(b,c,d){d3.select(this).classed("hover",!0),B.elementMouseover({series:{key:a(b),color:u(b)||z(b,d)},e:d3.event})}).on("mouseout",function(b,c,d){d3.select(this).classed("hover",!1),B.elementMouseout({series:{key:a(b),color:u(b)||z(b,d)},e:d3.event})}).on("mousemove",function(a,b){B.elementMousemove({e:d3.event})})}),M.append("rect").attr("class","nv-boxplot-box").on("mouseover",function(a,b){d3.select(this).classed("hover",!0),B.elementMouseover({key:o(a),value:o(a),series:[{key:"Q3",value:r(a),color:u(a)||z(a,b)},{key:"Q2",value:q(a),color:u(a)||z(a,b)},{key:"Q1",value:p(a),color:u(a)||z(a,b)}],data:a,index:b,e:d3.event})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),B.elementMouseout({key:o(a),value:o(a),series:[{key:"Q3",value:r(a),color:u(a)||z(a,b)},{key:"Q2",value:q(a),color:u(a)||z(a,b)},{key:"Q1",value:p(a),color:u(a)||z(a,b)}],data:a,index:b,e:d3.event})}).on("mousemove",function(a,b){B.elementMousemove({e:d3.event})}),L.select("rect.nv-boxplot-box").watchTransition(E,"nv-boxplot: boxes").attr("y",function(a,b){return n(r(a))}).attr("width",N).attr("x",O).attr("height",function(a,b){return Math.abs(n(r(a))-n(p(a)))||1}).style("fill",function(a,b){return u(a)||z(a,b)}).style("stroke",function(a,b){return u(a)||z(a,b)}),M.append("line").attr("class","nv-boxplot-median"),L.select("line.nv-boxplot-median").watchTransition(E,"nv-boxplot: boxplots line").attr("x1",O).attr("y1",function(a,b){return n(q(a))}).attr("x2",P).attr("y2",function(a,b){return n(q(a))});var Q=L.selectAll(".nv-boxplot-outlier").data(function(a){return v(a)||[]});Q.enter().append("circle").style("fill",function(a,b,c){return y(a,b,c)||z(a,c)}).style("stroke",function(a,b,c){return y(a,b,c)||z(a,c)}).style("z-index",9e3).on("mouseover",function(a,b,c){d3.select(this).classed("hover",!0),B.elementMouseover({series:{key:x(a,b,c),color:y(a,b,c)||z(a,c)},e:d3.event})}).on("mouseout",function(a,b,c){d3.select(this).classed("hover",!1),B.elementMouseout({series:{key:x(a,b,c),color:y(a,b,c)||z(a,c)},e:d3.event})}).on("mousemove",function(a,b){B.elementMousemove({e:d3.event})}),Q.attr("class","nv-boxplot-outlier"),Q.watchTransition(E,"nv-boxplot: nv-boxplot-outlier").attr("cx",.45*m.rangeBand()).attr("cy",function(a,b,c){return n(w(a,b,c))}).attr("r","3"),Q.exit().remove(),g=m.copy(),h=n.copy()}),E.renderEnd("nv-boxplot immediate"),b}var c,d,e,f,g,h,i={top:0,right:0,bottom:0,
+left:0},j=960,k=500,l=Math.floor(1e4*Math.random()),m=d3.scale.ordinal(),n=d3.scale.linear(),o=function(a){return a.label},p=function(a){return a.values.Q1},q=function(a){return a.values.Q2},r=function(a){return a.values.Q3},s=function(a){return a.values.whisker_low},t=function(a){return a.values.whisker_high},u=function(a){return a.color},v=function(a){return a.values.outliers},w=function(a,b,c){return a},x=function(a,b,c){return a},y=function(a,b,c){},z=a.utils.defaultColor(),A=null,B=d3.dispatch("elementMouseover","elementMouseout","elementMousemove","renderEnd"),C=250,D=null,E=a.utils.renderWatch(B,C);return b.dispatch=B,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return j},set:function(a){j=a}},height:{get:function(){return k},set:function(a){k=a}},maxBoxWidth:{get:function(){return D},set:function(a){D=a}},x:{get:function(){return o},set:function(a){o=a}},q1:{get:function(){return p},set:function(a){p=a}},q2:{get:function(){return q},set:function(a){q=a}},q3:{get:function(){return r},set:function(a){r=a}},wl:{get:function(){return s},set:function(a){s=a}},wh:{get:function(){return t},set:function(a){t=a}},itemColor:{get:function(){return u},set:function(a){u=a}},outliers:{get:function(){return v},set:function(a){v=a}},outlierValue:{get:function(){return w},set:function(a){w=a}},outlierLabel:{get:function(){return x},set:function(a){x=a}},outlierColor:{get:function(){return y},set:function(a){y=a}},xScale:{get:function(){return m},set:function(a){m=a}},yScale:{get:function(){return n},set:function(a){n=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return d},set:function(a){d=a}},yRange:{get:function(){return f},set:function(a){f=a}},id:{get:function(){return l},set:function(a){l=a}},y:{get:function(){return console.warn("BoxPlot 'y' chart option is deprecated. Please use model overrides instead."),{}},set:function(a){console.warn("BoxPlot 'y' chart option is deprecated. Please use model overrides instead.")}},margin:{get:function(){return i},set:function(a){i.top=void 0!==a.top?a.top:i.top,i.right=void 0!==a.right?a.right:i.right,i.bottom=void 0!==a.bottom?a.bottom:i.bottom,i.left=void 0!==a.left?a.left:i.left}},color:{get:function(){return z},set:function(b){z=a.utils.getColor(b)}},duration:{get:function(){return C},set:function(a){C=a,E.reset(C)}}}),a.utils.initOptions(b),b},a.models.boxPlotChart=function(){"use strict";function b(k){return t.reset(),t.models(e),l&&t.models(f),m&&t.models(g),k.each(function(k){var p=d3.select(this);a.utils.initSVG(p);var t=(i||parseInt(p.style("width"))||960)-h.left-h.right,u=(j||parseInt(p.style("height"))||400)-h.top-h.bottom;if(b.update=function(){r.beforeUpdate(),p.transition().duration(s).call(b)},b.container=this,!k||!k.length){var v=p.selectAll(".nv-noData").data([q]);return v.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle"),v.attr("x",h.left+t/2).attr("y",h.top+u/2).text(function(a){return a}),b}p.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale().clamp(!0);var w=p.selectAll("g.nv-wrap.nv-boxPlotWithAxes").data([k]),x=w.enter().append("g").attr("class","nvd3 nv-wrap nv-boxPlotWithAxes").append("g"),y=x.append("defs"),z=w.select("g");x.append("g").attr("class","nv-x nv-axis"),x.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),x.append("g").attr("class","nv-barsWrap"),z.attr("transform","translate("+h.left+","+h.top+")"),n&&z.select(".nv-y.nv-axis").attr("transform","translate("+t+",0)"),e.width(t).height(u);var A=z.select(".nv-barsWrap").datum(k.filter(function(a){return!a.disabled}));if(A.transition().call(e),y.append("clipPath").attr("id","nv-x-label-clip-"+e.id()).append("rect"),z.select("#nv-x-label-clip-"+e.id()+" rect").attr("width",c.rangeBand()*(o?2:1)).attr("height",16).attr("x",-c.rangeBand()/(o?1:2)),l){f.scale(c).ticks(a.utils.calcTicksX(t/100,k)).tickSize(-u,0),z.select(".nv-x.nv-axis").attr("transform","translate(0,"+d.range()[0]+")"),z.select(".nv-x.nv-axis").call(f);var B=z.select(".nv-x.nv-axis").selectAll("g");o&&B.selectAll("text").attr("transform",function(a,b,c){return"translate(0,"+(c%2===0?"5":"17")+")"})}m&&(g.scale(d).ticks(Math.floor(u/36)).tickSize(-t,0),z.select(".nv-y.nv-axis").call(g)),z.select(".nv-zeroLine line").attr("x1",0).attr("x2",t).attr("y1",d(0)).attr("y2",d(0))}),t.renderEnd("nv-boxplot chart immediate"),b}var c,d,e=a.models.boxPlot(),f=a.models.axis(),g=a.models.axis(),h={top:15,right:10,bottom:50,left:60},i=null,j=null,k=a.utils.getColor(),l=!0,m=!0,n=!1,o=!1,p=a.models.tooltip(),q="No Data Available.",r=d3.dispatch("beforeUpdate","renderEnd"),s=250;f.orient("bottom").showMaxMin(!1).tickFormat(function(a){return a}),g.orient(n?"right":"left").tickFormat(d3.format(",.1f")),p.duration(0);var t=a.utils.renderWatch(r,s);return e.dispatch.on("elementMouseover.tooltip",function(a){p.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(a){p.data(a).hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(a){p()}),b.dispatch=r,b.boxplot=e,b.xAxis=f,b.yAxis=g,b.tooltip=p,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return i},set:function(a){i=a}},height:{get:function(){return j},set:function(a){j=a}},staggerLabels:{get:function(){return o},set:function(a){o=a}},showXAxis:{get:function(){return l},set:function(a){l=a}},showYAxis:{get:function(){return m},set:function(a){m=a}},tooltipContent:{get:function(){return p},set:function(a){p=a}},noData:{get:function(){return q},set:function(a){q=a}},margin:{get:function(){return h},set:function(a){h.top=void 0!==a.top?a.top:h.top,h.right=void 0!==a.right?a.right:h.right,h.bottom=void 0!==a.bottom?a.bottom:h.bottom,h.left=void 0!==a.left?a.left:h.left}},duration:{get:function(){return s},set:function(a){s=a,t.reset(s),e.duration(s),f.duration(s),g.duration(s)}},color:{get:function(){return k},set:function(b){k=a.utils.getColor(b),e.color(k)}},rightAlignYAxis:{get:function(){return n},set:function(a){n=a,g.orient(a?"right":"left")}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.bullet=function(){"use strict";function b(a,b){var c=a.slice();a.sort(function(a,d){var e=c.indexOf(a),f=c.indexOf(d);return d3.descending(b[e],b[f])})}function c(e){return e.each(function(c,e){var s=p-d.left-d.right,x=q-d.top-d.bottom;r=d3.select(this),a.utils.initSVG(r);var y=g.call(this,c,e).slice(),z=h.call(this,c,e).slice(),A=i.call(this,c,e).slice().sort(d3.descending),B=j.call(this,c,e).slice(),C=k.call(this,c,e).slice(),D=l.call(this,c,e).slice(),E=m.call(this,c,e).slice(),F=n.call(this,c,e).slice();b(C,y),b(D,z),b(E,A),b(F,B),y.sort(d3.descending),z.sort(d3.descending),B.sort(d3.descending);var G=d3.scale.linear().domain(d3.extent(d3.merge([o,y]))).range(f?[s,0]:[0,s]);this.__chart__||d3.scale.linear().domain([0,1/0]).range(G.range());this.__chart__=G;for(var H=(d3.min(y),d3.max(y),y[1],r.selectAll("g.nv-wrap.nv-bullet").data([c])),I=H.enter().append("g").attr("class","nvd3 nv-wrap nv-bullet"),J=I.append("g"),K=H.select("g"),e=0,L=y.length;e<L;e++){var M="nv-range nv-range"+e;e<=2&&(M=M+" nv-range"+w[e]),J.append("rect").attr("class",M)}J.append("rect").attr("class","nv-measure"),H.attr("transform","translate("+d.left+","+d.top+")");for(var N=function(a){return Math.abs(G(a)-G(0))},O=function(a){return G(a<0?a:0)},e=0,L=y.length;e<L;e++){var P=y[e];K.select("rect.nv-range"+e).attr("height",x).attr("width",N(P)).attr("x",O(P)).datum(P)}K.select("rect.nv-measure").style("fill",t).attr("height",x/3).attr("y",x/3).attr("width",B<0?G(0)-G(B[0]):G(B[0])-G(0)).attr("x",O(B)).on("mouseover",function(){u.elementMouseover({value:B[0],label:F[0]||"Current",color:d3.select(this).style("fill")})}).on("mousemove",function(){u.elementMousemove({value:B[0],label:F[0]||"Current",color:d3.select(this).style("fill")})}).on("mouseout",function(){u.elementMouseout({value:B[0],label:F[0]||"Current",color:d3.select(this).style("fill")})});var Q=x/6,R=z.map(function(a,b){return{value:a,label:D[b]}});J.selectAll("path.nv-markerTriangle").data(R).enter().append("path").attr("class","nv-markerTriangle").attr("d","M0,"+Q+"L"+Q+","+-Q+" "+-Q+","+-Q+"Z").on("mouseover",function(a){u.elementMouseover({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill"),pos:[G(a.value),x/2]})}).on("mousemove",function(a){u.elementMousemove({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){u.elementMouseout({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill")})}),K.selectAll("path.nv-markerTriangle").data(R).attr("transform",function(a){return"translate("+G(a.value)+","+x/2+")"});var S=A.map(function(a,b){return{value:a,label:E[b]}});J.selectAll("path.nv-markerLine").data(S).enter().append("line").attr("cursor","").attr("class","nv-markerLine").attr("x1",function(a){return G(a.value)}).attr("y1","2").attr("x2",function(a){return G(a.value)}).attr("y2",x-2).on("mouseover",function(a){u.elementMouseover({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill"),pos:[G(a.value),x/2]})}).on("mousemove",function(a){u.elementMousemove({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){u.elementMouseout({value:a.value,label:a.label||"Previous",color:d3.select(this).style("fill")})}),K.selectAll("path.nv-markerLines").data(S).attr("transform",function(a){return"translate("+G(a.value)+","+x/2+")"}),H.selectAll(".nv-range").on("mouseover",function(a,b){var c=C[b]||v[b];u.elementMouseover({value:a,label:c,color:d3.select(this).style("fill")})}).on("mousemove",function(){u.elementMousemove({value:B[0],label:F[0]||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){var c=C[b]||v[b];u.elementMouseout({value:a,label:c,color:d3.select(this).style("fill")})})}),c}var d={top:0,right:0,bottom:0,left:0},e="left",f=!1,g=function(a){return a.ranges},h=function(a){return a.markers?a.markers:[]},i=function(a){return a.markerLines?a.markerLines:[0]},j=function(a){return a.measures},k=function(a){return a.rangeLabels?a.rangeLabels:[]},l=function(a){return a.markerLabels?a.markerLabels:[]},m=function(a){return a.markerLineLabels?a.markerLineLabels:[]},n=function(a){return a.measureLabels?a.measureLabels:[]},o=[0],p=380,q=30,r=null,s=null,t=a.utils.getColor(["#1f77b4"]),u=d3.dispatch("elementMouseover","elementMouseout","elementMousemove"),v=["Maximum","Mean","Minimum"],w=["Max","Avg","Min"];return c.dispatch=u,c.options=a.utils.optionsFunc.bind(c),c._options=Object.create({},{ranges:{get:function(){return g},set:function(a){g=a}},markers:{get:function(){return h},set:function(a){h=a}},measures:{get:function(){return j},set:function(a){j=a}},forceX:{get:function(){return o},set:function(a){o=a}},width:{get:function(){return p},set:function(a){p=a}},height:{get:function(){return q},set:function(a){q=a}},tickFormat:{get:function(){return s},set:function(a){s=a}},margin:{get:function(){return d},set:function(a){d.top=void 0!==a.top?a.top:d.top,d.right=void 0!==a.right?a.right:d.right,d.bottom=void 0!==a.bottom?a.bottom:d.bottom,d.left=void 0!==a.left?a.left:d.left}},orient:{get:function(){return e},set:function(a){e=a,f="right"==e||"bottom"==e}},color:{get:function(){return t},set:function(b){t=a.utils.getColor(b)}}}),a.utils.initOptions(c),c},a.models.bulletChart=function(){"use strict";function b(d){return d.each(function(e,o){var p=d3.select(this);a.utils.initSVG(p);var q=a.utils.availableWidth(k,p,g),r=l-g.top-g.bottom;if(b.update=function(){b(d)},b.container=this,!e||!h.call(this,e,o))return a.utils.noData(b,p),b;p.selectAll(".nv-noData").remove();var s=h.call(this,e,o).slice().sort(d3.descending),t=i.call(this,e,o).slice().sort(d3.descending),u=j.call(this,e,o).slice().sort(d3.descending),v=p.selectAll("g.nv-wrap.nv-bulletChart").data([e]),w=v.enter().append("g").attr("class","nvd3 nv-wrap nv-bulletChart"),x=w.append("g"),y=v.select("g");x.append("g").attr("class","nv-bulletWrap"),x.append("g").attr("class","nv-titles"),v.attr("transform","translate("+g.left+","+g.top+")");var z=d3.scale.linear().domain([0,Math.max(s[0],t[0]||0,u[0])]).range(f?[q,0]:[0,q]),A=this.__chart__||d3.scale.linear().domain([0,1/0]).range(z.range());this.__chart__=z;var B=x.select(".nv-titles").append("g").attr("text-anchor","end").attr("transform","translate(-6,"+(l-g.top-g.bottom)/2+")");B.append("text").attr("class","nv-title").text(function(a){return a.title}),B.append("text").attr("class","nv-subtitle").attr("dy","1em").text(function(a){return a.subtitle}),c.width(q).height(r);var C=y.select(".nv-bulletWrap");d3.transition(C).call(c);var D=m||z.tickFormat(q/100),E=y.selectAll("g.nv-tick").data(z.ticks(n?n:q/50),function(a){return this.textContent||D(a)}),F=E.enter().append("g").attr("class","nv-tick").attr("transform",function(a){return"translate("+A(a)+",0)"}).style("opacity",1e-6);F.append("line").attr("y1",r).attr("y2",7*r/6),F.append("text").attr("text-anchor","middle").attr("dy","1em").attr("y",7*r/6).text(D);var G=d3.transition(E).attr("transform",function(a){return"translate("+z(a)+",0)"}).style("opacity",1);G.select("line").attr("y1",r).attr("y2",7*r/6),G.select("text").attr("y",7*r/6),d3.transition(E.exit()).attr("transform",function(a){return"translate("+z(a)+",0)"}).style("opacity",1e-6).remove()}),d3.timer.flush(),b}var c=a.models.bullet(),d=a.models.tooltip(),e="left",f=!1,g={top:5,right:40,bottom:20,left:120},h=function(a){return a.ranges},i=function(a){return a.markers?a.markers:[]},j=function(a){return a.measures},k=null,l=55,m=null,n=null,o=null,p=d3.dispatch();return d.duration(0).headerEnabled(!1),c.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:a.label,value:a.value,color:a.color},d.data(a).hidden(!1)}),c.dispatch.on("elementMouseout.tooltip",function(a){d.hidden(!0)}),c.dispatch.on("elementMousemove.tooltip",function(a){d()}),b.bullet=c,b.dispatch=p,b.tooltip=d,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{ranges:{get:function(){return h},set:function(a){h=a}},markers:{get:function(){return i},set:function(a){i=a}},measures:{get:function(){return j},set:function(a){j=a}},width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},tickFormat:{get:function(){return m},set:function(a){m=a}},ticks:{get:function(){return n},set:function(a){n=a}},noData:{get:function(){return o},set:function(a){o=a}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},orient:{get:function(){return e},set:function(a){e=a,f="right"==e||"bottom"==e}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.candlestickBar=function(){"use strict";function b(x){return x.each(function(b){c=d3.select(this);var x=a.utils.availableWidth(i,c,h),y=a.utils.availableHeight(j,c,h);a.utils.initSVG(c);var A=x/b[0].values.length*.45;l.domain(d||d3.extent(b[0].values.map(n).concat(t))),v?l.range(f||[.5*x/b[0].values.length,x*(b[0].values.length-.5)/b[0].values.length]):l.range(f||[5+A/2,x-A/2-5]),m.domain(e||[d3.min(b[0].values.map(s).concat(u)),d3.max(b[0].values.map(r).concat(u))]).range(g||[y,0]),l.domain()[0]===l.domain()[1]&&(l.domain()[0]?l.domain([l.domain()[0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain()[1]]):l.domain([-1,1])),m.domain()[0]===m.domain()[1]&&(m.domain()[0]?m.domain([m.domain()[0]+.01*m.domain()[0],m.domain()[1]-.01*m.domain()[1]]):m.domain([-1,1]));var B=d3.select(this).selectAll("g.nv-wrap.nv-candlestickBar").data([b[0].values]),C=B.enter().append("g").attr("class","nvd3 nv-wrap nv-candlestickBar"),D=C.append("defs"),E=C.append("g"),F=B.select("g");E.append("g").attr("class","nv-ticks"),B.attr("transform","translate("+h.left+","+h.top+")"),c.on("click",function(a,b){z.chartClick({data:a,index:b,pos:d3.event,id:k})}),D.append("clipPath").attr("id","nv-chart-clip-path-"+k).append("rect"),B.select("#nv-chart-clip-path-"+k+" rect").attr("width",x).attr("height",y),F.attr("clip-path",w?"url(#nv-chart-clip-path-"+k+")":"");var G=B.select(".nv-ticks").selectAll(".nv-tick").data(function(a){return a});G.exit().remove();var H=G.enter().append("g");G.attr("class",function(a,b,c){return(p(a,b)>q(a,b)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+c+"-"+b});H.append("line").attr("class","nv-candlestick-lines").attr("transform",function(a,b){return"translate("+l(n(a,b))+",0)"}).attr("x1",0).attr("y1",function(a,b){return m(r(a,b))}).attr("x2",0).attr("y2",function(a,b){return m(s(a,b))}),H.append("rect").attr("class","nv-candlestick-rects nv-bars").attr("transform",function(a,b){return"translate("+(l(n(a,b))-A/2)+","+(m(o(a,b))-(p(a,b)>q(a,b)?m(q(a,b))-m(p(a,b)):0))+")"}).attr("x",0).attr("y",0).attr("width",A).attr("height",function(a,b){var c=p(a,b),d=q(a,b);return c>d?m(d)-m(c):m(c)-m(d)});G.select(".nv-candlestick-lines").transition().attr("transform",function(a,b){return"translate("+l(n(a,b))+",0)"}).attr("x1",0).attr("y1",function(a,b){return m(r(a,b))}).attr("x2",0).attr("y2",function(a,b){return m(s(a,b))}),G.select(".nv-candlestick-rects").transition().attr("transform",function(a,b){return"translate("+(l(n(a,b))-A/2)+","+(m(o(a,b))-(p(a,b)>q(a,b)?m(q(a,b))-m(p(a,b)):0))+")"}).attr("x",0).attr("y",0).attr("width",A).attr("height",function(a,b){var c=p(a,b),d=q(a,b);return c>d?m(d)-m(c):m(c)-m(d)})}),b}var c,d,e,f,g,h={top:0,right:0,bottom:0,left:0},i=null,j=null,k=Math.floor(1e4*Math.random()),l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=function(a){return a.open},q=function(a){return a.close},r=function(a){return a.high},s=function(a){return a.low},t=[],u=[],v=!1,w=!0,x=a.utils.defaultColor(),y=!1,z=d3.dispatch("stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");return b.highlightPoint=function(a,d){b.clearHighlights(),c.select(".nv-candlestickBar .nv-tick-0-"+a).classed("hover",d)},b.clearHighlights=function(){c.select(".nv-candlestickBar .nv-tick.hover").classed("hover",!1)},b.dispatch=z,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return i},set:function(a){i=a}},height:{get:function(){return j},set:function(a){j=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},forceX:{get:function(){return t},set:function(a){t=a}},forceY:{get:function(){return u},set:function(a){u=a}},padData:{get:function(){return v},set:function(a){v=a}},clipEdge:{get:function(){return w},set:function(a){w=a}},id:{get:function(){return k},set:function(a){k=a}},interactive:{get:function(){return y},set:function(a){y=a}},x:{get:function(){return n},set:function(a){n=a}},y:{get:function(){return o},set:function(a){o=a}},open:{get:function(){return p()},set:function(a){p=a}},close:{get:function(){return q()},set:function(a){q=a}},high:{get:function(){return r},set:function(a){r=a}},low:{get:function(){return s},set:function(a){s=a}},margin:{get:function(){return h},set:function(a){h.top=void 0!=a.top?a.top:h.top,h.right=void 0!=a.right?a.right:h.right,h.bottom=void 0!=a.bottom?a.bottom:h.bottom,h.left=void 0!=a.left?a.left:h.left}},color:{get:function(){return x},set:function(b){x=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.cumulativeLineChart=function(){"use strict";function b(l){return H.reset(),H.models(f),r&&H.models(g),s&&H.models(h),l.each(function(l){function A(a,c){d3.select(b.container).style("cursor","ew-resize")}function E(a,b){G.x=d3.event.x,G.i=Math.round(F.invert(G.x)),K()}function H(a,c){d3.select(b.container).style("cursor","auto"),y.index=G.i,C.stateChange(y)}function K(){aa.data([G]);var a=b.duration();b.duration(0),b.update(),b.duration(a)}var L=d3.select(this);a.utils.initSVG(L),L.classed("nv-chart-"+x,!0);var M=a.utils.availableWidth(o,L,m),N=a.utils.availableHeight(p,L,m);if(b.update=function(){0===D?L.call(b):L.transition().duration(D).call(b)},b.container=this,y.setter(J(l),b.update).getter(I(l)).update(),y.disabled=l.map(function(a){return!!a.disabled}),!z){var O;z={};for(O in y)y[O]instanceof Array?z[O]=y[O].slice(0):z[O]=y[O]}var P=d3.behavior.drag().on("dragstart",A).on("drag",E).on("dragend",H);if(!(l&&l.length&&l.filter(function(a){return a.values.length}).length))return a.utils.noData(b,L),b;if(L.selectAll(".nv-noData").remove(),d=f.xScale(),e=f.yScale(),w)f.yDomain(null);else{var Q=l.filter(function(a){return!a.disabled}).map(function(a,b){var c=d3.extent(a.values,f.y());return c[0]<-.95&&(c[0]=-.95),[(c[0]-c[1])/(1+c[1]),(c[1]-c[0])/(1+c[0])]}),R=[d3.min(Q,function(a){return a[0]}),d3.max(Q,function(a){return a[1]})];f.yDomain(R)}F.domain([0,l[0].values.length-1]).range([0,M]).clamp(!0);var l=c(G.i,l),S=v?"none":"all",T=L.selectAll("g.nv-wrap.nv-cumulativeLine").data([l]),U=T.enter().append("g").attr("class","nvd3 nv-wrap nv-cumulativeLine").append("g"),V=T.select("g");if(U.append("g").attr("class","nv-interactive"),U.append("g").attr("class","nv-x nv-axis").style("pointer-events","none"),U.append("g").attr("class","nv-y nv-axis"),U.append("g").attr("class","nv-background"),U.append("g").attr("class","nv-linesWrap").style("pointer-events",S),U.append("g").attr("class","nv-avgLinesWrap").style("pointer-events","none"),U.append("g").attr("class","nv-legendWrap"),U.append("g").attr("class","nv-controlsWrap"),q?(i.width(M),V.select(".nv-legendWrap").datum(l).call(i),i.height()>m.top&&(m.top=i.height(),N=a.utils.availableHeight(p,L,m)),V.select(".nv-legendWrap").attr("transform","translate(0,"+-m.top+")")):V.select(".nv-legendWrap").selectAll("*").remove(),u){var W=[{key:"Re-scale y-axis",disabled:!w}];j.width(140).color(["#444","#444","#444"]).rightAlign(!1).margin({top:5,right:0,bottom:5,left:20}),V.select(".nv-controlsWrap").datum(W).attr("transform","translate(0,"+-m.top+")").call(j)}else V.select(".nv-controlsWrap").selectAll("*").remove();T.attr("transform","translate("+m.left+","+m.top+")"),t&&V.select(".nv-y.nv-axis").attr("transform","translate("+M+",0)");var X=l.filter(function(a){return a.tempDisabled});T.select(".tempDisabled").remove(),X.length&&T.append("text").attr("class","tempDisabled").attr("x",M/2).attr("y","-.71em").style("text-anchor","end").text(X.map(function(a){return a.key}).join(", ")+" values cannot be calculated for this time period."),v&&(k.width(M).height(N).margin({left:m.left,top:m.top}).svgContainer(L).xScale(d),T.select(".nv-interactive").call(k)),U.select(".nv-background").append("rect"),V.select(".nv-background rect").attr("width",M).attr("height",N),f.y(function(a){return a.display.y}).width(M).height(N).color(l.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!l[b].disabled&&!l[b].tempDisabled}));var Y=V.select(".nv-linesWrap").datum(l.filter(function(a){return!a.disabled&&!a.tempDisabled}));Y.call(f),l.forEach(function(a,b){a.seriesIndex=b});var Z=l.filter(function(a){return!a.disabled&&!!B(a)}),$=V.select(".nv-avgLinesWrap").selectAll("line").data(Z,function(a){return a.key}),_=function(a){var b=e(B(a));return b<0?0:b>N?N:b};$.enter().append("line").style("stroke-width",2).style("stroke-dasharray","10,10").style("stroke",function(a,b){return f.color()(a,a.seriesIndex)}).attr("x1",0).attr("x2",M).attr("y1",_).attr("y2",_),$.style("stroke-opacity",function(a){var b=e(B(a));return b<0||b>N?0:1}).attr("x1",0).attr("x2",M).attr("y1",_).attr("y2",_),$.exit().remove();var aa=Y.selectAll(".nv-indexLine").data([G]);aa.enter().append("rect").attr("class","nv-indexLine").attr("width",3).attr("x",-2).attr("fill","red").attr("fill-opacity",.5).style("pointer-events","all").call(P),aa.attr("transform",function(a){return"translate("+F(a.i)+",0)"}).attr("height",N),r&&(g.scale(d)._ticks(a.utils.calcTicksX(M/70,l)).tickSize(-N,0),V.select(".nv-x.nv-axis").attr("transform","translate(0,"+e.range()[0]+")"),V.select(".nv-x.nv-axis").call(g)),s&&(h.scale(e)._ticks(a.utils.calcTicksY(N/36,l)).tickSize(-M,0),V.select(".nv-y.nv-axis").call(h)),V.select(".nv-background rect").on("click",function(){G.x=d3.mouse(this)[0],G.i=Math.round(F.invert(G.x)),y.index=G.i,C.stateChange(y),K()}),f.dispatch.on("elementClick",function(a){G.i=a.pointIndex,G.x=F(G.i),y.index=G.i,C.stateChange(y),K()}),j.dispatch.on("legendClick",function(a,c){a.disabled=!a.disabled,w=!a.disabled,y.rescaleY=w,C.stateChange(y),b.update()}),i.dispatch.on("stateChange",function(a){for(var c in a)y[c]=a[c];C.stateChange(y),b.update()}),k.dispatch.on("elementMousemove",function(c){f.clearHighlights();var d,e,i,j=[];if(l.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(g,h){e=a.interactiveBisect(g.values,c.pointXValue,b.x()),f.highlightPoint(h,e,!0);var k=g.values[e];"undefined"!=typeof k&&("undefined"==typeof d&&(d=k),"undefined"==typeof i&&(i=b.xScale()(b.x()(k,e))),j.push({key:g.key,value:b.y()(k,e),color:n(g,g.seriesIndex)}))}),j.length>2){var m=b.yScale().invert(c.mouseY),o=Math.abs(b.yScale().domain()[0]-b.yScale().domain()[1]),p=.03*o,q=a.nearestValueIndex(j.map(function(a){return a.value}),m,p);null!==q&&(j[q].highlight=!0)}var r=g.tickFormat()(b.x()(d,e),e);k.tooltip.valueFormatter(function(a,b){return h.tickFormat()(a)}).data({value:r,series:j})(),k.renderGuideLine(i)}),k.dispatch.on("elementMouseout",function(a){f.clearHighlights()}),C.on("changeState",function(a){"undefined"!=typeof a.disabled&&(l.forEach(function(b,c){b.disabled=a.disabled[c]}),y.disabled=a.disabled),"undefined"!=typeof a.index&&(G.i=a.index,G.x=F(G.i),y.index=a.index,aa.data([G])),"undefined"!=typeof a.rescaleY&&(w=a.rescaleY),b.update()})}),H.renderEnd("cumulativeLineChart immediate"),b}function c(a,b){return K||(K=f.y()),b.map(function(b,c){if(!b.values)return b;var d=b.values[a];if(null==d)return b;var e=K(d,a);return e<-.95&&!E?(b.tempDisabled=!0,b):(b.tempDisabled=!1,b.values=b.values.map(function(a,b){return a.display={y:(K(a,b)-e)/(1+e)},a}),b)})}var d,e,f=a.models.line(),g=a.models.axis(),h=a.models.axis(),i=a.models.legend(),j=a.models.legend(),k=a.interactiveGuideline(),l=a.models.tooltip(),m={top:30,right:30,bottom:50,left:60},n=a.utils.defaultColor(),o=null,p=null,q=!0,r=!0,s=!0,t=!1,u=!0,v=!1,w=!0,x=f.id(),y=a.utils.state(),z=null,A=null,B=function(a){return a.average},C=d3.dispatch("stateChange","changeState","renderEnd"),D=250,E=!1;y.index=0,y.rescaleY=w,g.orient("bottom").tickPadding(7),h.orient(t?"right":"left"),l.valueFormatter(function(a,b){return h.tickFormat()(a,b)}).headerFormatter(function(a,b){return g.tickFormat()(a,b)}),j.updateState(!1);var F=d3.scale.linear(),G={i:0,x:0},H=a.utils.renderWatch(C,D),I=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),index:G.i,rescaleY:w}}},J=function(a){return function(b){void 0!==b.index&&(G.i=b.index),void 0!==b.rescaleY&&(w=b.rescaleY),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};f.dispatch.on("elementMouseover.tooltip",function(a){var c={x:b.x()(a.point),y:b.y()(a.point),color:a.point.color};a.point=c,l.data(a).hidden(!1)}),f.dispatch.on("elementMouseout.tooltip",function(a){l.hidden(!0)});var K=null;return b.dispatch=C,b.lines=f,b.legend=i,b.controls=j,b.xAxis=g,b.yAxis=h,b.interactiveLayer=k,b.state=y,b.tooltip=l,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return o},set:function(a){o=a}},height:{get:function(){return p},set:function(a){p=a}},rescaleY:{get:function(){return w},set:function(a){w=a}},showControls:{get:function(){return u},set:function(a){u=a}},showLegend:{get:function(){return q},set:function(a){q=a}},average:{get:function(){return B},set:function(a){B=a}},defaultState:{get:function(){return z},set:function(a){z=a}},noData:{get:function(){return A},set:function(a){A=a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:function(a){s=a}},noErrorCheck:{get:function(){return E},set:function(a){E=a}},margin:{get:function(){return m},set:function(a){m.top=void 0!==a.top?a.top:m.top,m.right=void 0!==a.right?a.right:m.right,m.bottom=void 0!==a.bottom?a.bottom:m.bottom,m.left=void 0!==a.left?a.left:m.left}},color:{get:function(){return n},set:function(b){n=a.utils.getColor(b),i.color(n)}},useInteractiveGuideline:{get:function(){return v},set:function(a){v=a,a===!0&&(b.interactive(!1),b.useVoronoi(!1))}},rightAlignYAxis:{get:function(){return t},set:function(a){t=a,h.orient(a?"right":"left")}},duration:{get:function(){return D},set:function(a){D=a,f.duration(D),g.duration(D),h.duration(D),H.reset(D)}}}),a.utils.inheritOptions(b,f),a.utils.initOptions(b),b},a.models.discreteBar=function(){"use strict";function b(m){return y.reset(),m.each(function(b){var m=k-j.left-j.right,x=l-j.top-j.bottom;c=d3.select(this),a.utils.initSVG(c),b.forEach(function(a,b){a.values.forEach(function(a){a.series=b})});var z=d&&e?[]:b.map(function(a){return a.values.map(function(a,b){return{x:p(a,b),y:q(a,b),y0:a.y0}})});n.domain(d||d3.merge(z).map(function(a){return a.x})).rangeBands(f||[0,m],.1),o.domain(e||d3.extent(d3.merge(z).map(function(a){return a.y}).concat(r))),t?o.range(g||[x-(o.domain()[0]<0?12:0),o.domain()[1]>0?12:0]):o.range(g||[x,0]),h=h||n,i=i||o.copy().range([o(0),o(0)]);var A=c.selectAll("g.nv-wrap.nv-discretebar").data([b]),B=A.enter().append("g").attr("class","nvd3 nv-wrap nv-discretebar"),C=B.append("g");A.select("g");C.append("g").attr("class","nv-groups"),A.attr("transform","translate("+j.left+","+j.top+")");var D=A.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a){return a.key});D.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),D.exit().watchTransition(y,"discreteBar: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),D.attr("class",function(a,b){return"nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}),D.watchTransition(y,"discreteBar: groups").style("stroke-opacity",1).style("fill-opacity",.75);var E=D.selectAll("g.nv-bar").data(function(a){return a.values});E.exit().remove();var F=E.enter().append("g").attr("transform",function(a,b,c){return"translate("+(n(p(a,b))+.05*n.rangeBand())+", "+o(0)+")"}).on("mouseover",function(a,b){d3.select(this).classed("hover",!0),v.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),v.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mousemove",function(a,b){v.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){var c=this;v.elementClick({data:a,index:b,color:d3.select(this).style("fill"),event:d3.event,element:c}),d3.event.stopPropagation()}).on("dblclick",function(a,b){v.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()});F.append("rect").attr("height",0).attr("width",.9*n.rangeBand()/b.length),t?(F.append("text").attr("text-anchor","middle"),E.select("text").text(function(a,b){return u(q(a,b))}).watchTransition(y,"discreteBar: bars text").attr("x",.9*n.rangeBand()/2).attr("y",function(a,b){return q(a,b)<0?o(q(a,b))-o(0)+12:-4})):E.selectAll("text").remove(),E.attr("class",function(a,b){return q(a,b)<0?"nv-bar negative":"nv-bar positive"}).style("fill",function(a,b){return a.color||s(a,b)}).style("stroke",function(a,b){return a.color||s(a,b)}).select("rect").attr("class",w).watchTransition(y,"discreteBar: bars rect").attr("width",.9*n.rangeBand()/b.length),
+E.watchTransition(y,"discreteBar: bars").attr("transform",function(a,b){var c=n(p(a,b))+.05*n.rangeBand(),d=q(a,b)<0?o(0):o(0)-o(q(a,b))<1?o(0)-1:o(q(a,b));return"translate("+c+", "+d+")"}).select("rect").attr("height",function(a,b){return Math.max(Math.abs(o(q(a,b))-o(0)),1)}),h=n.copy(),i=o.copy()}),y.renderEnd("discreteBar immediate"),b}var c,d,e,f,g,h,i,j={top:0,right:0,bottom:0,left:0},k=960,l=500,m=Math.floor(1e4*Math.random()),n=d3.scale.ordinal(),o=d3.scale.linear(),p=function(a){return a.x},q=function(a){return a.y},r=[0],s=a.utils.defaultColor(),t=!1,u=d3.format(",.2f"),v=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),w="discreteBar",x=250,y=a.utils.renderWatch(v,x);return b.dispatch=v,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},forceY:{get:function(){return r},set:function(a){r=a}},showValues:{get:function(){return t},set:function(a){t=a}},x:{get:function(){return p},set:function(a){p=a}},y:{get:function(){return q},set:function(a){q=a}},xScale:{get:function(){return n},set:function(a){n=a}},yScale:{get:function(){return o},set:function(a){o=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},valueFormat:{get:function(){return u},set:function(a){u=a}},id:{get:function(){return m},set:function(a){m=a}},rectClass:{get:function(){return w},set:function(a){w=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},color:{get:function(){return s},set:function(b){s=a.utils.getColor(b)}},duration:{get:function(){return x},set:function(a){x=a,y.reset(x)}}}),a.utils.initOptions(b),b},a.models.discreteBarChart=function(){"use strict";function b(i){return x.reset(),x.models(e),o&&x.models(f),p&&x.models(g),i.each(function(i){var m=d3.select(this);a.utils.initSVG(m);var u=a.utils.availableWidth(k,m,j),x=a.utils.availableHeight(l,m,j);if(b.update=function(){v.beforeUpdate(),m.transition().duration(w).call(b)},b.container=this,!(i&&i.length&&i.filter(function(a){return a.values.length}).length))return a.utils.noData(b,m),b;m.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale().clamp(!0);var y=m.selectAll("g.nv-wrap.nv-discreteBarWithAxes").data([i]),z=y.enter().append("g").attr("class","nvd3 nv-wrap nv-discreteBarWithAxes").append("g"),A=z.append("defs"),B=y.select("g");z.append("g").attr("class","nv-x nv-axis"),z.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),z.append("g").attr("class","nv-barsWrap"),z.append("g").attr("class","nv-legendWrap"),B.attr("transform","translate("+j.left+","+j.top+")"),n?(h.width(u),B.select(".nv-legendWrap").datum(i).call(h),h.height()>j.top&&(j.top=h.height(),x=a.utils.availableHeight(l,m,j)),y.select(".nv-legendWrap").attr("transform","translate(0,"+-j.top+")")):B.select(".nv-legendWrap").selectAll("*").remove(),q&&B.select(".nv-y.nv-axis").attr("transform","translate("+u+",0)"),e.width(u).height(x);var C=B.select(".nv-barsWrap").datum(i.filter(function(a){return!a.disabled}));if(C.transition().call(e),A.append("clipPath").attr("id","nv-x-label-clip-"+e.id()).append("rect"),B.select("#nv-x-label-clip-"+e.id()+" rect").attr("width",c.rangeBand()*(r?2:1)).attr("height",16).attr("x",-c.rangeBand()/(r?1:2)),o){f.scale(c)._ticks(a.utils.calcTicksX(u/100,i)).tickSize(-x,0),B.select(".nv-x.nv-axis").attr("transform","translate(0,"+(d.range()[0]+(e.showValues()&&d.domain()[0]<0?16:0))+")"),B.select(".nv-x.nv-axis").call(f);var D=B.select(".nv-x.nv-axis").selectAll("g");r&&D.selectAll("text").attr("transform",function(a,b,c){return"translate(0,"+(c%2==0?"5":"17")+")"}),t&&D.selectAll(".tick text").attr("transform","rotate("+t+" 0,0)").style("text-anchor",t>0?"start":"end"),s&&B.selectAll(".tick text").call(a.utils.wrapTicks,b.xAxis.rangeBand())}p&&(g.scale(d)._ticks(a.utils.calcTicksY(x/36,i)).tickSize(-u,0),B.select(".nv-y.nv-axis").call(g)),B.select(".nv-zeroLine line").attr("x1",0).attr("x2",q?-u:u).attr("y1",d(0)).attr("y2",d(0))}),x.renderEnd("discreteBar chart immediate"),b}var c,d,e=a.models.discreteBar(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend(),i=a.models.tooltip(),j={top:15,right:10,bottom:50,left:60},k=null,l=null,m=a.utils.getColor(),n=!1,o=!0,p=!0,q=!1,r=!1,s=!1,t=0,u=null,v=d3.dispatch("beforeUpdate","renderEnd"),w=250;f.orient("bottom").showMaxMin(!1).tickFormat(function(a){return a}),g.orient(q?"right":"left").tickFormat(d3.format(",.1f")),i.duration(0).headerEnabled(!1).valueFormatter(function(a,b){return g.tickFormat()(a,b)}).keyFormatter(function(a,b){return f.tickFormat()(a,b)});var x=a.utils.renderWatch(v,w);return e.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:b.x()(a.data),value:b.y()(a.data),color:a.color},i.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(a){i.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(a){i()}),b.dispatch=v,b.discretebar=e,b.legend=h,b.xAxis=f,b.yAxis=g,b.tooltip=i,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},showLegend:{get:function(){return n},set:function(a){n=a}},staggerLabels:{get:function(){return r},set:function(a){r=a}},rotateLabels:{get:function(){return t},set:function(a){t=a}},wrapLabels:{get:function(){return s},set:function(a){s=!!a}},showXAxis:{get:function(){return o},set:function(a){o=a}},showYAxis:{get:function(){return p},set:function(a){p=a}},noData:{get:function(){return u},set:function(a){u=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},duration:{get:function(){return w},set:function(a){w=a,x.reset(w),e.duration(w),f.duration(w),g.duration(w)}},color:{get:function(){return m},set:function(b){m=a.utils.getColor(b),e.color(m),h.color(m)}},rightAlignYAxis:{get:function(){return q},set:function(a){q=a,g.orient(a?"right":"left")}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.distribution=function(){"use strict";function b(k){return m.reset(),k.each(function(b){var k=(e-("x"===g?d.left+d.right:d.top+d.bottom),"x"==g?"y":"x"),l=d3.select(this);a.utils.initSVG(l),c=c||j;var n=l.selectAll("g.nv-distribution").data([b]),o=n.enter().append("g").attr("class","nvd3 nv-distribution"),p=(o.append("g"),n.select("g"));n.attr("transform","translate("+d.left+","+d.top+")");var q=p.selectAll("g.nv-dist").data(function(a){return a},function(a){return a.key});q.enter().append("g"),q.attr("class",function(a,b){return"nv-dist nv-series-"+b}).style("stroke",function(a,b){return i(a,b)});var r=q.selectAll("line.nv-dist"+g).data(function(a){return a.values});r.enter().append("line").attr(g+"1",function(a,b){return c(h(a,b))}).attr(g+"2",function(a,b){return c(h(a,b))}),m.transition(q.exit().selectAll("line.nv-dist"+g),"dist exit").attr(g+"1",function(a,b){return j(h(a,b))}).attr(g+"2",function(a,b){return j(h(a,b))}).style("stroke-opacity",0).remove(),r.attr("class",function(a,b){return"nv-dist"+g+" nv-dist"+g+"-"+b}).attr(k+"1",0).attr(k+"2",f),m.transition(r,"dist").attr(g+"1",function(a,b){return j(h(a,b))}).attr(g+"2",function(a,b){return j(h(a,b))}),c=j.copy()}),m.renderEnd("distribution immediate"),b}var c,d={top:0,right:0,bottom:0,left:0},e=400,f=8,g="x",h=function(a){return a[g]},i=a.utils.defaultColor(),j=d3.scale.linear(),k=250,l=d3.dispatch("renderEnd"),m=a.utils.renderWatch(l,k);return b.options=a.utils.optionsFunc.bind(b),b.dispatch=l,b.margin=function(a){return arguments.length?(d.top="undefined"!=typeof a.top?a.top:d.top,d.right="undefined"!=typeof a.right?a.right:d.right,d.bottom="undefined"!=typeof a.bottom?a.bottom:d.bottom,d.left="undefined"!=typeof a.left?a.left:d.left,b):d},b.width=function(a){return arguments.length?(e=a,b):e},b.axis=function(a){return arguments.length?(g=a,b):g},b.size=function(a){return arguments.length?(f=a,b):f},b.getData=function(a){return arguments.length?(h=d3.functor(a),b):h},b.scale=function(a){return arguments.length?(j=a,b):j},b.color=function(c){return arguments.length?(i=a.utils.getColor(c),b):i},b.duration=function(a){return arguments.length?(k=a,m.reset(k),b):k},b},a.models.focus=function(b){"use strict";function c(t){return s.reset(),s.models(b),m&&s.models(f),n&&s.models(g),t.each(function(s){function t(a){var b=+("e"==a),c=b?1:-1,d=y/3;return"M"+.5*c+","+d+"A6,6 0 0 "+b+" "+6.5*c+","+(d+6)+"V"+(2*d-6)+"A6,6 0 0 "+b+" "+.5*c+","+2*d+"ZM"+2.5*c+","+(d+8)+"V"+(2*d-8)+"M"+4.5*c+","+(d+8)+"V"+(2*d-8)}function u(){h.empty()||h.extent(p),D.data([h.empty()?d.domain():p]).each(function(a,b){var c=d(a[0])-d.range()[0],e=x-d(a[1]);d3.select(this).select(".left").attr("width",c<0?0:c),d3.select(this).select(".right").attr("x",d(a[1])).attr("width",e<0?0:e)})}function v(){p=h.empty()?null:h.extent();var a=h.empty()?d.domain():h.extent();Math.abs(a[0]-a[1])<=1||(r.brush({extent:a,brush:h}),u(),r.onBrush(a))}var w=d3.select(this);a.utils.initSVG(w);var x=a.utils.availableWidth(k,w,i),y=l-i.top-i.bottom;c.update=function(){0===q?w.call(c):w.transition().duration(q).call(c)},c.container=this,d=b.xScale(),e=b.yScale();var z=w.selectAll("g.nv-focus").data([s]),A=z.enter().append("g").attr("class","nvd3 nv-focus").append("g"),B=z.select("g");z.attr("transform","translate("+i.left+","+i.top+")"),A.append("g").attr("class","nv-background").append("rect"),A.append("g").attr("class","nv-x nv-axis"),A.append("g").attr("class","nv-y nv-axis"),A.append("g").attr("class","nv-contentWrap"),A.append("g").attr("class","nv-brushBackground"),A.append("g").attr("class","nv-x nv-brush"),o&&B.select(".nv-y.nv-axis").attr("transform","translate("+x+",0)"),B.select(".nv-background rect").attr("width",x).attr("height",y),b.width(x).height(y).color(s.map(function(a,b){return a.color||j(a,b)}).filter(function(a,b){return!s[b].disabled}));var C=B.select(".nv-contentWrap").datum(s.filter(function(a){return!a.disabled}));d3.transition(C).call(b),h.x(d).on("brush",function(){v()}),p&&h.extent(p);var D=B.select(".nv-brushBackground").selectAll("g").data([p||h.extent()]),E=D.enter().append("g");E.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",y),E.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",y);var F=B.select(".nv-x.nv-brush").call(h);F.selectAll("rect").attr("height",y),F.selectAll(".resize").append("path").attr("d",t),v(),B.select(".nv-background rect").attr("width",x).attr("height",y),m&&(f.scale(d)._ticks(a.utils.calcTicksX(x/100,s)).tickSize(-y,0),B.select(".nv-x.nv-axis").attr("transform","translate(0,"+e.range()[0]+")"),d3.transition(B.select(".nv-x.nv-axis")).call(f)),n&&(g.scale(e)._ticks(a.utils.calcTicksY(y/36,s)).tickSize(-x,0),d3.transition(B.select(".nv-y.nv-axis")).call(g)),B.select(".nv-x.nv-axis").attr("transform","translate(0,"+e.range()[0]+")")}),s.renderEnd("focus immediate"),c}var d,e,b=b||a.models.line(),f=a.models.axis(),g=a.models.axis(),h=d3.svg.brush(),i={top:10,right:0,bottom:30,left:0},j=a.utils.defaultColor(),k=null,l=70,m=!0,n=!1,o=!1,p=null,q=250,r=d3.dispatch("brush","onBrush","renderEnd");b.interactive(!1),b.pointActive(function(a){return!1});var s=a.utils.renderWatch(r,q);return c.dispatch=r,c.content=b,c.brush=h,c.xAxis=f,c.yAxis=g,c.options=a.utils.optionsFunc.bind(c),c._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},showXAxis:{get:function(){return m},set:function(a){m=a}},showYAxis:{get:function(){return n},set:function(a){n=a}},brushExtent:{get:function(){return p},set:function(a){p=a}},margin:{get:function(){return i},set:function(a){i.top=void 0!==a.top?a.top:i.top,i.right=void 0!==a.right?a.right:i.right,i.bottom=void 0!==a.bottom?a.bottom:i.bottom,i.left=void 0!==a.left?a.left:i.left}},duration:{get:function(){return q},set:function(a){q=a,s.reset(q),b.duration(q),f.duration(q),g.duration(q)}},color:{get:function(){return j},set:function(c){j=a.utils.getColor(c),b.color(j)}},interpolate:{get:function(){return b.interpolate()},set:function(a){b.interpolate(a)}},xTickFormat:{get:function(){return f.tickFormat()},set:function(a){f.tickFormat(a)}},yTickFormat:{get:function(){return g.tickFormat()},set:function(a){g.tickFormat(a)}},x:{get:function(){return b.x()},set:function(a){b.x(a)}},y:{get:function(){return b.y()},set:function(a){b.y(a)}},rightAlignYAxis:{get:function(){return o},set:function(a){o=a,g.orient(o?"right":"left")}}}),a.utils.inheritOptions(c,b),a.utils.initOptions(c),c},a.models.forceDirectedGraph=function(){"use strict";function b(g){return u.reset(),g.each(function(g){f=d3.select(this),a.utils.initSVG(f);var j=a.utils.availableWidth(d,f,c),u=a.utils.availableHeight(e,f,c);if(f.attr("width",j).attr("height",u),!(g&&g.links&&g.nodes))return a.utils.noData(b,f),b;f.selectAll(".nv-noData").remove(),f.selectAll("*").remove();var v=new Set;g.nodes.forEach(function(a){var b=Object.keys(a);b.forEach(function(a){v.add(a)})});var w=d3.layout.force().nodes(g.nodes).links(g.links).size([j,u]).linkStrength(k).friction(l).linkDistance(m).charge(n).gravity(o).theta(p).alpha(q).start(),x=f.selectAll(".link").data(g.links).enter().append("line").attr("class","nv-force-link").style("stroke-width",function(a){return Math.sqrt(a.value)}),y=f.selectAll(".node").data(g.nodes).enter().append("g").attr("class","nv-force-node").call(w.drag);y.append("circle").attr("r",r).style("fill",function(a){return h(a)}).on("mouseover",function(a){f.select(".nv-series-"+a.seriesIndex+" .nv-distx-"+a.pointIndex).attr("y1",a.py),f.select(".nv-series-"+a.seriesIndex+" .nv-disty-"+a.pointIndex).attr("x2",a.px);var b=h(a);a.series=[],v.forEach(function(c){a.series.push({color:b,key:c,value:a[c]})}),i.data(a).hidden(!1)}).on("mouseout",function(a){i.hidden(!0)}),i.headerFormatter(function(a){return"Node"}),t(x),s(y),w.on("tick",function(){x.attr("x1",function(a){return a.source.x}).attr("y1",function(a){return a.source.y}).attr("x2",function(a){return a.target.x}).attr("y2",function(a){return a.target.y}),y.attr("transform",function(a){return"translate("+a.x+", "+a.y+")"})})}),b}var c={top:2,right:0,bottom:2,left:0},d=400,e=32,f=null,g=d3.dispatch("renderEnd"),h=a.utils.getColor(["#000"]),i=a.models.tooltip(),j=null,k=.1,l=.9,m=30,n=-120,o=.1,p=.8,q=.1,r=5,s=function(a){},t=function(a){},u=a.utils.renderWatch(g);return b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},linkStrength:{get:function(){return k},set:function(a){k=a}},friction:{get:function(){return l},set:function(a){l=a}},linkDist:{get:function(){return m},set:function(a){m=a}},charge:{get:function(){return n},set:function(a){n=a}},gravity:{get:function(){return o},set:function(a){o=a}},theta:{get:function(){return p},set:function(a){p=a}},alpha:{get:function(){return q},set:function(a){q=a}},radius:{get:function(){return r},set:function(a){r=a}},x:{get:function(){return getX},set:function(a){getX=d3.functor(a)}},y:{get:function(){return getY},set:function(a){getY=d3.functor(a)}},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.left=void 0!==a.left?a.left:c.left}},color:{get:function(){return h},set:function(b){h=a.utils.getColor(b)}},noData:{get:function(){return j},set:function(a){j=a}},nodeExtras:{get:function(){return s},set:function(a){s=a}},linkExtras:{get:function(){return t},set:function(a){t=a}}}),b.dispatch=g,b.tooltip=i,a.utils.initOptions(b),b},a.models.furiousLegend=function(){"use strict";function b(r){function s(a,b){return"furious"!=q?"#000":o?a.disengaged?h(a,b):"#fff":o?void 0:a.disabled?h(a,b):"#fff"}function t(a,b){return o&&"furious"==q?a.disengaged?"#fff":h(a,b):a.disabled?"#fff":h(a,b)}return r.each(function(b){var r=d-c.left-c.right,u=d3.select(this);a.utils.initSVG(u);var v=u.selectAll("g.nv-legend").data([b]),w=(v.enter().append("g").attr("class","nvd3 nv-legend").append("g"),v.select("g"));v.attr("transform","translate("+c.left+","+c.top+")");var x,y=w.selectAll(".nv-series").data(function(a){return"furious"!=q?a:a.filter(function(a){return!!o||!a.disengaged})}),z=y.enter().append("g").attr("class","nv-series");if("classic"==q)z.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5),x=y.select("circle");else if("furious"==q){z.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3),x=y.select("rect"),z.append("g").attr("class","nv-check-box").property("innerHTML",'<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>').attr("transform","translate(-10,-8)scale(0.5)");var A=y.select(".nv-check-box");A.each(function(a,b){d3.select(this).selectAll("path").attr("stroke",s(a,b))})}z.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var B=y.select("text.nv-legend-text");y.on("mouseover",function(a,b){p.legendMouseover(a,b)}).on("mouseout",function(a,b){p.legendMouseout(a,b)}).on("click",function(a,b){p.legendClick(a,b);var c=y.data();if(m){if("classic"==q)n?(c.forEach(function(a){a.disabled=!0}),a.disabled=!1):(a.disabled=!a.disabled,c.every(function(a){return a.disabled})&&c.forEach(function(a){a.disabled=!1}));else if("furious"==q)if(o)a.disengaged=!a.disengaged,a.userDisabled=void 0==a.userDisabled?!!a.disabled:a.userDisabled,a.disabled=a.disengaged||a.userDisabled;else if(!o){a.disabled=!a.disabled,a.userDisabled=a.disabled;var d=c.filter(function(a){return!a.disengaged});d.every(function(a){return a.userDisabled})&&c.forEach(function(a){a.disabled=a.userDisabled=!1})}p.stateChange({disabled:c.map(function(a){return!!a.disabled}),disengaged:c.map(function(a){return!!a.disengaged})})}}).on("dblclick",function(a,b){if(("furious"!=q||!o)&&(p.legendDblclick(a,b),m)){var c=y.data();c.forEach(function(a){a.disabled=!0,"furious"==q&&(a.userDisabled=a.disabled)}),a.disabled=!1,"furious"==q&&(a.userDisabled=a.disabled),p.stateChange({disabled:c.map(function(a){return!!a.disabled})})}}),y.classed("nv-disabled",function(a){return a.userDisabled}),y.exit().remove(),B.attr("fill",s).text(function(a){return g(f(a))});var C;switch(q){case"furious":C=23;break;case"classic":C=20}if(j){var D=[];y.each(function(b,c){var d;if(g(f(b))&&g(f(b)).length>i){var e=g(f(b)).substring(0,i);d=d3.select(this).select("text").text(e+"..."),d3.select(this).append("svg:title").text(g(f(b)))}else d=d3.select(this).select("text");var h;try{if(h=d.node().getComputedTextLength(),h<=0)throw Error()}catch(j){h=a.utils.calcApproxTextWidth(d)}D.push(h+k)});for(var E=0,F=0,G=[];F<r&&E<D.length;)G[E]=D[E],F+=D[E++];for(0===E&&(E=1);F>r&&E>1;){G=[],E--;for(var H=0;H<D.length;H++)D[H]>(G[H%E]||0)&&(G[H%E]=D[H]);F=G.reduce(function(a,b,c,d){return a+b})}for(var I=[],J=0,K=0;J<E;J++)I[J]=K,K+=G[J];y.attr("transform",function(a,b){return"translate("+I[b%E]+","+(5+Math.floor(b/E)*C)+")"}),l?w.attr("transform","translate("+(d-c.right-F)+","+c.top+")"):w.attr("transform","translate(0,"+c.top+")"),e=c.top+c.bottom+Math.ceil(D.length/E)*C}else{var L,M=5,N=5,O=0;y.attr("transform",function(a,b){var e=d3.select(this).select("text").node().getComputedTextLength()+k;return L=N,d<c.left+c.right+L+e&&(N=L=5,M+=C),N+=e,N>O&&(O=N),"translate("+L+","+M+")"}),w.attr("transform","translate("+(d-c.right-O)+","+c.top+")"),e=c.top+c.bottom+M+15}"furious"==q&&x.attr("width",function(a,b){return B[0][b].getComputedTextLength()+27}).attr("height",18).attr("y",-9).attr("x",-15),x.style("fill",t).style("stroke",function(a,b){return a.color||h(a,b)})}),b}var c={top:5,right:0,bottom:5,left:0},d=400,e=20,f=function(a){return a.key},g=function(a){return a},h=a.utils.getColor(),i=20,j=!0,k=28,l=!0,m=!0,n=!1,o=!1,p=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),q="classic";return b.dispatch=p,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},key:{get:function(){return f},set:function(a){f=a}},keyFormatter:{get:function(){return g},set:function(a){g=a}},align:{get:function(){return j},set:function(a){j=a}},rightAlign:{get:function(){return l},set:function(a){l=a}},maxKeyLength:{get:function(){return i},set:function(a){i=a}},padding:{get:function(){return k},set:function(a){k=a}},updateState:{get:function(){return m},set:function(a){m=a}},radioButtonMode:{get:function(){return n},set:function(a){n=a}},expanded:{get:function(){return o},set:function(a){o=a}},vers:{get:function(){return q},set:function(a){q=a}},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.left=void 0!==a.left?a.left:c.left}},color:{get:function(){return h},set:function(b){h=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.historicalBar=function(){"use strict";function b(x){return x.each(function(b){w.reset(),k=d3.select(this);var x=a.utils.availableWidth(h,k,g),y=a.utils.availableHeight(i,k,g);a.utils.initSVG(k),l.domain(c||d3.extent(b[0].values.map(n).concat(p))),r?l.range(e||[.5*x/b[0].values.length,x*(b[0].values.length-.5)/b[0].values.length]):l.range(e||[0,x]),m.domain(d||d3.extent(b[0].values.map(o).concat(q))).range(f||[y,0]),l.domain()[0]===l.domain()[1]&&(l.domain()[0]?l.domain([l.domain()[0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain()[1]]):l.domain([-1,1])),m.domain()[0]===m.domain()[1]&&(m.domain()[0]?m.domain([m.domain()[0]+.01*m.domain()[0],m.domain()[1]-.01*m.domain()[1]]):m.domain([-1,1]));var z=k.selectAll("g.nv-wrap.nv-historicalBar-"+j).data([b[0].values]),A=z.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBar-"+j),B=A.append("defs"),C=A.append("g"),D=z.select("g");C.append("g").attr("class","nv-bars"),z.attr("transform","translate("+g.left+","+g.top+")"),k.on("click",function(a,b){u.chartClick({data:a,index:b,pos:d3.event,id:j})}),B.append("clipPath").attr("id","nv-chart-clip-path-"+j).append("rect"),z.select("#nv-chart-clip-path-"+j+" rect").attr("width",x).attr("height",y),D.attr("clip-path",s?"url(#nv-chart-clip-path-"+j+")":"");var E=z.select(".nv-bars").selectAll(".nv-bar").data(function(a){return a},function(a,b){return n(a,b)});E.exit().remove(),E.enter().append("rect").attr("x",0).attr("y",function(b,c){return a.utils.NaNtoZero(m(Math.max(0,o(b,c))))}).attr("height",function(b,c){return a.utils.NaNtoZero(Math.abs(m(o(b,c))-m(0)))}).attr("transform",function(a,c){return"translate("+(l(n(a,c))-x/b[0].values.length*.45)+",0)"}).on("mouseover",function(a,b){v&&(d3.select(this).classed("hover",!0),u.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")}))}).on("mouseout",function(a,b){v&&(d3.select(this).classed("hover",!1),u.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")}))}).on("mousemove",function(a,b){v&&u.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){v&&(u.elementClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation())}).on("dblclick",function(a,b){v&&(u.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation())}),E.attr("fill",function(a,b){return t(a,b)}).attr("class",function(a,b,c){return(o(a,b)<0?"nv-bar negative":"nv-bar positive")+" nv-bar-"+c+"-"+b}).watchTransition(w,"bars").attr("transform",function(a,c){return"translate("+(l(n(a,c))-x/b[0].values.length*.45)+",0)"}).attr("width",x/b[0].values.length*.9),E.watchTransition(w,"bars").attr("y",function(b,c){var d=o(b,c)<0?m(0):m(0)-m(o(b,c))<1?m(0)-1:m(o(b,c));return a.utils.NaNtoZero(d)}).attr("height",function(b,c){return a.utils.NaNtoZero(Math.max(Math.abs(m(o(b,c))-m(0)),1))})}),w.renderEnd("historicalBar immediate"),b}var c,d,e,f,g={top:0,right:0,bottom:0,left:0},h=null,i=null,j=Math.floor(1e4*Math.random()),k=null,l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=[],q=[0],r=!1,s=!0,t=a.utils.defaultColor(),u=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),v=!0,w=a.utils.renderWatch(u,0);return b.highlightPoint=function(a,b){k.select(".nv-bars .nv-bar-0-"+a).classed("hover",b)},b.clearHighlights=function(){k.select(".nv-bars .nv-bar.hover").classed("hover",!1)},b.dispatch=u,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},forceX:{get:function(){return p},set:function(a){p=a}},forceY:{get:function(){return q},set:function(a){q=a}},padData:{get:function(){return r},set:function(a){r=a}},x:{get:function(){return n},set:function(a){n=a}},y:{get:function(){return o},set:function(a){o=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},clipEdge:{get:function(){return s},set:function(a){s=a}},id:{get:function(){return j},set:function(a){j=a}},interactive:{get:function(){return v},set:function(a){v=a}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},color:{get:function(){return t},set:function(b){t=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.historicalBarChart=function(b){"use strict";function c(b){return b.each(function(k){z.reset(),z.models(f),q&&z.models(g),r&&z.models(h);var w=d3.select(this);a.utils.initSVG(w);var A=a.utils.availableWidth(n,w,l),B=a.utils.availableHeight(o,w,l);if(c.update=function(){w.transition().duration(y).call(c)},c.container=this,u.disabled=k.map(function(a){return!!a.disabled}),!v){var C;v={};for(C in u)u[C]instanceof Array?v[C]=u[C].slice(0):v[C]=u[C]}if(!(k&&k.length&&k.filter(function(a){return a.values.length}).length))return a.utils.noData(c,w),c;w.selectAll(".nv-noData").remove(),d=f.xScale(),e=f.yScale();var D=w.selectAll("g.nv-wrap.nv-historicalBarChart").data([k]),E=D.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBarChart").append("g"),F=D.select("g");E.append("g").attr("class","nv-x nv-axis"),E.append("g").attr("class","nv-y nv-axis"),E.append("g").attr("class","nv-barsWrap"),E.append("g").attr("class","nv-legendWrap"),E.append("g").attr("class","nv-interactive"),p?(i.width(A),F.select(".nv-legendWrap").datum(k).call(i),i.height()>l.top&&(l.top=i.height(),B=a.utils.availableHeight(o,w,l)),D.select(".nv-legendWrap").attr("transform","translate(0,"+-l.top+")")):F.select(".nv-legendWrap").selectAll("*").remove(),D.attr("transform","translate("+l.left+","+l.top+")"),s&&F.select(".nv-y.nv-axis").attr("transform","translate("+A+",0)"),t&&(j.width(A).height(B).margin({left:l.left,top:l.top}).svgContainer(w).xScale(d),D.select(".nv-interactive").call(j)),f.width(A).height(B).color(k.map(function(a,b){return a.color||m(a,b)}).filter(function(a,b){return!k[b].disabled}));var G=F.select(".nv-barsWrap").datum(k.filter(function(a){return!a.disabled}));G.transition().call(f),q&&(g.scale(d)._ticks(a.utils.calcTicksX(A/100,k)).tickSize(-B,0),F.select(".nv-x.nv-axis").attr("transform","translate(0,"+e.range()[0]+")"),F.select(".nv-x.nv-axis").transition().call(g)),r&&(h.scale(e)._ticks(a.utils.calcTicksY(B/36,k)).tickSize(-A,0),F.select(".nv-y.nv-axis").transition().call(h)),j.dispatch.on("elementMousemove",function(b){f.clearHighlights();var d,e,i,l=[];k.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(g,h){e=a.interactiveBisect(g.values,b.pointXValue,c.x()),f.highlightPoint(e,!0);var j=g.values[e];void 0!==j&&(void 0===d&&(d=j),void 0===i&&(i=c.xScale()(c.x()(j,e))),l.push({key:g.key,value:c.y()(j,e),color:m(g,g.seriesIndex),data:g.values[e]}))});var n=g.tickFormat()(c.x()(d,e));j.tooltip.valueFormatter(function(a,b){return h.tickFormat()(a)}).data({value:n,index:e,series:l})(),j.renderGuideLine(i)}),j.dispatch.on("elementMouseout",function(a){x.tooltipHide(),f.clearHighlights()}),i.dispatch.on("legendClick",function(a,d){a.disabled=!a.disabled,k.filter(function(a){return!a.disabled}).length||k.map(function(a){return a.disabled=!1,D.selectAll(".nv-series").classed("disabled",!1),a}),u.disabled=k.map(function(a){return!!a.disabled}),x.stateChange(u),b.transition().call(c)}),i.dispatch.on("legendDblclick",function(a){k.forEach(function(a){a.disabled=!0}),a.disabled=!1,u.disabled=k.map(function(a){return!!a.disabled}),x.stateChange(u),c.update()}),x.on("changeState",function(a){"undefined"!=typeof a.disabled&&(k.forEach(function(b,c){b.disabled=a.disabled[c]}),u.disabled=a.disabled),c.update()})}),z.renderEnd("historicalBarChart immediate"),c}var d,e,f=b||a.models.historicalBar(),g=a.models.axis(),h=a.models.axis(),i=a.models.legend(),j=a.interactiveGuideline(),k=a.models.tooltip(),l={top:30,right:90,bottom:50,left:90},m=a.utils.defaultColor(),n=null,o=null,p=!1,q=!0,r=!0,s=!1,t=!1,u={},v=null,w=null,x=d3.dispatch("tooltipHide","stateChange","changeState","renderEnd"),y=250;g.orient("bottom").tickPadding(7),h.orient(s?"right":"left"),k.duration(0).headerEnabled(!1).valueFormatter(function(a,b){return h.tickFormat()(a,b)}).headerFormatter(function(a,b){return g.tickFormat()(a,b)});var z=a.utils.renderWatch(x,0);return f.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:c.x()(a.data),value:c.y()(a.data),color:a.color},k.data(a).hidden(!1)}),f.dispatch.on("elementMouseout.tooltip",function(a){k.hidden(!0)}),f.dispatch.on("elementMousemove.tooltip",function(a){k()}),c.dispatch=x,c.bars=f,c.legend=i,c.xAxis=g,c.yAxis=h,c.interactiveLayer=j,c.tooltip=k,c.options=a.utils.optionsFunc.bind(c),c._options=Object.create({},{width:{get:function(){return n},set:function(a){n=a}},height:{get:function(){return o},set:function(a){o=a}},showLegend:{get:function(){return p},set:function(a){p=a}},showXAxis:{get:function(){return q},set:function(a){q=a}},showYAxis:{get:function(){return r},set:function(a){r=a}},defaultState:{get:function(){return v},set:function(a){v=a}},noData:{get:function(){return w},set:function(a){w=a}},margin:{get:function(){return l},set:function(a){l.top=void 0!==a.top?a.top:l.top,l.right=void 0!==a.right?a.right:l.right,l.bottom=void 0!==a.bottom?a.bottom:l.bottom,l.left=void 0!==a.left?a.left:l.left}},color:{get:function(){return m},set:function(b){m=a.utils.getColor(b),i.color(m),f.color(m)}},duration:{get:function(){return y},set:function(a){y=a,z.reset(y),h.duration(y),g.duration(y)}},rightAlignYAxis:{get:function(){return s},set:function(a){s=a,h.orient(a?"right":"left")}},useInteractiveGuideline:{get:function(){return t},set:function(a){t=a,a===!0&&c.interactive(!1)}}}),a.utils.inheritOptions(c,f),a.utils.initOptions(c),c},a.models.ohlcBarChart=function(){var b=a.models.historicalBarChart(a.models.ohlcBar());return b.useInteractiveGuideline(!0),b.interactiveLayer.tooltip.contentGenerator(function(a){var c=a.series[0].data,d=c.open<c.close?"2ca02c":"d62728";
+return'<h3 style="color: #'+d+'">'+a.value+"</h3><table><tr><td>open:</td><td>"+b.yAxis.tickFormat()(c.open)+"</td></tr><tr><td>close:</td><td>"+b.yAxis.tickFormat()(c.close)+"</td></tr><tr><td>high</td><td>"+b.yAxis.tickFormat()(c.high)+"</td></tr><tr><td>low:</td><td>"+b.yAxis.tickFormat()(c.low)+"</td></tr></table>"}),b},a.models.candlestickBarChart=function(){var b=a.models.historicalBarChart(a.models.candlestickBar());return b.useInteractiveGuideline(!0),b.interactiveLayer.tooltip.contentGenerator(function(a){var c=a.series[0].data,d=c.open<c.close?"2ca02c":"d62728";return'<h3 style="color: #'+d+'">'+a.value+"</h3><table><tr><td>open:</td><td>"+b.yAxis.tickFormat()(c.open)+"</td></tr><tr><td>close:</td><td>"+b.yAxis.tickFormat()(c.close)+"</td></tr><tr><td>high</td><td>"+b.yAxis.tickFormat()(c.high)+"</td></tr><tr><td>low:</td><td>"+b.yAxis.tickFormat()(c.low)+"</td></tr></table>"}),b},a.models.legend=function(){"use strict";function b(r){function s(a,b){return"furious"!=q?"#000":o?a.disengaged?"#000":"#fff":o?void 0:(a.color||(a.color=h(a,b)),a.disabled?a.color:"#fff")}function t(a,b){return o&&"furious"==q&&a.disengaged?"#eee":a.color||h(a,b)}function u(a,b){return o&&"furious"==q?1:a.disabled?0:1}return r.each(function(b){var h=d-c.left-c.right,r=d3.select(this);a.utils.initSVG(r);var v=r.selectAll("g.nv-legend").data([b]),w=v.enter().append("g").attr("class","nvd3 nv-legend").append("g"),x=v.select("g");v.attr("transform","translate("+c.left+","+c.top+")");var y,z,A=x.selectAll(".nv-series").data(function(a){return"furious"!=q?a:a.filter(function(a){return!!o||!a.disengaged})}),B=A.enter().append("g").attr("class","nv-series");switch(q){case"furious":z=23;break;case"classic":z=20}if("classic"==q)B.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5),y=A.select(".nv-legend-symbol");else if("furious"==q){B.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3),y=A.select(".nv-legend-symbol"),B.append("g").attr("class","nv-check-box").property("innerHTML",'<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>').attr("transform","translate(-10,-8)scale(0.5)");var C=A.select(".nv-check-box");C.each(function(a,b){d3.select(this).selectAll("path").attr("stroke",s(a,b))})}B.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var D=A.select("text.nv-legend-text");A.on("mouseover",function(a,b){p.legendMouseover(a,b)}).on("mouseout",function(a,b){p.legendMouseout(a,b)}).on("click",function(a,b){p.legendClick(a,b);var c=A.data();if(m){if("classic"==q)n?(c.forEach(function(a){a.disabled=!0}),a.disabled=!1):(a.disabled=!a.disabled,c.every(function(a){return a.disabled})&&c.forEach(function(a){a.disabled=!1}));else if("furious"==q)if(o)a.disengaged=!a.disengaged,a.userDisabled=void 0==a.userDisabled?!!a.disabled:a.userDisabled,a.disabled=a.disengaged||a.userDisabled;else if(!o){a.disabled=!a.disabled,a.userDisabled=a.disabled;var d=c.filter(function(a){return!a.disengaged});d.every(function(a){return a.userDisabled})&&c.forEach(function(a){a.disabled=a.userDisabled=!1})}p.stateChange({disabled:c.map(function(a){return!!a.disabled}),disengaged:c.map(function(a){return!!a.disengaged})})}}).on("dblclick",function(a,b){if(("furious"!=q||!o)&&(p.legendDblclick(a,b),m)){var c=A.data();c.forEach(function(a){a.disabled=!0,"furious"==q&&(a.userDisabled=a.disabled)}),a.disabled=!1,"furious"==q&&(a.userDisabled=a.disabled),p.stateChange({disabled:c.map(function(a){return!!a.disabled})})}}),A.classed("nv-disabled",function(a){return a.userDisabled}),A.exit().remove(),D.attr("fill",s).text(function(a){return g(f(a))});var E=0;if(j){var F=[];A.each(function(b,c){var d;if(g(f(b))&&g(f(b)).length>i){var e=g(f(b)).substring(0,i);d=d3.select(this).select("text").text(e+"..."),d3.select(this).append("svg:title").text(g(f(b)))}else d=d3.select(this).select("text");var h;try{if(h=d.node().getComputedTextLength(),h<=0)throw Error()}catch(j){h=a.utils.calcApproxTextWidth(d)}F.push(h+k)});var G=0,H=[];for(E=0;E<h&&G<F.length;)H[G]=F[G],E+=F[G++];for(0===G&&(G=1);E>h&&G>1;){H=[],G--;for(var I=0;I<F.length;I++)F[I]>(H[I%G]||0)&&(H[I%G]=F[I]);E=H.reduce(function(a,b,c,d){return a+b})}for(var J=[],K=0,L=0;K<G;K++)J[K]=L,L+=H[K];A.attr("transform",function(a,b){return"translate("+J[b%G]+","+(5+Math.floor(b/G)*z)+")"}),l?x.attr("transform","translate("+(d-c.right-E)+","+c.top+")"):x.attr("transform","translate(0,"+c.top+")"),e=c.top+c.bottom+Math.ceil(F.length/G)*z}else{var M,N=5,O=5,P=0;A.attr("transform",function(a,b){var e=d3.select(this).select("text").node().getComputedTextLength()+k;return M=O,d<c.left+c.right+M+e&&(O=M=5,N+=z),O+=e,O>P&&(P=O),E<M+P&&(E=M+P),"translate("+M+","+N+")"}),x.attr("transform","translate("+(d-c.right-P)+","+c.top+")"),e=c.top+c.bottom+N+15}if("furious"==q){y.attr("width",function(a,b){return D[0][b].getComputedTextLength()+27}).attr("height",18).attr("y",-9).attr("x",-15),w.insert("rect",":first-child").attr("class","nv-legend-bg").attr("fill","#eee").attr("opacity",0);var Q=x.select(".nv-legend-bg");Q.transition().duration(300).attr("x",-z).attr("width",E+z-12).attr("height",e+10).attr("y",-c.top-10).attr("opacity",o?1:0)}y.style("fill",t).style("fill-opacity",u).style("stroke",t)}),b}var c={top:5,right:0,bottom:5,left:0},d=400,e=20,f=function(a){return a.key},g=function(a){return a},h=a.utils.getColor(),i=20,j=!0,k=32,l=!0,m=!0,n=!1,o=!1,p=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),q="classic";return b.dispatch=p,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},key:{get:function(){return f},set:function(a){f=a}},keyFormatter:{get:function(){return g},set:function(a){g=a}},align:{get:function(){return j},set:function(a){j=a}},maxKeyLength:{get:function(){return i},set:function(a){i=a}},rightAlign:{get:function(){return l},set:function(a){l=a}},padding:{get:function(){return k},set:function(a){k=a}},updateState:{get:function(){return m},set:function(a){m=a}},radioButtonMode:{get:function(){return n},set:function(a){n=a}},expanded:{get:function(){return o},set:function(a){o=a}},vers:{get:function(){return q},set:function(a){q=a}},margin:{get:function(){return c},set:function(a){c.top=void 0!==a.top?a.top:c.top,c.right=void 0!==a.right?a.right:c.right,c.bottom=void 0!==a.bottom?a.bottom:c.bottom,c.left=void 0!==a.left?a.left:c.left}},color:{get:function(){return h},set:function(b){h=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.line=function(){"use strict";function b(r){return v.reset(),v.models(e),r.each(function(b){i=d3.select(this);var r=a.utils.availableWidth(g,i,f),s=a.utils.availableHeight(h,i,f);a.utils.initSVG(i),c=e.xScale(),d=e.yScale(),t=t||c,u=u||d;var w=i.selectAll("g.nv-wrap.nv-line").data([b]),x=w.enter().append("g").attr("class","nvd3 nv-wrap nv-line"),y=x.append("defs"),z=x.append("g"),A=w.select("g");z.append("g").attr("class","nv-groups"),z.append("g").attr("class","nv-scatterWrap"),w.attr("transform","translate("+f.left+","+f.top+")"),e.width(r).height(s);var B=w.select(".nv-scatterWrap");B.call(e),y.append("clipPath").attr("id","nv-edge-clip-"+e.id()).append("rect"),w.select("#nv-edge-clip-"+e.id()+" rect").attr("width",r).attr("height",s>0?s:0),A.attr("clip-path",p?"url(#nv-edge-clip-"+e.id()+")":""),B.attr("clip-path",p?"url(#nv-edge-clip-"+e.id()+")":"");var C=w.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a){return a.key});C.enter().append("g").style("stroke-opacity",1e-6).style("stroke-width",function(a){return a.strokeWidth||j}).style("fill-opacity",1e-6),C.exit().remove(),C.attr("class",function(a,b){return(a.classed||"")+" nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}).style("fill",function(a,b){return k(a,b)}).style("stroke",function(a,b){return k(a,b)}),C.watchTransition(v,"line: groups").style("stroke-opacity",1).style("fill-opacity",function(a){return a.fillOpacity||.5});var D=C.selectAll("path.nv-area").data(function(a){return o(a)?[a]:[]});D.enter().append("path").attr("class","nv-area").attr("d",function(b){return d3.svg.area().interpolate(q).defined(n).x(function(b,c){return a.utils.NaNtoZero(t(l(b,c)))}).y0(function(b,c){return a.utils.NaNtoZero(u(m(b,c)))}).y1(function(a,b){return u(d.domain()[0]<=0?d.domain()[1]>=0?0:d.domain()[1]:d.domain()[0])}).apply(this,[b.values])}),C.exit().selectAll("path.nv-area").remove(),D.watchTransition(v,"line: areaPaths").attr("d",function(b){return d3.svg.area().interpolate(q).defined(n).x(function(b,d){return a.utils.NaNtoZero(c(l(b,d)))}).y0(function(b,c){return a.utils.NaNtoZero(d(m(b,c)))}).y1(function(a,b){return d(d.domain()[0]<=0?d.domain()[1]>=0?0:d.domain()[1]:d.domain()[0])}).apply(this,[b.values])});var E=C.selectAll("path.nv-line").data(function(a){return[a.values]});E.enter().append("path").attr("class","nv-line").attr("d",d3.svg.line().interpolate(q).defined(n).x(function(b,c){return a.utils.NaNtoZero(t(l(b,c)))}).y(function(b,c){return a.utils.NaNtoZero(u(m(b,c)))})),E.watchTransition(v,"line: linePaths").attr("d",d3.svg.line().interpolate(q).defined(n).x(function(b,d){return a.utils.NaNtoZero(c(l(b,d)))}).y(function(b,c){return a.utils.NaNtoZero(d(m(b,c)))})),t=c.copy(),u=d.copy()}),v.renderEnd("line immediate"),b}var c,d,e=a.models.scatter(),f={top:0,right:0,bottom:0,left:0},g=960,h=500,i=null,j=1.5,k=a.utils.defaultColor(),l=function(a){return a.x},m=function(a){return a.y},n=function(a,b){return!isNaN(m(a,b))&&null!==m(a,b)},o=function(a){return a.area},p=!1,q="linear",r=250,s=d3.dispatch("elementClick","elementMouseover","elementMouseout","renderEnd");e.pointSize(16).pointDomain([16,256]);var t,u,v=a.utils.renderWatch(s,r);return b.dispatch=s,b.scatter=e,e.dispatch.on("elementClick",function(){s.elementClick.apply(this,arguments)}),e.dispatch.on("elementMouseover",function(){s.elementMouseover.apply(this,arguments)}),e.dispatch.on("elementMouseout",function(){s.elementMouseout.apply(this,arguments)}),b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},defined:{get:function(){return n},set:function(a){n=a}},interpolate:{get:function(){return q},set:function(a){q=a}},clipEdge:{get:function(){return p},set:function(a){p=a}},margin:{get:function(){return f},set:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}},duration:{get:function(){return r},set:function(a){r=a,v.reset(r),e.duration(r)}},isArea:{get:function(){return o},set:function(a){o=d3.functor(a)}},x:{get:function(){return l},set:function(a){l=a,e.x(a)}},y:{get:function(){return m},set:function(a){m=a,e.y(a)}},color:{get:function(){return k},set:function(b){k=a.utils.getColor(b),e.color(k)}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.lineChart=function(){"use strict";function b(j){return B.reset(),B.models(e),r&&B.models(f),s&&B.models(g),j.each(function(j){function y(){r&&L.select(".nv-focus .nv-x.nv-axis").transition().duration(A).call(f)}function B(){s&&L.select(".nv-focus .nv-y.nv-axis").transition().duration(A).call(g)}function E(a){var b=L.select(".nv-focus .nv-linesWrap").datum(j.filter(function(a){return!a.disabled}).map(function(b,c){return{key:b.key,area:b.area,classed:b.classed,values:b.values.filter(function(b,c){return e.x()(b,c)>=a[0]&&e.x()(b,c)<=a[1]}),disableTooltip:b.disableTooltip}}));b.transition().duration(A).call(e),y(),B()}var F=d3.select(this);a.utils.initSVG(F);var G=a.utils.availableWidth(n,F,l),H=a.utils.availableHeight(o,F,l)-(v?k.height():0);if(b.update=function(){0===A?F.call(b):F.transition().duration(A).call(b)},b.container=this,w.setter(D(j),b.update).getter(C(j)).update(),w.disabled=j.map(function(a){return!!a.disabled}),!x){var I;x={};for(I in w)w[I]instanceof Array?x[I]=w[I].slice(0):x[I]=w[I]}if(!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.utils.noData(b,F),b;F.selectAll(".nv-noData").remove(),k.dispatch.on("onBrush",function(a){E(a)}),c=e.xScale(),d=e.yScale();var J=F.selectAll("g.nv-wrap.nv-lineChart").data([j]),K=J.enter().append("g").attr("class","nvd3 nv-wrap nv-lineChart").append("g"),L=J.select("g");K.append("g").attr("class","nv-legendWrap");var M=K.append("g").attr("class","nv-focus");M.append("g").attr("class","nv-background").append("rect"),M.append("g").attr("class","nv-x nv-axis"),M.append("g").attr("class","nv-y nv-axis"),M.append("g").attr("class","nv-linesWrap"),M.append("g").attr("class","nv-interactive");K.append("g").attr("class","nv-focusWrap");p?(h.width(G),L.select(".nv-legendWrap").datum(j).call(h),"bottom"===q?J.select(".nv-legendWrap").attr("transform","translate(0,"+H+")"):"top"===q&&(h.height()>l.top&&(l.top=h.height(),H=a.utils.availableHeight(o,F,l)-(v?k.height():0)),J.select(".nv-legendWrap").attr("transform","translate(0,"+-l.top+")"))):L.select(".nv-legendWrap").selectAll("*").remove(),J.attr("transform","translate("+l.left+","+l.top+")"),t&&L.select(".nv-y.nv-axis").attr("transform","translate("+G+",0)"),u&&(i.width(G).height(H).margin({left:l.left,top:l.top}).svgContainer(F).xScale(c),J.select(".nv-interactive").call(i)),L.select(".nv-focus .nv-background rect").attr("width",G).attr("height",H),e.width(G).height(H).color(j.map(function(a,b){return a.color||m(a,b)}).filter(function(a,b){return!j[b].disabled}));var N=L.select(".nv-linesWrap").datum(j.filter(function(a){return!a.disabled}));if(r&&f.scale(c)._ticks(a.utils.calcTicksX(G/100,j)).tickSize(-H,0),s&&g.scale(d)._ticks(a.utils.calcTicksY(H/36,j)).tickSize(-G,0),L.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+H+")"),v){k.width(G),L.select(".nv-focusWrap").attr("transform","translate(0,"+(H+l.bottom+k.margin().top)+")").datum(j.filter(function(a){return!a.disabled})).call(k);var O=k.brush.empty()?k.xDomain():k.brush.extent();null!==O&&E(O)}else N.call(e),y(),B();h.dispatch.on("stateChange",function(a){for(var c in a)w[c]=a[c];z.stateChange(w),b.update()}),i.dispatch.on("elementMousemove",function(d){e.clearHighlights();var f,h,l,n=[];if(j.filter(function(a,b){return a.seriesIndex=b,!a.disabled&&!a.disableTooltip}).forEach(function(g,i){var j=v?k.brush.empty()?k.xScale().domain():k.brush.extent():c.domain(),o=g.values.filter(function(a,b){return e.x()(a,b)>=j[0]&&e.x()(a,b)<=j[1]});h=a.interactiveBisect(o,d.pointXValue,e.x());var p=o[h],q=b.y()(p,h);null!==q&&e.highlightPoint(g.seriesIndex,h,!0),void 0!==p&&(void 0===f&&(f=p),void 0===l&&(l=b.xScale()(b.x()(p,h))),n.push({key:g.key,value:q,color:m(g,g.seriesIndex),data:p}))}),n.length>2){var o=b.yScale().invert(d.mouseY),p=Math.abs(b.yScale().domain()[0]-b.yScale().domain()[1]),q=.03*p,r=a.nearestValueIndex(n.map(function(a){return a.value}),o,q);null!==r&&(n[r].highlight=!0)}var s=function(a,b){return null==a?"N/A":g.tickFormat()(a)};i.tooltip.valueFormatter(i.tooltip.valueFormatter()||s).data({value:b.x()(f,h),index:h,series:n})(),i.renderGuideLine(l)}),i.dispatch.on("elementClick",function(c){var d,f=[];j.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(e){var g=a.interactiveBisect(e.values,c.pointXValue,b.x()),h=e.values[g];if("undefined"!=typeof h){"undefined"==typeof d&&(d=b.xScale()(b.x()(h,g)));var i=b.yScale()(b.y()(h,g));f.push({point:h,pointIndex:g,pos:[d,i],seriesIndex:e.seriesIndex,series:e})}}),e.dispatch.elementClick(f)}),i.dispatch.on("elementMouseout",function(a){e.clearHighlights()}),z.on("changeState",function(a){"undefined"!=typeof a.disabled&&j.length===a.disabled.length&&(j.forEach(function(b,c){b.disabled=a.disabled[c]}),w.disabled=a.disabled),b.update()})}),B.renderEnd("lineChart immediate"),b}var c,d,e=a.models.line(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend(),i=a.interactiveGuideline(),j=a.models.tooltip(),k=a.models.focus(a.models.line()),l={top:30,right:20,bottom:50,left:60},m=a.utils.defaultColor(),n=null,o=null,p=!0,q="top",r=!0,s=!0,t=!1,u=!1,v=!1,w=a.utils.state(),x=null,y=null,z=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd"),A=250;f.orient("bottom").tickPadding(7),g.orient(t?"right":"left"),e.clipEdge(!0).duration(0),j.valueFormatter(function(a,b){return g.tickFormat()(a,b)}).headerFormatter(function(a,b){return f.tickFormat()(a,b)}),i.tooltip.valueFormatter(function(a,b){return g.tickFormat()(a,b)}).headerFormatter(function(a,b){return f.tickFormat()(a,b)});var B=a.utils.renderWatch(z,A),C=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},D=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return e.dispatch.on("elementMouseover.tooltip",function(a){a.series.disableTooltip||j.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(a){j.hidden(!0)}),b.dispatch=z,b.lines=e,b.legend=h,b.focus=k,b.xAxis=f,b.x2Axis=k.xAxis,b.yAxis=g,b.y2Axis=k.yAxis,b.interactiveLayer=i,b.tooltip=j,b.state=w,b.dispatch=z,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return n},set:function(a){n=a}},height:{get:function(){return o},set:function(a){o=a}},showLegend:{get:function(){return p},set:function(a){p=a}},legendPosition:{get:function(){return q},set:function(a){q=a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:function(a){s=a}},defaultState:{get:function(){return x},set:function(a){x=a}},noData:{get:function(){return y},set:function(a){y=a}},focusEnable:{get:function(){return v},set:function(a){v=a}},focusHeight:{get:function(){return k.height()},set:function(a){k.height(a)}},focusShowAxisX:{get:function(){return k.showXAxis()},set:function(a){k.showXAxis(a)}},focusShowAxisY:{get:function(){return k.showYAxis()},set:function(a){k.showYAxis(a)}},brushExtent:{get:function(){return k.brushExtent()},set:function(a){k.brushExtent(a)}},focusMargin:{get:function(){return k.margin},set:function(a){k.margin.top=void 0!==a.top?a.top:k.margin.top,k.margin.right=void 0!==a.right?a.right:k.margin.right,k.margin.bottom=void 0!==a.bottom?a.bottom:k.margin.bottom,k.margin.left=void 0!==a.left?a.left:k.margin.left}},margin:{get:function(){return l},set:function(a){l.top=void 0!==a.top?a.top:l.top,l.right=void 0!==a.right?a.right:l.right,l.bottom=void 0!==a.bottom?a.bottom:l.bottom,l.left=void 0!==a.left?a.left:l.left}},duration:{get:function(){return A},set:function(a){A=a,B.reset(A),e.duration(A),k.duration(A),f.duration(A),g.duration(A)}},color:{get:function(){return m},set:function(b){m=a.utils.getColor(b),h.color(m),e.color(m),k.color(m)}},interpolate:{get:function(){return e.interpolate()},set:function(a){e.interpolate(a),k.interpolate(a)}},xTickFormat:{get:function(){return f.tickFormat()},set:function(a){f.tickFormat(a),k.xTickFormat(a)}},yTickFormat:{get:function(){return g.tickFormat()},set:function(a){g.tickFormat(a),k.yTickFormat(a)}},x:{get:function(){return e.x()},set:function(a){e.x(a),k.x(a)}},y:{get:function(){return e.y()},set:function(a){e.y(a),k.y(a)}},rightAlignYAxis:{get:function(){return t},set:function(a){t=a,g.orient(t?"right":"left")}},useInteractiveGuideline:{get:function(){return u},set:function(a){u=a,u&&(e.interactive(!1),e.useVoronoi(!1))}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.lineWithFocusChart=function(){return a.models.lineChart().margin({bottom:30}).focusEnable(!0)},a.models.linePlusBarChart=function(){"use strict";function b(v){return v.each(function(v){function J(a){var b=+("e"==a),c=b?1:-1,d=Z/3;return"M"+.5*c+","+d+"A6,6 0 0 "+b+" "+6.5*c+","+(d+6)+"V"+(2*d-6)+"A6,6 0 0 "+b+" "+.5*c+","+2*d+"ZM"+2.5*c+","+(d+8)+"V"+(2*d-8)+"M"+4.5*c+","+(d+8)+"V"+(2*d-8)}function R(){u.empty()||u.extent(I),ma.data([u.empty()?e.domain():I]).each(function(a,b){var c=e(a[0])-e.range()[0],d=e.range()[1]-e(a[1]);d3.select(this).select(".left").attr("width",c<0?0:c),d3.select(this).select(".right").attr("x",e(a[1])).attr("width",d<0?0:d)})}function S(){I=u.empty()?null:u.extent(),c=u.empty()?e.domain():u.extent(),K.brush({extent:c,brush:u}),R(),l.width(X).height(Y).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&v[b].bar})),j.width(X).height(Y).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&!v[b].bar}));var b=fa.select(".nv-focus .nv-barsWrap").datum(_.length?_.map(function(a,b){return{key:a.key,values:a.values.filter(function(a,b){return l.x()(a,b)>=c[0]&&l.x()(a,b)<=c[1]})}}):[{values:[]}]),h=fa.select(".nv-focus .nv-linesWrap").datum(V(aa)?[{values:[]}]:aa.filter(function(a){return!a.disabled}).map(function(a,b){return{area:a.area,fillOpacity:a.fillOpacity,strokeWidth:a.strokeWidth,key:a.key,values:a.values.filter(function(a,b){return j.x()(a,b)>=c[0]&&j.x()(a,b)<=c[1]})}}));d=_.length&&!Q?l.xScale():j.xScale(),n.scale(d)._ticks(a.utils.calcTicksX(X/100,v)).tickSize(-Y,0),n.domain([Math.ceil(c[0]),Math.floor(c[1])]),fa.select(".nv-x.nv-axis").transition().duration(L).call(n),b.transition().duration(L).call(l),h.transition().duration(L).call(j),fa.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+f.range()[0]+")"),p.scale(f)._ticks(a.utils.calcTicksY(Y/36,v)).tickSize(-X,0),q.scale(g)._ticks(a.utils.calcTicksY(Y/36,v)),Q?q.tickSize(aa.length?0:-X,0):q.tickSize(_.length?0:-X,0);var i=_.length?1:0,k=aa.length&&!V(aa)?1:0,m=Q?k:i,o=Q?i:k;fa.select(".nv-focus .nv-y1.nv-axis").style("opacity",m),fa.select(".nv-focus .nv-y2.nv-axis").style("opacity",o).attr("transform","translate("+d.range()[1]+",0)"),fa.select(".nv-focus .nv-y1.nv-axis").transition().duration(L).call(p),fa.select(".nv-focus .nv-y2.nv-axis").transition().duration(L).call(q)}var W=d3.select(this);a.utils.initSVG(W);var X=a.utils.availableWidth(y,W,w),Y=a.utils.availableHeight(z,W,w)-(E?H:0),Z=H-x.top-x.bottom;if(b.update=function(){W.transition().duration(L).call(b)},b.container=this,M.setter(U(v),b.update).getter(T(v)).update(),M.disabled=v.map(function(a){return!!a.disabled}),!N){var $;N={};for($ in M)M[$]instanceof Array?N[$]=M[$].slice(0):N[$]=M[$]}if(!(v&&v.length&&v.filter(function(a){return a.values.length}).length))return a.utils.noData(b,W),b;W.selectAll(".nv-noData").remove();var _=v.filter(function(a){return!a.disabled&&a.bar}),aa=v.filter(function(a){return!a.bar});d=_.length&&!Q?l.xScale():j.xScale(),e=o.scale(),f=Q?j.yScale():l.yScale(),g=Q?l.yScale():j.yScale(),h=Q?k.yScale():m.yScale(),i=Q?m.yScale():k.yScale();var ba=v.filter(function(a){return!a.disabled&&(Q?!a.bar:a.bar)}).map(function(a){return a.values.map(function(a,b){return{x:A(a,b),y:B(a,b)}})}),ca=v.filter(function(a){return!a.disabled&&(Q?a.bar:!a.bar)}).map(function(a){return a.values.map(function(a,b){return{x:A(a,b),y:B(a,b)}})});d.range([0,X]),e.domain(d3.extent(d3.merge(ba.concat(ca)),function(a){return a.x})).range([0,X]);var da=W.selectAll("g.nv-wrap.nv-linePlusBar").data([v]),ea=da.enter().append("g").attr("class","nvd3 nv-wrap nv-linePlusBar").append("g"),fa=da.select("g");ea.append("g").attr("class","nv-legendWrap");var ga=ea.append("g").attr("class","nv-focus");ga.append("g").attr("class","nv-x nv-axis"),ga.append("g").attr("class","nv-y1 nv-axis"),ga.append("g").attr("class","nv-y2 nv-axis"),ga.append("g").attr("class","nv-barsWrap"),ga.append("g").attr("class","nv-linesWrap");var ha=ea.append("g").attr("class","nv-context");if(ha.append("g").attr("class","nv-x nv-axis"),ha.append("g").attr("class","nv-y1 nv-axis"),ha.append("g").attr("class","nv-y2 nv-axis"),ha.append("g").attr("class","nv-barsWrap"),ha.append("g").attr("class","nv-linesWrap"),ha.append("g").attr("class","nv-brushBackground"),ha.append("g").attr("class","nv-x nv-brush"),D){var ia=t.align()?X/2:X,ja=t.align()?ia:0;t.width(ia),fa.select(".nv-legendWrap").datum(v.map(function(a){return a.originalKey=void 0===a.originalKey?a.key:a.originalKey,Q?a.key=a.originalKey+(a.bar?P:O):a.key=a.originalKey+(a.bar?O:P),a})).call(t),t.height()>w.top&&(w.top=t.height(),Y=a.utils.availableHeight(z,W,w)-H),fa.select(".nv-legendWrap").attr("transform","translate("+ja+","+-w.top+")")}else fa.select(".nv-legendWrap").selectAll("*").remove();da.attr("transform","translate("+w.left+","+w.top+")"),fa.select(".nv-context").style("display",E?"initial":"none"),m.width(X).height(Z).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&v[b].bar})),k.width(X).height(Z).color(v.map(function(a,b){return a.color||C(a,b)}).filter(function(a,b){return!v[b].disabled&&!v[b].bar}));var ka=fa.select(".nv-context .nv-barsWrap").datum(_.length?_:[{values:[]}]),la=fa.select(".nv-context .nv-linesWrap").datum(V(aa)?[{values:[]}]:aa.filter(function(a){return!a.disabled}));fa.select(".nv-context").attr("transform","translate(0,"+(Y+w.bottom+x.top)+")"),ka.transition().call(m),la.transition().call(k),G&&(o._ticks(a.utils.calcTicksX(X/100,v)).tickSize(-Z,0),fa.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+h.range()[0]+")"),fa.select(".nv-context .nv-x.nv-axis").transition().call(o)),F&&(r.scale(h)._ticks(Z/36).tickSize(-X,0),s.scale(i)._ticks(Z/36).tickSize(_.length?0:-X,0),fa.select(".nv-context .nv-y3.nv-axis").style("opacity",_.length?1:0).attr("transform","translate(0,"+e.range()[0]+")"),fa.select(".nv-context .nv-y2.nv-axis").style("opacity",aa.length?1:0).attr("transform","translate("+e.range()[1]+",0)"),fa.select(".nv-context .nv-y1.nv-axis").transition().call(r),fa.select(".nv-context .nv-y2.nv-axis").transition().call(s)),u.x(e).on("brush",S),I&&u.extent(I);var ma=fa.select(".nv-brushBackground").selectAll("g").data([I||u.extent()]),na=ma.enter().append("g");na.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",Z),na.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",Z);var oa=fa.select(".nv-x.nv-brush").call(u);oa.selectAll("rect").attr("height",Z),oa.selectAll(".resize").append("path").attr("d",J),t.dispatch.on("stateChange",function(a){for(var c in a)M[c]=a[c];K.stateChange(M),b.update()}),K.on("changeState",function(a){"undefined"!=typeof a.disabled&&(v.forEach(function(b,c){b.disabled=a.disabled[c]}),M.disabled=a.disabled),b.update()}),S()}),b}var c,d,e,f,g,h,i,j=a.models.line(),k=a.models.line(),l=a.models.historicalBar(),m=a.models.historicalBar(),n=a.models.axis(),o=a.models.axis(),p=a.models.axis(),q=a.models.axis(),r=a.models.axis(),s=a.models.axis(),t=a.models.legend(),u=d3.svg.brush(),v=a.models.tooltip(),w={top:30,right:30,bottom:30,left:60},x={top:0,right:30,bottom:20,left:60},y=null,z=null,A=function(a){return a.x},B=function(a){return a.y},C=a.utils.defaultColor(),D=!0,E=!0,F=!1,G=!0,H=50,I=null,J=null,K=d3.dispatch("brush","stateChange","changeState"),L=0,M=a.utils.state(),N=null,O=" (left axis)",P=" (right axis)",Q=!1;j.clipEdge(!0),k.interactive(!1),k.pointActive(function(a){return!1}),n.orient("bottom").tickPadding(5),p.orient("left"),q.orient("right"),o.orient("bottom").tickPadding(5),r.orient("left"),s.orient("right"),v.headerEnabled(!0).headerFormatter(function(a,b){return n.tickFormat()(a,b)});var R=function(){return Q?{main:q,focus:s}:{main:p,focus:r}},S=function(){return Q?{main:p,focus:r}:{main:q,focus:s}},T=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},U=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}},V=function(a){return a.every(function(a){return a.disabled})};return j.dispatch.on("elementMouseover.tooltip",function(a){v.duration(100).valueFormatter(function(a,b){return S().main.tickFormat()(a,b)}).data(a).hidden(!1)}),j.dispatch.on("elementMouseout.tooltip",function(a){v.hidden(!0)}),l.dispatch.on("elementMouseover.tooltip",function(a){a.value=b.x()(a.data),a.series={value:b.y()(a.data),color:a.color},v.duration(0).valueFormatter(function(a,b){return R().main.tickFormat()(a,b)}).data(a).hidden(!1)}),l.dispatch.on("elementMouseout.tooltip",function(a){v.hidden(!0)}),l.dispatch.on("elementMousemove.tooltip",function(a){v()}),b.dispatch=K,b.legend=t,b.lines=j,b.lines2=k,b.bars=l,b.bars2=m,b.xAxis=n,b.x2Axis=o,b.y1Axis=p,b.y2Axis=q,b.y3Axis=r,b.y4Axis=s,b.tooltip=v,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return y},set:function(a){y=a}},height:{get:function(){return z},set:function(a){z=a}},showLegend:{get:function(){return D},set:function(a){D=a}},brushExtent:{get:function(){return I},set:function(a){I=a}},noData:{get:function(){return J},set:function(a){J=a}},focusEnable:{get:function(){return E},set:function(a){E=a}},focusHeight:{get:function(){return H},set:function(a){H=a}},focusShowAxisX:{get:function(){return G},set:function(a){G=a}},focusShowAxisY:{get:function(){return F},set:function(a){F=a}},legendLeftAxisHint:{get:function(){return O},set:function(a){O=a}},legendRightAxisHint:{get:function(){return P},set:function(a){P=a}},margin:{get:function(){return w},set:function(a){w.top=void 0!==a.top?a.top:w.top,w.right=void 0!==a.right?a.right:w.right,w.bottom=void 0!==a.bottom?a.bottom:w.bottom,w.left=void 0!==a.left?a.left:w.left}},focusMargin:{get:function(){return x},set:function(a){x.top=void 0!==a.top?a.top:x.top,x.right=void 0!==a.right?a.right:x.right,x.bottom=void 0!==a.bottom?a.bottom:x.bottom,x.left=void 0!==a.left?a.left:x.left}},duration:{get:function(){return L},set:function(a){L=a}},color:{get:function(){return C},set:function(b){C=a.utils.getColor(b),t.color(C)}},x:{get:function(){return A},set:function(a){A=a,j.x(a),k.x(a),l.x(a),m.x(a)}},y:{get:function(){return B},set:function(a){B=a,j.y(a),k.y(a),l.y(a),m.y(a)}},switchYAxisOrder:{get:function(){return Q},set:function(a){if(Q!==a){var b=p;p=q,q=b;var c=r;r=s,s=c}Q=a,p.orient("left"),q.orient("right"),r.orient("left"),s.orient("right")}}}),a.utils.inheritOptions(b,j),a.utils.initOptions(b),b},a.models.multiBar=function(){"use strict";function b(F){return D.reset(),F.each(function(b){var F=k-j.left-j.right,G=l-j.top-j.bottom;p=d3.select(this),a.utils.initSVG(p);var H=0;if(x&&b.length&&(x=[{values:b[0].values.map(function(a){return{x:a.x,y:0,series:a.series,size:.01}})}]),u){var I=d3.layout.stack().offset(v).values(function(a){return a.values}).y(r)(!b.length&&x?x:b);I.forEach(function(a,c){a.nonStackable?(b[c].nonStackableSeries=H++,I[c]=b[c]):c>0&&I[c-1].nonStackable&&I[c].values.map(function(a,b){a.y0-=I[c-1].values[b].y,a.y1=a.y0+a.y})}),b=I}b.forEach(function(a,b){a.values.forEach(function(c){c.series=b,c.key=a.key})}),u&&b.length>0&&b[0].values.map(function(a,c){var d=0,e=0;b.map(function(a,f){if(!b[f].nonStackable){var g=a.values[c];g.size=Math.abs(g.y),g.y<0?(g.y1=e,e-=g.size):(g.y1=g.size+d,d+=g.size)}})});var J=d&&e?[]:b.map(function(a,b){return a.values.map(function(a,c){return{x:q(a,c),y:r(a,c),y0:a.y0,y1:a.y1,idx:b}})});m.domain(d||d3.merge(J).map(function(a){return a.x})).rangeBands(f||[0,F],A),n.domain(e||d3.extent(d3.merge(J).map(function(a){var c=a.y;return u&&!b[a.idx].nonStackable&&(c=a.y>0?a.y1:a.y1+a.y),c}).concat(s))).range(g||[G,0]),m.domain()[0]===m.domain()[1]&&(m.domain()[0]?m.domain([m.domain()[0]-.01*m.domain()[0],m.domain()[1]+.01*m.domain()[1]]):m.domain([-1,1])),n.domain()[0]===n.domain()[1]&&(n.domain()[0]?n.domain([n.domain()[0]+.01*n.domain()[0],n.domain()[1]-.01*n.domain()[1]]):n.domain([-1,1])),h=h||m,i=i||n;var K=p.selectAll("g.nv-wrap.nv-multibar").data([b]),L=K.enter().append("g").attr("class","nvd3 nv-wrap nv-multibar"),M=L.append("defs"),N=L.append("g"),O=K.select("g");N.append("g").attr("class","nv-groups"),K.attr("transform","translate("+j.left+","+j.top+")"),M.append("clipPath").attr("id","nv-edge-clip-"+o).append("rect"),
+K.select("#nv-edge-clip-"+o+" rect").attr("width",F).attr("height",G),O.attr("clip-path",t?"url(#nv-edge-clip-"+o+")":"");var P=K.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a,b){return b});P.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);var Q=D.transition(P.exit().selectAll("rect.nv-bar"),"multibarExit",Math.min(100,z)).attr("y",function(a,c,d){var e=i(0)||0;return u&&b[a.series]&&!b[a.series].nonStackable&&(e=i(a.y0)),e}).attr("height",0).remove();Q.delay&&Q.delay(function(a,b){var c=b*(z/(E+1))-b;return c}),P.attr("class",function(a,b){return"nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}).style("fill",function(a,b){return w(a,b)}).style("stroke",function(a,b){return w(a,b)}),P.style("stroke-opacity",1).style("fill-opacity",B);var R=P.selectAll("rect.nv-bar").data(function(a){return x&&!b.length?x.values:a.values});R.exit().remove();R.enter().append("rect").attr("class",function(a,b){return r(a,b)<0?"nv-bar negative":"nv-bar positive"}).attr("x",function(a,c,d){return u&&!b[d].nonStackable?0:d*m.rangeBand()/b.length}).attr("y",function(a,c,d){return i(u&&!b[d].nonStackable?a.y0:0)||0}).attr("height",0).attr("width",function(a,c,d){return m.rangeBand()/(u&&!b[d].nonStackable?1:b.length)}).attr("transform",function(a,b){return"translate("+m(q(a,b))+",0)"});R.style("fill",function(a,b,c){return w(a,c,b)}).style("stroke",function(a,b,c){return w(a,c,b)}).on("mouseover",function(a,b){d3.select(this).classed("hover",!0),C.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),C.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mousemove",function(a,b){C.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){var c=this;C.elementClick({data:a,index:b,color:d3.select(this).style("fill"),event:d3.event,element:c}),d3.event.stopPropagation()}).on("dblclick",function(a,b){C.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}),R.attr("class",function(a,b){return r(a,b)<0?"nv-bar negative":"nv-bar positive"}).attr("transform",function(a,b){return"translate("+m(q(a,b))+",0)"}),y&&(c||(c=b.map(function(){return!0})),R.style("fill",function(a,b,d){return d3.rgb(y(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()}).style("stroke",function(a,b,d){return d3.rgb(y(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()}));var S=R.watchTransition(D,"multibar",Math.min(250,z)).delay(function(a,c){return c*z/b[0].values.length});u?S.attr("y",function(a,c,d){var e=0;return e=b[d].nonStackable?r(a,c)<0?n(0):n(0)-n(r(a,c))<-1?n(0)-1:n(r(a,c))||0:n(a.y1)}).attr("height",function(a,c,d){return b[d].nonStackable?Math.max(Math.abs(n(r(a,c))-n(0)),0)||0:Math.max(Math.abs(n(a.y+a.y0)-n(a.y0)),0)}).attr("x",function(a,c,d){var e=0;return b[d].nonStackable&&(e=a.series*m.rangeBand()/b.length,b.length!==H&&(e=b[d].nonStackableSeries*m.rangeBand()/(2*H))),e}).attr("width",function(a,c,d){if(b[d].nonStackable){var e=m.rangeBand()/H;return b.length!==H&&(e=m.rangeBand()/(2*H)),e}return m.rangeBand()}):S.attr("x",function(a,c){return a.series*m.rangeBand()/b.length}).attr("width",m.rangeBand()/b.length).attr("y",function(a,b){return r(a,b)<0?n(0):n(0)-n(r(a,b))<1?n(0)-1:n(r(a,b))||0}).attr("height",function(a,b){return Math.max(Math.abs(n(r(a,b))-n(0)),1)||0}),h=m.copy(),i=n.copy(),b[0]&&b[0].values&&(E=b[0].values.length)}),D.renderEnd("multibar immediate"),b}var c,d,e,f,g,h,i,j={top:0,right:0,bottom:0,left:0},k=960,l=500,m=d3.scale.ordinal(),n=d3.scale.linear(),o=Math.floor(1e4*Math.random()),p=null,q=function(a){return a.x},r=function(a){return a.y},s=[0],t=!0,u=!1,v="zero",w=a.utils.defaultColor(),x=!1,y=null,z=500,A=.1,B=.75,C=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),D=a.utils.renderWatch(C,z),E=0;return b.dispatch=C,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},x:{get:function(){return q},set:function(a){q=a}},y:{get:function(){return r},set:function(a){r=a}},xScale:{get:function(){return m},set:function(a){m=a}},yScale:{get:function(){return n},set:function(a){n=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},forceY:{get:function(){return s},set:function(a){s=a}},stacked:{get:function(){return u},set:function(a){u=a}},stackOffset:{get:function(){return v},set:function(a){v=a}},clipEdge:{get:function(){return t},set:function(a){t=a}},disabled:{get:function(){return c},set:function(a){c=a}},id:{get:function(){return o},set:function(a){o=a}},hideable:{get:function(){return x},set:function(a){x=a}},groupSpacing:{get:function(){return A},set:function(a){A=a}},fillOpacity:{get:function(){return B},set:function(a){B=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},duration:{get:function(){return z},set:function(a){z=a,D.reset(z)}},color:{get:function(){return w},set:function(b){w=a.utils.getColor(b)}},barColor:{get:function(){return y},set:function(b){y=b?a.utils.getColor(b):null}}}),a.utils.initOptions(b),b},a.models.multiBarChart=function(){"use strict";function b(B){return G.reset(),G.models(e),s&&G.models(f),t&&G.models(g),B.each(function(B){var G=d3.select(this);a.utils.initSVG(G);var K=a.utils.availableWidth(m,G,l),L=a.utils.availableHeight(n,G,l);if(b.update=function(){0===E?G.call(b):G.transition().duration(E).call(b)},b.container=this,z.setter(J(B),b.update).getter(I(B)).update(),z.disabled=B.map(function(a){return!!a.disabled}),!A){var M;A={};for(M in z)z[M]instanceof Array?A[M]=z[M].slice(0):A[M]=z[M]}if(!(B&&B.length&&B.filter(function(a){return a.values.length}).length))return a.utils.noData(b,G),b;G.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale();var N=G.selectAll("g.nv-wrap.nv-multiBarWithLegend").data([B]),O=N.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarWithLegend").append("g"),P=N.select("g");if(O.append("g").attr("class","nv-x nv-axis"),O.append("g").attr("class","nv-y nv-axis"),O.append("g").attr("class","nv-barsWrap"),O.append("g").attr("class","nv-legendWrap"),O.append("g").attr("class","nv-controlsWrap"),O.append("g").attr("class","nv-interactive"),r?(i.width(K-D()),P.select(".nv-legendWrap").datum(B).call(i),i.height()>l.top&&(l.top=i.height(),L=a.utils.availableHeight(n,G,l)),P.select(".nv-legendWrap").attr("transform","translate("+D()+","+-l.top+")")):P.select(".nv-legendWrap").selectAll("*").remove(),p){var Q=[{key:q.grouped||"Grouped",disabled:e.stacked()},{key:q.stacked||"Stacked",disabled:!e.stacked()}];j.width(D()).color(["#444","#444","#444"]),P.select(".nv-controlsWrap").datum(Q).attr("transform","translate(0,"+-l.top+")").call(j)}else P.select(".nv-controlsWrap").selectAll("*").remove();N.attr("transform","translate("+l.left+","+l.top+")"),u&&P.select(".nv-y.nv-axis").attr("transform","translate("+K+",0)"),e.disabled(B.map(function(a){return a.disabled})).width(K).height(L).color(B.map(function(a,b){return a.color||o(a,b)}).filter(function(a,b){return!B[b].disabled}));var R=P.select(".nv-barsWrap").datum(B.filter(function(a){return!a.disabled}));if(R.call(e),s){f.scale(c)._ticks(a.utils.calcTicksX(K/100,B)).tickSize(-L,0),P.select(".nv-x.nv-axis").attr("transform","translate(0,"+d.range()[0]+")"),P.select(".nv-x.nv-axis").call(f);var S=P.select(".nv-x.nv-axis > g").selectAll("g");if(S.selectAll("line, text").style("opacity",1),w){var T=function(a,b){return"translate("+a+","+b+")"},U=5,V=17;S.selectAll("text").attr("transform",function(a,b,c){return T(0,c%2==0?U:V)});var W=d3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;P.selectAll(".nv-x.nv-axis .nv-axisMaxMin text").attr("transform",function(a,b){return T(0,0===b||W%2!==0?V:U)})}x&&P.selectAll(".tick text").call(a.utils.wrapTicks,b.xAxis.rangeBand()),v&&S.filter(function(a,b){return b%Math.ceil(B[0].values.length/(K/100))!==0}).selectAll("text, line").style("opacity",0),y&&S.selectAll(".tick text").attr("transform","rotate("+y+" 0,0)").style("text-anchor",y>0?"start":"end"),P.select(".nv-x.nv-axis").selectAll("g.nv-axisMaxMin text").style("opacity",1)}t&&(g.scale(d)._ticks(a.utils.calcTicksY(L/36,B)).tickSize(-K,0),P.select(".nv-y.nv-axis").call(g)),F&&(h.width(K).height(L).margin({left:l.left,top:l.top}).svgContainer(G).xScale(c),N.select(".nv-interactive").call(h)),i.dispatch.on("stateChange",function(a){for(var c in a)z[c]=a[c];C.stateChange(z),b.update()}),j.dispatch.on("legendClick",function(a,c){if(a.disabled){switch(Q=Q.map(function(a){return a.disabled=!0,a}),a.disabled=!1,a.key){case"Grouped":case q.grouped:e.stacked(!1);break;case"Stacked":case q.stacked:e.stacked(!0)}z.stacked=e.stacked(),C.stateChange(z),b.update()}}),C.on("changeState",function(a){"undefined"!=typeof a.disabled&&(B.forEach(function(b,c){b.disabled=a.disabled[c]}),z.disabled=a.disabled),"undefined"!=typeof a.stacked&&(e.stacked(a.stacked),z.stacked=a.stacked,H=a.stacked),b.update()}),F?(h.dispatch.on("elementMousemove",function(a){if(void 0!=a.pointXValue){var d,e,f,g,i=[];B.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(h,j){e=c.domain().indexOf(a.pointXValue);var k=h.values[e];void 0!==k&&(g=k.x,void 0===d&&(d=k),void 0===f&&(f=a.mouseX),i.push({key:h.key,value:b.y()(k,e),color:o(h,h.seriesIndex),data:h.values[e]}))}),h.tooltip.data({value:g,index:e,series:i})(),h.renderGuideLine(f)}}),h.dispatch.on("elementMouseout",function(a){h.tooltip.hidden(!0)})):(e.dispatch.on("elementMouseover.tooltip",function(a){a.value=b.x()(a.data),a.series={key:a.data.key,value:b.y()(a.data),color:a.color},k.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(a){k.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(a){k()}))}),G.renderEnd("multibarchart immediate"),b}var c,d,e=a.models.multiBar(),f=a.models.axis(),g=a.models.axis(),h=a.interactiveGuideline(),i=a.models.legend(),j=a.models.legend(),k=a.models.tooltip(),l={top:30,right:20,bottom:50,left:60},m=null,n=null,o=a.utils.defaultColor(),p=!0,q={},r=!0,s=!0,t=!0,u=!1,v=!0,w=!1,x=!1,y=0,z=a.utils.state(),A=null,B=null,C=d3.dispatch("stateChange","changeState","renderEnd"),D=function(){return p?180:0},E=250,F=!1;z.stacked=!1,e.stacked(!1),f.orient("bottom").tickPadding(7).showMaxMin(!1).tickFormat(function(a){return a}),g.orient(u?"right":"left").tickFormat(d3.format(",.1f")),k.duration(0).valueFormatter(function(a,b){return g.tickFormat()(a,b)}).headerFormatter(function(a,b){return f.tickFormat()(a,b)}),j.updateState(!1);var G=a.utils.renderWatch(C),H=!1,I=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),stacked:H}}},J=function(a){return function(b){void 0!==b.stacked&&(H=b.stacked),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return b.dispatch=C,b.multibar=e,b.legend=i,b.controls=j,b.xAxis=f,b.yAxis=g,b.state=z,b.tooltip=k,b.interactiveLayer=h,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return m},set:function(a){m=a}},height:{get:function(){return n},set:function(a){n=a}},showLegend:{get:function(){return r},set:function(a){r=a}},showControls:{get:function(){return p},set:function(a){p=a}},controlLabels:{get:function(){return q},set:function(a){q=a}},showXAxis:{get:function(){return s},set:function(a){s=a}},showYAxis:{get:function(){return t},set:function(a){t=a}},defaultState:{get:function(){return A},set:function(a){A=a}},noData:{get:function(){return B},set:function(a){B=a}},reduceXTicks:{get:function(){return v},set:function(a){v=a}},rotateLabels:{get:function(){return y},set:function(a){y=a}},staggerLabels:{get:function(){return w},set:function(a){w=a}},wrapLabels:{get:function(){return x},set:function(a){x=!!a}},margin:{get:function(){return l},set:function(a){l.top=void 0!==a.top?a.top:l.top,l.right=void 0!==a.right?a.right:l.right,l.bottom=void 0!==a.bottom?a.bottom:l.bottom,l.left=void 0!==a.left?a.left:l.left}},duration:{get:function(){return E},set:function(a){E=a,e.duration(E),f.duration(E),g.duration(E),G.reset(E)}},color:{get:function(){return o},set:function(b){o=a.utils.getColor(b),i.color(o)}},rightAlignYAxis:{get:function(){return u},set:function(a){u=a,g.orient(u?"right":"left")}},useInteractiveGuideline:{get:function(){return F},set:function(a){F=a}},barColor:{get:function(){return e.barColor},set:function(a){e.barColor(a),i.color(function(a,b){return d3.rgb("#ccc").darker(1.5*b).toString()})}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.multiBarHorizontal=function(){"use strict";function b(m){return F.reset(),m.each(function(b){var m=k-j.left-j.right,D=l-j.top-j.bottom;n=d3.select(this),a.utils.initSVG(n),w&&(b=d3.layout.stack().offset("zero").values(function(a){return a.values}).y(r)(b)),b.forEach(function(a,b){a.values.forEach(function(c){c.series=b,c.key=a.key})}),w&&b[0].values.map(function(a,c){var d=0,e=0;b.map(function(a){var b=a.values[c];b.size=Math.abs(b.y),b.y<0?(b.y1=e-b.size,e-=b.size):(b.y1=d,d+=b.size)})});var G=d&&e?[]:b.map(function(a){return a.values.map(function(a,b){return{x:q(a,b),y:r(a,b),y0:a.y0,y1:a.y1}})});o.domain(d||d3.merge(G).map(function(a){return a.x})).rangeBands(f||[0,D],A),p.domain(e||d3.extent(d3.merge(G).map(function(a){return w?a.y>0?a.y1+a.y:a.y1:a.y}).concat(t))),x&&!w?p.range(g||[p.domain()[0]<0?z:0,m-(p.domain()[1]>0?z:0)]):p.range(g||[0,m]),h=h||o,i=i||d3.scale.linear().domain(p.domain()).range([p(0),p(0)]);var H=d3.select(this).selectAll("g.nv-wrap.nv-multibarHorizontal").data([b]),I=H.enter().append("g").attr("class","nvd3 nv-wrap nv-multibarHorizontal"),J=(I.append("defs"),I.append("g"));H.select("g");J.append("g").attr("class","nv-groups"),H.attr("transform","translate("+j.left+","+j.top+")");var K=H.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a,b){return b});K.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),K.exit().watchTransition(F,"multibarhorizontal: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove(),K.attr("class",function(a,b){return"nv-group nv-series-"+b}).classed("hover",function(a){return a.hover}).style("fill",function(a,b){return u(a,b)}).style("stroke",function(a,b){return u(a,b)}),K.watchTransition(F,"multibarhorizontal: groups").style("stroke-opacity",1).style("fill-opacity",B);var L=K.selectAll("g.nv-bar").data(function(a){return a.values});L.exit().remove();var M=L.enter().append("g").attr("transform",function(a,c,d){return"translate("+i(w?a.y0:0)+","+(w?0:d*o.rangeBand()/b.length+o(q(a,c)))+")"});M.append("rect").attr("width",0).attr("height",o.rangeBand()/(w?1:b.length)),L.on("mouseover",function(a,b){d3.select(this).classed("hover",!0),E.elementMouseover({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),E.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mouseout",function(a,b){E.elementMouseout({data:a,index:b,color:d3.select(this).style("fill")})}).on("mousemove",function(a,b){E.elementMousemove({data:a,index:b,color:d3.select(this).style("fill")})}).on("click",function(a,b){var c=this;E.elementClick({data:a,index:b,color:d3.select(this).style("fill"),event:d3.event,element:c}),d3.event.stopPropagation()}).on("dblclick",function(a,b){E.elementDblClick({data:a,index:b,color:d3.select(this).style("fill")}),d3.event.stopPropagation()}),s(b[0],0)&&(M.append("polyline"),L.select("polyline").attr("fill","none").attr("points",function(a,c){var d=s(a,c),e=.8*o.rangeBand()/(2*(w?1:b.length));d=d.length?d:[-Math.abs(d),Math.abs(d)],d=d.map(function(a){return p(a)-p(0)});var f=[[d[0],-e],[d[0],e],[d[0],0],[d[1],0],[d[1],-e],[d[1],e]];return f.map(function(a){return a.join(",")}).join(" ")}).attr("transform",function(a,c){var d=o.rangeBand()/(2*(w?1:b.length));return"translate("+(r(a,c)<0?0:p(r(a,c))-p(0))+", "+d+")"})),M.append("text"),x&&!w?(L.select("text").attr("text-anchor",function(a,b){return r(a,b)<0?"end":"start"}).attr("y",o.rangeBand()/(2*b.length)).attr("dy",".32em").text(function(a,b){var c=C(r(a,b)),d=s(a,b);return void 0===d?c:d.length?c+"+"+C(Math.abs(d[1]))+"-"+C(Math.abs(d[0])):c+"±"+C(Math.abs(d))}),L.watchTransition(F,"multibarhorizontal: bars").select("text").attr("x",function(a,b){return r(a,b)<0?-4:p(r(a,b))-p(0)+4})):L.selectAll("text").text(""),y&&!w?(M.append("text").classed("nv-bar-label",!0),L.select("text.nv-bar-label").attr("text-anchor",function(a,b){return r(a,b)<0?"start":"end"}).attr("y",o.rangeBand()/(2*b.length)).attr("dy",".32em").text(function(a,b){return q(a,b)}),L.watchTransition(F,"multibarhorizontal: bars").select("text.nv-bar-label").attr("x",function(a,b){return r(a,b)<0?p(0)-p(r(a,b))+4:-4})):L.selectAll("text.nv-bar-label").text(""),L.attr("class",function(a,b){return r(a,b)<0?"nv-bar negative":"nv-bar positive"}),v&&(c||(c=b.map(function(){return!0})),L.style("fill",function(a,b,d){return d3.rgb(v(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()}).style("stroke",function(a,b,d){return d3.rgb(v(a,b)).darker(c.map(function(a,b){return b}).filter(function(a,b){return!c[b]})[d]).toString()})),w?L.watchTransition(F,"multibarhorizontal: bars").attr("transform",function(a,b){return"translate("+p(a.y1)+","+o(q(a,b))+")"}).select("rect").attr("width",function(a,b){return Math.abs(p(r(a,b)+a.y0)-p(a.y0))||0}).attr("height",o.rangeBand()):L.watchTransition(F,"multibarhorizontal: bars").attr("transform",function(a,c){return"translate("+p(r(a,c)<0?r(a,c):0)+","+(a.series*o.rangeBand()/b.length+o(q(a,c)))+")"}).select("rect").attr("height",o.rangeBand()/b.length).attr("width",function(a,b){return Math.max(Math.abs(p(r(a,b))-p(0)),1)||0}),h=o.copy(),i=p.copy()}),F.renderEnd("multibarHorizontal immediate"),b}var c,d,e,f,g,h,i,j={top:0,right:0,bottom:0,left:0},k=960,l=500,m=Math.floor(1e4*Math.random()),n=null,o=d3.scale.ordinal(),p=d3.scale.linear(),q=function(a){return a.x},r=function(a){return a.y},s=function(a){return a.yErr},t=[0],u=a.utils.defaultColor(),v=null,w=!1,x=!1,y=!1,z=60,A=.1,B=.75,C=d3.format(",.2f"),D=250,E=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),F=a.utils.renderWatch(E,D);return b.dispatch=E,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},x:{get:function(){return q},set:function(a){q=a}},y:{get:function(){return r},set:function(a){r=a}},yErr:{get:function(){return s},set:function(a){s=a}},xScale:{get:function(){return o},set:function(a){o=a}},yScale:{get:function(){return p},set:function(a){p=a}},xDomain:{get:function(){return d},set:function(a){d=a}},yDomain:{get:function(){return e},set:function(a){e=a}},xRange:{get:function(){return f},set:function(a){f=a}},yRange:{get:function(){return g},set:function(a){g=a}},forceY:{get:function(){return t},set:function(a){t=a}},stacked:{get:function(){return w},set:function(a){w=a}},showValues:{get:function(){return x},set:function(a){x=a}},disabled:{get:function(){return c},set:function(a){c=a}},id:{get:function(){return m},set:function(a){m=a}},valueFormat:{get:function(){return C},set:function(a){C=a}},valuePadding:{get:function(){return z},set:function(a){z=a}},groupSpacing:{get:function(){return A},set:function(a){A=a}},fillOpacity:{get:function(){return B},set:function(a){B=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},duration:{get:function(){return D},set:function(a){D=a,F.reset(D)}},color:{get:function(){return u},set:function(b){u=a.utils.getColor(b)}},barColor:{get:function(){return v},set:function(b){v=b?a.utils.getColor(b):null}}}),a.utils.initOptions(b),b},a.models.multiBarHorizontalChart=function(){"use strict";function b(j){return C.reset(),C.models(e),r&&C.models(f),s&&C.models(g),j.each(function(j){var w=d3.select(this);a.utils.initSVG(w);var C=a.utils.availableWidth(l,w,k),D=a.utils.availableHeight(m,w,k);if(b.update=function(){w.transition().duration(z).call(b)},b.container=this,t=e.stacked(),u.setter(B(j),b.update).getter(A(j)).update(),u.disabled=j.map(function(a){return!!a.disabled}),!v){var E;v={};for(E in u)u[E]instanceof Array?v[E]=u[E].slice(0):v[E]=u[E]}if(!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.utils.noData(b,w),b;w.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale().clamp(!0);var F=w.selectAll("g.nv-wrap.nv-multiBarHorizontalChart").data([j]),G=F.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarHorizontalChart").append("g"),H=F.select("g");if(G.append("g").attr("class","nv-x nv-axis"),G.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line"),G.append("g").attr("class","nv-barsWrap"),G.append("g").attr("class","nv-legendWrap"),G.append("g").attr("class","nv-controlsWrap"),q?(h.width(C-y()),H.select(".nv-legendWrap").datum(j).call(h),h.height()>k.top&&(k.top=h.height(),D=a.utils.availableHeight(m,w,k)),H.select(".nv-legendWrap").attr("transform","translate("+y()+","+-k.top+")")):H.select(".nv-legendWrap").selectAll("*").remove(),o){var I=[{key:p.grouped||"Grouped",disabled:e.stacked()},{key:p.stacked||"Stacked",disabled:!e.stacked()}];i.width(y()).color(["#444","#444","#444"]),H.select(".nv-controlsWrap").datum(I).attr("transform","translate(0,"+-k.top+")").call(i)}else H.select(".nv-controlsWrap").selectAll("*").remove();F.attr("transform","translate("+k.left+","+k.top+")"),e.disabled(j.map(function(a){return a.disabled})).width(C).height(D).color(j.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!j[b].disabled}));var J=H.select(".nv-barsWrap").datum(j.filter(function(a){return!a.disabled}));if(J.transition().call(e),r){f.scale(c)._ticks(a.utils.calcTicksY(D/24,j)).tickSize(-C,0),H.select(".nv-x.nv-axis").call(f);var K=H.select(".nv-x.nv-axis").selectAll("g");K.selectAll("line, text")}s&&(g.scale(d)._ticks(a.utils.calcTicksX(C/100,j)).tickSize(-D,0),H.select(".nv-y.nv-axis").attr("transform","translate(0,"+D+")"),H.select(".nv-y.nv-axis").call(g)),H.select(".nv-zeroLine line").attr("x1",d(0)).attr("x2",d(0)).attr("y1",0).attr("y2",-D),h.dispatch.on("stateChange",function(a){for(var c in a)u[c]=a[c];x.stateChange(u),b.update()}),i.dispatch.on("legendClick",function(a,c){if(a.disabled){switch(I=I.map(function(a){return a.disabled=!0,a}),a.disabled=!1,a.key){case"Grouped":case p.grouped:e.stacked(!1);break;case"Stacked":case p.stacked:e.stacked(!0)}u.stacked=e.stacked(),x.stateChange(u),t=e.stacked(),b.update()}}),x.on("changeState",function(a){"undefined"!=typeof a.disabled&&(j.forEach(function(b,c){b.disabled=a.disabled[c]}),u.disabled=a.disabled),"undefined"!=typeof a.stacked&&(e.stacked(a.stacked),u.stacked=a.stacked,t=a.stacked),b.update()})}),C.renderEnd("multibar horizontal chart immediate"),b}var c,d,e=a.models.multiBarHorizontal(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend().height(30),i=a.models.legend().height(30),j=a.models.tooltip(),k={top:30,right:20,bottom:50,left:60},l=null,m=null,n=a.utils.defaultColor(),o=!0,p={},q=!0,r=!0,s=!0,t=!1,u=a.utils.state(),v=null,w=null,x=d3.dispatch("stateChange","changeState","renderEnd"),y=function(){return o?180:0},z=250;u.stacked=!1,e.stacked(t),f.orient("left").tickPadding(5).showMaxMin(!1).tickFormat(function(a){return a}),g.orient("bottom").tickFormat(d3.format(",.1f")),j.duration(0).valueFormatter(function(a,b){return g.tickFormat()(a,b)}).headerFormatter(function(a,b){return f.tickFormat()(a,b)}),i.updateState(!1);var A=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),stacked:t}}},B=function(a){return function(b){void 0!==b.stacked&&(t=b.stacked),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}},C=a.utils.renderWatch(x,z);return e.dispatch.on("elementMouseover.tooltip",function(a){a.value=b.x()(a.data),a.series={key:a.data.key,value:b.y()(a.data),color:a.color},j.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(a){j.hidden(!0)}),e.dispatch.on("elementMousemove.tooltip",function(a){j()}),b.dispatch=x,b.multibar=e,b.legend=h,b.controls=i,b.xAxis=f,b.yAxis=g,b.state=u,b.tooltip=j,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return l},set:function(a){l=a}},height:{get:function(){return m},set:function(a){m=a}},showLegend:{get:function(){return q},set:function(a){q=a}},showControls:{get:function(){return o},set:function(a){o=a}},controlLabels:{get:function(){return p},set:function(a){p=a}},showXAxis:{get:function(){return r},set:function(a){r=a}},showYAxis:{get:function(){return s},set:function(a){s=a}},defaultState:{get:function(){return v},set:function(a){v=a}},noData:{get:function(){return w},set:function(a){w=a}},margin:{get:function(){return k},set:function(a){k.top=void 0!==a.top?a.top:k.top,k.right=void 0!==a.right?a.right:k.right,k.bottom=void 0!==a.bottom?a.bottom:k.bottom,k.left=void 0!==a.left?a.left:k.left}},duration:{get:function(){return z},set:function(a){z=a,C.reset(z),e.duration(z),f.duration(z),g.duration(z)}},color:{get:function(){return n},set:function(b){n=a.utils.getColor(b),h.color(n)}},barColor:{get:function(){return e.barColor},set:function(a){e.barColor(a),h.color(function(a,b){return d3.rgb("#ccc").darker(1.5*b).toString()})}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.multiChart=function(){"use strict";function b(j){return j.each(function(j){function n(a){var b=2===j[a.seriesIndex].yAxis?E:D;a.value=a.point.x,a.series={value:a.point.y,color:a.point.color,key:a.series.key},G.duration(0).headerFormatter(function(a,b){return C.tickFormat()(a,b)}).valueFormatter(function(a,c){return b.tickFormat()(a,c)}).data(a).hidden(!1)}function H(a){var b=2===j[a.seriesIndex].yAxis?E:D;a.value=a.point.x,a.series={value:a.point.y,color:a.point.color,key:a.series.key},G.duration(100).headerFormatter(function(a,b){return C.tickFormat()(a,b)}).valueFormatter(function(a,c){return b.tickFormat()(a,c)}).data(a).hidden(!1)}function J(a){var b=2===j[a.seriesIndex].yAxis?E:D;a.point.x=A.x()(a.point),a.point.y=A.y()(a.point),G.duration(0).headerFormatter(function(a,b){return C.tickFormat()(a,b)}).valueFormatter(function(a,c){return b.tickFormat()(a,c)}).data(a).hidden(!1)}function K(a){var b=2===j[a.data.series].yAxis?E:D;a.value=y.x()(a.data),a.series={value:y.y()(a.data),color:a.color,key:a.data.key},G.duration(0).headerFormatter(function(a,b){return C.tickFormat()(a,b)}).valueFormatter(function(a,c){return b.tickFormat()(a,c)}).data(a).hidden(!1)}function L(){for(var a=0,b=I.length;a<b;a++){var c=I[a];try{c.clearHighlights()}catch(d){}}}function M(a,b,c){for(var d=0,e=I.length;d<e;d++){var f=I[d];try{f.highlightPoint(a,b,c)}catch(g){}}}var N=d3.select(this);a.utils.initSVG(N),b.update=function(){N.transition().call(b)},b.container=this;var O=a.utils.availableWidth(g,N,e),P=a.utils.availableHeight(h,N,e),Q=j.filter(function(a){return"line"==a.type&&1==a.yAxis}),R=j.filter(function(a){return"line"==a.type&&2==a.yAxis}),S=j.filter(function(a){return"scatter"==a.type&&1==a.yAxis}),T=j.filter(function(a){return"scatter"==a.type&&2==a.yAxis}),U=j.filter(function(a){return"bar"==a.type&&1==a.yAxis}),V=j.filter(function(a){return"bar"==a.type&&2==a.yAxis}),W=j.filter(function(a){return"area"==a.type&&1==a.yAxis}),X=j.filter(function(a){return"area"==a.type&&2==a.yAxis});if(!(j&&j.length&&j.filter(function(a){return a.values.length}).length))return a.utils.noData(b,N),b;N.selectAll(".nv-noData").remove();var Y=j.filter(function(a){return!a.disabled&&1==a.yAxis}).map(function(a){return a.values.map(function(a,b){return{x:k(a),y:l(a)}})}),Z=j.filter(function(a){return!a.disabled&&2==a.yAxis}).map(function(a){return a.values.map(function(a,b){return{x:k(a),y:l(a)}})});r.domain(d3.extent(d3.merge(Y.concat(Z)),function(a){return a.x})).range([0,O]);var $=N.selectAll("g.wrap.multiChart").data([j]),_=$.enter().append("g").attr("class","wrap nvd3 multiChart").append("g");_.append("g").attr("class","nv-x nv-axis"),_.append("g").attr("class","nv-y1 nv-axis"),_.append("g").attr("class","nv-y2 nv-axis"),_.append("g").attr("class","stack1Wrap"),_.append("g").attr("class","stack2Wrap"),_.append("g").attr("class","bars1Wrap"),_.append("g").attr("class","bars2Wrap"),_.append("g").attr("class","scatters1Wrap"),_.append("g").attr("class","scatters2Wrap"),_.append("g").attr("class","lines1Wrap"),_.append("g").attr("class","lines2Wrap"),_.append("g").attr("class","legendWrap"),_.append("g").attr("class","nv-interactive");var aa=$.select("g"),ba=j.map(function(a,b){return j[b].color||f(a,b)});if(i){var ca=F.align()?O/2:O,da=F.align()?ca:0;F.width(ca),F.color(ba),aa.select(".legendWrap").datum(j.map(function(a){return a.originalKey=void 0===a.originalKey?a.key:a.originalKey,a.key=a.originalKey+(1==a.yAxis?"":q),a})).call(F),F.height()>e.top&&(e.top=F.height(),P=a.utils.availableHeight(h,N,e)),aa.select(".legendWrap").attr("transform","translate("+da+","+-e.top+")")}else aa.select(".legendWrap").selectAll("*").remove();u.width(O).height(P).interpolate(m).color(ba.filter(function(a,b){return!j[b].disabled&&1==j[b].yAxis&&"line"==j[b].type})),v.width(O).height(P).interpolate(m).color(ba.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&"line"==j[b].type})),w.width(O).height(P).color(ba.filter(function(a,b){return!j[b].disabled&&1==j[b].yAxis&&"scatter"==j[b].type})),x.width(O).height(P).color(ba.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&"scatter"==j[b].type})),y.width(O).height(P).color(ba.filter(function(a,b){return!j[b].disabled&&1==j[b].yAxis&&"bar"==j[b].type})),z.width(O).height(P).color(ba.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&"bar"==j[b].type})),A.width(O).height(P).interpolate(m).color(ba.filter(function(a,b){return!j[b].disabled&&1==j[b].yAxis&&"area"==j[b].type})),B.width(O).height(P).interpolate(m).color(ba.filter(function(a,b){return!j[b].disabled&&2==j[b].yAxis&&"area"==j[b].type})),aa.attr("transform","translate("+e.left+","+e.top+")");var ea=aa.select(".lines1Wrap").datum(Q.filter(function(a){return!a.disabled})),fa=aa.select(".scatters1Wrap").datum(S.filter(function(a){return!a.disabled})),ga=aa.select(".bars1Wrap").datum(U.filter(function(a){return!a.disabled})),ha=aa.select(".stack1Wrap").datum(W.filter(function(a){return!a.disabled})),ia=aa.select(".lines2Wrap").datum(R.filter(function(a){return!a.disabled})),ja=aa.select(".scatters2Wrap").datum(T.filter(function(a){return!a.disabled})),ka=aa.select(".bars2Wrap").datum(V.filter(function(a){return!a.disabled})),la=aa.select(".stack2Wrap").datum(X.filter(function(a){return!a.disabled})),ma=W.length?W.map(function(a){return a.values}).reduce(function(a,b){return a.map(function(a,c){return{x:a.x,y:a.y+b[c].y}})}).concat([{x:0,y:0}]):[],na=X.length?X.map(function(a){return a.values}).reduce(function(a,b){return a.map(function(a,c){return{x:a.x,y:a.y+b[c].y}})}).concat([{x:0,y:0}]):[];s.domain(c||d3.extent(d3.merge(Y).concat(ma),function(a){return a.y})).range([0,P]),t.domain(d||d3.extent(d3.merge(Z).concat(na),function(a){return a.y})).range([0,P]),u.yDomain(s.domain()),w.yDomain(s.domain()),y.yDomain(s.domain()),A.yDomain(s.domain()),
+v.yDomain(t.domain()),x.yDomain(t.domain()),z.yDomain(t.domain()),B.yDomain(t.domain()),W.length&&d3.transition(ha).call(A),X.length&&d3.transition(la).call(B),U.length&&d3.transition(ga).call(y),V.length&&d3.transition(ka).call(z),Q.length&&d3.transition(ea).call(u),R.length&&d3.transition(ia).call(v),S.length&&d3.transition(fa).call(w),T.length&&d3.transition(ja).call(x),C._ticks(a.utils.calcTicksX(O/100,j)).tickSize(-P,0),aa.select(".nv-x.nv-axis").attr("transform","translate(0,"+P+")"),d3.transition(aa.select(".nv-x.nv-axis")).call(C),D._ticks(a.utils.calcTicksY(P/36,j)).tickSize(-O,0),d3.transition(aa.select(".nv-y1.nv-axis")).call(D),E._ticks(a.utils.calcTicksY(P/36,j)).tickSize(-O,0),d3.transition(aa.select(".nv-y2.nv-axis")).call(E),aa.select(".nv-y1.nv-axis").classed("nv-disabled",!Y.length).attr("transform","translate("+r.range()[0]+",0)"),aa.select(".nv-y2.nv-axis").classed("nv-disabled",!Z.length).attr("transform","translate("+r.range()[1]+",0)"),F.dispatch.on("stateChange",function(a){b.update()}),p&&(o.width(O).height(P).margin({left:e.left,top:e.top}).svgContainer(N).xScale(r),$.select(".nv-interactive").call(o)),p?(o.dispatch.on("elementMousemove",function(c){L();var d,e,g,h=[];j.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(i,j){var k=r.domain(),l=i.values.filter(function(a,c){return b.x()(a,c)>=k[0]&&b.x()(a,c)<=k[1]});e=a.interactiveBisect(l,c.pointXValue,b.x());var m=l[e],n=b.y()(m,e);null!==n&&M(j,e,!0),void 0!==m&&(void 0===d&&(d=m),void 0===g&&(g=r(b.x()(m,e))),h.push({key:i.key,value:n,color:f(i,i.seriesIndex),data:m,yAxis:2==i.yAxis?E:D}))});var i=function(a,b){var c=h[b].yAxis;return null==a?"N/A":c.tickFormat()(a)};o.tooltip.headerFormatter(function(a,b){return C.tickFormat()(a,b)}).valueFormatter(o.tooltip.valueFormatter()||i).data({value:b.x()(d,e),index:e,series:h})(),o.renderGuideLine(g)}),o.dispatch.on("elementMouseout",function(a){L()})):(u.dispatch.on("elementMouseover.tooltip",n),v.dispatch.on("elementMouseover.tooltip",n),u.dispatch.on("elementMouseout.tooltip",function(a){G.hidden(!0)}),v.dispatch.on("elementMouseout.tooltip",function(a){G.hidden(!0)}),w.dispatch.on("elementMouseover.tooltip",H),x.dispatch.on("elementMouseover.tooltip",H),w.dispatch.on("elementMouseout.tooltip",function(a){G.hidden(!0)}),x.dispatch.on("elementMouseout.tooltip",function(a){G.hidden(!0)}),A.dispatch.on("elementMouseover.tooltip",J),B.dispatch.on("elementMouseover.tooltip",J),A.dispatch.on("elementMouseout.tooltip",function(a){G.hidden(!0)}),B.dispatch.on("elementMouseout.tooltip",function(a){G.hidden(!0)}),y.dispatch.on("elementMouseover.tooltip",K),z.dispatch.on("elementMouseover.tooltip",K),y.dispatch.on("elementMouseout.tooltip",function(a){G.hidden(!0)}),z.dispatch.on("elementMouseout.tooltip",function(a){G.hidden(!0)}),y.dispatch.on("elementMousemove.tooltip",function(a){G()}),z.dispatch.on("elementMousemove.tooltip",function(a){G()}))}),b}var c,d,e={top:30,right:20,bottom:50,left:60},f=a.utils.defaultColor(),g=null,h=null,i=!0,j=null,k=function(a){return a.x},l=function(a){return a.y},m="linear",n=!0,o=a.interactiveGuideline(),p=!1,q=" (right axis)",r=d3.scale.linear(),s=d3.scale.linear(),t=d3.scale.linear(),u=a.models.line().yScale(s),v=a.models.line().yScale(t),w=a.models.scatter().yScale(s),x=a.models.scatter().yScale(t),y=a.models.multiBar().stacked(!1).yScale(s),z=a.models.multiBar().stacked(!1).yScale(t),A=a.models.stackedArea().yScale(s),B=a.models.stackedArea().yScale(t),C=a.models.axis().scale(r).orient("bottom").tickPadding(5),D=a.models.axis().scale(s).orient("left"),E=a.models.axis().scale(t).orient("right"),F=a.models.legend().height(30),G=a.models.tooltip(),H=d3.dispatch(),I=[u,v,w,x,y,z,A,B];return b.dispatch=H,b.legend=F,b.lines1=u,b.lines2=v,b.scatters1=w,b.scatters2=x,b.bars1=y,b.bars2=z,b.stack1=A,b.stack2=B,b.xAxis=C,b.yAxis1=D,b.yAxis2=E,b.tooltip=G,b.interactiveLayer=o,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},showLegend:{get:function(){return i},set:function(a){i=a}},yDomain1:{get:function(){return c},set:function(a){c=a}},yDomain2:{get:function(){return d},set:function(a){d=a}},noData:{get:function(){return j},set:function(a){j=a}},interpolate:{get:function(){return m},set:function(a){m=a}},legendRightAxisHint:{get:function(){return q},set:function(a){q=a}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}},color:{get:function(){return f},set:function(b){f=a.utils.getColor(b)}},x:{get:function(){return k},set:function(a){k=a,u.x(a),v.x(a),w.x(a),x.x(a),y.x(a),z.x(a),A.x(a),B.x(a)}},y:{get:function(){return l},set:function(a){l=a,u.y(a),v.y(a),w.y(a),x.y(a),A.y(a),B.y(a),y.y(a),z.y(a)}},useVoronoi:{get:function(){return n},set:function(a){n=a,u.useVoronoi(a),v.useVoronoi(a),A.useVoronoi(a),B.useVoronoi(a)}},useInteractiveGuideline:{get:function(){return p},set:function(a){p=a,p&&(u.interactive(!1),u.useVoronoi(!1),v.interactive(!1),v.useVoronoi(!1),A.interactive(!1),A.useVoronoi(!1),B.interactive(!1),B.useVoronoi(!1),w.interactive(!1),x.interactive(!1))}}}),a.utils.initOptions(b),b},a.models.ohlcBar=function(){"use strict";function b(y){return y.each(function(b){k=d3.select(this);var y=a.utils.availableWidth(h,k,g),A=a.utils.availableHeight(i,k,g);a.utils.initSVG(k);var B=y/b[0].values.length*.9;l.domain(c||d3.extent(b[0].values.map(n).concat(t))),v?l.range(e||[.5*y/b[0].values.length,y*(b[0].values.length-.5)/b[0].values.length]):l.range(e||[5+B/2,y-B/2-5]),m.domain(d||[d3.min(b[0].values.map(s).concat(u)),d3.max(b[0].values.map(r).concat(u))]).range(f||[A,0]),l.domain()[0]===l.domain()[1]&&(l.domain()[0]?l.domain([l.domain()[0]-.01*l.domain()[0],l.domain()[1]+.01*l.domain()[1]]):l.domain([-1,1])),m.domain()[0]===m.domain()[1]&&(m.domain()[0]?m.domain([m.domain()[0]+.01*m.domain()[0],m.domain()[1]-.01*m.domain()[1]]):m.domain([-1,1]));var C=d3.select(this).selectAll("g.nv-wrap.nv-ohlcBar").data([b[0].values]),D=C.enter().append("g").attr("class","nvd3 nv-wrap nv-ohlcBar"),E=D.append("defs"),F=D.append("g"),G=C.select("g");F.append("g").attr("class","nv-ticks"),C.attr("transform","translate("+g.left+","+g.top+")"),k.on("click",function(a,b){z.chartClick({data:a,index:b,pos:d3.event,id:j})}),E.append("clipPath").attr("id","nv-chart-clip-path-"+j).append("rect"),C.select("#nv-chart-clip-path-"+j+" rect").attr("width",y).attr("height",A),G.attr("clip-path",w?"url(#nv-chart-clip-path-"+j+")":"");var H=C.select(".nv-ticks").selectAll(".nv-tick").data(function(a){return a});H.exit().remove(),H.enter().append("path").attr("class",function(a,b,c){return(p(a,b)>q(a,b)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+c+"-"+b}).attr("d",function(a,b){return"m0,0l0,"+(m(p(a,b))-m(r(a,b)))+"l"+-B/2+",0l"+B/2+",0l0,"+(m(s(a,b))-m(p(a,b)))+"l0,"+(m(q(a,b))-m(s(a,b)))+"l"+B/2+",0l"+-B/2+",0z"}).attr("transform",function(a,b){return"translate("+l(n(a,b))+","+m(r(a,b))+")"}).attr("fill",function(a,b){return x[0]}).attr("stroke",function(a,b){return x[0]}).attr("x",0).attr("y",function(a,b){return m(Math.max(0,o(a,b)))}).attr("height",function(a,b){return Math.abs(m(o(a,b))-m(0))}),H.attr("class",function(a,b,c){return(p(a,b)>q(a,b)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+c+"-"+b}),d3.transition(H).attr("transform",function(a,b){return"translate("+l(n(a,b))+","+m(r(a,b))+")"}).attr("d",function(a,c){var d=y/b[0].values.length*.9;return"m0,0l0,"+(m(p(a,c))-m(r(a,c)))+"l"+-d/2+",0l"+d/2+",0l0,"+(m(s(a,c))-m(p(a,c)))+"l0,"+(m(q(a,c))-m(s(a,c)))+"l"+d/2+",0l"+-d/2+",0z"})}),b}var c,d,e,f,g={top:0,right:0,bottom:0,left:0},h=null,i=null,j=Math.floor(1e4*Math.random()),k=null,l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=function(a){return a.open},q=function(a){return a.close},r=function(a){return a.high},s=function(a){return a.low},t=[],u=[],v=!1,w=!0,x=a.utils.defaultColor(),y=!1,z=d3.dispatch("stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");return b.highlightPoint=function(a,c){b.clearHighlights(),k.select(".nv-ohlcBar .nv-tick-0-"+a).classed("hover",c)},b.clearHighlights=function(){k.select(".nv-ohlcBar .nv-tick.hover").classed("hover",!1)},b.dispatch=z,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},forceX:{get:function(){return t},set:function(a){t=a}},forceY:{get:function(){return u},set:function(a){u=a}},padData:{get:function(){return v},set:function(a){v=a}},clipEdge:{get:function(){return w},set:function(a){w=a}},id:{get:function(){return j},set:function(a){j=a}},interactive:{get:function(){return y},set:function(a){y=a}},x:{get:function(){return n},set:function(a){n=a}},y:{get:function(){return o},set:function(a){o=a}},open:{get:function(){return p()},set:function(a){p=a}},close:{get:function(){return q()},set:function(a){q=a}},high:{get:function(){return r},set:function(a){r=a}},low:{get:function(){return s},set:function(a){s=a}},margin:{get:function(){return g},set:function(a){g.top=void 0!=a.top?a.top:g.top,g.right=void 0!=a.right?a.right:g.right,g.bottom=void 0!=a.bottom?a.bottom:g.bottom,g.left=void 0!=a.left?a.left:g.left}},color:{get:function(){return x},set:function(b){x=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.parallelCoordinates=function(){"use strict";function b(B){return A.reset(),B.each(function(b){function A(a){return x(o.map(function(b){if(isNaN(a.values[b.key])||isNaN(parseFloat(a.values[b.key]))||O){var c=l[b.key].domain(),d=l[b.key].range(),e=c[0]-(c[1]-c[0])/9;if(v.indexOf(b.key)<0){var f=d3.scale.linear().domain([e,c[1]]).range([j-12,d[1]]);l[b.key].brush.y(f),v.push(b.key)}if(isNaN(a.values[b.key])||isNaN(parseFloat(a.values[b.key])))return[k(b.key),l[b.key](e)]}return void 0!==U&&(v.length>0||O?(U.style("display","inline"),V.style("display","inline")):(U.style("display","none"),V.style("display","none"))),[k(b.key),l[b.key](a.values[b.key])]}))}function B(a){s.forEach(function(b){var c=l[b.dimension].brush.y().domain();b.hasOnlyNaN&&(b.extent[1]=(l[b.dimension].domain()[1]-c[0])*(b.extent[1]-b.extent[0])/(N[b.dimension]-b.extent[0])+c[0]),b.hasNaN&&(b.extent[0]=c[0]),a&&l[b.dimension].brush.extent(b.extent)}),e.select(".nv-brushBackground").each(function(a){d3.select(this).call(l[a.key].brush)}).selectAll("rect").attr("x",-8).attr("width",16),F()}function C(){q===!1&&(q=!0,B(!0))}function D(){$=p.filter(function(a){return!l[a].brush.empty()}),_=$.map(function(a){return l[a].brush.extent()}),s=[],$.forEach(function(a,b){s[b]={dimension:a,extent:_[b],hasNaN:!1,hasOnlyNaN:!1}}),t=[],c.style("display",function(a){var b=$.every(function(b,c){return!(!isNaN(a.values[b])&&!isNaN(parseFloat(a.values[b]))||_[c][0]!=l[b].brush.y().domain()[0])||_[c][0]<=a.values[b]&&a.values[b]<=_[c][1]&&!isNaN(parseFloat(a.values[b]))});return b&&t.push(a),b?null:"none"}),F(),z.brush({filters:s,active:t})}function E(){var a=$.length>0;s.forEach(function(a){a.extent[0]===l[a.dimension].brush.y().domain()[0]&&v.indexOf(a.dimension)>=0&&(a.hasNaN=!0),a.extent[1]<l[a.dimension].domain()[0]&&(a.hasOnlyNaN=!0)}),z.brushEnd(t,a)}function F(){e.select(".nv-axis").each(function(a,b){var c=s.filter(function(b){return b.dimension==a.key});P[a.key]=l[a.key].domain(),0!=c.length&&q&&(P[a.key]=[],c[0].extent[1]>l[a.key].domain()[0]&&(P[a.key]=[c[0].extent[1]]),c[0].extent[0]>=l[a.key].domain()[0]&&P[a.key].push(c[0].extent[0])),d3.select(this).call(y.scale(l[a.key]).tickFormat(a.format).tickValues(P[a.key]))})}function G(a){u[a.key]=this.parentNode.__origin__=k(a.key),d.attr("visibility","hidden")}function H(a){u[a.key]=Math.min(i,Math.max(0,this.parentNode.__origin__+=d3.event.x)),c.attr("d",A),o.sort(function(a,b){return J(a.key)-J(b.key)}),o.forEach(function(a,b){return a.currentPosition=b}),k.domain(o.map(function(a){return a.key})),e.attr("transform",function(a){return"translate("+J(a.key)+")"})}function I(a,b){delete this.parentNode.__origin__,delete u[a.key],d3.select(this.parentNode).attr("transform","translate("+k(a.key)+")"),c.attr("d",A),d.attr("d",A).attr("visibility",null),z.dimensionsOrder(o)}function J(a){var b=u[a];return null==b?k(a):b}var K=d3.select(this);if(i=a.utils.availableWidth(g,K,f),j=a.utils.availableHeight(h,K,f),a.utils.initSVG(K),void 0===b[0].values){var L=[];b.forEach(function(a){var b={},c=Object.keys(a);c.forEach(function(c){"name"!==c&&(b[c]=a[c])}),L.push({key:a.name,values:b})}),b=L}var M=b.map(function(a){return a.values});0===t.length&&(t=b),p=n.sort(function(a,b){return a.currentPosition-b.currentPosition}).map(function(a){return a.key}),o=n.filter(function(a){return!a.disabled}),k.rangePoints([0,i],1).domain(o.map(function(a){return a.key}));var N={},O=!1,P=[];p.forEach(function(a){var b=d3.extent(M,function(b){return+b[a]}),c=b[0],d=b[1],e=!1;(isNaN(c)||isNaN(d))&&(e=!0,c=0,d=0),c===d&&(c-=1,d+=1);var f=s.filter(function(b){return b.dimension==a});0!==f.length&&(e?(c=l[a].domain()[0],d=l[a].domain()[1]):!f[0].hasOnlyNaN&&q?(c=c>f[0].extent[0]?f[0].extent[0]:c,d=d<f[0].extent[1]?f[0].extent[1]:d):f[0].hasNaN&&(d=d<f[0].extent[1]?f[0].extent[1]:d,N[a]=l[a].domain()[1],O=!0)),l[a]=d3.scale.linear().domain([c,d]).range([.9*(j-12),0]),v=[],l[a].brush=d3.svg.brush().y(l[a]).on("brushstart",C).on("brush",D).on("brushend",E)});var Q=K.selectAll("g.nv-wrap.nv-parallelCoordinates").data([b]),R=Q.enter().append("g").attr("class","nvd3 nv-wrap nv-parallelCoordinates"),S=R.append("g"),T=Q.select("g");S.append("g").attr("class","nv-parallelCoordinates background"),S.append("g").attr("class","nv-parallelCoordinates foreground"),S.append("g").attr("class","nv-parallelCoordinates missingValuesline"),Q.attr("transform","translate("+f.left+","+f.top+")"),x.interpolate("cardinal").tension(w),y.orient("left");var U,V,W=d3.behavior.drag().on("dragstart",G).on("drag",H).on("dragend",I),X=k.range()[1]-k.range()[0];if(!isNaN(X)){var Y=[0+X/2,j-12,i-X/2,j-12];U=Q.select(".missingValuesline").selectAll("line").data([Y]),U.enter().append("line"),U.exit().remove(),U.attr("x1",function(a){return a[0]}).attr("y1",function(a){return a[1]}).attr("x2",function(a){return a[2]}).attr("y2",function(a){return a[3]}),V=Q.select(".missingValuesline").selectAll("text").data([m]),V.append("text").data([m]),V.enter().append("text"),V.exit().remove(),V.attr("y",j).attr("x",i-92-X/2).text(function(a){return a})}d=Q.select(".background").selectAll("path").data(b),d.enter().append("path"),d.exit().remove(),d.attr("d",A),c=Q.select(".foreground").selectAll("path").data(b),c.enter().append("path"),c.exit().remove(),c.attr("d",A).style("stroke-width",function(a,b){return isNaN(a.strokeWidth)&&(a.strokeWidth=1),a.strokeWidth}).attr("stroke",function(a,b){return a.color||r(a,b)}),c.on("mouseover",function(a,b){d3.select(this).classed("hover",!0).style("stroke-width",a.strokeWidth+2+"px").style("stroke-opacity",1),z.elementMouseover({label:a.name,color:a.color||r(a,b),values:a.values,dimensions:o})}),c.on("mouseout",function(a,b){d3.select(this).classed("hover",!1).style("stroke-width",a.strokeWidth+"px").style("stroke-opacity",.7),z.elementMouseout({label:a.name,index:b})}),c.on("mousemove",function(a,b){z.elementMousemove()}),c.on("click",function(a){z.elementClick({id:a.id})}),e=T.selectAll(".dimension").data(o);var Z=e.enter().append("g").attr("class","nv-parallelCoordinates dimension");e.attr("transform",function(a){return"translate("+k(a.key)+",0)"}),Z.append("g").attr("class","nv-axis"),Z.append("text").attr("class","nv-label").style("cursor","move").attr("dy","-1em").attr("text-anchor","middle").on("mouseover",function(a,b){z.elementMouseover({label:a.tooltip||a.key,color:a.color})}).on("mouseout",function(a,b){z.elementMouseout({label:a.tooltip})}).on("mousemove",function(a,b){z.elementMousemove()}).call(W),Z.append("g").attr("class","nv-brushBackground"),e.exit().remove(),e.select(".nv-label").text(function(a){return a.key}),B(q);var $=p.filter(function(a){return!l[a].brush.empty()}),_=$.map(function(a){return l[a].brush.extent()}),aa=t.slice(0);t=[],c.style("display",function(a){var b=$.every(function(b,c){return!(!isNaN(a.values[b])&&!isNaN(parseFloat(a.values[b]))||_[c][0]!=l[b].brush.y().domain()[0])||_[c][0]<=a.values[b]&&a.values[b]<=_[c][1]&&!isNaN(parseFloat(a.values[b]))});return b&&t.push(a),b?null:"none"}),(s.length>0||!a.utils.arrayEquals(t,aa))&&z.activeChanged(t)}),b}var c,d,e,f={top:30,right:0,bottom:10,left:0},g=null,h=null,i=null,j=null,k=d3.scale.ordinal(),l={},m="undefined values",n=[],o=[],p=[],q=!0,r=a.utils.defaultColor(),s=[],t=[],u=[],v=[],w=1,x=d3.svg.line(),y=d3.svg.axis(),z=d3.dispatch("brushstart","brush","brushEnd","dimensionsOrder","stateChange","elementClick","elementMouseover","elementMouseout","elementMousemove","renderEnd","activeChanged"),A=a.utils.renderWatch(z);return b.dispatch=z,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},dimensionData:{get:function(){return n},set:function(a){n=a}},displayBrush:{get:function(){return q},set:function(a){q=a}},filters:{get:function(){return s},set:function(a){s=a}},active:{get:function(){return t},set:function(a){t=a}},lineTension:{get:function(){return w},set:function(a){w=a}},undefinedValuesLabel:{get:function(){return m},set:function(a){m=a}},dimensions:{get:function(){return n.map(function(a){return a.key})},set:function(b){a.deprecated("dimensions","use dimensionData instead"),0===n.length?b.forEach(function(a){n.push({key:a})}):b.forEach(function(a,b){n[b].key=a})}},dimensionNames:{get:function(){return n.map(function(a){return a.key})},set:function(b){a.deprecated("dimensionNames","use dimensionData instead"),p=[],0===n.length?b.forEach(function(a){n.push({key:a})}):b.forEach(function(a,b){n[b].key=a})}},dimensionFormats:{get:function(){return n.map(function(a){return a.format})},set:function(b){a.deprecated("dimensionFormats","use dimensionData instead"),0===n.length?b.forEach(function(a){n.push({format:a})}):b.forEach(function(a,b){n[b].format=a})}},margin:{get:function(){return f},set:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}},color:{get:function(){return r},set:function(b){r=a.utils.getColor(b)}}}),a.utils.initOptions(b),b},a.models.parallelCoordinatesChart=function(){"use strict";function b(e){return r.reset(),r.models(c),e.each(function(e){var j=d3.select(this);a.utils.initSVG(j);var o=a.utils.availableWidth(g,j,f),p=a.utils.availableHeight(h,j,f);if(b.update=function(){j.call(b)},b.container=this,k.setter(t(l),b.update).getter(s(l)).update(),k.disabled=l.map(function(a){return!!a.disabled}),l=l.map(function(a){return a.disabled=!!a.disabled,a}),l.forEach(function(a,b){a.originalPosition=isNaN(a.originalPosition)?b:a.originalPosition,a.currentPosition=isNaN(a.currentPosition)?b:a.currentPosition}),!n){var r;n={};for(r in k)k[r]instanceof Array?n[r]=k[r].slice(0):n[r]=k[r]}if(!e||!e.length)return a.utils.noData(b,j),b;j.selectAll(".nv-noData").remove();var u=j.selectAll("g.nv-wrap.nv-parallelCoordinatesChart").data([e]),v=u.enter().append("g").attr("class","nvd3 nv-wrap nv-parallelCoordinatesChart").append("g"),w=u.select("g");v.append("g").attr("class","nv-parallelCoordinatesWrap"),v.append("g").attr("class","nv-legendWrap"),w.select("rect").attr("width",o).attr("height",p>0?p:0),i?(d.width(o).color(function(a){return"rgb(188,190,192)"}),w.select(".nv-legendWrap").datum(l.sort(function(a,b){return a.originalPosition-b.originalPosition})).call(d),d.height()>f.top&&(f.top=d.height(),p=a.utils.availableHeight(h,j,f)),u.select(".nv-legendWrap").attr("transform","translate( 0 ,"+-f.top+")")):w.select(".nv-legendWrap").selectAll("*").remove(),u.attr("transform","translate("+f.left+","+f.top+")"),c.width(o).height(p).dimensionData(l).displayBrush(m);var x=w.select(".nv-parallelCoordinatesWrap ").datum(e);x.transition().call(c),c.dispatch.on("brushEnd",function(a,b){b?(m=!0,q.brushEnd(a)):m=!1}),d.dispatch.on("stateChange",function(a){for(var c in a)k[c]=a[c];q.stateChange(k),b.update()}),c.dispatch.on("dimensionsOrder",function(a){l.sort(function(a,b){return a.currentPosition-b.currentPosition});var b=!1;l.forEach(function(a,c){a.currentPosition=c,a.currentPosition!==a.originalPosition&&(b=!0)}),q.dimensionsOrder(l,b)}),q.on("changeState",function(a){"undefined"!=typeof a.disabled&&(l.forEach(function(b,c){b.disabled=a.disabled[c]}),k.disabled=a.disabled),b.update()})}),r.renderEnd("parraleleCoordinateChart immediate"),b}var c=a.models.parallelCoordinates(),d=a.models.legend(),e=a.models.tooltip(),f=(a.models.tooltip(),{top:0,right:0,bottom:0,left:0}),g=null,h=null,i=!0,j=a.utils.defaultColor(),k=a.utils.state(),l=[],m=!0,n=null,o=null,p="undefined",q=d3.dispatch("dimensionsOrder","brushEnd","stateChange","changeState","renderEnd"),r=a.utils.renderWatch(q),s=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},t=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return e.contentGenerator(function(a){var b='<table><thead><tr><td class="legend-color-guide"><div style="background-color:'+a.color+'"></div></td><td><strong>'+a.key+"</strong></td></tr></thead>";return 0!==a.series.length&&(b+='<tbody><tr><td height ="10px"></td></tr>',a.series.forEach(function(a){b=b+'<tr><td class="legend-color-guide"><div style="background-color:'+a.color+'"></div></td><td class="key">'+a.key+'</td><td class="value">'+a.value+"</td></tr>"}),b+="</tbody>"),b+="</table>"}),c.dispatch.on("elementMouseover.tooltip",function(a){var b={key:a.label,color:a.color,series:[]};a.values&&(Object.keys(a.values).forEach(function(c){var d=a.dimensions.filter(function(a){return a.key===c})[0];if(d){var e;e=isNaN(a.values[c])||isNaN(parseFloat(a.values[c]))?p:d.format(a.values[c]),b.series.push({idx:d.currentPosition,key:c,value:e,color:d.color})}}),b.series.sort(function(a,b){return a.idx-b.idx})),e.data(b).hidden(!1)}),c.dispatch.on("elementMouseout.tooltip",function(a){e.hidden(!0)}),c.dispatch.on("elementMousemove.tooltip",function(){e()}),b.dispatch=q,b.parallelCoordinates=c,b.legend=d,b.tooltip=e,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},showLegend:{get:function(){return i},set:function(a){i=a}},defaultState:{get:function(){return n},set:function(a){n=a}},dimensionData:{get:function(){return l},set:function(a){l=a}},displayBrush:{get:function(){return m},set:function(a){m=a}},noData:{get:function(){return o},set:function(a){o=a}},nanValue:{get:function(){return p},set:function(a){p=a}},margin:{get:function(){return f},set:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}},color:{get:function(){return j},set:function(b){j=a.utils.getColor(b),d.color(j),c.color(j)}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.pie=function(){"use strict";function b(F){return E.reset(),F.each(function(b){function F(a,b){a.endAngle=isNaN(a.endAngle)?0:a.endAngle,a.startAngle=isNaN(a.startAngle)?0:a.startAngle,p||(a.innerRadius=0);var c=d3.interpolate(this._current,a);return this._current=c(0),function(a){return C[b](c(a))}}var G=d-c.left-c.right,H=e-c.top-c.bottom,I=Math.min(G,H)/2,J=[],K=[];if(i=d3.select(this),0===A.length)for(var L=I-I/5,M=y*I,N=0;N<b[0].length;N++)J.push(L),K.push(M);else r?(J=A.map(function(a){return(a.outer-a.outer/5)*I}),K=A.map(function(a){return(a.inner-a.inner/5)*I}),y=d3.min(A.map(function(a){return a.inner-a.inner/5}))):(J=A.map(function(a){return a.outer*I}),K=A.map(function(a){return a.inner*I}),y=d3.min(A.map(function(a){return a.inner})));a.utils.initSVG(i);var O=i.selectAll(".nv-wrap.nv-pie").data(b),P=O.enter().append("g").attr("class","nvd3 nv-wrap nv-pie nv-chart-"+h),Q=P.append("g"),R=O.select("g"),S=Q.append("g").attr("class","nv-pie");Q.append("g").attr("class","nv-pieLabels"),O.attr("transform","translate("+c.left+","+c.top+")"),R.select(".nv-pie").attr("transform","translate("+G/2+","+H/2+")"),R.select(".nv-pieLabels").attr("transform","translate("+G/2+","+H/2+")"),i.on("click",function(a,b){B.chartClick({data:a,index:b,pos:d3.event,id:h})}),C=[],D=[];for(var N=0;N<b[0].length;N++){var T=d3.svg.arc().outerRadius(J[N]),U=d3.svg.arc().outerRadius(J[N]+5);u!==!1&&(T.startAngle(u),U.startAngle(u)),w!==!1&&(T.endAngle(w),U.endAngle(w)),p&&(T.innerRadius(K[N]),U.innerRadius(K[N])),T.cornerRadius&&x&&(T.cornerRadius(x),U.cornerRadius(x)),C.push(T),D.push(U)}var V=d3.layout.pie().sort(null).value(function(a){return a.disabled?0:g(a)});V.padAngle&&v&&V.padAngle(v),p&&q&&(S.append("text").attr("class","nv-pie-title"),O.select(".nv-pie-title").style("text-anchor","middle").text(function(a){return q}).style("font-size",Math.min(G,H)*y*2/(q.length+2)+"px").attr("dy","0.35em").attr("transform",function(a,b){return"translate(0, "+s+")"}));var W=O.select(".nv-pie").selectAll(".nv-slice").data(V),X=O.select(".nv-pieLabels").selectAll(".nv-label").data(V);W.exit().remove(),X.exit().remove();var Y=W.enter().append("g");Y.attr("class","nv-slice"),Y.on("mouseover",function(a,b){d3.select(this).classed("hover",!0),r&&d3.select(this).select("path").transition().duration(70).attr("d",D[b]),B.elementMouseover({data:a.data,index:b,color:d3.select(this).style("fill"),percent:(a.endAngle-a.startAngle)/(2*Math.PI)})}),Y.on("mouseout",function(a,b){d3.select(this).classed("hover",!1),r&&d3.select(this).select("path").transition().duration(50).attr("d",C[b]),B.elementMouseout({data:a.data,index:b})}),Y.on("mousemove",function(a,b){B.elementMousemove({data:a.data,index:b})}),Y.on("click",function(a,b){var c=this;B.elementClick({data:a.data,index:b,color:d3.select(this).style("fill"),event:d3.event,element:c})}),Y.on("dblclick",function(a,b){B.elementDblClick({data:a.data,index:b,color:d3.select(this).style("fill")})}),W.attr("fill",function(a,b){return j(a.data,b)}),W.attr("stroke",function(a,b){return j(a.data,b)});Y.append("path").each(function(a){this._current=a});if(W.select("path").transition().duration(z).attr("d",function(a,b){return C[b](a)}).attrTween("d",F),l){for(var Z=[],N=0;N<b[0].length;N++)Z.push(C[N]),m?p&&(Z[N]=d3.svg.arc().outerRadius(C[N].outerRadius()),u!==!1&&Z[N].startAngle(u),w!==!1&&Z[N].endAngle(w)):p||Z[N].innerRadius(0);X.enter().append("g").classed("nv-label",!0).each(function(a,b){var c=d3.select(this);c.attr("transform",function(a,b){if(t){a.outerRadius=J[b]+10,a.innerRadius=J[b]+15;var c=(a.startAngle+a.endAngle)/2*(180/Math.PI);return(a.startAngle+a.endAngle)/2<Math.PI?c-=90:c+=90,"translate("+Z[b].centroid(a)+") rotate("+c+")"}return a.outerRadius=I+10,a.innerRadius=I+15,"translate("+Z[b].centroid(a)+")"}),c.append("rect").style("stroke","#fff").style("fill","#fff").attr("rx",3).attr("ry",3),c.append("text").style("text-anchor",t?(a.startAngle+a.endAngle)/2<Math.PI?"start":"end":"middle").style("fill","#000")});var $={},_=14,aa=140,ba=function(a){return Math.floor(a[0]/aa)*aa+","+Math.floor(a[1]/_)*_},ca=function(a){return(a.endAngle-a.startAngle)/(2*Math.PI)};X.watchTransition(E,"pie labels").attr("transform",function(a,b){if(t){a.outerRadius=J[b]+10,a.innerRadius=J[b]+15;var c=(a.startAngle+a.endAngle)/2*(180/Math.PI);return(a.startAngle+a.endAngle)/2<Math.PI?c-=90:c+=90,"translate("+Z[b].centroid(a)+") rotate("+c+")"}a.outerRadius=I+10,a.innerRadius=I+15;var d=Z[b].centroid(a),e=ca(a);if(a.value&&e>=o){var f=ba(d);$[f]&&(d[1]-=_),$[ba(d)]=!0}return"translate("+d+")"}),X.select(".nv-label text").style("text-anchor",function(a,b){return t?(a.startAngle+a.endAngle)/2<Math.PI?"start":"end":"middle"}).text(function(a,b){var c=ca(a),d="";if(!a.value||c<o)return"";if("function"==typeof n)d=n(a,b,{key:f(a.data),value:g(a.data),percent:k(c)});else switch(n){case"key":d=f(a.data);break;case"value":d=k(g(a.data));break;case"percent":d=d3.format("%")(c)}return d})}}),E.renderEnd("pie immediate"),b}var c={top:0,right:0,bottom:0,left:0},d=500,e=500,f=function(a){return a.x},g=function(a){return a.y},h=Math.floor(1e4*Math.random()),i=null,j=a.utils.defaultColor(),k=d3.format(",.2f"),l=!0,m=!1,n="key",o=.02,p=!1,q=!1,r=!0,s=0,t=!1,u=!1,v=!1,w=!1,x=0,y=.5,z=250,A=[],B=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),C=[],D=[],E=a.utils.renderWatch(B);return b.dispatch=B,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{arcsRadius:{get:function(){return A},set:function(a){A=a}},width:{get:function(){return d},set:function(a){d=a}},height:{get:function(){return e},set:function(a){e=a}},showLabels:{get:function(){return l},set:function(a){l=a}},title:{get:function(){return q},set:function(a){q=a}},titleOffset:{get:function(){return s},set:function(a){s=a}},labelThreshold:{get:function(){return o},set:function(a){o=a}},valueFormat:{get:function(){return k},set:function(a){k=a}},x:{get:function(){return f},set:function(a){f=a}},id:{get:function(){return h},set:function(a){h=a}},endAngle:{get:function(){return w},set:function(a){w=a}},startAngle:{get:function(){return u},set:function(a){u=a}},padAngle:{get:function(){return v},set:function(a){v=a}},cornerRadius:{get:function(){return x},set:function(a){x=a}},donutRatio:{get:function(){return y},set:function(a){y=a}},labelsOutside:{get:function(){return m},set:function(a){m=a}},labelSunbeamLayout:{get:function(){return t},set:function(a){t=a}},donut:{get:function(){return p},set:function(a){p=a}},growOnHover:{get:function(){return r},set:function(a){r=a}},pieLabelsOutside:{get:function(){return m},set:function(b){m=b,a.deprecated("pieLabelsOutside","use labelsOutside instead")}},donutLabelsOutside:{get:function(){return m},set:function(b){m=b,a.deprecated("donutLabelsOutside","use labelsOutside instead")}},labelFormat:{get:function(){return k},set:function(b){k=b,a.deprecated("labelFormat","use valueFormat instead")}},margin:{get:function(){return c},set:function(a){c.top="undefined"!=typeof a.top?a.top:c.top,c.right="undefined"!=typeof a.right?a.right:c.right,c.bottom="undefined"!=typeof a.bottom?a.bottom:c.bottom,c.left="undefined"!=typeof a.left?a.left:c.left}},duration:{get:function(){return z},set:function(a){z=a,E.reset(z)}},y:{get:function(){return g},set:function(a){g=d3.functor(a)}},color:{get:function(){return j},set:function(b){j=a.utils.getColor(b)}},labelType:{get:function(){return n},set:function(a){n=a||"key"}}}),a.utils.initOptions(b),b},a.models.pieChart=function(){"use strict";function b(e){return r.reset(),r.models(c),e.each(function(e){var i=d3.select(this);a.utils.initSVG(i);var l=a.utils.availableWidth(g,i,f),o=a.utils.availableHeight(h,i,f);if(b.update=function(){i.transition().call(b)},b.container=this,m.setter(t(e),b.update).getter(s(e)).update(),m.disabled=e.map(function(a){return!!a.disabled}),!n){var p;n={};for(p in m)m[p]instanceof Array?n[p]=m[p].slice(0):n[p]=m[p]}if(!e||!e.length)return a.utils.noData(b,i),b;i.selectAll(".nv-noData").remove();var r=i.selectAll("g.nv-wrap.nv-pieChart").data([e]),u=r.enter().append("g").attr("class","nvd3 nv-wrap nv-pieChart").append("g"),v=r.select("g");
+if(u.append("g").attr("class","nv-pieWrap"),u.append("g").attr("class","nv-legendWrap"),j){if("top"===k)d.width(l).key(c.x()),r.select(".nv-legendWrap").datum(e).call(d),d.height()>f.top&&(f.top=d.height(),o=a.utils.availableHeight(h,i,f)),r.select(".nv-legendWrap").attr("transform","translate(0,"+-f.top+")");else if("right"===k){var w=a.models.legend().width();l/2<w&&(w=l/2),d.height(o).key(c.x()),d.width(w),l-=d.width(),r.select(".nv-legendWrap").datum(e).call(d).attr("transform","translate("+l+",0)")}}else v.select(".nv-legendWrap").selectAll("*").remove();r.attr("transform","translate("+f.left+","+f.top+")"),c.width(l).height(o);var x=v.select(".nv-pieWrap").datum([e]);d3.transition(x).call(c),d.dispatch.on("stateChange",function(a){for(var c in a)m[c]=a[c];q.stateChange(m),b.update()}),q.on("changeState",function(a){"undefined"!=typeof a.disabled&&(e.forEach(function(b,c){b.disabled=a.disabled[c]}),m.disabled=a.disabled),b.update()})}),r.renderEnd("pieChart immediate"),b}var c=a.models.pie(),d=a.models.legend(),e=a.models.tooltip(),f={top:30,right:20,bottom:20,left:20},g=null,h=null,i=!1,j=!0,k="top",l=a.utils.defaultColor(),m=a.utils.state(),n=null,o=null,p=250,q=d3.dispatch("stateChange","changeState","renderEnd");e.duration(0).headerEnabled(!1).valueFormatter(function(a,b){return c.valueFormat()(a,b)});var r=a.utils.renderWatch(q),s=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},t=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return c.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:b.x()(a.data),value:b.y()(a.data),color:a.color,percent:a.percent},i||(delete a.percent,delete a.series.percent),e.data(a).hidden(!1)}),c.dispatch.on("elementMouseout.tooltip",function(a){e.hidden(!0)}),c.dispatch.on("elementMousemove.tooltip",function(a){e()}),b.legend=d,b.dispatch=q,b.pie=c,b.tooltip=e,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},noData:{get:function(){return o},set:function(a){o=a}},showTooltipPercent:{get:function(){return i},set:function(a){i=a}},showLegend:{get:function(){return j},set:function(a){j=a}},legendPosition:{get:function(){return k},set:function(a){k=a}},defaultState:{get:function(){return n},set:function(a){n=a}},color:{get:function(){return l},set:function(a){l=a,d.color(l),c.color(l)}},duration:{get:function(){return p},set:function(a){p=a,r.reset(p),c.duration(p)}},margin:{get:function(){return f},set:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.scatter=function(){"use strict";function b(a){var b,c;return b=i=i||{},c=a[0].series,b=b[c]=b[c]||{},c=a[1],b=b[c]=b[c]||{}}function c(a){var c,d,e=a[0],f=b(a),g=!1;for(c=1;c<arguments.length;c++)d=arguments[c],f[d]===e[d]&&f.hasOwnProperty(d)||(f[d]=e[d],g=!0);return g}function d(b){return U.reset(),b.each(function(b){function i(){if(T=!1,!z)return!1;if(P===!0){var c=d3.merge(b.map(function(b,c){return b.values.map(function(b,d){var e=s(b,d),f=t(b,d);return[a.utils.NaNtoZero(p(e))+1e-4*Math.random(),a.utils.NaNtoZero(q(f))+1e-4*Math.random(),c,d,b]}).filter(function(a,b){return A(a[4],b)})}));if(0==c.length)return!1;c.length<3&&(c.push([p.range()[0]-20,q.range()[0]-20,null,null]),c.push([p.range()[1]+20,q.range()[1]+20,null,null]),c.push([p.range()[0]-20,q.range()[0]+20,null,null]),c.push([p.range()[1]+20,q.range()[1]-20,null,null]));var d=d3.geom.polygon([[-10,-10],[-10,l+10],[k+10,l+10],[k+10,-10]]),e=d3.geom.voronoi(c).map(function(a,b){return{data:d.clip(a),series:c[b][2],point:c[b][3]}});_.select(".nv-point-paths").selectAll("path").remove();var f=_.select(".nv-point-paths").selectAll("path").data(e),g=f.enter().append("svg:path").attr("d",function(a){return a&&a.data&&0!==a.data.length?"M"+a.data.join(",")+"Z":"M 0 0"}).attr("id",function(a,b){return"nv-path-"+b}).attr("clip-path",function(a,b){return"url(#nv-clip-"+n+"-"+b+")"});if(F&&g.style("fill",d3.rgb(230,230,230)).style("fill-opacity",.4).style("stroke-opacity",1).style("stroke",d3.rgb(200,200,200)),E){_.select(".nv-point-clips").selectAll("*").remove();var h=_.select(".nv-point-clips").selectAll("clipPath").data(c);h.enter().append("svg:clipPath").attr("id",function(a,b){return"nv-clip-"+n+"-"+b}).append("svg:circle").attr("cx",function(a){return a[0]}).attr("cy",function(a){return a[1]}).attr("r",G)}var i=function(a,c){if(T)return 0;var d=b[a.series];if(void 0!==d){var e=d.values[a.point];e.color=m(d,a.series),e.x=s(e),e.y=t(e);var f=o.node().getBoundingClientRect(),g=window.pageYOffset||document.documentElement.scrollTop,h=window.pageXOffset||document.documentElement.scrollLeft,i={left:p(s(e,a.point))+f.left+h+j.left+10,top:q(t(e,a.point))+f.top+g+j.top+10};c({point:e,series:d,pos:i,relativePos:[p(s(e,a.point))+j.left,q(t(e,a.point))+j.top],seriesIndex:a.series,pointIndex:a.point})}};f.on("click",function(a){i(a,O.elementClick)}).on("dblclick",function(a){i(a,O.elementDblClick)}).on("mouseover",function(a){i(a,O.elementMouseover)}).on("mouseout",function(a,b){i(a,O.elementMouseout)})}else _.select(".nv-groups").selectAll(".nv-group").selectAll(".nv-point").on("click",function(a,c){if(T||!b[a.series])return 0;var d=b[a.series],e=d.values[c],f=this;O.elementClick({point:e,series:d,pos:[p(s(e,c))+j.left,q(t(e,c))+j.top],relativePos:[p(s(e,c))+j.left,q(t(e,c))+j.top],seriesIndex:a.series,pointIndex:c,event:d3.event,element:f})}).on("dblclick",function(a,c){if(T||!b[a.series])return 0;var d=b[a.series],e=d.values[c];O.elementDblClick({point:e,series:d,pos:[p(s(e,c))+j.left,q(t(e,c))+j.top],relativePos:[p(s(e,c))+j.left,q(t(e,c))+j.top],seriesIndex:a.series,pointIndex:c})}).on("mouseover",function(a,c){if(T||!b[a.series])return 0;var d=b[a.series],e=d.values[c];O.elementMouseover({point:e,series:d,pos:[p(s(e,c))+j.left,q(t(e,c))+j.top],relativePos:[p(s(e,c))+j.left,q(t(e,c))+j.top],seriesIndex:a.series,pointIndex:c,color:m(a,c)})}).on("mouseout",function(a,c){if(T||!b[a.series])return 0;var d=b[a.series],e=d.values[c];O.elementMouseout({point:e,series:d,pos:[p(s(e,c))+j.left,q(t(e,c))+j.top],relativePos:[p(s(e,c))+j.left,q(t(e,c))+j.top],seriesIndex:a.series,pointIndex:c,color:m(a,c)})})}o=d3.select(this);var Q=a.utils.availableWidth(k,o,j),W=a.utils.availableHeight(l,o,j);a.utils.initSVG(o),b.forEach(function(a,b){a.values.forEach(function(a){a.series=b})});var X=d.yScale().name===d3.scale.log().name,Y=H&&I&&L?[]:d3.merge(b.map(function(a){return a.values.map(function(a,b){return{x:s(a,b),y:t(a,b),size:u(a,b)}})}));if(p.domain(H||d3.extent(Y.map(function(a){return a.x}).concat(w))),B&&b[0]?p.range(J||[(Q*C+Q)/(2*b[0].values.length),Q-Q*(1+C)/(2*b[0].values.length)]):p.range(J||[0,Q]),X){var Z=d3.min(Y.map(function(a){if(0!==a.y)return a.y}));q.clamp(!0).domain(I||d3.extent(Y.map(function(a){return 0!==a.y?a.y:.1*Z}).concat(x))).range(K||[W,0])}else q.domain(I||d3.extent(Y.map(function(a){return a.y}).concat(x))).range(K||[W,0]);r.domain(L||d3.extent(Y.map(function(a){return a.size}).concat(y))).range(M||V),N=p.domain()[0]===p.domain()[1]||q.domain()[0]===q.domain()[1],p.domain()[0]===p.domain()[1]&&(p.domain()[0]?p.domain([p.domain()[0]-.01*p.domain()[0],p.domain()[1]+.01*p.domain()[1]]):p.domain([-1,1])),q.domain()[0]===q.domain()[1]&&(q.domain()[0]?q.domain([q.domain()[0]-.01*q.domain()[0],q.domain()[1]+.01*q.domain()[1]]):q.domain([-1,1])),isNaN(p.domain()[0])&&p.domain([-1,1]),isNaN(q.domain()[0])&&q.domain([-1,1]),e=e||p,f=f||q,g=g||r;var $=p(1)!==e(1)||q(1)!==f(1)||r(1)!==g(1),_=o.selectAll("g.nv-wrap.nv-scatter").data([b]),aa=_.enter().append("g").attr("class","nvd3 nv-wrap nv-scatter nv-chart-"+n),ba=aa.append("defs"),ca=aa.append("g"),da=_.select("g");_.classed("nv-single-point",N),ca.append("g").attr("class","nv-groups"),ca.append("g").attr("class","nv-point-paths"),aa.append("g").attr("class","nv-point-clips"),_.attr("transform","translate("+j.left+","+j.top+")"),ba.append("clipPath").attr("id","nv-edge-clip-"+n).append("rect"),_.select("#nv-edge-clip-"+n+" rect").attr("width",Q).attr("height",W>0?W:0),da.attr("clip-path",D?"url(#nv-edge-clip-"+n+")":""),T=!0;var ea=_.select(".nv-groups").selectAll(".nv-group").data(function(a){return a},function(a){return a.key});ea.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6),ea.exit().remove(),ea.attr("class",function(a,b){return(a.classed||"")+" nv-group nv-series-"+b}).classed("nv-noninteractive",!z).classed("hover",function(a){return a.hover}),ea.watchTransition(U,"scatter: groups").style("fill",function(a,b){return m(a,b)}).style("stroke",function(a,b){return m(a,b)}).style("stroke-opacity",1).style("fill-opacity",.5);var fa=ea.selectAll("path.nv-point").data(function(a){return a.values.map(function(a,b){return[a,b]}).filter(function(a,b){return A(a[0],b)})});if(fa.enter().append("path").attr("class",function(a){return"nv-point nv-point-"+a[1]}).style("fill",function(a){return a.color}).style("stroke",function(a){return a.color}).attr("transform",function(b){return"translate("+a.utils.NaNtoZero(e(s(b[0],b[1])))+","+a.utils.NaNtoZero(f(t(b[0],b[1])))+")"}).attr("d",a.utils.symbol().type(function(a){return v(a[0])}).size(function(a){return r(u(a[0],a[1]))})),fa.exit().remove(),ea.exit().selectAll("path.nv-point").watchTransition(U,"scatter exit").attr("transform",function(b){return"translate("+a.utils.NaNtoZero(p(s(b[0],b[1])))+","+a.utils.NaNtoZero(q(t(b[0],b[1])))+")"}).remove(),fa.filter(function(a){return $||c(a,"x","y")}).watchTransition(U,"scatter points").attr("transform",function(b){return"translate("+a.utils.NaNtoZero(p(s(b[0],b[1])))+","+a.utils.NaNtoZero(q(t(b[0],b[1])))+")"}),fa.filter(function(a){return $||c(a,"shape","size")}).watchTransition(U,"scatter points").attr("d",a.utils.symbol().type(function(a){return v(a[0])}).size(function(a){return r(u(a[0],a[1]))})),S){var ga=ea.selectAll(".nv-label").data(function(a){return a.values.map(function(a,b){return[a,b]}).filter(function(a,b){return A(a[0],b)})});ga.enter().append("text").style("fill",function(a,b){return a.color}).style("stroke-opacity",0).style("fill-opacity",1).attr("transform",function(b){var c=a.utils.NaNtoZero(e(s(b[0],b[1])))+Math.sqrt(r(u(b[0],b[1]))/Math.PI)+2;return"translate("+c+","+a.utils.NaNtoZero(f(t(b[0],b[1])))+")"}).text(function(a,b){return a[0].label}),ga.exit().remove(),ea.exit().selectAll("path.nv-label").watchTransition(U,"scatter exit").attr("transform",function(b){var c=a.utils.NaNtoZero(p(s(b[0],b[1])))+Math.sqrt(r(u(b[0],b[1]))/Math.PI)+2;return"translate("+c+","+a.utils.NaNtoZero(q(t(b[0],b[1])))+")"}).remove(),ga.each(function(a){d3.select(this).classed("nv-label",!0).classed("nv-label-"+a[1],!1).classed("hover",!1)}),ga.watchTransition(U,"scatter labels").attr("transform",function(b){var c=a.utils.NaNtoZero(p(s(b[0],b[1])))+Math.sqrt(r(u(b[0],b[1]))/Math.PI)+2;return"translate("+c+","+a.utils.NaNtoZero(q(t(b[0],b[1])))+")"})}R?(clearTimeout(h),h=setTimeout(i,R)):i(),e=p.copy(),f=q.copy(),g=r.copy()}),U.renderEnd("scatter immediate"),d}var e,f,g,h,i,j={top:0,right:0,bottom:0,left:0},k=null,l=null,m=a.utils.defaultColor(),n=Math.floor(1e5*Math.random()),o=null,p=d3.scale.linear(),q=d3.scale.linear(),r=d3.scale.linear(),s=function(a){return a.x},t=function(a){return a.y},u=function(a){return a.size||1},v=function(a){return a.shape||"circle"},w=[],x=[],y=[],z=!0,A=function(a){return!a.notActive},B=!1,C=.1,D=!1,E=!0,F=!1,G=function(){return 25},H=null,I=null,J=null,K=null,L=null,M=null,N=!1,O=d3.dispatch("elementClick","elementDblClick","elementMouseover","elementMouseout","renderEnd"),P=!0,Q=250,R=300,S=!1,T=!1,U=a.utils.renderWatch(O,Q),V=[16,256];return d.dispatch=O,d.options=a.utils.optionsFunc.bind(d),d._calls=new function(){this.clearHighlights=function(){return a.dom.write(function(){o.selectAll(".nv-point.hover").classed("hover",!1)}),null},this.highlightPoint=function(b,c,d){a.dom.write(function(){o.select(".nv-groups").selectAll(".nv-series-"+b).selectAll(".nv-point-"+c).classed("hover",d)})}},O.on("elementMouseover.point",function(a){z&&d._calls.highlightPoint(a.seriesIndex,a.pointIndex,!0)}),O.on("elementMouseout.point",function(a){z&&d._calls.highlightPoint(a.seriesIndex,a.pointIndex,!1)}),d._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},xScale:{get:function(){return p},set:function(a){p=a}},yScale:{get:function(){return q},set:function(a){q=a}},pointScale:{get:function(){return r},set:function(a){r=a}},xDomain:{get:function(){return H},set:function(a){H=a}},yDomain:{get:function(){return I},set:function(a){I=a}},pointDomain:{get:function(){return L},set:function(a){L=a}},xRange:{get:function(){return J},set:function(a){J=a}},yRange:{get:function(){return K},set:function(a){K=a}},pointRange:{get:function(){return M},set:function(a){M=a}},forceX:{get:function(){return w},set:function(a){w=a}},forceY:{get:function(){return x},set:function(a){x=a}},forcePoint:{get:function(){return y},set:function(a){y=a}},interactive:{get:function(){return z},set:function(a){z=a}},pointActive:{get:function(){return A},set:function(a){A=a}},padDataOuter:{get:function(){return C},set:function(a){C=a}},padData:{get:function(){return B},set:function(a){B=a}},clipEdge:{get:function(){return D},set:function(a){D=a}},clipVoronoi:{get:function(){return E},set:function(a){E=a}},clipRadius:{get:function(){return G},set:function(a){G=a}},showVoronoi:{get:function(){return F},set:function(a){F=a}},id:{get:function(){return n},set:function(a){n=a}},interactiveUpdateDelay:{get:function(){return R},set:function(a){R=a}},showLabels:{get:function(){return S},set:function(a){S=a}},x:{get:function(){return s},set:function(a){s=d3.functor(a)}},y:{get:function(){return t},set:function(a){t=d3.functor(a)}},pointSize:{get:function(){return u},set:function(a){u=d3.functor(a)}},pointShape:{get:function(){return v},set:function(a){v=d3.functor(a)}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},duration:{get:function(){return Q},set:function(a){Q=a,U.reset(Q)}},color:{get:function(){return m},set:function(b){m=a.utils.getColor(b)}},useVoronoi:{get:function(){return P},set:function(a){P=a,P===!1&&(E=!1)}}}),a.utils.initOptions(d),d},a.models.scatterChart=function(){"use strict";function b(z){return E.reset(),E.models(c),t&&E.models(d),u&&E.models(e),q&&E.models(g),r&&E.models(h),z.each(function(z){m=d3.select(this),a.utils.initSVG(m);var H=a.utils.availableWidth(k,m,j),I=a.utils.availableHeight(l,m,j);if(b.update=function(){0===A?m.call(b):m.transition().duration(A).call(b)},b.container=this,w.setter(G(z),b.update).getter(F(z)).update(),w.disabled=z.map(function(a){return!!a.disabled}),!x){var J;x={};for(J in w)w[J]instanceof Array?x[J]=w[J].slice(0):x[J]=w[J]}if(!(z&&z.length&&z.filter(function(a){return a.values.length}).length))return a.utils.noData(b,m),E.renderEnd("scatter immediate"),b;m.selectAll(".nv-noData").remove(),o=c.xScale(),p=c.yScale();var K=m.selectAll("g.nv-wrap.nv-scatterChart").data([z]),L=K.enter().append("g").attr("class","nvd3 nv-wrap nv-scatterChart nv-chart-"+c.id()),M=L.append("g"),N=K.select("g");if(M.append("rect").attr("class","nvd3 nv-background").style("pointer-events","none"),M.append("g").attr("class","nv-x nv-axis"),M.append("g").attr("class","nv-y nv-axis"),M.append("g").attr("class","nv-scatterWrap"),M.append("g").attr("class","nv-regressionLinesWrap"),M.append("g").attr("class","nv-distWrap"),M.append("g").attr("class","nv-legendWrap"),v&&N.select(".nv-y.nv-axis").attr("transform","translate("+H+",0)"),s){var O=H;f.width(O),K.select(".nv-legendWrap").datum(z).call(f),f.height()>j.top&&(j.top=f.height(),I=a.utils.availableHeight(l,m,j)),K.select(".nv-legendWrap").attr("transform","translate(0,"+-j.top+")")}else N.select(".nv-legendWrap").selectAll("*").remove();K.attr("transform","translate("+j.left+","+j.top+")"),c.width(H).height(I).color(z.map(function(a,b){return a.color=a.color||n(a,b),a.color}).filter(function(a,b){return!z[b].disabled})).showLabels(B),K.select(".nv-scatterWrap").datum(z.filter(function(a){return!a.disabled})).call(c),K.select(".nv-regressionLinesWrap").attr("clip-path","url(#nv-edge-clip-"+c.id()+")");var P=K.select(".nv-regressionLinesWrap").selectAll(".nv-regLines").data(function(a){return a});P.enter().append("g").attr("class","nv-regLines");var Q=P.selectAll(".nv-regLine").data(function(a){return[a]});Q.enter().append("line").attr("class","nv-regLine").style("stroke-opacity",0),Q.filter(function(a){return a.intercept&&a.slope}).watchTransition(E,"scatterPlusLineChart: regline").attr("x1",o.range()[0]).attr("x2",o.range()[1]).attr("y1",function(a,b){return p(o.domain()[0]*a.slope+a.intercept)}).attr("y2",function(a,b){return p(o.domain()[1]*a.slope+a.intercept)}).style("stroke",function(a,b,c){return n(a,c)}).style("stroke-opacity",function(a,b){return a.disabled||"undefined"==typeof a.slope||"undefined"==typeof a.intercept?0:1}),t&&(d.scale(o)._ticks(a.utils.calcTicksX(H/100,z)).tickSize(-I,0),N.select(".nv-x.nv-axis").attr("transform","translate(0,"+p.range()[0]+")").call(d)),u&&(e.scale(p)._ticks(a.utils.calcTicksY(I/36,z)).tickSize(-H,0),N.select(".nv-y.nv-axis").call(e)),q&&(g.getData(c.x()).scale(o).width(H).color(z.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!z[b].disabled})),M.select(".nv-distWrap").append("g").attr("class","nv-distributionX"),N.select(".nv-distributionX").attr("transform","translate(0,"+p.range()[0]+")").datum(z.filter(function(a){return!a.disabled})).call(g)),r&&(h.getData(c.y()).scale(p).width(I).color(z.map(function(a,b){return a.color||n(a,b)}).filter(function(a,b){return!z[b].disabled})),M.select(".nv-distWrap").append("g").attr("class","nv-distributionY"),N.select(".nv-distributionY").attr("transform","translate("+(v?H:-h.size())+",0)").datum(z.filter(function(a){return!a.disabled})).call(h)),f.dispatch.on("stateChange",function(a){for(var c in a)w[c]=a[c];y.stateChange(w),b.update()}),y.on("changeState",function(a){"undefined"!=typeof a.disabled&&(z.forEach(function(b,c){b.disabled=a.disabled[c]}),w.disabled=a.disabled),b.update()}),c.dispatch.on("elementMouseout.tooltip",function(a){i.hidden(!0),m.select(".nv-chart-"+c.id()+" .nv-series-"+a.seriesIndex+" .nv-distx-"+a.pointIndex).attr("y1",0),m.select(".nv-chart-"+c.id()+" .nv-series-"+a.seriesIndex+" .nv-disty-"+a.pointIndex).attr("x2",h.size())}),c.dispatch.on("elementMouseover.tooltip",function(a){m.select(".nv-series-"+a.seriesIndex+" .nv-distx-"+a.pointIndex).attr("y1",a.relativePos[1]-I),m.select(".nv-series-"+a.seriesIndex+" .nv-disty-"+a.pointIndex).attr("x2",a.relativePos[0]+g.size()),i.data(a).hidden(!1)}),C=o.copy(),D=p.copy()}),E.renderEnd("scatter with line immediate"),b}var c=a.models.scatter(),d=a.models.axis(),e=a.models.axis(),f=a.models.legend(),g=a.models.distribution(),h=a.models.distribution(),i=a.models.tooltip(),j={top:30,right:20,bottom:50,left:75},k=null,l=null,m=null,n=a.utils.defaultColor(),o=c.xScale(),p=c.yScale(),q=!1,r=!1,s=!0,t=!0,u=!0,v=!1,w=a.utils.state(),x=null,y=d3.dispatch("stateChange","changeState","renderEnd"),z=null,A=250,B=!1;c.xScale(o).yScale(p),d.orient("bottom").tickPadding(10),e.orient(v?"right":"left").tickPadding(10),g.axis("x"),h.axis("y"),i.headerFormatter(function(a,b){return d.tickFormat()(a,b)}).valueFormatter(function(a,b){return e.tickFormat()(a,b)});var C,D,E=a.utils.renderWatch(y,A),F=function(a){return function(){return{active:a.map(function(a){return!a.disabled})}}},G=function(a){return function(b){void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}};return b.dispatch=y,b.scatter=c,b.legend=f,b.xAxis=d,b.yAxis=e,b.distX=g,b.distY=h,b.tooltip=i,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return k},set:function(a){k=a}},height:{get:function(){return l},set:function(a){l=a}},container:{get:function(){return m},set:function(a){m=a}},showDistX:{get:function(){return q},set:function(a){q=a}},showDistY:{get:function(){return r},set:function(a){r=a}},showLegend:{get:function(){return s},set:function(a){s=a}},showXAxis:{get:function(){return t},set:function(a){t=a}},showYAxis:{get:function(){return u},set:function(a){u=a}},defaultState:{get:function(){return x},set:function(a){x=a}},noData:{get:function(){return z},set:function(a){z=a}},duration:{get:function(){return A},set:function(a){A=a}},showLabels:{get:function(){return B},set:function(a){B=a}},margin:{get:function(){return j},set:function(a){j.top=void 0!==a.top?a.top:j.top,j.right=void 0!==a.right?a.right:j.right,j.bottom=void 0!==a.bottom?a.bottom:j.bottom,j.left=void 0!==a.left?a.left:j.left}},rightAlignYAxis:{get:function(){return v},set:function(a){v=a,e.orient(a?"right":"left")}},color:{get:function(){return n},set:function(b){n=a.utils.getColor(b),f.color(n),g.color(n),h.color(n)}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.models.sparkline=function(){"use strict";function b(k){return t.reset(),k.each(function(b){var k=h-g.left-g.right,s=i-g.top-g.bottom;j=d3.select(this),a.utils.initSVG(j),l.domain(c||d3.extent(b,n)).range(e||[0,k]),m.domain(d||d3.extent(b,o)).range(f||[s,0]);var t=j.selectAll("g.nv-wrap.nv-sparkline").data([b]),u=t.enter().append("g").attr("class","nvd3 nv-wrap nv-sparkline");u.append("g"),t.select("g");t.attr("transform","translate("+g.left+","+g.top+")");var v=t.selectAll("path").data(function(a){return[a]});v.enter().append("path"),v.exit().remove(),v.style("stroke",function(a,b){return a.color||p(a,b)}).attr("d",d3.svg.line().x(function(a,b){return l(n(a,b))}).y(function(a,b){return m(o(a,b))}));var w=t.selectAll("circle.nv-point").data(function(a){function b(b){if(b!=-1){var c=a[b];return c.pointIndex=b,c}return null}var c=a.map(function(a,b){return o(a,b)}),d=b(c.lastIndexOf(m.domain()[1])),e=b(c.indexOf(m.domain()[0])),f=b(c.length-1);return[q?e:null,q?d:null,r?f:null].filter(function(a){return null!=a})});w.enter().append("circle"),w.exit().remove(),w.attr("cx",function(a,b){return l(n(a,a.pointIndex))}).attr("cy",function(a,b){return m(o(a,a.pointIndex))}).attr("r",2).attr("class",function(a,b){return n(a,a.pointIndex)==l.domain()[1]?"nv-point nv-currentValue":o(a,a.pointIndex)==m.domain()[0]?"nv-point nv-minValue":"nv-point nv-maxValue"})}),t.renderEnd("sparkline immediate"),b}var c,d,e,f,g={top:2,right:0,bottom:2,left:0},h=400,i=32,j=null,k=!0,l=d3.scale.linear(),m=d3.scale.linear(),n=function(a){return a.x},o=function(a){return a.y},p=a.utils.getColor(["#000"]),q=!0,r=!0,s=d3.dispatch("renderEnd"),t=a.utils.renderWatch(s);return b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return h},set:function(a){h=a}},height:{get:function(){return i},set:function(a){i=a}},xDomain:{get:function(){return c},set:function(a){c=a}},yDomain:{get:function(){return d},set:function(a){d=a}},xRange:{get:function(){return e},set:function(a){e=a}},yRange:{get:function(){return f},set:function(a){f=a}},xScale:{get:function(){return l},set:function(a){l=a}},yScale:{get:function(){return m},set:function(a){m=a}},animate:{get:function(){return k},set:function(a){k=a}},showMinMaxPoints:{get:function(){return q},set:function(a){q=a}},showCurrentPoint:{get:function(){return r},set:function(a){r=a}},x:{get:function(){return n},set:function(a){n=d3.functor(a)}},y:{get:function(){return o},set:function(a){o=d3.functor(a)}},margin:{get:function(){return g},set:function(a){g.top=void 0!==a.top?a.top:g.top,g.right=void 0!==a.right?a.right:g.right,g.bottom=void 0!==a.bottom?a.bottom:g.bottom,g.left=void 0!==a.left?a.left:g.left}},color:{get:function(){return p},set:function(b){p=a.utils.getColor(b)}}}),b.dispatch=s,a.utils.initOptions(b),b},a.models.sparklinePlus=function(){"use strict";function b(p){return r.reset(),r.models(e),p.each(function(p){function q(){if(!j){var a=z.selectAll(".nv-hoverValue").data(i),b=a.enter().append("g").attr("class","nv-hoverValue").style("stroke-opacity",0).style("fill-opacity",0);a.exit().transition().duration(250).style("stroke-opacity",0).style("fill-opacity",0).remove(),a.attr("transform",function(a){return"translate("+c(e.x()(p[a],a))+",0)"}).transition().duration(250).style("stroke-opacity",1).style("fill-opacity",1),i.length&&(b.append("line").attr("x1",0).attr("y1",-f.top).attr("x2",0).attr("y2",u),b.append("text").attr("class","nv-xValue").attr("x",-6).attr("y",-f.top).attr("text-anchor","end").attr("dy",".9em"),z.select(".nv-hoverValue .nv-xValue").text(k(e.x()(p[i[0]],i[0]))),b.append("text").attr("class","nv-yValue").attr("x",6).attr("y",-f.top).attr("text-anchor","start").attr("dy",".9em"),z.select(".nv-hoverValue .nv-yValue").text(l(e.y()(p[i[0]],i[0]))))}}function r(){function a(a,b){for(var c=Math.abs(e.x()(a[0],0)-b),d=0,f=0;f<a.length;f++)Math.abs(e.x()(a[f],f)-b)<c&&(c=Math.abs(e.x()(a[f],f)-b),d=f);return d}if(!j){var b=d3.mouse(this)[0]-f.left;i=[a(p,Math.round(c.invert(b)))],q()}}var s=d3.select(this);a.utils.initSVG(s);var t=a.utils.availableWidth(g,s,f),u=a.utils.availableHeight(h,s,f);if(b.update=function(){s.call(b)},b.container=this,!p||!p.length)return a.utils.noData(b,s),b;s.selectAll(".nv-noData").remove();var v=e.y()(p[p.length-1],p.length-1);c=e.xScale(),d=e.yScale();var w=s.selectAll("g.nv-wrap.nv-sparklineplus").data([p]),x=w.enter().append("g").attr("class","nvd3 nv-wrap nv-sparklineplus"),y=x.append("g"),z=w.select("g");y.append("g").attr("class","nv-sparklineWrap"),y.append("g").attr("class","nv-valueWrap"),y.append("g").attr("class","nv-hoverArea"),w.attr("transform","translate("+f.left+","+f.top+")");var A=z.select(".nv-sparklineWrap");if(e.width(t).height(u),A.call(e),m){var B=z.select(".nv-valueWrap"),C=B.selectAll(".nv-currentValue").data([v]);C.enter().append("text").attr("class","nv-currentValue").attr("dx",o?-8:8).attr("dy",".9em").style("text-anchor",o?"end":"start"),C.attr("x",t+(o?f.right:0)).attr("y",n?function(a){return d(a)}:0).style("fill",e.color()(p[p.length-1],p.length-1)).text(l(v))}y.select(".nv-hoverArea").append("rect").on("mousemove",r).on("click",function(){j=!j}).on("mouseout",function(){i=[],q()}),z.select(".nv-hoverArea rect").attr("transform",function(a){return"translate("+-f.left+","+-f.top+")"}).attr("width",t+f.left+f.right).attr("height",u+f.top)}),r.renderEnd("sparklinePlus immediate"),b}var c,d,e=a.models.sparkline(),f={top:15,right:100,bottom:10,left:50},g=null,h=null,i=[],j=!1,k=d3.format(",r"),l=d3.format(",.2f"),m=!0,n=!0,o=!1,p=null,q=d3.dispatch("renderEnd"),r=a.utils.renderWatch(q);return b.dispatch=q,b.sparkline=e,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return g},set:function(a){g=a}},height:{get:function(){return h},set:function(a){h=a}},xTickFormat:{get:function(){return k},set:function(a){k=a}},yTickFormat:{get:function(){return l},set:function(a){l=a}},showLastValue:{get:function(){return m},set:function(a){m=a}},alignValue:{get:function(){return n},set:function(a){n=a}},rightAlignValue:{get:function(){return o},set:function(a){o=a}},noData:{get:function(){return p},set:function(a){p=a}},margin:{get:function(){return f},set:function(a){f.top=void 0!==a.top?a.top:f.top,f.right=void 0!==a.right?a.right:f.right,f.bottom=void 0!==a.bottom?a.bottom:f.bottom,f.left=void 0!==a.left?a.left:f.left}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.stackedArea=function(){"use strict";function b(n){return v.reset(),v.models(s),n.each(function(n){var t=f-e.left-e.right,w=g-e.top-e.bottom;j=d3.select(this),a.utils.initSVG(j),c=s.xScale(),d=s.yScale();var x=n;n.forEach(function(a,b){a.seriesIndex=b,a.values=a.values.map(function(a,c){return a.index=c,a.seriesIndex=b,a})});var y=n.filter(function(a){return!a.disabled});n=d3.layout.stack().order(p).offset(o).values(function(a){return a.values}).x(k).y(l).out(function(a,b,c){a.display={y:c,y0:b}})(y);var z=j.selectAll("g.nv-wrap.nv-stackedarea").data([n]),A=z.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedarea"),B=A.append("defs"),C=A.append("g"),D=z.select("g");C.append("g").attr("class","nv-areaWrap"),C.append("g").attr("class","nv-scatterWrap"),z.attr("transform","translate("+e.left+","+e.top+")"),0==s.forceY().length&&s.forceY().push(0),s.width(t).height(w).x(k).y(function(a){if(void 0!==a.display)return a.display.y+a.display.y0}).color(n.map(function(a,b){return a.color=a.color||h(a,a.seriesIndex),a.color}));var E=D.select(".nv-scatterWrap").datum(n);E.call(s),B.append("clipPath").attr("id","nv-edge-clip-"+i).append("rect"),z.select("#nv-edge-clip-"+i+" rect").attr("width",t).attr("height",w),D.attr("clip-path",r?"url(#nv-edge-clip-"+i+")":"");var F=d3.svg.area().defined(m).x(function(a,b){return c(k(a,b))}).y0(function(a){return d(a.display.y0)}).y1(function(a){return d(a.display.y+a.display.y0)}).interpolate(q),G=d3.svg.area().defined(m).x(function(a,b){return c(k(a,b))}).y0(function(a){return d(a.display.y0)}).y1(function(a){return d(a.display.y0)}),H=D.select(".nv-areaWrap").selectAll("path.nv-area").data(function(a){return a});H.enter().append("path").attr("class",function(a,b){return"nv-area nv-area-"+b}).attr("d",function(a,b){return G(a.values,a.seriesIndex)}).on("mouseover",function(a,b){d3.select(this).classed("hover",!0),u.areaMouseover({point:a,series:a.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:a.seriesIndex})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1),u.areaMouseout({point:a,series:a.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:a.seriesIndex})}).on("click",function(a,b){d3.select(this).classed("hover",!1),u.areaClick({point:a,series:a.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:a.seriesIndex})}),H.exit().remove(),H.style("fill",function(a,b){return a.color||h(a,a.seriesIndex)}).style("stroke",function(a,b){return a.color||h(a,a.seriesIndex)}),H.watchTransition(v,"stackedArea path").attr("d",function(a,b){return F(a.values,b)}),s.dispatch.on("elementMouseover.area",function(a){D.select(".nv-chart-"+i+" .nv-area-"+a.seriesIndex).classed("hover",!0)}),s.dispatch.on("elementMouseout.area",function(a){D.select(".nv-chart-"+i+" .nv-area-"+a.seriesIndex).classed("hover",!1)}),b.d3_stackedOffset_stackPercent=function(a){var b,c,d,e=a.length,f=a[0].length,g=[];for(c=0;c<f;++c){for(b=0,d=0;b<x.length;b++)d+=l(x[b].values[c]);if(d)for(b=0;b<e;b++)a[b][c][1]/=d;else for(b=0;b<e;b++)a[b][c][1]=0}for(c=0;c<f;++c)g[c]=0;return g}}),v.renderEnd("stackedArea immediate"),b}var c,d,e={top:0,right:0,bottom:0,left:0},f=960,g=500,h=a.utils.defaultColor(),i=Math.floor(1e5*Math.random()),j=null,k=function(a){return a.x},l=function(a){return a.y},m=function(a,b){return!isNaN(l(a,b))&&null!==l(a,b)},n="stack",o="zero",p="default",q="linear",r=!1,s=a.models.scatter(),t=250,u=d3.dispatch("areaClick","areaMouseover","areaMouseout","renderEnd","elementClick","elementMouseover","elementMouseout");s.pointSize(2.2).pointDomain([2.2,2.2]);var v=a.utils.renderWatch(u,t);return b.dispatch=u,b.scatter=s,s.dispatch.on("elementClick",function(){u.elementClick.apply(this,arguments)}),s.dispatch.on("elementMouseover",function(){u.elementMouseover.apply(this,arguments)}),s.dispatch.on("elementMouseout",function(){u.elementMouseout.apply(this,arguments)}),b.interpolate=function(a){return arguments.length?(q=a,b):q},b.duration=function(a){return arguments.length?(t=a,v.reset(t),s.duration(t),b):t},b.dispatch=u,b.scatter=s,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return f},set:function(a){f=a}},height:{get:function(){return g},set:function(a){g=a}},defined:{get:function(){
+return m},set:function(a){m=a}},clipEdge:{get:function(){return r},set:function(a){r=a}},offset:{get:function(){return o},set:function(a){o=a}},order:{get:function(){return p},set:function(a){p=a}},interpolate:{get:function(){return q},set:function(a){q=a}},x:{get:function(){return k},set:function(a){k=d3.functor(a)}},y:{get:function(){return l},set:function(a){l=d3.functor(a)}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left}},color:{get:function(){return h},set:function(b){h=a.utils.getColor(b)}},style:{get:function(){return n},set:function(a){switch(n=a){case"stack":b.offset("zero"),b.order("default");break;case"stream":b.offset("wiggle"),b.order("inside-out");break;case"stream-center":b.offset("silhouette"),b.order("inside-out");break;case"expand":b.offset("expand"),b.order("default");break;case"stack_percent":b.offset(b.d3_stackedOffset_stackPercent),b.order("default")}}},duration:{get:function(){return t},set:function(a){t=a,v.reset(t),s.duration(t)}}}),a.utils.inheritOptions(b,s),a.utils.initOptions(b),b},a.models.stackedAreaChart=function(){"use strict";function b(k){return J.reset(),J.models(e),s&&J.models(f),t&&J.models(g),k.each(function(k){function B(){s&&V.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+R+")").transition().duration(G).call(f)}function J(){if(t){if("expand"===e.style()||"stack_percent"===e.style()){var a=g.tickFormat();H&&a===N||(H=a),g.tickFormat(N)}else H&&(g.tickFormat(H),H=null);V.select(".nv-focus .nv-y.nv-axis").transition().duration(0).call(g)}}function O(a){var b=V.select(".nv-focus .nv-stackedWrap").datum(k.filter(function(a){return!a.disabled}).map(function(b,c){return{key:b.key,area:b.area,classed:b.classed,values:b.values.filter(function(b,c){return e.x()(b,c)>=a[0]&&e.x()(b,c)<=a[1]}),disableTooltip:b.disableTooltip}}));b.transition().duration(G).call(e),B(),J()}var P=d3.select(this);a.utils.initSVG(P);var Q=a.utils.availableWidth(n,P,m),R=a.utils.availableHeight(o,P,m)-(v?l.height():0);if(b.update=function(){P.transition().duration(G).call(b)},b.container=this,z.setter(M(k),b.update).getter(L(k)).update(),z.disabled=k.map(function(a){return!!a.disabled}),!A){var S;A={};for(S in z)z[S]instanceof Array?A[S]=z[S].slice(0):A[S]=z[S]}if(!(k&&k.length&&k.filter(function(a){return a.values.length}).length))return a.utils.noData(b,P),b;P.selectAll(".nv-noData").remove(),c=e.xScale(),d=e.yScale();var T=P.selectAll("g.nv-wrap.nv-stackedAreaChart").data([k]),U=T.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedAreaChart").append("g"),V=T.select("g");U.append("g").attr("class","nv-legendWrap"),U.append("g").attr("class","nv-controlsWrap");var W=U.append("g").attr("class","nv-focus");W.append("g").attr("class","nv-background").append("rect"),W.append("g").attr("class","nv-x nv-axis"),W.append("g").attr("class","nv-y nv-axis"),W.append("g").attr("class","nv-stackedWrap"),W.append("g").attr("class","nv-interactive");U.append("g").attr("class","nv-focusWrap");if(r){var X=q?Q-D:Q;h.width(X),V.select(".nv-legendWrap").datum(k).call(h),h.height()>m.top&&(m.top=h.height(),R=a.utils.availableHeight(o,P,m)-(v?l.height():0)),V.select(".nv-legendWrap").attr("transform","translate("+(Q-X)+","+-m.top+")")}else V.select(".nv-legendWrap").selectAll("*").remove();if(q){var Y=[{key:F.stacked||"Stacked",metaKey:"Stacked",disabled:"stack"!=e.style(),style:"stack"},{key:F.stream||"Stream",metaKey:"Stream",disabled:"stream"!=e.style(),style:"stream"},{key:F.expanded||"Expanded",metaKey:"Expanded",disabled:"expand"!=e.style(),style:"expand"},{key:F.stack_percent||"Stack %",metaKey:"Stack_Percent",disabled:"stack_percent"!=e.style(),style:"stack_percent"}];D=E.length/3*260,Y=Y.filter(function(a){return E.indexOf(a.metaKey)!==-1}),i.width(D).color(["#444","#444","#444"]),V.select(".nv-controlsWrap").datum(Y).call(i),Math.max(i.height(),h.height())>m.top&&(m.top=Math.max(i.height(),h.height()),R=a.utils.availableHeight(o,P,m)),V.select(".nv-controlsWrap").attr("transform","translate(0,"+-m.top+")")}else V.select(".nv-controlsWrap").selectAll("*").remove();T.attr("transform","translate("+m.left+","+m.top+")"),u&&V.select(".nv-y.nv-axis").attr("transform","translate("+Q+",0)"),w&&(j.width(Q).height(R).margin({left:m.left,top:m.top}).svgContainer(P).xScale(c),T.select(".nv-interactive").call(j)),V.select(".nv-focus .nv-background rect").attr("width",Q).attr("height",R),e.width(Q).height(R).color(k.map(function(a,b){return a.color||p(a,b)}).filter(function(a,b){return!k[b].disabled}));var Z=V.select(".nv-focus .nv-stackedWrap").datum(k.filter(function(a){return!a.disabled}));if(s&&f.scale(c)._ticks(a.utils.calcTicksX(Q/100,k)).tickSize(-R,0),t){var $;$="wiggle"===e.offset()?0:a.utils.calcTicksY(R/36,k),g.scale(d)._ticks($).tickSize(-Q,0)}if(v){l.width(Q),V.select(".nv-focusWrap").attr("transform","translate(0,"+(R+m.bottom+l.margin().top)+")").datum(k.filter(function(a){return!a.disabled})).call(l);var _=l.brush.empty()?l.xDomain():l.brush.extent();null!==_&&O(_)}else Z.transition().call(e),B(),J();e.dispatch.on("areaClick.toggle",function(a){1===k.filter(function(a){return!a.disabled}).length?k.forEach(function(a){a.disabled=!1}):k.forEach(function(b,c){b.disabled=c!=a.seriesIndex}),z.disabled=k.map(function(a){return!!a.disabled}),C.stateChange(z),b.update()}),h.dispatch.on("stateChange",function(a){for(var c in a)z[c]=a[c];C.stateChange(z),b.update()}),i.dispatch.on("legendClick",function(a,c){a.disabled&&(Y=Y.map(function(a){return a.disabled=!0,a}),a.disabled=!1,e.style(a.style),z.style=e.style(),C.stateChange(z),b.update())}),j.dispatch.on("elementMousemove",function(c){e.clearHighlights();var d,f,g,h=[],i=0,l=!0;if(k.filter(function(a,b){return a.seriesIndex=b,!a.disabled}).forEach(function(j,k){f=a.interactiveBisect(j.values,c.pointXValue,b.x());var m=j.values[f],n=b.y()(m,f);if(null!=n&&e.highlightPoint(k,f,!0),"undefined"!=typeof m){"undefined"==typeof d&&(d=m),"undefined"==typeof g&&(g=b.xScale()(b.x()(m,f)));var o="expand"==e.style()?m.display.y:b.y()(m,f);h.push({key:j.key,value:o,color:p(j,j.seriesIndex),point:m}),x&&"expand"!=e.style()&&null!=o&&(i+=o,l=!1)}}),h.reverse(),h.length>2){var m=b.yScale().invert(c.mouseY),n=null;h.forEach(function(a,b){m=Math.abs(m);var c=Math.abs(a.point.display.y0),d=Math.abs(a.point.display.y);if(m>=c&&m<=d+c)return void(n=b)}),null!=n&&(h[n].highlight=!0)}x&&"expand"!=e.style()&&h.length>=2&&!l&&h.push({key:y,value:i,total:!0});var o=b.x()(d,f),q=j.tooltip.valueFormatter();"expand"===e.style()||"stack_percent"===e.style()?(I||(I=q),q=d3.format(".1%")):I&&(q=I,I=null),j.tooltip.valueFormatter(q).data({value:o,series:h})(),j.renderGuideLine(g)}),j.dispatch.on("elementMouseout",function(a){e.clearHighlights()}),l.dispatch.on("onBrush",function(a){O(a)}),C.on("changeState",function(a){"undefined"!=typeof a.disabled&&k.length===a.disabled.length&&(k.forEach(function(b,c){b.disabled=a.disabled[c]}),z.disabled=a.disabled),"undefined"!=typeof a.style&&(e.style(a.style),K=a.style),b.update()})}),J.renderEnd("stacked Area chart immediate"),b}var c,d,e=a.models.stackedArea(),f=a.models.axis(),g=a.models.axis(),h=a.models.legend(),i=a.models.legend(),j=a.interactiveGuideline(),k=a.models.tooltip(),l=a.models.focus(a.models.stackedArea()),m={top:30,right:25,bottom:50,left:60},n=null,o=null,p=a.utils.defaultColor(),q=!0,r=!0,s=!0,t=!0,u=!1,v=!1,w=!1,x=!0,y="TOTAL",z=a.utils.state(),A=null,B=null,C=d3.dispatch("stateChange","changeState","renderEnd"),D=250,E=["Stacked","Stream","Expanded"],F={},G=250;z.style=e.style(),f.orient("bottom").tickPadding(7),g.orient(u?"right":"left"),k.headerFormatter(function(a,b){return f.tickFormat()(a,b)}).valueFormatter(function(a,b){return g.tickFormat()(a,b)}),j.tooltip.headerFormatter(function(a,b){return f.tickFormat()(a,b)}).valueFormatter(function(a,b){return null==a?"N/A":g.tickFormat()(a,b)});var H=null,I=null;i.updateState(!1);var J=a.utils.renderWatch(C),K=e.style(),L=function(a){return function(){return{active:a.map(function(a){return!a.disabled}),style:e.style()}}},M=function(a){return function(b){void 0!==b.style&&(K=b.style),void 0!==b.active&&a.forEach(function(a,c){a.disabled=!b.active[c]})}},N=d3.format("%");return e.dispatch.on("elementMouseover.tooltip",function(a){a.point.x=e.x()(a.point),a.point.y=e.y()(a.point),k.data(a).hidden(!1)}),e.dispatch.on("elementMouseout.tooltip",function(a){k.hidden(!0)}),b.dispatch=C,b.stacked=e,b.legend=h,b.controls=i,b.xAxis=f,b.x2Axis=l.xAxis,b.yAxis=g,b.y2Axis=l.yAxis,b.interactiveLayer=j,b.tooltip=k,b.focus=l,b.dispatch=C,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{width:{get:function(){return n},set:function(a){n=a}},height:{get:function(){return o},set:function(a){o=a}},showLegend:{get:function(){return r},set:function(a){r=a}},showXAxis:{get:function(){return s},set:function(a){s=a}},showYAxis:{get:function(){return t},set:function(a){t=a}},defaultState:{get:function(){return A},set:function(a){A=a}},noData:{get:function(){return B},set:function(a){B=a}},showControls:{get:function(){return q},set:function(a){q=a}},controlLabels:{get:function(){return F},set:function(a){F=a}},controlOptions:{get:function(){return E},set:function(a){E=a}},showTotalInTooltip:{get:function(){return x},set:function(a){x=a}},totalLabel:{get:function(){return y},set:function(a){y=a}},focusEnable:{get:function(){return v},set:function(a){v=a}},focusHeight:{get:function(){return l.height()},set:function(a){l.height(a)}},brushExtent:{get:function(){return l.brushExtent()},set:function(a){l.brushExtent(a)}},margin:{get:function(){return m},set:function(a){m.top=void 0!==a.top?a.top:m.top,m.right=void 0!==a.right?a.right:m.right,m.bottom=void 0!==a.bottom?a.bottom:m.bottom,m.left=void 0!==a.left?a.left:m.left}},focusMargin:{get:function(){return l.margin},set:function(a){l.margin.top=void 0!==a.top?a.top:l.margin.top,l.margin.right=void 0!==a.right?a.right:l.margin.right,l.margin.bottom=void 0!==a.bottom?a.bottom:l.margin.bottom,l.margin.left=void 0!==a.left?a.left:l.margin.left}},duration:{get:function(){return G},set:function(a){G=a,J.reset(G),e.duration(G),f.duration(G),g.duration(G)}},color:{get:function(){return p},set:function(b){p=a.utils.getColor(b),h.color(p),e.color(p),l.color(p)}},x:{get:function(){return e.x()},set:function(a){e.x(a),l.x(a)}},y:{get:function(){return e.y()},set:function(a){e.y(a),l.y(a)}},rightAlignYAxis:{get:function(){return u},set:function(a){u=a,g.orient(u?"right":"left")}},useInteractiveGuideline:{get:function(){return w},set:function(a){w=!!a,b.interactive(!a),b.useVoronoi(!a),e.scatter.interactive(!a)}}}),a.utils.inheritOptions(b,e),a.utils.initOptions(b),b},a.models.stackedAreaWithFocusChart=function(){return a.models.stackedAreaChart().margin({bottom:30}).focusEnable(!0)},a.models.sunburst=function(){"use strict";function b(a){var b=c(a);return b>90?180:0}function c(a){var b=Math.max(0,Math.min(2*Math.PI,F(a.x))),c=Math.max(0,Math.min(2*Math.PI,F(a.x+a.dx))),d=(b+c)/2*(180/Math.PI)-90;return d}function d(a){var b=Math.max(0,Math.min(2*Math.PI,F(a.x))),c=Math.max(0,Math.min(2*Math.PI,F(a.x+a.dx)));return(c-b)/(2*Math.PI)}function e(a){var b=Math.max(0,Math.min(2*Math.PI,F(a.x))),c=Math.max(0,Math.min(2*Math.PI,F(a.x+a.dx))),d=c-b;return d>z}function f(a,b){var c=d3.interpolate(F.domain(),[l.x,l.x+l.dx]),d=d3.interpolate(G.domain(),[l.y,1]),e=d3.interpolate(G.range(),[l.y?20:0,o]);return 0===b?function(){return J(a)}:function(b){return F.domain(c(b)),G.domain(d(b)).range(e(b)),J(a)}}function g(a){var b=d3.interpolate({x:a.x0,dx:a.dx0,y:a.y0,dy:a.dy0},a);return function(c){var d=b(c);return a.x0=d.x,a.dx0=d.dx,a.y0=d.y,a.dy0=d.dy,J(d)}}function h(a){var b=B(a);I[b]||(I[b]={});var c=I[b];c.dx=a.dx,c.x=a.x,c.dy=a.dy,c.y=a.y}function i(a){a.forEach(function(a){var b=B(a),c=I[b];c?(a.dx0=c.dx,a.x0=c.x,a.dy0=c.dy,a.y0=c.y):(a.dx0=a.dx,a.x0=a.x,a.dy0=a.dy,a.y0=a.y),h(a)})}function j(a){var d=v.selectAll("text"),g=v.selectAll("path");d.transition().attr("opacity",0),l=a,g.transition().duration(D).attrTween("d",f).each("end",function(d){if(d.x>=a.x&&d.x<a.x+a.dx&&d.depth>=a.depth){var f=d3.select(this.parentNode),g=f.select("text");g.transition().duration(D).text(function(a){return y(a)}).attr("opacity",function(a){return e(a)?1:0}).attr("transform",function(){var e=this.getBBox().width;if(0===d.depth)return"translate("+e/2*-1+",0)";if(d.depth===a.depth)return"translate("+(G(d.y)+5)+",0)";var f=c(d),g=b(d);return 0===g?"rotate("+f+")translate("+(G(d.y)+5)+",0)":"rotate("+f+")translate("+(G(d.y)+e+5)+",0)rotate("+g+")"})}})}function k(f){return K.reset(),f.each(function(f){v=d3.select(this),m=a.utils.availableWidth(q,v,p),n=a.utils.availableHeight(r,v,p),o=Math.min(m,n)/2,G.range([0,o]);var h=v.select("g.nvd3.nv-wrap.nv-sunburst");h[0][0]?h.attr("transform","translate("+(m/2+p.left+p.right)+","+(n/2+p.top+p.bottom)+")"):h=v.append("g").attr("class","nvd3 nv-wrap nv-sunburst nv-chart-"+u).attr("transform","translate("+(m/2+p.left+p.right)+","+(n/2+p.top+p.bottom)+")"),v.on("click",function(a,b){E.chartClick({data:a,index:b,pos:d3.event,id:u})}),H.value(t[s]||t.count);var k=H.nodes(f[0]).reverse();i(k);var l=h.selectAll(".arc-container").data(k,B),z=l.enter().append("g").attr("class","arc-container");z.append("path").attr("d",J).style("fill",function(a){return a.color?a.color:w(C?(a.children?a:a.parent).name:a.name)}).style("stroke","#FFF").on("click",j).on("mouseover",function(a,b){d3.select(this).classed("hover",!0).style("opacity",.8),E.elementMouseover({data:a,color:d3.select(this).style("fill"),percent:d(a)})}).on("mouseout",function(a,b){d3.select(this).classed("hover",!1).style("opacity",1),E.elementMouseout({data:a})}).on("mousemove",function(a,b){E.elementMousemove({data:a})}),l.each(function(a){d3.select(this).select("path").transition().duration(D).attrTween("d",g)}),x&&(l.selectAll("text").remove(),l.append("text").text(function(a){return y(a)}).transition().duration(D).attr("opacity",function(a){return e(a)?1:0}).attr("transform",function(a){var d=this.getBBox().width;if(0===a.depth)return"rotate(0)translate("+d/2*-1+",0)";var e=c(a),f=b(a);return 0===f?"rotate("+e+")translate("+(G(a.y)+5)+",0)":"rotate("+e+")translate("+(G(a.y)+d+5)+",0)rotate("+f+")"})),j(k[k.length-1]),l.exit().transition().duration(D).attr("opacity",0).each("end",function(a){var b=B(a);I[b]=void 0}).remove()}),K.renderEnd("sunburst immediate"),k}var l,m,n,o,p={top:0,right:0,bottom:0,left:0},q=600,r=600,s="count",t={count:function(a){return 1},value:function(a){return a.value||a.size},size:function(a){return a.value||a.size}},u=Math.floor(1e4*Math.random()),v=null,w=a.utils.defaultColor(),x=!1,y=function(a){return"count"===s?a.name+" #"+a.value:a.name+" "+(a.value||a.size)},z=.02,A=function(a,b){return a.name>b.name},B=function(a,b){return a.name},C=!0,D=500,E=d3.dispatch("chartClick","elementClick","elementDblClick","elementMousemove","elementMouseover","elementMouseout","renderEnd"),F=d3.scale.linear().range([0,2*Math.PI]),G=d3.scale.sqrt(),H=d3.layout.partition().sort(A),I={},J=d3.svg.arc().startAngle(function(a){return Math.max(0,Math.min(2*Math.PI,F(a.x)))}).endAngle(function(a){return Math.max(0,Math.min(2*Math.PI,F(a.x+a.dx)))}).innerRadius(function(a){return Math.max(0,G(a.y))}).outerRadius(function(a){return Math.max(0,G(a.y+a.dy))}),K=a.utils.renderWatch(E);return k.dispatch=E,k.options=a.utils.optionsFunc.bind(k),k._options=Object.create({},{width:{get:function(){return q},set:function(a){q=a}},height:{get:function(){return r},set:function(a){r=a}},mode:{get:function(){return s},set:function(a){s=a}},id:{get:function(){return u},set:function(a){u=a}},duration:{get:function(){return D},set:function(a){D=a}},groupColorByParent:{get:function(){return C},set:function(a){C=!!a}},showLabels:{get:function(){return x},set:function(a){x=!!a}},labelFormat:{get:function(){return y},set:function(a){y=a}},labelThreshold:{get:function(){return z},set:function(a){z=a}},sort:{get:function(){return A},set:function(a){A=a}},key:{get:function(){return B},set:function(a){B=a}},margin:{get:function(){return p},set:function(a){p.top=void 0!=a.top?a.top:p.top,p.right=void 0!=a.right?a.right:p.right,p.bottom=void 0!=a.bottom?a.bottom:p.bottom,p.left=void 0!=a.left?a.left:p.left}},color:{get:function(){return w},set:function(b){w=a.utils.getColor(b)}}}),a.utils.initOptions(k),k},a.models.sunburstChart=function(){"use strict";function b(d){return n.reset(),n.models(c),d.each(function(d){var h=d3.select(this);a.utils.initSVG(h);var i=a.utils.availableWidth(f,h,e),j=a.utils.availableHeight(g,h,e);return b.update=function(){0===l?h.call(b):h.transition().duration(l).call(b)},b.container=h,d&&d.length?(h.selectAll(".nv-noData").remove(),c.width(i).height(j).margin(e),void h.call(c)):(a.utils.noData(b,h),b)}),n.renderEnd("sunburstChart immediate"),b}var c=a.models.sunburst(),d=a.models.tooltip(),e={top:30,right:20,bottom:20,left:20},f=null,g=null,h=a.utils.defaultColor(),i=!1,j=(Math.round(1e5*Math.random()),null),k=null,l=250,m=d3.dispatch("stateChange","changeState","renderEnd"),n=a.utils.renderWatch(m);return d.duration(0).headerEnabled(!1).valueFormatter(function(a){return a}),c.dispatch.on("elementMouseover.tooltip",function(a){a.series={key:a.data.name,value:a.data.value||a.data.size,color:a.color,percent:a.percent},i||(delete a.percent,delete a.series.percent),d.data(a).hidden(!1)}),c.dispatch.on("elementMouseout.tooltip",function(a){d.hidden(!0)}),c.dispatch.on("elementMousemove.tooltip",function(a){d()}),b.dispatch=m,b.sunburst=c,b.tooltip=d,b.options=a.utils.optionsFunc.bind(b),b._options=Object.create({},{noData:{get:function(){return k},set:function(a){k=a}},defaultState:{get:function(){return j},set:function(a){j=a}},showTooltipPercent:{get:function(){return i},set:function(a){i=a}},color:{get:function(){return h},set:function(a){h=a,c.color(h)}},duration:{get:function(){return l},set:function(a){l=a,n.reset(l),c.duration(l)}},margin:{get:function(){return e},set:function(a){e.top=void 0!==a.top?a.top:e.top,e.right=void 0!==a.right?a.right:e.right,e.bottom=void 0!==a.bottom?a.bottom:e.bottom,e.left=void 0!==a.left?a.left:e.left,c.margin(e)}}}),a.utils.inheritOptions(b,c),a.utils.initOptions(b),b},a.version="1.8.4"}(),function(){"use strict";angular.module("nvd3",[]).directive("nvd3",["nvd3Utils",function(a){return{restrict:"AE",scope:{data:"=",options:"=",api:"=?",events:"=?",config:"=?"},link:function(b,c,d){function e(a,c,d){a&&c&&angular.forEach(a,function(d,e){"_"===e[0]||("dispatch"===e?(void 0!==c[e]&&null!==c[e]||b._config.extended&&(c[e]={}),f(d,c[e])):["axis","clearHighlights","defined","highlightPoint","nvPointerEventsClass","options","rangeBand","rangeBands","scatter"].indexOf(e)===-1&&(void 0===c[e]||null===c[e]?b._config.extended&&(c[e]=d()):a[e](c[e])))})}function f(a,c){a&&c&&angular.forEach(a,function(d,e){void 0===c[e]||null===c[e]?b._config.extended&&(c[e]=d.on):a.on(e+"._",c[e])})}function g(d){var e=a.deepExtend(i(d),b.options[d]||{});b._config.extended&&(b.options[d]=e);var f=angular.element("<div></div>").html(e.html||"").addClass(d).addClass(e.className).removeAttr("style").css(e.css);e.html||f.text(e.text),e.enable&&("title"===d?c.prepend(f):"subtitle"===d?c.find(".title").after(f):"caption"===d&&c.append(f))}function h(){var d=a.deepExtend(j(),b.options.styles||{});b._config.extended&&(b.options.styles=d),angular.forEach(d.classes,function(a,b){a?c.addClass(b):c.removeClass(b)}),c.removeAttr("style").css(d.css)}function i(a){switch(a){case"title":return{enable:!1,text:"Write Your Title",className:"h4",css:{width:b.options.chart.width+"px",textAlign:"center"}};case"subtitle":return{enable:!1,text:"Write Your Subtitle",css:{width:b.options.chart.width+"px",textAlign:"center"}};case"caption":return{enable:!1,text:"Figure 1. Write Your Caption text.",css:{width:b.options.chart.width+"px",textAlign:"center"}}}}function j(){return{classes:{"with-3d-shadow":!0,"with-transitions":!0,gallery:!1},css:{}}}var k={extended:!1,visible:!0,disabled:!1,autorefresh:!0,refreshDataOnly:!1,deepWatchData:!0,debounce:10};b._config=angular.extend(k,b.config),b.api={refresh:function(){b.api.updateWithOptions(b.options)},update:function(){b.chart.update()},updateWithOptions:function(a){b.api.clearElement(),angular.isDefined(a)!==!1&&b._config.visible&&(b.chart=nv.models[a.chart.type](),b.chart.id=Math.random().toString(36).substr(2,15),angular.forEach(b.chart,function(c,d){"_"===d[0]||["clearHighlights","highlightPoint","id","options","resizeHandler","state"].indexOf(d)>=0||("dispatch"===d?(void 0!==a.chart[d]&&null!==a.chart[d]||b._config.extended&&(a.chart[d]={}),f(b.chart[d],a.chart[d])):["bars","bars1","bars2","boxplot","bullet","controls","discretebar","distX","distY","interactiveLayer","legend","lines","lines1","lines2","multibar","pie","scatter","sparkline","stack1","stack2","sunburst","tooltip","x2Axis","xAxis","y1Axis","y2Axis","y3Axis","y4Axis","yAxis","yAxis1","yAxis2"].indexOf(d)>=0||"stacked"===d&&"stackedAreaChart"===a.chart.type?(void 0!==a.chart[d]&&null!==a.chart[d]||b._config.extended&&(a.chart[d]={}),e(b.chart[d],a.chart[d],a.chart.type)):("xTickFormat"!==d&&"yTickFormat"!==d||"lineWithFocusChart"!==a.chart.type)&&(void 0===a.chart[d]||null===a.chart[d]?b._config.extended&&(a.chart[d]=c()):b.chart[d](a.chart[d])))}),b.api.updateWithData(b.data),(a.title||b._config.extended)&&g("title"),(a.subtitle||b._config.extended)&&g("subtitle"),(a.caption||b._config.extended)&&g("caption"),(a.styles||b._config.extended)&&h(),nv.addGraph(function(){return b.chart.resizeHandler&&b.chart.resizeHandler.clear(),b.chart.resizeHandler=nv.utils.windowResize(function(){b.chart&&b.chart.update&&b.chart.update()}),b.chart},a.chart.callback))},updateWithData:function(a){a&&(b.options.chart.transitionDuration=+b.options.chart.transitionDuration||250,d3.select(c[0]).select("svg").remove(),d3.select(c[0]).append("svg").attr("height",b.options.chart.height).attr("width",b.options.chart.width||"100%").datum(a).transition().duration(b.options.chart.transitionDuration).call(b.chart))},clearElement:function(){if(c.find(".title").remove(),c.find(".subtitle").remove(),c.find(".caption").remove(),c.empty(),nv.graphs&&b.chart)for(var a=nv.graphs.length-1;a>=0;a--)nv.graphs[a].id===b.chart.id&&nv.graphs.splice(a,1);nv.tooltip&&nv.tooltip.cleanup&&nv.tooltip.cleanup(),b.chart=null},getScope:function(){return b}},b.$watch("options",a.debounce(function(a){!b._config.disabled&&b._config.autorefresh&&b.api.refresh()},b._config.debounce,!0),!0),b.$watch("data",function(a,c){a!==c&&b.chart&&!b._config.disabled&&b._config.autorefresh&&(b._config.refreshDataOnly?b.chart.update():b.api.refresh())},b._config.deepWatchData),b.$watch("config",function(a,c){a!==c&&(b._config=angular.extend(k,a),b.api.refresh())},!0),angular.forEach(b.events,function(a,c){b.$on(c,function(c){return a(c,b)})}),c.on("$destroy",function(){b.api.clearElement()})}}}]).factory("nvd3Utils",function(){return{debounce:function(a,b,c){var d;return function(){var e=this,f=arguments,g=function(){d=null,c||a.apply(e,f)},h=c&&!d;clearTimeout(d),d=setTimeout(g,b),h&&a.apply(e,f)}},deepExtend:function(a){var b=this;return angular.forEach(arguments,function(c){c!==a&&angular.forEach(c,function(c,d){a[d]&&a[d].constructor&&a[d].constructor===Object?b.deepExtend(a[d],c):a[d]=c})}),a}}})}(),function(a,b){"use strict";function c(a,b,c){if(!a)throw pa("areq","Argument '{0}' is {1}",b||"?",c||"required");return a}function d(a,b){return a||b?a?b?(X(a)&&(a=a.join(" ")),X(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function e(a){var b={};return a&&(a.to||a.from)&&(b.to=a.to,b.from=a.from),b}function f(a,b,c){var d="";return a=X(a)?a:a&&aa(a)&&a.length?a.split(/\s+/):[],W(a,function(a,e){a&&a.length>0&&(d+=e>0?" ":"",d+=c?b+a:a+b)}),d}function g(a,b){var c=a.indexOf(b);b>=0&&a.splice(c,1)}function h(a){if(a instanceof ca)switch(a.length){case 0:return a;case 1:if(a[0].nodeType===L)return a;break;default:return ca(i(a))}if(a.nodeType===L)return ca(a)}function i(a){if(!a[0])return a;for(var b=0;b<a.length;b++){var c=a[b];if(c.nodeType===L)return c}}function j(a,b,c){W(b,function(b){a.addClass(b,c)})}function k(a,b,c){W(b,function(b){a.removeClass(b,c)})}function l(a){return function(b,c){c.addClass&&(j(a,b,c.addClass),c.addClass=null),c.removeClass&&(k(a,b,c.removeClass),c.removeClass=null)}}function m(a){if(a=a||{},!a.$$prepared){var b=a.domOperation||da;a.domOperation=function(){a.$$domOperationFired=!0,b(),b=da},a.$$prepared=!0}return a}function n(a,b){o(a,b),p(a,b)}function o(a,b){b.from&&(a.css(b.from),b.from=null)}function p(a,b){b.to&&(a.css(b.to),b.to=null)}function q(a,b,c){var d=b.options||{},e=c.options||{},f=(d.addClass||"")+" "+(e.addClass||""),g=(d.removeClass||"")+" "+(e.removeClass||""),h=r(a.attr("class"),f,g);e.preparationClasses&&(d.preparationClasses=y(e.preparationClasses,d.preparationClasses),delete e.preparationClasses);var i=d.domOperation!==da?d.domOperation:null;return V(d,e),i&&(d.domOperation=i),h.addClass?d.addClass=h.addClass:d.addClass=null,h.removeClass?d.removeClass=h.removeClass:d.removeClass=null,b.addClass=d.addClass,b.removeClass=d.removeClass,d}function r(a,b,c){function d(a){aa(a)&&(a=a.split(" "));var b={};return W(a,function(a){a.length&&(b[a]=!0)}),b}var e=1,f=-1,g={};a=d(a),b=d(b),W(b,function(a,b){g[b]=e}),c=d(c),W(c,function(a,b){g[b]=g[b]===e?null:f});var h={addClass:"",removeClass:""};return W(g,function(b,c){var d,g;b===e?(d="addClass",g=!a[c]||a[c+N]):b===f&&(d="removeClass",g=a[c]||a[c+M]),g&&(h[d].length&&(h[d]+=" "),h[d]+=c)}),h}function s(a){return a instanceof ca?a[0]:a}function t(a,b,c){var d="";b&&(d=f(b,O,!0)),c.addClass&&(d=y(d,f(c.addClass,M))),c.removeClass&&(d=y(d,f(c.removeClass,N))),d.length&&(c.preparationClasses=d,a.addClass(d))}function u(a,b){b.preparationClasses&&(a.removeClass(b.preparationClasses),b.preparationClasses=null),b.activeClasses&&(a.removeClass(b.activeClasses),b.activeClasses=null)}function v(a,b){var c=b?"-"+b+"s":"";return x(a,[na,c]),[na,c]}function w(a,b){var c=b?"paused":"",d=J+ja;return x(a,[d,c]),[d,c]}function x(a,b){var c=b[0],d=b[1];a.style[c]=d}function y(a,b){return a?b?a+" "+b:a:b}function z(a){return[ma,a+"s"]}function A(a,b){var c=b?la:na;return[c,a+"s"]}function B(a,b,c){var d=Object.create(null),e=a.getComputedStyle(b)||{};return W(c,function(a,b){var c=e[a];if(c){var f=c.charAt(0);("-"===f||"+"===f||f>=0)&&(c=C(c)),0===c&&(c=null),d[b]=c}}),d}function C(a){var b=0,c=a.split(/\s*,\s*/);return W(c,function(a){"s"===a.charAt(a.length-1)&&(a=a.substring(0,a.length-1)),a=parseFloat(a)||0,b=b?Math.max(a,b):a}),b}function D(a){return 0===a||null!=a}function E(a,b){var c=H,d=a+"s";return b?c+=ea:d+=" linear all",[c,d]}function F(){var a=Object.create(null);return{flush:function(){a=Object.create(null)},count:function(b){var c=a[b];return c?c.total:0},get:function(b){var c=a[b];return c&&c.value},put:function(b,c){a[b]?a[b].total++:a[b]={total:1,value:c}}}}function G(a,b,c){W(c,function(c){a[c]=Y(a[c])?a[c]:b.style.getPropertyValue(c)})}var H,I,J,K,L=1,M="-add",N="-remove",O="ng-",P="-active",Q="-prepare",R="ng-animate",S="$$ngAnimateChildren",T="";void 0===a.ontransitionend&&void 0!==a.onwebkittransitionend?(T="-webkit-",H="WebkitTransition",I="webkitTransitionEnd transitionend"):(H="transition",I="transitionend"),void 0===a.onanimationend&&void 0!==a.onwebkitanimationend?(T="-webkit-",J="WebkitAnimation",K="webkitAnimationEnd animationend"):(J="animation",K="animationend");var U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea="Duration",fa="Property",ga="Delay",ha="TimingFunction",ia="IterationCount",ja="PlayState",ka=9999,la=J+ga,ma=J+ea,na=H+ga,oa=H+ea,pa=b.$$minErr("ng"),qa=["$$rAF",function(a){function b(a){d=d.concat(a),c()}function c(){if(d.length){for(var b=d.shift(),f=0;f<b.length;f++)b[f]();e||a(function(){e||c()})}}var d,e;return d=b.queue=[],b.waitUntilQuiet=function(b){e&&e(),e=a(function(){e=null,b(),c()})},b}],ra=["$interpolate",function(a){return{link:function(b,c,d){function e(a){a="on"===a||"true"===a,c.data(S,a)}var f=d.ngAnimateChildren;aa(f)&&0===f.length?c.data(S,!0):(e(a(f)(b)),d.$observe("ngAnimateChildren",e))}}}],sa="$$animateCss",ta=1e3,ua=3,va=1.5,wa={transitionDuration:oa,transitionDelay:na,transitionProperty:H+fa,animationDuration:ma,animationDelay:la,animationIterationCount:J+ia},xa={transitionDuration:oa,transitionDelay:na,animationDuration:ma,animationDelay:la},ya=["$animateProvider",function(a){var b=F(),c=F();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$$animateQueue",function(a,d,h,i,j,k,q,r){function t(a,b){var c="$$ngAnimateParentKey",d=a.parentNode,e=d[c]||(d[c]=++Q);return e+"-"+a.getAttribute("class")+"-"+b}function u(c,d,e,f){var g=b.get(e);return g||(g=B(a,c,f),"infinite"===g.animationIterationCount&&(g.animationIterationCount=1)),b.put(e,g),g}function y(e,g,h,i){var j;if(b.count(h)>0&&(j=c.get(h),!j)){var k=f(g,"-stagger");d.addClass(e,k),j=B(a,e,i),j.animationDuration=Math.max(j.animationDuration,0),j.transitionDuration=Math.max(j.transitionDuration,0),d.removeClass(e,k),c.put(h,j)}return j||{}}function C(a){R.push(a),q.waitUntilQuiet(function(){b.flush(),c.flush();for(var a=j(),d=0;d<R.length;d++)R[d](a);R.length=0})}function F(a,b,c){var d=u(a,b,c,wa),e=d.animationDelay,f=d.transitionDelay;return d.maxDelay=e&&f?Math.max(e,f):e||f,d.maxDuration=Math.max(d.animationDuration*d.animationIterationCount,d.transitionDuration),d}var L=l(d),Q=0,R=[];return function(a,c){function j(){q()}function l(){q(!0)}function q(b){if(!(Y||$&&Z)){Y=!0,Z=!1,S.$$skipPreparationClasses||d.removeClass(a,wa),d.removeClass(a,za),w(V,!1),v(V,!1),W(ja,function(a){V.style[a[0]]=""}),L(a,S),n(a,S),Object.keys(T).length&&W(T,function(a,b){a?V.style.setProperty(b,a):V.style.removeProperty(b)}),S.onDone&&S.onDone(),na&&na.length&&a.off(na.join(" "),Q);var c=a.data(sa);c&&(i.cancel(c[0].timer),a.removeData(sa)),_&&_.complete(!b)}}function u(a){Na.blockTransition&&v(V,a),Na.blockKeyframeAnimation&&w(V,!!a)}function B(){return _=new h({end:j,cancel:l}),C(da),q(),{$$willAnimate:!1,start:function(){return _},end:j}}function Q(a){a.stopPropagation();var b=a.originalEvent||a;if(b.target===V){var c=b.$manualTimeStamp||Date.now(),d=parseFloat(b.elapsedTime.toFixed(ua));Math.max(c-ia,0)>=ca&&d>=ea&&($=!0,q())}}function R(){function b(){if(!Y){if(u(!1),W(ja,function(a){var b=a[0],c=a[1];V.style[b]=c}),L(a,S),d.addClass(a,za),Na.recalculateTimingStyles){if(ya=V.getAttribute("class")+" "+wa,Ca=t(V,ya),La=F(V,ya,Ca),Ma=La.maxDelay,ba=Math.max(Ma,0),ea=La.maxDuration,0===ea)return void q();Na.hasTransitions=La.transitionDuration>0,Na.hasAnimations=La.animationDuration>0}if(Na.applyAnimationDelay&&(Ma="boolean"!=typeof S.delay&&D(S.delay)?parseFloat(S.delay):Ma,ba=Math.max(Ma,0),La.animationDelay=Ma,Oa=A(Ma,!0),ja.push(Oa),V.style[Oa[0]]=Oa[1]),ca=ba*ta,ga=ea*ta,S.easing){var b,e=S.easing;Na.hasTransitions&&(b=H+ha,ja.push([b,e]),V.style[b]=e),Na.hasAnimations&&(b=J+ha,ja.push([b,e]),V.style[b]=e)}La.transitionDuration&&na.push(I),La.animationDuration&&na.push(K),ia=Date.now();var f=ca+va*ga,g=ia+f,h=a.data(sa)||[],j=!0;if(h.length){var k=h[0];j=g>k.expectedEndTime,j?i.cancel(k.timer):h.push(q)}if(j){var l=i(c,f,!1);h[0]={timer:l,expectedEndTime:g},h.push(q),a.data(sa,h)}na.length&&a.on(na.join(" "),Q),S.to&&(S.cleanupStyles&&G(T,V,Object.keys(S.to)),p(a,S))}}function c(){var b=a.data(sa);if(b){for(var c=1;c<b.length;c++)b[c]();a.removeData(sa)}}if(!Y){if(!V.parentNode)return void q();var e=function(a){if($)Z&&a&&(Z=!1,q());else if(Z=!a,La.animationDuration){var b=w(V,Z);Z?ja.push(b):g(ja,b)}},f=Ja>0&&(La.transitionDuration&&0===Da.transitionDuration||La.animationDuration&&0===Da.animationDuration)&&Math.max(Da.animationDelay,Da.transitionDelay);f?i(b,Math.floor(f*Ja*ta),!1):b(),aa.resume=function(){e(!0)},aa.pause=function(){e(!1)}}}var S=c||{};
+S.$$prepared||(S=m(U(S)));var T={},V=s(a);if(!V||!V.parentNode||!r.enabled())return B();var Y,Z,$,_,aa,ba,ca,ea,ga,ia,ja=[],la=a.attr("class"),ma=e(S),na=[];if(0===S.duration||!k.animations&&!k.transitions)return B();var oa=S.event&&X(S.event)?S.event.join(" "):S.event,pa=oa&&S.structural,qa="",ra="";pa?qa=f(oa,O,!0):oa&&(qa=oa),S.addClass&&(ra+=f(S.addClass,M)),S.removeClass&&(ra.length&&(ra+=" "),ra+=f(S.removeClass,N)),S.applyClassesEarly&&ra.length&&L(a,S);var wa=[qa,ra].join(" ").trim(),ya=la+" "+wa,za=f(wa,P),Aa=ma.to&&Object.keys(ma.to).length>0,Ba=(S.keyframeStyle||"").length>0;if(!Ba&&!Aa&&!wa)return B();var Ca,Da;if(S.stagger>0){var Ea=parseFloat(S.stagger);Da={transitionDelay:Ea,animationDelay:Ea,transitionDuration:0,animationDuration:0}}else Ca=t(V,ya),Da=y(V,wa,Ca,xa);S.$$skipPreparationClasses||d.addClass(a,wa);var Fa;if(S.transitionStyle){var Ga=[H,S.transitionStyle];x(V,Ga),ja.push(Ga)}if(S.duration>=0){Fa=V.style[H].length>0;var Ha=E(S.duration,Fa);x(V,Ha),ja.push(Ha)}if(S.keyframeStyle){var Ia=[J,S.keyframeStyle];x(V,Ia),ja.push(Ia)}var Ja=Da?S.staggerIndex>=0?S.staggerIndex:b.count(Ca):0,Ka=0===Ja;Ka&&!S.skipBlocking&&v(V,ka);var La=F(V,ya,Ca),Ma=La.maxDelay;ba=Math.max(Ma,0),ea=La.maxDuration;var Na={};if(Na.hasTransitions=La.transitionDuration>0,Na.hasAnimations=La.animationDuration>0,Na.hasTransitionAll=Na.hasTransitions&&"all"===La.transitionProperty,Na.applyTransitionDuration=Aa&&(Na.hasTransitions&&!Na.hasTransitionAll||Na.hasAnimations&&!Na.hasTransitions),Na.applyAnimationDuration=S.duration&&Na.hasAnimations,Na.applyTransitionDelay=D(S.delay)&&(Na.applyTransitionDuration||Na.hasTransitions),Na.applyAnimationDelay=D(S.delay)&&Na.hasAnimations,Na.recalculateTimingStyles=ra.length>0,(Na.applyTransitionDuration||Na.applyAnimationDuration)&&(ea=S.duration?parseFloat(S.duration):ea,Na.applyTransitionDuration&&(Na.hasTransitions=!0,La.transitionDuration=ea,Fa=V.style[H+fa].length>0,ja.push(E(ea,Fa))),Na.applyAnimationDuration&&(Na.hasAnimations=!0,La.animationDuration=ea,ja.push(z(ea)))),0===ea&&!Na.recalculateTimingStyles)return B();if(null!=S.delay){var Oa;"boolean"!=typeof S.delay&&(Oa=parseFloat(S.delay),ba=Math.max(Oa,0)),Na.applyTransitionDelay&&ja.push(A(Oa)),Na.applyAnimationDelay&&ja.push(A(Oa,!0))}return null==S.duration&&La.transitionDuration>0&&(Na.recalculateTimingStyles=Na.recalculateTimingStyles||Ka),ca=ba*ta,ga=ea*ta,S.skipBlocking||(Na.blockTransition=La.transitionDuration>0,Na.blockKeyframeAnimation=La.animationDuration>0&&Da.animationDelay>0&&0===Da.animationDuration),S.from&&(S.cleanupStyles&&G(T,V,Object.keys(S.from)),o(a,S)),Na.blockTransition||Na.blockKeyframeAnimation?u(ea):S.skipBlocking||v(V,!1),{$$willAnimate:!0,end:j,start:function(){if(!Y)return aa={end:j,cancel:l,resume:null,pause:null},_=new h(aa),C(R),_}}}}]}],za=["$$animationProvider",function(a){function b(a){return a.parentNode&&11===a.parentNode.nodeType}a.drivers.push("$$animateCssDriver");var c="ng-animate-shim",d="ng-anchor",e="ng-anchor-out",f="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function(a,g,h,i,j,k,l){function m(a){return a.replace(/\bng-\S+\b/g,"")}function n(a,b){return aa(a)&&(a=a.split(" ")),aa(b)&&(b=b.split(" ")),a.filter(function(a){return b.indexOf(a)===-1}).join(" ")}function o(b,g,i){function j(a){var b={},c=s(a).getBoundingClientRect();return W(["width","height","top","left"],function(a){var d=c[a];switch(a){case"top":d+=r.scrollTop;break;case"left":d+=r.scrollLeft}b[a]=Math.floor(d)+"px"}),b}function k(){var b=a(q,{addClass:e,delay:!0,from:j(g)});return b.$$willAnimate?b:null}function l(a){return a.attr("class")||""}function o(){var b=m(l(i)),c=n(b,t),d=n(t,b),g=a(q,{to:j(i),addClass:f+" "+c,removeClass:e+" "+d,delay:!0});return g.$$willAnimate?g:null}function p(){q.remove(),g.removeClass(c),i.removeClass(c)}var q=ca(s(g).cloneNode(!0)),t=m(l(q));g.addClass(c),i.addClass(c),q.addClass(d),u.append(q);var v,w=k();if(!w&&(v=o(),!v))return p();var x=w||v;return{start:function(){function a(){c&&c.end()}var b,c=x.start();return c.done(function(){return c=null,!v&&(v=o())?(c=v.start(),c.done(function(){c=null,p(),b.complete()}),c):(p(),void b.complete())}),b=new h({end:a,cancel:a})}}}function p(a,b,c,d){var e=q(a,da),f=q(b,da),g=[];if(W(d,function(a){var b=a.out,d=a["in"],e=o(c,b,d);e&&g.push(e)}),e||f||0!==g.length)return{start:function(){function a(){W(b,function(a){a.end()})}var b=[];e&&b.push(e.start()),f&&b.push(f.start()),W(g,function(a){b.push(a.start())});var c=new h({end:a,cancel:a});return h.all(b,function(a){c.complete(a)}),c}}}function q(b){var c=b.element,d=b.options||{};b.structural&&(d.event=b.event,d.structural=!0,d.applyClassesEarly=!0,"leave"===b.event&&(d.onDone=d.domOperation)),d.preparationClasses&&(d.event=y(d.event,d.preparationClasses));var e=a(c,d);return e.$$willAnimate?e:null}if(!j.animations&&!j.transitions)return da;var r=l[0].body,t=s(i),u=ca(b(t)||r.contains(t)?t:r);return function(a){return a.from&&a.to?p(a.from,a.to,a.classes,a.anchors):q(a)}}]}],Aa=["$animateProvider",function(a){this.$get=["$injector","$$AnimateRunner","$$jqLite",function(b,c,d){function e(c){c=X(c)?c:c.split(" ");for(var d=[],e={},f=0;f<c.length;f++){var g=c[f],h=a.$$registeredAnimations[g];h&&!e[g]&&(d.push(b.get(h)),e[g]=!0)}return d}var f=l(d);return function(a,b,d,g){function h(){g.domOperation(),f(a,g)}function i(){o=!0,h(),n(a,g)}function j(a,b,d,e,f){var g;switch(d){case"animate":g=[b,e.from,e.to,f];break;case"setClass":g=[b,r,s,f];break;case"addClass":g=[b,r,f];break;case"removeClass":g=[b,s,f];break;default:g=[b,f]}g.push(e);var h=a.apply(a,g);if(h)if($(h.start)&&(h=h.start()),h instanceof c)h.done(f);else if($(h))return h;return da}function k(a,b,d,e,f){var g=[];return W(e,function(e){var h=e[f];h&&g.push(function(){var e,f,g=!1,i=function(a){g||(g=!0,(f||da)(a),e.complete(!a))};return e=new c({end:function(){i()},cancel:function(){i(!0)}}),f=j(h,a,b,d,function(a){var b=a===!1;i(b)}),e})}),g}function l(a,b,d,e,f){var g=k(a,b,d,e,f);if(0===g.length){var h,i;"beforeSetClass"===f?(h=k(a,"removeClass",d,e,"beforeRemoveClass"),i=k(a,"addClass",d,e,"beforeAddClass")):"setClass"===f&&(h=k(a,"removeClass",d,e,"removeClass"),i=k(a,"addClass",d,e,"addClass")),h&&(g=g.concat(h)),i&&(g=g.concat(i))}if(0!==g.length)return function(a){var b=[];return g.length&&W(g,function(a){b.push(a())}),b.length?c.all(b,a):a(),function(a){W(b,function(b){a?b.cancel():b.end()})}}}var o=!1;3===arguments.length&&_(d)&&(g=d,d=null),g=m(g),d||(d=a.attr("class")||"",g.addClass&&(d+=" "+g.addClass),g.removeClass&&(d+=" "+g.removeClass));var p,q,r=g.addClass,s=g.removeClass,t=e(d);if(t.length){var u,v;"leave"===b?(v="leave",u="afterLeave"):(v="before"+b.charAt(0).toUpperCase()+b.substr(1),u=b),"enter"!==b&&"move"!==b&&(p=l(a,b,g,t,v)),q=l(a,b,g,t,u)}if(p||q){var w;return{$$willAnimate:!0,end:function(){return w?w.end():(i(),w=new c,w.complete(!0)),w},start:function(){function a(a){i(a),w.complete(a)}function b(b){o||((d||da)(b),a(b))}if(w)return w;w=new c;var d,e=[];return p&&e.push(function(a){d=p(a)}),e.length?e.push(function(a){h(),a(!0)}):h(),q&&e.push(function(a){d=q(a)}),w.setHost({end:function(){b()},cancel:function(){b(!0)}}),c.chain(e,a),w}}}}}]}],Ba=["$$animationProvider",function(a){a.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function(a,b){function c(b){var c=b.element,d=b.event,e=b.options,f=b.classes;return a(c,d,f,e)}return function(a){if(a.from&&a.to){var d=c(a.from),e=c(a.to);if(!d&&!e)return;return{start:function(){function a(){return function(){W(f,function(a){a.end()})}}function c(a){g.complete(a)}var f=[];d&&f.push(d.start()),e&&f.push(e.start()),b.all(f,c);var g=new b({end:a(),cancel:a()});return g}}}return c(a)}}]}],Ca="data-ng-animate",Da="$ngAnimatePin",Ea=["$animateProvider",function(b){function d(a){if(!a)return null;var b=a.split(o),c=Object.create(null);return W(b,function(a){c[a]=!0}),c}function e(a,b){if(a&&b){var c=d(b);return a.split(o).some(function(a){return c[a]})}}function f(a,b,c){return p[a].some(function(a){return a(b,c)})}function g(a,b){var c=(a.addClass||"").length>0,d=(a.removeClass||"").length>0;return b?c&&d:c||d}var j=1,k=2,o=" ",p=this.rules={skip:[],cancel:[],join:[]};p.join.push(function(a,b){return!a.structural&&g(a)}),p.skip.push(function(a,b){return!a.structural&&!g(a)}),p.skip.push(function(a,b){return"leave"===b.event&&a.structural}),p.skip.push(function(a,b){return b.structural&&b.state===k&&!a.structural}),p.cancel.push(function(a,b){return b.structural&&a.structural}),p.cancel.push(function(a,b){return b.state===k&&a.structural}),p.cancel.push(function(a,b){if(b.structural)return!1;var c=a.addClass,d=a.removeClass,f=b.addClass,g=b.removeClass;return!(ba(c)&&ba(d)||ba(f)&&ba(g))&&(e(c,g)||e(d,f))}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$Map","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow","$$isDocumentHidden",function(d,e,o,p,r,v,w,x,y,z,A){function B(){var a=!1;return function(b){a?b():e.$$postDigest(function(){a=!0,b()})}}function C(a,b){return q(a,b,{})}function D(a,b,c){var d=[],e=Q[c];return e&&W(e,function(e){ga.call(e.node,b)?d.push(e.callback):"leave"===c&&ga.call(e.node,a)&&d.push(e.callback)}),d}function E(a,b,c){var d=i(b);return a.filter(function(a){var b=a.node===d&&(!c||a.callback===c);return!b})}function F(a,b){"close"!==a||b.parentNode||ha.off(b)}function G(a,b,c){function i(a,b,c,e){z(function(){var a=D(x,r,b);a.length?d(function(){W(a,function(a){a(p,c,e)}),F(c,r)}):F(c,r)}),a.progress(b,c,e)}function l(a){u(p,o),fa(p,o),n(p,o),o.domOperation(),y.complete(!a)}var o=U(c),p=h(a),r=s(p),x=r&&r.parentNode;o=m(o);var y=new w,z=B();if(X(o.addClass)&&(o.addClass=o.addClass.join(" ")),o.addClass&&!aa(o.addClass)&&(o.addClass=null),X(o.removeClass)&&(o.removeClass=o.removeClass.join(" ")),o.removeClass&&!aa(o.removeClass)&&(o.removeClass=null),o.from&&!_(o.from)&&(o.from=null),o.to&&!_(o.to)&&(o.to=null),!(O&&r&&da(r,b,c)&&ea(r,o)))return l(),y;var E=["enter","move","leave"].indexOf(b)>=0,G=A(),L=G||N.get(r),P=!L&&M.get(r)||{},Q=!!P.state;if(L||Q&&P.state===j||(L=!J(r,x,b)),L)return G&&i(y,b,"start"),l(),G&&i(y,b,"close"),y;E&&H(r);var R={structural:E,element:p,event:b,addClass:o.addClass,removeClass:o.removeClass,close:l,options:o,runner:y};if(Q){var S=f("skip",R,P);if(S)return P.state===k?(l(),y):(q(p,P,R),P.runner);var T=f("cancel",R,P);if(T)if(P.state===k)P.runner.end();else{if(!P.structural)return q(p,P,R),P.runner;P.close()}else{var V=f("join",R,P);if(V){if(P.state!==k)return t(p,E?b:null,o),b=R.event=P.event,o=q(p,P,R),P.runner;C(p,R)}}}else C(p,R);var Y=R.structural;if(Y||(Y="animate"===R.event&&Object.keys(R.options.to||{}).length>0||g(R)),!Y)return l(),I(r),y;var Z=(P.counter||0)+1;return R.counter=Z,K(r,j,R),e.$$postDigest(function(){p=h(a);var c=M.get(r),d=!c;c=c||{};var e=p.parent()||[],f=e.length>0&&("animate"===c.event||c.structural||g(c));if(d||c.counter!==Z||!f)return d&&(fa(p,o),n(p,o)),(d||E&&c.event!==b)&&(o.domOperation(),y.end()),void(f||I(r));b=!c.structural&&g(c,!0)?"setClass":c.event,K(r,k);var j=v(p,b,c.options);y.setHost(j),i(y,b,"start",{}),j.done(function(a){l(!a);var c=M.get(r);c&&c.counter===Z&&I(r),i(y,b,"close",{})})}),y}function H(a){var b=a.querySelectorAll("["+Ca+"]");W(b,function(a){var b=parseInt(a.getAttribute(Ca),10),c=M.get(a);if(c)switch(b){case k:c.runner.end();case j:M["delete"](a)}})}function I(a){a.removeAttribute(Ca),M["delete"](a)}function J(a,b,c){var d,e=p[0].body,f=s(o),g=a===e||"HTML"===a.nodeName,h=a===f,i=!1,j=N.get(a),k=ca.data(a,Da);for(k&&(b=s(k));b&&(h||(h=b===f),b.nodeType===L);){var l=M.get(b)||{};if(!i){var m=N.get(b);if(m===!0&&j!==!1){j=!0;break}m===!1&&(j=!1),i=l.structural}if(ba(d)||d===!0){var n=ca.data(b,S);Y(n)&&(d=n)}if(i&&d===!1)break;if(g||(g=b===e),g&&h)break;b=h||!(k=ca.data(b,Da))?b.parentNode:s(k)}var q=(!i||d)&&j!==!0;return q&&h&&g}function K(a,b,c){c=c||{},c.state=b,a.setAttribute(Ca,b);var d=M.get(a),e=d?V(d,c):c;M.set(a,e)}var M=new r,N=new r,O=null,P=e.$watch(function(){return 0===x.totalPendingRequests},function(a){a&&(P(),e.$$postDigest(function(){e.$$postDigest(function(){null===O&&(O=!0)})}))}),Q=Object.create(null),R=b.customFilter(),T=b.classNameFilter(),$=function(){return!0},da=R||$,ea=T?function(a,b){var c=[a.getAttribute("class"),b.addClass,b.removeClass].join(" ");return T.test(c)}:$,fa=l(y),ga=a.Node.prototype.contains||function(a){return this===a||!!(16&this.compareDocumentPosition(a))},ha={on:function(a,b,c){var d=i(b);Q[a]=Q[a]||[],Q[a].push({node:d,callback:c}),ca(b).on("$destroy",function(){var e=M.get(d);e||ha.off(a,b,c)})},off:function(a,b,c){if(1!==arguments.length||aa(arguments[0])){var d=Q[a];d&&(Q[a]=1===arguments.length?null:E(d,b,c))}else{b=arguments[0];for(var e in Q)Q[e]=E(Q[e],b)}},pin:function(a,b){c(Z(a),"element","not an element"),c(Z(b),"parentElement","not an element"),a.data(Da,b)},push:function(a,b,c,d){return c=c||{},c.domOperation=d,G(a,b,c)},enabled:function(a,b){var c=arguments.length;if(0===c)b=!!O;else{var d=Z(a);if(d){var e=s(a);1===c?b=!N.get(e):N.set(e,!b)}else b=O=!!a}return b}};return ha}]}],Fa=["$animateProvider",function(a){function b(a,b){a.data(h,b)}function c(a){a.removeData(h)}function e(a){return a.data(h)}var f="ng-animate-ref",g=this.drivers=[],h="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$Map","$$rAFScheduler",function(a,h,i,j,k,o){function p(a){function b(a){if(a.processed)return a;a.processed=!0;var c=a.domNode,d=c.parentNode;f.set(c,a);for(var g;d;){if(g=f.get(d)){g.processed||(g=b(g));break}d=d.parentNode}return(g||e).children.push(a),a}function c(a){var b,c=[],d=[];for(b=0;b<a.children.length;b++)d.push(a.children[b]);var e=d.length,f=0,g=[];for(b=0;b<d.length;b++){var h=d[b];e<=0&&(e=f,f=0,c.push(g),g=[]),g.push(h.fn),h.children.forEach(function(a){f++,d.push(a)}),e--}return g.length&&c.push(g),c}var d,e={children:[]},f=new k;for(d=0;d<a.length;d++){var g=a[d];f.set(g.domNode,a[d]={domNode:g.domNode,fn:g.fn,children:[]})}for(d=0;d<a.length;d++)b(a[d]);return c(e)}var q=[],r=l(a);return function(k,l,t){function u(a){var b="["+f+"]",c=a.hasAttribute(f)?[a]:a.querySelectorAll(b),d=[];return W(c,function(a){var b=a.getAttribute(f);b&&b.length&&d.push(a)}),d}function v(a){var b=[],c={};W(a,function(a,d){var e=a.element,g=s(e),h=a.event,i=["enter","move"].indexOf(h)>=0,j=a.structural?u(g):[];if(j.length){var k=i?"to":"from";W(j,function(a){var b=a.getAttribute(f);c[b]=c[b]||{},c[b][k]={animationID:d,element:ca(a)}})}else b.push(a)});var d={},e={};return W(c,function(c,f){var g=c.from,h=c.to;if(!g||!h){var i=g?g.animationID:h.animationID,j=i.toString();return void(d[j]||(d[j]=!0,b.push(a[i])))}var k=a[g.animationID],l=a[h.animationID],m=g.animationID.toString();if(!e[m]){var n=e[m]={structural:!0,beforeStart:function(){k.beforeStart(),l.beforeStart()},close:function(){k.close(),l.close()},classes:w(k.classes,l.classes),from:k,to:l,anchors:[]};n.classes.length?b.push(n):(b.push(k),b.push(l))}e[m].anchors.push({out:g.element,"in":h.element})}),b}function w(a,b){a=a.split(" "),b=b.split(" ");for(var c=[],d=0;d<a.length;d++){var e=a[d];if("ng-"!==e.substring(0,3))for(var f=0;f<b.length;f++)if(e===b[f]){c.push(e);break}}return c.join(" ")}function x(a){for(var b=g.length-1;b>=0;b--){var c=g[b],d=i.get(c),e=d(a);if(e)return e}}function y(){k.addClass(R),F&&a.addClass(k,F),G&&(a.removeClass(k,G),G=null)}function z(a,b){function c(a){var c=e(a);c&&c.setHost(b)}a.from&&a.to?(c(a.from.element),c(a.to.element)):c(a.element)}function A(){var a=e(k);!a||"leave"===l&&t.$$domOperationFired||a.end()}function B(b){k.off("$destroy",A),c(k),r(k,t),n(k,t),t.domOperation(),F&&a.removeClass(k,F),k.removeClass(R),D.complete(!b)}t=m(t);var C=["enter","move","leave"].indexOf(l)>=0,D=new j({end:function(){B()},cancel:function(){B(!0)}});if(!g.length)return B(),D;b(k,D);var E=d(k.attr("class"),d(t.addClass,t.removeClass)),F=t.tempClasses;F&&(E+=" "+F,t.tempClasses=null);var G;return C&&(G="ng-"+l+Q,a.addClass(k,G)),q.push({element:k,classes:E,event:l,structural:C,options:t,beforeStart:y,close:B}),k.on("$destroy",A),q.length>1?D:(h.$$postDigest(function(){var a=[];W(q,function(b){e(b.element)?a.push(b):b.close()}),q.length=0;var b=v(a),c=[];W(b,function(a){c.push({domNode:s(a.from?a.from.element:a.element),fn:function(){a.beforeStart();var b,c=a.close,d=a.anchors?a.from.element||a.to.element:a.element;if(e(d)){var f=x(a);f&&(b=f.start)}if(b){var g=b();g.done(function(a){c(!a)}),z(a,g)}else c()}})}),o(p(c))}),D)}}]}],Ga=["$animate","$rootScope",function(a,b){return{restrict:"A",transclude:"element",terminal:!0,priority:600,link:function(b,c,d,e,f){var g,h;b.$watchCollection(d.ngAnimateSwap||d["for"],function(d){g&&a.leave(g),h&&(h.$destroy(),h=null),(d||0===d)&&(h=b.$new(),f(h,function(b){g=b,a.enter(b,null,c)}))})}}}];b.module("ngAnimate",[],function(){da=b.noop,U=b.copy,V=b.extend,ca=b.element,W=b.forEach,X=b.isArray,aa=b.isString,_=b.isObject,ba=b.isUndefined,Y=b.isDefined,$=b.isFunction,Z=b.isElement}).info({angularVersion:"1.6.8"}).directive("ngAnimateSwap",Ga).directive("ngAnimateChildren",ra).factory("$$rAFScheduler",qa).provider("$$animateQueue",Ea).provider("$$animation",Fa).provider("$animateCss",ya).provider("$$animateCssDriver",za).provider("$$animateJs",Aa).provider("$$animateJsDriver",Ba)}(window,window.angular),function(a,b){"use strict";function c(){function a(a,b,d,e){return function(g,h,i){var j=i.$normalize(b);!c[j]||f(h,d)||i[j]||g.$watch(i[a],function(a){a=e?!a:!!a,h.attr(b,a)})}}var c={ariaHidden:!0,ariaChecked:!0,ariaReadonly:!0,ariaDisabled:!0,ariaRequired:!0,ariaInvalid:!0,ariaValue:!0,tabindex:!0,bindKeypress:!0,bindRoleForClick:!0};this.config=function(a){c=b.extend(c,a)},this.$get=function(){return{config:function(a){return c[a]},$$watchExpr:a}}}var d=b.module("ngAria",["ng"]).provider("$aria",c),e=["BUTTON","A","INPUT","TEXTAREA","SELECT","DETAILS","SUMMARY"],f=function(a,b){if(b.indexOf(a[0].nodeName)!==-1)return!0};d.directive("ngShow",["$aria",function(a){return a.$$watchExpr("ngShow","aria-hidden",[],!0)}]).directive("ngHide",["$aria",function(a){return a.$$watchExpr("ngHide","aria-hidden",[],!1)}]).directive("ngValue",["$aria",function(a){return a.$$watchExpr("ngValue","aria-checked",e,!1)}]).directive("ngChecked",["$aria",function(a){return a.$$watchExpr("ngChecked","aria-checked",e,!1)}]).directive("ngReadonly",["$aria",function(a){return a.$$watchExpr("ngReadonly","aria-readonly",e,!1)}]).directive("ngRequired",["$aria",function(a){return a.$$watchExpr("ngRequired","aria-required",e,!1)}]).directive("ngModel",["$aria",function(a){function b(b,c,d,g){return a.config(c)&&!d.attr(b)&&(g||!f(d,e))}function c(a,b){return!b.attr("role")&&b.attr("type")===a&&"INPUT"!==b[0].nodeName}function d(a,b){var c=a.type,d=a.role;return"checkbox"===(c||d)||"menuitemcheckbox"===d?"checkbox":"radio"===(c||d)||"menuitemradio"===d?"radio":"range"===c||"progressbar"===d||"slider"===d?"range":""}return{restrict:"A",require:"ngModel",priority:200,compile:function(e,f){var g=d(f,e);return{pre:function(a,b,c,d){"checkbox"===g&&(d.$isEmpty=function(a){return a===!1})},post:function(d,e,f,h){function i(){return h.$modelValue}function j(a){var b=f.value==h.$viewValue;e.attr("aria-checked",b)}function k(){e.attr("aria-checked",!h.$isEmpty(h.$viewValue))}var l=b("tabindex","tabindex",e,!1);switch(g){case"radio":case"checkbox":c(g,e)&&e.attr("role",g),b("aria-checked","ariaChecked",e,!1)&&d.$watch(i,"radio"===g?j:k),l&&e.attr("tabindex",0);break;case"range":if(c(g,e)&&e.attr("role","slider"),a.config("ariaValue")){var m=!e.attr("aria-valuemin")&&(f.hasOwnProperty("min")||f.hasOwnProperty("ngMin")),n=!e.attr("aria-valuemax")&&(f.hasOwnProperty("max")||f.hasOwnProperty("ngMax")),o=!e.attr("aria-valuenow");m&&f.$observe("min",function(a){e.attr("aria-valuemin",a)}),n&&f.$observe("max",function(a){e.attr("aria-valuemax",a)}),o&&d.$watch(i,function(a){e.attr("aria-valuenow",a)})}l&&e.attr("tabindex",0)}!f.hasOwnProperty("ngRequired")&&h.$validators.required&&b("aria-required","ariaRequired",e,!1)&&f.$observe("required",function(){e.attr("aria-required",!!f.required)}),b("aria-invalid","ariaInvalid",e,!0)&&d.$watch(function(){return h.$invalid},function(a){e.attr("aria-invalid",!!a)})}}}}}]).directive("ngDisabled",["$aria",function(a){return a.$$watchExpr("ngDisabled","aria-disabled",e,!1)}]).directive("ngMessages",function(){return{restrict:"A",require:"?ngMessages",link:function(a,b,c,d){b.attr("aria-live")||b.attr("aria-live","assertive")}}}).directive("ngClick",["$aria","$parse",function(a,b){return{restrict:"A",compile:function(c,d){var g=b(d.ngClick,null,!0);return function(b,c,d){f(c,e)||(a.config("bindRoleForClick")&&!c.attr("role")&&c.attr("role","button"),a.config("tabindex")&&!c.attr("tabindex")&&c.attr("tabindex",0),a.config("bindKeypress")&&!d.ngKeypress&&c.on("keypress",function(a){function c(){g(b,{$event:a})}var d=a.which||a.keyCode;32!==d&&13!==d||b.$apply(c)}))}}}}]).directive("ngDblclick",["$aria",function(a){return function(b,c,d){!a.config("tabindex")||c.attr("tabindex")||f(c,e)||c.attr("tabindex",0)}}])}(window,window.angular),function(a,b){"use strict";function c(a,c,d){function e(a,d,e){var g,h;e=e||{},h=e.expires,g=b.isDefined(e.path)?e.path:f,b.isUndefined(d)&&(h="Thu, 01 Jan 1970 00:00:00 GMT",d=""),b.isString(h)&&(h=new Date(h));var i=encodeURIComponent(a)+"="+encodeURIComponent(d);i+=g?";path="+g:"",i+=e.domain?";domain="+e.domain:"",i+=h?";expires="+h.toUTCString():"",i+=e.secure?";secure":"";var j=i.length+1;return j>4096&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+j+" > 4096 bytes)!"),i}var f=d.baseHref(),g=a[0];return function(a,b,c){g.cookie=e(a,b,c)}}b.module("ngCookies",["ng"]).provider("$cookies",[function(){function a(a){return a?b.extend({},c,a):c}var c=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(c,d){return{get:function(a){return c()[a]},getObject:function(a){var c=this.get(a);return c?b.fromJson(c):c},getAll:function(){return c()},put:function(b,c,e){d(b,c,a(e))},putObject:function(a,c,d){this.put(a,b.toJson(c),d)},remove:function(b,c){d(b,void 0,a(c))}}}]}]),b.module("ngCookies").factory("$cookieStore",["$cookies",function(a){return{get:function(b){return a.getObject(b)},put:function(b,c){a.putObject(b,c)},remove:function(b){a.remove(b)}}}]),c.$inject=["$document","$log","$browser"],b.module("ngCookies").provider("$$cookieWriter",function(){this.$get=c})}(window,window.angular),function(a,b){"use strict";function c(){function a(a,b){if(a)return e(a)?a.indexOf(b)>=0:a.hasOwnProperty(b)}return["$animate",function(b){return{restrict:"AE",transclude:"element",priority:1,terminal:!0,require:"^^ngMessages",link:function(c,d,f,g,h){var i,j=d[0],k=f.ngMessage||f.when,l=f.ngMessageExp||f.whenExp,m=function(a){i=a?e(a)?a:a.split(/[\s,]+/):null,g.reRender()};l?(m(c.$eval(l)),c.$watchCollection(l,m)):m(k);var n,o;g.register(j,o={test:function(b){return a(i,b)},attach:function(){n||h(function(a,c){b.enter(a,null,d),n=a;var e=n.$$attachId=g.getAttachId();n.on("$destroy",function(){n&&n.$$attachId===e&&(g.deregister(j),o.detach()),c.$destroy()})})},detach:function(){if(n){var a=n;n=null,b.leave(a)}}})}}}]}var d,e,f,g;b.module("ngMessages",[],function(){d=b.forEach,e=b.isArray,f=b.isString,g=b.element}).directive("ngMessages",["$animate",function(a){function b(a,b){return f(b)&&0===b.length||c(a.$eval(b))}function c(a){return f(a)?a.length:!!a}var e="ng-active",g="ng-inactive";return{require:"ngMessages",restrict:"AE",controller:["$element","$scope","$attrs",function(f,h,i){function j(a,b){for(var c=b,d=[];c&&c!==a;){var e=c.$$ngMessageNode;if(e&&e.length)return r[e];c.childNodes.length&&d.indexOf(c)===-1?(d.push(c),c=c.childNodes[c.childNodes.length-1]):c.previousSibling?c=c.previousSibling:(c=c.parentNode,d.push(c))}}function k(a,b,c){var d=r[c];if(m.head){var e=j(a,b);e?(d.next=e.next,e.next=d):(d.next=m.head,m.head=d)}else m.head=d}function l(a,b,c){var d=r[c],e=j(a,b);e?e.next=d.next:m.head=d.next}var m=this,n=0,o=0;this.getAttachId=function(){return o++};var p,q,r=this.messages={};this.render=function(j){j=j||{},p=!1,q=j;for(var k=b(h,i.ngMessagesMultiple)||b(h,i.multiple),l=[],n={},o=m.head,r=!1,s=0;null!=o;){s++;var t=o.message,u=!1;r||d(j,function(a,b){if(!u&&c(a)&&t.test(b)){if(n[b])return;n[b]=!0,u=!0,t.attach()}}),u?r=!k:l.push(t),o=o.next}d(l,function(a){a.detach()}),l.length!==s?a.setClass(f,e,g):a.setClass(f,g,e)},h.$watchCollection(i.ngMessages||i["for"],m.render),f.on("$destroy",function(){d(r,function(a){a.message.detach()})}),this.reRender=function(){p||(p=!0,h.$evalAsync(function(){p&&q&&m.render(q)}))},this.register=function(a,b){var c=n.toString();r[c]={message:b},k(f[0],a,c),a.$$ngMessageNode=c,n++,m.reRender()},this.deregister=function(a){var b=a.$$ngMessageNode;delete a.$$ngMessageNode,l(f[0],a,b),delete r[b],m.reRender()}}]}}]).directive("ngMessagesInclude",["$templateRequest","$document","$compile",function(a,b,c){function d(a,d){var e=c.$$createComment?c.$$createComment("ngMessagesInclude",d):b[0].createComment(" ngMessagesInclude: "+d+" "),f=g(e);a.after(f),a.remove()}return{restrict:"AE",require:"^^ngMessages",link:function(b,e,g){var h=g.ngMessagesInclude||g.src;a(h).then(function(a){b.$$destroyed||(f(a)&&!a.trim()?d(e,h):c(a)(b,function(a){e.after(a),d(e,h)}))})}}}]).directive("ngMessage",c()).directive("ngMessageExp",c())}(window,window.angular),function(a,b){"use strict";function c(a){return null!=a&&""!==a&&"hasOwnProperty"!==a&&g.test("."+a)}function d(a,d){if(!c(d))throw f("badmember",'Dotted member path "@{0}" is invalid.',d);for(var e=d.split("."),g=0,h=e.length;g<h&&b.isDefined(a);g++){var i=e[g];a=null!==a?a[i]:void 0}return a}function e(a,c){c=c||{},b.forEach(c,function(a,b){delete c[b]});for(var d in a)!a.hasOwnProperty(d)||"$"===d.charAt(0)&&"$"===d.charAt(1)||(c[d]=a[d]);return c}var f=b.$$minErr("$resource"),g=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;b.module("ngResource",["ng"]).provider("$resource",function(){var a=/^https?:\/\/[^\/]*/,c=this;this.defaults={stripTrailingSlashes:!0,cancellable:!1,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}},this.$get=["$http","$log","$q","$timeout",function(g,h,i,j){function k(a){return l(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function l(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,b?"%20":"+")}function m(a,b){this.template=a,this.defaults=q({},c.defaults,b),this.urlParams={}}function n(a,k,l,t){function u(a,b){var c={};return b=q({},k,b),p(b,function(b,e){s(b)&&(b=b(a)),c[e]=b&&b.charAt&&"@"==b.charAt(0)?d(a,b.substr(1)):b}),c}function v(a){return a.resource}function w(a){e(a||{},this)}var x=new m(a,t);return l=q({},c.defaults.actions,l),w.prototype.toJSON=function(){var a=q({},this);return delete a.$promise,delete a.$resolved,a},p(l,function(a,d){var k=/^(POST|PUT|PATCH)$/i.test(a.method),l=a.timeout,m=b.isDefined(a.cancellable)?a.cancellable:t&&b.isDefined(t.cancellable)?t.cancellable:c.defaults.cancellable;l&&!b.isNumber(l)&&(h.debug("ngResource:\n  Only numeric values are allowed as `timeout`.\n  Promises are not supported in $resource, because the same value would be used for multiple requests. If you are looking for a way to cancel requests, you should use the `cancellable` option."),delete a.timeout,l=null),w[d]=function(c,h,n,t){var y,z,A,B={};switch(arguments.length){case 4:A=t,z=n;case 3:case 2:if(!s(h)){B=c,y=h,z=n;break}if(s(c)){z=c,A=h;break}z=h,A=n;case 1:s(c)?z=c:k?y=c:B=c;break;case 0:break;default:throw f("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length)}var C,D,E=this instanceof w,F=E?y:a.isArray?[]:new w(y),G={},H=a.interceptor&&a.interceptor.response||v,I=a.interceptor&&a.interceptor.responseError||void 0;p(a,function(a,b){switch(b){default:G[b]=r(a);break;case"params":case"isArray":case"interceptor":case"cancellable":}}),!E&&m&&(C=i.defer(),G.timeout=C.promise,l&&(D=j(C.resolve,l))),k&&(G.data=y),x.setUrlParams(G,q({},u(y,a.params||{}),B),a.url);var J=g(G).then(function(c){var g=c.data;if(g){if(b.isArray(g)!==!!a.isArray)throw f("badcfg","Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})",d,a.isArray?"array":"object",b.isArray(g)?"array":"object",G.method,G.url);if(a.isArray)F.length=0,p(g,function(a){"object"==typeof a?F.push(new w(a)):F.push(a)});else{var h=F.$promise;e(g,F),F.$promise=h}}return c.resource=F,c},function(a){return(A||o)(a),i.reject(a)});return J["finally"](function(){F.$resolved=!0,!E&&m&&(F.$cancelRequest=b.noop,j.cancel(D),C=D=G.timeout=null)}),J=J.then(function(a){var b=H(a);return(z||o)(b,a.headers),b},I),E?J:(F.$promise=J,F.$resolved=!1,m&&(F.$cancelRequest=C.resolve),F)},w.prototype["$"+d]=function(a,b,c){s(a)&&(c=b,b=a,a={});var e=w[d].call(this,a,this,b,c);return e.$promise||e}}),w.bind=function(b){return n(a,q({},k,b),l)},w}var o=b.noop,p=b.forEach,q=b.extend,r=b.copy,s=b.isFunction;return m.prototype={setUrlParams:function(c,d,e){var g,h,i=this,j=e||i.template,m="",n=i.urlParams={};p(j.split(/\W/),function(a){if("hasOwnProperty"===a)throw f("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(a)&&a&&new RegExp("(^|[^\\\\]):"+a+"(\\W|$)").test(j)&&(n[a]={isQueryParamValue:new RegExp("\\?.*=:"+a+"(?:\\W|$)").test(j)})}),j=j.replace(/\\:/g,":"),j=j.replace(a,function(a){return m=a,""}),d=d||{},p(i.urlParams,function(a,c){g=d.hasOwnProperty(c)?d[c]:i.defaults[c],b.isDefined(g)&&null!==g?(h=a.isQueryParamValue?l(g,!0):k(g),j=j.replace(new RegExp(":"+c+"(\\W|$)","g"),function(a,b){return h+b})):j=j.replace(new RegExp("(/?):"+c+"(\\W|$)","g"),function(a,b,c){return"/"==c.charAt(0)?c:b+c})}),i.defaults.stripTrailingSlashes&&(j=j.replace(/\/+$/,"")||"/"),j=j.replace(/\/\.(?=\w+($|\?))/,"."),c.url=m+j.replace(/\/\\\./,"/."),p(d,function(a,b){i.urlParams[b]||(c.params=c.params||{},c.params[b]=a)})}},n}]})}(window,window.angular),function(a,b){"use strict";function c(){function c(a,b){var c,d={},e=a.split(",");for(c=0;c<e.length;c++)d[b?i(e[c]):e[c]]=!0;return d}function d(a,b){null===a||void 0===a?a="":"string"!=typeof a&&(a=""+a);var c=J(a);if(!c)return"";var d=5;do{if(0===d)throw n("uinput","Failed to sanitize html because the input is unstable");d--,a=c.innerHTML,c=J(a)}while(a!==c.innerHTML);for(var e=c.firstChild;e;){switch(e.nodeType){case 1:b.start(e.nodeName.toLowerCase(),o(e.attributes));break;case 3:b.chars(e.textContent)}var f;if(!(f=e.firstChild)&&(1===e.nodeType&&b.end(e.nodeName.toLowerCase()),f=s("nextSibling",e),!f))for(;null==f&&(e=s("parentNode",e),e!==c);)f=s("nextSibling",e),1===e.nodeType&&b.end(e.nodeName.toLowerCase());e=f}for(;e=c.firstChild;)c.removeChild(e)}function o(a){for(var b={},c=0,d=a.length;c<d;c++){var e=a[c];b[e.name]=e.value}return b}function p(a){return a.replace(/&/g,"&amp;").replace(u,function(a){var b=a.charCodeAt(0),c=a.charCodeAt(1);return"&#"+(1024*(b-55296)+(c-56320)+65536)+";"}).replace(v,function(a){return"&#"+a.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function q(a,b){var c=!1,d=e(a,a.push);return{start:function(a,e){a=i(a),!c&&D[a]&&(c=a),c||E[a]!==!0||(d("<"),d(a),g(e,function(c,e){var f=i(e),g="img"===a&&"src"===f||"background"===f;I[f]!==!0||F[f]===!0&&!b(c,g)||(d(" "),d(e),d('="'),d(p(c)),d('"'))}),d(">"))},end:function(a){a=i(a),c||E[a]!==!0||w[a]===!0||(d("</"),d(a),d(">")),a==c&&(c=!1)},chars:function(a){c||d(p(a))}}}function r(b){for(;b;){if(b.nodeType===a.Node.ELEMENT_NODE)for(var c=b.attributes,d=0,e=c.length;d<e;d++){var f=c[d],g=f.name.toLowerCase();"xmlns:ns1"!==g&&0!==g.lastIndexOf("ns1:",0)||(b.removeAttributeNode(f),d--,e--)}var h=b.firstChild;h&&r(h),b=s("nextSibling",b);
+}}function s(a,b){var c=b[a];if(c&&k.call(b,c))throw n("elclob","Failed to sanitize html because the element is clobbered: {0}",b.outerHTML||b.outerText);return c}var t=!1;this.$get=["$$sanitizeUri",function(a){return t&&f(E,C),function(b){var c=[];return l(b,m(c,function(b,c){return!/^unsafe:/.test(a(b,c))})),c.join("")}}],this.enableSvg=function(a){return h(a)?(t=a,this):t},e=b.bind,f=b.extend,g=b.forEach,h=b.isDefined,i=b.lowercase,j=b.noop,l=d,m=q,k=a.Node.prototype.contains||function(a){return!!(16&this.compareDocumentPosition(a))};var u=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,v=/([^#-~ |!])/g,w=c("area,br,col,hr,img,wbr"),x=c("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),y=c("rp,rt"),z=f({},y,x),A=f({},x,c("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,section,table,ul")),B=f({},y,c("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),C=c("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan"),D=c("script,style"),E=f({},w,A,B,z),F=c("background,cite,href,longdesc,src,xlink:href"),G=c("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width"),H=c("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",!0),I=f({},F,H,G),J=function(a,b){function c(b){b="<remove></remove>"+b;try{b=encodeURI(b)}catch(c){return}var d=new a.XMLHttpRequest;d.responseType="document",d.open("GET","data:text/html;charset=utf-8,"+b,!1),d.send(null);var e=d.response.body;return e.firstChild.remove(),e}function d(b){b="<remove></remove>"+b;try{var c=(new a.DOMParser).parseFromString(b,"text/html").body;return c.firstChild.remove(),c}catch(d){return}}function e(a){return g.innerHTML=a,b.documentMode&&r(g),g}var f;if(!b||!b.implementation)throw n("noinert","Can't create an inert html document");f=b.implementation.createHTMLDocument("inert");var g=(f.documentElement||f.getDocumentElement()).querySelector("body");return g.innerHTML='<svg><g onload="this.parentNode.remove()"></g></svg>',g.querySelector("svg")?(g.innerHTML='<svg><p><style><img src="</style><img src=x onerror=alert(1)//">',g.querySelector("svg img")?d:e):c}(a,a.document)}function d(a){var b=[],c=m(b,j);return c.chars(a),b.join("")}var e,f,g,h,i,j,k,l,m,n=b.$$minErr("$sanitize");b.module("ngSanitize",[]).provider("$sanitize",c).info({angularVersion:"1.6.5"}),b.module("ngSanitize").filter("linky",["$sanitize",function(a){var c=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,e=/^mailto:/i,f=b.$$minErr("linky"),g=b.isDefined,h=b.isFunction,i=b.isObject,j=b.isString;return function(b,k,l){function m(a){a&&t.push(d(a))}function n(a,b){var c,d=r(a);t.push("<a ");for(c in d)t.push(c+'="'+d[c]+'" ');!g(k)||"target"in d||t.push('target="',k,'" '),t.push('href="',a.replace(/"/g,"&quot;"),'">'),m(b),t.push("</a>")}if(null==b||""===b)return b;if(!j(b))throw f("notstring","Expected string but received: {0}",b);for(var o,p,q,r=h(l)?l:i(l)?function(){return l}:function(){return{}},s=b,t=[];o=s.match(c);)p=o[0],o[2]||o[4]||(p=(o[3]?"http://":"mailto:")+p),q=o.index,m(s.substr(0,q)),n(p,o[0].replace(e,"")),s=s.substring(q+o[0].length);return m(s),a(t.join(""))}}])}(window,window.angular),function(a,b){"use strict";function c(a){return b.lowercase(a.nodeName||a[0]&&a[0].nodeName)}function d(a,c){var d=!1,e=!1;this.ngClickOverrideEnabled=function(f){return b.isDefined(f)?(f&&!e&&(e=!0,g.$$moduleName="ngTouch",c.directive("ngClick",g),a.decorator("ngClickDirective",["$delegate",function(a){if(d)a.shift();else for(var b=a.length-1;b>=0;){if("ngTouch"===a[b].$$moduleName){a.splice(b,1);break}b--}return a}])),d=f,this):d},this.$get=function(){return{ngClickOverrideEnabled:function(){return d}}}}function e(a,c,d){f.directive(a,["$parse","$swipe",function(e,f){var g=75,h=.3,i=30;return function(j,k,l){function m(a){if(!n)return!1;var b=Math.abs(a.y-n.y),d=(a.x-n.x)*c;return o&&b<g&&d>0&&d>i&&b/d<h}var n,o,p=e(l[a]),q=["touch"];b.isDefined(l.ngSwipeDisableMouse)||q.push("mouse"),f.bind(k,{start:function(a,b){n=a,o=!0},cancel:function(a){o=!1},end:function(a,b){m(a)&&j.$apply(function(){k.triggerHandler(d),p(j,{$event:b})})}},q)}}])}var f=b.module("ngTouch",[]);f.provider("$touch",d),d.$inject=["$provide","$compileProvider"],f.factory("$swipe",[function(){function a(a){var b=a.originalEvent||a,c=b.touches&&b.touches.length?b.touches:[b],d=b.changedTouches&&b.changedTouches[0]||c[0];return{x:d.clientX,y:d.clientY}}function c(a,c){var d=[];return b.forEach(a,function(a){var b=e[a][c];b&&d.push(b)}),d.join(" ")}var d=10,e={mouse:{start:"mousedown",move:"mousemove",end:"mouseup"},touch:{start:"touchstart",move:"touchmove",end:"touchend",cancel:"touchcancel"},pointer:{start:"pointerdown",move:"pointermove",end:"pointerup",cancel:"pointercancel"}};return{bind:function(b,e,f){var g,h,i,j,k=!1;f=f||["mouse","touch","pointer"],b.on(c(f,"start"),function(b){i=a(b),k=!0,g=0,h=0,j=i,e.start&&e.start(i,b)});var l=c(f,"cancel");l&&b.on(l,function(a){k=!1,e.cancel&&e.cancel(a)}),b.on(c(f,"move"),function(b){if(k&&i){var c=a(b);if(g+=Math.abs(c.x-j.x),h+=Math.abs(c.y-j.y),j=c,!(g<d&&h<d))return h>g?(k=!1,void(e.cancel&&e.cancel(b))):(b.preventDefault(),void(e.move&&e.move(c,b)))}}),b.on(c(f,"end"),function(b){k&&(k=!1,e.end&&e.end(a(b),b))})}}}]);var g=["$parse","$timeout","$rootElement",function(a,d,e){function f(a,b,c,d){return Math.abs(a-c)<q&&Math.abs(b-d)<q}function g(a,b,c){for(var d=0;d<a.length;d+=2)if(f(a[d],a[d+1],b,c))return a.splice(d,d+2),!0;return!1}function h(a){if(!(Date.now()-k>p)){var b=a.touches&&a.touches.length?a.touches:[a],d=b[0].clientX,e=b[0].clientY;d<1&&e<1||m&&m[0]===d&&m[1]===e||(m&&(m=null),"label"===c(a.target)&&(m=[d,e]),g(l,d,e)||(a.stopPropagation(),a.preventDefault(),a.target&&a.target.blur&&a.target.blur()))}}function i(a){var b=a.touches&&a.touches.length?a.touches:[a],c=b[0].clientX,e=b[0].clientY;l.push(c,e),d(function(){for(var a=0;a<l.length;a+=2)if(l[a]==c&&l[a+1]==e)return void l.splice(a,a+2)},p,!1)}function j(a,b){l||(e[0].addEventListener("click",h,!0),e[0].addEventListener("touchstart",i,!0),l=[]),k=Date.now(),g(l,a,b)}var k,l,m,n=750,o=12,p=2500,q=25,r="ng-click-active";return function(c,d,e){function f(){m=!1,d.removeClass(r)}var g,h,i,k,l=a(e.ngClick),m=!1;d.on("touchstart",function(a){m=!0,g=a.target?a.target:a.srcElement,3==g.nodeType&&(g=g.parentNode),d.addClass(r),h=Date.now();var b=a.originalEvent||a,c=b.touches&&b.touches.length?b.touches:[b],e=c[0];i=e.clientX,k=e.clientY}),d.on("touchcancel",function(a){f()}),d.on("touchend",function(a){var c=Date.now()-h,l=a.originalEvent||a,p=l.changedTouches&&l.changedTouches.length?l.changedTouches:l.touches&&l.touches.length?l.touches:[l],q=p[0],r=q.clientX,s=q.clientY,t=Math.sqrt(Math.pow(r-i,2)+Math.pow(s-k,2));m&&c<n&&t<o&&(j(r,s),g&&g.blur(),b.isDefined(e.disabled)&&e.disabled!==!1||d.triggerHandler("click",[a])),f()}),d.onclick=function(a){},d.on("click",function(a,b){c.$apply(function(){l(c,{$event:b||a})})}),d.on("mousedown",function(a){d.addClass(r)}),d.on("mousemove mouseup",function(a){d.removeClass(r)})}}];e("ngSwipeLeft",-1,"swipeleft"),e("ngSwipeRight",1,"swiperight")}(window,window.angular),angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.isClass","ui.bootstrap.datepicker","ui.bootstrap.position","ui.bootstrap.datepickerPopup","ui.bootstrap.debounce","ui.bootstrap.dropdown","ui.bootstrap.stackedMap","ui.bootstrap.modal","ui.bootstrap.paging","ui.bootstrap.pager","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.tpls",["uib/template/accordion/accordion-group.html","uib/template/accordion/accordion.html","uib/template/alert/alert.html","uib/template/carousel/carousel.html","uib/template/carousel/slide.html","uib/template/datepicker/datepicker.html","uib/template/datepicker/day.html","uib/template/datepicker/month.html","uib/template/datepicker/year.html","uib/template/datepickerPopup/popup.html","uib/template/modal/backdrop.html","uib/template/modal/window.html","uib/template/pager/pager.html","uib/template/pagination/pagination.html","uib/template/tooltip/tooltip-html-popup.html","uib/template/tooltip/tooltip-popup.html","uib/template/tooltip/tooltip-template-popup.html","uib/template/popover/popover-html.html","uib/template/popover/popover-template.html","uib/template/popover/popover.html","uib/template/progressbar/bar.html","uib/template/progressbar/progress.html","uib/template/progressbar/progressbar.html","uib/template/rating/rating.html","uib/template/tabs/tab.html","uib/template/tabs/tabset.html","uib/template/timepicker/timepicker.html","uib/template/typeahead/typeahead-match.html","uib/template/typeahead/typeahead-popup.html"]),angular.module("ui.bootstrap.collapse",[]).directive("uibCollapse",["$animate","$q","$parse","$injector",function(a,b,c,d){var e=d.has("$animateCss")?d.get("$animateCss"):null;return{link:function(d,f,g){function h(){f.hasClass("collapse")&&f.hasClass("in")||b.resolve(l(d)).then(function(){f.removeClass("collapse").addClass("collapsing").attr("aria-expanded",!0).attr("aria-hidden",!1),e?e(f,{addClass:"in",easing:"ease",to:{height:f[0].scrollHeight+"px"}}).start()["finally"](i):a.addClass(f,"in",{to:{height:f[0].scrollHeight+"px"}}).then(i)})}function i(){f.removeClass("collapsing").addClass("collapse").css({height:"auto"}),m(d)}function j(){return f.hasClass("collapse")||f.hasClass("in")?void b.resolve(n(d)).then(function(){f.css({height:f[0].scrollHeight+"px"}).removeClass("collapse").addClass("collapsing").attr("aria-expanded",!1).attr("aria-hidden",!0),e?e(f,{removeClass:"in",to:{height:"0"}}).start()["finally"](k):a.removeClass(f,"in",{to:{height:"0"}}).then(k)}):k()}function k(){f.css({height:"0"}),f.removeClass("collapsing").addClass("collapse"),o(d)}var l=c(g.expanding),m=c(g.expanded),n=c(g.collapsing),o=c(g.collapsed);d.$eval(g.uibCollapse)||f.addClass("in").addClass("collapse").attr("aria-expanded",!0).attr("aria-hidden",!1).css({height:"auto"}),d.$watch(g.uibCollapse,function(a){a?j():h()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("uibAccordionConfig",{closeOthers:!0}).controller("UibAccordionController",["$scope","$attrs","uibAccordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&&angular.forEach(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(c){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);b!==-1&&this.groups.splice(b,1)}}]).directive("uibAccordion",function(){return{controller:"UibAccordionController",controllerAs:"accordion",transclude:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/accordion/accordion.html"}}}).directive("uibAccordionGroup",function(){return{require:"^uibAccordion",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/accordion/accordion-group.html"},scope:{heading:"@",panelClass:"@?",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(a,b,c,d){d.addGroup(a),a.openClass=c.openClass||"panel-open",a.panelClass=c.panelClass||"panel-default",a.$watch("isOpen",function(c){b.toggleClass(a.openClass,!!c),c&&d.closeOthers(a)}),a.toggleOpen=function(b){a.isDisabled||b&&32!==b.which||(a.isOpen=!a.isOpen)};var e="accordiongroup-"+a.$id+"-"+Math.floor(1e4*Math.random());a.headingId=e+"-tab",a.panelId=e+"-panel"}}}).directive("uibAccordionHeading",function(){return{transclude:!0,template:"",replace:!0,require:"^uibAccordionGroup",link:function(a,b,c,d,e){d.setHeading(e(a,angular.noop))}}}).directive("uibAccordionTransclude",function(){function a(){return"uib-accordion-header,data-uib-accordion-header,x-uib-accordion-header,uib\\:accordion-header,[uib-accordion-header],[data-uib-accordion-header],[x-uib-accordion-header]"}return{require:"^uibAccordionGroup",link:function(b,c,d,e){b.$watch(function(){return e[d.uibAccordionTransclude]},function(b){if(b){var d=angular.element(c[0].querySelector(a()));d.html(""),d.append(b)}})}}}),angular.module("ui.bootstrap.alert",[]).controller("UibAlertController",["$scope","$attrs","$interpolate","$timeout",function(a,b,c,d){a.closeable=!!b.close;var e=angular.isDefined(b.dismissOnTimeout)?c(b.dismissOnTimeout)(a.$parent):null;e&&d(function(){a.close()},parseInt(e,10))}]).directive("uibAlert",function(){return{controller:"UibAlertController",controllerAs:"alert",templateUrl:function(a,b){return b.templateUrl||"uib/template/alert/alert.html"},transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}),angular.module("ui.bootstrap.buttons",[]).constant("uibButtonConfig",{activeClass:"active",toggleEvent:"click"}).controller("UibButtonsController",["uibButtonConfig",function(a){this.activeClass=a.activeClass||"active",this.toggleEvent=a.toggleEvent||"click"}]).directive("uibBtnRadio",["$parse",function(a){return{require:["uibBtnRadio","ngModel"],controller:"UibButtonsController",controllerAs:"buttons",link:function(b,c,d,e){var f=e[0],g=e[1],h=a(d.uibUncheckable);c.find("input").css({display:"none"}),g.$render=function(){c.toggleClass(f.activeClass,angular.equals(g.$modelValue,b.$eval(d.uibBtnRadio)))},c.on(f.toggleEvent,function(){if(!d.disabled){var a=c.hasClass(f.activeClass);a&&!angular.isDefined(d.uncheckable)||b.$apply(function(){g.$setViewValue(a?null:b.$eval(d.uibBtnRadio)),g.$render()})}}),d.uibUncheckable&&b.$watch(h,function(a){d.$set("uncheckable",a?"":void 0)})}}}]).directive("uibBtnCheckbox",function(){return{require:["uibBtnCheckbox","ngModel"],controller:"UibButtonsController",controllerAs:"button",link:function(a,b,c,d){function e(){return g(c.btnCheckboxTrue,!0)}function f(){return g(c.btnCheckboxFalse,!1)}function g(b,c){return angular.isDefined(b)?a.$eval(b):c}var h=d[0],i=d[1];b.find("input").css({display:"none"}),i.$render=function(){b.toggleClass(h.activeClass,angular.equals(i.$modelValue,e()))},b.on(h.toggleEvent,function(){c.disabled||a.$apply(function(){i.$setViewValue(b.hasClass(h.activeClass)?f():e()),i.$render()})})}}}),angular.module("ui.bootstrap.carousel",[]).controller("UibCarouselController",["$scope","$element","$interval","$timeout","$animate",function(a,b,c,d,e){function f(){for(;t.length;)t.shift()}function g(a){for(var b=0;b<q.length;b++)q[b].slide.active=b===a}function h(c,d,i){if(!u){if(angular.extend(c,{direction:i}),angular.extend(q[s].slide||{},{direction:i}),e.enabled(b)&&!a.$currentTransition&&q[d].element&&p.slides.length>1){q[d].element.data(r,c.direction);var j=p.getCurrentIndex();angular.isNumber(j)&&q[j].element&&q[j].element.data(r,c.direction),a.$currentTransition=!0,e.on("addClass",q[d].element,function(b,c){if("close"===c&&(a.$currentTransition=null,e.off("addClass",b),t.length)){var d=t.pop().slide,g=d.index,i=g>p.getCurrentIndex()?"next":"prev";f(),h(d,g,i)}})}a.active=c.index,s=c.index,g(d),l()}}function i(a){for(var b=0;b<q.length;b++)if(q[b].slide===a)return b}function j(){n&&(c.cancel(n),n=null)}function k(b){b.length||(a.$currentTransition=null,f())}function l(){j();var b=+a.interval;!isNaN(b)&&b>0&&(n=c(m,b))}function m(){var b=+a.interval;o&&!isNaN(b)&&b>0&&q.length?a.next():a.pause()}var n,o,p=this,q=p.slides=a.slides=[],r="uib-slideDirection",s=a.active,t=[],u=!1;p.addSlide=function(b,c){q.push({slide:b,element:c}),q.sort(function(a,b){return+a.slide.index-+b.slide.index}),(b.index===a.active||1===q.length&&!angular.isNumber(a.active))&&(a.$currentTransition&&(a.$currentTransition=null),s=b.index,a.active=b.index,g(s),p.select(q[i(b)]),1===q.length&&a.play())},p.getCurrentIndex=function(){for(var a=0;a<q.length;a++)if(q[a].slide.index===s)return a},p.next=a.next=function(){var b=(p.getCurrentIndex()+1)%q.length;return 0===b&&a.noWrap()?void a.pause():p.select(q[b],"next")},p.prev=a.prev=function(){var b=p.getCurrentIndex()-1<0?q.length-1:p.getCurrentIndex()-1;return a.noWrap()&&b===q.length-1?void a.pause():p.select(q[b],"prev")},p.removeSlide=function(b){var c=i(b),d=t.indexOf(q[c]);d!==-1&&t.splice(d,1),q.splice(c,1),q.length>0&&s===c?c>=q.length?(s=q.length-1,a.active=s,g(s),p.select(q[q.length-1])):(s=c,a.active=s,g(s),p.select(q[c])):s>c&&(s--,a.active=s),0===q.length&&(s=null,a.active=null,f())},p.select=a.select=function(b,c){var d=i(b.slide);void 0===c&&(c=d>p.getCurrentIndex()?"next":"prev"),b.slide.index===s||a.$currentTransition?b&&b.slide.index!==s&&a.$currentTransition&&t.push(q[d]):h(b.slide,d,c)},a.indexOfSlide=function(a){return+a.slide.index},a.isActive=function(b){return a.active===b.slide.index},a.isPrevDisabled=function(){return 0===a.active&&a.noWrap()},a.isNextDisabled=function(){return a.active===q.length-1&&a.noWrap()},a.pause=function(){a.noPause||(o=!1,j())},a.play=function(){o||(o=!0,l())},a.$on("$destroy",function(){u=!0,j()}),a.$watch("noTransition",function(a){e.enabled(b,!a)}),a.$watch("interval",l),a.$watchCollection("slides",k),a.$watch("active",function(a){if(angular.isNumber(a)&&s!==a){for(var b=0;b<q.length;b++)if(q[b].slide.index===a){a=b;break}var c=q[a];c&&(g(a),p.select(q[a]),s=a)}})}]).directive("uibCarousel",function(){return{transclude:!0,replace:!0,controller:"UibCarouselController",controllerAs:"carousel",templateUrl:function(a,b){return b.templateUrl||"uib/template/carousel/carousel.html"},scope:{active:"=",interval:"=",noTransition:"=",noPause:"=",noWrap:"&"}}}).directive("uibSlide",function(){return{require:"^uibCarousel",transclude:!0,replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/carousel/slide.html"},scope:{actual:"=?",index:"=?"},link:function(a,b,c,d){d.addSlide(a,b),a.$on("$destroy",function(){d.removeSlide(a)})}}}).animation(".item",["$animateCss",function(a){function b(a,b,c){a.removeClass(b),c&&c()}var c="uib-slideDirection";return{beforeAddClass:function(d,e,f){if("active"===e){var g=!1,h=d.data(c),i="next"===h?"left":"right",j=b.bind(this,d,i+" "+h,f);return d.addClass(h),a(d,{addClass:i}).start().done(j),function(){g=!0}}f()},beforeRemoveClass:function(d,e,f){if("active"===e){var g=!1,h=d.data(c),i="next"===h?"left":"right",j=b.bind(this,d,i,f);return a(d,{addClass:i}).start().done(j),function(){g=!0}}f()}}}]),angular.module("ui.bootstrap.dateparser",[]).service("uibDateParser",["$log","$locale","dateFilter","orderByFilter",function(a,b,c,d){function e(a,b){var c=[],e=a.split(""),f=a.indexOf("'");if(f>-1){var g=!1;a=a.split("");for(var h=f;h<a.length;h++)g?("'"===a[h]&&(h+1<a.length&&"'"===a[h+1]?(a[h+1]="$",e[h+1]=""):(e[h]="",g=!1)),a[h]="$"):"'"===a[h]&&(a[h]="$",e[h]="",g=!0);a=a.join("")}return angular.forEach(n,function(d){var f=a.indexOf(d.key);if(f>-1){a=a.split(""),e[f]="("+d.regex+")",a[f]="$";for(var g=f+1,h=f+d.key.length;g<h;g++)e[g]="",a[g]="$";a=a.join(""),c.push({index:f,key:d.key,apply:d[b],matcher:d.regex})}}),{regex:new RegExp("^"+e.join("")+"$"),map:d(c,"index")}}function f(a,b,c){return!(c<1)&&(1===b&&c>28?29===c&&(a%4===0&&a%100!==0||a%400===0):3!==b&&5!==b&&8!==b&&10!==b||c<31)}function g(a){return parseInt(a,10)}function h(a,b){return a&&b?l(a,b):a}function i(a,b){return a&&b?l(a,b,!0):a}function j(a,b){a=a.replace(/:/g,"");var c=Date.parse("Jan 01, 1970 00:00:00 "+a)/6e4;return isNaN(c)?b:c}function k(a,b){return a=new Date(a.getTime()),a.setMinutes(a.getMinutes()+b),a}function l(a,b,c){c=c?-1:1;var d=a.getTimezoneOffset(),e=j(b,d);return k(a,c*(e-d))}var m,n,o=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;this.init=function(){m=b.id,this.parsers={},this.formatters={},n=[{key:"yyyy",regex:"\\d{4}",apply:function(a){this.year=+a},formatter:function(a){var b=new Date;return b.setFullYear(Math.abs(a.getFullYear())),c(b,"yyyy")}},{key:"yy",regex:"\\d{2}",apply:function(a){a=+a,this.year=a<69?a+2e3:a+1900},formatter:function(a){var b=new Date;return b.setFullYear(Math.abs(a.getFullYear())),c(b,"yy")}},{key:"y",regex:"\\d{1,4}",apply:function(a){this.year=+a},formatter:function(a){var b=new Date;return b.setFullYear(Math.abs(a.getFullYear())),c(b,"y")}},{key:"M!",regex:"0?[1-9]|1[0-2]",apply:function(a){this.month=a-1},formatter:function(a){var b=a.getMonth();return/^[0-9]$/.test(b)?c(a,"MM"):c(a,"M")}},{key:"MMMM",regex:b.DATETIME_FORMATS.MONTH.join("|"),apply:function(a){this.month=b.DATETIME_FORMATS.MONTH.indexOf(a)},formatter:function(a){return c(a,"MMMM")}},{key:"MMM",regex:b.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(a){this.month=b.DATETIME_FORMATS.SHORTMONTH.indexOf(a)},formatter:function(a){return c(a,"MMM")}},{key:"MM",regex:"0[1-9]|1[0-2]",apply:function(a){this.month=a-1},formatter:function(a){return c(a,"MM")}},{key:"M",regex:"[1-9]|1[0-2]",apply:function(a){this.month=a-1},formatter:function(a){return c(a,"M")}},{key:"d!",regex:"[0-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a},formatter:function(a){var b=a.getDate();return/^[1-9]$/.test(b)?c(a,"dd"):c(a,"d")}},{key:"dd",regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a},formatter:function(a){return c(a,"dd")}},{key:"d",regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a},formatter:function(a){return c(a,"d")}},{key:"EEEE",regex:b.DATETIME_FORMATS.DAY.join("|"),formatter:function(a){return c(a,"EEEE")}},{key:"EEE",regex:b.DATETIME_FORMATS.SHORTDAY.join("|"),formatter:function(a){return c(a,"EEE")}},{key:"HH",regex:"(?:0|1)[0-9]|2[0-3]",apply:function(a){this.hours=+a},formatter:function(a){return c(a,"HH")}},{key:"hh",regex:"0[0-9]|1[0-2]",apply:function(a){this.hours=+a},formatter:function(a){return c(a,"hh")}},{key:"H",regex:"1?[0-9]|2[0-3]",apply:function(a){this.hours=+a},formatter:function(a){return c(a,"H")}},{key:"h",regex:"[0-9]|1[0-2]",apply:function(a){this.hours=+a},formatter:function(a){return c(a,"h")}},{key:"mm",regex:"[0-5][0-9]",apply:function(a){this.minutes=+a},formatter:function(a){return c(a,"mm")}},{key:"m",regex:"[0-9]|[1-5][0-9]",apply:function(a){this.minutes=+a},formatter:function(a){return c(a,"m")}},{key:"sss",regex:"[0-9][0-9][0-9]",apply:function(a){this.milliseconds=+a},formatter:function(a){return c(a,"sss")}},{key:"ss",regex:"[0-5][0-9]",apply:function(a){this.seconds=+a},formatter:function(a){return c(a,"ss")}},{key:"s",regex:"[0-9]|[1-5][0-9]",apply:function(a){this.seconds=+a},formatter:function(a){return c(a,"s")}},{key:"a",regex:b.DATETIME_FORMATS.AMPMS.join("|"),apply:function(a){12===this.hours&&(this.hours=0),"PM"===a&&(this.hours+=12)},formatter:function(a){return c(a,"a")}},{key:"Z",regex:"[+-]\\d{4}",apply:function(a){var b=a.match(/([+-])(\d{2})(\d{2})/),c=b[1],d=b[2],e=b[3];this.hours+=g(c+d),this.minutes+=g(c+e)},formatter:function(a){return c(a,"Z")}},{key:"ww",regex:"[0-4][0-9]|5[0-3]",formatter:function(a){return c(a,"ww")}},{key:"w",regex:"[0-9]|[1-4][0-9]|5[0-3]",formatter:function(a){return c(a,"w")}},{key:"GGGG",regex:b.DATETIME_FORMATS.ERANAMES.join("|").replace(/\s/g,"\\s"),formatter:function(a){return c(a,"GGGG")}},{key:"GGG",regex:b.DATETIME_FORMATS.ERAS.join("|"),formatter:function(a){return c(a,"GGG")}},{key:"GG",regex:b.DATETIME_FORMATS.ERAS.join("|"),formatter:function(a){return c(a,"GG")}},{key:"G",regex:b.DATETIME_FORMATS.ERAS.join("|"),formatter:function(a){return c(a,"G")}}]},this.init(),this.filter=function(a,c){if(!angular.isDate(a)||isNaN(a)||!c)return"";c=b.DATETIME_FORMATS[c]||c,b.id!==m&&this.init(),this.formatters[c]||(this.formatters[c]=e(c,"formatter"));var d=this.formatters[c],f=d.map,g=c;return f.reduce(function(b,c,d){var e=g.match(new RegExp("(.*)"+c.key));e&&angular.isString(e[1])&&(b+=e[1],g=g.replace(e[1]+c.key,""));var h=d===f.length-1?g:"";return c.apply?b+c.apply.call(null,a)+h:b+h},"")},this.parse=function(c,d,g){if(!angular.isString(c)||!d)return c;d=b.DATETIME_FORMATS[d]||d,d=d.replace(o,"\\$&"),b.id!==m&&this.init(),this.parsers[d]||(this.parsers[d]=e(d,"apply"));var h=this.parsers[d],i=h.regex,j=h.map,k=c.match(i),l=!1;if(k&&k.length){var n,p;angular.isDate(g)&&!isNaN(g.getTime())?n={year:g.getFullYear(),month:g.getMonth(),date:g.getDate(),hours:g.getHours(),minutes:g.getMinutes(),seconds:g.getSeconds(),milliseconds:g.getMilliseconds()}:(g&&a.warn("dateparser:","baseDate is not a valid date"),n={year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0});for(var q=1,r=k.length;q<r;q++){var s=j[q-1];"Z"===s.matcher&&(l=!0),s.apply&&s.apply.call(n,k[q])}var t=l?Date.prototype.setUTCFullYear:Date.prototype.setFullYear,u=l?Date.prototype.setUTCHours:Date.prototype.setHours;return f(n.year,n.month,n.date)&&(!angular.isDate(g)||isNaN(g.getTime())||l?(p=new Date(0),t.call(p,n.year,n.month,n.date),u.call(p,n.hours||0,n.minutes||0,n.seconds||0,n.milliseconds||0)):(p=new Date(g),t.call(p,n.year,n.month,n.date),u.call(p,n.hours,n.minutes,n.seconds,n.milliseconds))),p}},this.toTimezone=h,this.fromTimezone=i,this.timezoneToOffset=j,this.addDateMinutes=k,this.convertTimezoneToLocal=l}]),angular.module("ui.bootstrap.isClass",[]).directive("uibIsClass",["$animate",function(a){var b=/^\s*([\s\S]+?)\s+on\s+([\s\S]+?)\s*$/,c=/^\s*([\s\S]+?)\s+for\s+([\s\S]+?)\s*$/;return{restrict:"A",compile:function(d,e){function f(a,b,c){i.push(a),j.push({scope:a,element:b}),o.forEach(function(b,c){g(b,a)}),a.$on("$destroy",h)}function g(b,d){var e=b.match(c),f=d.$eval(e[1]),g=e[2],h=k[b];if(!h){var i=function(b){var c=null;j.some(function(a){var d=a.scope.$eval(m);if(d===b)return c=a,!0}),h.lastActivated!==c&&(h.lastActivated&&a.removeClass(h.lastActivated.element,f),c&&a.addClass(c.element,f),h.lastActivated=c)};k[b]=h={lastActivated:null,scope:d,watchFn:i,compareWithExp:g,watcher:d.$watch(g,i)}}h.watchFn(d.$eval(g))}function h(a){var b=a.targetScope,c=i.indexOf(b);if(i.splice(c,1),j.splice(c,1),i.length){var d=i[0];angular.forEach(k,function(a){a.scope===b&&(a.watcher=d.$watch(a.compareWithExp,a.watchFn),a.scope=d)})}else k={}}var i=[],j=[],k={},l=e.uibIsClass.match(b),m=l[2],n=l[1],o=n.split(",");return f}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.isClass"]).value("$datepickerSuppressError",!1).value("$datepickerLiteralWarning",!0).constant("uibDatepickerConfig",{datepickerMode:"day",formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",maxDate:null,maxMode:"year",minDate:null,minMode:"day",ngModelOptions:{},shortcutPropagation:!1,showWeeks:!0,yearColumns:5,yearRows:4}).controller("UibDatepickerController",["$scope","$attrs","$parse","$interpolate","$locale","$log","dateFilter","uibDatepickerConfig","$datepickerLiteralWarning","$datepickerSuppressError","uibDateParser",function(a,b,c,d,e,f,g,h,i,j,k){function l(b){a.datepickerMode=b,a.datepickerOptions.datepickerMode=b}var m=this,n={$setViewValue:angular.noop},o={},p=[];!!b.datepickerOptions;a.datepickerOptions||(a.datepickerOptions={}),this.modes=["day","month","year"],["customClass","dateDisabled","datepickerMode","formatDay","formatDayHeader","formatDayTitle","formatMonth","formatMonthTitle","formatYear","maxDate","maxMode","minDate","minMode","showWeeks","shortcutPropagation","startingDay","yearColumns","yearRows"].forEach(function(b){switch(b){case"customClass":case"dateDisabled":a[b]=a.datepickerOptions[b]||angular.noop;break;case"datepickerMode":a.datepickerMode=angular.isDefined(a.datepickerOptions.datepickerMode)?a.datepickerOptions.datepickerMode:h.datepickerMode;break;case"formatDay":case"formatDayHeader":case"formatDayTitle":case"formatMonth":case"formatMonthTitle":case"formatYear":m[b]=angular.isDefined(a.datepickerOptions[b])?d(a.datepickerOptions[b])(a.$parent):h[b];break;case"showWeeks":case"shortcutPropagation":case"yearColumns":case"yearRows":m[b]=angular.isDefined(a.datepickerOptions[b])?a.datepickerOptions[b]:h[b];break;case"startingDay":angular.isDefined(a.datepickerOptions.startingDay)?m.startingDay=a.datepickerOptions.startingDay:angular.isNumber(h.startingDay)?m.startingDay=h.startingDay:m.startingDay=(e.DATETIME_FORMATS.FIRSTDAYOFWEEK+8)%7;break;case"maxDate":case"minDate":a.$watch("datepickerOptions."+b,function(a){a?angular.isDate(a)?m[b]=k.fromTimezone(new Date(a),o.timezone):(i&&f.warn("Literal date support has been deprecated, please switch to date object usage"),m[b]=new Date(g(a,"medium"))):m[b]=h[b]?k.fromTimezone(new Date(h[b]),o.timezone):null,m.refreshView()});break;case"maxMode":case"minMode":a.datepickerOptions[b]?a.$watch(function(){return a.datepickerOptions[b]},function(c){m[b]=a[b]=angular.isDefined(c)?c:datepickerOptions[b],("minMode"===b&&m.modes.indexOf(a.datepickerOptions.datepickerMode)<m.modes.indexOf(m[b])||"maxMode"===b&&m.modes.indexOf(a.datepickerOptions.datepickerMode)>m.modes.indexOf(m[b]))&&(a.datepickerMode=m[b],a.datepickerOptions.datepickerMode=m[b])}):m[b]=a[b]=h[b]||null}}),a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),a.disabled=angular.isDefined(b.disabled)||!1,angular.isDefined(b.ngDisabled)&&p.push(a.$parent.$watch(b.ngDisabled,function(b){a.disabled=b,m.refreshView()})),a.isActive=function(b){return 0===m.compare(b.date,m.activeDate)&&(a.activeDateId=b.uid,!0)},this.init=function(b){n=b,o=b.$options||h.ngModelOptions,a.datepickerOptions.initDate?(m.activeDate=k.fromTimezone(a.datepickerOptions.initDate,o.timezone)||new Date,a.$watch("datepickerOptions.initDate",function(a){a&&(n.$isEmpty(n.$modelValue)||n.$invalid)&&(m.activeDate=k.fromTimezone(a,o.timezone),m.refreshView())})):m.activeDate=new Date;var c=n.$modelValue?new Date(n.$modelValue):new Date;this.activeDate=isNaN(c)?k.fromTimezone(new Date,o.timezone):k.fromTimezone(c,o.timezone),n.$render=function(){m.render()}},this.render=function(){if(n.$viewValue){var a=new Date(n.$viewValue),b=!isNaN(a);b?this.activeDate=k.fromTimezone(a,o.timezone):j||f.error('Datepicker directive: "ng-model" value must be a Date object')}this.refreshView()},this.refreshView=function(){if(this.element){a.selectedDt=null,this._refreshView(),a.activeDt&&(a.activeDateId=a.activeDt.uid);var b=n.$viewValue?new Date(n.$viewValue):null;b=k.fromTimezone(b,o.timezone),n.$setValidity("dateDisabled",!b||this.element&&!this.isDisabled(b));
+}},this.createDateObject=function(b,c){var d=n.$viewValue?new Date(n.$viewValue):null;d=k.fromTimezone(d,o.timezone);var e=new Date;e=k.fromTimezone(e,o.timezone);var f=this.compare(b,e),g={date:b,label:k.filter(b,c),selected:d&&0===this.compare(b,d),disabled:this.isDisabled(b),past:f<0,current:0===f,future:f>0,customClass:this.customClass(b)||null};return d&&0===this.compare(b,d)&&(a.selectedDt=g),m.activeDate&&0===this.compare(g.date,m.activeDate)&&(a.activeDt=g),g},this.isDisabled=function(b){return a.disabled||this.minDate&&this.compare(b,this.minDate)<0||this.maxDate&&this.compare(b,this.maxDate)>0||a.dateDisabled&&a.dateDisabled({date:b,mode:a.datepickerMode})},this.customClass=function(b){return a.customClass({date:b,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},a.select=function(b){if(a.datepickerMode===m.minMode){var c=n.$viewValue?k.fromTimezone(new Date(n.$viewValue),o.timezone):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),c=k.toTimezone(c,o.timezone),n.$setViewValue(c),n.$render()}else m.activeDate=b,l(m.modes[m.modes.indexOf(a.datepickerMode)-1]),a.$emit("uib:datepicker.mode");a.$broadcast("uib:datepicker.focus")},a.move=function(a){var b=m.activeDate.getFullYear()+a*(m.step.years||0),c=m.activeDate.getMonth()+a*(m.step.months||0);m.activeDate.setFullYear(b,c,1),m.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===m.maxMode&&1===b||a.datepickerMode===m.minMode&&b===-1||(l(m.modes[m.modes.indexOf(a.datepickerMode)+b]),a.$emit("uib:datepicker.mode"))},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var q=function(){m.element[0].focus()};a.$on("uib:datepicker.focus",q),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey&&!a.disabled)if(b.preventDefault(),m.shortcutPropagation||b.stopPropagation(),"enter"===c||"space"===c){if(m.isDisabled(m.activeDate))return;a.select(m.activeDate)}else!b.ctrlKey||"up"!==c&&"down"!==c?(m.handleKeyDown(c,b),m.refreshView()):a.toggleMode("up"===c?1:-1)},a.$on("$destroy",function(){for(;p.length;)p.shift()()})}]).controller("UibDaypickerController",["$scope","$element","dateFilter",function(a,b,c){function d(a,b){return 1!==b||a%4!==0||a%100===0&&a%400!==0?f[b]:29}function e(a){var b=new Date(a);b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1}var f=[31,28,31,30,31,30,31,31,30,31,30,31];this.step={months:1},this.element=b,this.init=function(b){angular.extend(b,this),a.showWeeks=b.showWeeks,b.refreshView()},this.getDates=function(a,b){for(var c,d=new Array(b),e=new Date(a),f=0;f<b;)c=new Date(e),d[f++]=c,e.setDate(e.getDate()+1);return d},this._refreshView=function(){var b=this.activeDate.getFullYear(),d=this.activeDate.getMonth(),f=new Date(this.activeDate);f.setFullYear(b,d,1);var g=this.startingDay-f.getDay(),h=g>0?7-g:-g,i=new Date(f);h>0&&i.setDate(-h+1);for(var j=this.getDates(i,42),k=0;k<42;k++)j[k]=angular.extend(this.createDateObject(j[k],this.formatDay),{secondary:j[k].getMonth()!==d,uid:a.uniqueId+"-"+k});a.labels=new Array(7);for(var l=0;l<7;l++)a.labels[l]={abbr:c(j[l].date,this.formatDayHeader),full:c(j[l].date,"EEEE")};if(a.title=c(this.activeDate,this.formatDayTitle),a.rows=this.split(j,7),a.showWeeks){a.weekNumbers=[];for(var m=(11-this.startingDay)%7,n=a.rows.length,o=0;o<n;o++)a.weekNumbers.push(e(a.rows[o][m].date))}},this.compare=function(a,b){var c=new Date(a.getFullYear(),a.getMonth(),a.getDate()),d=new Date(b.getFullYear(),b.getMonth(),b.getDate());return c.setFullYear(a.getFullYear()),d.setFullYear(b.getFullYear()),c-d},this.handleKeyDown=function(a,b){var c=this.activeDate.getDate();if("left"===a)c-=1;else if("up"===a)c-=7;else if("right"===a)c+=1;else if("down"===a)c+=7;else if("pageup"===a||"pagedown"===a){var e=this.activeDate.getMonth()+("pageup"===a?-1:1);this.activeDate.setMonth(e,1),c=Math.min(d(this.activeDate.getFullYear(),this.activeDate.getMonth()),c)}else"home"===a?c=1:"end"===a&&(c=d(this.activeDate.getFullYear(),this.activeDate.getMonth()));this.activeDate.setDate(c)}}]).controller("UibMonthpickerController",["$scope","$element","dateFilter",function(a,b,c){this.step={years:1},this.element=b,this.init=function(a){angular.extend(a,this),a.refreshView()},this._refreshView=function(){for(var b,d=new Array(12),e=this.activeDate.getFullYear(),f=0;f<12;f++)b=new Date(this.activeDate),b.setFullYear(e,f,1),d[f]=angular.extend(this.createDateObject(b,this.formatMonth),{uid:a.uniqueId+"-"+f});a.title=c(this.activeDate,this.formatMonthTitle),a.rows=this.split(d,3)},this.compare=function(a,b){var c=new Date(a.getFullYear(),a.getMonth()),d=new Date(b.getFullYear(),b.getMonth());return c.setFullYear(a.getFullYear()),d.setFullYear(b.getFullYear()),c-d},this.handleKeyDown=function(a,b){var c=this.activeDate.getMonth();if("left"===a)c-=1;else if("up"===a)c-=3;else if("right"===a)c+=1;else if("down"===a)c+=3;else if("pageup"===a||"pagedown"===a){var d=this.activeDate.getFullYear()+("pageup"===a?-1:1);this.activeDate.setFullYear(d)}else"home"===a?c=0:"end"===a&&(c=11);this.activeDate.setMonth(c)}}]).controller("UibYearpickerController",["$scope","$element","dateFilter",function(a,b,c){function d(a){return parseInt((a-1)/f,10)*f+1}var e,f;this.element=b,this.yearpickerInit=function(){e=this.yearColumns,f=this.yearRows*e,this.step={years:f}},this._refreshView=function(){for(var b,c=new Array(f),g=0,h=d(this.activeDate.getFullYear());g<f;g++)b=new Date(this.activeDate),b.setFullYear(h+g,0,1),c[g]=angular.extend(this.createDateObject(b,this.formatYear),{uid:a.uniqueId+"-"+g});a.title=[c[0].label,c[f-1].label].join(" - "),a.rows=this.split(c,e),a.columns=e},this.compare=function(a,b){return a.getFullYear()-b.getFullYear()},this.handleKeyDown=function(a,b){var c=this.activeDate.getFullYear();"left"===a?c-=1:"up"===a?c-=e:"right"===a?c+=1:"down"===a?c+=e:"pageup"===a||"pagedown"===a?c+=("pageup"===a?-1:1)*f:"home"===a?c=d(this.activeDate.getFullYear()):"end"===a&&(c=d(this.activeDate.getFullYear())+f-1),this.activeDate.setFullYear(c)}}]).directive("uibDatepicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/datepicker/datepicker.html"},scope:{datepickerOptions:"=?"},require:["uibDatepicker","^ngModel"],controller:"UibDatepickerController",controllerAs:"datepicker",link:function(a,b,c,d){var e=d[0],f=d[1];e.init(f)}}}).directive("uibDaypicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/datepicker/day.html"},require:["^uibDatepicker","uibDaypicker"],controller:"UibDaypickerController",link:function(a,b,c,d){var e=d[0],f=d[1];f.init(e)}}}).directive("uibMonthpicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/datepicker/month.html"},require:["^uibDatepicker","uibMonthpicker"],controller:"UibMonthpickerController",link:function(a,b,c,d){var e=d[0],f=d[1];f.init(e)}}}).directive("uibYearpicker",function(){return{replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/datepicker/year.html"},require:["^uibDatepicker","uibYearpicker"],controller:"UibYearpickerController",link:function(a,b,c,d){var e=d[0];angular.extend(e,d[1]),e.yearpickerInit(),e.refreshView()}}}),angular.module("ui.bootstrap.position",[]).factory("$uibPosition",["$document","$window",function(a,b){var c,d,e={normal:/(auto|scroll)/,hidden:/(auto|scroll|hidden)/},f={auto:/\s?auto?\s?/i,primary:/^(top|bottom|left|right)$/,secondary:/^(top|bottom|left|right|center)$/,vertical:/^(top|bottom)$/},g=/(HTML|BODY)/;return{getRawNode:function(a){return a.nodeName?a:a[0]||a},parseStyle:function(a){return a=parseFloat(a),isFinite(a)?a:0},offsetParent:function(c){function d(a){return"static"===(b.getComputedStyle(a).position||"static")}c=this.getRawNode(c);for(var e=c.offsetParent||a[0].documentElement;e&&e!==a[0].documentElement&&d(e);)e=e.offsetParent;return e||a[0].documentElement},scrollbarWidth:function(e){if(e){if(angular.isUndefined(d)){var f=a.find("body");f.addClass("uib-position-body-scrollbar-measure"),d=b.innerWidth-f[0].clientWidth,d=isFinite(d)?d:0,f.removeClass("uib-position-body-scrollbar-measure")}return d}if(angular.isUndefined(c)){var g=angular.element('<div class="uib-position-scrollbar-measure"></div>');a.find("body").append(g),c=g[0].offsetWidth-g[0].clientWidth,c=isFinite(c)?c:0,g.remove()}return c},scrollbarPadding:function(a){a=this.getRawNode(a);var c=b.getComputedStyle(a),d=this.parseStyle(c.paddingRight),e=this.parseStyle(c.paddingBottom),f=this.scrollParent(a,!1,!0),h=this.scrollbarWidth(f,g.test(f.tagName));return{scrollbarWidth:h,widthOverflow:f.scrollWidth>f.clientWidth,right:d+h,originalRight:d,heightOverflow:f.scrollHeight>f.clientHeight,bottom:e+h,originalBottom:e}},isScrollable:function(a,c){a=this.getRawNode(a);var d=c?e.hidden:e.normal,f=b.getComputedStyle(a);return d.test(f.overflow+f.overflowY+f.overflowX)},scrollParent:function(c,d,f){c=this.getRawNode(c);var g=d?e.hidden:e.normal,h=a[0].documentElement,i=b.getComputedStyle(c);if(f&&g.test(i.overflow+i.overflowY+i.overflowX))return c;var j="absolute"===i.position,k=c.parentElement||h;if(k===h||"fixed"===i.position)return h;for(;k.parentElement&&k!==h;){var l=b.getComputedStyle(k);if(j&&"static"!==l.position&&(j=!1),!j&&g.test(l.overflow+l.overflowY+l.overflowX))break;k=k.parentElement}return k},position:function(c,d){c=this.getRawNode(c);var e=this.offset(c);if(d){var f=b.getComputedStyle(c);e.top-=this.parseStyle(f.marginTop),e.left-=this.parseStyle(f.marginLeft)}var g=this.offsetParent(c),h={top:0,left:0};return g!==a[0].documentElement&&(h=this.offset(g),h.top+=g.clientTop-g.scrollTop,h.left+=g.clientLeft-g.scrollLeft),{width:Math.round(angular.isNumber(e.width)?e.width:c.offsetWidth),height:Math.round(angular.isNumber(e.height)?e.height:c.offsetHeight),top:Math.round(e.top-h.top),left:Math.round(e.left-h.left)}},offset:function(c){c=this.getRawNode(c);var d=c.getBoundingClientRect();return{width:Math.round(angular.isNumber(d.width)?d.width:c.offsetWidth),height:Math.round(angular.isNumber(d.height)?d.height:c.offsetHeight),top:Math.round(d.top+(b.pageYOffset||a[0].documentElement.scrollTop)),left:Math.round(d.left+(b.pageXOffset||a[0].documentElement.scrollLeft))}},viewportOffset:function(c,d,e){c=this.getRawNode(c),e=e!==!1;var f=c.getBoundingClientRect(),g={top:0,left:0,bottom:0,right:0},h=d?a[0].documentElement:this.scrollParent(c),i=h.getBoundingClientRect();if(g.top=i.top+h.clientTop,g.left=i.left+h.clientLeft,h===a[0].documentElement&&(g.top+=b.pageYOffset,g.left+=b.pageXOffset),g.bottom=g.top+h.clientHeight,g.right=g.left+h.clientWidth,e){var j=b.getComputedStyle(h);g.top+=this.parseStyle(j.paddingTop),g.bottom-=this.parseStyle(j.paddingBottom),g.left+=this.parseStyle(j.paddingLeft),g.right-=this.parseStyle(j.paddingRight)}return{top:Math.round(f.top-g.top),bottom:Math.round(g.bottom-f.bottom),left:Math.round(f.left-g.left),right:Math.round(g.right-f.right)}},parsePlacement:function(a){var b=f.auto.test(a);return b&&(a=a.replace(f.auto,"")),a=a.split("-"),a[0]=a[0]||"top",f.primary.test(a[0])||(a[0]="top"),a[1]=a[1]||"center",f.secondary.test(a[1])||(a[1]="center"),b?a[2]=!0:a[2]=!1,a},positionElements:function(a,c,d,e){a=this.getRawNode(a),c=this.getRawNode(c);var g=angular.isDefined(c.offsetWidth)?c.offsetWidth:c.prop("offsetWidth"),h=angular.isDefined(c.offsetHeight)?c.offsetHeight:c.prop("offsetHeight");d=this.parsePlacement(d);var i=e?this.offset(a):this.position(a),j={top:0,left:0,placement:""};if(d[2]){var k=this.viewportOffset(a,e),l=b.getComputedStyle(c),m={width:g+Math.round(Math.abs(this.parseStyle(l.marginLeft)+this.parseStyle(l.marginRight))),height:h+Math.round(Math.abs(this.parseStyle(l.marginTop)+this.parseStyle(l.marginBottom)))};if(d[0]="top"===d[0]&&m.height>k.top&&m.height<=k.bottom?"bottom":"bottom"===d[0]&&m.height>k.bottom&&m.height<=k.top?"top":"left"===d[0]&&m.width>k.left&&m.width<=k.right?"right":"right"===d[0]&&m.width>k.right&&m.width<=k.left?"left":d[0],d[1]="top"===d[1]&&m.height-i.height>k.bottom&&m.height-i.height<=k.top?"bottom":"bottom"===d[1]&&m.height-i.height>k.top&&m.height-i.height<=k.bottom?"top":"left"===d[1]&&m.width-i.width>k.right&&m.width-i.width<=k.left?"right":"right"===d[1]&&m.width-i.width>k.left&&m.width-i.width<=k.right?"left":d[1],"center"===d[1])if(f.vertical.test(d[0])){var n=i.width/2-g/2;k.left+n<0&&m.width-i.width<=k.right?d[1]="left":k.right+n<0&&m.width-i.width<=k.left&&(d[1]="right")}else{var o=i.height/2-m.height/2;k.top+o<0&&m.height-i.height<=k.bottom?d[1]="top":k.bottom+o<0&&m.height-i.height<=k.top&&(d[1]="bottom")}}switch(d[0]){case"top":j.top=i.top-h;break;case"bottom":j.top=i.top+i.height;break;case"left":j.left=i.left-g;break;case"right":j.left=i.left+i.width}switch(d[1]){case"top":j.top=i.top;break;case"bottom":j.top=i.top+i.height-h;break;case"left":j.left=i.left;break;case"right":j.left=i.left+i.width-g;break;case"center":f.vertical.test(d[0])?j.left=i.left+i.width/2-g/2:j.top=i.top+i.height/2-h/2}return j.top=Math.round(j.top),j.left=Math.round(j.left),j.placement="center"===d[1]?d[0]:d[0]+"-"+d[1],j},positionArrow:function(a,c){a=this.getRawNode(a);var d=a.querySelector(".tooltip-inner, .popover-inner");if(d){var e=angular.element(d).hasClass("tooltip-inner"),g=e?a.querySelector(".tooltip-arrow"):a.querySelector(".arrow");if(g){var h={top:"",bottom:"",left:"",right:""};if(c=this.parsePlacement(c),"center"===c[1])return void angular.element(g).css(h);var i="border-"+c[0]+"-width",j=b.getComputedStyle(g)[i],k="border-";k+=f.vertical.test(c[0])?c[0]+"-"+c[1]:c[1]+"-"+c[0],k+="-radius";var l=b.getComputedStyle(e?d:a)[k];switch(c[0]){case"top":h.bottom=e?"0":"-"+j;break;case"bottom":h.top=e?"0":"-"+j;break;case"left":h.right=e?"0":"-"+j;break;case"right":h.left=e?"0":"-"+j}h[c[1]]=l,angular.element(g).css(h)}}}}}]),angular.module("ui.bootstrap.datepickerPopup",["ui.bootstrap.datepicker","ui.bootstrap.position"]).value("$datepickerPopupLiteralWarning",!0).constant("uibDatepickerPopupConfig",{altInputFormats:[],appendToBody:!1,clearText:"Clear",closeOnDateSelection:!0,closeText:"Done",currentText:"Today",datepickerPopup:"yyyy-MM-dd",datepickerPopupTemplateUrl:"uib/template/datepickerPopup/popup.html",datepickerTemplateUrl:"uib/template/datepicker/datepicker.html",html5Types:{date:"yyyy-MM-dd","datetime-local":"yyyy-MM-ddTHH:mm:ss.sss",month:"yyyy-MM"},onOpenFocus:!0,showButtonBar:!0,placement:"auto bottom-left"}).controller("UibDatepickerPopupController",["$scope","$element","$attrs","$compile","$log","$parse","$window","$document","$rootScope","$uibPosition","dateFilter","uibDateParser","uibDatepickerPopupConfig","$timeout","uibDatepickerConfig","$datepickerPopupLiteralWarning",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){function q(b){var c=l.parse(b,w,a.date);if(isNaN(c))for(var d=0;d<I.length;d++)if(c=l.parse(b,I[d],a.date),!isNaN(c))return c;return c}function r(a){if(angular.isNumber(a)&&(a=new Date(a)),!a)return null;if(angular.isDate(a)&&!isNaN(a))return a;if(angular.isString(a)){var b=q(a);if(!isNaN(b))return l.toTimezone(b,J)}return F.$options&&F.$options.allowInvalid?a:void 0}function s(a,b){var d=a||b;return!c.ngRequired&&!d||(angular.isNumber(d)&&(d=new Date(d)),!d||(!(!angular.isDate(d)||isNaN(d))||!!angular.isString(d)&&!isNaN(q(b))))}function t(c){if(a.isOpen||!a.disabled){var d=H[0],e=b[0].contains(c.target),f=void 0!==d.contains&&d.contains(c.target);!a.isOpen||e||f||a.$apply(function(){a.isOpen=!1})}}function u(c){27===c.which&&a.isOpen?(c.preventDefault(),c.stopPropagation(),a.$apply(function(){a.isOpen=!1}),b[0].focus()):40!==c.which||a.isOpen||(c.preventDefault(),c.stopPropagation(),a.$apply(function(){a.isOpen=!0}))}function v(){if(a.isOpen){var d=angular.element(H[0].querySelector(".uib-datepicker-popup")),e=c.popupPlacement?c.popupPlacement:m.placement,f=j.positionElements(b,d,e,y);d.css({top:f.top+"px",left:f.left+"px"}),d.hasClass("uib-position-measure")&&d.removeClass("uib-position-measure")}}var w,x,y,z,A,B,C,D,E,F,G,H,I,J,K=!1,L=[];this.init=function(e){if(F=e,G=e.$options,x=angular.isDefined(c.closeOnDateSelection)?a.$parent.$eval(c.closeOnDateSelection):m.closeOnDateSelection,y=angular.isDefined(c.datepickerAppendToBody)?a.$parent.$eval(c.datepickerAppendToBody):m.appendToBody,z=angular.isDefined(c.onOpenFocus)?a.$parent.$eval(c.onOpenFocus):m.onOpenFocus,A=angular.isDefined(c.datepickerPopupTemplateUrl)?c.datepickerPopupTemplateUrl:m.datepickerPopupTemplateUrl,B=angular.isDefined(c.datepickerTemplateUrl)?c.datepickerTemplateUrl:m.datepickerTemplateUrl,I=angular.isDefined(c.altInputFormats)?a.$parent.$eval(c.altInputFormats):m.altInputFormats,a.showButtonBar=angular.isDefined(c.showButtonBar)?a.$parent.$eval(c.showButtonBar):m.showButtonBar,m.html5Types[c.type]?(w=m.html5Types[c.type],K=!0):(w=c.uibDatepickerPopup||m.datepickerPopup,c.$observe("uibDatepickerPopup",function(a,b){var c=a||m.datepickerPopup;if(c!==w&&(w=c,F.$modelValue=null,!w))throw new Error("uibDatepickerPopup must have a date format specified.")})),!w)throw new Error("uibDatepickerPopup must have a date format specified.");if(K&&c.uibDatepickerPopup)throw new Error("HTML5 date input types do not support custom formats.");C=angular.element("<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>"),G?(J=G.timezone,a.ngModelOptions=angular.copy(G),a.ngModelOptions.timezone=null,a.ngModelOptions.updateOnDefault===!0&&(a.ngModelOptions.updateOn=a.ngModelOptions.updateOn?a.ngModelOptions.updateOn+" default":"default"),C.attr("ng-model-options","ngModelOptions")):J=null,C.attr({"ng-model":"date","ng-change":"dateSelection(date)","template-url":A}),D=angular.element(C.children()[0]),D.attr("template-url",B),a.datepickerOptions||(a.datepickerOptions={}),K&&"month"===c.type&&(a.datepickerOptions.datepickerMode="month",a.datepickerOptions.minMode="month"),D.attr("datepicker-options","datepickerOptions"),K?F.$formatters.push(function(b){return a.date=l.fromTimezone(b,J),b}):(F.$$parserName="date",F.$validators.date=s,F.$parsers.unshift(r),F.$formatters.push(function(b){return F.$isEmpty(b)?(a.date=b,b):(angular.isNumber(b)&&(b=new Date(b)),a.date=l.fromTimezone(b,J),l.filter(a.date,w))})),F.$viewChangeListeners.push(function(){a.date=q(F.$viewValue)}),b.on("keydown",u),H=d(C)(a),C.remove(),y?h.find("body").append(H):b.after(H),a.$on("$destroy",function(){for(a.isOpen===!0&&(i.$$phase||a.$apply(function(){a.isOpen=!1})),H.remove(),b.off("keydown",u),h.off("click",t),E&&E.off("scroll",v),angular.element(g).off("resize",v);L.length;)L.shift()()})},a.getText=function(b){return a[b+"Text"]||m[b+"Text"]},a.isDisabled=function(b){"today"===b&&(b=l.fromTimezone(new Date,J));var c={};return angular.forEach(["minDate","maxDate"],function(b){a.datepickerOptions[b]?angular.isDate(a.datepickerOptions[b])?c[b]=l.fromTimezone(new Date(a.datepickerOptions[b]),J):(p&&e.warn("Literal date support has been deprecated, please switch to date object usage"),c[b]=new Date(k(a.datepickerOptions[b],"medium"))):c[b]=null}),a.datepickerOptions&&c.minDate&&a.compare(b,c.minDate)<0||c.maxDate&&a.compare(b,c.maxDate)>0},a.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth(),a.getDate())-new Date(b.getFullYear(),b.getMonth(),b.getDate())},a.dateSelection=function(c){angular.isDefined(c)&&(a.date=c);var d=a.date?l.filter(a.date,w):null;b.val(d),F.$setViewValue(d),x&&(a.isOpen=!1,b[0].focus())},a.keydown=function(c){27===c.which&&(c.stopPropagation(),a.isOpen=!1,b[0].focus())},a.select=function(b,c){if(c.stopPropagation(),"today"===b){var d=new Date;angular.isDate(a.date)?(b=new Date(a.date),b.setFullYear(d.getFullYear(),d.getMonth(),d.getDate())):b=new Date(d.setHours(0,0,0,0))}a.dateSelection(b)},a.close=function(c){c.stopPropagation(),a.isOpen=!1,b[0].focus()},a.disabled=angular.isDefined(c.disabled)||!1,c.ngDisabled&&L.push(a.$parent.$watch(f(c.ngDisabled),function(b){a.disabled=b})),a.$watch("isOpen",function(d){d?a.disabled?a.isOpen=!1:n(function(){v(),z&&a.$broadcast("uib:datepicker.focus"),h.on("click",t);var d=c.popupPlacement?c.popupPlacement:m.placement;y||j.parsePlacement(d)[2]?(E=E||angular.element(j.scrollParent(b)),E&&E.on("scroll",v)):E=null,angular.element(g).on("resize",v)},0,!1):(h.off("click",t),E&&E.off("scroll",v),angular.element(g).off("resize",v))}),a.$on("uib:datepicker.mode",function(){n(v,0,!1)})}]).directive("uibDatepickerPopup",function(){return{require:["ngModel","uibDatepickerPopup"],controller:"UibDatepickerPopupController",scope:{datepickerOptions:"=?",isOpen:"=?",currentText:"@",clearText:"@",closeText:"@"},link:function(a,b,c,d){var e=d[0],f=d[1];f.init(e)}}}).directive("uibDatepickerPopupWrap",function(){return{replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/datepickerPopup/popup.html"}}}),angular.module("ui.bootstrap.debounce",[]).factory("$$debounce",["$timeout",function(a){return function(b,c){var d;return function(){var e=this,f=Array.prototype.slice.call(arguments);d&&a.cancel(d),d=a(function(){b.apply(e,f)},c)}}}]),angular.module("ui.bootstrap.dropdown",["ui.bootstrap.position"]).constant("uibDropdownConfig",{appendToOpenClass:"uib-dropdown-open",openClass:"open"}).service("uibDropdownService",["$document","$rootScope",function(a,b){var c=null;this.open=function(b,f){c||(a.on("click",d),f.on("keydown",e)),c&&c!==b&&(c.isOpen=!1),c=b},this.close=function(b,f){c===b&&(c=null,a.off("click",d),f.off("keydown",e))};var d=function(a){if(c&&!(a&&"disabled"===c.getAutoClose()||a&&3===a.which)){var d=c.getToggleElement();if(!(a&&d&&d[0].contains(a.target))){var e=c.getDropdownElement();a&&"outsideClick"===c.getAutoClose()&&e&&e[0].contains(a.target)||(c.isOpen=!1,b.$$phase||c.$apply())}}},e=function(a){27===a.which?(a.stopPropagation(),c.focusToggleElement(),d()):c.isKeynavEnabled()&&[38,40].indexOf(a.which)!==-1&&c.isOpen&&(a.preventDefault(),a.stopPropagation(),c.focusDropdownEntry(a.which))}}]).controller("UibDropdownController",["$scope","$element","$attrs","$parse","uibDropdownConfig","uibDropdownService","$animate","$uibPosition","$document","$compile","$templateRequest",function(a,b,c,d,e,f,g,h,i,j,k){var l,m,n=this,o=a.$new(),p=e.appendToOpenClass,q=e.openClass,r=angular.noop,s=c.onToggle?d(c.onToggle):angular.noop,t=!1,u=null,v=!1,w=i.find("body");b.addClass("dropdown"),this.init=function(){if(c.isOpen&&(m=d(c.isOpen),r=m.assign,a.$watch(m,function(a){o.isOpen=!!a})),angular.isDefined(c.dropdownAppendTo)){var e=d(c.dropdownAppendTo)(o);e&&(u=angular.element(e))}t=angular.isDefined(c.dropdownAppendToBody),v=angular.isDefined(c.keyboardNav),t&&!u&&(u=w),u&&n.dropdownMenu&&(u.append(n.dropdownMenu),b.on("$destroy",function(){n.dropdownMenu.remove()}))},this.toggle=function(a){return o.isOpen=arguments.length?!!a:!o.isOpen,angular.isFunction(r)&&r(o,o.isOpen),o.isOpen},this.isOpen=function(){return o.isOpen},o.getToggleElement=function(){return n.toggleElement},o.getAutoClose=function(){return c.autoClose||"always"},o.getElement=function(){return b},o.isKeynavEnabled=function(){return v},o.focusDropdownEntry=function(a){var c=n.dropdownMenu?angular.element(n.dropdownMenu).find("a"):b.find("ul").eq(0).find("a");switch(a){case 40:angular.isNumber(n.selectedOption)?n.selectedOption=n.selectedOption===c.length-1?n.selectedOption:n.selectedOption+1:n.selectedOption=0;break;case 38:angular.isNumber(n.selectedOption)?n.selectedOption=0===n.selectedOption?0:n.selectedOption-1:n.selectedOption=c.length-1}c[n.selectedOption].focus()},o.getDropdownElement=function(){return n.dropdownMenu},o.focusToggleElement=function(){n.toggleElement&&n.toggleElement[0].focus()},o.$watch("isOpen",function(c,d){if(u&&n.dropdownMenu){var e,i,m,v=h.positionElements(b,n.dropdownMenu,"bottom-left",!0);if(e={top:v.top+"px",display:c?"block":"none"},i=n.dropdownMenu.hasClass("dropdown-menu-right"),i?(e.left="auto",m=h.scrollbarWidth(!0),e.right=window.innerWidth-m-(v.left+b.prop("offsetWidth"))+"px"):(e.left=v.left+"px",e.right="auto"),!t){var w=h.offset(u);e.top=v.top-w.top+"px",i?e.right=window.innerWidth-(v.left-w.left+b.prop("offsetWidth"))+"px":e.left=v.left-w.left+"px"}n.dropdownMenu.css(e)}var x=u?u:b,y=x.hasClass(u?p:q);if(y===!c&&g[c?"addClass":"removeClass"](x,u?p:q).then(function(){angular.isDefined(c)&&c!==d&&s(a,{open:!!c})}),c)n.dropdownMenuTemplateUrl&&k(n.dropdownMenuTemplateUrl).then(function(a){l=o.$new(),j(a.trim())(l,function(a){var b=a;n.dropdownMenu.replaceWith(b),n.dropdownMenu=b})}),o.focusToggleElement(),f.open(o,b);else{if(n.dropdownMenuTemplateUrl){l&&l.$destroy();var z=angular.element('<ul class="dropdown-menu"></ul>');n.dropdownMenu.replaceWith(z),n.dropdownMenu=z}f.close(o,b),n.selectedOption=null}angular.isFunction(r)&&r(a,c)})}]).directive("uibDropdown",function(){return{controller:"UibDropdownController",link:function(a,b,c,d){d.init()}}}).directive("uibDropdownMenu",function(){return{restrict:"A",require:"?^uibDropdown",link:function(a,b,c,d){if(d&&!angular.isDefined(c.dropdownNested)){b.addClass("dropdown-menu");var e=c.templateUrl;e&&(d.dropdownMenuTemplateUrl=e),d.dropdownMenu||(d.dropdownMenu=b)}}}}).directive("uibDropdownToggle",function(){return{require:"?^uibDropdown",link:function(a,b,c,d){if(d){b.addClass("dropdown-toggle"),d.toggleElement=b;var e=function(e){e.preventDefault(),b.hasClass("disabled")||c.disabled||a.$apply(function(){d.toggle()})};b.bind("click",e),b.attr({"aria-haspopup":!0,"aria-expanded":!1}),a.$watch(d.isOpen,function(a){b.attr("aria-expanded",!!a)}),a.$on("$destroy",function(){b.unbind("click",e)})}}}}),angular.module("ui.bootstrap.stackedMap",[]).factory("$$stackedMap",function(){return{createNew:function(){var a=[];return{add:function(b,c){a.push({key:b,value:c})},get:function(b){for(var c=0;c<a.length;c++)if(b===a[c].key)return a[c]},keys:function(){for(var b=[],c=0;c<a.length;c++)b.push(a[c].key);return b},top:function(){return a[a.length-1]},remove:function(b){for(var c=-1,d=0;d<a.length;d++)if(b===a[d].key){c=d;break}return a.splice(c,1)[0]},removeTop:function(){return a.splice(a.length-1,1)[0]},length:function(){return a.length}}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.stackedMap","ui.bootstrap.position"]).factory("$$multiMap",function(){return{createNew:function(){var a={};return{entries:function(){return Object.keys(a).map(function(b){return{key:b,value:a[b]}})},get:function(b){return a[b]},hasKey:function(b){return!!a[b]},keys:function(){return Object.keys(a)},put:function(b,c){a[b]||(a[b]=[]),a[b].push(c)},remove:function(b,c){var d=a[b];if(d){var e=d.indexOf(c);e!==-1&&d.splice(e,1),d.length||delete a[b]}}}}}}).provider("$uibResolve",function(){var a=this;this.resolver=null,this.setResolver=function(a){this.resolver=a},this.$get=["$injector","$q",function(b,c){var d=a.resolver?b.get(a.resolver):null;return{resolve:function(a,e,f,g){if(d)return d.resolve(a,e,f,g);var h=[];return angular.forEach(a,function(a){angular.isFunction(a)||angular.isArray(a)?h.push(c.resolve(b.invoke(a))):angular.isString(a)?h.push(c.resolve(b.get(a))):h.push(c.resolve(a))}),c.all(h).then(function(b){var c={},d=0;return angular.forEach(a,function(a,e){c[e]=b[d++]}),c})}}}]}).directive("uibModalBackdrop",["$animate","$injector","$uibModalStack",function(a,b,c){function d(b,d,e){e.modalInClass&&(a.addClass(d,e.modalInClass),b.$on(c.NOW_CLOSING_EVENT,function(c,f){var g=f();b.modalOptions.animation?a.removeClass(d,e.modalInClass).then(g):g()}))}return{replace:!0,templateUrl:"uib/template/modal/backdrop.html",compile:function(a,b){return a.addClass(b.backdropClass),d}}}]).directive("uibModalWindow",["$uibModalStack","$q","$animateCss","$document",function(a,b,c,d){return{scope:{index:"@"},replace:!0,transclude:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/modal/window.html"},link:function(e,f,g){f.addClass(g.windowClass||""),f.addClass(g.windowTopClass||""),e.size=g.size,e.close=function(b){var c=a.getTop();c&&c.value.backdrop&&"static"!==c.value.backdrop&&b.target===b.currentTarget&&(b.preventDefault(),b.stopPropagation(),a.dismiss(c.key,"backdrop click"))},f.on("click",e.close),e.$isRendered=!0;var h=b.defer();g.$observe("modalRender",function(a){"true"===a&&h.resolve()}),h.promise.then(function(){var h=null;g.modalInClass&&(h=c(f,{addClass:g.modalInClass}).start(),e.$on(a.NOW_CLOSING_EVENT,function(a,b){var d=b();c(f,{removeClass:g.modalInClass}).start().then(d)})),b.when(h).then(function(){var b=a.getTop();if(b&&a.modalRendered(b.key),!d[0].activeElement||!f[0].contains(d[0].activeElement)){var c=f[0].querySelector("[autofocus]");c?c.focus():f[0].focus()}})})}}}]).directive("uibModalAnimationClass",function(){return{compile:function(a,b){b.modalAnimation&&a.addClass(b.uibModalAnimationClass)}}}).directive("uibModalTransclude",function(){return{link:function(a,b,c,d,e){e(a.$parent,function(a){b.empty(),b.append(a)})}}}).factory("$uibModalStack",["$animate","$animateCss","$document","$compile","$rootScope","$q","$$multiMap","$$stackedMap","$uibPosition",function(a,b,c,d,e,f,g,h,i){function j(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)}function k(){for(var a=-1,b=v.keys(),c=0;c<b.length;c++)v.get(b[c]).value.backdrop&&(a=c);return a>-1&&a<y&&(a=y),a}function l(a,b){var c=v.get(a).value,d=c.appendTo;v.remove(a),z=v.top(),z&&(y=parseInt(z.value.modalDomEl.attr("index"),10)),o(c.modalDomEl,c.modalScope,function(){var b=c.openedClass||u;w.remove(b,a);var e=w.hasKey(b);d.toggleClass(b,e),!e&&t&&t.heightOverflow&&t.scrollbarWidth&&(t.originalRight?d.css({paddingRight:t.originalRight+"px"}):d.css({paddingRight:""}),t=null),m(!0)},c.closedDeferred),n(),b&&b.focus?b.focus():d.focus&&d.focus()}function m(a){var b;v.length()>0&&(b=v.top().value,b.modalDomEl.toggleClass(b.windowTopClass||"",a))}function n(){if(r&&k()===-1){var a=s;o(r,s,function(){a=null}),r=void 0,s=void 0}}function o(b,c,d,e){function g(){g.done||(g.done=!0,a.leave(b).then(function(){b.remove(),e&&e.resolve()}),c.$destroy(),d&&d())}var h,i=null,j=function(){return h||(h=f.defer(),i=h.promise),function(){h.resolve()}};return c.$broadcast(x.NOW_CLOSING_EVENT,j),f.when(i).then(g)}function p(a){if(a.isDefaultPrevented())return a;var b=v.top();if(b)switch(a.which){case 27:b.value.keyboard&&(a.preventDefault(),e.$apply(function(){x.dismiss(b.key,"escape key press")}));break;case 9:var c=x.loadFocusElementList(b),d=!1;a.shiftKey?(x.isFocusInFirstItem(a,c)||x.isModalFocused(a,b))&&(d=x.focusLastFocusableElement(c)):x.isFocusInLastItem(a,c)&&(d=x.focusFirstFocusableElement(c)),d&&(a.preventDefault(),a.stopPropagation())}}function q(a,b,c){return!a.value.modalScope.$broadcast("modal.closing",b,c).defaultPrevented}var r,s,t,u="modal-open",v=h.createNew(),w=g.createNew(),x={NOW_CLOSING_EVENT:"modal.stack.now-closing"},y=0,z=null,A="a[href], area[href], input:not([disabled]), button:not([disabled]),select:not([disabled]), textarea:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable=true]";return e.$watch(k,function(a){s&&(s.index=a)}),c.on("keydown",p),e.$on("$destroy",function(){c.off("keydown",p)}),x.open=function(b,f){var g=c[0].activeElement,h=f.openedClass||u;m(!1),z=v.top(),v.add(b,{deferred:f.deferred,renderDeferred:f.renderDeferred,closedDeferred:f.closedDeferred,modalScope:f.scope,backdrop:f.backdrop,keyboard:f.keyboard,openedClass:f.openedClass,windowTopClass:f.windowTopClass,animation:f.animation,appendTo:f.appendTo}),w.put(h,b);var j=f.appendTo,l=k();if(!j.length)throw new Error("appendTo element not found. Make sure that the element passed is in DOM.");l>=0&&!r&&(s=e.$new(!0),s.modalOptions=f,s.index=l,r=angular.element('<div uib-modal-backdrop="modal-backdrop"></div>'),r.attr("backdrop-class",f.backdropClass),f.animation&&r.attr("modal-animation","true"),d(r)(s),a.enter(r,j),t=i.scrollbarPadding(j),t.heightOverflow&&t.scrollbarWidth&&j.css({paddingRight:t.right+"px"})),y=z?parseInt(z.value.modalDomEl.attr("index"),10)+1:0;
+var n=angular.element('<div uib-modal-window="modal-window"></div>');n.attr({"template-url":f.windowTemplateUrl,"window-class":f.windowClass,"window-top-class":f.windowTopClass,size:f.size,index:y,animate:"animate"}).html(f.content),f.animation&&n.attr("modal-animation","true"),j.addClass(h),a.enter(d(n)(f.scope),j),v.top().value.modalDomEl=n,v.top().value.modalOpener=g},x.close=function(a,b){var c=v.get(a);return c&&q(c,b,!0)?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.resolve(b),l(a,c.value.modalOpener),!0):!c},x.dismiss=function(a,b){var c=v.get(a);return c&&q(c,b,!1)?(c.value.modalScope.$$uibDestructionScheduled=!0,c.value.deferred.reject(b),l(a,c.value.modalOpener),!0):!c},x.dismissAll=function(a){for(var b=this.getTop();b&&this.dismiss(b.key,a);)b=this.getTop()},x.getTop=function(){return v.top()},x.modalRendered=function(a){var b=v.get(a);b&&b.value.renderDeferred.resolve()},x.focusFirstFocusableElement=function(a){return a.length>0&&(a[0].focus(),!0)},x.focusLastFocusableElement=function(a){return a.length>0&&(a[a.length-1].focus(),!0)},x.isModalFocused=function(a,b){if(a&&b){var c=b.value.modalDomEl;if(c&&c.length)return(a.target||a.srcElement)===c[0]}return!1},x.isFocusInFirstItem=function(a,b){return b.length>0&&(a.target||a.srcElement)===b[0]},x.isFocusInLastItem=function(a,b){return b.length>0&&(a.target||a.srcElement)===b[b.length-1]},x.loadFocusElementList=function(a){if(a){var b=a.value.modalDomEl;if(b&&b.length){var c=b[0].querySelectorAll(A);return c?Array.prototype.filter.call(c,function(a){return j(a)}):c}}},x}]).provider("$uibModal",function(){var a={options:{animation:!0,backdrop:!0,keyboard:!0},$get:["$rootScope","$q","$document","$templateRequest","$controller","$uibResolve","$uibModalStack",function(b,c,d,e,f,g,h){function i(a){return a.template?c.when(a.template):e(angular.isFunction(a.templateUrl)?a.templateUrl():a.templateUrl)}var j={},k=null;return j.getPromiseChain=function(){return k},j.open=function(e){function j(){return r}var l=c.defer(),m=c.defer(),n=c.defer(),o=c.defer(),p={result:l.promise,opened:m.promise,closed:n.promise,rendered:o.promise,close:function(a){return h.close(p,a)},dismiss:function(a){return h.dismiss(p,a)}};if(e=angular.extend({},a.options,e),e.resolve=e.resolve||{},e.appendTo=e.appendTo||d.find("body").eq(0),!e.template&&!e.templateUrl)throw new Error("One of template or templateUrl options is required.");var q,r=c.all([i(e),g.resolve(e.resolve,{},null,null)]);return q=k=c.all([k]).then(j,j).then(function(a){var c=e.scope||b,d=c.$new();d.$close=p.close,d.$dismiss=p.dismiss,d.$on("$destroy",function(){d.$$uibDestructionScheduled||d.$dismiss("$uibUnscheduledDestruction")});var g,i,j={};e.controller&&(j.$scope=d,j.$scope.$resolve={},j.$uibModalInstance=p,angular.forEach(a[1],function(a,b){j[b]=a,j.$scope.$resolve[b]=a}),i=f(e.controller,j,!0,e.controllerAs),e.controllerAs&&e.bindToController&&(g=i.instance,g.$close=d.$close,g.$dismiss=d.$dismiss,angular.extend(g,{$resolve:j.$scope.$resolve},c)),g=i(),angular.isFunction(g.$onInit)&&g.$onInit()),h.open(p,{scope:d,deferred:l,renderDeferred:o,closedDeferred:n,content:a[0],animation:e.animation,backdrop:e.backdrop,keyboard:e.keyboard,backdropClass:e.backdropClass,windowTopClass:e.windowTopClass,windowClass:e.windowClass,windowTemplateUrl:e.windowTemplateUrl,size:e.size,openedClass:e.openedClass,appendTo:e.appendTo}),m.resolve(!0)},function(a){m.reject(a),l.reject(a)})["finally"](function(){k===q&&(k=null)}),p},j}]};return a}),angular.module("ui.bootstrap.paging",[]).factory("uibPaging",["$parse",function(a){return{create:function(b,c,d){b.setNumPages=d.numPages?a(d.numPages).assign:angular.noop,b.ngModelCtrl={$setViewValue:angular.noop},b._watchers=[],b.init=function(a,e){b.ngModelCtrl=a,b.config=e,a.$render=function(){b.render()},d.itemsPerPage?b._watchers.push(c.$parent.$watch(d.itemsPerPage,function(a){b.itemsPerPage=parseInt(a,10),c.totalPages=b.calculateTotalPages(),b.updatePage()})):b.itemsPerPage=e.itemsPerPage,c.$watch("totalItems",function(a,d){(angular.isDefined(a)||a!==d)&&(c.totalPages=b.calculateTotalPages(),b.updatePage())})},b.calculateTotalPages=function(){var a=b.itemsPerPage<1?1:Math.ceil(c.totalItems/b.itemsPerPage);return Math.max(a||0,1)},b.render=function(){c.page=parseInt(b.ngModelCtrl.$viewValue,10)||1},c.selectPage=function(a,d){d&&d.preventDefault();var e=!c.ngDisabled||!d;e&&c.page!==a&&a>0&&a<=c.totalPages&&(d&&d.target&&d.target.blur(),b.ngModelCtrl.$setViewValue(a),b.ngModelCtrl.$render())},c.getText=function(a){return c[a+"Text"]||b.config[a+"Text"]},c.noPrevious=function(){return 1===c.page},c.noNext=function(){return c.page===c.totalPages},b.updatePage=function(){b.setNumPages(c.$parent,c.totalPages),c.page>c.totalPages?c.selectPage(c.totalPages):b.ngModelCtrl.$render()},c.$on("$destroy",function(){for(;b._watchers.length;)b._watchers.shift()()})}}}]),angular.module("ui.bootstrap.pager",["ui.bootstrap.paging"]).controller("UibPagerController",["$scope","$attrs","uibPaging","uibPagerConfig",function(a,b,c,d){a.align=angular.isDefined(b.align)?a.$parent.$eval(b.align):d.align,c.create(this,a,b)}]).constant("uibPagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("uibPager",["uibPagerConfig",function(a){return{scope:{totalItems:"=",previousText:"@",nextText:"@",ngDisabled:"="},require:["uibPager","?ngModel"],controller:"UibPagerController",controllerAs:"pager",templateUrl:function(a,b){return b.templateUrl||"uib/template/pager/pager.html"},replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&f.init(g,a)}}}]),angular.module("ui.bootstrap.pagination",["ui.bootstrap.paging"]).controller("UibPaginationController",["$scope","$attrs","$parse","uibPaging","uibPaginationConfig",function(a,b,c,d,e){function f(a,b,c){return{number:a,text:b,active:c}}function g(a,b){var c=[],d=1,e=b,g=angular.isDefined(i)&&i<b;g&&(j?(d=Math.max(a-Math.floor(i/2),1),e=d+i-1,e>b&&(e=b,d=e-i+1)):(d=(Math.ceil(a/i)-1)*i+1,e=Math.min(d+i-1,b)));for(var h=d;h<=e;h++){var n=f(h,m(h),h===a);c.push(n)}if(g&&i>0&&(!j||k||l)){if(d>1){if(!l||d>3){var o=f(d-1,"...",!1);c.unshift(o)}if(l){if(3===d){var p=f(2,"2",!1);c.unshift(p)}var q=f(1,"1",!1);c.unshift(q)}}if(e<b){if(!l||e<b-2){var r=f(e+1,"...",!1);c.push(r)}if(l){if(e===b-2){var s=f(b-1,b-1,!1);c.push(s)}var t=f(b,b,!1);c.push(t)}}}return c}var h=this,i=angular.isDefined(b.maxSize)?a.$parent.$eval(b.maxSize):e.maxSize,j=angular.isDefined(b.rotate)?a.$parent.$eval(b.rotate):e.rotate,k=angular.isDefined(b.forceEllipses)?a.$parent.$eval(b.forceEllipses):e.forceEllipses,l=angular.isDefined(b.boundaryLinkNumbers)?a.$parent.$eval(b.boundaryLinkNumbers):e.boundaryLinkNumbers,m=angular.isDefined(b.pageLabel)?function(c){return a.$parent.$eval(b.pageLabel,{$page:c})}:angular.identity;a.boundaryLinks=angular.isDefined(b.boundaryLinks)?a.$parent.$eval(b.boundaryLinks):e.boundaryLinks,a.directionLinks=angular.isDefined(b.directionLinks)?a.$parent.$eval(b.directionLinks):e.directionLinks,d.create(this,a,b),b.maxSize&&h._watchers.push(a.$parent.$watch(c(b.maxSize),function(a){i=parseInt(a,10),h.render()}));var n=this.render;this.render=function(){n(),a.page>0&&a.page<=a.totalPages&&(a.pages=g(a.page,a.totalPages))}}]).constant("uibPaginationConfig",{itemsPerPage:10,boundaryLinks:!1,boundaryLinkNumbers:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0,forceEllipses:!1}).directive("uibPagination",["$parse","uibPaginationConfig",function(a,b){return{scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@",ngDisabled:"="},require:["uibPagination","?ngModel"],controller:"UibPaginationController",controllerAs:"pagination",templateUrl:function(a,b){return b.templateUrl||"uib/template/pagination/pagination.html"},replace:!0,link:function(a,c,d,e){var f=e[0],g=e[1];g&&f.init(g,b)}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.stackedMap"]).provider("$uibTooltip",function(){function a(a){var b=/[A-Z]/g,c="-";return a.replace(b,function(a,b){return(b?c:"")+a.toLowerCase()})}var b={placement:"top",placementClassPrefix:"",animation:!0,popupDelay:0,popupCloseDelay:0,useContentExp:!1},c={mouseenter:"mouseleave",click:"click",outsideClick:"outsideClick",focus:"blur",none:""},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=["$window","$compile","$timeout","$document","$uibPosition","$interpolate","$rootScope","$parse","$$stackedMap",function(e,f,g,h,i,j,k,l,m){function n(a){if(27===a.which){var b=o.top();b&&(b.value.close(),o.removeTop(),b=null)}}var o=m.createNew();return h.on("keypress",n),k.$on("$destroy",function(){h.off("keypress",n)}),function(e,k,m,n){function p(a){var b=(a||n.trigger||m).split(" "),d=b.map(function(a){return c[a]||a});return{show:b,hide:d}}n=angular.extend({},b,d,n);var q=a(e),r=j.startSymbol(),s=j.endSymbol(),t="<div "+q+'-popup uib-title="'+r+"title"+s+'" '+(n.useContentExp?'content-exp="contentExp()" ':'content="'+r+"content"+s+'" ')+'placement="'+r+"placement"+s+'" popup-class="'+r+"popupClass"+s+'" animation="animation" is-open="isOpen" origin-scope="origScope" class="uib-position-measure"></div>';return{compile:function(a,b){var c=f(t);return function(a,b,d,f){function j(){N.isOpen?q():m()}function m(){M&&!a.$eval(d[k+"Enable"])||(u(),x(),N.popupDelay?G||(G=g(r,N.popupDelay,!1)):r())}function q(){s(),N.popupCloseDelay?H||(H=g(t,N.popupCloseDelay,!1)):t()}function r(){return s(),u(),N.content?(v(),void N.$evalAsync(function(){N.isOpen=!0,y(!0),S()})):angular.noop}function s(){G&&(g.cancel(G),G=null),I&&(g.cancel(I),I=null)}function t(){N&&N.$evalAsync(function(){N&&(N.isOpen=!1,y(!1),N.animation?F||(F=g(w,150,!1)):w())})}function u(){H&&(g.cancel(H),H=null),F&&(g.cancel(F),F=null)}function v(){D||(E=N.$new(),D=c(E,function(a){K?h.find("body").append(a):b.after(a)}),z())}function w(){s(),u(),A(),D&&(D.remove(),D=null),E&&(E.$destroy(),E=null)}function x(){N.title=d[k+"Title"],Q?N.content=Q(a):N.content=d[e],N.popupClass=d[k+"Class"],N.placement=angular.isDefined(d[k+"Placement"])?d[k+"Placement"]:n.placement;var b=i.parsePlacement(N.placement);J=b[1]?b[0]+"-"+b[1]:b[0];var c=parseInt(d[k+"PopupDelay"],10),f=parseInt(d[k+"PopupCloseDelay"],10);N.popupDelay=isNaN(c)?n.popupDelay:c,N.popupCloseDelay=isNaN(f)?n.popupCloseDelay:f}function y(b){P&&angular.isFunction(P.assign)&&P.assign(a,b)}function z(){R.length=0,Q?(R.push(a.$watch(Q,function(a){N.content=a,!a&&N.isOpen&&t()})),R.push(E.$watch(function(){O||(O=!0,E.$$postDigest(function(){O=!1,N&&N.isOpen&&S()}))}))):R.push(d.$observe(e,function(a){N.content=a,!a&&N.isOpen?t():S()})),R.push(d.$observe(k+"Title",function(a){N.title=a,N.isOpen&&S()})),R.push(d.$observe(k+"Placement",function(a){N.placement=a?a:n.placement,N.isOpen&&S()}))}function A(){R.length&&(angular.forEach(R,function(a){a()}),R.length=0)}function B(a){N&&N.isOpen&&D&&(b[0].contains(a.target)||D[0].contains(a.target)||q())}function C(){var a=d[k+"Trigger"];T(),L=p(a),"none"!==L.show&&L.show.forEach(function(a,c){"outsideClick"===a?(b.on("click",j),h.on("click",B)):a===L.hide[c]?b.on(a,j):a&&(b.on(a,m),b.on(L.hide[c],q)),b.on("keypress",function(a){27===a.which&&q()})})}var D,E,F,G,H,I,J,K=!!angular.isDefined(n.appendToBody)&&n.appendToBody,L=p(void 0),M=angular.isDefined(d[k+"Enable"]),N=a.$new(!0),O=!1,P=!!angular.isDefined(d[k+"IsOpen"])&&l(d[k+"IsOpen"]),Q=!!n.useContentExp&&l(d[e]),R=[],S=function(){D&&D.html()&&(I||(I=g(function(){var a=i.positionElements(b,D,N.placement,K);D.css({top:a.top+"px",left:a.left+"px"}),D.hasClass(a.placement.split("-")[0])||(D.removeClass(J.split("-")[0]),D.addClass(a.placement.split("-")[0])),D.hasClass(n.placementClassPrefix+a.placement)||(D.removeClass(n.placementClassPrefix+J),D.addClass(n.placementClassPrefix+a.placement)),D.hasClass("uib-position-measure")?(i.positionArrow(D,a.placement),D.removeClass("uib-position-measure")):J!==a.placement&&i.positionArrow(D,a.placement),J=a.placement,I=null},0,!1)))};N.origScope=a,N.isOpen=!1,o.add(N,{close:t}),N.contentExp=function(){return N.content},d.$observe("disabled",function(a){a&&s(),a&&N.isOpen&&t()}),P&&a.$watch(P,function(a){N&&!a===N.isOpen&&j()});var T=function(){L.show.forEach(function(a){"outsideClick"===a?b.off("click",j):(b.off(a,m),b.off(a,j))}),L.hide.forEach(function(a){"outsideClick"===a?h.off("click",B):b.off(a,q)})};C();var U=a.$eval(d[k+"Animation"]);N.animation=angular.isDefined(U)?!!U:n.animation;var V,W=k+"AppendToBody";V=W in d&&void 0===d[W]||a.$eval(d[W]),K=angular.isDefined(V)?V:K,a.$on("$destroy",function(){T(),w(),o.remove(N),N=null})}}}}}]}).directive("uibTooltipTemplateTransclude",["$animate","$sce","$compile","$templateRequest",function(a,b,c,d){return{link:function(e,f,g){var h,i,j,k=e.$eval(g.tooltipTemplateTranscludeScope),l=0,m=function(){i&&(i.remove(),i=null),h&&(h.$destroy(),h=null),j&&(a.leave(j).then(function(){i=null}),i=j,j=null)};e.$watch(b.parseAsResourceUrl(g.uibTooltipTemplateTransclude),function(b){var g=++l;b?(d(b,!0).then(function(d){if(g===l){var e=k.$new(),i=d,n=c(i)(e,function(b){m(),a.enter(b,f)});h=e,j=n,h.$emit("$includeContentLoaded",b)}},function(){g===l&&(m(),e.$emit("$includeContentError",b))}),e.$emit("$includeContentRequested",b)):m()}),e.$on("$destroy",m)}}}]).directive("uibTooltipClasses",["$uibPosition",function(a){return{restrict:"A",link:function(b,c,d){if(b.placement){var e=a.parsePlacement(b.placement);c.addClass(e[0])}b.popupClass&&c.addClass(b.popupClass),b.animation()&&c.addClass(d.tooltipAnimationClass)}}}]).directive("uibTooltipPopup",function(){return{replace:!0,scope:{content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/tooltip/tooltip-popup.html"}}).directive("uibTooltip",["$uibTooltip",function(a){return a("uibTooltip","tooltip","mouseenter")}]).directive("uibTooltipTemplatePopup",function(){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"uib/template/tooltip/tooltip-template-popup.html"}}).directive("uibTooltipTemplate",["$uibTooltip",function(a){return a("uibTooltipTemplate","tooltip","mouseenter",{useContentExp:!0})}]).directive("uibTooltipHtmlPopup",function(){return{replace:!0,scope:{contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/tooltip/tooltip-html-popup.html"}}).directive("uibTooltipHtml",["$uibTooltip",function(a){return a("uibTooltipHtml","tooltip","mouseenter",{useContentExp:!0})}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("uibPopoverTemplatePopup",function(){return{replace:!0,scope:{uibTitle:"@",contentExp:"&",placement:"@",popupClass:"@",animation:"&",isOpen:"&",originScope:"&"},templateUrl:"uib/template/popover/popover-template.html"}}).directive("uibPopoverTemplate",["$uibTooltip",function(a){return a("uibPopoverTemplate","popover","click",{useContentExp:!0})}]).directive("uibPopoverHtmlPopup",function(){return{replace:!0,scope:{contentExp:"&",uibTitle:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/popover/popover-html.html"}}).directive("uibPopoverHtml",["$uibTooltip",function(a){return a("uibPopoverHtml","popover","click",{useContentExp:!0})}]).directive("uibPopoverPopup",function(){return{replace:!0,scope:{uibTitle:"@",content:"@",placement:"@",popupClass:"@",animation:"&",isOpen:"&"},templateUrl:"uib/template/popover/popover.html"}}).directive("uibPopover",["$uibTooltip",function(a){return a("uibPopover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("uibProgressConfig",{animate:!0,max:100}).controller("UibProgressController",["$scope","$attrs","uibProgressConfig",function(a,b,c){function d(){return angular.isDefined(a.maxParam)?a.maxParam:c.max}var e=this,f=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=d(),this.addBar=function(a,b,c){f||b.css({transition:"none"}),this.bars.push(a),a.max=d(),a.title=c&&angular.isDefined(c.title)?c.title:"progressbar",a.$watch("value",function(b){a.recalculatePercentage()}),a.recalculatePercentage=function(){var b=e.bars.reduce(function(a,b){return b.percent=+(100*b.value/b.max).toFixed(2),a+b.percent},0);b>100&&(a.percent-=b-100)},a.$on("$destroy",function(){b=null,e.removeBar(a)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1),this.bars.forEach(function(a){a.recalculatePercentage()})},a.$watch("maxParam",function(a){e.bars.forEach(function(a){a.max=d(),a.recalculatePercentage()})})}]).directive("uibProgress",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",require:"uibProgress",scope:{maxParam:"=?max"},templateUrl:"uib/template/progressbar/progress.html"}}).directive("uibBar",function(){return{replace:!0,transclude:!0,require:"^uibProgress",scope:{value:"=",type:"@"},templateUrl:"uib/template/progressbar/bar.html",link:function(a,b,c,d){d.addBar(a,b,c)}}}).directive("uibProgressbar",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",scope:{value:"=",maxParam:"=?max",type:"@"},templateUrl:"uib/template/progressbar/progressbar.html",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]),{title:c.title})}}}),angular.module("ui.bootstrap.rating",[]).constant("uibRatingConfig",{max:5,stateOn:null,stateOff:null,enableReset:!0,titles:["one","two","three","four","five"]}).controller("UibRatingController",["$scope","$attrs","uibRatingConfig",function(a,b,c){var d={$setViewValue:angular.noop},e=this;this.init=function(e){d=e,d.$render=this.render,d.$formatters.push(function(a){return angular.isNumber(a)&&a<<0!==a&&(a=Math.round(a)),a}),this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff,this.enableReset=angular.isDefined(b.enableReset)?a.$parent.$eval(b.enableReset):c.enableReset;var f=angular.isDefined(b.titles)?a.$parent.$eval(b.titles):c.titles;this.titles=angular.isArray(f)&&f.length>0?f:c.titles;var g=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(g)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;b<c;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff,title:this.getTitle(b)},a[b]);return a},this.getTitle=function(a){return a>=this.titles.length?a+1:this.titles[a]},a.rate=function(b){if(!a.readonly&&b>=0&&b<=a.range.length){var c=e.enableReset&&d.$viewValue===b?0:b;d.$setViewValue(c),d.$render()}},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b})},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue,a.title=e.getTitle(a.value-1)}}]).directive("uibRating",function(){return{require:["uibRating","ngModel"],scope:{readonly:"=?readOnly",onHover:"&",onLeave:"&"},controller:"UibRatingController",templateUrl:"uib/template/rating/rating.html",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1];e.init(f)}}}),angular.module("ui.bootstrap.tabs",[]).controller("UibTabsetController",["$scope",function(a){function b(a){for(var b=0;b<d.tabs.length;b++)if(d.tabs[b].index===a)return b}var c,d=this;d.tabs=[],d.label=a.label,d.select=function(a,f){if(!e){var g=b(c),h=d.tabs[g];if(h){if(h.tab.onDeselect({$event:f,$selectedIndex:a}),f&&f.isDefaultPrevented())return;h.tab.active=!1}var i=d.tabs[a];i?(i.tab.onSelect({$event:f}),i.tab.active=!0,d.active=i.index,c=i.index):!i&&angular.isDefined(c)&&(d.active=null,c=null)}},d.addTab=function(a){if(d.tabs.push({tab:a,index:a.index}),d.tabs.sort(function(a,b){return a.index>b.index?1:a.index<b.index?-1:0}),a.index===d.active||!angular.isDefined(d.active)&&1===d.tabs.length){var c=b(a.index);d.select(c)}},d.removeTab=function(a){for(var b,c=0;c<d.tabs.length;c++)if(d.tabs[c].tab===a){b=c;break}if(d.tabs[b].index===d.active){var e=b===d.tabs.length-1?b-1:b+1%d.tabs.length;d.select(e)}d.tabs.splice(b,1)},a.$watch("tabset.active",function(a){angular.isDefined(a)&&a!==c&&d.select(b(a))});var e;a.$on("$destroy",function(){e=!0})}]).directive("uibTabset",function(){return{transclude:!0,replace:!0,scope:{},bindToController:{active:"=?",type:"@",label:"@"},controller:"UibTabsetController",controllerAs:"tabset",templateUrl:function(a,b){return b.templateUrl||"uib/template/tabs/tabset.html"},link:function(a,b,c){a.vertical=!!angular.isDefined(c.vertical)&&a.$parent.$eval(c.vertical),a.justified=!!angular.isDefined(c.justified)&&a.$parent.$eval(c.justified)}}}).directive("uibTab",["$parse",function(a){return{require:"^uibTabset",replace:!0,templateUrl:function(a,b){return b.templateUrl||"uib/template/tabs/tab.html"},transclude:!0,scope:{heading:"@",index:"=?",classes:"@?",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},controllerAs:"tab",link:function(b,c,d,e,f){b.disabled=!1,d.disable&&b.$parent.$watch(a(d.disable),function(a){b.disabled=!!a}),angular.isUndefined(d.index)&&(e.tabs&&e.tabs.length?b.index=Math.max.apply(null,e.tabs.map(function(a){return a.index}))+1:b.index=0),angular.isUndefined(d.classes)&&(b.classes=""),b.select=function(a){if(!b.disabled){for(var c,d=0;d<e.tabs.length;d++)if(e.tabs[d].tab===b){c=d;break}e.select(c,a)}},e.addTab(b),b.$on("$destroy",function(){e.removeTab(b)}),b.$transcludeFn=f}}}]).directive("uibTabHeadingTransclude",function(){return{restrict:"A",require:"^uibTab",link:function(a,b){a.$watch("headingElement",function(a){a&&(b.html(""),b.append(a))})}}}).directive("uibTabContentTransclude",function(){function a(a){return a.tagName&&(a.hasAttribute("uib-tab-heading")||a.hasAttribute("data-uib-tab-heading")||a.hasAttribute("x-uib-tab-heading")||"uib-tab-heading"===a.tagName.toLowerCase()||"data-uib-tab-heading"===a.tagName.toLowerCase()||"x-uib-tab-heading"===a.tagName.toLowerCase()||"uib:tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:"^uibTabset",link:function(b,c,d){var e=b.$eval(d.uibTabContentTransclude).tab;e.$transcludeFn(e.$parent,function(b){angular.forEach(b,function(b){a(b)?e.headingElement=b:c.append(b)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("uibTimepickerConfig",{hourStep:1,minuteStep:1,secondStep:1,showMeridian:!0,showSeconds:!1,meridians:null,readonlyInput:!1,mousewheel:!0,arrowkeys:!0,showSpinners:!0,templateUrl:"uib/template/timepicker/timepicker.html"}).controller("UibTimepickerController",["$scope","$element","$attrs","$parse","$log","$locale","uibTimepickerConfig",function(a,b,c,d,e,f,g){function h(){var b=+a.hours,c=a.showMeridian?b>0&&b<13:b>=0&&b<24;if(c&&""!==a.hours)return a.showMeridian&&(12===b&&(b=0),a.meridian===v[1]&&(b+=12)),b}function i(){var b=+a.minutes,c=b>=0&&b<60;if(c&&""!==a.minutes)return b}function j(){var b=+a.seconds;return b>=0&&b<60?b:void 0}function k(a,b){return null===a?"":angular.isDefined(a)&&a.toString().length<2&&!b?"0"+a:a.toString()}function l(a){m(),u.$setViewValue(new Date(s)),n(a)}function m(){u.$setValidity("time",!0),a.invalidHours=!1,a.invalidMinutes=!1,a.invalidSeconds=!1}function n(b){if(u.$modelValue){var c=s.getHours(),d=s.getMinutes(),e=s.getSeconds();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours="h"===b?c:k(c,!w),"m"!==b&&(a.minutes=k(d)),a.meridian=s.getHours()<12?v[0]:v[1],"s"!==b&&(a.seconds=k(e)),a.meridian=s.getHours()<12?v[0]:v[1]}else a.hours=null,a.minutes=null,a.seconds=null,a.meridian=v[0]}function o(a){s=q(s,a),l()}function p(a,b){return q(a,60*b)}function q(a,b){var c=new Date(a.getTime()+1e3*b),d=new Date(a);return d.setHours(c.getHours(),c.getMinutes(),c.getSeconds()),d}function r(){return(null===a.hours||""===a.hours)&&(null===a.minutes||""===a.minutes)&&(!a.showSeconds||a.showSeconds&&(null===a.seconds||""===a.seconds))}var s=new Date,t=[],u={$setViewValue:angular.noop},v=angular.isDefined(c.meridians)?a.$parent.$eval(c.meridians):g.meridians||f.DATETIME_FORMATS.AMPMS,w=!angular.isDefined(c.padHours)||a.$parent.$eval(c.padHours);a.tabindex=angular.isDefined(c.tabindex)?c.tabindex:0,b.removeAttr("tabindex"),this.init=function(b,d){u=b,u.$render=this.render,u.$formatters.unshift(function(a){return a?new Date(a):null});var e=d.eq(0),f=d.eq(1),h=d.eq(2),i=angular.isDefined(c.mousewheel)?a.$parent.$eval(c.mousewheel):g.mousewheel;i&&this.setupMousewheelEvents(e,f,h);var j=angular.isDefined(c.arrowkeys)?a.$parent.$eval(c.arrowkeys):g.arrowkeys;j&&this.setupArrowkeyEvents(e,f,h),a.readonlyInput=angular.isDefined(c.readonlyInput)?a.$parent.$eval(c.readonlyInput):g.readonlyInput,this.setupInputEvents(e,f,h)};var x=g.hourStep;c.hourStep&&t.push(a.$parent.$watch(d(c.hourStep),function(a){x=+a}));var y=g.minuteStep;c.minuteStep&&t.push(a.$parent.$watch(d(c.minuteStep),function(a){y=+a}));var z;t.push(a.$parent.$watch(d(c.min),function(a){var b=new Date(a);z=isNaN(b)?void 0:b}));var A;t.push(a.$parent.$watch(d(c.max),function(a){var b=new Date(a);A=isNaN(b)?void 0:b}));var B=!1;c.ngDisabled&&t.push(a.$parent.$watch(d(c.ngDisabled),function(a){B=a})),a.noIncrementHours=function(){var a=p(s,60*x);return B||a>A||a<s&&a<z},a.noDecrementHours=function(){var a=p(s,60*-x);return B||a<z||a>s&&a>A},a.noIncrementMinutes=function(){var a=p(s,y);return B||a>A||a<s&&a<z},a.noDecrementMinutes=function(){var a=p(s,-y);return B||a<z||a>s&&a>A},a.noIncrementSeconds=function(){var a=q(s,C);return B||a>A||a<s&&a<z},a.noDecrementSeconds=function(){var a=q(s,-C);return B||a<z||a>s&&a>A},a.noToggleMeridian=function(){return s.getHours()<12?B||p(s,720)>A:B||p(s,-720)<z};var C=g.secondStep;c.secondStep&&t.push(a.$parent.$watch(d(c.secondStep),function(a){C=+a})),a.showSeconds=g.showSeconds,c.showSeconds&&t.push(a.$parent.$watch(d(c.showSeconds),function(b){a.showSeconds=!!b})),a.showMeridian=g.showMeridian,c.showMeridian&&t.push(a.$parent.$watch(d(c.showMeridian),function(b){if(a.showMeridian=!!b,u.$error.time){var c=h(),d=i();angular.isDefined(c)&&angular.isDefined(d)&&(s.setHours(c),l())}else n()})),this.setupMousewheelEvents=function(b,c,d){var e=function(a){a.originalEvent&&(a=a.originalEvent);var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0};b.bind("mousewheel wheel",function(b){B||a.$apply(e(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind("mousewheel wheel",function(b){B||a.$apply(e(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()}),d.bind("mousewheel wheel",function(b){B||a.$apply(e(b)?a.incrementSeconds():a.decrementSeconds()),b.preventDefault()})},this.setupArrowkeyEvents=function(b,c,d){b.bind("keydown",function(b){B||(38===b.which?(b.preventDefault(),a.incrementHours(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementHours(),a.$apply()))}),c.bind("keydown",function(b){B||(38===b.which?(b.preventDefault(),a.incrementMinutes(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementMinutes(),a.$apply()))}),d.bind("keydown",function(b){B||(38===b.which?(b.preventDefault(),a.incrementSeconds(),a.$apply()):40===b.which&&(b.preventDefault(),a.decrementSeconds(),a.$apply()))})},this.setupInputEvents=function(b,c,d){if(a.readonlyInput)return a.updateHours=angular.noop,a.updateMinutes=angular.noop,void(a.updateSeconds=angular.noop);var e=function(b,c,d){u.$setViewValue(null),u.$setValidity("time",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c),angular.isDefined(d)&&(a.invalidSeconds=d)};a.updateHours=function(){var a=h(),b=i();u.$setDirty(),angular.isDefined(a)&&angular.isDefined(b)?(s.setHours(a),s.setMinutes(b),s<z||s>A?e(!0):l("h")):e(!0)},b.bind("blur",function(b){u.$setTouched(),r()?m():null===a.hours||""===a.hours?e(!0):!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=k(a.hours,!w)})}),a.updateMinutes=function(){var a=i(),b=h();u.$setDirty(),angular.isDefined(a)&&angular.isDefined(b)?(s.setHours(b),s.setMinutes(a),s<z||s>A?e(void 0,!0):l("m")):e(void 0,!0)},c.bind("blur",function(b){u.$setTouched(),r()?m():null===a.minutes?e(void 0,!0):!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=k(a.minutes)})}),a.updateSeconds=function(){var a=j();u.$setDirty(),angular.isDefined(a)?(s.setSeconds(a),l("s")):e(void 0,void 0,!0)},d.bind("blur",function(b){r()?m():!a.invalidSeconds&&a.seconds<10&&a.$apply(function(){a.seconds=k(a.seconds)})})},this.render=function(){var b=u.$viewValue;isNaN(b)?(u.$setValidity("time",!1),e.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(b&&(s=b),s<z||s>A?(u.$setValidity("time",!1),a.invalidHours=!0,a.invalidMinutes=!0):m(),n())},a.showSpinners=angular.isDefined(c.showSpinners)?a.$parent.$eval(c.showSpinners):g.showSpinners,a.incrementHours=function(){a.noIncrementHours()||o(60*x*60)},a.decrementHours=function(){a.noDecrementHours()||o(60*-x*60)},a.incrementMinutes=function(){a.noIncrementMinutes()||o(60*y)},a.decrementMinutes=function(){a.noDecrementMinutes()||o(60*-y)},a.incrementSeconds=function(){a.noIncrementSeconds()||o(C)},a.decrementSeconds=function(){a.noDecrementSeconds()||o(-C)},a.toggleMeridian=function(){var b=i(),c=h();a.noToggleMeridian()||(angular.isDefined(b)&&angular.isDefined(c)?o(720*(s.getHours()<12?60:-60)):a.meridian=a.meridian===v[0]?v[1]:v[0])},a.blur=function(){u.$setTouched()},a.$on("$destroy",function(){for(;t.length;)t.shift()()})}]).directive("uibTimepicker",["uibTimepickerConfig",function(a){return{require:["uibTimepicker","?^ngModel"],controller:"UibTimepickerController",controllerAs:"timepicker",replace:!0,scope:{},templateUrl:function(b,c){return c.templateUrl||a.templateUrl},link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f,b.find("input"))}}}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.debounce","ui.bootstrap.position"]).factory("uibTypeaheadParser",["$parse",function(a){var b=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+c+'".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).controller("UibTypeaheadController",["$scope","$element","$attrs","$compile","$parse","$q","$timeout","$document","$window","$rootScope","$$debounce","$uibPosition","uibTypeaheadParser",function(a,b,c,d,e,f,g,h,i,j,k,l,m){function n(){O.moveInProgress||(O.moveInProgress=!0,O.$digest()),Z()}function o(){O.position=E?l.offset(b):l.position(b),O.position.top+=b.prop("offsetHeight")}var p,q,r=[9,13,27,38,40],s=200,t=a.$eval(c.typeaheadMinLength);t||0===t||(t=1),a.$watch(c.typeaheadMinLength,function(a){t=a||0===a?a:1});var u=a.$eval(c.typeaheadWaitMs)||0,v=a.$eval(c.typeaheadEditable)!==!1;a.$watch(c.typeaheadEditable,function(a){v=a!==!1});var w,x,y=e(c.typeaheadLoading).assign||angular.noop,z=c.typeaheadShouldSelect?e(c.typeaheadShouldSelect):function(a,b){var c=b.$event;return 13===c.which||9===c.which},A=e(c.typeaheadOnSelect),B=!!angular.isDefined(c.typeaheadSelectOnBlur)&&a.$eval(c.typeaheadSelectOnBlur),C=e(c.typeaheadNoResults).assign||angular.noop,D=c.typeaheadInputFormatter?e(c.typeaheadInputFormatter):void 0,E=!!c.typeaheadAppendToBody&&a.$eval(c.typeaheadAppendToBody),F=c.typeaheadAppendTo?a.$eval(c.typeaheadAppendTo):null,G=a.$eval(c.typeaheadFocusFirst)!==!1,H=!!c.typeaheadSelectOnExact&&a.$eval(c.typeaheadSelectOnExact),I=e(c.typeaheadIsOpen).assign||angular.noop,J=a.$eval(c.typeaheadShowHint)||!1,K=e(c.ngModel),L=e(c.ngModel+"($$$p)"),M=function(b,c){return angular.isFunction(K(a))&&q&&q.$options&&q.$options.getterSetter?L(b,{$$$p:c}):K.assign(b,c)},N=m.parse(c.uibTypeahead),O=a.$new(),P=a.$on("$destroy",function(){O.$destroy()});
+O.$on("$destroy",P);var Q="typeahead-"+O.$id+"-"+Math.floor(1e4*Math.random());b.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":Q});var R,S;J&&(R=angular.element("<div></div>"),R.css("position","relative"),b.after(R),S=b.clone(),S.attr("placeholder",""),S.attr("tabindex","-1"),S.val(""),S.css({position:"absolute",top:"0px",left:"0px","border-color":"transparent","box-shadow":"none",opacity:1,background:"none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)",color:"#999"}),b.css({position:"relative","vertical-align":"top","background-color":"transparent"}),R.append(S),S.after(b));var T=angular.element("<div uib-typeahead-popup></div>");T.attr({id:Q,matches:"matches",active:"activeIdx",select:"select(activeIdx, evt)","move-in-progress":"moveInProgress",query:"query",position:"position","assign-is-open":"assignIsOpen(isOpen)",debounce:"debounceUpdate"}),angular.isDefined(c.typeaheadTemplateUrl)&&T.attr("template-url",c.typeaheadTemplateUrl),angular.isDefined(c.typeaheadPopupTemplateUrl)&&T.attr("popup-template-url",c.typeaheadPopupTemplateUrl);var U=function(){J&&S.val("")},V=function(){O.matches=[],O.activeIdx=-1,b.attr("aria-expanded",!1),U()},W=function(a){return Q+"-option-"+a};O.$watch("activeIdx",function(a){a<0?b.removeAttr("aria-activedescendant"):b.attr("aria-activedescendant",W(a))});var X=function(a,b){return!!(O.matches.length>b&&a)&&a.toUpperCase()===O.matches[b].label.toUpperCase()},Y=function(c,d){var e={$viewValue:c};y(a,!0),C(a,!1),f.when(N.source(a,e)).then(function(f){var g=c===p.$viewValue;if(g&&w)if(f&&f.length>0){O.activeIdx=G?0:-1,C(a,!1),O.matches.length=0;for(var h=0;h<f.length;h++)e[N.itemName]=f[h],O.matches.push({id:W(h),label:N.viewMapper(O,e),model:f[h]});if(O.query=c,o(),b.attr("aria-expanded",!0),H&&1===O.matches.length&&X(c,0)&&(angular.isNumber(O.debounceUpdate)||angular.isObject(O.debounceUpdate)?k(function(){O.select(0,d)},angular.isNumber(O.debounceUpdate)?O.debounceUpdate:O.debounceUpdate["default"]):O.select(0,d)),J){var i=O.matches[0].label;angular.isString(c)&&c.length>0&&i.slice(0,c.length).toUpperCase()===c.toUpperCase()?S.val(c+i.slice(c.length)):S.val("")}}else V(),C(a,!0);g&&y(a,!1)},function(){V(),y(a,!1),C(a,!0)})};E&&(angular.element(i).on("resize",n),h.find("body").on("scroll",n));var Z=k(function(){O.matches.length&&o(),O.moveInProgress=!1},s);O.moveInProgress=!1,O.query=void 0;var $,_=function(a){$=g(function(){Y(a)},u)},aa=function(){$&&g.cancel($)};V(),O.assignIsOpen=function(b){I(a,b)},O.select=function(d,e){var f,h,i={};x=!0,i[N.itemName]=h=O.matches[d].model,f=N.modelMapper(a,i),M(a,f),p.$setValidity("editable",!0),p.$setValidity("parse",!0),A(a,{$item:h,$model:f,$label:N.viewMapper(a,i),$event:e}),V(),O.$eval(c.typeaheadFocusOnSelect)!==!1&&g(function(){b[0].focus()},0,!1)},b.on("keydown",function(b){if(0!==O.matches.length&&r.indexOf(b.which)!==-1){var c=z(a,{$event:b});if(O.activeIdx===-1&&c||9===b.which&&b.shiftKey)return V(),void O.$digest();b.preventDefault();var d;switch(b.which){case 27:b.stopPropagation(),V(),a.$digest();break;case 38:O.activeIdx=(O.activeIdx>0?O.activeIdx:O.matches.length)-1,O.$digest(),d=T.find("li")[O.activeIdx],d.parentNode.scrollTop=d.offsetTop;break;case 40:O.activeIdx=(O.activeIdx+1)%O.matches.length,O.$digest(),d=T.find("li")[O.activeIdx],d.parentNode.scrollTop=d.offsetTop;break;default:c&&O.$apply(function(){angular.isNumber(O.debounceUpdate)||angular.isObject(O.debounceUpdate)?k(function(){O.select(O.activeIdx,b)},angular.isNumber(O.debounceUpdate)?O.debounceUpdate:O.debounceUpdate["default"]):O.select(O.activeIdx,b)})}}}),b.bind("focus",function(a){w=!0,0!==t||p.$viewValue||g(function(){Y(p.$viewValue,a)},0)}),b.bind("blur",function(a){B&&O.matches.length&&O.activeIdx!==-1&&!x&&(x=!0,O.$apply(function(){angular.isObject(O.debounceUpdate)&&angular.isNumber(O.debounceUpdate.blur)?k(function(){O.select(O.activeIdx,a)},O.debounceUpdate.blur):O.select(O.activeIdx,a)})),!v&&p.$error.editable&&(p.$setViewValue(),p.$setValidity("editable",!0),p.$setValidity("parse",!0),b.val("")),w=!1,x=!1});var ba=function(c){b[0]!==c.target&&3!==c.which&&0!==O.matches.length&&(V(),j.$$phase||a.$digest())};h.on("click",ba),a.$on("$destroy",function(){h.off("click",ba),(E||F)&&ca.remove(),E&&(angular.element(i).off("resize",n),h.find("body").off("scroll",n)),T.remove(),J&&R.remove()});var ca=d(T)(O);E?h.find("body").append(ca):F?angular.element(F).eq(0).append(ca):b.after(ca),this.init=function(b,c){p=b,q=c,O.debounceUpdate=p.$options&&e(p.$options.debounce)(a),p.$parsers.unshift(function(b){return w=!0,0===t||b&&b.length>=t?u>0?(aa(),_(b)):Y(b):(y(a,!1),aa(),V()),v?b:b?void p.$setValidity("editable",!1):(p.$setValidity("editable",!0),null)}),p.$formatters.push(function(b){var c,d,e={};return v||p.$setValidity("editable",!0),D?(e.$model=b,D(a,e)):(e[N.itemName]=b,c=N.viewMapper(a,e),e[N.itemName]=void 0,d=N.viewMapper(a,e),c!==d?c:b)})}}]).directive("uibTypeahead",function(){return{controller:"UibTypeaheadController",require:["ngModel","^?ngModelOptions","uibTypeahead"],link:function(a,b,c,d){d[2].init(d[0],d[1])}}}).directive("uibTypeaheadPopup",["$$debounce",function(a){return{scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&",assignIsOpen:"&",debounce:"&"},replace:!0,templateUrl:function(a,b){return b.popupTemplateUrl||"uib/template/typeahead/typeahead-popup.html"},link:function(b,c,d){b.templateUrl=d.templateUrl,b.isOpen=function(){var a=b.matches.length>0;return b.assignIsOpen({isOpen:a}),a},b.isActive=function(a){return b.active===a},b.selectActive=function(a){b.active=a},b.selectMatch=function(c,d){var e=b.debounce();angular.isNumber(e)||angular.isObject(e)?a(function(){b.select({activeIdx:c,evt:d})},angular.isNumber(e)?e:e["default"]):b.select({activeIdx:c,evt:d})}}}}]).directive("uibTypeaheadMatch",["$templateRequest","$compile","$parse",function(a,b,c){return{scope:{index:"=",match:"=",query:"="},link:function(d,e,f){var g=c(f.templateUrl)(d.$parent)||"uib/template/typeahead/typeahead-match.html";a(g).then(function(a){var c=angular.element(a.trim());e.replaceWith(c),b(c)(d)})}}}]).filter("uibTypeaheadHighlight",["$sce","$injector","$log",function(a,b,c){function d(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function e(a){return/<.*>/g.test(a)}var f;return f=b.has("$sanitize"),function(b,g){return!f&&e(b)&&c.warn("Unsafe use of typeahead please use ngSanitize"),b=g?(""+b).replace(new RegExp(d(g),"gi"),"<strong>$&</strong>"):b,f||(b=a.trustAsHtml(b)),b}}]),angular.module("uib/template/accordion/accordion-group.html",[]).run(["$templateCache",function(a){a.put("uib/template/accordion/accordion-group.html",'<div class="panel" ng-class="panelClass || \'panel-default\'">\n  <div role="tab" id="{{::headingId}}" aria-selected="{{isOpen}}" class="panel-heading" ng-keypress="toggleOpen($event)">\n    <h4 class="panel-title">\n      <a role="button" data-toggle="collapse" href aria-expanded="{{isOpen}}" aria-controls="{{::panelId}}" tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading"><span uib-accordion-header ng-class="{\'text-muted\': isDisabled}">{{heading}}</span></a>\n    </h4>\n  </div>\n  <div id="{{::panelId}}" aria-labelledby="{{::headingId}}" aria-hidden="{{!isOpen}}" role="tabpanel" class="panel-collapse collapse" uib-collapse="!isOpen">\n    <div class="panel-body" ng-transclude></div>\n  </div>\n</div>\n')}]),angular.module("uib/template/accordion/accordion.html",[]).run(["$templateCache",function(a){a.put("uib/template/accordion/accordion.html",'<div role="tablist" class="panel-group" ng-transclude></div>')}]),angular.module("uib/template/alert/alert.html",[]).run(["$templateCache",function(a){a.put("uib/template/alert/alert.html",'<div class="alert" ng-class="[\'alert-\' + (type || \'warning\'), closeable ? \'alert-dismissible\' : null]" role="alert">\n    <button ng-show="closeable" type="button" class="close" ng-click="close({$event: $event})">\n        <span aria-hidden="true">&times;</span>\n        <span class="sr-only">Close</span>\n    </button>\n    <div ng-transclude></div>\n</div>\n')}]),angular.module("uib/template/carousel/carousel.html",[]).run(["$templateCache",function(a){a.put("uib/template/carousel/carousel.html",'<div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()">\n  <div class="carousel-inner" ng-transclude></div>\n  <a role="button" href class="left carousel-control" ng-click="prev()" ng-class="{ disabled: isPrevDisabled() }" ng-show="slides.length > 1">\n    <span aria-hidden="true" class="glyphicon glyphicon-chevron-left"></span>\n    <span class="sr-only">previous</span>\n  </a>\n  <a role="button" href class="right carousel-control" ng-click="next()" ng-class="{ disabled: isNextDisabled() }" ng-show="slides.length > 1">\n    <span aria-hidden="true" class="glyphicon glyphicon-chevron-right"></span>\n    <span class="sr-only">next</span>\n  </a>\n  <ol class="carousel-indicators" ng-show="slides.length > 1">\n    <li ng-repeat="slide in slides | orderBy:indexOfSlide track by $index" ng-class="{ active: isActive(slide) }" ng-click="select(slide)">\n      <span class="sr-only">slide {{ $index + 1 }} of {{ slides.length }}<span ng-if="isActive(slide)">, currently active</span></span>\n    </li>\n  </ol>\n</div>\n')}]),angular.module("uib/template/carousel/slide.html",[]).run(["$templateCache",function(a){a.put("uib/template/carousel/slide.html",'<div ng-class="{\n    \'active\': active\n  }" class="item text-center" ng-transclude></div>\n')}]),angular.module("uib/template/datepicker/datepicker.html",[]).run(["$templateCache",function(a){a.put("uib/template/datepicker/datepicker.html",'<div class="uib-datepicker" ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">\n  <uib-daypicker ng-switch-when="day" tabindex="0"></uib-daypicker>\n  <uib-monthpicker ng-switch-when="month" tabindex="0"></uib-monthpicker>\n  <uib-yearpicker ng-switch-when="year" tabindex="0"></uib-yearpicker>\n</div>\n')}]),angular.module("uib/template/datepicker/day.html",[]).run(["$templateCache",function(a){a.put("uib/template/datepicker/day.html",'<table class="uib-daypicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th colspan="{{::5 + showWeeks}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n    <tr>\n      <th ng-if="showWeeks" class="text-center"></th>\n      <th ng-repeat="label in ::labels track by $index" class="text-center"><small aria-label="{{::label.full}}">{{::label.abbr}}</small></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr class="uib-weeks" ng-repeat="row in rows track by $index">\n      <td ng-if="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}</em></td>\n      <td ng-repeat="dt in row" class="uib-day text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" class="btn btn-default btn-sm"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/month.html",[]).run(["$templateCache",function(a){a.put("uib/template/datepicker/month.html",'<table class="uib-monthpicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr class="uib-months" ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row" class="uib-month text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" class="btn btn-default"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/year.html",[]).run(["$templateCache",function(a){a.put("uib/template/datepicker/year.html",'<table class="uib-yearpicker" role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n      <th colspan="{{::columns - 2}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr class="uib-years" ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row" class="uib-year text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" class="btn btn-default"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/datepickerPopup/popup.html",[]).run(["$templateCache",function(a){a.put("uib/template/datepickerPopup/popup.html",'<div>\n  <ul class="uib-datepicker-popup dropdown-menu uib-position-measure" dropdown-nested ng-if="isOpen" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n    <li ng-transclude></li>\n    <li ng-if="showButtonBar" class="uib-button-bar">\n      <span class="btn-group pull-left">\n        <button type="button" class="btn btn-sm btn-info uib-datepicker-current" ng-click="select(\'today\', $event)" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n        <button type="button" class="btn btn-sm btn-danger uib-clear" ng-click="select(null, $event)">{{ getText(\'clear\') }}</button>\n      </span>\n      <button type="button" class="btn btn-sm btn-success pull-right uib-close" ng-click="close($event)">{{ getText(\'close\') }}</button>\n    </li>\n  </ul>\n</div>\n')}]),angular.module("uib/template/modal/backdrop.html",[]).run(["$templateCache",function(a){a.put("uib/template/modal/backdrop.html",'<div class="modal-backdrop"\n     uib-modal-animation-class="fade"\n     modal-in-class="in"\n     ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n></div>\n')}]),angular.module("uib/template/modal/window.html",[]).run(["$templateCache",function(a){a.put("uib/template/modal/window.html",'<div modal-render="{{$isRendered}}" tabindex="-1" role="dialog" class="modal"\n    uib-modal-animation-class="fade"\n    modal-in-class="in"\n    ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}">\n    <div class="modal-dialog {{size ? \'modal-\' + size : \'\'}}"><div class="modal-content" uib-modal-transclude></div></div>\n</div>\n')}]),angular.module("uib/template/pager/pager.html",[]).run(["$templateCache",function(a){a.put("uib/template/pager/pager.html",'<ul class="pager">\n  <li ng-class="{disabled: noPrevious()||ngDisabled, previous: align}"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}</a></li>\n  <li ng-class="{disabled: noNext()||ngDisabled, next: align}"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}</a></li>\n</ul>\n')}]),angular.module("uib/template/pagination/pagination.html",[]).run(["$templateCache",function(a){a.put("uib/template/pagination/pagination.html",'<ul class="pagination">\n  <li ng-if="::boundaryLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-first"><a href ng-click="selectPage(1, $event)">{{::getText(\'first\')}}</a></li>\n  <li ng-if="::directionLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-prev"><a href ng-click="selectPage(page - 1, $event)">{{::getText(\'previous\')}}</a></li>\n  <li ng-repeat="page in pages track by $index" ng-class="{active: page.active,disabled: ngDisabled&&!page.active}" class="pagination-page"><a href ng-click="selectPage(page.number, $event)">{{page.text}}</a></li>\n  <li ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next"><a href ng-click="selectPage(page + 1, $event)">{{::getText(\'next\')}}</a></li>\n  <li ng-if="::boundaryLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-last"><a href ng-click="selectPage(totalPages, $event)">{{::getText(\'last\')}}</a></li>\n</ul>\n')}]),angular.module("uib/template/tooltip/tooltip-html-popup.html",[]).run(["$templateCache",function(a){a.put("uib/template/tooltip/tooltip-html-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" ng-bind-html="contentExp()"></div>\n</div>\n')}]),angular.module("uib/template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(a){a.put("uib/template/tooltip/tooltip-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner" ng-bind="content"></div>\n</div>\n')}]),angular.module("uib/template/tooltip/tooltip-template-popup.html",[]).run(["$templateCache",function(a){a.put("uib/template/tooltip/tooltip-template-popup.html",'<div class="tooltip"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="tooltip-arrow"></div>\n  <div class="tooltip-inner"\n    uib-tooltip-template-transclude="contentExp()"\n    tooltip-template-transclude-scope="originScope()"></div>\n</div>\n')}]),angular.module("uib/template/popover/popover-html.html",[]).run(["$templateCache",function(a){a.put("uib/template/popover/popover-html.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>\n      <div class="popover-content" ng-bind-html="contentExp()"></div>\n  </div>\n</div>\n')}]),angular.module("uib/template/popover/popover-template.html",[]).run(["$templateCache",function(a){a.put("uib/template/popover/popover-template.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>\n      <div class="popover-content"\n        uib-tooltip-template-transclude="contentExp()"\n        tooltip-template-transclude-scope="originScope()"></div>\n  </div>\n</div>\n')}]),angular.module("uib/template/popover/popover.html",[]).run(["$templateCache",function(a){a.put("uib/template/popover/popover.html",'<div class="popover"\n  tooltip-animation-class="fade"\n  uib-tooltip-classes\n  ng-class="{ in: isOpen() }">\n  <div class="arrow"></div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>\n      <div class="popover-content" ng-bind="content"></div>\n  </div>\n</div>\n')}]),angular.module("uib/template/progressbar/bar.html",[]).run(["$templateCache",function(a){a.put("uib/template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude></div>\n')}]),angular.module("uib/template/progressbar/progress.html",[]).run(["$templateCache",function(a){a.put("uib/template/progressbar/progress.html",'<div class="progress" ng-transclude aria-labelledby="{{::title}}"></div>')}]),angular.module("uib/template/progressbar/progressbar.html",[]).run(["$templateCache",function(a){a.put("uib/template/progressbar/progressbar.html",'<div class="progress">\n  <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude></div>\n</div>\n')}]),angular.module("uib/template/rating/rating.html",[]).run(["$templateCache",function(a){a.put("uib/template/rating/rating.html",'<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}" aria-valuetext="{{title}}">\n    <span ng-repeat-start="r in range track by $index" class="sr-only">({{ $index < value ? \'*\' : \' \' }})</span>\n    <i ng-repeat-end ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')" ng-attr-title="{{r.title}}"></i>\n</span>\n')}]),angular.module("uib/template/tabs/tab.html",[]).run(["$templateCache",function(a){a.put("uib/template/tabs/tab.html",'<li ng-class="[{active: active, disabled: disabled}, classes]" class="uib-tab nav-item">\n  <a href ng-click="select($event)" class="nav-link" uib-tab-heading-transclude>{{heading}}</a>\n</li>\n')}]),angular.module("uib/template/tabs/tabset.html",[]).run(["$templateCache",function(a){a.put("uib/template/tabs/tabset.html",'<div>\n <div class="form-group">\n  <label class="col-md-3 control-label">{{tabset.label}}</label>\n  <div class="col-md-9">\n   <ul class="nav nav-{{tabset.type || \'tabs\'}}" ng-class="{\'nav-stacked\': vertical, \'nav-justified\': justified}" ng-transclude></ul>\n  </div>\n </div>\n  <div class="tab-content">\n    <div class="tab-pane"\n         ng-repeat="tab in tabset.tabs"\n         ng-class="{active: tabset.active === tab.index}"\n         uib-tab-content-transclude="tab">\n    </div>\n  </div>\n</div>\n')}]),angular.module("uib/template/timepicker/timepicker.html",[]).run(["$templateCache",function(a){a.put("uib/template/timepicker/timepicker.html",'<table class="uib-timepicker">\n  <tbody>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td class="uib-increment hours"><a ng-click="incrementHours()" ng-class="{disabled: noIncrementHours()}" class="btn btn-link" ng-disabled="noIncrementHours()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td>&nbsp;</td>\n      <td class="uib-increment minutes"><a ng-click="incrementMinutes()" ng-class="{disabled: noIncrementMinutes()}" class="btn btn-link" ng-disabled="noIncrementMinutes()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td ng-show="showSeconds">&nbsp;</td>\n      <td ng-show="showSeconds" class="uib-increment seconds"><a ng-click="incrementSeconds()" ng-class="{disabled: noIncrementSeconds()}" class="btn btn-link" ng-disabled="noIncrementSeconds()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td ng-show="showMeridian"></td>\n    </tr>\n    <tr>\n      <td class="form-group uib-time hours" ng-class="{\'has-error\': invalidHours}">\n        <input type="text" placeholder="HH" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementHours()" ng-blur="blur()">\n      </td>\n      <td class="uib-separator">:</td>\n      <td class="form-group uib-time minutes" ng-class="{\'has-error\': invalidMinutes}">\n        <input type="text" placeholder="MM" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementMinutes()" ng-blur="blur()">\n      </td>\n      <td ng-show="showSeconds" class="uib-separator">:</td>\n      <td class="form-group uib-time seconds" ng-class="{\'has-error\': invalidSeconds}" ng-show="showSeconds">\n        <input type="text" placeholder="SS" ng-model="seconds" ng-change="updateSeconds()" class="form-control text-center" ng-readonly="readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementSeconds()" ng-blur="blur()">\n      </td>\n      <td ng-show="showMeridian" class="uib-time am-pm"><button type="button" ng-class="{disabled: noToggleMeridian()}" class="btn btn-default text-center" ng-click="toggleMeridian()" ng-disabled="noToggleMeridian()" tabindex="{{::tabindex}}">{{meridian}}</button></td>\n    </tr>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td class="uib-decrement hours"><a ng-click="decrementHours()" ng-class="{disabled: noDecrementHours()}" class="btn btn-link" ng-disabled="noDecrementHours()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td>&nbsp;</td>\n      <td class="uib-decrement minutes"><a ng-click="decrementMinutes()" ng-class="{disabled: noDecrementMinutes()}" class="btn btn-link" ng-disabled="noDecrementMinutes()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td ng-show="showSeconds">&nbsp;</td>\n      <td ng-show="showSeconds" class="uib-decrement seconds"><a ng-click="decrementSeconds()" ng-class="{disabled: noDecrementSeconds()}" class="btn btn-link" ng-disabled="noDecrementSeconds()" tabindex="{{::tabindex}}"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td ng-show="showMeridian"></td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(a){a.put("uib/template/typeahead/typeahead-match.html",'<a href\n   tabindex="-1"\n   ng-bind-html="match.label | uibTypeaheadHighlight:query"\n   ng-attr-title="{{match.label}}"></a>\n')}]),angular.module("uib/template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(a){a.put("uib/template/typeahead/typeahead-popup.html",'<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+\'px\', left: position().left+\'px\'}" role="listbox" aria-hidden="{{!isOpen()}}">\n    <li ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index, $event)" role="option" id="{{::match.id}}">\n        <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>\n    </li>\n</ul>\n')}]),angular.module("ui.bootstrap.carousel").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibCarouselCss&&angular.element(document).find("head").prepend('<style type="text/css">.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}</style>'),angular.$$uibCarouselCss=!0}),angular.module("ui.bootstrap.datepicker").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibDatepickerCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-datepicker .uib-title{width:100%;}.uib-day button,.uib-month button,.uib-year button{min-width:100%;}.uib-left,.uib-right{width:100%}</style>'),angular.$$uibDatepickerCss=!0}),angular.module("ui.bootstrap.position").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibPositionCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-position-measure{display:block !important;visibility:hidden !important;position:absolute !important;top:-9999px !important;left:-9999px !important;}.uib-position-scrollbar-measure{position:absolute !important;top:-9999px !important;width:50px !important;height:50px !important;overflow:scroll !important;}.uib-position-body-scrollbar-measure{overflow:scroll !important;}</style>'),angular.$$uibPositionCss=!0}),angular.module("ui.bootstrap.datepickerPopup").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibDatepickerpopupCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-datepicker-popup.dropdown-menu{display:block;float:none;margin:0;}.uib-button-bar{padding:10px 9px 2px;}</style>'),angular.$$uibDatepickerpopupCss=!0}),angular.module("ui.bootstrap.tooltip").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTooltipCss&&angular.element(document).find("head").prepend('<style type="text/css">[uib-tooltip-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-bottom > .tooltip-arrow,[uib-popover-popup].popover.top-left > .arrow,[uib-popover-popup].popover.top-right > .arrow,[uib-popover-popup].popover.bottom-left > .arrow,[uib-popover-popup].popover.bottom-right > .arrow,[uib-popover-popup].popover.left-top > .arrow,[uib-popover-popup].popover.left-bottom > .arrow,[uib-popover-popup].popover.right-top > .arrow,[uib-popover-popup].popover.right-bottom > .arrow,[uib-popover-html-popup].popover.top-left > .arrow,[uib-popover-html-popup].popover.top-right > .arrow,[uib-popover-html-popup].popover.bottom-left > .arrow,[uib-popover-html-popup].popover.bottom-right > .arrow,[uib-popover-html-popup].popover.left-top > .arrow,[uib-popover-html-popup].popover.left-bottom > .arrow,[uib-popover-html-popup].popover.right-top > .arrow,[uib-popover-html-popup].popover.right-bottom > .arrow,[uib-popover-template-popup].popover.top-left > .arrow,[uib-popover-template-popup].popover.top-right > .arrow,[uib-popover-template-popup].popover.bottom-left > .arrow,[uib-popover-template-popup].popover.bottom-right > .arrow,[uib-popover-template-popup].popover.left-top > .arrow,[uib-popover-template-popup].popover.left-bottom > .arrow,[uib-popover-template-popup].popover.right-top > .arrow,[uib-popover-template-popup].popover.right-bottom > .arrow{top:auto;bottom:auto;left:auto;right:auto;margin:0;}[uib-popover-popup].popover,[uib-popover-html-popup].popover,[uib-popover-template-popup].popover{display:block !important;}</style>'),
+angular.$$uibTooltipCss=!0}),angular.module("ui.bootstrap.timepicker").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTimepickerCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-time input{width:50px;}</style>'),angular.$$uibTimepickerCss=!0}),angular.module("ui.bootstrap.typeahead").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTypeaheadCss&&angular.element(document).find("head").prepend('<style type="text/css">[uib-typeahead-popup].dropdown-menu{display:block;}</style>'),angular.$$uibTypeaheadCss=!0}),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(a,b,c){"use strict";function d(a,b){return R(new(R(function(){},{prototype:a})),b)}function e(a){return Q(arguments,function(b){b!==a&&Q(b,function(b,c){a.hasOwnProperty(c)||(a[c]=b)})}),a}function f(a,b){var c=[];for(var d in a.path){if(a.path[d]!==b.path[d])break;c.push(a.path[d])}return c}function g(a){if(Object.keys)return Object.keys(a);var b=[];return Q(a,function(a,c){b.push(c)}),b}function h(a,b){if(Array.prototype.indexOf)return a.indexOf(b,Number(arguments[2])||0);var c=a.length>>>0,d=Number(arguments[2])||0;for(d=d<0?Math.ceil(d):Math.floor(d),d<0&&(d+=c);d<c;d++)if(d in a&&a[d]===b)return d;return-1}function i(a,b,c,d){var e,i=f(c,d),j={},k=[];for(var l in i)if(i[l]&&i[l].params&&(e=g(i[l].params),e.length))for(var m in e)h(k,e[m])>=0||(k.push(e[m]),j[e[m]]=a[e[m]]);return R({},j,b)}function j(a,b,c){if(!c){c=[];for(var d in a)c.push(d)}for(var e=0;e<c.length;e++){var f=c[e];if(a[f]!=b[f])return!1}return!0}function k(a,b){var c={};return Q(a,function(a){c[a]=b[a]}),c}function l(a){var b={},c=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));return Q(c,function(c){c in a&&(b[c]=a[c])}),b}function m(a){var b={},c=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));for(var d in a)h(c,d)==-1&&(b[d]=a[d]);return b}function n(a,b){var c=P(a),d=c?[]:{};return Q(a,function(a,e){b(a,e)&&(d[c?d.length:e]=a)}),d}function o(a,b){var c=P(a)?[]:{};return Q(a,function(a,d){c[d]=b(a,d)}),c}function p(a,b){var d=1,f=2,i={},j=[],k=i,l=R(a.when(i),{$$promises:i,$$values:i});this.study=function(i){function n(a,c){if(s[c]!==f){if(r.push(c),s[c]===d)throw r.splice(0,h(r,c)),new Error("Cyclic dependency: "+r.join(" -> "));if(s[c]=d,N(a))q.push(c,[function(){return b.get(a)}],j);else{var e=b.annotate(a);Q(e,function(a){a!==c&&i.hasOwnProperty(a)&&n(i[a],a)}),q.push(c,a,e)}r.pop(),s[c]=f}}function o(a){return O(a)&&a.then&&a.$$promises}if(!O(i))throw new Error("'invocables' must be an object");var p=g(i||{}),q=[],r=[],s={};return Q(i,n),i=r=s=null,function(d,f,g){function h(){--u||(v||e(t,f.$$values),r.$$values=t,r.$$promises=r.$$promises||!0,delete r.$$inheritedValues,n.resolve(t))}function i(a){r.$$failure=a,n.reject(a)}function j(c,e,f){function j(a){l.reject(a),i(a)}function k(){if(!L(r.$$failure))try{l.resolve(b.invoke(e,g,t)),l.promise.then(function(a){t[c]=a,h()},j)}catch(a){j(a)}}var l=a.defer(),m=0;Q(f,function(a){s.hasOwnProperty(a)&&!d.hasOwnProperty(a)&&(m++,s[a].then(function(b){t[a]=b,--m||k()},j))}),m||k(),s[c]=l.promise}if(o(d)&&g===c&&(g=f,f=d,d=null),d){if(!O(d))throw new Error("'locals' must be an object")}else d=k;if(f){if(!o(f))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else f=l;var n=a.defer(),r=n.promise,s=r.$$promises={},t=R({},d),u=1+q.length/3,v=!1;if(L(f.$$failure))return i(f.$$failure),r;f.$$inheritedValues&&e(t,m(f.$$inheritedValues,p)),R(s,f.$$promises),f.$$values?(v=e(t,m(f.$$values,p)),r.$$inheritedValues=m(f.$$values,p),h()):(f.$$inheritedValues&&(r.$$inheritedValues=m(f.$$inheritedValues,p)),f.then(h,i));for(var w=0,x=q.length;w<x;w+=3)d.hasOwnProperty(q[w])?h():j(q[w],q[w+1],q[w+2]);return r}},this.resolve=function(a,b,c,d){return this.study(a)(b,c,d)}}function q(a,b,c){this.fromConfig=function(a,b,c){return L(a.template)?this.fromString(a.template,b):L(a.templateUrl)?this.fromUrl(a.templateUrl,b):L(a.templateProvider)?this.fromProvider(a.templateProvider,b,c):null},this.fromString=function(a,b){return M(a)?a(b):a},this.fromUrl=function(c,d){return M(c)&&(c=c(d)),null==c?null:a.get(c,{cache:b,headers:{Accept:"text/html"}}).then(function(a){return a.data})},this.fromProvider=function(a,b,d){return c.invoke(a,null,d||{params:b})}}function r(a,b,e){function f(b,c,d,e){if(q.push(b),o[b])return o[b];if(!/^\w+([-.]+\w+)*(?:\[\])?$/.test(b))throw new Error("Invalid parameter name '"+b+"' in pattern '"+a+"'");if(p[b])throw new Error("Duplicate parameter name '"+b+"' in pattern '"+a+"'");return p[b]=new U.Param(b,c,d,e),p[b]}function g(a,b,c,d){var e=["",""],f=a.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!b)return f;switch(c){case!1:e=["(",")"+(d?"?":"")];break;case!0:f=f.replace(/\/$/,""),e=["(?:/(",")|/)?"];break;default:e=["("+c+"|",")?"]}return f+e[0]+b+e[1]}function h(e,f){var g,h,i,j,k;return g=e[2]||e[3],k=b.params[g],i=a.substring(m,e.index),h=f?e[4]:e[4]||("*"==e[1]?".*":null),h&&(j=U.type(h)||d(U.type("string"),{pattern:new RegExp(h,b.caseInsensitive?"i":c)})),{id:g,regexp:h,segment:i,type:j,cfg:k}}b=R({params:{}},O(b)?b:{});var i,j=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,k=/([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,l="^",m=0,n=this.segments=[],o=e?e.params:{},p=this.params=e?e.params.$$new():new U.ParamSet,q=[];this.source=a;for(var r,s,t;(i=j.exec(a))&&(r=h(i,!1),!(r.segment.indexOf("?")>=0));)s=f(r.id,r.type,r.cfg,"path"),l+=g(r.segment,s.type.pattern.source,s.squash,s.isOptional),n.push(r.segment),m=j.lastIndex;t=a.substring(m);var u=t.indexOf("?");if(u>=0){var v=this.sourceSearch=t.substring(u);if(t=t.substring(0,u),this.sourcePath=a.substring(0,m+u),v.length>0)for(m=0;i=k.exec(v);)r=h(i,!0),s=f(r.id,r.type,r.cfg,"search"),m=j.lastIndex}else this.sourcePath=a,this.sourceSearch="";l+=g(t)+(b.strict===!1?"/?":"")+"$",n.push(t),this.regexp=new RegExp(l,b.caseInsensitive?"i":c),this.prefix=n[0],this.$$paramNames=q}function s(a){R(this,a)}function t(){function a(a){return null!=a?a.toString().replace(/~/g,"~~").replace(/\//g,"~2F"):a}function e(a){return null!=a?a.toString().replace(/~2F/g,"/").replace(/~~/g,"~"):a}function f(){return{strict:p,caseInsensitive:m}}function i(a){return M(a)||P(a)&&M(a[a.length-1])}function j(){for(;w.length;){var a=w.shift();if(a.pattern)throw new Error("You cannot override a type's .pattern at runtime.");b.extend(u[a.name],l.invoke(a.def))}}function k(a){R(this,a||{})}U=this;var l,m=!1,p=!0,q=!1,u={},v=!0,w=[],x={string:{encode:a,decode:e,is:function(a){return null==a||!L(a)||"string"==typeof a},pattern:/[^/]*/},"int":{encode:a,decode:function(a){return parseInt(a,10)},is:function(a){return L(a)&&this.decode(a.toString())===a},pattern:/\d+/},bool:{encode:function(a){return a?1:0},decode:function(a){return 0!==parseInt(a,10)},is:function(a){return a===!0||a===!1},pattern:/0|1/},date:{encode:function(a){return this.is(a)?[a.getFullYear(),("0"+(a.getMonth()+1)).slice(-2),("0"+a.getDate()).slice(-2)].join("-"):c},decode:function(a){if(this.is(a))return a;var b=this.capture.exec(a);return b?new Date(b[1],b[2]-1,b[3]):c},is:function(a){return a instanceof Date&&!isNaN(a.valueOf())},equals:function(a,b){return this.is(a)&&this.is(b)&&a.toISOString()===b.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:b.toJson,decode:b.fromJson,is:b.isObject,equals:b.equals,pattern:/[^/]*/},any:{encode:b.identity,decode:b.identity,equals:b.equals,pattern:/.*/}};t.$$getDefaultValue=function(a){if(!i(a.value))return a.value;if(!l)throw new Error("Injectable functions cannot be called at configuration time");return l.invoke(a.value)},this.caseInsensitive=function(a){return L(a)&&(m=a),m},this.strictMode=function(a){return L(a)&&(p=a),p},this.defaultSquashPolicy=function(a){if(!L(a))return q;if(a!==!0&&a!==!1&&!N(a))throw new Error("Invalid squash policy: "+a+". Valid policies: false, true, arbitrary-string");return q=a,a},this.compile=function(a,b){return new r(a,R(f(),b))},this.isMatcher=function(a){if(!O(a))return!1;var b=!0;return Q(r.prototype,function(c,d){M(c)&&(b=b&&L(a[d])&&M(a[d]))}),b},this.type=function(a,b,c){if(!L(b))return u[a];if(u.hasOwnProperty(a))throw new Error("A type named '"+a+"' has already been defined.");return u[a]=new s(R({name:a},b)),c&&(w.push({name:a,def:c}),v||j()),this},Q(x,function(a,b){u[b]=new s(R({name:b},a))}),u=d(u,{}),this.$get=["$injector",function(a){return l=a,v=!1,j(),Q(x,function(a,b){u[b]||(u[b]=new s(a))}),this}],this.Param=function(a,d,e,f){function j(a){var b=O(a)?g(a):[],c=h(b,"value")===-1&&h(b,"type")===-1&&h(b,"squash")===-1&&h(b,"array")===-1;return c&&(a={value:a}),a.$$fn=i(a.value)?a.value:function(){return a.value},a}function k(c,d,e){if(c.type&&d)throw new Error("Param '"+a+"' has two type configurations.");return d?d:c.type?b.isString(c.type)?u[c.type]:c.type instanceof s?c.type:new s(c.type):"config"===e?u.any:u.string}function m(){var b={array:"search"===f&&"auto"},c=a.match(/\[\]$/)?{array:!0}:{};return R(b,c,e).array}function p(a,b){var c=a.squash;if(!b||c===!1)return!1;if(!L(c)||null==c)return q;if(c===!0||N(c))return c;throw new Error("Invalid squash policy: '"+c+"'. Valid policies: false, true, or arbitrary string")}function r(a,b,d,e){var f,g,i=[{from:"",to:d||b?c:""},{from:null,to:d||b?c:""}];return f=P(a.replace)?a.replace:[],N(e)&&f.push({from:e,to:c}),g=o(f,function(a){return a.from}),n(i,function(a){return h(g,a.from)===-1}).concat(f)}function t(){if(!l)throw new Error("Injectable functions cannot be called at configuration time");var a=l.invoke(e.$$fn);if(null!==a&&a!==c&&!x.type.is(a))throw new Error("Default value ("+a+") for parameter '"+x.id+"' is not an instance of Type ("+x.type.name+")");return a}function v(a){function b(a){return function(b){return b.from===a}}function c(a){var c=o(n(x.replace,b(a)),function(a){return a.to});return c.length?c[0]:a}return a=c(a),L(a)?x.type.$normalize(a):t()}function w(){return"{Param:"+a+" "+d+" squash: '"+A+"' optional: "+z+"}"}var x=this;e=j(e),d=k(e,d,f);var y=m();d=y?d.$asArray(y,"search"===f):d,"string"!==d.name||y||"path"!==f||e.value!==c||(e.value="");var z=e.value!==c,A=p(e,z),B=r(e,y,z,A);R(this,{id:a,type:d,location:f,array:y,squash:A,replace:B,isOptional:z,value:v,dynamic:c,config:e,toString:w})},k.prototype={$$new:function(){return d(this,R(new k,{$$parent:this}))},$$keys:function(){for(var a=[],b=[],c=this,d=g(k.prototype);c;)b.push(c),c=c.$$parent;return b.reverse(),Q(b,function(b){Q(g(b),function(b){h(a,b)===-1&&h(d,b)===-1&&a.push(b)})}),a},$$values:function(a){var b={},c=this;return Q(c.$$keys(),function(d){b[d]=c[d].value(a&&a[d])}),b},$$equals:function(a,b){var c=!0,d=this;return Q(d.$$keys(),function(e){var f=a&&a[e],g=b&&b[e];d[e].type.equals(f,g)||(c=!1)}),c},$$validates:function(a){var d,e,f,g,h,i=this.$$keys();for(d=0;d<i.length&&(e=this[i[d]],f=a[i[d]],f!==c&&null!==f||!e.isOptional);d++){if(g=e.type.$normalize(f),!e.type.is(g))return!1;if(h=e.type.encode(g),b.isString(h)&&!e.type.pattern.exec(h))return!1}return!0},$$parent:c},this.ParamSet=k}function u(a,d){function e(a){var b=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(a.source);return null!=b?b[1].replace(/\\(.)/g,"$1"):""}function f(a,b){return a.replace(/\$(\$|\d{1,2})/,function(a,c){return b["$"===c?0:Number(c)]})}function g(a,b,c){if(!c)return!1;var d=a.invoke(b,b,{$match:c});return!L(d)||d}function h(d,e,f,g,h){function m(a,b,c){return"/"===q?a:b?q.slice(0,-1)+a:c?q.slice(1)+a:a}function n(a){function b(a){var b=a(f,d);return!!b&&(N(b)&&d.replace().url(b),!0)}if(!a||!a.defaultPrevented){p&&d.url()===p;p=c;var e,g=j.length;for(e=0;e<g;e++)if(b(j[e]))return;k&&b(k)}}function o(){return i=i||e.$on("$locationChangeSuccess",n)}var p,q=g.baseHref(),r=d.url();return l||o(),{sync:function(){n()},listen:function(){return o()},update:function(a){return a?void(r=d.url()):void(d.url()!==r&&(d.url(r),d.replace()))},push:function(a,b,e){var f=a.format(b||{});null!==f&&b&&b["#"]&&(f+="#"+b["#"]),d.url(f),p=e&&e.$$avoidResync?d.url():c,e&&e.replace&&d.replace()},href:function(c,e,f){if(!c.validates(e))return null;var g=a.html5Mode();b.isObject(g)&&(g=g.enabled),g=g&&h.history;var i=c.format(e);if(f=f||{},g||null===i||(i="#"+a.hashPrefix()+i),null!==i&&e&&e["#"]&&(i+="#"+e["#"]),i=m(i,g,f.absolute),!f.absolute||!i)return i;var j=!g&&i?"/":"",k=d.port();return k=80===k||443===k?"":":"+k,[d.protocol(),"://",d.host(),k,j,i].join("")}}}var i,j=[],k=null,l=!1;this.rule=function(a){if(!M(a))throw new Error("'rule' must be a function");return j.push(a),this},this.otherwise=function(a){if(N(a)){var b=a;a=function(){return b}}else if(!M(a))throw new Error("'rule' must be a function");return k=a,this},this.when=function(a,b){var c,h=N(b);if(N(a)&&(a=d.compile(a)),!h&&!M(b)&&!P(b))throw new Error("invalid 'handler' in when()");var i={matcher:function(a,b){return h&&(c=d.compile(b),b=["$match",function(a){return c.format(a)}]),R(function(c,d){return g(c,b,a.exec(d.path(),d.search()))},{prefix:N(a.prefix)?a.prefix:""})},regex:function(a,b){if(a.global||a.sticky)throw new Error("when() RegExp must not be global or sticky");return h&&(c=b,b=["$match",function(a){return f(c,a)}]),R(function(c,d){return g(c,b,a.exec(d.path()))},{prefix:e(a)})}},j={matcher:d.isMatcher(a),regex:a instanceof RegExp};for(var k in j)if(j[k])return this.rule(i[k](a,b));throw new Error("invalid 'what' in when()")},this.deferIntercept=function(a){a===c&&(a=!0),l=a},this.$get=h,h.$inject=["$location","$rootScope","$injector","$browser","$sniffer"]}function v(a,e){function f(a){return 0===a.indexOf(".")||0===a.indexOf("^")}function m(a,b){if(!a)return c;var d=N(a),e=d?a:a.name,g=f(e);if(g){if(!b)throw new Error("No reference point given for path '"+e+"'");b=m(b);for(var h=e.split("."),i=0,j=h.length,k=b;i<j;i++)if(""!==h[i]||0!==i){if("^"!==h[i])break;if(!k.parent)throw new Error("Path '"+e+"' not valid for state '"+b.name+"'");k=k.parent}else k=b;h=h.slice(i).join("."),e=k.name+(k.name&&h?".":"")+h}var l=z[e];return!l||!d&&(d||l!==a&&l.self!==a)?c:l}function n(a,b){A[a]||(A[a]=[]),A[a].push(b)}function p(a){for(var b=A[a]||[];b.length;)q(b.shift())}function q(b){b=d(b,{self:b,resolve:b.resolve||{},toString:function(){return this.name}});var c=b.name;if(!N(c)||c.indexOf("@")>=0)throw new Error("State must have a valid name");if(z.hasOwnProperty(c))throw new Error("State '"+c+"' is already defined");var e=c.indexOf(".")!==-1?c.substring(0,c.lastIndexOf(".")):N(b.parent)?b.parent:O(b.parent)&&N(b.parent.name)?b.parent.name:"";if(e&&!z[e])return n(e,b.self);for(var f in C)M(C[f])&&(b[f]=C[f](b,C.$delegates[f]));return z[c]=b,!b[B]&&b.url&&a.when(b.url,["$match","$stateParams",function(a,c){y.$current.navigable==b&&j(a,c)||y.transitionTo(b,a,{inherit:!0,location:!1})}]),p(c),b}function r(a){return a.indexOf("*")>-1}function s(a){for(var b=a.split("."),c=y.$current.name.split("."),d=0,e=b.length;d<e;d++)"*"===b[d]&&(c[d]="*");return"**"===b[0]&&(c=c.slice(h(c,b[1])),c.unshift("**")),"**"===b[b.length-1]&&(c.splice(h(c,b[b.length-2])+1,Number.MAX_VALUE),c.push("**")),b.length==c.length&&c.join("")===b.join("")}function t(a,b){return N(a)&&!L(b)?C[a]:M(b)&&N(a)?(C[a]&&!C.$delegates[a]&&(C.$delegates[a]=C[a]),C[a]=b,this):this}function u(a,b){return O(a)?b=a:b.name=a,q(b),this}function v(a,e,f,h,l,n,p,q,t){function u(b,c,d,f){var g=a.$broadcast("$stateNotFound",b,c,d);if(g.defaultPrevented)return p.update(),D;if(!g.retry)return null;if(f.$retry)return p.update(),E;var h=y.transition=e.when(g.retry);return h.then(function(){return h!==y.transition?A:(b.options.$retry=!0,y.transitionTo(b.to,b.toParams,b.options))},function(){return D}),p.update(),h}function v(a,c,d,g,i,j){function m(){var c=[];return Q(a.views,function(d,e){var g=d.resolve&&d.resolve!==a.resolve?d.resolve:{};g.$template=[function(){return f.load(e,{view:d,locals:i.globals,params:n,notify:j.notify})||""}],c.push(l.resolve(g,i.globals,i.resolve,a).then(function(c){if(M(d.controllerProvider)||P(d.controllerProvider)){var f=b.extend({},g,i.globals);c.$$controller=h.invoke(d.controllerProvider,null,f)}else c.$$controller=d.controller;c.$$state=a,c.$$controllerAs=d.controllerAs,i[e]=c}))}),e.all(c).then(function(){return i.globals})}var n=d?c:k(a.params.$$keys(),c),o={$stateParams:n};i.resolve=l.resolve(a.resolve,o,i.resolve,a);var p=[i.resolve.then(function(a){i.globals=a})];return g&&p.push(g),e.all(p).then(m).then(function(a){return i})}var A=e.reject(new Error("transition superseded")),C=e.reject(new Error("transition prevented")),D=e.reject(new Error("transition aborted")),E=e.reject(new Error("transition failed"));return x.locals={resolve:null,globals:{$stateParams:{}}},y={params:{},current:x.self,$current:x,transition:null},y.reload=function(a){return y.transitionTo(y.current,n,{reload:a||!0,inherit:!1,notify:!0})},y.go=function(a,b,c){return y.transitionTo(a,b,R({inherit:!0,relative:y.$current},c))},y.transitionTo=function(b,c,f){c=c||{},f=R({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},f||{});var g,j=y.$current,l=y.params,o=j.path,q=m(b,f.relative),r=c["#"];if(!L(q)){var s={to:b,toParams:c,options:f},t=u(s,j.self,l,f);if(t)return t;if(b=s.to,c=s.toParams,f=s.options,q=m(b,f.relative),!L(q)){if(!f.relative)throw new Error("No such state '"+b+"'");throw new Error("Could not resolve '"+b+"' from state '"+f.relative+"'")}}if(q[B])throw new Error("Cannot transition to abstract state '"+b+"'");if(f.inherit&&(c=i(n,c||{},y.$current,q)),!q.params.$$validates(c))return E;c=q.params.$$values(c),b=q;var z=b.path,D=0,F=z[D],G=x.locals,H=[];if(f.reload){if(N(f.reload)||O(f.reload)){if(O(f.reload)&&!f.reload.name)throw new Error("Invalid reload state object");var I=f.reload===!0?o[0]:m(f.reload);if(f.reload&&!I)throw new Error("No such reload state '"+(N(f.reload)?f.reload:f.reload.name)+"'");for(;F&&F===o[D]&&F!==I;)G=H[D]=F.locals,D++,F=z[D]}}else for(;F&&F===o[D]&&F.ownParams.$$equals(c,l);)G=H[D]=F.locals,D++,F=z[D];if(w(b,c,j,l,G,f))return r&&(c["#"]=r),y.params=c,S(y.params,n),S(k(b.params.$$keys(),n),b.locals.globals.$stateParams),f.location&&b.navigable&&b.navigable.url&&(p.push(b.navigable.url,c,{$$avoidResync:!0,replace:"replace"===f.location}),p.update(!0)),y.transition=null,e.when(y.current);if(c=k(b.params.$$keys(),c||{}),r&&(c["#"]=r),f.notify&&a.$broadcast("$stateChangeStart",b.self,c,j.self,l,f).defaultPrevented)return a.$broadcast("$stateChangeCancel",b.self,c,j.self,l),null==y.transition&&p.update(),C;for(var J=e.when(G),K=D;K<z.length;K++,F=z[K])G=H[K]=d(G),J=v(F,c,F===b,J,G,f);var M=y.transition=J.then(function(){var d,e,g;if(y.transition!==M)return A;for(d=o.length-1;d>=D;d--)g=o[d],g.self.onExit&&h.invoke(g.self.onExit,g.self,g.locals.globals),g.locals=null;for(d=D;d<z.length;d++)e=z[d],e.locals=H[d],e.self.onEnter&&h.invoke(e.self.onEnter,e.self,e.locals.globals);return y.transition!==M?A:(y.$current=b,y.current=b.self,y.params=c,S(y.params,n),y.transition=null,f.location&&b.navigable&&p.push(b.navigable.url,b.navigable.locals.globals.$stateParams,{$$avoidResync:!0,replace:"replace"===f.location}),f.notify&&a.$broadcast("$stateChangeSuccess",b.self,c,j.self,l),p.update(!0),y.current)},function(d){return y.transition!==M?A:(y.transition=null,g=a.$broadcast("$stateChangeError",b.self,c,j.self,l,d),g.defaultPrevented||p.update(),e.reject(d))});return M},y.is=function(a,b,d){d=R({relative:y.$current},d||{});var e=m(a,d.relative);return L(e)?y.$current===e&&(!b||j(e.params.$$values(b),n)):c},y.includes=function(a,b,d){if(d=R({relative:y.$current},d||{}),N(a)&&r(a)){if(!s(a))return!1;a=y.$current.name}var e=m(a,d.relative);return L(e)?!!L(y.$current.includes[e.name])&&(!b||j(e.params.$$values(b),n,g(b))):c},y.href=function(a,b,d){d=R({lossy:!0,inherit:!0,absolute:!1,relative:y.$current},d||{});var e=m(a,d.relative);if(!L(e))return null;d.inherit&&(b=i(n,b||{},y.$current,e));var f=e&&d.lossy?e.navigable:e;return f&&f.url!==c&&null!==f.url?p.href(f.url,k(e.params.$$keys().concat("#"),b||{}),{absolute:d.absolute}):null},y.get=function(a,b){if(0===arguments.length)return o(g(z),function(a){return z[a].self});var c=m(a,b||y.$current);return c&&c.self?c.self:null},y}function w(a,b,c,d,e,f){function g(a,b,c){function d(b){return"search"!=a.params[b].location}var e=a.params.$$keys().filter(d),f=l.apply({},[a.params].concat(e)),g=new U.ParamSet(f);return g.$$equals(b,c)}if(!f.reload&&a===c&&(e===c.locals||a.self.reloadOnSearch===!1&&g(c,d,b)))return!0}var x,y,z={},A={},B="abstract",C={parent:function(a){if(L(a.parent)&&a.parent)return m(a.parent);var b=/^(.+)\.[^.]+$/.exec(a.name);return b?m(b[1]):x},data:function(a){return a.parent&&a.parent.data&&(a.data=a.self.data=d(a.parent.data,a.data)),a.data},url:function(a){var b=a.url,c={params:a.params||{}};if(N(b))return"^"==b.charAt(0)?e.compile(b.substring(1),c):(a.parent.navigable||x).url.concat(b,c);if(!b||e.isMatcher(b))return b;throw new Error("Invalid url '"+b+"' in state '"+a+"'")},navigable:function(a){return a.url?a:a.parent?a.parent.navigable:null},ownParams:function(a){var b=a.url&&a.url.params||new U.ParamSet;return Q(a.params||{},function(a,c){b[c]||(b[c]=new U.Param(c,null,a,"config"))}),b},params:function(a){var b=l(a.ownParams,a.ownParams.$$keys());return a.parent&&a.parent.params?R(a.parent.params.$$new(),b):new U.ParamSet},views:function(a){var b={};return Q(L(a.views)?a.views:{"":a},function(c,d){d.indexOf("@")<0&&(d+="@"+a.parent.name),b[d]=c}),b},path:function(a){return a.parent?a.parent.path.concat(a):[]},includes:function(a){var b=a.parent?R({},a.parent.includes):{};return b[a.name]=!0,b},$delegates:{}};x=q({name:"",url:"^",views:null,"abstract":!0}),x.navigable=null,this.decorator=t,this.state=u,this.$get=v,v.$inject=["$rootScope","$q","$view","$injector","$resolve","$stateParams","$urlRouter","$location","$urlMatcherFactory"]}function w(){function a(a,b){return{load:function(a,c){var d,e={template:null,controller:null,view:null,locals:null,notify:!0,async:!0,params:{}};return c=R(e,c),c.view&&(d=b.fromConfig(c.view,c.params,c.locals)),d}}}this.$get=a,a.$inject=["$rootScope","$templateFactory"]}function x(){var a=!1;this.useAnchorScroll=function(){a=!0},this.$get=["$anchorScroll","$timeout",function(b,c){return a?b:function(a){return c(function(){a[0].scrollIntoView()},0,!1)}}]}function y(a,c,d,e){function f(){return c.has?function(a){return c.has(a)?c.get(a):null}:function(a){try{return c.get(a)}catch(b){return null}}}function g(a,c){function d(a){return 1===V&&W>=4?!!j.enabled(a):1===V&&W>=2?!!j.enabled():!!i}var e={enter:function(a,b,c){b.after(a),c()},leave:function(a,b){a.remove(),b()}};if(a.noanimation)return e;if(j)return{enter:function(a,c,f){d(a)?b.version.minor>2?j.enter(a,null,c).then(f):j.enter(a,null,c,f):e.enter(a,c,f)},leave:function(a,c){d(a)?b.version.minor>2?j.leave(a).then(c):j.leave(a,c):e.leave(a,c)}};if(i){var f=i&&i(c,a);return{enter:function(a,b,c){f.enter(a,null,b),c()},leave:function(a,b){f.leave(a),b()}}}return e}var h=f(),i=h("$animator"),j=h("$animate"),k={restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(c,f,h){return function(c,f,i){function j(){function a(){b&&b.remove(),c&&c.$destroy()}var b=l,c=n;c&&(c._willBeDestroyed=!0),m?(r.leave(m,function(){a(),l=null}),l=m):(a(),l=null),m=null,n=null}function k(g){var k,l=A(c,i,f,e),s=l&&a.$current&&a.$current.locals[l];if((g||s!==o)&&!c._willBeDestroyed){k=c.$new(),o=a.$current.locals[l],k.$emit("$viewContentLoading",l);var t=h(k,function(a){r.enter(a,f,function(){n&&n.$emit("$viewContentAnimationEnded"),(b.isDefined(q)&&!q||c.$eval(q))&&d(a)}),j()});m=t,n=k,n.$emit("$viewContentLoaded",l),n.$eval(p)}}var l,m,n,o,p=i.onload||"",q=i.autoscroll,r=g(i,c);c.$on("$stateChangeSuccess",function(){k(!1)}),k(!0)}}};return k}function z(a,b,c,d){return{restrict:"ECA",priority:-400,compile:function(e){var f=e.html();return function(e,g,h){var i=c.$current,j=A(e,h,g,d),k=i&&i.locals[j];if(k){g.data("$uiView",{name:j,state:k.$$state}),g.html(k.$template?k.$template:f);var l=a(g.contents());if(k.$$controller){k.$scope=e,k.$element=g;var m=b(k.$$controller,k);k.$$controllerAs&&(e[k.$$controllerAs]=m),g.data("$ngControllerController",m),g.children().data("$ngControllerController",m)}l(e)}}}}}function A(a,b,c,d){var e=d(b.uiView||b.name||"")(a),f=c.inheritedData("$uiView");return e.indexOf("@")>=0?e:e+"@"+(f?f.state.name:"")}function B(a,b){var c,d=a.match(/^\s*({[^}]*})\s*$/);if(d&&(a=b+"("+d[1]+")"),c=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!c||4!==c.length)throw new Error("Invalid state ref '"+a+"'");return{state:c[1],paramExpr:c[3]||null}}function C(a){var b=a.parent().inheritedData("$uiView");if(b&&b.state&&b.state.name)return b.state}function D(a){var b="[object SVGAnimatedString]"===Object.prototype.toString.call(a.prop("href")),c="FORM"===a[0].nodeName;return{attr:c?"action":b?"xlink:href":"href",isAnchor:"A"===a.prop("tagName").toUpperCase(),clickable:!c}}function E(a,b,c,d,e){return function(f){var g=f.which||f.button,h=e();if(!(g>1||f.ctrlKey||f.metaKey||f.shiftKey||a.attr("target"))){var i=c(function(){b.go(h.state,h.params,h.options)});f.preventDefault();var j=d.isAnchor&&!h.href?1:0;f.preventDefault=function(){j--<=0&&c.cancel(i)}}}}function F(a,b){return{relative:C(a)||b.$current,inherit:!0}}function G(a,c){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(d,e,f,g){var h=B(f.uiSref,a.current.name),i={state:h.state,href:null,params:null},j=D(e),k=g[1]||g[0];i.options=R(F(e,a),f.uiSrefOpts?d.$eval(f.uiSrefOpts):{});var l=function(c){c&&(i.params=b.copy(c)),i.href=a.href(h.state,i.params,i.options),k&&k.$$addStateInfo(h.state,i.params),null!==i.href&&f.$set(j.attr,i.href)};h.paramExpr&&(d.$watch(h.paramExpr,function(a){a!==i.params&&l(a)},!0),i.params=b.copy(d.$eval(h.paramExpr))),l(),j.clickable&&e.bind("click",E(e,a,c,j,function(){return i}))}}}function H(a,b){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(c,d,e,f){function g(b){l.state=b[0],l.params=b[1],l.options=b[2],l.href=a.href(l.state,l.params,l.options),i&&i.$$addStateInfo(l.state,l.params),l.href&&e.$set(h.attr,l.href)}var h=D(d),i=f[1]||f[0],j=[e.uiState,e.uiStateParams||null,e.uiStateOpts||null],k="["+j.map(function(a){return a||"null"}).join(", ")+"]",l={state:null,params:null,options:null,href:null};c.$watch(k,g,!0),g(c.$eval(k)),h.clickable&&d.bind("click",E(d,a,b,h,function(){return l}))}}}function I(a,b,c){return{restrict:"A",controller:["$scope","$element","$attrs","$timeout",function(b,d,e,f){function g(b,c,e){var f=a.get(b,C(d)),g=h(b,c);p.push({state:f||{name:b},params:c,hash:g}),q[g]=e}function h(a,c){if(!N(a))throw new Error("state should be a string");return O(c)?a+T(c):(c=b.$eval(c),O(c)?a+T(c):a)}function i(){for(var a=0;a<p.length;a++)l(p[a].state,p[a].params)?j(d,q[p[a].hash]):k(d,q[p[a].hash]),m(p[a].state,p[a].params)?j(d,n):k(d,n)}function j(a,b){f(function(){a.addClass(b)})}function k(a,b){a.removeClass(b)}function l(b,c){return a.includes(b.name,c)}function m(b,c){return a.is(b.name,c)}var n,o,p=[],q={};n=c(e.uiSrefActiveEq||"",!1)(b);try{o=b.$eval(e.uiSrefActive)}catch(r){}o=o||c(e.uiSrefActive||"",!1)(b),O(o)&&Q(o,function(c,d){if(N(c)){var e=B(c,a.current.name);g(e.state,b.$eval(e.paramExpr),d)}}),this.$$addStateInfo=function(a,b){O(o)&&p.length>0||(g(a,b,o),i())},b.$on("$stateChangeSuccess",i),i()}]}}function J(a){var b=function(b,c){return a.is(b,c)};return b.$stateful=!0,b}function K(a){var b=function(b,c,d){return a.includes(b,c,d)};return b.$stateful=!0,b}var L=b.isDefined,M=b.isFunction,N=b.isString,O=b.isObject,P=b.isArray,Q=b.forEach,R=b.extend,S=b.copy,T=b.toJson;b.module("ui.router.util",["ng"]),b.module("ui.router.router",["ui.router.util"]),b.module("ui.router.state",["ui.router.router","ui.router.util"]),b.module("ui.router",["ui.router.state"]),b.module("ui.router.compat",["ui.router"]),p.$inject=["$q","$injector"],b.module("ui.router.util").service("$resolve",p),q.$inject=["$http","$templateCache","$injector"],b.module("ui.router.util").service("$templateFactory",q);var U;r.prototype.concat=function(a,b){var c={caseInsensitive:U.caseInsensitive(),strict:U.strictMode(),squash:U.defaultSquashPolicy()};return new r(this.sourcePath+a+this.sourceSearch,R(c,b),this)},r.prototype.toString=function(){return this.source},r.prototype.exec=function(a,b){function c(a){function b(a){return a.split("").reverse().join("")}function c(a){return a.replace(/\\-/g,"-")}var d=b(a).split(/-(?!\\)/),e=o(d,b);return o(e,c).reverse()}var d=this.regexp.exec(a);if(!d)return null;b=b||{};var e,f,g,h=this.parameters(),i=h.length,j=this.segments.length-1,k={};if(j!==d.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");var l,m;for(e=0;e<j;e++){for(g=h[e],l=this.params[g],m=d[e+1],f=0;f<l.replace.length;f++)l.replace[f].from===m&&(m=l.replace[f].to);m&&l.array===!0&&(m=c(m)),L(m)&&(m=l.type.decode(m)),k[g]=l.value(m)}for(;e<i;e++){for(g=h[e],k[g]=this.params[g].value(b[g]),l=this.params[g],m=b[g],f=0;f<l.replace.length;f++)l.replace[f].from===m&&(m=l.replace[f].to);L(m)&&(m=l.type.decode(m)),k[g]=l.value(m)}return k},r.prototype.parameters=function(a){return L(a)?this.params[a]||null:this.$$paramNames},r.prototype.validates=function(a){return this.params.$$validates(a)},r.prototype.format=function(a){function b(a){return encodeURIComponent(a).replace(/-/g,function(a){return"%5C%"+a.charCodeAt(0).toString(16).toUpperCase()})}a=a||{};var c=this.segments,d=this.parameters(),e=this.params;if(!this.validates(a))return null;var f,g=!1,h=c.length-1,i=d.length,j=c[0];for(f=0;f<i;f++){var k=f<h,l=d[f],m=e[l],n=m.value(a[l]),p=m.isOptional&&m.type.equals(m.value(),n),q=!!p&&m.squash,r=m.type.encode(n);if(k){var s=c[f+1],t=f+1===h;if(q===!1)null!=r&&(j+=P(r)?o(r,b).join("-"):encodeURIComponent(r)),j+=s;else if(q===!0){var u=j.match(/\/$/)?/\/?(.*)/:/(.*)/;j+=s.match(u)[1]}else N(q)&&(j+=q+s);t&&m.squash===!0&&"/"===j.slice(-1)&&(j=j.slice(0,-1))}else{if(null==r||p&&q!==!1)continue;if(P(r)||(r=[r]),0===r.length)continue;r=o(r,encodeURIComponent).join("&"+l+"="),j+=(g?"&":"?")+(l+"="+r),g=!0}}return j},s.prototype.is=function(a,b){return!0},s.prototype.encode=function(a,b){return a},s.prototype.decode=function(a,b){return a},s.prototype.equals=function(a,b){return a==b},s.prototype.$subPattern=function(){var a=this.pattern.toString();return a.substr(1,a.length-2)},s.prototype.pattern=/.*/,s.prototype.toString=function(){return"{Type:"+this.name+"}"},s.prototype.$normalize=function(a){return this.is(a)?a:this.decode(a)},s.prototype.$asArray=function(a,b){function d(a,b){function d(a,b){return function(){return a[b].apply(a,arguments)}}function e(a){return P(a)?a:L(a)?[a]:[]}function f(a){switch(a.length){case 0:return c;case 1:return"auto"===b?a[0]:a;default:return a}}function g(a){return!a}function h(a,b){return function(c){if(P(c)&&0===c.length)return c;c=e(c);var d=o(c,a);return b===!0?0===n(d,g).length:f(d)}}function i(a){return function(b,c){var d=e(b),f=e(c);if(d.length!==f.length)return!1;for(var g=0;g<d.length;g++)if(!a(d[g],f[g]))return!1;return!0}}this.encode=h(d(a,"encode")),this.decode=h(d(a,"decode")),this.is=h(d(a,"is"),!0),this.equals=i(d(a,"equals")),this.pattern=a.pattern,this.$normalize=h(d(a,"$normalize")),this.name=a.name,this.$arrayMode=b}if(!a)return this;if("auto"===a&&!b)throw new Error("'auto' array mode is for query parameters only");return new d(this,a)},b.module("ui.router.util").provider("$urlMatcherFactory",t),b.module("ui.router.util").run(["$urlMatcherFactory",function(a){}]),u.$inject=["$locationProvider","$urlMatcherFactoryProvider"],b.module("ui.router.router").provider("$urlRouter",u),v.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],b.module("ui.router.state").factory("$stateParams",function(){
+return{}}).provider("$state",v),w.$inject=[],b.module("ui.router.state").provider("$view",w),b.module("ui.router.state").provider("$uiViewScroll",x);var V=b.version.major,W=b.version.minor;y.$inject=["$state","$injector","$uiViewScroll","$interpolate"],z.$inject=["$compile","$controller","$state","$interpolate"],b.module("ui.router.state").directive("uiView",y),b.module("ui.router.state").directive("uiView",z),G.$inject=["$state","$timeout"],H.$inject=["$state","$timeout"],I.$inject=["$state","$stateParams","$interpolate"],b.module("ui.router.state").directive("uiSref",G).directive("uiSrefActive",I).directive("uiSrefActiveEq",I).directive("uiState",H),J.$inject=["$state"],K.$inject=["$state"],b.module("ui.router.state").filter("isState",J).filter("includedByState",K)}(window,window.angular),!function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?exports["angular-file-upload"]=b():a["angular-file-upload"]=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}var e=c(1),f=d(e),g=c(2),h=d(g),i=c(3),j=d(i),k=c(4),l=d(k),m=c(5),n=d(m),o=c(6),p=d(o),q=c(7),r=d(q),s=c(8),t=d(s),u=c(9),v=d(u),w=c(10),x=d(w),y=c(11),z=d(y),A=c(12),B=d(A);angular.module(f["default"].name,[]).value("fileUploaderOptions",h["default"]).factory("FileUploader",j["default"]).factory("FileLikeObject",l["default"]).factory("FileItem",n["default"]).factory("FileDirective",p["default"]).factory("FileSelect",r["default"]).factory("FileDrop",t["default"]).factory("FileOver",v["default"]).directive("nvFileSelect",x["default"]).directive("nvFileDrop",z["default"]).directive("nvFileOver",B["default"]).run(["FileUploader","FileLikeObject","FileItem","FileDirective","FileSelect","FileDrop","FileOver",function(a,b,c,d,e,f,g){a.FileLikeObject=b,a.FileItem=c,a.FileDirective=d,a.FileSelect=e,a.FileDrop=f,a.FileOver=g}])},function(a,b){a.exports={name:"angularFileUpload"}},function(a,b){"use strict";Object.defineProperty(b,"__esModule",{value:!0}),b["default"]={url:"/",alias:"file",headers:{},queue:[],progress:0,autoUpload:!1,removeAfterUpload:!1,method:"POST",filters:[],formData:[],queueLimit:Number.MAX_VALUE,withCredentials:!1,disableMultipart:!1}},function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b,c,d,f,g,h){var q=d.File,r=d.FormData,s=function(){function d(b){e(this,d);var c=i(a);j(this,c,b,{isUploading:!1,_nextIndex:0,_failFilterIndex:-1,_directives:{select:[],drop:[],over:[]}}),this.filters.unshift({name:"queueLimit",fn:this._queueLimitFilter}),this.filters.unshift({name:"folder",fn:this._folderFilter})}return d.prototype.addToQueue=function(a,b,c){var d=this,e=this.isArrayLikeObject(a)?a:[a],f=this._getFilters(c),i=this.queue.length,j=[];k(e,function(a){var c=new g(a);if(d._isValidFile(c,f,b)){var e=new h(d,a,b);j.push(e),d.queue.push(e),d._onAfterAddingFile(e)}else{var i=f[d._failFilterIndex];d._onWhenAddingFileFailed(c,i,b)}}),this.queue.length!==i&&(this._onAfterAddingAll(j),this.progress=this._getTotalProgress()),this._render(),this.autoUpload&&this.uploadAll()},d.prototype.removeFromQueue=function(a){var b=this.getIndexOfItem(a),c=this.queue[b];c.isUploading&&c.cancel(),this.queue.splice(b,1),c._destroy(),this.progress=this._getTotalProgress()},d.prototype.clearQueue=function(){for(;this.queue.length;)this.queue[0].remove();this.progress=0},d.prototype.uploadItem=function(a){var b=this.getIndexOfItem(a),c=this.queue[b],d=this.isHTML5?"_xhrTransport":"_iframeTransport";c._prepareToUploading(),this.isUploading||(this._onBeforeUploadItem(c),c.isCancel||(c.isUploading=!0,this.isUploading=!0,this[d](c),this._render()))},d.prototype.cancelItem=function(a){var b=this,c=this.getIndexOfItem(a),d=this.queue[c],e=this.isHTML5?"_xhr":"_form";d&&(d.isCancel=!0,d.isUploading?d[e].abort():!function(){var a=[void 0,0,{}],c=function(){b._onCancelItem.apply(b,[d].concat(a)),b._onCompleteItem.apply(b,[d].concat(a))};f(c)}())},d.prototype.uploadAll=function(){var a=this.getNotUploadedItems().filter(function(a){return!a.isUploading});a.length&&(k(a,function(a){return a._prepareToUploading()}),a[0].upload())},d.prototype.cancelAll=function(){var a=this.getNotUploadedItems();k(a,function(a){return a.cancel()})},d.prototype.isFile=function(a){return this.constructor.isFile(a)},d.prototype.isFileLikeObject=function(a){return this.constructor.isFileLikeObject(a)},d.prototype.isArrayLikeObject=function(a){return this.constructor.isArrayLikeObject(a)},d.prototype.getIndexOfItem=function(a){return m(a)?a:this.queue.indexOf(a)},d.prototype.getNotUploadedItems=function(){return this.queue.filter(function(a){return!a.isUploaded})},d.prototype.getReadyItems=function(){return this.queue.filter(function(a){return a.isReady&&!a.isUploading}).sort(function(a,b){return a.index-b.index})},d.prototype.destroy=function(){var a=this;k(this._directives,function(b){k(a._directives[b],function(a){a.destroy()})})},d.prototype.onAfterAddingAll=function(a){},d.prototype.onAfterAddingFile=function(a){},d.prototype.onWhenAddingFileFailed=function(a,b,c){},d.prototype.onBeforeUploadItem=function(a){},d.prototype.onProgressItem=function(a,b){},d.prototype.onProgressAll=function(a){},d.prototype.onSuccessItem=function(a,b,c,d){},d.prototype.onErrorItem=function(a,b,c,d){},d.prototype.onCancelItem=function(a,b,c,d){},d.prototype.onCompleteItem=function(a,b,c,d){},d.prototype.onCompleteAll=function(){},d.prototype._getTotalProgress=function(a){if(this.removeAfterUpload)return a||0;var b=this.getNotUploadedItems().length,c=b?this.queue.length-b:this.queue.length,d=100/this.queue.length,e=(a||0)*d/100;return Math.round(c*d+e)},d.prototype._getFilters=function(a){if(!a)return this.filters;if(o(a))return a;var b=a.match(/[^\s,]+/g);return this.filters.filter(function(a){return-1!==b.indexOf(a.name)})},d.prototype._render=function(){b.$$phase||b.$apply()},d.prototype._folderFilter=function(a){return!(!a.size&&!a.type)},d.prototype._queueLimitFilter=function(){return this.queue.length<this.queueLimit},d.prototype._isValidFile=function(a,b,c){var d=this;return this._failFilterIndex=-1,!b.length||b.every(function(b){return d._failFilterIndex++,b.fn.call(d,a,c)})},d.prototype._isSuccessCode=function(a){return a>=200&&300>a||304===a},d.prototype._transformResponse=function(a,b){var d=this._headersGetter(b);return k(c.defaults.transformResponse,function(b){a=b(a,d)}),a},d.prototype._parseHeaders=function(a){var b,c,d,e={};return a?(k(a.split("\n"),function(a){d=a.indexOf(":"),b=a.slice(0,d).trim().toLowerCase(),c=a.slice(d+1).trim(),b&&(e[b]=e[b]?e[b]+", "+c:c)}),e):e},d.prototype._headersGetter=function(a){return function(b){return b?a[b.toLowerCase()]||null:a}},d.prototype._xhrTransport=function(a){var b,c=this,d=a._xhr=new XMLHttpRequest;if(a.disableMultipart?b=a._file:(b=new r,k(a.formData,function(a){k(a,function(a,c){b.append(c,a)})}),b.append(a.alias,a._file,a.file.name)),"number"!=typeof a._file.size)throw new TypeError("The file specified is no longer valid");d.upload.onprogress=function(b){var d=Math.round(b.lengthComputable?100*b.loaded/b.total:0);c._onProgressItem(a,d)},d.onload=function(){var b=c._parseHeaders(d.getAllResponseHeaders()),e=c._transformResponse(d.response,b),f=c._isSuccessCode(d.status)?"Success":"Error",g="_on"+f+"Item";c[g](a,e,d.status,b),c._onCompleteItem(a,e,d.status,b)},d.onerror=function(){var b=c._parseHeaders(d.getAllResponseHeaders()),e=c._transformResponse(d.response,b);c._onErrorItem(a,e,d.status,b),c._onCompleteItem(a,e,d.status,b)},d.onabort=function(){var b=c._parseHeaders(d.getAllResponseHeaders()),e=c._transformResponse(d.response,b);c._onCancelItem(a,e,d.status,b),c._onCompleteItem(a,e,d.status,b)},d.open(a.method,a.url,!0),d.withCredentials=a.withCredentials,k(a.headers,function(a,b){d.setRequestHeader(b,a)}),d.send(b)},d.prototype._iframeTransport=function(a){var b=this,c=p('<form style="display: none;" />'),d=p('<iframe name="iframeTransport'+Date.now()+'">'),e=a._input;a._form&&a._form.replaceWith(e),a._form=c,e.prop("name",a.alias),k(a.formData,function(a){k(a,function(a,b){var d=p('<input type="hidden" name="'+b+'" />');d.val(a),c.append(d)})}),c.prop({action:a.url,method:"POST",target:d.prop("name"),enctype:"multipart/form-data",encoding:"multipart/form-data"}),d.bind("load",function(){var c="",e=200;try{c=d[0].contentDocument.body.innerHTML}catch(f){e=500}var g={response:c,status:e,dummy:!0},h={},i=b._transformResponse(g.response,h);b._onSuccessItem(a,i,g.status,h),b._onCompleteItem(a,i,g.status,h)}),c.abort=function(){var f,g={status:0,dummy:!0},h={};d.unbind("load").prop("src","javascript:false;"),c.replaceWith(e),b._onCancelItem(a,f,g.status,h),b._onCompleteItem(a,f,g.status,h)},e.after(c),c.append(e).append(d),c[0].submit()},d.prototype._onWhenAddingFileFailed=function(a,b,c){this.onWhenAddingFileFailed(a,b,c)},d.prototype._onAfterAddingFile=function(a){this.onAfterAddingFile(a)},d.prototype._onAfterAddingAll=function(a){this.onAfterAddingAll(a)},d.prototype._onBeforeUploadItem=function(a){a._onBeforeUpload(),this.onBeforeUploadItem(a)},d.prototype._onProgressItem=function(a,b){var c=this._getTotalProgress(b);this.progress=c,a._onProgress(b),this.onProgressItem(a,b),this.onProgressAll(c),this._render()},d.prototype._onSuccessItem=function(a,b,c,d){a._onSuccess(b,c,d),this.onSuccessItem(a,b,c,d)},d.prototype._onErrorItem=function(a,b,c,d){a._onError(b,c,d),this.onErrorItem(a,b,c,d)},d.prototype._onCancelItem=function(a,b,c,d){a._onCancel(b,c,d),this.onCancelItem(a,b,c,d)},d.prototype._onCompleteItem=function(a,b,c,d){a._onComplete(b,c,d),this.onCompleteItem(a,b,c,d);var e=this.getReadyItems()[0];return this.isUploading=!1,n(e)?void e.upload():(this.onCompleteAll(),this.progress=this._getTotalProgress(),void this._render())},d.isFile=function(a){return q&&a instanceof q},d.isFileLikeObject=function(a){return a instanceof g},d.isArrayLikeObject=function(a){return l(a)&&"length"in a},d.inherit=function(a,b){a.prototype=Object.create(b.prototype),a.prototype.constructor=a,a.super_=b},d}();return s.prototype.isHTML5=!(!q||!r),s.isHTML5=s.prototype.isHTML5,s}Object.defineProperty(b,"__esModule",{value:!0}),b["default"]=f;var g=c(1),h=(d(g),angular),i=h.copy,j=h.extend,k=h.forEach,l=h.isObject,m=h.isNumber,n=h.isDefined,o=h.isArray,p=h.element;f.$inject=["fileUploaderOptions","$rootScope","$http","$window","$timeout","FileLikeObject","FileItem"]},function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(){return function(){function a(b){e(this,a);var c=j(b),d=c?b.value:b,f=k(d)?"FakePath":"Object",g="_createFrom"+f;this[g](d)}return a.prototype._createFromFakePath=function(a){this.lastModifiedDate=null,this.size=null,this.type="like/"+a.slice(a.lastIndexOf(".")+1).toLowerCase(),this.name=a.slice(a.lastIndexOf("/")+a.lastIndexOf("\\")+2)},a.prototype._createFromObject=function(a){this.lastModifiedDate=i(a.lastModifiedDate),this.size=a.size,this.type=a.type,this.name=a.name},a}()}Object.defineProperty(b,"__esModule",{value:!0}),b["default"]=f;var g=c(1),h=(d(g),angular),i=h.copy,j=h.isElement,k=h.isString},function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b){return function(){function c(a,d,f){e(this,c);var g=l(d),h=g?k(d):null,m=g?null:d;j(this,{url:a.url,alias:a.alias,headers:i(a.headers),formData:i(a.formData),removeAfterUpload:a.removeAfterUpload,withCredentials:a.withCredentials,disableMultipart:a.disableMultipart,method:a.method},f,{uploader:a,file:new b(d),isReady:!1,isUploading:!1,isUploaded:!1,isSuccess:!1,isCancel:!1,isError:!1,progress:0,index:null,_file:m,_input:h}),h&&this._replaceNode(h)}return c.prototype.upload=function(){try{this.uploader.uploadItem(this)}catch(a){this.uploader._onCompleteItem(this,"",0,[]),this.uploader._onErrorItem(this,"",0,[])}},c.prototype.cancel=function(){this.uploader.cancelItem(this)},c.prototype.remove=function(){this.uploader.removeFromQueue(this)},c.prototype.onBeforeUpload=function(){},c.prototype.onProgress=function(a){},c.prototype.onSuccess=function(a,b,c){},c.prototype.onError=function(a,b,c){},c.prototype.onCancel=function(a,b,c){},c.prototype.onComplete=function(a,b,c){},c.prototype._onBeforeUpload=function(){this.isReady=!0,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!1,this.isError=!1,this.progress=0,this.onBeforeUpload()},c.prototype._onProgress=function(a){this.progress=a,this.onProgress(a)},c.prototype._onSuccess=function(a,b,c){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!0,this.isCancel=!1,this.isError=!1,this.progress=100,this.index=null,this.onSuccess(a,b,c)},c.prototype._onError=function(a,b,c){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!1,this.isCancel=!1,this.isError=!0,this.progress=0,this.index=null,this.onError(a,b,c)},c.prototype._onCancel=function(a,b,c){this.isReady=!1,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!0,this.isError=!1,this.progress=0,this.index=null,this.onCancel(a,b,c)},c.prototype._onComplete=function(a,b,c){this.onComplete(a,b,c),this.removeAfterUpload&&this.remove()},c.prototype._destroy=function(){this._input&&this._input.remove(),this._form&&this._form.remove(),delete this._form,delete this._input},c.prototype._prepareToUploading=function(){this.index=this.index||++this.uploader._nextIndex,this.isReady=!0},c.prototype._replaceNode=function(b){var c=a(b.clone())(b.scope());c.prop("value",null),b.css("display","none"),b.after(c)},c}()}Object.defineProperty(b,"__esModule",{value:!0}),b["default"]=f;var g=c(1),h=(d(g),angular),i=h.copy,j=h.extend,k=h.element,l=h.isElement;f.$inject=["$compile","FileLikeObject"]},function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(){var a=function(){function a(b){e(this,a),i(this,b),this.uploader._directives[this.prop].push(this),this._saveLinks(),this.bind()}return a.prototype.bind=function(){for(var a in this.events){var b=this.events[a];this.element.bind(a,this[b])}},a.prototype.unbind=function(){for(var a in this.events)this.element.unbind(a,this.events[a])},a.prototype.destroy=function(){var a=this.uploader._directives[this.prop].indexOf(this);this.uploader._directives[this.prop].splice(a,1),this.unbind()},a.prototype._saveLinks=function(){for(var a in this.events){var b=this.events[a];this[b]=this[b].bind(this)}},a}();return a.prototype.events={},a}Object.defineProperty(b,"__esModule",{value:!0}),b["default"]=f;var g=c(1),h=(d(g),angular),i=h.extend},function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function h(a,b){return function(b){function c(a){e(this,c);var d=k(a,{events:{$destroy:"destroy",change:"onChange"},prop:"select"}),g=f(this,b.call(this,d));return g.uploader.isHTML5||g.element.removeAttr("multiple"),g.element.prop("value",null),g}return g(c,b),c.prototype.getOptions=function(){},c.prototype.getFilters=function(){},c.prototype.isEmptyAfterSelection=function(){return!!this.element.attr("multiple")},c.prototype.onChange=function(){var b=this.uploader.isHTML5?this.element[0].files:this.element[0],c=this.getOptions(),d=this.getFilters();this.uploader.isHTML5||this.destroy(),this.uploader.addToQueue(b,c,d),this.isEmptyAfterSelection()&&(this.element.prop("value",null),this.element.replaceWith(a(this.element.clone())(this.scope)))},c}(b)}Object.defineProperty(b,"__esModule",{value:!0}),b["default"]=h;var i=c(1),j=(d(i),angular),k=j.extend;h.$inject=["$compile","FileDirective"]},function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function h(a){return function(a){function b(c){e(this,b);var d=k(c,{events:{$destroy:"destroy",drop:"onDrop",dragover:"onDragOver",dragleave:"onDragLeave"},prop:"drop"});return f(this,a.call(this,d))}return g(b,a),b.prototype.getOptions=function(){},b.prototype.getFilters=function(){},b.prototype.onDrop=function(a){var b=this._getTransfer(a);if(b){var c=this.getOptions(),d=this.getFilters();this._preventAndStop(a),l(this.uploader._directives.over,this._removeOverClass,this),this.uploader.addToQueue(b.files,c,d)}},b.prototype.onDragOver=function(a){var b=this._getTransfer(a);this._haveFiles(b.types)&&(b.dropEffect="copy",this._preventAndStop(a),l(this.uploader._directives.over,this._addOverClass,this))},b.prototype.onDragLeave=function(a){a.currentTarget!==this.element[0]&&(this._preventAndStop(a),l(this.uploader._directives.over,this._removeOverClass,this))},b.prototype._getTransfer=function(a){return a.dataTransfer?a.dataTransfer:a.originalEvent.dataTransfer},b.prototype._preventAndStop=function(a){a.preventDefault(),a.stopPropagation()},b.prototype._haveFiles=function(a){return!!a&&(a.indexOf?-1!==a.indexOf("Files"):!!a.contains&&a.contains("Files"))},b.prototype._addOverClass=function(a){a.addOverClass()},b.prototype._removeOverClass=function(a){a.removeOverClass()},b}(a)}Object.defineProperty(b,"__esModule",{value:!0}),b["default"]=h;var i=c(1),j=(d(i),angular),k=j.extend,l=j.forEach;h.$inject=["FileDirective"]},function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function f(a,b){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!b||"object"!=typeof b&&"function"!=typeof b?a:b}function g(a,b){if("function"!=typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function, not "+typeof b);a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),b&&(Object.setPrototypeOf?Object.setPrototypeOf(a,b):a.__proto__=b)}function h(a){return function(a){function b(c){e(this,b);var d=k(c,{events:{$destroy:"destroy"},prop:"over",overClass:"nv-file-over"});return f(this,a.call(this,d))}return g(b,a),b.prototype.addOverClass=function(){this.element.addClass(this.getOverClass())},b.prototype.removeOverClass=function(){this.element.removeClass(this.getOverClass())},b.prototype.getOverClass=function(){return this.overClass},b}(a)}Object.defineProperty(b,"__esModule",{value:!0}),b["default"]=h;var i=c(1),j=(d(i),angular),k=j.extend;h.$inject=["FileDirective"]},function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}function e(a,b,c){return{link:function(d,e,f){var g=d.$eval(f.uploader);if(!(g instanceof b))throw new TypeError('"Uploader" must be an instance of FileUploader');var h=new c({uploader:g,element:e,scope:d});h.getOptions=a(f.options).bind(h,d),h.getFilters=function(){return f.filters}}}}Object.defineProperty(b,"__esModule",{value:!0}),b["default"]=e;var f=c(1);d(f),e.$inject=["$parse","FileUploader","FileSelect"]},function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}function e(a,b,c){return{link:function(d,e,f){var g=d.$eval(f.uploader);if(!(g instanceof b))throw new TypeError('"Uploader" must be an instance of FileUploader');if(g.isHTML5){var h=new c({uploader:g,element:e});h.getOptions=a(f.options).bind(h,d),h.getFilters=function(){return f.filters}}}}}Object.defineProperty(b,"__esModule",{value:!0}),b["default"]=e;var f=c(1);d(f),e.$inject=["$parse","FileUploader","FileDrop"]},function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}function e(a,b){return{link:function(c,d,e){var f=c.$eval(e.uploader);if(!(f instanceof a))throw new TypeError('"Uploader" must be an instance of FileUploader');var g=new b({uploader:f,element:d});g.getOverClass=function(){return e.overClass||g.overClass}}}}Object.defineProperty(b,"__esModule",{value:!0}),b["default"]=e;var f=c(1);d(f),e.$inject=["FileUploader","FileOver"]}])}),function(a,b){"use strict";a.module("smart-table",[]).run(["$templateCache",function(a){a.put("template/smart-table/pagination.html",'<nav ng-if="numPages && pages.length >= 2"><ul class="pagination"><li ng-repeat="page in pages" ng-class="{active: page==currentPage}"><a href="javascript: void(0);" ng-click="selectPage(page)">{{page}}</a></li></ul></nav>')}]),a.module("smart-table").constant("stConfig",{pagination:{template:"template/smart-table/pagination.html",itemsByPage:10,displayedPages:5},search:{delay:400,inputEvent:"input"},select:{mode:"single",selectedClass:"st-selected"},sort:{ascentClass:"st-sort-ascent",descentClass:"st-sort-descent",descendingFirst:!1,skipNatural:!1,delay:300},pipe:{delay:100}}),a.module("smart-table").controller("stTableController",["$scope","$parse","$filter","$attrs",function(c,d,e,f){function g(a){return a?[].concat(a):[]}function h(){r=g(j(c)),t===!0&&u.pipe()}function i(a,b){if(b.indexOf(".")!=-1){var c=b.split("."),e=c.pop(),f=c.join("."),g=d(f)(a);delete g[e],0==Object.keys(g).length&&i(a,f)}else delete a[b]}var j,k,l,m=f.stTable,n=d(m),o=n.assign,p=e("orderBy"),q=e("filter"),r=g(n(c)),s={sort:{},search:{},pagination:{start:0,totalItemCount:0}},t=!0,u=this;f.stSafeSrc&&(j=d(f.stSafeSrc),c.$watch(function(){var a=j(c);return a&&a.length?a[0]:b},function(a,b){a!==b&&h()}),c.$watch(function(){var a=j(c);return a?a.length:0},function(a,b){a!==r.length&&h()}),c.$watch(function(){return j(c)},function(a,b){a!==b&&(s.pagination.start=0,h())})),this.sortBy=function(b,c){return s.sort.predicate=b,s.sort.reverse=c===!0,a.isFunction(b)?s.sort.functionName=b.name:delete s.sort.functionName,s.pagination.start=0,this.pipe()},this.search=function(b,c){var e=s.search.predicateObject||{},f=c?c:"$";return b=a.isString(b)?b.trim():b,d(f).assign(e,b),b||i(e,f),s.search.predicateObject=e,s.pagination.start=0,this.pipe()},this.pipe=function(){var a,d=s.pagination;k=s.search.predicateObject?q(r,s.search.predicateObject):r,s.sort.predicate&&(k=p(k,s.sort.predicate,s.sort.reverse)),d.totalItemCount=k.length,d.number!==b&&(d.numberOfPages=k.length>0?Math.ceil(k.length/d.number):1,d.start=d.start>=k.length?(d.numberOfPages-1)*d.number:d.start,a=k.slice(d.start,d.start+parseInt(d.number))),o(c,a||k)},this.select=function(a,d){var e=g(n(c)),f=e.indexOf(a);f!==-1&&("single"===d?(a.isSelected=a.isSelected!==!0,l&&(l.isSelected=!1),l=a.isSelected===!0?a:b):e[f].isSelected=!e[f].isSelected)},this.slice=function(a,b){return s.pagination.start=a,s.pagination.number=b,this.pipe()},this.tableState=function(){return s},this.getFilteredCollection=function(){return k||r},this.setFilterFunction=function(a){q=e(a)},this.setSortFunction=function(a){p=e(a)},this.preventPipeOnWatch=function(){t=!1}}]).directive("stTable",function(){return{restrict:"A",controller:"stTableController",link:function(a,b,c,d){c.stSetFilter&&d.setFilterFunction(c.stSetFilter),c.stSetSort&&d.setSortFunction(c.stSetSort)}}}),a.module("smart-table").directive("stSearch",["stConfig","$timeout","$parse",function(a,b,c){return{require:"^stTable",link:function(d,e,f,g){var h=g,i=null,j=f.stDelay||a.search.delay,k=f.stInputEvent||a.search.inputEvent;f.$observe("stSearch",function(a,b){var c=e[0].value;a!==b&&c&&(g.tableState().search={},h.search(c,a))}),d.$watch(function(){return g.tableState().search},function(a,b){var d=f.stSearch||"$";a.predicateObject&&c(d)(a.predicateObject)!==e[0].value&&(e[0].value=c(d)(a.predicateObject)||"")},!0),e.bind(k,function(a){a=a.originalEvent||a,null!==i&&b.cancel(i),i=b(function(){h.search(a.target.value,f.stSearch||""),i=null},j)})}}}]),a.module("smart-table").directive("stSelectRow",["stConfig",function(a){return{restrict:"A",require:"^stTable",scope:{row:"=stSelectRow"},link:function(b,c,d,e){var f=d.stSelectMode||a.select.mode;c.bind("click",function(){b.$apply(function(){e.select(b.row,f)})}),b.$watch("row.isSelected",function(b){b===!0?c.addClass(a.select.selectedClass):c.removeClass(a.select.selectedClass)})}}}]),a.module("smart-table").directive("stSort",["stConfig","$parse","$timeout",function(c,d,e){return{restrict:"A",require:"^stTable",link:function(f,g,h,i){function j(){s?n=0===n?2:n-1:n++;var b;l=a.isFunction(m(f))||a.isArray(m(f))?m(f):h.stSort,n%3===0&&!!r!=!0?(n=0,i.tableState().sort={},i.tableState().pagination.start=0,b=i.pipe.bind(i)):b=i.sortBy.bind(i,l,n%2===0),null!==t&&e.cancel(t),u<0?b():t=e(b,u)}var k,l=h.stSort,m=d(l),n=0,o=h.stClassAscent||c.sort.ascentClass,p=h.stClassDescent||c.sort.descentClass,q=[o,p],r=h.stSkipNatural!==b?h.stSkipNatural:c.sort.skipNatural,s=h.stDescendingFirst!==b?h.stDescendingFirst:c.sort.descendingFirst,t=null,u=h.stDelay||c.sort.delay;h.stSortDefault&&(k=f.$eval(h.stSortDefault)!==b?f.$eval(h.stSortDefault):h.stSortDefault),g.bind("click",function(){l&&f.$apply(j)}),k&&(n="reverse"===k?1:0,j()),f.$watch(function(){return i.tableState().sort},function(a){a.predicate!==l?(n=0,g.removeClass(o).removeClass(p)):(n=a.reverse===!0?2:1,g.removeClass(q[n%2]).addClass(q[n-1]))},!0)}}}]),a.module("smart-table").directive("stPagination",["stConfig",function(a){return{restrict:"EA",require:"^stTable",scope:{stItemsByPage:"=?",stDisplayedPages:"=?",stPageChange:"&"},templateUrl:function(b,c){return c.stTemplate?c.stTemplate:a.pagination.template},link:function(b,c,d,e){function f(){var a,c,d=e.tableState().pagination,f=1,g=b.currentPage;for(b.totalItemCount=d.totalItemCount,b.currentPage=Math.floor(d.start/d.number)+1,f=Math.max(f,b.currentPage-Math.abs(Math.floor(b.stDisplayedPages/2))),a=f+b.stDisplayedPages,a>d.numberOfPages&&(a=d.numberOfPages+1,f=Math.max(1,a-b.stDisplayedPages)),b.pages=[],b.numPages=d.numberOfPages,c=f;c<a;c++)b.pages.push(c);g!==b.currentPage&&b.stPageChange({newPage:b.currentPage})}b.stItemsByPage=b.stItemsByPage?+b.stItemsByPage:a.pagination.itemsByPage,b.stDisplayedPages=b.stDisplayedPages?+b.stDisplayedPages:a.pagination.displayedPages,b.currentPage=1,b.pages=[],b.$watch(function(){return e.tableState().pagination},f,!0),b.$watch("stItemsByPage",function(a,c){a!==c&&b.selectPage(1)}),b.$watch("stDisplayedPages",f),b.selectPage=function(a){a>0&&a<=b.numPages&&e.slice((a-1)*b.stItemsByPage,b.stItemsByPage)},e.tableState().pagination.number||e.slice(0,b.stItemsByPage)}}}]),a.module("smart-table").directive("stPipe",["stConfig","$timeout",function(b,c){return{require:"stTable",scope:{stPipe:"="},link:{pre:function(d,e,f,g){var h=null;a.isFunction(d.stPipe)&&(g.preventPipeOnWatch(),g.pipe=function(){return null!==h&&c.cancel(h),h=c(function(){d.stPipe(g.tableState(),g)},b.pipe.delay)})},post:function(a,b,c,d){d.pipe()}}}}])}(angular),function(a){"use strict";function b(){var b=1,c=this;c.nodesFingerprint=function(a){return a.__uiNodeId||(a.__uiNodeId=b++),""+a.__uiNodeId+(a.id||"")+(a.text||"")+(a.type||"")},c.changeWatcher=function(b,c){var d,e=function(){var d,e,f=[];if(b)for(var h=a.isFunction(b)?b():b,i=0,j=h.length;i<j;i++)e=h[i],d=c(e),g[d]=e,f.push(d);return f},f=function(a,b){var c,d,e=[],f={};for(c=0,d=b.length;c<d;c++)f[b[c]]=!0;for(c=0,d=a.length;c<d;c++)f[a[c]]||e.push(a[c]);return e},g={},h=function(a,b){var e,h,i,j,k={},l=f(b,a);for(e=0,h=l.length;e<h;e++){var m=l[e];i=g[m],delete g[m];var n=c(i);n===m?d.onRemoved(i):(k[n]=m,d.onChanged(i))}var o=f(a,b);for(e=0,h=o.length;e<h;e++)j=o[e],i=g[j],k[j]||d.onAdded(i)};return d={subscribe:function(a,b){a.$watch(e,function(a,c){b&&b(a,c)===!1||h(a,c)},!0)},onAdded:a.noop,onChanged:a.noop,onRemoved:a.noop}}}function c(){return{restrict:"A",scope:{treeData:"=ngModel",treeEventsObj:"=?treeEventsObj",shouldApply:"&"},controller:"jsTreeCtrl",link:function(b,c,d,e){function f(b,c,d){if(d.treeEvents){for(var e=d.treeEvents.split(";"),f=0;f<e.length;f++)if(e[f].length>0){var g=e[f].split(":")[0],h=g+".jstree",i=e[f].split(":")[1];b.tree.on(h,b.$parent.$eval(i))}}else a.isObject(b.treeEventsObj)&&a.forEach(b.treeEventsObj,function(a,c){var d=c+".jstree";b.tree.on(d,a)})}function g(){var c=d.jsTree?b.$parent.$eval(d.jsTree):{};h={},a.copy(c,h);var e=JSON.stringify(h);return h.core?h.core.data=b.treeData:h.core={data:b.treeData},e}var h=null,i=e.changeWatcher(b.treeData,e.nodesFingerprint),j=!1;b.destroy=function(){if(d.tree)if(d.tree.indexOf(".")!==-1){for(var a=d.tree.split("."),e=a.pop(),f=b.$parent,g=0;g<a.length;g++)f=f[a[g]];b.tree=f[e]=c}else b.tree=b.$parent[d.tree]=c;else b.tree=c;b.tree.jstree("destroy")},b.init=function(){b.tree.jstree(h),f(b,c,d)},i.onChanged=function(c){a.isDefined(b.tree.jstree(!0).set_type)&&b.tree.jstree(!0).set_type(c.id,c.type),b.tree.jstree(!0).rename_node(c.id,c.text)},i.onAdded=function(a){for(;j;);j=!0;var c=b.tree.jstree(!0).get_node(a.parent),d=b.tree.jstree(!0).create_node(c,a,"inside",function(){j=!1});d||(j=!1)},i.onRemoved=function(a){b.tree.jstree(!0).delete_node(a.id)},i.subscribe(b,function(){return!b.shouldApply||b.shouldApply()}),b.$watch(g,function(){b.destroy(),b.init()})}}}var d=a.module("ngJsTree",[]);d.controller("jsTreeCtrl",b),d.directive("jsTree",c)}(angular),angular.module("ui.ace",[]).constant("uiAceConfig",{}).directive("uiAce",["uiAceConfig",function(a){if(angular.isUndefined(window.ace))throw new Error("ui-ace need ace to work... (o rly?)");var b=function(a,b,c){if(angular.isDefined(c.workerPath)){var d=window.ace.require("ace/config");d.set("workerPath",c.workerPath)}angular.isDefined(c.require)&&c.require.forEach(function(a){window.ace.require(a)}),angular.isDefined(c.showGutter)&&a.renderer.setShowGutter(c.showGutter),angular.isDefined(c.useWrapMode)&&b.setUseWrapMode(c.useWrapMode),angular.isDefined(c.showInvisibles)&&a.renderer.setShowInvisibles(c.showInvisibles),angular.isDefined(c.showIndentGuides)&&a.renderer.setDisplayIndentGuides(c.showIndentGuides),angular.isDefined(c.useSoftTabs)&&b.setUseSoftTabs(c.useSoftTabs),angular.isDefined(c.showPrintMargin)&&a.setShowPrintMargin(c.showPrintMargin),angular.isDefined(c.disableSearch)&&c.disableSearch&&a.commands.addCommands([{name:"unfind",bindKey:{win:"Ctrl-F",mac:"Command-F"},exec:function(){return!1},readOnly:!0}]),angular.isString(c.theme)&&a.setTheme("ace/theme/"+c.theme),angular.isString(c.mode)&&b.setMode("ace/mode/"+c.mode),angular.isDefined(c.firstLineNumber)&&(angular.isNumber(c.firstLineNumber)?b.setOption("firstLineNumber",c.firstLineNumber):angular.isFunction(c.firstLineNumber)&&b.setOption("firstLineNumber",c.firstLineNumber()));var e,f;if(angular.isDefined(c.advanced))for(e in c.advanced)f={name:e,value:c.advanced[e]},a.setOption(f.name,f.value);if(angular.isDefined(c.rendererOptions))for(e in c.rendererOptions)f={
+name:e,value:c.rendererOptions[e]},a.renderer.setOption(f.name,f.value);angular.forEach(c.callbacks,function(b){angular.isFunction(b)&&b(a)})};return{restrict:"EA",require:"?ngModel",link:function(c,d,e,f){var g,h,i=a.ace||{},j=angular.extend({},i,c.$eval(e.uiAce)),k=window.ace.edit(d[0]),l=k.getSession(),m=function(){var a=arguments[0],b=Array.prototype.slice.call(arguments,1);angular.isDefined(a)&&c.$evalAsync(function(){if(!angular.isFunction(a))throw new Error("ui-ace use a function as callback.");a(b)})},n={onChange:function(a){return function(b){var d=l.getValue();!f||d===f.$viewValue||c.$$phase||c.$root.$$phase||c.$evalAsync(function(){f.$setViewValue(d)}),m(a,b,k)}},onBlur:function(a){return function(){m(a,k)}}};e.$observe("readonly",function(a){k.setReadOnly(!!a||""===a)}),f&&(f.$formatters.push(function(a){if(angular.isUndefined(a)||null===a)return"";if(angular.isObject(a)||angular.isArray(a))throw new Error("ui-ace cannot use an object or an array as a model");return a}),f.$render=function(){l.setValue(f.$viewValue)});var o=function(a,d){a!==d&&(j=angular.extend({},i,c.$eval(e.uiAce)),j.callbacks=[j.onLoad],j.onLoad!==i.onLoad&&j.callbacks.unshift(i.onLoad),l.removeListener("change",g),g=n.onChange(j.onChange),l.on("change",g),k.removeListener("blur",h),h=n.onBlur(j.onBlur),k.on("blur",h),b(k,l,j))};c.$watch(e.uiAce,o,!0),o(i),d.on("$destroy",function(){k.session.$stopWorker(),k.destroy()}),c.$watch(function(){return[d[0].offsetWidth,d[0].offsetHeight]},function(){k.resize(),k.renderer.updateFull()},!0)}}}]),function(a,b,c){"use strict";b.module("ui.sortable",[]).value("uiSortableConfig",{items:"> [ng-repeat],> [data-ng-repeat],> [x-ng-repeat]"}).directive("uiSortable",["uiSortableConfig","$timeout","$log",function(a,d,e){return{require:"?ngModel",scope:{ngModel:"=",uiSortable:"="},link:function(f,g,h,i){function j(a,b){var c=a&&"function"==typeof a,d=b&&"function"==typeof b;return c&&d?function(){a.apply(this,arguments),b.apply(this,arguments)}:d?b:a}function k(a){var b=a.data("ui-sortable");return b&&"object"==typeof b&&"ui-sortable"===b.widgetFullName?b:null}function l(b,c){return B[b]?("stop"===b&&(c=j(c,function(){f.$apply()}),c=j(c,t)),c=j(B[b],c)):C[b]&&(c=C[b](c)),c||("items"===b?c=a.items:"ui-model-items"===b&&(c=a.items)),c}function m(a,d,e){function f(a,b){b in z||(z[b]=null)}b.forEach(B,f);var g=null;if(d){var h;b.forEach(d,function(d,e){if(!(a&&e in a)){if(e in A)return void("ui-floating"===e?z[e]="auto":z[e]=l(e,c));h||(h=b.element.ui.sortable().options);var f=h[e];f=l(e,f),g||(g={}),g[e]=f,z[e]=f}})}return b.forEach(a,function(a,b){return b in A?("ui-floating"!==b||a!==!1&&a!==!0||!e||(e.floating=a),void(z[b]=l(b,a))):(a=l(b,a),g||(g={}),g[b]=a,void(z[b]=a))}),g}function n(a){var c=a.sortable("option","placeholder");if(c&&c.element&&"function"==typeof c.element){var d=c.element();return d=b.element(d)}return null}function o(a,b){var c=z["ui-model-items"].replace(/[^,]*>/g,""),d=a.find('[class="'+b.attr("class")+'"]:not('+c+")");return d}function p(a,b){var c=a.sortable("option","helper");return"clone"===c||"function"==typeof c&&b.item.sortable.isCustomHelperUsed()}function q(a,b,c){var d=null;return p(a,b)&&"parent"===a.sortable("option","appendTo")&&(d=c.last()),d}function r(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))}function s(a,b){for(var c=null,d=0;d<a.length;d++){var e=a[d];if(e.element[0]===b[0]){c=e.scope;break}}return c}function t(a,b){b.item.sortable._destroy()}function u(a){return a.parent().find(z["ui-model-items"]).index(a)}function v(){f.$watchCollection("ngModel",function(){d(function(){k(g)&&g.sortable("refresh")},0,!1)}),B.start=function(a,d){if("auto"===z["ui-floating"]){var e=d.item.siblings(),f=k(b.element(a.target));f.floating=r(e)}var g=u(d.item);d.item.sortable={model:i.$modelValue[g],index:g,source:d.item.parent(),sourceModel:i.$modelValue,cancel:function(){d.item.sortable._isCanceled=!0},isCanceled:function(){return d.item.sortable._isCanceled},isCustomHelperUsed:function(){return!!d.item.sortable._isCustomHelperUsed},_isCanceled:!1,_isCustomHelperUsed:d.item.sortable._isCustomHelperUsed,_destroy:function(){b.forEach(d.item.sortable,function(a,b){d.item.sortable[b]=c})}}},B.activate=function(a,b){y=g.contents();var c=n(g);if(c&&c.length){var d=o(g,c);y=y.not(d)}var e=b.item.sortable._connectedSortables||[];e.push({element:g,scope:f}),b.item.sortable._connectedSortables=e},B.update=function(a,b){if(!b.item.sortable.received){b.item.sortable.dropindex=u(b.item);var c=b.item.parent();b.item.sortable.droptarget=c;var d=s(b.item.sortable._connectedSortables,c);b.item.sortable.droptargetModel=d.ngModel,g.sortable("cancel")}var e=!b.item.sortable.received&&q(g,b,y);e&&e.length&&(y=y.not(e)),y.appendTo(g),b.item.sortable.received&&(y=null),b.item.sortable.received&&!b.item.sortable.isCanceled()&&f.$apply(function(){i.$modelValue.splice(b.item.sortable.dropindex,0,b.item.sortable.moved)})},B.stop=function(a,c){if(!c.item.sortable.received&&"dropindex"in c.item.sortable&&!c.item.sortable.isCanceled())f.$apply(function(){i.$modelValue.splice(c.item.sortable.dropindex,0,i.$modelValue.splice(c.item.sortable.index,1)[0])});else if((!("dropindex"in c.item.sortable)||c.item.sortable.isCanceled())&&!b.equals(g.contents(),y)){var d=q(g,c,y);d&&d.length&&(y=y.not(d)),y.appendTo(g)}y=null},B.receive=function(a,b){b.item.sortable.received=!0},B.remove=function(a,b){"dropindex"in b.item.sortable||(g.sortable("cancel"),b.item.sortable.cancel()),b.item.sortable.isCanceled()||f.$apply(function(){b.item.sortable.moved=i.$modelValue.splice(b.item.sortable.index,1)[0]})},C.helper=function(a){return a&&"function"==typeof a?function(d,e){var f=e.sortable,g=u(e);e.sortable={model:i.$modelValue[g],index:g,source:e.parent(),sourceModel:i.$modelValue,_restore:function(){b.forEach(e.sortable,function(a,b){e.sortable[b]=c}),e.sortable=f}};var h=a.apply(this,arguments);return e.sortable._restore(),e.sortable._isCustomHelperUsed=e!==h,h}:a},f.$watchCollection("uiSortable",function(a,b){var c=k(g);if(c){var d=m(a,b,c);d&&g.sortable("option",d)}},!0),m(z)}function w(){i?v():e.info("ui.sortable: ngModel not provided!",g),g.sortable(z)}function x(){return(!f.uiSortable||!f.uiSortable.disabled)&&(w(),x.cancelWatcher(),x.cancelWatcher=b.noop,!0)}var y,z={},A={"ui-floating":c,"ui-model-items":a.items},B={receive:null,remove:null,start:null,stop:null,update:null},C={helper:null};return b.extend(z,A,a,f.uiSortable),b.element.fn&&b.element.fn.jquery?(x.cancelWatcher=b.noop,void(x()||(x.cancelWatcher=f.$watch("uiSortable.disabled",x)))):void e.error("ui.sortable: jQuery should be included before AngularJS!")}}}])}(window,window.angular),!function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?exports.echarts=b():a.echarts=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){a.exports=c(2),c(94),c(88),c(99),c(175),c(300),c(289),c(310),c(264),c(260),c(256),c(296),c(305),c(242),c(247),c(253),c(285),c(277),c(36),c(188),c(211),c(333),c(330),c(229),c(337),c(323),c(202),c(178),c(348),c(195),c(194),c(193),c(338),c(203),c(219)},function(a,b){function c(a){if("object"==typeof a&&null!==a){var b=a;if(a instanceof Array){b=[];for(var d=0,e=a.length;e>d;d++)b[d]=c(a[d])}else if(!y(a)&&!z(a)){b={};for(var f in a)a.hasOwnProperty(f)&&(b[f]=c(a[f]))}return b}return a}function d(a,b,e){if(!x(b)||!x(a))return e?c(b):a;for(var f in b)if(b.hasOwnProperty(f)){var g=a[f],h=b[f];!x(h)||!x(g)||u(h)||u(g)||z(h)||z(g)||y(h)||y(g)?!e&&f in a||(a[f]=c(b[f],!0)):d(g,h,e)}return a}function e(a,b){for(var c=a[0],e=1,f=a.length;f>e;e++)c=d(c,a[e],b);return c}function f(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}function g(a,b,c){for(var d in b)b.hasOwnProperty(d)&&(c?null!=b[d]:null==a[d])&&(a[d]=b[d]);return a}function h(){return document.createElement("canvas")}function i(){return D||(D=M.createCanvas().getContext("2d")),D}function j(a,b){if(a){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c}return-1}function k(a,b){function c(){}var d=a.prototype;c.prototype=b.prototype,a.prototype=new c;for(var e in d)a.prototype[e]=d[e];a.prototype.constructor=a,a.superClass=b}function l(a,b,c){a="prototype"in a?a.prototype:a,b="prototype"in b?b.prototype:b,g(a,b,c)}function m(a){return a?"string"!=typeof a&&"number"==typeof a.length:void 0}function n(a,b,c){if(a&&b)if(a.forEach&&a.forEach===H)a.forEach(b,c);else if(a.length===+a.length)for(var d=0,e=a.length;e>d;d++)b.call(c,a[d],d,a);else for(var f in a)a.hasOwnProperty(f)&&b.call(c,a[f],f,a)}function o(a,b,c){if(a&&b){if(a.map&&a.map===K)return a.map(b,c);for(var d=[],e=0,f=a.length;f>e;e++)d.push(b.call(c,a[e],e,a));return d}}function p(a,b,c,d){if(a&&b){if(a.reduce&&a.reduce===L)return a.reduce(b,c,d);for(var e=0,f=a.length;f>e;e++)c=b.call(d,c,a[e],e,a);return c}}function q(a,b,c){if(a&&b){if(a.filter&&a.filter===I)return a.filter(b,c);for(var d=[],e=0,f=a.length;f>e;e++)b.call(c,a[e],e,a)&&d.push(a[e]);return d}}function r(a,b,c){if(a&&b)for(var d=0,e=a.length;e>d;d++)if(b.call(c,a[d],d,a))return a[d]}function s(a,b){var c=J.call(arguments,2);return function(){return a.apply(b,c.concat(J.call(arguments)))}}function t(a){var b=J.call(arguments,1);return function(){return a.apply(this,b.concat(J.call(arguments)))}}function u(a){return"[object Array]"===F.call(a)}function v(a){return"function"==typeof a}function w(a){return"[object String]"===F.call(a)}function x(a){var b=typeof a;return"function"===b||!!a&&"object"==b}function y(a){return!!E[F.call(a)]}function z(a){return a&&1===a.nodeType&&"string"==typeof a.nodeName}function A(a){for(var b=0,c=arguments.length;c>b;b++)if(null!=arguments[b])return arguments[b]}function B(){return Function.call.apply(J,arguments)}function C(a,b){if(!a)throw new Error(b)}var D,E={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1},F=Object.prototype.toString,G=Array.prototype,H=G.forEach,I=G.filter,J=G.slice,K=G.map,L=G.reduce,M={inherits:k,mixin:l,clone:c,merge:d,mergeAll:e,extend:f,defaults:g,getContext:i,createCanvas:h,indexOf:j,slice:B,find:r,isArrayLike:m,each:n,map:o,reduce:p,filter:q,bind:s,curry:t,isArray:u,isString:w,isObject:x,isFunction:v,isBuildInObject:y,isDom:z,retrieve:A,assert:C,noop:function(){}};a.exports=M},function(a,b,c){function d(a){return function(b,c,d){b=b&&b.toLowerCase(),F.prototype[a].call(this,b,c,d)}}function e(){F.call(this)}function f(a,b,c){function d(a,b){return a.prio-b.prio}c=c||{},"string"==typeof b&&(b=$[b]),this.id,this.group,this._dom=a,this._zr=C.init(a,{renderer:c.renderer||"canvas",devicePixelRatio:c.devicePixelRatio}),this._theme=D.clone(b),this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._api=new u(this),this._coordSysMgr=new v,F.call(this),this._messageCenter=new e,this._initEvents(),this.resize=D.bind(this.resize,this),this._pendingActions=[],G(Z,d),G(X,d),this._zr.animation.on("frame",this._onframe,this)}function g(a,b){var c=this._model;c&&c.eachComponent({mainType:"series",query:b},function(d,e){var f=this._chartsMap[d.__viewId];f&&f.__alive&&f[a](d,c,this._api,b)},this)}function h(a,b,c){var d=this._api;H(this._componentsViews,function(e){var f=e.__model;e[a](f,b,d,c),q(f,e)},this),b.eachSeries(function(e,f){var g=this._chartsMap[e.__viewId];g[a](e,b,d,c),q(e,g),p(e,g)},this),o(this._zr,b)}function i(a,b){for(var c="component"===a,d=c?this._componentsViews:this._chartsViews,e=c?this._componentsMap:this._chartsMap,f=this._zr,g=0;g<d.length;g++)d[g].__alive=!1;b[c?"eachComponent":"eachSeries"](function(a,g){if(c){if("series"===a)return}else g=a;var h=g.id+"_"+g.type,i=e[h];if(!i){var j=x.parseClassType(g.type),k=c?z.getClass(j.main,j.sub):A.getClass(j.sub);if(!k)return;i=new k,i.init(b,this._api),e[h]=i,d.push(i),f.add(i.group)}g.__viewId=h,i.__alive=!0,i.__id=h,i.__model=g},this);for(var g=0;g<d.length;){var h=d[g];h.__alive?g++:(f.remove(h.group),h.dispose(b,this._api),d.splice(g,1),delete e[h.__id])}}function j(a,b){H(X,function(c){c.func(a,b)})}function k(a){var b={};a.eachSeries(function(a){var c=a.get("stack"),d=a.getData();if(c&&"list"===d.type){var e=b[c];e&&(d.stackedOn=e),b[c]=d}})}function l(a,b){var c=this._api;H(Z,function(d){d.isLayout&&d.func(a,c,b)})}function m(a,b){var c=this._api;a.clearColorPalette(),a.eachSeries(function(a){a.clearColorPalette()}),H(Z,function(d){d.func(a,c,b)})}function n(a,b){var c=this._api;H(this._componentsViews,function(d){var e=d.__model;d.render(e,a,c,b),q(e,d)},this),H(this._chartsViews,function(a){a.__alive=!1},this),a.eachSeries(function(d,e){var f=this._chartsMap[d.__viewId];f.__alive=!0,f.render(d,a,c,b),f.group.silent=!!d.get("silent"),q(d,f),p(d,f)},this),o(this._zr,a),H(this._chartsViews,function(b){b.__alive||b.remove(a,c)},this)}function o(a,b){var c=a.storage,d=0;c.traverse(function(a){a.isGroup||d++}),d>b.get("hoverLayerThreshold")&&!s.node&&c.traverse(function(a){a.isGroup||(a.useHoverLayer=!0)})}function p(a,b){var c=0;b.group.traverse(function(a){"group"===a.type||a.ignore||c++});var d=+a.get("progressive"),e=c>a.get("progressiveThreshold")&&d&&!s.node;e&&b.group.traverse(function(a){a.isGroup||(a.progressive=e?Math.floor(c++/d):-1,e&&a.stopAnimation(!0))});var f=a.get("blendMode")||null;b.group.traverse(function(a){a.isGroup||a.setStyle("blend",f)})}function q(a,b){var c=a.get("z"),d=a.get("zlevel");b.group.traverse(function(a){"group"!==a.type&&(null!=c&&(a.z=c),null!=d&&(a.zlevel=d))})}function r(a){function b(a,b){for(var c=0;c<a.length;c++){var d=a[c];d[f]=b}}var c=0,d=1,e=2,f="__connectUpdateStatus";D.each(W,function(g,h){a._messageCenter.on(h,function(g){if(ba[a.group]&&a[f]!==c){var h=a.makeActionFromEvent(g),i=[];for(var j in aa){var k=aa[j];k!==a&&k.group===a.group&&i.push(k)}b(i,c),H(i,function(a){a[f]!==d&&a.dispatchAction(h)}),b(i,e)}})})}var s=c(12),t=c(122),u=c(87),v=c(23),w=c(123),x=c(10),y=c(15),z=c(57),A=c(27),B=c(3),C=c(76),D=c(1),E=c(18),F=c(20),G=c(44),H=D.each,I=1e3,J=5e3,K=1e3,L=2e3,M=3e3,N=4e3,O=5e3,P="__flag_in_main_process",Q="_hasGradientOrPatternBg",R="_optionUpdated";e.prototype.on=d("on"),e.prototype.off=d("off"),e.prototype.one=d("one"),D.mixin(e,F);var S=f.prototype;S._onframe=function(){this[R]&&(this[P]=!0,T.prepareAndUpdate.call(this),this[P]=!1,this[R]=!1)},S.getDom=function(){return this._dom},S.getZr=function(){return this._zr},S.setOption=function(a,b,c){if(this[P]=!0,!this._model||b){var d=new w(this._api),e=this._theme,f=this._model=new t(null,null,e,d);f.init(null,null,e,d)}this._model.setOption(a,Y),c?this[R]=!0:(T.prepareAndUpdate.call(this),this._zr.refreshImmediately(),this[R]=!1),this[P]=!1,this._flushPendingActions()},S.setTheme=function(){console.log("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},S.getModel=function(){return this._model},S.getOption=function(){return this._model&&this._model.getOption()},S.getWidth=function(){return this._zr.getWidth()},S.getHeight=function(){return this._zr.getHeight()},S.getRenderedCanvas=function(a){if(s.canvasSupported){a=a||{},a.pixelRatio=a.pixelRatio||1,a.backgroundColor=a.backgroundColor||this._model.get("backgroundColor");var b=this._zr,c=b.storage.getDisplayList();return D.each(c,function(a){a.stopAnimation(!0)}),b.painter.getRenderedCanvas(a)}},S.getDataURL=function(a){a=a||{};var b=a.excludeComponents,c=this._model,d=[],e=this;H(b,function(a){c.eachComponent({mainType:a},function(a){var b=e._componentsMap[a.__viewId];b.group.ignore||(d.push(b),b.group.ignore=!0)})});var f=this.getRenderedCanvas(a).toDataURL("image/"+(a&&a.type||"png"));return H(d,function(a){a.group.ignore=!1}),f},S.getConnectedDataURL=function(a){if(s.canvasSupported){var b=this.group,c=Math.min,d=Math.max,e=1/0;if(ba[b]){var f=e,g=e,h=-e,i=-e,j=[],k=a&&a.pixelRatio||1;for(var l in aa){var m=aa[l];if(m.group===b){var n=m.getRenderedCanvas(D.clone(a)),o=m.getDom().getBoundingClientRect();f=c(o.left,f),g=c(o.top,g),h=d(o.right,h),i=d(o.bottom,i),j.push({dom:n,left:o.left,top:o.top})}}f*=k,g*=k,h*=k,i*=k;var p=h-f,q=i-g,r=D.createCanvas();r.width=p,r.height=q;var t=C.init(r);return H(j,function(a){var b=new B.Image({style:{x:a.left*k-f,y:a.top*k-g,image:a.dom}});t.add(b)}),t.refreshImmediately(),r.toDataURL("image/"+(a&&a.type||"png"))}return this.getDataURL(a)}};var T={update:function(a){var b=this._model,c=this._api,d=this._coordSysMgr,e=this._zr;if(b){b.restoreData(),d.create(this._model,this._api),j.call(this,b,c),k.call(this,b),d.update(b,c),m.call(this,b,a),n.call(this,b,a);var f=b.get("backgroundColor")||"transparent",g=e.painter;if(g.isSingleCanvas&&g.isSingleCanvas())e.configLayer(0,{clearColor:f});else{if(!s.canvasSupported){var h=E.parse(f);f=E.stringify(h,"rgb"),0===h[3]&&(f="transparent")}f.colorStops||f.image?(e.configLayer(0,{clearColor:f}),this[Q]=!0,this._dom.style.background="transparent"):(this[Q]&&e.configLayer(0,{clearColor:null}),this[Q]=!1,this._dom.style.background=f)}}},updateView:function(a){var b=this._model;b&&(b.eachSeries(function(a){a.getData().clearAllVisual()}),m.call(this,b,a),h.call(this,"updateView",b,a))},updateVisual:function(a){var b=this._model;b&&(b.eachSeries(function(a){a.getData().clearAllVisual()}),m.call(this,b,a),h.call(this,"updateVisual",b,a))},updateLayout:function(a){var b=this._model;b&&(l.call(this,b,a),h.call(this,"updateLayout",b,a))},highlight:function(a){g.call(this,"highlight",a)},downplay:function(a){g.call(this,"downplay",a)},prepareAndUpdate:function(a){var b=this._model;i.call(this,"component",b),i.call(this,"chart",b),T.update.call(this,a)}};S.resize=function(){this[P]=!0,this._zr.resize();var a=this._model&&this._model.resetOption("media");T[a?"prepareAndUpdate":"update"].call(this),this._loadingFX&&this._loadingFX.resize(),this[P]=!1,this._flushPendingActions()},S.showLoading=function(a,b){if(D.isObject(a)&&(b=a,a=""),a=a||"default",this.hideLoading(),_[a]){var c=_[a](this._api,b),d=this._zr;this._loadingFX=c,d.add(c)}},S.hideLoading=function(){this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},S.makeActionFromEvent=function(a){var b=D.extend({},a);return b.type=W[a.type],b},S.dispatchAction=function(a,b){var c=V[a.type];if(c){var d=c.actionInfo,e=d.update||"update";if(this[P])return void this._pendingActions.push(a);this[P]=!0;var f=[a],g=!1;a.batch&&(g=!0,f=D.map(a.batch,function(b){return b=D.defaults(D.extend({},b),a),b.batch=null,b}));for(var h,i=[],j="highlight"===a.type||"downplay"===a.type,k=0;k<f.length;k++){var l=f[k];h=c.action(l,this._model),h=h||D.extend({},l),h.type=d.event||h.type,i.push(h),j&&T[e].call(this,l)}"none"===e||j||(this[R]?(T.prepareAndUpdate.call(this,a),this[R]=!1):T[e].call(this,a)),h=g?{type:d.event||a.type,batch:i}:i[0],this[P]=!1,!b&&this._messageCenter.trigger(h.type,h),this._flushPendingActions()}},S._flushPendingActions=function(){for(var a=this._pendingActions;a.length;){var b=a.shift();this.dispatchAction(b)}},S.on=d("on"),S.off=d("off"),S.one=d("one");var U=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout"];S._initEvents=function(){H(U,function(a){this._zr.on(a,function(b){var c=this.getModel(),d=b.target;if(d&&null!=d.dataIndex){var e=d.dataModel||c.getSeriesByIndex(d.seriesIndex),f=e&&e.getDataParams(d.dataIndex,d.dataType)||{};f.event=b,f.type=a,this.trigger(a,f)}else d&&d.eventData&&this.trigger(a,d.eventData)},this)},this),H(W,function(a,b){this._messageCenter.on(b,function(a){this.trigger(b,a)},this)},this)},S.isDisposed=function(){return this._disposed},S.clear=function(){this.setOption({series:[]},!0)},S.dispose=function(){if(!this._disposed){this._disposed=!0;var a=this._api,b=this._model;H(this._componentsViews,function(c){c.dispose(b,a)}),H(this._chartsViews,function(c){c.dispose(b,a)}),this._zr.dispose(),delete aa[this.id]}},D.mixin(f,F);var V=[],W={},X=[],Y=[],Z=[],$={},_={},aa={},ba={},ca=new Date-0,da=new Date-0,ea="_echarts_instance_",fa={version:"3.2.3",dependencies:{zrender:"3.1.3"}};fa.init=function(a,b,c){var d=new f(a,b,c);return d.id="ec_"+ca++,aa[d.id]=d,a.setAttribute&&a.setAttribute(ea,d.id),r(d),d},fa.connect=function(a){if(D.isArray(a)){var b=a;a=null,D.each(b,function(b){null!=b.group&&(a=b.group)}),a=a||"g_"+da++,D.each(b,function(b){b.group=a})}return ba[a]=!0,a},fa.disConnect=function(a){ba[a]=!1},fa.dispose=function(a){D.isDom(a)?a=fa.getInstanceByDom(a):"string"==typeof a&&(a=aa[a]),a instanceof f&&!a.isDisposed()&&a.dispose()},fa.getInstanceByDom=function(a){var b=a.getAttribute(ea);return aa[b]},fa.getInstanceById=function(a){return aa[a]},fa.registerTheme=function(a,b){$[a]=b},fa.registerPreprocessor=function(a){Y.push(a)},fa.registerProcessor=function(a,b){"function"==typeof a&&(b=a,a=I),X.push({prio:a,func:b})},fa.registerAction=function(a,b,c){"function"==typeof b&&(c=b,b="");var d=D.isObject(a)?a.type:[a,a={event:b}][0];a.event=(a.event||d).toLowerCase(),b=a.event,V[d]||(V[d]={action:c,actionInfo:a}),W[b]=d},fa.registerCoordinateSystem=function(a,b){v.register(a,b)},fa.registerLayout=function(a,b){"function"==typeof a&&(b=a,a=K),Z.push({prio:a,func:b,isLayout:!0})},fa.registerVisual=function(a,b){"function"==typeof a&&(b=a,a=M),Z.push({prio:a,func:b})},fa.registerLoading=function(a,b){_[a]=b};var ga=x.parseClassType;fa.extendComponentModel=function(a,b){var c=x;if(b){var d=ga(b);c=x.getClass(d.main,d.sub,!0)}return c.extend(a)},fa.extendComponentView=function(a,b){var c=z;if(b){var d=ga(b);c=z.getClass(d.main,d.sub,!0)}return c.extend(a)},fa.extendSeriesModel=function(a,b){var c=y;if(b){b="series."+b.replace("series.","");var d=ga(b);c=y.getClass(d.main,d.sub,!0)}return c.extend(a)},fa.extendChartView=function(a,b){var c=A;if(b){b.replace("series.","");var d=ga(b);c=A.getClass(d.main,!0)}return c.extend(a)},fa.setCanvasCreator=function(a){D.createCanvas=a},fa.registerVisual(L,c(136)),fa.registerPreprocessor(c(130)),fa.registerLoading("default",c(121)),fa.registerAction({type:"highlight",event:"highlight",update:"highlight"},D.noop),fa.registerAction({type:"downplay",event:"downplay",update:"downplay"},D.noop),fa.List=c(14),fa.Model=c(9),fa.graphic=c(3),fa.number=c(4),fa.format=c(8),fa.matrix=c(19),fa.vector=c(5),fa.color=c(18),fa.util={},H(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults"],function(a){fa.util[a]=D[a]}),fa.PRIORITY={PROCESSOR:{FILTER:I,STATISTIC:J},VISUAL:{LAYOUT:K,GLOBAL:L,CHART:M,COMPONENT:N,BRUSH:O}},a.exports=fa},function(a,b,c){"use strict";function d(a){return null!=a&&"none"!=a}function e(a){return"string"==typeof a?u.lift(a,-.1):a}function f(a){if(a.__hoverStlDirty){var b=a.style.stroke,c=a.style.fill,f=a.__hoverStl;f.fill=f.fill||(d(c)?e(c):null),f.stroke=f.stroke||(d(b)?e(b):null);var g={};for(var h in f)f.hasOwnProperty(h)&&(g[h]=a.style[h]);a.__normalStl=g,a.__hoverStlDirty=!1}}function g(a){a.__isHover||(f(a),a.useHoverLayer?a.__zr&&a.__zr.addHover(a,a.__hoverStl):(a.setStyle(a.__hoverStl),a.z2+=1),a.__isHover=!0)}function h(a){if(a.__isHover){var b=a.__normalStl;a.useHoverLayer?a.__zr&&a.__zr.removeHover(a):(b&&a.setStyle(b),a.z2-=1),a.__isHover=!1}}function i(a){"group"===a.type?a.traverse(function(a){"group"!==a.type&&g(a)}):g(a)}function j(a){"group"===a.type?a.traverse(function(a){"group"!==a.type&&h(a)}):h(a)}function k(a,b){a.__hoverStl=a.hoverStyle||b||{},a.__hoverStlDirty=!0,a.__isHover&&f(a)}function l(){!this.__isEmphasis&&i(this)}function m(){!this.__isEmphasis&&j(this)}function n(){this.__isEmphasis=!0,i(this)}function o(){this.__isEmphasis=!1,j(this)}function p(a,b,c,d,e,f){"function"==typeof e&&(f=e,e=null);var g=d&&(d.ifEnableAnimation?d.ifEnableAnimation():d.getShallow("animation"));if(g){var h=a?"Update":"",i=d&&d.getShallow("animationDuration"+h),j=d&&d.getShallow("animationEasing"+h),k=d&&d.getShallow("animationDelay"+h);"function"==typeof k&&(k=k(e)),i>0?b.animateTo(c,i,k||0,j,f):(b.attr(c),f&&f())}else b.attr(c),f&&f()}var q=c(1),r=c(166),s=Math.round,t=c(6),u=c(18),v=c(19),w=c(5),x=(c(29),{});x.Group=c(34),x.Image=c(48),x.Text=c(74),x.Circle=c(157),x.Sector=c(163),x.Ring=c(162),x.Polygon=c(159),x.Polyline=c(160),x.Rect=c(161),x.Line=c(158),x.BezierCurve=c(156),x.Arc=c(155),x.CompoundPath=c(150),x.LinearGradient=c(85),x.RadialGradient=c(151),x.BoundingRect=c(7),x.extendShape=function(a){return t.extend(a)},x.extendPath=function(a,b){return r.extendFromString(a,b)},x.makePath=function(a,b,c,d){var e=r.createFromString(a,b),f=e.getBoundingRect();if(c){var g=f.width/f.height;if("center"===d){var h,i=c.height*g;i<=c.width?h=c.height:(i=c.width,h=i/g);var j=c.x+c.width/2,k=c.y+c.height/2;c.x=j-i/2,c.y=k-h/2,c.width=i,c.height=h}this.resizePath(e,c)}return e},x.mergePath=r.mergePath,x.resizePath=function(a,b){if(a.applyTransform){var c=a.getBoundingRect(),d=c.calculateTransform(b);a.applyTransform(d)}},x.subPixelOptimizeLine=function(a){var b=x.subPixelOptimize,c=a.shape,d=a.style.lineWidth;return s(2*c.x1)===s(2*c.x2)&&(c.x1=c.x2=b(c.x1,d,!0)),s(2*c.y1)===s(2*c.y2)&&(c.y1=c.y2=b(c.y1,d,!0)),a},x.subPixelOptimizeRect=function(a){var b=x.subPixelOptimize,c=a.shape,d=a.style.lineWidth,e=c.x,f=c.y,g=c.width,h=c.height;return c.x=b(c.x,d,!0),c.y=b(c.y,d,!0),c.width=Math.max(b(e+g,d,!1)-c.x,0===g?0:1),c.height=Math.max(b(f+h,d,!1)-c.y,0===h?0:1),a},x.subPixelOptimize=function(a,b,c){var d=s(2*a);return(d+s(b))%2===0?d/2:(d+(c?1:-1))/2},x.setHoverStyle=function(a,b){"group"===a.type?a.traverse(function(a){"group"!==a.type&&k(a,b)}):k(a,b),a.on("mouseover",l).on("mouseout",m),a.on("emphasis",n).on("normal",o)},x.setText=function(a,b,c){var d=b.getShallow("position")||"inside",e=d.indexOf("inside")>=0?"white":c,f=b.getModel("textStyle");q.extend(a,{textDistance:b.getShallow("distance")||5,textFont:f.getFont(),textPosition:d,textFill:f.getTextColor()||e})},x.updateProps=function(a,b,c,d,e){p(!0,a,b,c,d,e)},x.initProps=function(a,b,c,d,e){p(!1,a,b,c,d,e)},x.getTransform=function(a,b){for(var c=v.identity([]);a&&a!==b;)v.mul(c,a.getLocalTransform(),c),a=a.parent;return c},x.applyTransform=function(a,b,c){return c&&(b=v.invert([],b)),w.applyTransform([],a,b)},x.transformDirection=function(a,b,c){var d=0===b[4]||0===b[5]||0===b[0]?1:Math.abs(2*b[4]/b[0]),e=0===b[4]||0===b[5]||0===b[2]?1:Math.abs(2*b[4]/b[2]),f=["left"===a?-d:"right"===a?d:0,"top"===a?-e:"bottom"===a?e:0];return f=x.applyTransform(f,b,c),Math.abs(f[0])>Math.abs(f[1])?f[0]>0?"right":"left":f[1]>0?"bottom":"top"},x.groupTransition=function(a,b,c,d){function e(a){var b={};return a.traverse(function(a){!a.isGroup&&a.anid&&(b[a.anid]=a)}),b}function f(a){var b={position:w.clone(a.position),rotation:a.rotation};return a.shape&&(b.shape=q.extend({},a.shape)),b}if(a&&b){var g=e(a);b.traverse(function(a){if(!a.isGroup&&a.anid){var b=g[a.anid];if(b){var d=f(a);a.attr(f(b)),x.updateProps(a,d,c,a.dataIndex)}}})}},a.exports=x},function(a,b){function c(a){return a.replace(/^\s+/,"").replace(/\s+$/,"")}var d={},e=1e-4;d.linearMap=function(a,b,c,d){var e=b[1]-b[0],f=c[1]-c[0];if(0===e)return 0===f?c[0]:(c[0]+c[1])/2;if(d)if(e>0){if(a<=b[0])return c[0];if(a>=b[1])return c[1]}else{if(a>=b[0])return c[0];if(a<=b[1])return c[1]}else{if(a===b[0])return c[0];if(a===b[1])return c[1]}return(a-b[0])/e*f+c[0]},d.parsePercent=function(a,b){switch(a){case"center":case"middle":a="50%";break;case"left":case"top":a="0%";break;case"right":case"bottom":a="100%"}return"string"==typeof a?c(a).match(/%$/)?parseFloat(a)/100*b:parseFloat(a):null==a?NaN:+a},d.round=function(a,b){return null==b&&(b=10),+(+a).toFixed(b)},d.asc=function(a){return a.sort(function(a,b){return a-b}),a},d.getPrecision=function(a){if(a=+a,isNaN(a))return 0;for(var b=1,c=0;Math.round(a*b)/b!==a;)b*=10,c++;return c},d.getPrecisionSafe=function(a){var b=a.toString(),c=b.indexOf(".");return 0>c?0:b.length-1-c},d.getPixelPrecision=function(a,b){var c=Math.log,d=Math.LN10,e=Math.floor(c(a[1]-a[0])/d),f=Math.round(c(Math.abs(b[1]-b[0]))/d);return Math.max(-e+f,0)},d.MAX_SAFE_INTEGER=9007199254740991,d.remRadian=function(a){var b=2*Math.PI;return(a%b+b)%b},d.isRadianAroundZero=function(a){return a>-e&&e>a},d.parseDate=function(a){if(a instanceof Date)return a;if("string"==typeof a){var b=new Date(a);return isNaN(+b)&&(b=new Date(new Date(a.replace(/-/g,"/"))-new Date("1970/01/01"))),b}return new Date(Math.round(a))},d.quantity=function(a){return Math.pow(10,Math.floor(Math.log(a)/Math.LN10))},d.nice=function(a,b){var c,e=d.quantity(a),f=a/e;return c=b?1.5>f?1:2.5>f?2:4>f?3:7>f?5:10:1>f?1:2>f?2:3>f?3:5>f?5:10,c*e},a.exports=d},function(a,b){var c="undefined"==typeof Float32Array?Array:Float32Array,d={create:function(a,b){var d=new c(2);return null==a&&(a=0),null==b&&(b=0),d[0]=a,d[1]=b,d},copy:function(a,b){return a[0]=b[0],a[1]=b[1],a},clone:function(a){var b=new c(2);return b[0]=a[0],b[1]=a[1],b},set:function(a,b,c){return a[0]=b,a[1]=c,a},add:function(a,b,c){return a[0]=b[0]+c[0],a[1]=b[1]+c[1],a},scaleAndAdd:function(a,b,c,d){return a[0]=b[0]+c[0]*d,a[1]=b[1]+c[1]*d,a},sub:function(a,b,c){return a[0]=b[0]-c[0],a[1]=b[1]-c[1],a},len:function(a){return Math.sqrt(this.lenSquare(a))},lenSquare:function(a){return a[0]*a[0]+a[1]*a[1]},mul:function(a,b,c){return a[0]=b[0]*c[0],a[1]=b[1]*c[1],a},div:function(a,b,c){return a[0]=b[0]/c[0],a[1]=b[1]/c[1],a},dot:function(a,b){return a[0]*b[0]+a[1]*b[1]},scale:function(a,b,c){return a[0]=b[0]*c,a[1]=b[1]*c,a},normalize:function(a,b){var c=d.len(b);return 0===c?(a[0]=0,a[1]=0):(a[0]=b[0]/c,a[1]=b[1]/c),a},distance:function(a,b){return Math.sqrt((a[0]-b[0])*(a[0]-b[0])+(a[1]-b[1])*(a[1]-b[1]))},distanceSquare:function(a,b){return(a[0]-b[0])*(a[0]-b[0])+(a[1]-b[1])*(a[1]-b[1])},negate:function(a,b){return a[0]=-b[0],a[1]=-b[1],a},lerp:function(a,b,c,d){return a[0]=b[0]+d*(c[0]-b[0]),a[1]=b[1]+d*(c[1]-b[1]),a},applyTransform:function(a,b,c){var d=b[0],e=b[1];return a[0]=c[0]*d+c[2]*e+c[4],a[1]=c[1]*d+c[3]*e+c[5],a},min:function(a,b,c){return a[0]=Math.min(b[0],c[0]),a[1]=Math.min(b[1],c[1]),a},max:function(a,b,c){return a[0]=Math.max(b[0],c[0]),a[1]=Math.max(b[1],c[1]),a}};d.length=d.len,d.lengthSquare=d.lenSquare,d.dist=d.distance,d.distSquare=d.distanceSquare,a.exports=d},function(a,b,c){function d(a){e.call(this,a),this.path=new g}var e=c(37),f=c(1),g=c(28),h=c(146),i=c(63),j=i.prototype.getCanvasPattern,k=Math.abs;d.prototype={constructor:d,type:"path",__dirtyPath:!0,strokeContainThreshold:5,brush:function(a,b){var c=this.style,d=this.path,e=c.hasStroke(),f=c.hasFill(),g=c.fill,h=c.stroke,i=f&&!!g.colorStops,k=e&&!!h.colorStops,l=f&&!!g.image,m=e&&!!h.image;if(c.bind(a,this,b),this.setTransform(a),this.__dirty){var n=this.getBoundingRect();i&&(this._fillGradient=c.getGradient(a,g,n)),k&&(this._strokeGradient=c.getGradient(a,h,n))}i?a.fillStyle=this._fillGradient:l&&(a.fillStyle=j.call(g,a)),k?a.strokeStyle=this._strokeGradient:m&&(a.strokeStyle=j.call(h,a));var o=c.lineDash,p=c.lineDashOffset,q=!!a.setLineDash,r=this.getGlobalScale();d.setScale(r[0],r[1]),this.__dirtyPath||o&&!q&&e?(d=this.path.beginPath(a),o&&!q&&(d.setLineDash(o),d.setLineDashOffset(p)),this.buildPath(d,this.shape,!1),this.__dirtyPath=!1):(a.beginPath(),this.path.rebuildPath(a)),f&&d.fill(a),o&&q&&(a.setLineDash(o),a.lineDashOffset=p),e&&d.stroke(a),o&&q&&a.setLineDash([]),this.restoreTransform(a),(c.text||0===c.text)&&this.drawRectText(a,this.getBoundingRect())},buildPath:function(a,b,c){},getBoundingRect:function(){var a=this._rect,b=this.style,c=!a;if(c){var d=this.path;this.__dirtyPath&&(d.beginPath(),this.buildPath(d,this.shape,!1)),a=d.getBoundingRect()}if(this._rect=a,b.hasStroke()){var e=this._rectWithStroke||(this._rectWithStroke=a.clone());if(this.__dirty||c){e.copy(a);var f=b.lineWidth,g=b.strokeNoScale?this.getLineScale():1;
+b.hasFill()||(f=Math.max(f,this.strokeContainThreshold||4)),g>1e-10&&(e.width+=f/g,e.height+=f/g,e.x-=f/g/2,e.y-=f/g/2)}return e}return a},contain:function(a,b){var c=this.transformCoordToLocal(a,b),d=this.getBoundingRect(),e=this.style;if(a=c[0],b=c[1],d.contain(a,b)){var f=this.path.data;if(e.hasStroke()){var g=e.lineWidth,i=e.strokeNoScale?this.getLineScale():1;if(i>1e-10&&(e.hasFill()||(g=Math.max(g,this.strokeContainThreshold)),h.containStroke(f,g/i,a,b)))return!0}if(e.hasFill())return h.contain(f,a,b)}return!1},dirty:function(a){null==a&&(a=!0),a&&(this.__dirtyPath=a,this._rect=null),this.__dirty=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(a){return this.animate("shape",a)},attrKV:function(a,b){"shape"===a?(this.setShape(b),this.__dirtyPath=!0,this._rect=null):e.prototype.attrKV.call(this,a,b)},setShape:function(a,b){var c=this.shape;if(c){if(f.isObject(a))for(var d in a)c[d]=a[d];else c[a]=b;this.dirty(!0)}return this},getLineScale:function(){var a=this.transform;return a&&k(a[0]-1)>1e-10&&k(a[3]-1)>1e-10?Math.sqrt(k(a[0]*a[3]-a[2]*a[1])):1}},d.extend=function(a){var b=function(b){d.call(this,b),a.style&&this.style.extendFrom(a.style,!1);var c=a.shape;if(c){this.shape=this.shape||{};var e=this.shape;for(var f in c)!e.hasOwnProperty(f)&&c.hasOwnProperty(f)&&(e[f]=c[f])}a.init&&a.init.call(this,b)};f.inherits(b,d);for(var c in a)"style"!==c&&"shape"!==c&&(b.prototype[c]=a[c]);return b},f.inherits(d,e),a.exports=d},function(a,b,c){"use strict";function d(a,b,c,d){this.x=a,this.y=b,this.width=c,this.height=d}var e=c(5),f=c(19),g=e.applyTransform,h=Math.min,i=Math.abs,j=Math.max;d.prototype={constructor:d,union:function(a){var b=h(a.x,this.x),c=h(a.y,this.y);this.width=j(a.x+a.width,this.x+this.width)-b,this.height=j(a.y+a.height,this.y+this.height)-c,this.x=b,this.y=c},applyTransform:function(){var a=[],b=[];return function(c){c&&(a[0]=this.x,a[1]=this.y,b[0]=this.x+this.width,b[1]=this.y+this.height,g(a,a,c),g(b,b,c),this.x=h(a[0],b[0]),this.y=h(a[1],b[1]),this.width=i(b[0]-a[0]),this.height=i(b[1]-a[1]))}}(),calculateTransform:function(a){var b=this,c=a.width/b.width,d=a.height/b.height,e=f.create();return f.translate(e,e,[-b.x,-b.y]),f.scale(e,e,[c,d]),f.translate(e,e,[a.x,a.y]),e},intersect:function(a){var b=this,c=b.x,d=b.x+b.width,e=b.y,f=b.y+b.height,g=a.x,h=a.x+a.width,i=a.y,j=a.y+a.height;return!(g>d||c>h||i>f||e>j)},contain:function(a,b){var c=this;return a>=c.x&&a<=c.x+c.width&&b>=c.y&&b<=c.y+c.height},clone:function(){return new d(this.x,this.y,this.width,this.height)},copy:function(a){this.x=a.x,this.y=a.y,this.width=a.width,this.height=a.height}},a.exports=d},function(a,b,c){var d=c(1),e=c(4),f=c(16),g={};g.addCommas=function(a){return isNaN(a)?"-":(a=(a+"").split("."),a[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(a.length>1?"."+a[1]:""))},g.toCamelCase=function(a){return a.toLowerCase().replace(/-(.)/g,function(a,b){return b.toUpperCase()})},g.normalizeCssArray=function(a){var b=a.length;return"number"==typeof a?[a,a,a,a]:2===b?[a[0],a[1],a[0],a[1]]:3===b?[a[0],a[1],a[2],a[1]]:a},g.encodeHTML=function(a){return String(a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")};var h=["a","b","c","d","e","f","g"],i=function(a,b){return"{"+a+(null==b?"":b)+"}"};g.formatTpl=function(a,b){d.isArray(b)||(b=[b]);var c=b.length;if(!c)return"";for(var e=b[0].$vars||[],f=0;f<e.length;f++){var g=h[f];a=a.replace(i(g),i(g,0))}for(var j=0;c>j;j++)for(var k=0;k<e.length;k++)a=a.replace(i(h[k],j),b[j][e[k]]);return a};var j=function(a){return 10>a?"0"+a:a};g.formatTime=function(a,b){"week"!==a&&"month"!==a&&"quarter"!==a&&"half-year"!==a&&"year"!==a||(a="MM-dd\nyyyy");var c=e.parseDate(b),d=c.getFullYear(),f=c.getMonth()+1,g=c.getDate(),h=c.getHours(),i=c.getMinutes(),k=c.getSeconds();return a=a.replace("MM",j(f)).toLowerCase().replace("yyyy",d).replace("yy",d%100).replace("dd",j(g)).replace("d",g).replace("hh",j(h)).replace("h",h).replace("mm",j(i)).replace("m",i).replace("ss",j(k)).replace("s",k)},g.capitalFirst=function(a){return a?a.charAt(0).toUpperCase()+a.substr(1):a},g.truncateText=f.truncateText,a.exports=g},function(a,b,c){function d(a,b,c){this.parentModel=b,this.ecModel=c,this.option=a}var e=c(1),f=c(21);d.prototype={constructor:d,init:null,mergeOption:function(a){e.merge(this.option,a,!0)},get:function(a,b){if(!a)return this.option;"string"==typeof a&&(a=a.split("."));for(var c=this.option,d=this.parentModel,e=0;e<a.length&&(!a[e]||(c=c&&"object"==typeof c?c[a[e]]:null,null!=c));e++);return null==c&&d&&!b&&(c=d.get(a)),c},getShallow:function(a,b){var c=this.option,d=null==c?c:c[a],e=this.parentModel;return null==d&&e&&!b&&(d=e.getShallow(a)),d},getModel:function(a,b){var c=this.get(a,!0),e=this.parentModel,f=new d(c,b||e&&e.getModel(a),this.ecModel);return f},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){var a=this.constructor;return new a(e.clone(this.option))},setReadOnly:function(a){f.setReadOnly(this,a)}},f.enableClassExtend(d);var g=e.mixin;g(d,c(128)),g(d,c(125)),g(d,c(129)),g(d,c(127)),a.exports=d},function(a,b,c){function d(a){var b=[];return f.each(k.getClassesByMainType(a),function(a){g.apply(b,a.prototype.dependencies||[])}),f.map(b,function(a){return i.parseClassType(a).main})}var e=c(9),f=c(1),g=Array.prototype.push,h=c(43),i=c(21),j=c(13),k=e.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(a,b,c,d){e.call(this,a,b,c,d),f.extend(this,d),this.uid=h.getUID("componentModel")},init:function(a,b,c,d){this.mergeDefaultAndTheme(a,c)},mergeDefaultAndTheme:function(a,b){var c=this.layoutMode,d=c?j.getLayoutParams(a):{},e=b.getTheme();f.merge(a,e.get(this.mainType)),f.merge(a,this.getDefaultOption()),c&&j.mergeLayoutParam(a,d,c)},mergeOption:function(a){f.merge(this.option,a,!0);var b=this.layoutMode;b&&j.mergeLayoutParam(this.option,a,b)},optionUpdated:function(a,b){},getDefaultOption:function(){if(!this.hasOwnProperty("__defaultOption")){for(var a=[],b=this.constructor;b;){var c=b.prototype.defaultOption;c&&a.push(c),b=b.superClass}for(var d={},e=a.length-1;e>=0;e--)d=f.merge(d,a[e],!0);this.__defaultOption=d}return this.__defaultOption}});i.enableClassManagement(k,{registerWhenExtend:!0}),h.enableSubTypeDefaulter(k),h.enableTopologicalTravel(k,d),f.mixin(k,c(126)),a.exports=k},function(a,b,c){var d=c(8),e=c(4),f=c(9),g=c(1),h={};h.normalizeToArray=function(a){return a instanceof Array?a:null==a?[]:[a]},h.defaultEmphasis=function(a,b){if(a){var c=a.emphasis=a.emphasis||{},d=a.normal=a.normal||{};g.each(b,function(a){var b=g.retrieve(c[a],d[a]);null!=b&&(c[a]=b)})}},h.LABEL_OPTIONS=["position","show","textStyle","distance","formatter"],h.getDataItemValue=function(a){return a&&(null==a.value?a:a.value)},h.isDataItemOption=function(a){return g.isObject(a)&&!(a instanceof Array)},h.converDataValue=function(a,b){var c=b&&b.type;return"ordinal"===c?a:("time"!==c||isFinite(a)||null==a||"-"===a||(a=+e.parseDate(a)),null==a||""===a?NaN:+a)},h.createDataFormatModel=function(a,b){var c=new f;return g.mixin(c,h.dataFormatMixin),c.seriesIndex=b.seriesIndex,c.name=b.name||"",c.mainType=b.mainType,c.subType=b.subType,c.getData=function(){return a},c},h.dataFormatMixin={getDataParams:function(a,b){var c=this.getData(b),d=this.seriesIndex,e=this.name,f=this.getRawValue(a,b),g=c.getRawIndex(a),h=c.getName(a,!0),i=c.getRawDataItem(a);return{componentType:this.mainType,componentSubType:this.subType,seriesType:"series"===this.mainType?this.subType:null,seriesIndex:d,seriesName:e,name:h,dataIndex:g,data:i,dataType:b,value:f,color:c.getItemVisual(a,"color"),$vars:["seriesName","name","value"]}},getFormattedLabel:function(a,b,c,e){b=b||"normal";var f=this.getData(c),g=f.getItemModel(a),h=this.getDataParams(a,c);null!=e&&h.value instanceof Array&&(h.value=h.value[e]);var i=g.get(["label",b,"formatter"]);return"function"==typeof i?(h.status=b,i(h)):"string"==typeof i?d.formatTpl(i,h):void 0},getRawValue:function(a,b){var c=this.getData(b),d=c.getRawDataItem(a);return null!=d?!g.isObject(d)||d instanceof Array?d:d.value:void 0},formatTooltip:g.noop},h.mappingToExists=function(a,b){b=(b||[]).slice();var c=g.map(a||[],function(a,b){return{exist:a}});return g.each(b,function(a,d){if(g.isObject(a)){for(var e=0;e<c.length;e++)if(!c[e].option&&null!=a.id&&c[e].exist.id===a.id+"")return c[e].option=a,void(b[d]=null);for(var e=0;e<c.length;e++){var f=c[e].exist;if(!(c[e].option||null!=f.id&&null!=a.id||null==a.name||h.isIdInner(a)||h.isIdInner(f)||f.name!==a.name+""))return c[e].option=a,void(b[d]=null)}}}),g.each(b,function(a,b){if(g.isObject(a)){for(var d=0;d<c.length;d++){var e=c[d].exist;if(!c[d].option&&!h.isIdInner(e)&&null==a.id){c[d].option=a;break}}d>=c.length&&c.push({option:a})}}),c},h.isIdInner=function(a){return g.isObject(a)&&a.id&&0===(a.id+"").indexOf("\0_ec_\0")},h.compressBatches=function(a,b){function c(a,b,c){for(var d=0,e=a.length;e>d;d++)for(var f=a[d].seriesId,g=h.normalizeToArray(a[d].dataIndex),i=c&&c[f],j=0,k=g.length;k>j;j++){var l=g[j];i&&i[l]?i[l]=null:(b[f]||(b[f]={}))[l]=1}}function d(a,b){var c=[];for(var e in a)if(a.hasOwnProperty(e)&&null!=a[e])if(b)c.push(+e);else{var f=d(a[e],!0);f.length&&c.push({seriesId:e,dataIndex:f})}return c}var e={},f={};return c(a||[],e),c(b||[],f,e),[d(e),d(f)]},a.exports=h},function(a,b){function c(a){var b={},c={},d=a.match(/Firefox\/([\d.]+)/),e=a.match(/MSIE\s([\d.]+)/)||a.match(/Trident\/.+?rv:(([\d.]+))/),f=a.match(/Edge\/([\d.]+)/);return d&&(c.firefox=!0,c.version=d[1]),e&&(c.ie=!0,c.version=e[1]),e&&(c.ie=!0,c.version=e[1]),f&&(c.edge=!0,c.version=f[1]),{browser:c,os:b,node:!1,canvasSupported:!!document.createElement("canvas").getContext,touchEventsSupported:"ontouchstart"in window&&!c.ie&&!c.edge,pointerEventsSupported:"onpointerdown"in window&&(c.edge||c.ie&&c.version>=10)}}var d={};d="undefined"==typeof navigator?{browser:{},os:{},node:!0,canvasSupported:!0}:c(navigator.userAgent),a.exports=d},function(a,b,c){"use strict";function d(a,b,c,d,e){var f=0,g=0;null==d&&(d=1/0),null==e&&(e=1/0);var h=0;b.eachChild(function(i,j){var k,l,m=i.position,n=i.getBoundingRect(),o=b.childAt(j+1),p=o&&o.getBoundingRect();if("horizontal"===a){var q=n.width+(p?-p.x+n.x:0);k=f+q,k>d||i.newline?(f=0,k=q,g+=h+c,h=n.height):h=Math.max(h,n.height)}else{var r=n.height+(p?-p.y+n.y:0);l=g+r,l>e||i.newline?(f+=h+c,g=0,l=r,h=n.width):h=Math.max(h,n.width)}i.newline||(m[0]=f,m[1]=g,"horizontal"===a?f=k+c:g=l+c)})}var e=c(1),f=c(7),g=c(4),h=c(8),i=g.parsePercent,j=e.each,k={},l=["left","right","top","bottom","width","height"];k.box=d,k.vbox=e.curry(d,"vertical"),k.hbox=e.curry(d,"horizontal"),k.getAvailableSize=function(a,b,c){var d=b.width,e=b.height,f=i(a.x,d),g=i(a.y,e),j=i(a.x2,d),k=i(a.y2,e);return(isNaN(f)||isNaN(parseFloat(a.x)))&&(f=0),(isNaN(j)||isNaN(parseFloat(a.x2)))&&(j=d),(isNaN(g)||isNaN(parseFloat(a.y)))&&(g=0),(isNaN(k)||isNaN(parseFloat(a.y2)))&&(k=e),c=h.normalizeCssArray(c||0),{width:Math.max(j-f-c[1]-c[3],0),height:Math.max(k-g-c[0]-c[2],0)}},k.getLayoutRect=function(a,b,c){c=h.normalizeCssArray(c||0);var d=b.width,e=b.height,g=i(a.left,d),j=i(a.top,e),k=i(a.right,d),l=i(a.bottom,e),m=i(a.width,d),n=i(a.height,e),o=c[2]+c[0],p=c[1]+c[3],q=a.aspect;switch(isNaN(m)&&(m=d-k-p-g),isNaN(n)&&(n=e-l-o-j),isNaN(m)&&isNaN(n)&&(q>d/e?m=.8*d:n=.8*e),null!=q&&(isNaN(m)&&(m=q*n),isNaN(n)&&(n=m/q)),isNaN(g)&&(g=d-k-m-p),isNaN(j)&&(j=e-l-n-o),a.left||a.right){case"center":g=d/2-m/2-c[3];break;case"right":g=d-m-p}switch(a.top||a.bottom){case"middle":case"center":j=e/2-n/2-c[0];break;case"bottom":j=e-n-o}g=g||0,j=j||0,isNaN(m)&&(m=d-g-(k||0)),isNaN(n)&&(n=e-j-(l||0));var r=new f(g+c[3],j+c[0],m,n);return r.margin=c,r},k.positionGroup=function(a,b,c,d){var f=a.getBoundingRect();b=e.extend(e.clone(b),{width:f.width,height:f.height}),b=k.getLayoutRect(b,c,d),a.attr("position",[b.x-f.x,b.y-f.y])},k.mergeLayoutParam=function(a,b,c){function d(d){var e={},h=0,i={},k=0,l=c.ignoreSize?1:2;if(j(d,function(b){i[b]=a[b]}),j(d,function(a){f(b,a)&&(e[a]=i[a]=b[a]),g(e,a)&&h++,g(i,a)&&k++}),k!==l&&h){if(h>=l)return e;for(var m=0;m<d.length;m++){var n=d[m];if(!f(e,n)&&f(a,n)){e[n]=a[n];break}}return e}return i}function f(a,b){return a.hasOwnProperty(b)}function g(a,b){return null!=a[b]&&"auto"!==a[b]}function h(a,b,c){j(a,function(a){b[a]=c[a]})}!e.isObject(c)&&(c={});var i=["width","left","right"],k=["height","top","bottom"],l=d(i),m=d(k);h(i,a,l),h(k,a,m)},k.getLayoutParams=function(a){return k.copyLayoutParams({},a)},k.copyLayoutParams=function(a,b){return b&&a&&j(l,function(c){b.hasOwnProperty(c)&&(a[c]=b[c])}),a},a.exports=k},function(a,b,c){(function(b){function d(a){return m.isArray(a)||(a=[a]),a}function e(a,b){var c=a.dimensions,d=new r(m.map(c,a.getDimensionInfo,a),a.hostModel);q(d,a);for(var e=d._storage={},f=a._storage,g=0;g<c.length;g++){var h=c[g],i=f[h];m.indexOf(b,h)>=0?e[h]=new i.constructor(f[h].length):e[h]=f[h]}return d}var f="undefined",g="undefined"==typeof window?b:window,h=typeof g.Float64Array===f?Array:g.Float64Array,i=typeof g.Int32Array===f?Array:g.Int32Array,j={"float":h,"int":i,ordinal:Array,number:Array,time:Array},k=c(9),l=c(45),m=c(1),n=c(11),o=m.isObject,p=["stackedOn","hasItemOption","_nameList","_idList","_rawData"],q=function(a,b){m.each(p.concat(b.__wrappedMethods||[]),function(c){b.hasOwnProperty(c)&&(a[c]=b[c])}),a.__wrappedMethods=b.__wrappedMethods},r=function(a,b){a=a||["x","y"];for(var c={},d=[],e=0;e<a.length;e++){var f,g={};"string"==typeof a[e]?(f=a[e],g={name:f,stackable:!1,type:"number"}):(g=a[e],f=g.name,g.type=g.type||"number"),d.push(f),c[f]=g}this.dimensions=d,this._dimensionInfos=c,this.hostModel=b,this.dataType,this.indices=[],this._storage={},this._nameList=[],this._idList=[],this._optionModels=[],this.stackedOn=null,this._visual={},this._layout={},this._itemVisuals=[],this._itemLayouts=[],this._graphicEls=[],this._rawData,this._extent},s=r.prototype;s.type="list",s.hasItemOption=!0,s.getDimension=function(a){return isNaN(a)||(a=this.dimensions[a]||a),a},s.getDimensionInfo=function(a){return m.clone(this._dimensionInfos[this.getDimension(a)])},s.initData=function(a,b,c){a=a||[],this._rawData=a;var d=this._storage={},e=this.indices=[],f=this.dimensions,g=a.length,h=this._dimensionInfos,i=[],k={};b=b||[];for(var l=0;l<f.length;l++){var m=h[f[l]],o=j[m.type];d[f[l]]=new o(g)}var p=this;c||(p.hasItemOption=!1),c=c||function(a,b,c,d){var e=n.getDataItemValue(a);return n.isDataItemOption(a)&&(p.hasItemOption=!0),n.converDataValue(e instanceof Array?e[d]:e,h[b])};for(var q=0;q<a.length;q++){for(var r=a[q],s=0;s<f.length;s++){var t=f[s],u=d[t];u[q]=c(r,t,q,s)}e.push(q)}for(var l=0;l<a.length;l++){b[l]||a[l]&&null!=a[l].name&&(b[l]=a[l].name);var v=b[l]||"",w=a[l]&&a[l].id;!w&&v&&(k[v]=k[v]||0,w=v,k[v]>0&&(w+="__ec__"+k[v]),k[v]++),w&&(i[l]=w)}this._nameList=b,this._idList=i},s.count=function(){return this.indices.length},s.get=function(a,b,c){var d=this._storage,e=this.indices[b];if(null==e)return NaN;var f=d[a]&&d[a][e];if(c){var g=this._dimensionInfos[a];if(g&&g.stackable)for(var h=this.stackedOn;h;){var i=h.get(a,b);(f>=0&&i>0||0>=f&&0>i)&&(f+=i),h=h.stackedOn}}return f},s.getValues=function(a,b,c){var d=[];m.isArray(a)||(c=b,b=a,a=this.dimensions);for(var e=0,f=a.length;f>e;e++)d.push(this.get(a[e],b,c));return d},s.hasValue=function(a){for(var b=this.dimensions,c=this._dimensionInfos,d=0,e=b.length;e>d;d++)if("ordinal"!==c[b[d]].type&&isNaN(this.get(b[d],a)))return!1;return!0},s.getDataExtent=function(a,b){a=this.getDimension(a);var c=this._storage[a],d=this.getDimensionInfo(a);b=d&&d.stackable&&b;var e,f=(this._extent||(this._extent={}))[a+!!b];if(f)return f;if(c){for(var g=1/0,h=-(1/0),i=0,j=this.count();j>i;i++)e=this.get(a,i,b),g>e&&(g=e),e>h&&(h=e);return this._extent[a+!!b]=[g,h]}return[1/0,-(1/0)]},s.getSum=function(a,b){var c=this._storage[a],d=0;if(c)for(var e=0,f=this.count();f>e;e++){var g=this.get(a,e,b);isNaN(g)||(d+=g)}return d},s.indexOf=function(a,b){var c=this._storage,d=c[a],e=this.indices;if(d)for(var f=0,g=e.length;g>f;f++){var h=e[f];if(d[h]===b)return f}return-1},s.indexOfName=function(a){for(var b=this.indices,c=this._nameList,d=0,e=b.length;e>d;d++){var f=b[d];if(c[f]===a)return d}return-1},s.indexOfRawIndex=function(a){for(var b=this.indices,c=0,d=b.length-1;d>=c;){var e=(c+d)/2|0;if(b[e]<a)c=e+1;else{if(!(b[e]>a))return e;d=e-1}}return-1},s.indexOfNearest=function(a,b,c,d){var e=this._storage,f=e[a];null==d&&(d=1/0);var g=-1;if(f)for(var h=Number.MAX_VALUE,i=0,j=this.count();j>i;i++){var k=b-this.get(a,i,c),l=Math.abs(k);d>=k&&(h>l||l===h&&k>0)&&(h=l,g=i)}return g},s.getRawIndex=function(a){var b=this.indices[a];return null==b?-1:b},s.getRawDataItem=function(a){return this._rawData[this.getRawIndex(a)]},s.getName=function(a){return this._nameList[this.indices[a]]||""},s.getId=function(a){return this._idList[this.indices[a]]||this.getRawIndex(a)+""},s.each=function(a,b,c,e){"function"==typeof a&&(e=c,c=b,b=a,a=[]),a=m.map(d(a),this.getDimension,this);var f=[],g=a.length,h=this.indices;e=e||this;for(var i=0;i<h.length;i++)switch(g){case 0:b.call(e,i);break;case 1:b.call(e,this.get(a[0],i,c),i);break;case 2:b.call(e,this.get(a[0],i,c),this.get(a[1],i,c),i);break;default:for(var j=0;g>j;j++)f[j]=this.get(a[j],i,c);f[j]=i,b.apply(e,f)}},s.filterSelf=function(a,b,c,e){"function"==typeof a&&(e=c,c=b,b=a,a=[]),a=m.map(d(a),this.getDimension,this);var f=[],g=[],h=a.length,i=this.indices;e=e||this;for(var j=0;j<i.length;j++){var k;if(1===h)k=b.call(e,this.get(a[0],j,c),j);else{for(var l=0;h>l;l++)g[l]=this.get(a[l],j,c);g[l]=j,k=b.apply(e,g)}k&&f.push(i[j])}return this.indices=f,this._extent={},this},s.mapArray=function(a,b,c,d){"function"==typeof a&&(d=c,c=b,b=a,a=[]);var e=[];return this.each(a,function(){e.push(b&&b.apply(this,arguments))},c,d),e},s.map=function(a,b,c,f){a=m.map(d(a),this.getDimension,this);var g=e(this,a),h=g.indices=this.indices,i=g._storage,j=[];return this.each(a,function(){var c=arguments[arguments.length-1],d=b&&b.apply(this,arguments);if(null!=d){"number"==typeof d&&(j[0]=d,d=j);for(var e=0;e<d.length;e++){var f=a[e],g=i[f],k=h[c];g&&(g[k]=d[e])}}},c,f),g},s.downSample=function(a,b,c,d){for(var f=e(this,[a]),g=this._storage,h=f._storage,i=this.indices,j=f.indices=[],k=[],l=[],m=Math.floor(1/b),n=h[a],o=this.count(),p=0;p<g[a].length;p++)h[a][p]=g[a][p];for(var p=0;o>p;p+=m){m>o-p&&(m=o-p,k.length=m);for(var q=0;m>q;q++){var r=i[p+q];k[q]=n[r],l[q]=r}var s=c(k),r=l[d(k,s)||0];n[r]=s,j.push(r)}return f},s.getItemModel=function(a){var b=this.hostModel;return a=this.indices[a],new k(this._rawData[a],b,b&&b.ecModel)},s.diff=function(a){var b=this._idList,c=a&&a._idList;return new l(a?a.indices:[],this.indices,function(a){return c[a]||a+""},function(a){return b[a]||a+""})},s.getVisual=function(a){var b=this._visual;return b&&b[a]},s.setVisual=function(a,b){if(o(a))for(var c in a)a.hasOwnProperty(c)&&this.setVisual(c,a[c]);else this._visual=this._visual||{},this._visual[a]=b},s.setLayout=function(a,b){if(o(a))for(var c in a)a.hasOwnProperty(c)&&this.setLayout(c,a[c]);else this._layout[a]=b},s.getLayout=function(a){return this._layout[a]},s.getItemLayout=function(a){return this._itemLayouts[a]},s.setItemLayout=function(a,b,c){this._itemLayouts[a]=c?m.extend(this._itemLayouts[a]||{},b):b},s.clearItemLayouts=function(){this._itemLayouts.length=0},s.getItemVisual=function(a,b,c){var d=this._itemVisuals[a],e=d&&d[b];return null!=e||c?e:this.getVisual(b)},s.setItemVisual=function(a,b,c){var d=this._itemVisuals[a]||{};if(this._itemVisuals[a]=d,o(b))for(var e in b)b.hasOwnProperty(e)&&(d[e]=b[e]);else d[b]=c},s.clearAllVisual=function(){this._visual={},this._itemVisuals=[]};var t=function(a){a.seriesIndex=this.seriesIndex,a.dataIndex=this.dataIndex,a.dataType=this.dataType};s.setItemGraphicEl=function(a,b){var c=this.hostModel;b&&(b.dataIndex=a,b.dataType=this.dataType,b.seriesIndex=c&&c.seriesIndex,"group"===b.type&&b.traverse(t,b)),this._graphicEls[a]=b},s.getItemGraphicEl=function(a){return this._graphicEls[a]},s.eachItemGraphicEl=function(a,b){m.each(this._graphicEls,function(c,d){c&&a&&a.call(b,c,d)})},s.cloneShallow=function(){var a=m.map(this.dimensions,this.getDimensionInfo,this),b=new r(a,this.hostModel);return b._storage=this._storage,q(b,this),b.indices=this.indices.slice(),this._extent&&(b._extent=m.extend({},this._extent)),b},s.wrapMethod=function(a,b){var c=this[a];"function"==typeof c&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(a),this[a]=function(){var a=c.apply(this,arguments);return b.apply(this,[a].concat(m.slice(arguments)))})},s.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],s.CHANGABLE_METHODS=["filterSelf"],a.exports=r}).call(b,function(){return this}())},function(a,b,c){"use strict";var d=c(1),e=c(8),f=c(11),g=c(10),h=c(56),i=c(12),j=e.encodeHTML,k=e.addCommas,l=g.extend({type:"series.__base__",seriesIndex:0,coordinateSystem:null,defaultOption:null,legendDataProvider:null,visualColorAccessPath:"itemStyle.normal.color",init:function(a,b,c,d){this.seriesIndex=this.componentIndex,this.mergeDefaultAndTheme(a,c),this._dataBeforeProcessed=this.getInitialData(a,c),this._data=this._dataBeforeProcessed.cloneShallow()},mergeDefaultAndTheme:function(a,b){d.merge(a,b.getTheme().get(this.subType)),d.merge(a,this.getDefaultOption()),f.defaultEmphasis(a.label,f.LABEL_OPTIONS),this.fillDataTextStyle(a.data)},mergeOption:function(a,b){a=d.merge(this.option,a,!0),this.fillDataTextStyle(a.data);var c=this.getInitialData(a,b);c&&(this._data=c,this._dataBeforeProcessed=c.cloneShallow())},fillDataTextStyle:function(a){if(a)for(var b=0;b<a.length;b++)a[b]&&a[b].label&&f.defaultEmphasis(a[b].label,f.LABEL_OPTIONS)},getInitialData:function(){},getData:function(a){return null==a?this._data:this._data.getLinkedData(a)},setData:function(a){this._data=a},getRawData:function(){return this._dataBeforeProcessed},coordDimToDataDim:function(a){return[a]},dataDimToCoordDim:function(a){return a},getBaseAxis:function(){var a=this.coordinateSystem;return a&&a.getBaseAxis&&a.getBaseAxis()},formatTooltip:function(a,b,c){function f(a){return d.map(a,function(a,c){var d=g.getDimensionInfo(c),f=d&&d.type;return"ordinal"===f?a:"time"===f?b?"":e.formatTime("yyyy/mm/dd hh:mm:ss",a):k(a)}).filter(function(a){return!!a}).join(", ")}var g=this._data,h=this.getRawValue(a),i=d.isArray(h)?f(h):k(h),l=g.getName(a),m=g.getItemVisual(a,"color"),n='<span style="display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:'+m+'"></span>',o=this.name;return"\0-"===o&&(o=""),b?n+j(this.name)+" : "+i:(o&&j(o)+"<br />")+n+(l?j(l)+" : "+i:i)},ifEnableAnimation:function(){if(i.node)return!1;var a=this.getShallow("animation");return a&&this.getData().count()>this.getShallow("animationThreshold")&&(a=!1),a},restoreData:function(){this._data=this._dataBeforeProcessed.cloneShallow()},getColorFromPalette:function(a,b){var c=this.ecModel,d=h.getColorFromPalette.call(this,a,b);return d||(d=c.getColorFromPalette(a,b)),d},getAxisTooltipDataIndex:null});d.mixin(l,f.dataFormatMixin),d.mixin(l,h),a.exports=l},function(a,b,c){function d(a,b){var c=a+":"+b;if(i[c])return i[c];for(var d=(a+"").split("\n"),e=0,f=0,g=d.length;g>f;f++)e=Math.max(o.measureText(d[f],b).width,e);return j>k&&(j=0,i={}),j++,i[c]=e,e}function e(a,b,c,e){var f=((a||"")+"").split("\n").length,g=d(a,b),h=d("国",b),i=f*h,j=new m(0,0,g,i);switch(j.lineHeight=h,e){case"bottom":case"alphabetic":j.y-=h;break;case"middle":j.y-=h/2}switch(c){case"end":case"right":j.x-=j.width;break;case"center":j.x-=j.width/2}return j}function f(a,b,c,d){var e=b.x,f=b.y,g=b.height,h=b.width,i=c.height,j=g/2-i/2,k="left";switch(a){case"left":e-=d,f+=j,k="right";break;case"right":e+=d+h,f+=j,k="left";break;case"top":e+=h/2,f-=d+i,k="center";break;case"bottom":e+=h/2,f+=g+d,k="center";break;case"inside":e+=h/2,f+=j,k="center";break;case"insideLeft":e+=d,f+=j,k="left";break;case"insideRight":e+=h-d,f+=j,k="right";break;case"insideTop":e+=h/2,f+=d,k="center";break;case"insideBottom":e+=h/2,f+=g-i-d,k="center";break;case"insideTopLeft":e+=d,f+=d,k="left";break;case"insideTopRight":e+=h-d,f+=d,k="right";break;case"insideBottomLeft":e+=d,f+=g-i-d;break;case"insideBottomRight":e+=h-d,f+=g-i-d,k="right"}return{x:e,y:f,textAlign:k,textBaseline:"top"}}function g(a,b,c,e,f){if(!b)return"";f=f||{},e=n(e,"...");for(var g=n(f.maxIterations,2),i=n(f.minChar,0),j=d("国",c),k=d("a",c),l=n(f.placeholder,""),m=b=Math.max(0,b-1),o=0;i>o&&m>=k;o++)m-=k;var p=d(e);p>m&&(e="",p=0),m=b-p;for(var q=(a+"").split("\n"),o=0,r=q.length;r>o;o++){var s=q[o],t=d(s,c);if(!(b>=t)){for(var u=0;;u++){if(m>=t||u>=g){s+=e;break}var v=0===u?h(s,m,k,j):t>0?Math.floor(s.length*m/t):0;s=s.substr(0,v),t=d(s,c)}""===s&&(s=l),q[o]=s}}return q.join("\n")}function h(a,b,c,d){for(var e=0,f=0,g=a.length;g>f&&b>e;f++){var h=a.charCodeAt(f);e+=h>=0&&127>=h?c:d}return f}var i={},j=0,k=5e3,l=c(1),m=c(7),n=l.retrieve,o={getWidth:d,getBoundingRect:e,adjustTextPositionOnRect:f,truncateText:g,measureText:function(a,b){var c=l.getContext();return c.font=b||"12px sans-serif",c.measureText(a)}};a.exports=o},function(a,b,c){"use strict";function d(a){return a>-w&&w>a}function e(a){return a>w||-w>a}function f(a,b,c,d,e){var f=1-e;return f*f*(f*a+3*e*b)+e*e*(e*d+3*f*c)}function g(a,b,c,d,e){var f=1-e;return 3*(((b-a)*f+2*(c-b)*e)*f+(d-c)*e*e)}function h(a,b,c,e,f,g){var h=e+3*(b-c)-a,i=3*(c-2*b+a),j=3*(b-a),k=a-f,l=i*i-3*h*j,m=i*j-9*h*k,n=j*j-3*i*k,o=0;if(d(l)&&d(m))if(d(i))g[0]=0;else{var p=-j/i;p>=0&&1>=p&&(g[o++]=p)}else{var q=m*m-4*l*n;if(d(q)){var r=m/l,p=-i/h+r,s=-r/2;p>=0&&1>=p&&(g[o++]=p),s>=0&&1>=s&&(g[o++]=s)}else if(q>0){var t=v(q),w=l*i+1.5*h*(-m+t),x=l*i+1.5*h*(-m-t);w=0>w?-u(-w,z):u(w,z),x=0>x?-u(-x,z):u(x,z);var p=(-i-(w+x))/(3*h);p>=0&&1>=p&&(g[o++]=p)}else{var A=(2*l*i-3*h*m)/(2*v(l*l*l)),B=Math.acos(A)/3,C=v(l),D=Math.cos(B),p=(-i-2*C*D)/(3*h),s=(-i+C*(D+y*Math.sin(B)))/(3*h),E=(-i+C*(D-y*Math.sin(B)))/(3*h);p>=0&&1>=p&&(g[o++]=p),s>=0&&1>=s&&(g[o++]=s),E>=0&&1>=E&&(g[o++]=E)}}return o}function i(a,b,c,f,g){var h=6*c-12*b+6*a,i=9*b+3*f-3*a-9*c,j=3*b-3*a,k=0;if(d(i)){if(e(h)){var l=-j/h;l>=0&&1>=l&&(g[k++]=l)}}else{var m=h*h-4*i*j;if(d(m))g[0]=-h/(2*i);else if(m>0){var n=v(m),l=(-h+n)/(2*i),o=(-h-n)/(2*i);l>=0&&1>=l&&(g[k++]=l),o>=0&&1>=o&&(g[k++]=o)}}return k}function j(a,b,c,d,e,f){var g=(b-a)*e+a,h=(c-b)*e+b,i=(d-c)*e+c,j=(h-g)*e+g,k=(i-h)*e+h,l=(k-j)*e+j;f[0]=a,f[1]=g,f[2]=j,f[3]=l,f[4]=l,f[5]=k,f[6]=i,f[7]=d}function k(a,b,c,d,e,g,h,i,j,k,l){var m,n,o,p,q,r=.005,s=1/0;A[0]=j,A[1]=k;for(var u=0;1>u;u+=.05)B[0]=f(a,c,e,h,u),B[1]=f(b,d,g,i,u),p=t(A,B),s>p&&(m=u,s=p);s=1/0;for(var w=0;32>w&&!(x>r);w++)n=m-r,o=m+r,B[0]=f(a,c,e,h,n),B[1]=f(b,d,g,i,n),p=t(B,A),n>=0&&s>p?(m=n,s=p):(C[0]=f(a,c,e,h,o),C[1]=f(b,d,g,i,o),q=t(C,A),1>=o&&s>q?(m=o,s=q):r*=.5);return l&&(l[0]=f(a,c,e,h,m),l[1]=f(b,d,g,i,m)),v(s)}function l(a,b,c,d){var e=1-d;return e*(e*a+2*d*b)+d*d*c}function m(a,b,c,d){return 2*((1-d)*(b-a)+d*(c-b))}function n(a,b,c,f,g){var h=a-2*b+c,i=2*(b-a),j=a-f,k=0;if(d(h)){if(e(i)){var l=-j/i;l>=0&&1>=l&&(g[k++]=l)}}else{var m=i*i-4*h*j;if(d(m)){var l=-i/(2*h);l>=0&&1>=l&&(g[k++]=l)}else if(m>0){var n=v(m),l=(-i+n)/(2*h),o=(-i-n)/(2*h);l>=0&&1>=l&&(g[k++]=l),o>=0&&1>=o&&(g[k++]=o)}}return k}function o(a,b,c){var d=a+c-2*b;return 0===d?.5:(a-b)/d}function p(a,b,c,d,e){var f=(b-a)*d+a,g=(c-b)*d+b,h=(g-f)*d+f;e[0]=a,e[1]=f,e[2]=h,e[3]=h,e[4]=g,e[5]=c}function q(a,b,c,d,e,f,g,h,i){var j,k=.005,m=1/0;A[0]=g,A[1]=h;for(var n=0;1>n;n+=.05){B[0]=l(a,c,e,n),B[1]=l(b,d,f,n);var o=t(A,B);m>o&&(j=n,m=o)}m=1/0;for(var p=0;32>p&&!(x>k);p++){var q=j-k,r=j+k;B[0]=l(a,c,e,q),B[1]=l(b,d,f,q);var o=t(B,A);if(q>=0&&m>o)j=q,m=o;else{C[0]=l(a,c,e,r),C[1]=l(b,d,f,r);var s=t(C,A);1>=r&&m>s?(j=r,m=s):k*=.5}}return i&&(i[0]=l(a,c,e,j),i[1]=l(b,d,f,j)),v(m)}var r=c(5),s=r.create,t=r.distSquare,u=Math.pow,v=Math.sqrt,w=1e-8,x=1e-4,y=v(3),z=1/3,A=s(),B=s(),C=s();a.exports={cubicAt:f,cubicDerivativeAt:g,cubicRootAt:h,cubicExtrema:i,cubicSubdivide:j,cubicProjectPoint:k,quadraticAt:l,quadraticDerivativeAt:m,quadraticRootAt:n,quadraticExtremum:o,quadraticSubdivide:p,quadraticProjectPoint:q}},function(a,b){function c(a){return a=Math.round(a),0>a?0:a>255?255:a}function d(a){return a=Math.round(a),0>a?0:a>360?360:a}function e(a){return 0>a?0:a>1?1:a}function f(a){return c(a.length&&"%"===a.charAt(a.length-1)?parseFloat(a)/100*255:parseInt(a,10))}function g(a){return e(a.length&&"%"===a.charAt(a.length-1)?parseFloat(a)/100:parseFloat(a))}function h(a,b,c){return 0>c?c+=1:c>1&&(c-=1),1>6*c?a+(b-a)*c*6:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a}function i(a,b,c){return a+(b-a)*c}function j(a){if(a){a+="";var b=a.replace(/ /g,"").toLowerCase();if(b in t)return t[b].slice();if("#"!==b.charAt(0)){var c=b.indexOf("("),d=b.indexOf(")");if(-1!==c&&d+1===b.length){var e=b.substr(0,c),h=b.substr(c+1,d-(c+1)).split(","),i=1;switch(e){case"rgba":if(4!==h.length)return;i=g(h.pop());case"rgb":if(3!==h.length)return;return[f(h[0]),f(h[1]),f(h[2]),i];case"hsla":if(4!==h.length)return;return h[3]=g(h[3]),k(h);case"hsl":if(3!==h.length)return;return k(h);default:return}}}else{if(4===b.length){var j=parseInt(b.substr(1),16);if(!(j>=0&&4095>=j))return;return[(3840&j)>>4|(3840&j)>>8,240&j|(240&j)>>4,15&j|(15&j)<<4,1]}if(7===b.length){var j=parseInt(b.substr(1),16);if(!(j>=0&&16777215>=j))return;return[(16711680&j)>>16,(65280&j)>>8,255&j,1]}}}}function k(a){var b=(parseFloat(a[0])%360+360)%360/360,d=g(a[1]),e=g(a[2]),f=.5>=e?e*(d+1):e+d-e*d,i=2*e-f,j=[c(255*h(i,f,b+1/3)),c(255*h(i,f,b)),c(255*h(i,f,b-1/3))];return 4===a.length&&(j[3]=a[3]),j}function l(a){if(a){var b,c,d=a[0]/255,e=a[1]/255,f=a[2]/255,g=Math.min(d,e,f),h=Math.max(d,e,f),i=h-g,j=(h+g)/2;if(0===i)b=0,c=0;else{c=.5>j?i/(h+g):i/(2-h-g);var k=((h-d)/6+i/2)/i,l=((h-e)/6+i/2)/i,m=((h-f)/6+i/2)/i;d===h?b=m-l:e===h?b=1/3+k-m:f===h&&(b=2/3+l-k),0>b&&(b+=1),b>1&&(b-=1)}var n=[360*b,c,j];return null!=a[3]&&n.push(a[3]),n}}function m(a,b){var c=j(a);if(c){for(var d=0;3>d;d++)0>b?c[d]=c[d]*(1-b)|0:c[d]=(255-c[d])*b+c[d]|0;return s(c,4===c.length?"rgba":"rgb")}}function n(a,b){var c=j(a);return c?((1<<24)+(c[0]<<16)+(c[1]<<8)+ +c[2]).toString(16).slice(1):void 0}function o(a,b,d){if(b&&b.length&&a>=0&&1>=a){d=d||[0,0,0,0];var e=a*(b.length-1),f=Math.floor(e),g=Math.ceil(e),h=b[f],j=b[g],k=e-f;return d[0]=c(i(h[0],j[0],k)),d[1]=c(i(h[1],j[1],k)),d[2]=c(i(h[2],j[2],k)),d[3]=c(i(h[3],j[3],k)),d}}function p(a,b,d){if(b&&b.length&&a>=0&&1>=a){var f=a*(b.length-1),g=Math.floor(f),h=Math.ceil(f),k=j(b[g]),l=j(b[h]),m=f-g,n=s([c(i(k[0],l[0],m)),c(i(k[1],l[1],m)),c(i(k[2],l[2],m)),e(i(k[3],l[3],m))],"rgba");return d?{color:n,leftIndex:g,rightIndex:h,value:f}:n}}function q(a,b,c,e){return a=j(a),a?(a=l(a),null!=b&&(a[0]=d(b)),null!=c&&(a[1]=g(c)),null!=e&&(a[2]=g(e)),s(k(a),"rgba")):void 0}function r(a,b){return a=j(a),a&&null!=b?(a[3]=e(b),s(a,"rgba")):void 0}function s(a,b){var c=a[0]+","+a[1]+","+a[2];return"rgba"!==b&&"hsva"!==b&&"hsla"!==b||(c+=","+a[3]),b+"("+c+")"}var t={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],
+darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};a.exports={parse:j,lift:m,toHex:n,fastMapToColor:o,mapToColor:p,modifyHSL:q,modifyAlpha:r,stringify:s}},function(a,b){var c="undefined"==typeof Float32Array?Array:Float32Array,d={create:function(){var a=new c(6);return d.identity(a),a},identity:function(a){return a[0]=1,a[1]=0,a[2]=0,a[3]=1,a[4]=0,a[5]=0,a},copy:function(a,b){return a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3],a[4]=b[4],a[5]=b[5],a},mul:function(a,b,c){var d=b[0]*c[0]+b[2]*c[1],e=b[1]*c[0]+b[3]*c[1],f=b[0]*c[2]+b[2]*c[3],g=b[1]*c[2]+b[3]*c[3],h=b[0]*c[4]+b[2]*c[5]+b[4],i=b[1]*c[4]+b[3]*c[5]+b[5];return a[0]=d,a[1]=e,a[2]=f,a[3]=g,a[4]=h,a[5]=i,a},translate:function(a,b,c){return a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3],a[4]=b[4]+c[0],a[5]=b[5]+c[1],a},rotate:function(a,b,c){var d=b[0],e=b[2],f=b[4],g=b[1],h=b[3],i=b[5],j=Math.sin(c),k=Math.cos(c);return a[0]=d*k+g*j,a[1]=-d*j+g*k,a[2]=e*k+h*j,a[3]=-e*j+k*h,a[4]=k*f+j*i,a[5]=k*i-j*f,a},scale:function(a,b,c){var d=c[0],e=c[1];return a[0]=b[0]*d,a[1]=b[1]*e,a[2]=b[2]*d,a[3]=b[3]*e,a[4]=b[4]*d,a[5]=b[5]*e,a},invert:function(a,b){var c=b[0],d=b[2],e=b[4],f=b[1],g=b[3],h=b[5],i=c*g-f*d;return i?(i=1/i,a[0]=g*i,a[1]=-f*i,a[2]=-d*i,a[3]=c*i,a[4]=(d*h-g*e)*i,a[5]=(f*e-c*h)*i,a):null}};a.exports=d},function(a,b){var c=Array.prototype.slice,d=function(){this._$handlers={}};d.prototype={constructor:d,one:function(a,b,c){var d=this._$handlers;if(!b||!a)return this;d[a]||(d[a]=[]);for(var e=0;e<d[a].length;e++)if(d[a][e].h===b)return this;return d[a].push({h:b,one:!0,ctx:c||this}),this},on:function(a,b,c){var d=this._$handlers;if(!b||!a)return this;d[a]||(d[a]=[]);for(var e=0;e<d[a].length;e++)if(d[a][e].h===b)return this;return d[a].push({h:b,one:!1,ctx:c||this}),this},isSilent:function(a){var b=this._$handlers;return b[a]&&b[a].length},off:function(a,b){var c=this._$handlers;if(!a)return this._$handlers={},this;if(b){if(c[a]){for(var d=[],e=0,f=c[a].length;f>e;e++)c[a][e].h!=b&&d.push(c[a][e]);c[a]=d}c[a]&&0===c[a].length&&delete c[a]}else delete c[a];return this},trigger:function(a){if(this._$handlers[a]){var b=arguments,d=b.length;d>3&&(b=c.call(b,1));for(var e=this._$handlers[a],f=e.length,g=0;f>g;){switch(d){case 1:e[g].h.call(e[g].ctx);break;case 2:e[g].h.call(e[g].ctx,b[1]);break;case 3:e[g].h.call(e[g].ctx,b[1],b[2]);break;default:e[g].h.apply(e[g].ctx,b)}e[g].one?(e.splice(g,1),f--):g++}}return this},triggerWithContext:function(a){if(this._$handlers[a]){var b=arguments,d=b.length;d>4&&(b=c.call(b,1,b.length-1));for(var e=b[b.length-1],f=this._$handlers[a],g=f.length,h=0;g>h;){switch(d){case 1:f[h].h.call(e);break;case 2:f[h].h.call(e,b[1]);break;case 3:f[h].h.call(e,b[1],b[2]);break;default:f[h].h.apply(e,b)}f[h].one?(f.splice(h,1),g--):h++}}return this}},a.exports=d},function(a,b,c){function d(a,b){var c=f.slice(arguments,2);return this.superClass.prototype[b].apply(a,c)}function e(a,b,c){return this.superClass.prototype[b].apply(a,c)}var f=c(1),g={},h=".",i="___EC__COMPONENT__CONTAINER___",j=g.parseClassType=function(a){var b={main:"",sub:""};return a&&(a=a.split(h),b.main=a[0]||"",b.sub=a[1]||""),b};g.enableClassExtend=function(a){a.$constructor=a,a.extend=function(a){var b=this,c=function(){a.$constructor?a.$constructor.apply(this,arguments):b.apply(this,arguments)};return f.extend(c.prototype,a),c.extend=this.extend,c.superCall=d,c.superApply=e,f.inherits(c,this),c.superClass=b,c}},g.enableClassManagement=function(a,b){function c(a){var b=d[a.main];return b&&b[i]||(b=d[a.main]={},b[i]=!0),b}b=b||{};var d={};if(a.registerClass=function(a,b){if(b)if(b=j(b),b.sub){if(b.sub!==i){var e=c(b);e[b.sub]=a}}else d[b.main]=a;return a},a.getClass=function(a,b,c){var e=d[a];if(e&&e[i]&&(e=b?e[b]:null),c&&!e)throw new Error("Component "+a+"."+(b||"")+" not exists. Load it first.");return e},a.getClassesByMainType=function(a){a=j(a);var b=[],c=d[a.main];return c&&c[i]?f.each(c,function(a,c){c!==i&&b.push(a)}):b.push(c),b},a.hasClass=function(a){return a=j(a),!!d[a.main]},a.getAllClassMainTypes=function(){var a=[];return f.each(d,function(b,c){a.push(c)}),a},a.hasSubTypes=function(a){a=j(a);var b=d[a.main];return b&&b[i]},a.parseClassType=j,b.registerWhenExtend){var e=a.extend;e&&(a.extend=function(b){var c=e.call(this,b);return a.registerClass(c,b.type)})}return a},g.setReadOnly=function(a,b){},a.exports=g},function(a,b,c){var d=c(134),e=c(38);c(135),c(133);var f=c(32),g=c(4),h=c(1),i=c(16),j={};j.getScaleExtent=function(a,b){var c=a.scale,d=c.getExtent(),e=d[1]-d[0];if("ordinal"===c.type)return isFinite(e)?d:[0,0];var f=b.getMin?b.getMin():b.get("min"),i=b.getMax?b.getMax():b.get("max"),j=b.getNeedCrossZero?b.getNeedCrossZero():!b.get("scale"),k=b.get("boundaryGap");h.isArray(k)||(k=[k||0,k||0]),k[0]=g.parsePercent(k[0],1),k[1]=g.parsePercent(k[1],1);var l=!0,m=!0;return null==f&&(f=d[0]-k[0]*e,l=!1),null==i&&(i=d[1]+k[1]*e,m=!1),"dataMin"===f&&(f=d[0]),"dataMax"===i&&(i=d[1]),j&&(f>0&&i>0&&!l&&(f=0),0>f&&0>i&&!m&&(i=0)),[f,i]},j.niceScaleExtent=function(a,b){var c=a.scale,d=j.getScaleExtent(a,b),e=null!=(b.getMin?b.getMin():b.get("min")),f=null!=(b.getMax?b.getMax():b.get("max")),g=b.get("splitNumber");"log"===c.type&&(c.base=b.get("logBase")),c.setExtent(d[0],d[1]),c.niceExtent(g,e,f);var h=b.get("minInterval");if(isFinite(h)&&!e&&!f&&"interval"===c.type){var i=c.getInterval(),k=Math.max(Math.abs(i),h)/i;d=c.getExtent(),c.setExtent(k*d[0],d[1]*k),c.niceExtent(g)}var i=b.get("interval");null!=i&&c.setInterval&&c.setInterval(i)},j.createScaleByModel=function(a,b){if(b=b||a.get("type"))switch(b){case"category":return new d(a.getCategories(),[1/0,-(1/0)]);case"value":return new e;default:return(f.getClass(b)||e).create(a)}},j.ifAxisCrossZero=function(a){var b=a.scale.getExtent(),c=b[0],d=b[1];return!(c>0&&d>0||0>c&&0>d)},j.getAxisLabelInterval=function(a,b,c,d){var e,f=0,g=0,h=1;b.length>40&&(h=Math.floor(b.length/40));for(var j=0;j<a.length;j+=h){var k=a[j],l=i.getBoundingRect(b[j],c,"center","top");l[d?"x":"y"]+=k,l[d?"width":"height"]*=1.3,e?e.intersect(l)?(g++,f=Math.max(f,g)):(e.union(l),g=0):e=l.clone()}return 0===f&&h>1?h:(f+1)*h-1},j.getFormattedLabels=function(a,b){var c=a.scale,d=c.getTicksLabels(),e=c.getTicks();return"string"==typeof b?(b=function(a){return function(b){return a.replace("{value}",b)}}(b),h.map(d,b)):"function"==typeof b?h.map(e,function(d,e){return b("category"===a.type?c.getLabel(d):d,e)},this):d},a.exports=j},function(a,b){"use strict";function c(){this._coordinateSystems=[]}var d={};c.prototype={constructor:c,create:function(a,b){var c=[];for(var e in d){var f=d[e].create(a,b);f&&(c=c.concat(f))}this._coordinateSystems=c},update:function(a,b){for(var c=this._coordinateSystems,d=0;d<c.length;d++)c[d].update&&c[d].update(a,b)}},c.register=function(a,b){d[a]=b},c.get=function(a){return d[a]},a.exports=c},function(a,b,c){"use strict";function d(a){return a.getBoundingClientRect?a.getBoundingClientRect():{left:0,top:0}}function e(a,b,c){var e=d(a);return c=c||{},c.zrX=b.clientX-e.left,c.zrY=b.clientY-e.top,c}function f(a,b){if(b=b||window.event,null!=b.zrX)return b;var c=b.type,d=c&&c.indexOf("touch")>=0;if(d){var f="touchend"!=c?b.targetTouches[0]:b.changedTouches[0];f&&e(a,f,b)}else e(a,b,b),b.zrDelta=b.wheelDelta?b.wheelDelta/120:-(b.detail||0)/3;return b}function g(a,b,c){j?a.addEventListener(b,c):a.attachEvent("on"+b,c)}function h(a,b,c){j?a.removeEventListener(b,c):a.detachEvent("on"+b,c)}var i=c(20),j="undefined"!=typeof window&&!!window.addEventListener,k=j?function(a){a.preventDefault(),a.stopPropagation(),a.cancelBubble=!0}:function(a){a.returnValue=!1,a.cancelBubble=!0};a.exports={clientToLocal:e,normalizeEvent:f,addEventListener:g,removeEventListener:h,stop:k,Dispatcher:i}},function(a,b){"use strict";var c={};a.exports={register:function(a,b){c[a]=b},get:function(a){return c[a]}}},function(a,b,c){"use strict";var d=c(3),e=c(7),f=d.extendShape({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(a,b){var c=b.cx,d=b.cy,e=b.width/2,f=b.height/2;a.moveTo(c,d-f),a.lineTo(c+e,d+f),a.lineTo(c-e,d+f),a.closePath()}}),g=d.extendShape({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(a,b){var c=b.cx,d=b.cy,e=b.width/2,f=b.height/2;a.moveTo(c,d-f),a.lineTo(c+e,d),a.lineTo(c,d+f),a.lineTo(c-e,d),a.closePath()}}),h=d.extendShape({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(a,b){var c=b.x,d=b.y,e=b.width/5*3,f=Math.max(e,b.height),g=e/2,h=g*g/(f-g),i=d-f+g+h,j=Math.asin(h/g),k=Math.cos(j)*g,l=Math.sin(j),m=Math.cos(j);a.arc(c,i,g,Math.PI-j,2*Math.PI+j);var n=.6*g,o=.7*g;a.bezierCurveTo(c+k-l*n,i+h+m*n,c,d-o,c,d),a.bezierCurveTo(c,d-o,c-k+l*n,i+h+m*n,c-k,i+h),a.closePath()}}),i=d.extendShape({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(a,b){var c=b.height,d=b.width,e=b.x,f=b.y,g=d/3*2;a.moveTo(e,f),a.lineTo(e+g,f+c),a.lineTo(e,f+c/4*3),a.lineTo(e-g,f+c),a.lineTo(e,f),a.closePath()}}),j={line:d.Line,rect:d.Rect,roundRect:d.Rect,square:d.Rect,circle:d.Circle,diamond:g,pin:h,arrow:i,triangle:f},k={line:function(a,b,c,d,e){e.x1=a,e.y1=b+d/2,e.x2=a+c,e.y2=b+d/2},rect:function(a,b,c,d,e){e.x=a,e.y=b,e.width=c,e.height=d},roundRect:function(a,b,c,d,e){e.x=a,e.y=b,e.width=c,e.height=d,e.r=Math.min(c,d)/4},square:function(a,b,c,d,e){var f=Math.min(c,d);e.x=a,e.y=b,e.width=f,e.height=f},circle:function(a,b,c,d,e){e.cx=a+c/2,e.cy=b+d/2,e.r=Math.min(c,d)/2},diamond:function(a,b,c,d,e){e.cx=a+c/2,e.cy=b+d/2,e.width=c,e.height=d},pin:function(a,b,c,d,e){e.x=a+c/2,e.y=b+d/2,e.width=c,e.height=d},arrow:function(a,b,c,d,e){e.x=a+c/2,e.y=b+d/2,e.width=c,e.height=d},triangle:function(a,b,c,d,e){e.cx=a+c/2,e.cy=b+d/2,e.width=c,e.height=d}},l={};for(var m in j)l[m]=new j[m];var n=d.extendShape({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},beforeBrush:function(){var a=this.style,b=this.shape;"pin"===b.symbolType&&"inside"===a.textPosition&&(a.textPosition=["50%","40%"],a.textAlign="center",a.textVerticalAlign="middle")},buildPath:function(a,b,c){var d=b.symbolType,e=l[d];"none"!==b.symbolType&&(e||(d="rect",e=l[d]),k[d](b.x,b.y,b.width,b.height,e.shape),e.buildPath(a,e.shape,c))}}),o=function(a){if("image"!==this.type){var b=this.style,c=this.shape;c&&"line"===c.symbolType?b.stroke=a:this.__isEmptyBrush?(b.stroke=a,b.fill="#fff"):(b.fill&&(b.fill=a),b.stroke&&(b.stroke=a)),this.dirty(!1)}},p={createSymbol:function(a,b,c,f,g,h){var i=0===a.indexOf("empty");i&&(a=a.substr(5,1).toLowerCase()+a.substr(6));var j;return j=0===a.indexOf("image://")?new d.Image({style:{image:a.slice(8),x:b,y:c,width:f,height:g}}):0===a.indexOf("path://")?d.makePath(a.slice(7),{},new e(b,c,f,g)):new n({shape:{symbolType:a,x:b,y:c,width:f,height:g}}),j.__isEmptyBrush=i,j.setColor=o,j.setColor(h),j}};a.exports=p},function(a,b,c){function d(){this.group=new g,this.uid=h.getUID("viewChart")}function e(a,b){if(a&&(a.trigger(b),"group"===a.type))for(var c=0;c<a.childCount();c++)e(a.childAt(c),b)}function f(a,b,c){var d=b&&b.dataIndex,f=b&&b.name;if(null!=d)for(var g=d instanceof Array?d:[d],h=0,i=g.length;i>h;h++)e(a.getItemGraphicEl(g[h]),c);else if(f)for(var j=f instanceof Array?f:[f],h=0,i=j.length;i>h;h++){var d=a.indexOfName(j[h]);e(a.getItemGraphicEl(d),c)}else a.eachItemGraphicEl(function(a){e(a,c)})}var g=c(34),h=c(43),i=c(21);d.prototype={type:"chart",init:function(a,b){},render:function(a,b,c,d){},highlight:function(a,b,c,d){f(a.getData(),d,"emphasis")},downplay:function(a,b,c,d){f(a.getData(),d,"normal")},remove:function(a,b){this.group.removeAll()},dispose:function(){}};var j=d.prototype;j.updateView=j.updateLayout=j.updateVisual=function(a,b,c,d){this.render(a,b,c,d)},i.enableClassExtend(d),i.enableClassManagement(d,{registerWhenExtend:!0}),a.exports=d},function(a,b,c){"use strict";var d=c(17),e=c(5),f=c(73),g=c(7),h=c(33).devicePixelRatio,i={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},j=[],k=[],l=[],m=[],n=Math.min,o=Math.max,p=Math.cos,q=Math.sin,r=Math.sqrt,s=Math.abs,t="undefined"!=typeof Float32Array,u=function(){this.data=[],this._len=0,this._ctx=null,this._xi=0,this._yi=0,this._x0=0,this._y0=0,this._ux=0,this._uy=0};u.prototype={constructor:u,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(a,b){this._ux=s(1/h/a)||0,this._uy=s(1/h/b)||0},getContext:function(){return this._ctx},beginPath:function(a){return this._ctx=a,a&&a.beginPath(),a&&(this.dpr=a.dpr),this._len=0,this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(a,b){return this.addData(i.M,a,b),this._ctx&&this._ctx.moveTo(a,b),this._x0=a,this._y0=b,this._xi=a,this._yi=b,this},lineTo:function(a,b){var c=s(a-this._xi)>this._ux||s(b-this._yi)>this._uy||this._len<5;return this.addData(i.L,a,b),this._ctx&&c&&(this._needsDash()?this._dashedLineTo(a,b):this._ctx.lineTo(a,b)),c&&(this._xi=a,this._yi=b),this},bezierCurveTo:function(a,b,c,d,e,f){return this.addData(i.C,a,b,c,d,e,f),this._ctx&&(this._needsDash()?this._dashedBezierTo(a,b,c,d,e,f):this._ctx.bezierCurveTo(a,b,c,d,e,f)),this._xi=e,this._yi=f,this},quadraticCurveTo:function(a,b,c,d){return this.addData(i.Q,a,b,c,d),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(a,b,c,d):this._ctx.quadraticCurveTo(a,b,c,d)),this._xi=c,this._yi=d,this},arc:function(a,b,c,d,e,f){return this.addData(i.A,a,b,c,c,d,e-d,0,f?0:1),this._ctx&&this._ctx.arc(a,b,c,d,e,f),this._xi=p(e)*c+a,this._xi=q(e)*c+a,this},arcTo:function(a,b,c,d,e){return this._ctx&&this._ctx.arcTo(a,b,c,d,e),this},rect:function(a,b,c,d){return this._ctx&&this._ctx.rect(a,b,c,d),this.addData(i.R,a,b,c,d),this},closePath:function(){this.addData(i.Z);var a=this._ctx,b=this._x0,c=this._y0;return a&&(this._needsDash()&&this._dashedLineTo(b,c),a.closePath()),this._xi=b,this._yi=c,this},fill:function(a){a&&a.fill(),this.toStatic()},stroke:function(a){a&&a.stroke(),this.toStatic()},setLineDash:function(a){if(a instanceof Array){this._lineDash=a,this._dashIdx=0;for(var b=0,c=0;c<a.length;c++)b+=a[c];this._dashSum=b}return this},setLineDashOffset:function(a){return this._dashOffset=a,this},len:function(){return this._len},setData:function(a){var b=a.length;this.data&&this.data.length==b||!t||(this.data=new Float32Array(b));for(var c=0;b>c;c++)this.data[c]=a[c];this._len=b},appendPath:function(a){a instanceof Array||(a=[a]);for(var b=a.length,c=0,d=this._len,e=0;b>e;e++)c+=a[e].len();t&&this.data instanceof Float32Array&&(this.data=new Float32Array(d+c));for(var e=0;b>e;e++)for(var f=a[e].data,g=0;g<f.length;g++)this.data[d++]=f[g];this._len=d},addData:function(a){var b=this.data;this._len+arguments.length>b.length&&(this._expandData(),b=this.data);for(var c=0;c<arguments.length;c++)b[this._len++]=arguments[c];this._prevCmd=a},_expandData:function(){if(!(this.data instanceof Array)){for(var a=[],b=0;b<this._len;b++)a[b]=this.data[b];this.data=a}},_needsDash:function(){return this._lineDash},_dashedLineTo:function(a,b){var c,d,e=this._dashSum,f=this._dashOffset,g=this._lineDash,h=this._ctx,i=this._xi,j=this._yi,k=a-i,l=b-j,m=r(k*k+l*l),p=i,q=j,s=g.length;for(k/=m,l/=m,0>f&&(f=e+f),f%=e,p-=f*k,q-=f*l;k>0&&a>=p||0>k&&p>=a||0==k&&(l>0&&b>=q||0>l&&q>=b);)d=this._dashIdx,c=g[d],p+=k*c,q+=l*c,this._dashIdx=(d+1)%s,k>0&&i>p||0>k&&p>i||l>0&&j>q||0>l&&q>j||h[d%2?"moveTo":"lineTo"](k>=0?n(p,a):o(p,a),l>=0?n(q,b):o(q,b));k=p-a,l=q-b,this._dashOffset=-r(k*k+l*l)},_dashedBezierTo:function(a,b,c,e,f,g){var h,i,j,k,l,m=this._dashSum,n=this._dashOffset,o=this._lineDash,p=this._ctx,q=this._xi,s=this._yi,t=d.cubicAt,u=0,v=this._dashIdx,w=o.length,x=0;for(0>n&&(n=m+n),n%=m,h=0;1>h;h+=.1)i=t(q,a,c,f,h+.1)-t(q,a,c,f,h),j=t(s,b,e,g,h+.1)-t(s,b,e,g,h),u+=r(i*i+j*j);for(;w>v&&(x+=o[v],!(x>n));v++);for(h=(x-n)/u;1>=h;)k=t(q,a,c,f,h),l=t(s,b,e,g,h),v%2?p.moveTo(k,l):p.lineTo(k,l),h+=o[v]/u,v=(v+1)%w;v%2!==0&&p.lineTo(f,g),i=f-k,j=g-l,this._dashOffset=-r(i*i+j*j)},_dashedQuadraticTo:function(a,b,c,d){var e=c,f=d;c=(c+2*a)/3,d=(d+2*b)/3,a=(this._xi+2*a)/3,b=(this._yi+2*b)/3,this._dashedBezierTo(a,b,c,d,e,f)},toStatic:function(){var a=this.data;a instanceof Array&&(a.length=this._len,t&&(this.data=new Float32Array(a)))},getBoundingRect:function(){j[0]=j[1]=l[0]=l[1]=Number.MAX_VALUE,k[0]=k[1]=m[0]=m[1]=-Number.MAX_VALUE;for(var a=this.data,b=0,c=0,d=0,h=0,n=0;n<a.length;){var o=a[n++];switch(1==n&&(b=a[n],c=a[n+1],d=b,h=c),o){case i.M:d=a[n++],h=a[n++],b=d,c=h,l[0]=d,l[1]=h,m[0]=d,m[1]=h;break;case i.L:f.fromLine(b,c,a[n],a[n+1],l,m),b=a[n++],c=a[n++];break;case i.C:f.fromCubic(b,c,a[n++],a[n++],a[n++],a[n++],a[n],a[n+1],l,m),b=a[n++],c=a[n++];break;case i.Q:f.fromQuadratic(b,c,a[n++],a[n++],a[n],a[n+1],l,m),b=a[n++],c=a[n++];break;case i.A:var r=a[n++],s=a[n++],t=a[n++],u=a[n++],v=a[n++],w=a[n++]+v,x=(a[n++],1-a[n++]);1==n&&(d=p(v)*t+r,h=q(v)*u+s),f.fromArc(r,s,t,u,v,w,x,l,m),b=p(w)*t+r,c=q(w)*u+s;break;case i.R:d=b=a[n++],h=c=a[n++];var y=a[n++],z=a[n++];f.fromLine(d,h,d+y,h+z,l,m);break;case i.Z:b=d,c=h}e.min(j,j,l),e.max(k,k,m)}return 0===n&&(j[0]=j[1]=k[0]=k[1]=0),new g(j[0],j[1],k[0]-j[0],k[1]-j[1])},rebuildPath:function(a){for(var b,c,d,e,f,g,h=this.data,j=this._ux,k=this._uy,l=this._len,m=0;l>m;){var n=h[m++];switch(1==m&&(d=h[m],e=h[m+1],b=d,c=e),n){case i.M:b=d=h[m++],c=e=h[m++],a.moveTo(d,e);break;case i.L:f=h[m++],g=h[m++],(s(f-d)>j||s(g-e)>k||m===l-1)&&(a.lineTo(f,g),d=f,e=g);break;case i.C:a.bezierCurveTo(h[m++],h[m++],h[m++],h[m++],h[m++],h[m++]),d=h[m-2],e=h[m-1];break;case i.Q:a.quadraticCurveTo(h[m++],h[m++],h[m++],h[m++]),d=h[m-2],e=h[m-1];break;case i.A:var o=h[m++],r=h[m++],t=h[m++],u=h[m++],v=h[m++],w=h[m++],x=h[m++],y=h[m++],z=t>u?t:u,A=t>u?1:t/u,B=t>u?u/t:1,C=Math.abs(t-u)>.001,D=v+w;C?(a.translate(o,r),a.rotate(x),a.scale(A,B),a.arc(0,0,z,v,D,1-y),a.scale(1/A,1/B),a.rotate(-x),a.translate(-o,-r)):a.arc(o,r,z,v,D,1-y),1==m&&(b=p(v)*t+o,c=q(v)*u+r),d=p(D)*t+o,e=q(D)*u+r;break;case i.R:b=d=h[m],c=e=h[m+1],a.rect(h[m++],h[m++],h[m++],h[m++]);break;case i.Z:a.closePath(),d=b,e=c}}}},u.CMD=i,a.exports=u},function(a,b){var c=function(a){this.colorStops=a||[]};c.prototype={constructor:c,addColorStop:function(a,b){this.colorStops.push({offset:a,color:b})}},a.exports=c},function(a,b,c){function d(a,b,c,d){if(!b)return a;var h=e(b[0]),i=f.isArray(h)&&h.length||1;c=c||[],d=d||"extra";for(var j=0;i>j;j++)if(!a[j]){var k=c[j]||d+(j-c.length);a[j]=g(b,j)?{type:"ordinal",name:k}:k}return a}function e(a){return f.isArray(a)?a:f.isObject(a)?a.value:a}var f=c(1),g=d.guessOrdinal=function(a,b){for(var c=0,d=a.length;d>c;c++){var g=e(a[c]);if(!f.isArray(g))return!1;var g=g[b];if(null!=g&&isFinite(g))return!1;if(f.isString(g)&&"-"!==g)return!0}return!1};a.exports=d},function(a,b,c){var d=c(1);a.exports=function(a){for(var b=0;b<a.length;b++)a[b][1]||(a[b][1]=a[b][0]);return function(b){for(var c={},e=0;e<a.length;e++){var f=a[e][1];if(!(b&&d.indexOf(b,f)>=0)){var g=this.getShallow(f);null!=g&&(c[a[e][0]]=g)}}return c}}},function(a,b,c){function d(){this._extent=[1/0,-(1/0)],this._interval=0,this.init&&this.init.apply(this,arguments)}var e=c(21),f=d.prototype;f.parse=function(a){return a},f.contain=function(a){var b=this._extent;return a>=b[0]&&a<=b[1]},f.normalize=function(a){var b=this._extent;return b[1]===b[0]?.5:(a-b[0])/(b[1]-b[0])},f.scale=function(a){var b=this._extent;return a*(b[1]-b[0])+b[0]},f.unionExtent=function(a){var b=this._extent;a[0]<b[0]&&(b[0]=a[0]),a[1]>b[1]&&(b[1]=a[1])},f.getExtent=function(){return this._extent.slice()},f.setExtent=function(a,b){var c=this._extent;isNaN(a)||(c[0]=a),isNaN(b)||(c[1]=b)},f.getTicksLabels=function(){for(var a=[],b=this.getTicks(),c=0;c<b.length;c++)a.push(this.getLabel(b[c]));return a},e.enableClassExtend(d),e.enableClassManagement(d,{registerWhenExtend:!0}),a.exports=d},function(a,b){var c=1;"undefined"!=typeof window&&(c=Math.max(window.devicePixelRatio||1,1));var d={debugMode:0,devicePixelRatio:c};a.exports=d},function(a,b,c){var d=c(1),e=c(58),f=c(7),g=function(a){a=a||{},e.call(this,a);for(var b in a)this[b]=a[b];this._children=[],this.__storage=null,this.__dirty=!0};g.prototype={constructor:g,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(a){return this._children[a]},childOfName:function(a){for(var b=this._children,c=0;c<b.length;c++)if(b[c].name===a)return b[c]},childCount:function(){return this._children.length},add:function(a){return a&&a!==this&&a.parent!==this&&(this._children.push(a),this._doAdd(a)),this},addBefore:function(a,b){if(a&&a!==this&&a.parent!==this&&b&&b.parent===this){var c=this._children,d=c.indexOf(b);d>=0&&(c.splice(d,0,a),this._doAdd(a))}return this},_doAdd:function(a){a.parent&&a.parent.remove(a),a.parent=this;var b=this.__storage,c=this.__zr;b&&b!==a.__storage&&(b.addToMap(a),a instanceof g&&a.addChildrenToStorage(b)),c&&c.refresh()},remove:function(a){var b=this.__zr,c=this.__storage,e=this._children,f=d.indexOf(e,a);return 0>f?this:(e.splice(f,1),a.parent=null,c&&(c.delFromMap(a.id),a instanceof g&&a.delChildrenFromStorage(c)),b&&b.refresh(),this)},removeAll:function(){var a,b,c=this._children,d=this.__storage;for(b=0;b<c.length;b++)a=c[b],d&&(d.delFromMap(a.id),a instanceof g&&a.delChildrenFromStorage(d)),a.parent=null;return c.length=0,this},eachChild:function(a,b){for(var c=this._children,d=0;d<c.length;d++){var e=c[d];a.call(b,e,d)}return this},traverse:function(a,b){for(var c=0;c<this._children.length;c++){var d=this._children[c];a.call(b,d),"group"===d.type&&d.traverse(a,b)}return this},addChildrenToStorage:function(a){for(var b=0;b<this._children.length;b++){var c=this._children[b];a.addToMap(c),c instanceof g&&c.addChildrenToStorage(a)}},delChildrenFromStorage:function(a){for(var b=0;b<this._children.length;b++){var c=this._children[b];a.delFromMap(c.id),c instanceof g&&c.delChildrenFromStorage(a)}},dirty:function(){return this.__dirty=!0,this.__zr&&this.__zr.refresh(),this},getBoundingRect:function(a){for(var b=null,c=new f(0,0,0,0),d=a||this._children,e=[],g=0;g<d.length;g++){var h=d[g];if(!h.ignore&&!h.invisible){var i=h.getBoundingRect(),j=h.getLocalTransform(e);j?(c.copy(i),c.applyTransform(j),b=b||c.clone(),b.union(c)):(b=b||i.clone(),b.union(i))}}return b||c}},d.inherits(g,e),a.exports=g},function(a,b,c){"use strict";function d(a){for(var b=0;b<a.length&&null==a[b];)b++;return a[b]}function e(a){var b=d(a);return null!=b&&!l.isArray(o(b))}function f(a,b,c){a=a||[];var d=b.get("coordinateSystem"),f=q[d],g=n.get(d),h=f&&f(a,b,c),r=h&&h.dimensions;r||(r=g&&g.dimensions||["x","y"],r=k(r,a,r.concat(["value"])));var s=h?h.categoryIndex:-1,t=new j(r,b),u=i(h,a),v={},w=s>=0&&e(a)?function(a,b,c,d){return m.isDataItemOption(a)&&(t.hasItemOption=!0),d===s?c:p(o(a),r[d])}:function(a,b,c,d){var e=o(a),f=p(e&&e[d],r[d]);m.isDataItemOption(a)&&(t.hasItemOption=!0);var g=h&&h.categoryAxesModels;return g&&g[b]&&"string"==typeof f&&(v[b]=v[b]||g[b].getCategories(),f=l.indexOf(v[b],f),0>f&&!isNaN(f)&&(f=+f)),f};return t.hasItemOption=!1,t.initData(a,u,w),t}function g(a){return"category"!==a&&"time"!==a}function h(a){return"category"===a?"ordinal":"time"===a?"time":"float"}function i(a,b){var c,d=[],e=a&&a.dimensions[a.categoryIndex];if(e&&(c=a.categoryAxesModels[e.name]),c){var f=c.getCategories();if(f){var g=b.length;if(l.isArray(b[0])&&b[0].length>1){d=[];for(var h=0;g>h;h++)d[h]=f[b[h][a.categoryIndex||0]]}else d=f.slice(0)}}return d}var j=c(14),k=c(30),l=c(1),m=c(11),n=c(23),o=m.getDataItemValue,p=m.converDataValue,q={cartesian2d:function(a,b,c){var d=l.map(["xAxis","yAxis"],function(a){return c.queryComponents({mainType:a,index:b.get(a+"Index"),id:b.get(a+"Id")})[0]}),e=d[0],f=d[1],i=e.get("type"),j=f.get("type"),m=[{name:"x",type:h(i),stackable:g(i)},{name:"y",type:h(j),stackable:g(j)}],n="category"===i,o="category"===j;k(m,a,["x","y","z"]);var p={};return n&&(p.x=e),o&&(p.y=f),{dimensions:m,categoryIndex:n?0:o?1:-1,categoryAxesModels:p}},polar:function(a,b,c){var d=c.queryComponents({mainType:"polar",index:b.get("polarIndex"),id:b.get("polarId")})[0],e=d.findAxisModel("angleAxis"),f=d.findAxisModel("radiusAxis"),i=f.get("type"),j=e.get("type"),l=[{name:"radius",type:h(i),stackable:g(i)},{name:"angle",type:h(j),stackable:g(j)}],m="category"===j,n="category"===i;k(l,a,["radius","angle","value"]);var o={};return n&&(o.radius=f),m&&(o.angle=e),{dimensions:l,categoryIndex:m?1:n?0:-1,categoryAxesModels:o}},geo:function(a,b,c){return{dimensions:k([{name:"lng"},{name:"lat"}],a,["lng","lat","value"])}}};a.exports=f},function(a,b,c){"use strict";var d=c(3),e=c(1),f=c(2);c(54),c(104),f.extendComponentView({type:"grid",render:function(a,b){this.group.removeAll(),a.get("show")&&this.group.add(new d.Rect({shape:a.coordinateSystem.getRect(),style:e.defaults({fill:a.get("backgroundColor")},a.getItemStyle()),silent:!0}))}}),f.registerPreprocessor(function(a){a.xAxis&&a.yAxis&&!a.grid&&(a.grid={})})},function(a,b,c){function d(a){a=a||{},g.call(this,a);for(var b in a)a.hasOwnProperty(b)&&"style"!==b&&(this[b]=a[b]);this.style=new f(a.style),this._rect=null,this.__clipPaths=[]}var e=c(1),f=c(64),g=c(58),h=c(75);d.prototype={constructor:d,type:"displayable",__dirty:!0,invisible:!1,z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:"pointer",rectHover:!1,progressive:-1,beforeBrush:function(a){},afterBrush:function(a){},brush:function(a,b){},getBoundingRect:function(){},contain:function(a,b){return this.rectContain(a,b)},traverse:function(a,b){a.call(b,this)},rectContain:function(a,b){var c=this.transformCoordToLocal(a,b),d=this.getBoundingRect();return d.contain(c[0],c[1])},dirty:function(){this.__dirty=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(a){return this.animate("style",a)},attrKV:function(a,b){"style"!==a?g.prototype.attrKV.call(this,a,b):this.style.set(b)},setStyle:function(a,b){return this.style.set(a,b),this.dirty(!1),this},useStyle:function(a){return this.style=new f(a),this.dirty(!1),this}},e.inherits(d,g),e.mixin(d,h),a.exports=d},function(a,b,c){var d=c(4),e=c(8),f=c(32),g=Math.floor,h=Math.ceil,i=d.getPrecisionSafe,j=d.round,k=f.extend({type:"interval",_interval:0,setExtent:function(a,b){var c=this._extent;isNaN(a)||(c[0]=parseFloat(a)),isNaN(b)||(c[1]=parseFloat(b))},unionExtent:function(a){var b=this._extent;a[0]<b[0]&&(b[0]=a[0]),a[1]>b[1]&&(b[1]=a[1]),k.prototype.setExtent.call(this,b[0],b[1])},getInterval:function(){return this._interval||this.niceTicks(),this._interval},setInterval:function(a){this._interval=a,this._niceExtent=this._extent.slice()},getTicks:function(){this._interval||this.niceTicks();var a=this._interval,b=this._extent,c=[],d=1e4;if(a){var e=this._niceExtent,f=i(a)+2;b[0]<e[0]&&c.push(b[0]);for(var g=e[0];g<=e[1];)if(c.push(g),g=j(g+a,f),c.length>d)return[];b[1]>e[1]&&c.push(b[1])}return c},getTicksLabels:function(){for(var a=[],b=this.getTicks(),c=0;c<b.length;c++)a.push(this.getLabel(b[c]));return a},getLabel:function(a){return e.addCommas(a)},niceTicks:function(a){a=a||5;var b=this._extent,c=b[1]-b[0];if(isFinite(c)){0>c&&(c=-c,b.reverse());var e=j(d.nice(c/a,!0),Math.max(i(b[0]),i(b[1]))+2),f=i(e)+2,k=[j(h(b[0]/e)*e,f),j(g(b[1]/e)*e,f)];this._interval=e,this._niceExtent=k}},niceExtent:function(a,b,c){var d=this._extent;if(d[0]===d[1])if(0!==d[0]){var e=d[0];c?d[0]-=e/2:(d[1]+=e/2,d[0]-=e/2)}else d[1]=1;var f=d[1]-d[0];isFinite(f)||(d[0]=0,d[1]=1),this.niceTicks(a);var i=this._interval;b||(d[0]=j(g(d[0]/i)*i)),c||(d[1]=j(h(d[1]/i)*i))}});k.create=function(){return new k},a.exports=k},function(a,b,c){function d(a){this.group=new f.Group,this._symbolCtor=a||g}function e(a,b,c){var d=a.getItemLayout(b);return d&&!isNaN(d[0])&&!isNaN(d[1])&&!(c&&c(b))&&"none"!==a.getItemVisual(b,"symbol")}var f=c(3),g=c(49),h=d.prototype;h.updateData=function(a,b){var c=this.group,d=a.hostModel,g=this._data,h=this._symbolCtor,i={itemStyle:d.getModel("itemStyle.normal").getItemStyle(["color"]),hoverItemStyle:d.getModel("itemStyle.emphasis").getItemStyle(),symbolRotate:d.get("symbolRotate"),symbolOffset:d.get("symbolOffset"),hoverAnimation:d.get("hoverAnimation"),labelModel:d.getModel("label.normal"),hoverLabelModel:d.getModel("label.emphasis")};a.diff(g).add(function(d){var f=a.getItemLayout(d);if(e(a,d,b)){var g=new h(a,d,i);g.attr("position",f),a.setItemGraphicEl(d,g),c.add(g)}}).update(function(j,k){var l=g.getItemGraphicEl(k),m=a.getItemLayout(j);return e(a,j,b)?(l?(l.updateData(a,j,i),f.updateProps(l,{position:m},d)):(l=new h(a,j),l.attr("position",m)),c.add(l),void a.setItemGraphicEl(j,l)):void c.remove(l)}).remove(function(a){var b=g.getItemGraphicEl(a);b&&b.fadeOut(function(){c.remove(b)})}).execute(),this._data=a},h.updateLayout=function(){var a=this._data;a&&a.eachItemGraphicEl(function(b,c){var d=a.getItemLayout(c);b.attr("position",d)})},h.remove=function(a){var b=this.group,c=this._data;c&&(a?c.eachItemGraphicEl(function(a){a.fadeOut(function(){b.remove(a)})}):b.removeAll())},a.exports=d},function(a,b,c){function d(a){var b={};return l(["start","end","startValue","endValue","throttle"],function(c){a.hasOwnProperty(c)&&(b[c]=a[c])}),b}function e(a,b,c,d){null!=c[b]&&null==c[a]&&(d[a]=null)}var f=c(1),g=c(12),h=c(2),i=c(11),j=c(108),k=c(179),l=f.each,m=j.eachAxisDim,n=h.extendComponentModel({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",
+throttle:null,start:0,end:100,startValue:null,endValue:null},init:function(a,b,c){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0;var e=d(a);this.mergeDefaultAndTheme(a,c),this.doInit(e)},mergeOption:function(a){var b=d(a);f.merge(this.option,a,!0),this.doInit(b)},doInit:function(a){var b=this.option;g.canvasSupported||(b.realtime=!1),this._setDefaultThrottle(a),e("start","startValue",a,b),e("end","endValue",a,b),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var a=this._axisProxies;this.eachTargetAxis(function(b,c,d,e){var f=this.dependentModels[b.axis][c],g=f.__dzAxisProxy||(f.__dzAxisProxy=new k(b.name,c,this,e));a[b.name+"_"+c]=g},this)},_resetTarget:function(){var a=this.option,b=this._judgeAutoMode();m(function(b){var c=b.axisIndex;a[c]=i.normalizeToArray(a[c])},this),"axisIndex"===b?this._autoSetAxisIndex():"orient"===b&&this._autoSetOrient()},_judgeAutoMode:function(){var a=this.option,b=!1;m(function(c){null!=a[c.axisIndex]&&(b=!0)},this);var c=a.orient;return null==c&&b?"orient":b?void 0:(null==c&&(a.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var a=!0,b=this.get("orient",!0),c=this.option;if(a){var d="vertical"===b?{dim:"y",axisIndex:"yAxisIndex",axis:"yAxis"}:{dim:"x",axisIndex:"xAxisIndex",axis:"xAxis"};this.dependentModels[d.axis].length&&(c[d.axisIndex]=[0],a=!1)}a&&m(function(b){if(a){var d=[],e=this.dependentModels[b.axis];if(e.length&&!d.length)for(var f=0,g=e.length;g>f;f++)"category"===e[f].get("type")&&d.push(f);c[b.axisIndex]=d,d.length&&(a=!1)}},this),a&&this.ecModel.eachSeries(function(a){this._isSeriesHasAllAxesTypeOf(a,"value")&&m(function(b){var d=c[b.axisIndex],e=a.get(b.axisIndex),g=a.get(b.axisId),h=a.ecModel.queryComponents({mainType:b.axis,index:e,id:g})[0];e=h.componentIndex,f.indexOf(d,e)<0&&d.push(e)})},this)},_autoSetOrient:function(){var a;this.eachTargetAxis(function(b){!a&&(a=b.name)},this),this.option.orient="y"===a?"vertical":"horizontal"},_isSeriesHasAllAxesTypeOf:function(a,b){var c=!0;return m(function(d){var e=a.get(d.axisIndex),f=this.dependentModels[d.axis][e];f&&f.get("type")===b||(c=!1)},this),c},_setDefaultThrottle:function(a){if(a.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var b=this.ecModel.option;this.option.throttle=b.animation&&b.animationDurationUpdate>0?100:20}},getFirstTargetAxisModel:function(){var a;return m(function(b){if(null==a){var c=this.get(b.axisIndex);c.length&&(a=this.dependentModels[b.axis][c[0]])}},this),a},eachTargetAxis:function(a,b){var c=this.ecModel;m(function(d){l(this.get(d.axisIndex),function(e){a.call(b,d,e,this,c)},this)},this)},getAxisProxy:function(a,b){return this._axisProxies[a+"_"+b]},setRawRange:function(a){l(["start","end","startValue","endValue"],function(b){this.option[b]=a[b]},this)},getPercentRange:function(){var a=this.findRepresentativeAxisProxy();return a?a.getDataPercentWindow():void 0},getValueRange:function(a,b){if(null!=a||null!=b)return this.getAxisProxy(a,b).getDataValueWindow();var c=this.findRepresentativeAxisProxy();return c?c.getDataValueWindow():void 0},findRepresentativeAxisProxy:function(){var a=this._axisProxies;for(var b in a)if(a.hasOwnProperty(b)&&a[b].hostedBy(this))return a[b];for(var b in a)if(a.hasOwnProperty(b)&&!a[b].hostedBy(this))return a[b]}});a.exports=n},function(a,b,c){var d=c(57);a.exports=d.extend({type:"dataZoom",render:function(a,b,c,d){this.dataZoomModel=a,this.ecModel=b,this.api=c},getTargetInfo:function(){function a(a,b,c,d){for(var e,f=0;f<c.length;f++)if(c[f].model===a){e=c[f];break}e||c.push(e={model:a,axisModels:[],coordIndex:d}),e.axisModels.push(b)}var b=this.dataZoomModel,c=this.ecModel,d=[],e=[],f=[];return b.eachTargetAxis(function(b,g){var h=c.getComponent(b.axis,g);if(h){f.push(h);var i;i="xAxis"===b.axis||"yAxis"===b.axis?"grid":"polar";var j=c.queryComponents({mainType:i,index:h.get(i+"Index"),id:h.get(i+"Id")})[0];null!=j&&a(j,h,"grid"===i?d:e,j.componentIndex)}},this),{cartesians:d,polars:e,axisModels:f}}})},function(a,b,c){function d(a,b){var c=a[1]-a[0],d=b,e=c/d/2;a[0]+=e,a[1]-=e}var e=c(4),f=e.linearMap,g=c(1),h=[0,1],i=function(a,b,c){this.dim=a,this.scale=b,this._extent=c||[0,0],this.inverse=!1,this.onBand=!1};i.prototype={constructor:i,contain:function(a){var b=this._extent,c=Math.min(b[0],b[1]),d=Math.max(b[0],b[1]);return a>=c&&d>=a},containData:function(a){return this.contain(this.dataToCoord(a))},getExtent:function(){var a=this._extent.slice();return a},getPixelPrecision:function(a){return e.getPixelPrecision(a||this.scale.getExtent(),this._extent)},setExtent:function(a,b){var c=this._extent;c[0]=a,c[1]=b},dataToCoord:function(a,b){var c=this._extent,e=this.scale;return a=e.normalize(a),this.onBand&&"ordinal"===e.type&&(c=c.slice(),d(c,e.count())),f(a,h,c,b)},coordToData:function(a,b){var c=this._extent,e=this.scale;this.onBand&&"ordinal"===e.type&&(c=c.slice(),d(c,e.count()));var g=f(a,c,h,b);return this.scale.scale(g)},getTicksCoords:function(a){if(this.onBand&&!a){for(var b=this.getBands(),c=[],d=0;d<b.length;d++)c.push(b[d][0]);return b[d-1]&&c.push(b[d-1][1]),c}return g.map(this.scale.getTicks(),this.dataToCoord,this)},getLabelsCoords:function(){return g.map(this.scale.getTicks(),this.dataToCoord,this)},getBands:function(){for(var a=this.getExtent(),b=[],c=this.scale.count(),d=a[0],e=a[1],f=e-d,g=0;c>g;g++)b.push([f*g/c+d,f*(g+1)/c+d]);return b},getBandWidth:function(){var a=this._extent,b=this.scale.getExtent(),c=b[1]-b[0]+(this.onBand?1:0);0===c&&(c=1);var d=Math.abs(a[1]-a[0]);return Math.abs(d)/c}},a.exports=i},function(a,b,c){var d=c(1),e=c(21),f=e.parseClassType,g=0,h={},i="_";h.getUID=function(a){return[a||"",g++,Math.random()].join(i)},h.enableSubTypeDefaulter=function(a){var b={};return a.registerSubTypeDefaulter=function(a,c){a=f(a),b[a.main]=c},a.determineSubType=function(c,d){var e=d.type;if(!e){var g=f(c).main;a.hasSubTypes(c)&&b[g]&&(e=b[g](d))}return e},a},h.enableTopologicalTravel=function(a,b){function c(a){var c={},g=[];return d.each(a,function(h){var i=e(c,h),j=i.originalDeps=b(h),k=f(j,a);i.entryCount=k.length,0===i.entryCount&&g.push(h),d.each(k,function(a){d.indexOf(i.predecessor,a)<0&&i.predecessor.push(a);var b=e(c,a);d.indexOf(b.successor,a)<0&&b.successor.push(h)})}),{graph:c,noEntryList:g}}function e(a,b){return a[b]||(a[b]={predecessor:[],successor:[]}),a[b]}function f(a,b){var c=[];return d.each(a,function(a){d.indexOf(b,a)>=0&&c.push(a)}),c}a.topologicalTravel=function(a,b,e,f){function g(a){j[a].entryCount--,0===j[a].entryCount&&k.push(a)}function h(a){l[a]=!0,g(a)}if(a.length){var i=c(b),j=i.graph,k=i.noEntryList,l={};for(d.each(a,function(a){l[a]=!0});k.length;){var m=k.pop(),n=j[m],o=!!l[m];o&&(e.call(f,m,n.originalDeps.slice()),delete l[m]),d.each(n.successor,o?h:g)}d.each(l,function(){throw new Error("Circle dependency may exists")})}}},a.exports=h},function(a,b){function c(a){for(var b=0;a>=k;)b|=1&a,a>>=1;return a+b}function d(a,b,c,d){var f=b+1;if(f===c)return 1;if(d(a[f++],a[b])<0){for(;c>f&&d(a[f],a[f-1])<0;)f++;e(a,b,f)}else for(;c>f&&d(a[f],a[f-1])>=0;)f++;return f-b}function e(a,b,c){for(c--;c>b;){var d=a[b];a[b++]=a[c],a[c--]=d}}function f(a,b,c,d,e){for(d===b&&d++;c>d;d++){for(var f,g=a[d],h=b,i=d;i>h;)f=h+i>>>1,e(g,a[f])<0?i=f:h=f+1;var j=d-h;switch(j){case 3:a[h+3]=a[h+2];case 2:a[h+2]=a[h+1];case 1:a[h+1]=a[h];break;default:for(;j>0;)a[h+j]=a[h+j-1],j--}a[h]=g}}function g(a,b,c,d,e,f){var g=0,h=0,i=1;if(f(a,b[c+e])>0){for(h=d-e;h>i&&f(a,b[c+e+i])>0;)g=i,i=(i<<1)+1,0>=i&&(i=h);i>h&&(i=h),g+=e,i+=e}else{for(h=e+1;h>i&&f(a,b[c+e-i])<=0;)g=i,i=(i<<1)+1,0>=i&&(i=h);i>h&&(i=h);var j=g;g=e-i,i=e-j}for(g++;i>g;){var k=g+(i-g>>>1);f(a,b[c+k])>0?g=k+1:i=k}return i}function h(a,b,c,d,e,f){var g=0,h=0,i=1;if(f(a,b[c+e])<0){for(h=e+1;h>i&&f(a,b[c+e-i])<0;)g=i,i=(i<<1)+1,0>=i&&(i=h);i>h&&(i=h);var j=g;g=e-i,i=e-j}else{for(h=d-e;h>i&&f(a,b[c+e+i])>=0;)g=i,i=(i<<1)+1,0>=i&&(i=h);i>h&&(i=h),g+=e,i+=e}for(g++;i>g;){var k=g+(i-g>>>1);f(a,b[c+k])<0?i=k:g=k+1}return i}function i(a,b){function c(a,b){k[s]=a,n[s]=b,s+=1}function d(){for(;s>1;){var a=s-2;if(a>=1&&n[a-1]<=n[a]+n[a+1]||a>=2&&n[a-2]<=n[a]+n[a-1])n[a-1]<n[a+1]&&a--;else if(n[a]>n[a+1])break;f(a)}}function e(){for(;s>1;){var a=s-2;a>0&&n[a-1]<n[a+1]&&a--,f(a)}}function f(c){var d=k[c],e=n[c],f=k[c+1],l=n[c+1];n[c]=e+l,c===s-3&&(k[c+1]=k[c+2],n[c+1]=n[c+2]),s--;var m=h(a[f],a,d,e,0,b);d+=m,e-=m,0!==e&&(l=g(a[d+e-1],a,f,l,l-1,b),0!==l&&(l>=e?i(d,e,f,l):j(d,e,f,l)))}function i(c,d,e,f){var i=0;for(i=0;d>i;i++)t[i]=a[c+i];var j=0,k=e,m=c;if(a[m++]=a[k++],0!==--f){if(1===d){for(i=0;f>i;i++)a[m+i]=a[k+i];return void(a[m+f]=t[j])}for(var n,p,q,r=o;;){n=0,p=0,q=!1;do if(b(a[k],t[j])<0){if(a[m++]=a[k++],p++,n=0,0===--f){q=!0;break}}else if(a[m++]=t[j++],n++,p=0,1===--d){q=!0;break}while(r>(n|p));if(q)break;do{if(n=h(a[k],t,j,d,0,b),0!==n){for(i=0;n>i;i++)a[m+i]=t[j+i];if(m+=n,j+=n,d-=n,1>=d){q=!0;break}}if(a[m++]=a[k++],0===--f){q=!0;break}if(p=g(t[j],a,k,f,0,b),0!==p){for(i=0;p>i;i++)a[m+i]=a[k+i];if(m+=p,k+=p,f-=p,0===f){q=!0;break}}if(a[m++]=t[j++],1===--d){q=!0;break}r--}while(n>=l||p>=l);if(q)break;0>r&&(r=0),r+=2}if(o=r,1>o&&(o=1),1===d){for(i=0;f>i;i++)a[m+i]=a[k+i];a[m+f]=t[j]}else{if(0===d)throw new Error;for(i=0;d>i;i++)a[m+i]=t[j+i]}}else for(i=0;d>i;i++)a[m+i]=t[j+i]}function j(c,d,e,f){var i=0;for(i=0;f>i;i++)t[i]=a[e+i];var j=c+d-1,k=f-1,m=e+f-1,n=0,p=0;if(a[m--]=a[j--],0!==--d){if(1===f){for(m-=d,j-=d,p=m+1,n=j+1,i=d-1;i>=0;i--)a[p+i]=a[n+i];return void(a[m]=t[k])}for(var q=o;;){var r=0,s=0,u=!1;do if(b(t[k],a[j])<0){if(a[m--]=a[j--],r++,s=0,0===--d){u=!0;break}}else if(a[m--]=t[k--],s++,r=0,1===--f){u=!0;break}while(q>(r|s));if(u)break;do{if(r=d-h(t[k],a,c,d,d-1,b),0!==r){for(m-=r,j-=r,d-=r,p=m+1,n=j+1,i=r-1;i>=0;i--)a[p+i]=a[n+i];if(0===d){u=!0;break}}if(a[m--]=t[k--],1===--f){u=!0;break}if(s=f-g(a[j],t,0,f,f-1,b),0!==s){for(m-=s,k-=s,f-=s,p=m+1,n=k+1,i=0;s>i;i++)a[p+i]=t[n+i];if(1>=f){u=!0;break}}if(a[m--]=a[j--],0===--d){u=!0;break}q--}while(r>=l||s>=l);if(u)break;0>q&&(q=0),q+=2}if(o=q,1>o&&(o=1),1===f){for(m-=d,j-=d,p=m+1,n=j+1,i=d-1;i>=0;i--)a[p+i]=a[n+i];a[m]=t[k]}else{if(0===f)throw new Error;for(n=m-(f-1),i=0;f>i;i++)a[n+i]=t[i]}}else for(n=m-(f-1),i=0;f>i;i++)a[n+i]=t[i]}var k,n,o=l,p=0,q=m,r=0,s=0;p=a.length,2*m>p&&(q=p>>>1);var t=[];r=120>p?5:1542>p?10:119151>p?19:40,k=[],n=[],this.mergeRuns=d,this.forceMergeRuns=e,this.pushRun=c}function j(a,b,e,g){e||(e=0),g||(g=a.length);var h=g-e;if(!(2>h)){var j=0;if(k>h)return j=d(a,e,g,b),void f(a,e,g,e+j,b);var l=new i(a,b),m=c(h);do{if(j=d(a,e,g,b),m>j){var n=h;n>m&&(n=m),f(a,e,e+n,e+j,b),j=n}l.pushRun(e,j),l.mergeRuns(),h-=j,e+=j}while(0!==h);l.forceMergeRuns()}}var k=32,l=7,m=256;a.exports=j},function(a,b){"use strict";function c(a){return a}function d(a,b,d,e){this._old=a,this._new=b,this._oldKeyGetter=d||c,this._newKeyGetter=e||c}function e(a,b,c,d){for(var e=0;e<a.length;e++){var f=d(a[e],e),g=b[f];null==g?(c.push(f),b[f]=e):(g.length||(b[f]=g=[g]),g.push(e))}}d.prototype={constructor:d,add:function(a){return this._add=a,this},update:function(a){return this._update=a,this},remove:function(a){return this._remove=a,this},execute:function(){var a,b=this._old,c=this._new,d=this._oldKeyGetter,f=this._newKeyGetter,g={},h={},i=[],j=[];for(e(b,g,i,d),e(c,h,j,f),a=0;a<b.length;a++){var k=i[a],l=h[k];if(null!=l){var m=l.length;m?(1===m&&(h[k]=null),l=l.unshift()):h[k]=null,this._update&&this._update(l,a)}else this._remove&&this._remove(a)}for(var a=0;a<j.length;a++){var k=j[a];if(h.hasOwnProperty(k)){var l=h[k];if(null==l)continue;if(l.length)for(var n=0,m=l.length;m>n;n++)this._add&&this._add(l[n]);else this._add&&this._add(l)}}}},a.exports=d},function(a,b){a.exports=function(a,b,c,d,e){d.eachRawSeriesByType(a,function(a){var e=a.getData(),f=a.get("symbol")||b,g=a.get("symbolSize");e.setVisual({legendSymbol:c||f,symbol:f,symbolSize:g}),d.isSeriesFiltered(a)||("function"==typeof g&&e.each(function(b){var c=a.getRawValue(b),d=a.getDataParams(b);e.setItemVisual(b,"symbolSize",g(c,d))}),e.each(function(a){var b=e.getItemModel(a),c=b.getShallow("symbol",!0),d=b.getShallow("symbolSize",!0);null!=c&&e.setItemVisual(a,"symbol",c),null!=d&&e.setItemVisual(a,"symbolSize",d)}))})}},function(a,b,c){var d=c(33);a.exports=function(){if(0!==d.debugMode)if(1==d.debugMode)for(var a in arguments)throw new Error(arguments[a]);else if(d.debugMode>1)for(var a in arguments)console.log(arguments[a])}},function(a,b,c){function d(a){e.call(this,a)}var e=c(37),f=c(7),g=c(1),h=c(148),i=new h(50);d.prototype={constructor:d,type:"image",brush:function(a,b){var c,d=this.style,e=d.image;if(d.bind(a,this,b),c="string"==typeof e?this._image:e,!c&&e){var f=i.get(e);if(!f)return c=new Image,c.onload=function(){c.onload=null;for(var a=0;a<f.pending.length;a++)f.pending[a].dirty()},f={image:c,pending:[this]},c.src=e,i.put(e,f),void(this._image=c);if(c=f.image,this._image=c,!c.width||!c.height)return void f.pending.push(this)}if(c){var g=d.width||c.width,h=d.height||c.height,j=d.x||0,k=d.y||0;if(!c.width||!c.height)return;if(this.setTransform(a),d.sWidth&&d.sHeight){var l=d.sx||0,m=d.sy||0;a.drawImage(c,l,m,d.sWidth,d.sHeight,j,k,g,h)}else if(d.sx&&d.sy){var l=d.sx,m=d.sy,n=g-l,o=h-m;a.drawImage(c,l,m,n,o,j,k,g,h)}else a.drawImage(c,j,k,g,h);null==d.width&&(d.width=g),null==d.height&&(d.height=h),this.restoreTransform(a),null!=d.text&&this.drawRectText(a,this.getBoundingRect())}},getBoundingRect:function(){var a=this.style;return this._rect||(this._rect=new f(a.x||0,a.y||0,a.width||0,a.height||0)),this._rect}},g.inherits(d,e),a.exports=d},function(a,b,c){function d(a){return a instanceof Array||(a=[+a,+a]),a}function e(a,b,c){i.Group.call(this),this.updateData(a,b,c)}function f(a,b){this.parent.drift(a,b)}var g=c(1),h=c(26),i=c(3),j=c(4),k=e.prototype;k._createSymbol=function(a,b,c){this.removeAll();var e=b.hostModel,g=b.getItemVisual(c,"color"),j=h.createSymbol(a,-.5,-.5,1,1,g);j.attr({z2:100,culling:!0,scale:[0,0]}),j.drift=f;var k=d(b.getItemVisual(c,"symbolSize"));i.initProps(j,{scale:k},e,c),this._symbolType=a,this.add(j)},k.stopSymbolAnimation=function(a){this.childAt(0).stopAnimation(a)},k.getSymbolPath=function(){return this.childAt(0)},k.getScale=function(){return this.childAt(0).scale},k.highlight=function(){this.childAt(0).trigger("emphasis")},k.downplay=function(){this.childAt(0).trigger("normal")},k.setZ=function(a,b){var c=this.childAt(0);c.zlevel=a,c.z=b},k.setDraggable=function(a){var b=this.childAt(0);b.draggable=a,b.cursor=a?"move":"pointer"},k.updateData=function(a,b,c){this.silent=!1;var e=a.getItemVisual(b,"symbol")||"circle",f=a.hostModel,g=d(a.getItemVisual(b,"symbolSize"));if(e!==this._symbolType)this._createSymbol(e,a,b);else{var h=this.childAt(0);i.updateProps(h,{scale:g},f,b)}this._updateCommon(a,b,g,c),this._seriesModel=f};var l=["itemStyle","normal"],m=["itemStyle","emphasis"],n=["label","normal"],o=["label","emphasis"];k._updateCommon=function(a,b,c,e){var f=this.childAt(0),h=a.hostModel,k=a.getItemVisual(b,"color");"image"!==f.type&&f.useStyle({strokeNoScale:!0}),e=e||null;var p=e&&e.itemStyle,q=e&&e.hoverItemStyle,r=e&&e.symbolRotate,s=e&&e.symbolOffset,t=e&&e.labelModel,u=e&&e.hoverLabelModel,v=e&&e.hoverAnimation;if(!e||a.hasItemOption){var w=a.getItemModel(b);p=w.getModel(l).getItemStyle(["color"]),q=w.getModel(m).getItemStyle(),r=w.getShallow("symbolRotate"),s=w.getShallow("symbolOffset"),t=w.getModel(n),u=w.getModel(o),v=w.getShallow("hoverAnimation")}else q=g.extend({},q);var x=f.style;f.rotation=(r||0)*Math.PI/180||0,s&&f.attr("position",[j.parsePercent(s[0],c[0]),j.parsePercent(s[1],c[1])]),f.setColor(k),f.setStyle(p);var y=a.getItemVisual(b,"opacity");null!=y&&(x.opacity=y);for(var z,A,B=a.dimensions.slice();B.length&&(z=B.pop(),A=a.getDimensionInfo(z).type,"ordinal"===A||"time"===A););null!=z&&t.getShallow("show")?(i.setText(x,t,k),x.text=g.retrieve(h.getFormattedLabel(b,"normal"),a.get(z,b))):x.text="",null!=z&&u.getShallow("show")?(i.setText(q,u,k),q.text=g.retrieve(h.getFormattedLabel(b,"emphasis"),a.get(z,b))):q.text="";var C=d(a.getItemVisual(b,"symbolSize"));if(f.off("mouseover").off("mouseout").off("emphasis").off("normal"),f.hoverStyle=q,i.setHoverStyle(f),v&&h.ifEnableAnimation()){var D=function(){var a=C[1]/C[0];this.animateTo({scale:[Math.max(1.1*C[0],C[0]+3),Math.max(1.1*C[1],C[1]+3*a)]},400,"elasticOut")},E=function(){this.animateTo({scale:C},400,"elasticOut")};f.on("mouseover",D).on("mouseout",E).on("emphasis",D).on("normal",E)}},k.fadeOut=function(a){var b=this.childAt(0);this.silent=!0,b.style.text="",i.updateProps(b,{scale:[0,0]},this._seriesModel,this.dataIndex,a)},g.inherits(e,i.Group),a.exports=e},function(a,b,c){function d(a){var b={componentType:a.mainType};return b[a.mainType+"Index"]=a.componentIndex,b}function e(a,b,c){var d,e,f=m(b-a.rotation);return n(f)?(e=c>0?"top":"bottom",d="center"):n(f-r)?(e=c>0?"bottom":"top",d="center"):(e="middle",d=f>0&&r>f?c>0?"right":"left":c>0?"left":"right"),{rotation:f,textAlign:d,verticalAlign:e}}function f(a,b,c,d){var e,f,g=m(c-a.rotation),h=d[0]>d[1],i="start"===b&&!h||"start"!==b&&h;return n(g-r/2)?(f=i?"bottom":"top",e="center"):n(g-1.5*r)?(f=i?"top":"bottom",e="center"):(f="middle",e=1.5*r>g&&g>r/2?i?"left":"right":i?"right":"left"),{rotation:g,textAlign:e,verticalAlign:f}}function g(a){var b=a.get("tooltip");return a.get("silent")||!(a.get("triggerEvent")||b&&b.show)}var h=c(1),i=c(8),j=c(3),k=c(9),l=c(4),m=l.remRadian,n=l.isRadianAroundZero,o=c(5),p=o.applyTransform,q=h.retrieve,r=Math.PI,s=function(a,b){this.opt=b,this.axisModel=a,h.defaults(b,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new j.Group;var c=new j.Group({position:b.position.slice(),rotation:b.rotation});c.updateTransform(),this._transform=c.transform,this._dumbGroup=c};s.prototype={constructor:s,hasBuilder:function(a){return!!t[a]},add:function(a){t[a].call(this)},getGroup:function(){return this.group}};var t={axisLine:function(){var a=this.opt,b=this.axisModel;if(b.get("axisLine.show")){var c=this.axisModel.axis.getExtent(),d=this._transform,e=[c[0],0],f=[c[1],0];d&&(p(e,e,d),p(f,f,d)),this.group.add(new j.Line(j.subPixelOptimizeLine({anid:"line",shape:{x1:e[0],y1:e[1],x2:f[0],y2:f[1]},style:h.extend({lineCap:"round"},b.getModel("axisLine.lineStyle").getLineStyle()),strokeContainThreshold:a.strokeContainThreshold||5,silent:!0,z2:1})))}},axisTick:function(){var a=this.axisModel;if(a.get("axisTick.show"))for(var b=a.axis,c=a.getModel("axisTick"),d=this.opt,e=c.getModel("lineStyle"),f=c.get("length"),g=v(c,d.labelInterval),i=b.getTicksCoords(c.get("alignWithLabel")),k=b.scale.getTicks(),l=[],m=[],n=this._transform,o=0;o<i.length;o++)if(!u(b,o,g)){var q=i[o];l[0]=q,l[1]=0,m[0]=q,m[1]=d.tickDirection*f,n&&(p(l,l,n),p(m,m,n)),this.group.add(new j.Line(j.subPixelOptimizeLine({anid:"tick_"+k[o],shape:{x1:l[0],y1:l[1],x2:m[0],y2:m[1]},style:h.defaults(e.getLineStyle(),{stroke:a.get("axisLine.lineStyle.color")}),z2:2,silent:!0})))}},axisLabel:function(){function a(a,b){var c=a&&a.getBoundingRect().clone(),d=b&&b.getBoundingRect().clone();return c&&d?(c.applyTransform(a.getLocalTransform()),d.applyTransform(b.getLocalTransform()),c.intersect(d)):void 0}var b=this.opt,c=this.axisModel,f=q(b.axisLabelShow,c.get("axisLabel.show"));if(f){var h=c.axis,i=c.getModel("axisLabel"),l=i.getModel("textStyle"),m=i.get("margin"),n=h.scale.getTicks(),o=c.getFormattedLabels(),p=q(b.labelRotation,i.get("rotate"))||0;p=p*r/180;for(var s=e(b,p,b.labelDirection),t=c.get("data"),v=[],w=g(c),x=c.get("triggerEvent"),y=0;y<n.length;y++)if(!u(h,y,b.labelInterval)){var z=l;t&&t[y]&&t[y].textStyle&&(z=new k(t[y].textStyle,l,c.ecModel));var A=z.getTextColor()||c.get("axisLine.lineStyle.color"),B=h.dataToCoord(n[y]),C=[B,b.labelOffset+b.labelDirection*m],D=h.scale.getLabel(n[y]),E=new j.Text({anid:"label_"+n[y],style:{text:o[y],textAlign:z.get("align",!0)||s.textAlign,textVerticalAlign:z.get("baseline",!0)||s.verticalAlign,textFont:z.getFont(),fill:"function"==typeof A?A(D):A},position:C,rotation:s.rotation,silent:w,z2:10});x&&(E.eventData=d(c),E.eventData.targetType="axisLabel",E.eventData.value=D),this._dumbGroup.add(E),E.updateTransform(),v.push(E),this.group.add(E),E.decomposeTransform()}if("category"!==h.type){if(c.getMin?c.getMin():c.get("min")){var F=v[0],G=v[1];a(F,G)&&(F.ignore=!0)}if(c.getMax?c.getMax():c.get("max")){var H=v[v.length-1],I=v[v.length-2];a(I,H)&&(H.ignore=!0)}}}},axisName:function(){var a=this.opt,b=this.axisModel,c=q(a.axisName,b.get("name"));if(c){var k,l=b.get("nameLocation"),m=a.nameDirection,n=b.getModel("nameTextStyle"),o=b.get("nameGap")||0,p=this.axisModel.axis.getExtent(),s=p[0]>p[1]?-1:1,t=["start"===l?p[0]-s*o:"end"===l?p[1]+s*o:(p[0]+p[1])/2,"middle"===l?a.labelOffset+m*o:0],u=b.get("nameRotate");null!=u&&(u=u*r/180);var v;"middle"===l?k=e(a,null!=u?u:a.rotation,m):(k=f(a,l,u||0,p),v=a.axisNameAvailableWidth,null!=v&&(v=Math.abs(v/Math.sin(k.rotation)),!isFinite(v)&&(v=null)));var w=n.getFont(),x=b.get("nameTruncate",!0)||{},y=x.ellipsis,z=q(x.maxWidth,v),A=null!=y&&null!=z?i.truncateText(c,z,w,y,{minChar:2,placeholder:x.placeholder}):c,B=b.get("tooltip",!0),C=b.mainType,D={componentType:C,name:c,$vars:["name"]};D[C+"Index"]=b.componentIndex;var E=new j.Text({anid:"name",__fullText:c,__truncatedText:A,style:{text:A,textFont:w,fill:n.getTextColor()||b.get("axisLine.lineStyle.color"),textAlign:k.textAlign,textVerticalAlign:k.verticalAlign},position:t,rotation:k.rotation,silent:g(b),z2:1,tooltip:B&&B.show?h.extend({content:c,formatter:function(){return c},formatterParams:D},B):null});b.get("triggerEvent")&&(E.eventData=d(b),E.eventData.targetType="axisName",E.eventData.name=c),this._dumbGroup.add(E),E.updateTransform(),this.group.add(E),E.decomposeTransform()}}},u=s.ifIgnoreOnTick=function(a,b,c){var d,e=a.scale;return"ordinal"===e.type&&("function"==typeof c?(d=e.getTicks()[b],!c(d,e.getLabel(d))):b%(c+1))},v=s.getInterval=function(a,b){var c=a.get("interval");return null!=c&&"auto"!=c||(c=b),c};a.exports=s},function(a,b,c){function d(a){return g.isObject(a)&&null!=a.value?a.value:a}function e(){return"category"===this.get("type")&&g.map(this.get("data"),d)}function f(){return h.getFormattedLabels(this.axis,this.get("axisLabel.formatter"))}var g=c(1),h=c(22);a.exports={getFormattedLabels:f,getCategories:e}},function(a,b,c){var d=c(80),e=c(1),f=c(10),g=c(13),h=["value","category","time","log"];a.exports=function(a,b,c,i){e.each(h,function(f){b.extend({type:a+"Axis."+f,mergeDefaultAndTheme:function(b,d){var h=this.layoutMode,i=h?g.getLayoutParams(b):{},j=d.getTheme();e.merge(b,j.get(f+"Axis")),e.merge(b,this.getDefaultOption()),b.type=c(a,b),h&&g.mergeLayoutParam(b,i,h)},defaultOption:e.mergeAll([{},d[f+"Axis"],i],!0)})}),f.registerSubTypeDefaulter(a+"Axis",e.curry(c,a))}},function(a,b,c){"use strict";function d(a,b){return b.type||(b.data?"category":"value")}var e=c(10),f=c(1),g=c(52),h=e.extend({type:"cartesian2dAxis",axis:null,init:function(){h.superApply(this,"init",arguments),this._resetRange()},mergeOption:function(){h.superApply(this,"mergeOption",arguments),this._resetRange()},restoreData:function(){h.superApply(this,"restoreData",arguments),this._resetRange()},setRange:function(a,b){this.option.rangeStart=a,this.option.rangeEnd=b},getMin:function(){var a=this.option;return null!=a.rangeStart?a.rangeStart:a.min},getMax:function(){var a=this.option;return null!=a.rangeEnd?a.rangeEnd:a.max},getNeedCrossZero:function(){var a=this.option;return null==a.rangeStart&&null==a.rangeEnd&&!a.scale},findGridModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.get("gridIndex"),id:this.get("gridId")})[0]},_resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}});f.merge(h.prototype,c(51));var i={offset:0};g("x",h,d,i),g("y",h,d,i),a.exports=h},function(a,b,c){function d(a,b,c){return a.findGridModel()===b}function e(a){var b,c=a.model,d=c.getFormattedLabels(),e=1,f=d.length;f>40&&(e=Math.ceil(f/40));for(var g=0;f>g;g+=e)if(!a.isLabelIgnored(g)){var h=c.getTextRect(d[g]);b?b.union(h):b=h}return b}function f(a,b,c){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(a,b,c),this._model=a}function g(a,b){var c=a.getExtent(),d=c[0]+c[1];a.toGlobalCoord="x"===a.dim?function(a){return a+b}:function(a){return d-a+b},a.toLocalCoord="x"===a.dim?function(a){return a-b}:function(a){return d-a+b}}function h(a,b){return l.map(s,function(c){var d=b.queryComponents({mainType:c,index:a.get(c+"Index"),id:a.get(c+"Id")})[0];return d})}function i(a){return"cartesian2d"===a.get("coordinateSystem")}var j=c(13),k=c(22),l=c(1),m=c(117),n=c(115),o=l.each,p=k.ifAxisCrossZero,q=k.niceScaleExtent;c(118);var r=f.prototype;r.type="grid",r.getRect=function(){return this._rect},r.update=function(a,b){function c(a){var b=d[a];for(var c in b){var e=b[c];if(e&&("category"===e.type||!p(e)))return!0}return!1}var d=this._axesMap;this._updateScale(a,this._model),o(d.x,function(a){q(a,a.model)}),o(d.y,function(a){q(a,a.model)}),o(d.x,function(a){c("y")&&(a.onZero=!1)}),o(d.y,function(a){c("x")&&(a.onZero=!1)}),this.resize(this._model,b)},r.resize=function(a,b){function c(){o(f,function(a){var b=a.isHorizontal(),c=b?[0,d.width]:[0,d.height],e=a.inverse?1:0;a.setExtent(c[e],c[1-e]),g(a,b?d.x:d.y)})}var d=j.getLayoutRect(a.getBoxLayoutParams(),{width:b.getWidth(),height:b.getHeight()});this._rect=d;var f=this._axesList;c(),a.get("containLabel")&&(o(f,function(a){if(!a.model.get("axisLabel.inside")){var b=e(a);if(b){var c=a.isHorizontal()?"height":"width",f=a.model.get("axisLabel.margin");d[c]-=b[c]+f,"top"===a.position?d.y+=b.height+f:"left"===a.position&&(d.x+=b.width+f)}}}),c())},r.getAxis=function(a,b){var c=this._axesMap[a];if(null!=c){if(null==b)for(var d in c)return c[d];return c[b]}},r.getCartesian=function(a,b){if(null!=a&&null!=b){var c="x"+a+"y"+b;return this._coordsMap[c]}for(var d=0,e=this._coordsList;d<e.length;d++)if(e[d].getAxis("x").index===a||e[d].getAxis("y").index===b)return e[d]},r._initCartesian=function(a,b,c){function e(c){return function(e,i){if(d(e,a,b)){var j=e.get("position");"x"===c?"top"!==j&&"bottom"!==j&&(j="bottom",f[j]&&(j="top"===j?"bottom":"top")):"left"!==j&&"right"!==j&&(j="left",f[j]&&(j="left"===j?"right":"left")),f[j]=!0;var l=new n(c,k.createScaleByModel(e),[0,0],e.get("type"),j),m="category"===l.type;l.onBand=m&&e.get("boundaryGap"),l.inverse=e.get("inverse"),l.onZero=e.get("axisLine.onZero"),e.axis=l,l.model=e,l.grid=this,l.index=i,this._axesList.push(l),g[c][i]=l,h[c]++}}}var f={left:!1,right:!1,top:!1,bottom:!1},g={x:{},y:{}},h={x:0,y:0};return b.eachComponent("xAxis",e("x"),this),b.eachComponent("yAxis",e("y"),this),h.x&&h.y?(this._axesMap=g,void o(g.x,function(a,b){o(g.y,function(c,d){var e="x"+b+"y"+d,f=new m(e);f.grid=this,this._coordsMap[e]=f,this._coordsList.push(f),f.addAxis(a),f.addAxis(c)},this)},this)):(this._axesMap={},void(this._axesList=[]))},r._updateScale=function(a,b){function c(a,b,c){o(c.coordDimToDataDim(b.dim),function(c){b.scale.unionExtent(a.getDataExtent(c,"ordinal"!==b.scale.type))})}l.each(this._axesList,function(a){a.scale.setExtent(1/0,-(1/0))}),a.eachSeries(function(e){if(i(e)){var f=h(e,a),g=f[0],j=f[1];if(!d(g,b,a)||!d(j,b,a))return;var k=this.getCartesian(g.componentIndex,j.componentIndex),l=e.getData(),m=k.getAxis("x"),n=k.getAxis("y");"list"===l.type&&(c(l,m,e),c(l,n,e))}},this)};var s=["xAxis","yAxis"];f.create=function(a,b){var c=[];return a.eachComponent("grid",function(d,e){var g=new f(d,a,b);g.name="grid_"+e,g.resize(d,b),d.coordinateSystem=g,c.push(g)}),a.eachSeries(function(b){if(i(b)){var c=h(b,a),d=c[0],e=c[1],f=d.findGridModel(),g=f.coordinateSystem;b.coordinateSystem=g.getCartesian(d.componentIndex,e.componentIndex)}}),c},f.dimensions=m.prototype.dimensions,c(23).register("cartesian2d",f),a.exports=f},function(a,b){a.exports=function(a,b){b.eachSeriesByType(a,function(a){var b=a.getData(),c=a.coordinateSystem;if(c){var d=c.dimensions;"singleAxis"===c.type?b.each(d[0],function(a,d){b.setItemLayout(d,isNaN(a)?[NaN,NaN]:c.dataToPoint(a))}):b.each(d,function(a,d,e){b.setItemLayout(e,isNaN(a)||isNaN(d)?[NaN,NaN]:c.dataToPoint([a,d]))},!0)}})}},function(a,b){a.exports={clearColorPalette:function(){this._colorIdx=0,this._colorNameMap={}},getColorFromPalette:function(a,b){b=b||this;var c=b._colorIdx||0,d=b._colorNameMap||(b._colorNameMap={});if(d[a])return d[a];var e=this.get("color",!0)||[];if(e.length){var f=e[c];return a&&(d[a]=f),b._colorIdx=(c+1)%e.length,f}}}},function(a,b,c){var d=c(34),e=c(43),f=c(21),g=function(){this.group=new d,this.uid=e.getUID("viewComponent")};g.prototype={constructor:g,init:function(a,b){},render:function(a,b,c,d){},dispose:function(){}};var h=g.prototype;h.updateView=h.updateLayout=h.updateVisual=function(a,b,c,d){},f.enableClassExtend(g),f.enableClassManagement(g,{registerWhenExtend:!0}),a.exports=g},function(a,b,c){"use strict";var d=c(62),e=c(20),f=c(86),g=c(164),h=c(1),i=function(a){f.call(this,a),e.call(this,a),g.call(this,a),this.id=a.id||d()};i.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,drift:function(a,b){switch(this.draggable){case"horizontal":b=0;break;case"vertical":a=0}var c=this.transform;c||(c=this.transform=[1,0,0,1,0,0]),c[4]+=a,c[5]+=b,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(a,b){},attrKV:function(a,b){if("position"===a||"scale"===a||"origin"===a){if(b){var c=this[a];c||(c=this[a]=[]),c[0]=b[0],c[1]=b[1]}}else this[a]=b},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(a,b){if("string"==typeof a)this.attrKV(a,b);else if(h.isObject(a))for(var c in a)a.hasOwnProperty(c)&&this.attrKV(c,a[c]);return this.dirty(!1),this},setClipPath:function(a){var b=this.__zr;b&&a.addSelfToZr(b),this.clipPath&&this.clipPath!==a&&this.removeClipPath(),this.clipPath=a,a.__zr=b,a.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var a=this.clipPath;a&&(a.__zr&&a.removeSelfFromZr(a.__zr),a.__zr=null,a.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(a){this.__zr=a;var b=this.animators;if(b)for(var c=0;c<b.length;c++)a.animation.addAnimator(b[c]);this.clipPath&&this.clipPath.addSelfToZr(a)},removeSelfFromZr:function(a){this.__zr=null;var b=this.animators;if(b)for(var c=0;c<b.length;c++)a.animation.removeAnimator(b[c]);this.clipPath&&this.clipPath.removeSelfFromZr(a)}},h.mixin(i,g),h.mixin(i,f),h.mixin(i,e),a.exports=i},function(a,b,c){function d(a,b){return a[b]}function e(a,b,c){a[b]=c}function f(a,b,c){return(b-a)*c+a}function g(a,b,c){return c>.5?b:a}function h(a,b,c,d,e){var g=a.length;if(1==e)for(var h=0;g>h;h++)d[h]=f(a[h],b[h],c);else for(var i=a[0].length,h=0;g>h;h++)for(var j=0;i>j;j++)d[h][j]=f(a[h][j],b[h][j],c)}function i(a,b,c){var d=a.length,e=b.length;if(d!==e){var f=d>e;if(f)a.length=e;else for(var g=d;e>g;g++)a.push(1===c?b[g]:t.call(b[g]))}for(var h=a[0]&&a[0].length,g=0;g<a.length;g++)if(1===c)isNaN(a[g])&&(a[g]=b[g]);else for(var i=0;h>i;i++)isNaN(a[g][i])&&(a[g][i]=b[g][i])}function j(a,b,c){if(a===b)return!0;var d=a.length;if(d!==b.length)return!1;if(1===c){for(var e=0;d>e;e++)if(a[e]!==b[e])return!1}else for(var f=a[0].length,e=0;d>e;e++)for(var g=0;f>g;g++)if(a[e][g]!==b[e][g])return!1;return!0}function k(a,b,c,d,e,f,g,h,i){var j=a.length;if(1==i)for(var k=0;j>k;k++)h[k]=l(a[k],b[k],c[k],d[k],e,f,g);else for(var m=a[0].length,k=0;j>k;k++)for(var n=0;m>n;n++)h[k][n]=l(a[k][n],b[k][n],c[k][n],d[k][n],e,f,g)}function l(a,b,c,d,e,f,g){var h=.5*(c-a),i=.5*(d-b);return(2*(b-c)+h+i)*g+(-3*(b-c)-2*h-i)*f+h*e+b}function m(a){if(s(a)){var b=a.length;if(s(a[0])){for(var c=[],d=0;b>d;d++)c.push(t.call(a[d]));return c}return t.call(a)}return a}function n(a){return a[0]=Math.floor(a[0]),a[1]=Math.floor(a[1]),a[2]=Math.floor(a[2]),
+"rgba("+a.join(",")+")"}function o(a,b,c,d,e){var m=a._getter,o=a._setter,r="spline"===b,t=d.length;if(t){var u,v=d[0].value,w=s(v),x=!1,y=!1,z=w&&s(v[0])?2:1;d.sort(function(a,b){return a.time-b.time}),u=d[t-1].time;for(var A=[],B=[],C=d[0].value,D=!0,E=0;t>E;E++){A.push(d[E].time/u);var F=d[E].value;if(w&&j(F,C,z)||!w&&F===C||(D=!1),C=F,"string"==typeof F){var G=q.parse(F);G?(F=G,x=!0):y=!0}B.push(F)}if(!D){for(var H=B[t-1],E=0;t-1>E;E++)w?i(B[E],H,z):!isNaN(B[E])||isNaN(H)||y||x||(B[E]=H);w&&i(m(a._target,e),H,z);var I,J,K,L,M,N,O=0,P=0;if(x)var Q=[0,0,0,0];var R=function(a,b){var c;if(0>b)c=0;else if(P>b){for(I=Math.min(O+1,t-1),c=I;c>=0&&!(A[c]<=b);c--);c=Math.min(c,t-2)}else{for(c=O;t>c&&!(A[c]>b);c++);c=Math.min(c-1,t-2)}O=c,P=b;var d=A[c+1]-A[c];if(0!==d)if(J=(b-A[c])/d,r)if(L=B[c],K=B[0===c?c:c-1],M=B[c>t-2?t-1:c+1],N=B[c>t-3?t-1:c+2],w)k(K,L,M,N,J,J*J,J*J*J,m(a,e),z);else{var i;if(x)i=k(K,L,M,N,J,J*J,J*J*J,Q,1),i=n(Q);else{if(y)return g(L,M,J);i=l(K,L,M,N,J,J*J,J*J*J)}o(a,e,i)}else if(w)h(B[c],B[c+1],J,m(a,e),z);else{var i;if(x)h(B[c],B[c+1],J,Q,1),i=n(Q);else{if(y)return g(B[c],B[c+1],J);i=f(B[c],B[c+1],J)}o(a,e,i)}},S=new p({target:a._target,life:u,loop:a._loop,delay:a._delay,onframe:R,ondestroy:c});return b&&"spline"!==b&&(S.easing=b),S}}}var p=c(142),q=c(18),r=c(1),s=r.isArrayLike,t=Array.prototype.slice,u=function(a,b,c,f){this._tracks={},this._target=a,this._loop=b||!1,this._getter=c||d,this._setter=f||e,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};u.prototype={when:function(a,b){var c=this._tracks;for(var d in b){if(!c[d]){c[d]=[];var e=this._getter(this._target,d);if(null==e)continue;0!==a&&c[d].push({time:0,value:m(e)})}c[d].push({time:a,value:b[d]})}return this},during:function(a){return this._onframeList.push(a),this},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var a=this._doneList,b=a.length,c=0;b>c;c++)a[c].call(this)},start:function(a){var b,c=this,d=0,e=function(){d--,d||c._doneCallback()};for(var f in this._tracks){var g=o(this,a,e,this._tracks[f],f);g&&(this._clipList.push(g),d++,this.animation&&this.animation.addClip(g),b=g)}if(b){var h=b.onframe;b.onframe=function(a,b){h(a,b);for(var d=0;d<c._onframeList.length;d++)c._onframeList[d](a,b)}}return d||this._doneCallback(),this},stop:function(a){for(var b=this._clipList,c=this.animation,d=0;d<b.length;d++){var e=b[d];a&&e.onframe(this._target,1),c&&c.removeClip(e)}b.length=0},delay:function(a){return this._delay=a,this},done:function(a){return a&&this._doneList.push(a),this},getClips:function(){return this._clipList}},a.exports=u},function(a,b){a.exports="undefined"!=typeof window&&(window.requestAnimationFrame||window.msRequestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(a){setTimeout(a,16)}},function(a,b){var c=2*Math.PI;a.exports={normalizeRadian:function(a){return a%=c,0>a&&(a+=c),a}}},function(a,b){var c=2311;a.exports=function(){return c++}},function(a,b){var c=function(a,b){this.image=a,this.repeat=b,this.type="pattern"};c.prototype.getCanvasPattern=function(a){return this._canvasPattern||(this._canvasPattern=a.createPattern(this.image,this.repeat))},a.exports=c},function(a,b){function c(a,b,c){var d=b.x,e=b.x2,f=b.y,g=b.y2;b.global||(d=d*c.width+c.x,e=e*c.width+c.x,f=f*c.height+c.y,g=g*c.height+c.y);var h=a.createLinearGradient(d,f,e,g);return h}function d(a,b,c){var d=c.width,e=c.height,f=Math.min(d,e),g=b.x,h=b.y,i=b.r;b.global||(g=g*d+c.x,h=h*e+c.y,i*=f);var j=a.createRadialGradient(g,h,0,g,h,i);return j}var e=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],f=function(a){this.extendFrom(a)};f.prototype={constructor:f,fill:"#000000",stroke:null,opacity:1,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,textFill:"#000",textStroke:null,textPosition:"inside",textBaseline:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textTransform:!1,textRotation:0,blend:null,bind:function(a,b,c){for(var d=this,f=c&&c.style,g=!f,h=0;h<e.length;h++){var i=e[h],j=i[0];(g||d[j]!==f[j])&&(a[j]=d[j]||i[1])}if((g||d.fill!==f.fill)&&(a.fillStyle=d.fill),(g||d.stroke!==f.stroke)&&(a.strokeStyle=d.stroke),(g||d.opacity!==f.opacity)&&(a.globalAlpha=null==d.opacity?1:d.opacity),(g||d.blend!==f.blend)&&(a.globalCompositeOperation=d.blend||"source-over"),this.hasStroke()){var k=d.lineWidth;a.lineWidth=k/(this.strokeNoScale&&b&&b.getLineScale?b.getLineScale():1)}},hasFill:function(){var a=this.fill;return null!=a&&"none"!==a},hasStroke:function(){var a=this.stroke;return null!=a&&"none"!==a&&this.lineWidth>0},extendFrom:function(a,b){if(a){var c=this;for(var d in a)!a.hasOwnProperty(d)||!b&&c.hasOwnProperty(d)||(c[d]=a[d])}},set:function(a,b){"string"==typeof a?this[a]=b:this.extendFrom(a,!0)},clone:function(){var a=new this.constructor;return a.extendFrom(this,!0),a},getGradient:function(a,b,e){for(var f="radial"===b.type?d:c,g=f(a,b,e),h=b.colorStops,i=0;i<h.length;i++)g.addColorStop(h[i].offset,h[i].color);return g}};for(var g=f.prototype,h=0;h<e.length;h++){var i=e[h];i[0]in g||(g[i[0]]=i[1])}f.getGradient=g.getGradient,a.exports=f},function(a,b,c){var d=c(154),e=c(153);a.exports={buildPath:function(a,b,c){var f=b.points,g=b.smooth;if(f&&f.length>=2){if(g&&"spline"!==g){var h=e(f,g,c,b.smoothConstraint);a.moveTo(f[0][0],f[0][1]);for(var i=f.length,j=0;(c?i:i-1)>j;j++){var k=h[2*j],l=h[2*j+1],m=f[(j+1)%i];a.bezierCurveTo(k[0],k[1],l[0],l[1],m[0],m[1])}}else{"spline"===g&&(f=d(f,c)),a.moveTo(f[0][0],f[0][1]);for(var j=1,n=f.length;n>j;j++)a.lineTo(f[j][0],f[j][1])}c&&a.closePath()}}}},function(a,b,c){var d=c(1);a.exports={updateSelectedMap:function(a){this._selectTargetMap=d.reduce(a||[],function(a,b){return a[b.name]=b,a},{})},select:function(a){var b=this._selectTargetMap,c=b[a],e=this.get("selectedMode");"single"===e&&d.each(b,function(a){a.selected=!1}),c&&(c.selected=!0)},unSelect:function(a){var b=this._selectTargetMap[a];b&&(b.selected=!1)},toggleSelected:function(a){var b=this._selectTargetMap[a];return null!=b?(this[b.selected?"unSelect":"select"](a),b.selected):void 0},isSelected:function(a){var b=this._selectTargetMap[a];return b&&b.selected}}},function(a,b,c){function d(a){e.defaultEmphasis(a.label,e.LABEL_OPTIONS)}var e=c(11),f=c(1),g=c(12),h=c(8),i=h.addCommas,j=h.encodeHTML,k=c(2).extendComponentModel({type:"marker",dependencies:["series","grid","polar","geo"],init:function(a,b,c,d){this.mergeDefaultAndTheme(a,c),this.mergeOption(a,c,d.createdBySelf,!0)},ifEnableAnimation:function(){if(g.node)return!1;var a=this.__hostSeries;return this.getShallow("animation")&&a&&a.ifEnableAnimation()},mergeOption:function(a,b,c,e){var g=this.constructor,h=this.mainType+"Model";c||b.eachSeries(function(a){var c=a.get(this.mainType),i=a[h];if(!c||!c.data)return void(a[h]=null);if(i)i.mergeOption(c,b,!0);else{e&&d(c),f.each(c.data,function(a){a instanceof Array?(d(a[0]),d(a[1])):d(a)});var j={mainType:this.mainType,seriesIndex:a.seriesIndex,name:a.name,createdBySelf:!0};i=new g(c,this,b,j),i.__hostSeries=a}a[h]=i},this)},formatTooltip:function(a){var b=this.getData(),c=this.getRawValue(a),d=f.isArray(c)?f.map(c,i).join(", "):i(c),e=b.getName(a),g=this.name;return(null!=c||e)&&(g+="<br />"),e&&(g+=j(e),null!=c&&(g+=" : ")),null!=c&&(g+=d),g},getData:function(){return this._data},setData:function(a){this._data=a}});f.mixin(k,e.dataFormatMixin),a.exports=k},function(a,b,c){a.exports=c(2).extendComponentView({type:"marker",init:function(){this.markerGroupMap={}},render:function(a,b,c){var d=this.markerGroupMap;for(var e in d)d[e].__keep=!1;var f=this.type+"Model";b.eachSeries(function(a){var d=a[f];d&&this.renderSeries(a,d,b,c)},this);for(var e in d)d[e].__keep||this.group.remove(d[e].group)},renderSeries:function(){}})},function(a,b,c){function d(a){return!(isNaN(parseFloat(a.x))&&isNaN(parseFloat(a.y)))}function e(a){return!isNaN(parseFloat(a.x))&&!isNaN(parseFloat(a.y))}function f(a,b,c){var d=-1;do d=Math.max(i.getPrecision(a.get(b,c)),d),a=a.stackedOn;while(a);return d}function g(a,b,c,d,e,g){var h=[],i=q(b,d,a),j=b.indexOfNearest(d,i,!0);h[e]=b.get(c,j,!0),h[g]=b.get(d,j,!0);var k=f(b,d,j);return k>=0&&(h[g]=+h[g].toFixed(k)),h}var h=c(1),i=c(4),j=h.indexOf,k=h.curry,l={min:k(g,"min"),max:k(g,"max"),average:k(g,"average")},m=function(a,b){var c=a.getData(),d=a.coordinateSystem;if(b&&!e(b)&&!h.isArray(b.coord)&&d){var f=d.dimensions,g=n(b,c,d,a);if(b=h.clone(b),b.type&&l[b.type]&&g.baseAxis&&g.valueAxis){var i=j(f,g.baseAxis.dim),k=j(f,g.valueAxis.dim);b.coord=l[b.type](c,g.baseDataDim,g.valueDataDim,i,k),b.value=b.coord[k]}else{for(var m=[null!=b.xAxis?b.xAxis:b.radiusAxis,null!=b.yAxis?b.yAxis:b.angleAxis],o=0;2>o;o++)if(l[m[o]]){var p=a.coordDimToDataDim(f[o])[0];m[o]=q(c,p,m[o])}b.coord=m}}return b},n=function(a,b,c,d){var e={};return null!=a.valueIndex||null!=a.valueDim?(e.valueDataDim=null!=a.valueIndex?b.getDimension(a.valueIndex):a.valueDim,e.valueAxis=c.getAxis(d.dataDimToCoordDim(e.valueDataDim)),e.baseAxis=c.getOtherAxis(e.valueAxis),e.baseDataDim=d.coordDimToDataDim(e.baseAxis.dim)[0]):(e.baseAxis=d.getBaseAxis(),e.valueAxis=c.getOtherAxis(e.baseAxis),e.baseDataDim=d.coordDimToDataDim(e.baseAxis.dim)[0],e.valueDataDim=d.coordDimToDataDim(e.valueAxis.dim)[0]),e},o=function(a,b){return!(a&&a.containData&&b.coord&&!d(b))||a.containData(b.coord)},p=function(a,b,c,d){return 2>d?a.coord&&a.coord[d]:a.value},q=function(a,b,c){if("average"===c){var d=0,e=0;return a.each(b,function(a,b){isNaN(a)||(d+=a,e++)},!0),d/e}return a.getDataExtent(b,!0)["max"===c?1:0]};a.exports={dataTransform:m,dataFilter:o,dimValueGetter:p,getAxisInfo:n,numCalculate:q}},function(a,b){a.exports=function(a,b){var c=b.findComponents({mainType:"legend"});c&&c.length&&b.eachSeriesByType(a,function(a){var b=a.getData();b.filterSelf(function(a){for(var d=b.getName(a),e=0;e<c.length;e++)if(!c[e].isSelected(d))return!1;return!0},this)},this)}},function(a,b,c){function d(a){var b=a.pieceList;a.hasSpecialVisual=!1,o.each(b,function(b,c){b.originIndex=c,null!=b.visual&&(a.hasSpecialVisual=!0)})}function e(a){var b=a.categories,c=a.visual,d=a.categoryMap={};if(r(b,function(a,b){d[a]=b}),!o.isArray(c)){var e=[];o.isObject(c)?r(c,function(a,b){var c=d[b];e[null!=c?c:t]=a}):e[t]=c,c=a.visual=e}for(var f=b.length-1;f>=0;f--)null==c[f]&&(delete d[b[f]],b.pop())}function f(a,b){var c=a.visual,d=[];o.isObject(c)?r(c,function(a){d.push(a)}):null!=c&&d.push(c);var e={color:1,symbol:1};b||1!==d.length||a.type in e||(d[1]=d[0]),a.visual=d}function g(a){return{applyVisual:function(b,c,d){b=this.mapValueToVisual(b),d("color",a(c("color"),b))},_doMap:l([0,1])}}function h(a,b){var c=this.option.visual;return c[Math.round(q(b,[0,1],[0,c.length-1],!0))]||{}}function i(a){return function(b,c,d){d(a,this.mapValueToVisual(b))}}function j(a){var b=this.option.visual;return b[this.option.loop&&a!==t?a%b.length:a]}function k(){return this.option.visual[0]}function l(a){return{linear:function(b){return q(b,a,this.option.visual,!0)},category:j,piecewise:function(b,c){var d=m.call(this,c);return null==d&&(d=q(b,a,this.option.visual,!0)),d},fixed:k}}function m(a){var b=this.option,c=b.pieceList;if(b.hasSpecialVisual){var d=u.findPieceIndex(a,c),e=c[d];if(e&&e.visual)return e.visual[this.type]}}function n(a,b,c){return a?c>=b:c>b}var o=c(1),p=c(18),q=c(4).linearMap,r=o.each,s=o.isObject,t=-1,u=function(a){var b=a.mappingMethod,c=a.type,g=this.option=o.clone(a);this.type=c,this.mappingMethod=b,this._normalizeData=w[b];var h=v[c];this.applyVisual=h.applyVisual,this.getColorMapper=h.getColorMapper,this._doMap=h._doMap[b],"piecewise"===b?(f(g),d(g)):"category"===b?g.categories?e(g):f(g,!0):(o.assert("linear"!==b||g.dataExtent),f(g))};u.prototype={constructor:u,mapValueToVisual:function(a){var b=this._normalizeData(a);return this._doMap(b,a)},getNormalizer:function(){return o.bind(this._normalizeData,this)}};var v=u.visualHandlers={color:{applyVisual:i("color"),getColorMapper:function(){var a=this.option,b=o.map(a.visual,p.parse);return o.bind("category"===a.mappingMethod?function(a,b){return!b&&(a=this._normalizeData(a)),j(this,a)}:function(a,c,d){var e=!!d;return!c&&(a=this._normalizeData(a)),d=p.fastMapToColor(a,b,d),e?d:o.stringify(d,"rgba")},this)},_doMap:{linear:function(a){return p.mapToColor(a,this.option.visual)},category:j,piecewise:function(a,b){var c=m.call(this,b);return null==c&&(c=p.mapToColor(a,this.option.visual)),c},fixed:k}},colorHue:g(function(a,b){return p.modifyHSL(a,b)}),colorSaturation:g(function(a,b){return p.modifyHSL(a,null,b)}),colorLightness:g(function(a,b){return p.modifyHSL(a,null,null,b)}),colorAlpha:g(function(a,b){return p.modifyAlpha(a,b)}),opacity:{applyVisual:i("opacity"),_doMap:l([0,1])},symbol:{applyVisual:function(a,b,c){var d=this.mapValueToVisual(a);if(o.isString(d))c("symbol",d);else if(s(d))for(var e in d)d.hasOwnProperty(e)&&c(e,d[e])},_doMap:{linear:h,category:j,piecewise:function(a,b){var c=m.call(this,b);return null==c&&(c=h.call(this,a)),c},fixed:k}},symbolSize:{applyVisual:i("symbolSize"),_doMap:l([0,1])}},w={linear:function(a){return q(a,this.option.dataExtent,[0,1],!0)},piecewise:function(a){var b=this.option.pieceList,c=u.findPieceIndex(a,b,!0);return null!=c?q(c,[0,b.length-1],[0,1],!0):void 0},category:function(a){var b=this.option.categories?this.option.categoryMap[a]:a;return null==b?t:b},fixed:o.noop};u.addVisualHandler=function(a,b){v[a]=b},u.isValidType=function(a){return v.hasOwnProperty(a)},u.eachVisual=function(a,b,c){o.isObject(a)?o.each(a,b,c):b.call(c,a)},u.mapVisual=function(a,b,c){var d,e=o.isArray(a)?[]:o.isObject(a)?{}:(d=!0,null);return u.eachVisual(a,function(a,f){var g=b.call(c,a,f);d?e=g:e[f]=g}),e},u.retrieveVisuals=function(a){var b,c={};return a&&r(v,function(d,e){a.hasOwnProperty(e)&&(c[e]=a[e],b=!0)}),b?c:null},u.prepareVisualTypes=function(a){if(s(a)){var b=[];r(a,function(a,c){b.push(c)}),a=b}else{if(!o.isArray(a))return[];a=a.slice()}return a.sort(function(a,b){return"color"===b&&"color"!==a&&0===a.indexOf("color")?1:-1}),a},u.dependsOn=function(a,b){return"color"===b?!(!a||0!==a.indexOf(b)):a===b},u.findPieceIndex=function(a,b,c){function d(b,c){var d=Math.abs(b-a);f>d&&(f=d,e=c)}for(var e,f=1/0,g=0,h=b.length;h>g;g++){var i=b[g].value;if(null!=i){if(i===a)return g;c&&d(i,g)}}for(var g=0,h=b.length;h>g;g++){var j=b[g],k=j.interval,l=j.close;if(k){if(k[0]===-(1/0)){if(n(l[1],a,k[1]))return g}else if(k[1]===1/0){if(n(l[0],k[0],a))return g}else if(n(l[0],k[0],a)&&n(l[1],a,k[1]))return g;c&&d(k[0],g),c&&d(k[1],g)}}return c?a===1/0?b.length-1:a===-(1/0)?0:e:void 0},a.exports=u},function(a,b){a.exports=function(a,b){var c={};b.eachRawSeriesByType(a,function(a){var d=a.getRawData(),e={};if(!b.isSeriesFiltered(a)){var f=a.getData();f.each(function(a){var b=f.getRawIndex(a);e[b]=a}),d.each(function(b){var g=d.getItemModel(b),h=e[b],i=null!=h&&f.getItemVisual(h,"color",!0);if(i)d.setItemVisual(b,"color",i);else{var j=g.get("itemStyle.normal.color")||a.getColorFromPalette(d.getName(b),c);d.setItemVisual(b,"color",j),null!=h&&f.setItemVisual(h,"color",j)}})}})}},function(a,b,c){var d=c(5),e=c(17),f={},g=Math.min,h=Math.max,i=Math.sin,j=Math.cos,k=d.create(),l=d.create(),m=d.create(),n=2*Math.PI;f.fromPoints=function(a,b,c){if(0!==a.length){var d,e=a[0],f=e[0],i=e[0],j=e[1],k=e[1];for(d=1;d<a.length;d++)e=a[d],f=g(f,e[0]),i=h(i,e[0]),j=g(j,e[1]),k=h(k,e[1]);b[0]=f,b[1]=j,c[0]=i,c[1]=k}},f.fromLine=function(a,b,c,d,e,f){e[0]=g(a,c),e[1]=g(b,d),f[0]=h(a,c),f[1]=h(b,d)};var o=[],p=[];f.fromCubic=function(a,b,c,d,f,i,j,k,l,m){var n,q=e.cubicExtrema,r=e.cubicAt,s=q(a,c,f,j,o);for(l[0]=1/0,l[1]=1/0,m[0]=-(1/0),m[1]=-(1/0),n=0;s>n;n++){var t=r(a,c,f,j,o[n]);l[0]=g(t,l[0]),m[0]=h(t,m[0])}for(s=q(b,d,i,k,p),n=0;s>n;n++){var u=r(b,d,i,k,p[n]);l[1]=g(u,l[1]),m[1]=h(u,m[1])}l[0]=g(a,l[0]),m[0]=h(a,m[0]),l[0]=g(j,l[0]),m[0]=h(j,m[0]),l[1]=g(b,l[1]),m[1]=h(b,m[1]),l[1]=g(k,l[1]),m[1]=h(k,m[1])},f.fromQuadratic=function(a,b,c,d,f,i,j,k){var l=e.quadraticExtremum,m=e.quadraticAt,n=h(g(l(a,c,f),1),0),o=h(g(l(b,d,i),1),0),p=m(a,c,f,n),q=m(b,d,i,o);j[0]=g(a,f,p),j[1]=g(b,i,q),k[0]=h(a,f,p),k[1]=h(b,i,q)},f.fromArc=function(a,b,c,e,f,g,h,o,p){var q=d.min,r=d.max,s=Math.abs(f-g);if(1e-4>s%n&&s>1e-4)return o[0]=a-c,o[1]=b-e,p[0]=a+c,void(p[1]=b+e);if(k[0]=j(f)*c+a,k[1]=i(f)*e+b,l[0]=j(g)*c+a,l[1]=i(g)*e+b,q(o,k,l),r(p,k,l),f%=n,0>f&&(f+=n),g%=n,0>g&&(g+=n),f>g&&!h?g+=n:g>f&&h&&(f+=n),h){var t=g;g=f,f=t}for(var u=0;g>u;u+=Math.PI/2)u>f&&(m[0]=j(u)*c+a,m[1]=i(u)*e+b,q(o,m,o),r(p,m,p))},a.exports=f},function(a,b,c){var d=c(37),e=c(1),f=c(16),g=function(a){d.call(this,a)};g.prototype={constructor:g,type:"text",brush:function(a,b){var c=this.style,d=c.x||0,e=c.y||0,g=c.text;if(null!=g&&(g+=""),c.bind(a,this,b),g){this.setTransform(a);var h,i=c.textAlign,j=c.textFont||c.font;if(c.textVerticalAlign){var k=f.getBoundingRect(g,j,c.textAlign,"top");switch(h="middle",c.textVerticalAlign){case"middle":e-=k.height/2-k.lineHeight/2;break;case"bottom":e-=k.height-k.lineHeight/2;break;default:e+=k.lineHeight/2}}else h=c.textBaseline;a.font=j||"12px sans-serif",a.textAlign=i||"left",a.textAlign!==i&&(a.textAlign="left"),a.textBaseline=h||"alphabetic",a.textBaseline!==h&&(a.textBaseline="alphabetic");for(var l=f.measureText("国",a.font).width,m=g.split("\n"),n=0;n<m.length;n++)c.hasFill()&&a.fillText(m[n],d,e),c.hasStroke()&&a.strokeText(m[n],d,e),e+=l;this.restoreTransform(a)}},getBoundingRect:function(){if(!this._rect){var a=this.style,b=a.textVerticalAlign,c=f.getBoundingRect(a.text+"",a.textFont||a.font,a.textAlign,b?"top":a.textBaseline);switch(b){case"middle":c.y-=c.height/2;break;case"bottom":c.y-=c.height}c.x+=a.x||0,c.y+=a.y||0,this._rect=c}return this._rect}},e.inherits(g,d),a.exports=g},function(a,b,c){function d(a,b){return"string"==typeof a?a.lastIndexOf("%")>=0?parseFloat(a)/100*b:parseFloat(a):a}var e=c(16),f=c(7),g=new f,h=function(){};h.prototype={constructor:h,drawRectText:function(a,b,c){var f=this.style,h=f.text;if(null!=h&&(h+=""),h){a.save();var i,j,k=f.textPosition,l=f.textDistance,m=f.textAlign,n=f.textFont||f.font,o=f.textBaseline,p=f.textVerticalAlign;c=c||e.getBoundingRect(h,n,m,o);var q=this.transform;if(f.textTransform?this.setTransform(a):q&&(g.copy(b),g.applyTransform(q),b=g),k instanceof Array){if(i=b.x+d(k[0],b.width),j=b.y+d(k[1],b.height),m=m||"left",o=o||"top",p){switch(p){case"middle":j-=c.height/2-c.lineHeight/2;break;case"bottom":j-=c.height-c.lineHeight/2;break;default:j+=c.lineHeight/2}o="middle"}}else{var r=e.adjustTextPositionOnRect(k,b,c,l);i=r.x,j=r.y,m=m||r.textAlign,o=o||r.textBaseline}a.textAlign=m||"left",a.textBaseline=o||"alphabetic";var s=f.textFill,t=f.textStroke;s&&(a.fillStyle=s),t&&(a.strokeStyle=t),a.font=n||"12px sans-serif",a.shadowBlur=f.textShadowBlur,a.shadowColor=f.textShadowColor||"transparent",a.shadowOffsetX=f.textShadowOffsetX,a.shadowOffsetY=f.textShadowOffsetY;var u=h.split("\n");f.textRotation&&(q&&a.translate(q[4],q[5]),a.rotate(f.textRotation),q&&a.translate(-q[4],-q[5]));for(var v=0;v<u.length;v++)s&&a.fillText(u[v],i,j),t&&a.strokeText(u[v],i,j),j+=c.lineHeight;a.restore()}}},a.exports=h},function(a,b,c){function d(a){delete m[a]}var e=c(62),f=c(12),g=c(137),h=c(140),i=c(141),j=c(149),k=!f.canvasSupported,l={canvas:c(139)},m={},n={};n.version="3.1.3",n.init=function(a,b){var c=new o(e(),a,b);return m[c.id]=c,c},n.dispose=function(a){if(a)a.dispose();else{for(var b in m)m[b].dispose();m={}}return n},n.getInstance=function(a){return m[a]},n.registerPainter=function(a,b){l[a]=b};var o=function(a,b,c){c=c||{},this.dom=b,this.id=a;var d=this,e=new h,m=c.renderer;if(k){if(!l.vml)throw new Error("You need to require 'zrender/vml/vml' to support IE8");m="vml"}else m&&l[m]||(m="canvas");var n=new l[m](b,e,c);this.storage=e,this.painter=n;var o=f.node?null:new j(n.getViewportRoot());this.handler=new g(e,n,o),this.animation=new i({stage:{update:function(){d._needsRefresh&&d.refreshImmediately(),d._needsRefreshHover&&d.refreshHoverImmediately()}}}),this.animation.start(),this._needsRefresh;var p=e.delFromMap,q=e.addToMap;e.delFromMap=function(a){var b=e.get(a);p.call(e,a),b&&b.removeSelfFromZr(d)},e.addToMap=function(a){q.call(e,a),a.addSelfToZr(d)}};o.prototype={constructor:o,getId:function(){return this.id},add:function(a){this.storage.addRoot(a),this._needsRefresh=!0},remove:function(a){this.storage.delRoot(a),this._needsRefresh=!0},configLayer:function(a,b){this.painter.configLayer(a,b),this._needsRefresh=!0},refreshImmediately:function(){this._needsRefresh=!1,this.painter.refresh(),this._needsRefresh=!1},refresh:function(){this._needsRefresh=!0},addHover:function(a,b){this.painter.addHover&&(this.painter.addHover(a,b),this.refreshHover())},removeHover:function(a){this.painter.removeHover&&(this.painter.removeHover(a),this.refreshHover())},clearHover:function(){this.painter.clearHover&&(this.painter.clearHover(),this.refreshHover())},refreshHover:function(){this._needsRefreshHover=!0},refreshHoverImmediately:function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.refreshHover()},resize:function(){this.painter.resize(),this.handler.resize()},clearAnimation:function(){this.animation.clear()},getWidth:function(){return this.painter.getWidth()},getHeight:function(){return this.painter.getHeight()},pathToImage:function(a,b,c){var d=e();return this.painter.pathToImage(d,a,b,c)},setCursorStyle:function(a){this.handler.setCursorStyle(a)},on:function(a,b,c){this.handler.on(a,b,c)},off:function(a,b){this.handler.off(a,b)},trigger:function(a,b){this.handler.trigger(a,b)},clear:function(){this.storage.delRoot(),this.painter.clear()},dispose:function(){this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,d(this.id)}},a.exports=n},function(a,b,c){var d=c(2),e=c(1);a.exports=function(a,b){e.each(b,function(b){b.update="updateView",d.registerAction(b,function(c,d){var e={};return d.eachComponent({mainType:"series",subType:a,query:c},function(a){a[b.method]&&a[b.method](c.name);var d=a.getData();d.each(function(b){var c=d.getName(b);e[c]=a.isSelected(c)||!1})}),{name:c.name,selected:e}})})}},function(a,b,c){function d(a){if(!a.target||!a.target.draggable){var b=a.offsetX,c=a.offsetY,d=this.rectProvider&&this.rectProvider();d&&d.contain(b,c)&&(this._x=b,this._y=c,this._dragging=!0)}}function e(a){if(this._dragging&&(m.stop(a.event),"pinch"!==a.gestureEvent)){if(n.isTaken(this._zr,"globalPan"))return;var b=a.offsetX,c=a.offsetY,d=b-this._x,e=c-this._y;this._x=b,this._y=c;var f=this.target;if(f){var g=f.position;g[0]+=d,g[1]+=e,f.dirty()}m.stop(a.event),this.trigger("pan",d,e)}}function f(a){this._dragging=!1}function g(a){var b=a.wheelDelta>0?1.1:1/1.1;i.call(this,a,b,a.offsetX,a.offsetY)}function h(a){if(!n.isTaken(this._zr,"globalPan")){var b=a.pinchScale>1?1.1:1/1.1;i.call(this,a,b,a.pinchX,a.pinchY)}}function i(a,b,c,d){var e=this.rectProvider&&this.rectProvider();if(e&&e.contain(c,d)){m.stop(a.event);var f=this.target,g=this.zoomLimit;if(f){var h=f.position,i=f.scale,j=this.zoom=this.zoom||1;if(j*=b,g){var k=g.min||0,l=g.max||1/0;j=Math.max(Math.min(l,j),k)}var n=j/this.zoom;this.zoom=j,h[0]-=(c-h[0])*(n-1),h[1]-=(d-h[1])*(n-1),i[0]*=n,i[1]*=n,f.dirty()}this.trigger("zoom",b,c,d)}}function j(a,b,c){this.target=b,this.rectProvider=c,this.zoomLimit,this.zoom,this._zr=a;var i=l.bind,j=i(d,this),m=i(e,this),n=i(f,this),o=i(g,this),p=i(h,this);k.call(this),this.enable=function(b){this.disable(),null==b&&(b=!0),b!==!0&&"move"!==b&&"pan"!==b||(a.on("mousedown",j),a.on("mousemove",m),a.on("mouseup",n)),b!==!0&&"scale"!==b&&"zoom"!==b||(a.on("mousewheel",o),a.on("pinch",p))},this.disable=function(){a.off("mousedown",j),a.off("mousemove",m),a.off("mouseup",n),a.off("mousewheel",o),a.off("pinch",p)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}var k=c(20),l=c(1),m=c(24),n=c(113);l.mixin(j,k),a.exports=j},function(a,b){a.exports=function(a,b,c,d,e){function f(a,b,c){var d=b.length?b.slice():[b,b];return b[0]>b[1]&&d.reverse(),0>a&&d[0]+a<c[0]&&(a=c[0]-d[0]),a>0&&d[1]+a>c[1]&&(a=c[1]-d[1]),a}return a?("rigid"===d?(a=f(a,b,c),b[0]+=a,b[1]+=a):(a=f(a,b[e],c),b[e]+=a,"push"===d&&b[0]>b[1]&&(b[1-e]=b[e])),b):b}},function(a,b,c){var d=c(1),e={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisLine:{show:!0,onZero:!0,lineStyle:{color:"#333",width:1,type:"solid"}},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,margin:8,textStyle:{fontSize:12}},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},f=d.merge({boundaryGap:!0,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},e),g=d.merge({boundaryGap:[0,0],splitNumber:5},e),h=d.defaults({scale:!0,min:"dataMin",max:"dataMax"},g),i=d.defaults({logBase:10},g);i.scale=!0,a.exports={categoryAxis:f,valueAxis:g,timeAxis:h,logAxis:i}},function(a,b){var c={},d="\0__throttleOriginMethod",e="\0__throttleRate",f="\0__throttleType";c.throttle=function(a,b,c){function d(){j=(new Date).getTime(),k=null,a.apply(g,h||[])}var e,f,g,h,i=0,j=0,k=null;b=b||0;var l=function(){e=(new Date).getTime(),g=this,h=arguments,f=e-(c?i:j)-b,clearTimeout(k),c?k=setTimeout(d,b):f>=0?d():k=setTimeout(d,-f),i=e};return l.clear=function(){k&&(clearTimeout(k),k=null)},l},c.createOrUpdate=function(a,b,g,h){var i=a[b];if(i){var j=i[d]||i,k=i[f],l=i[e];if(l!==g||k!==h){if(null==g||!h)return a[b]=j;i=a[b]=c.throttle(j,g,"debounce"===h),i[d]=j,i[f]=h,i[e]=g}return i}},c.clear=function(a,b){var c=a[b];c&&c[d]&&(a[b]=c[d])},a.exports=c},function(a,b){a.exports={containStroke:function(a,b,c,d,e,f,g){if(0===e)return!1;var h=e,i=0,j=a;if(g>b+h&&g>d+h||b-h>g&&d-h>g||f>a+h&&f>c+h||a-h>f&&c-h>f)return!1;if(a===c)return Math.abs(f-a)<=h/2;i=(b-d)/(a-c),j=(a*d-c*b)/(a-c);var k=i*f-g+j,l=k*k/(i*i+1);return h/2*h/2>=l}}},function(a,b,c){var d=c(17);a.exports={containStroke:function(a,b,c,e,f,g,h,i,j){if(0===h)return!1;var k=h;if(j>b+k&&j>e+k&&j>g+k||b-k>j&&e-k>j&&g-k>j||i>a+k&&i>c+k&&i>f+k||a-k>i&&c-k>i&&f-k>i)return!1;var l=d.quadraticProjectPoint(a,b,c,e,f,g,i,j,null);return k/2>=l}}},function(a,b){a.exports=function(a,b,c,d,e,f){if(f>b&&f>d||b>f&&d>f)return 0;if(d===b)return 0;var g=b>d?1:-1,h=(f-b)/(d-b);1!==h&&0!==h||(g=b>d?.5:-.5);var i=h*(c-a)+a;return i>e?g:0}},function(a,b,c){"use strict";var d=c(1),e=c(29),f=function(a,b,c,d,f,g){this.x=null==a?0:a,this.y=null==b?0:b,this.x2=null==c?1:c,this.y2=null==d?0:d,this.type="linear",this.global=g||!1,e.call(this,f)};f.prototype={constructor:f},d.inherits(f,e),a.exports=f},function(a,b,c){"use strict";function d(a){return a>h||-h>a}var e=c(19),f=c(5),g=e.identity,h=5e-5,i=function(a){a=a||{},a.position||(this.position=[0,0]),null==a.rotation&&(this.rotation=0),a.scale||(this.scale=[1,1]),this.origin=this.origin||null},j=i.prototype;j.transform=null,j.needLocalTransform=function(){return d(this.rotation)||d(this.position[0])||d(this.position[1])||d(this.scale[0]-1)||d(this.scale[1]-1)},j.updateTransform=function(){var a=this.parent,b=a&&a.transform,c=this.needLocalTransform(),d=this.transform;return c||b?(d=d||e.create(),c?this.getLocalTransform(d):g(d),b&&(c?e.mul(d,a.transform,d):e.copy(d,a.transform)),this.transform=d,this.invTransform=this.invTransform||e.create(),void e.invert(this.invTransform,d)):void(d&&g(d))},j.getLocalTransform=function(a){a=a||[],g(a);var b=this.origin,c=this.scale,d=this.rotation,f=this.position;return b&&(a[4]-=b[0],a[5]-=b[1]),e.scale(a,a,c),d&&e.rotate(a,a,d),b&&(a[4]+=b[0],a[5]+=b[1]),a[4]+=f[0],a[5]+=f[1],a},j.setTransform=function(a){var b=this.transform,c=a.dpr||1;b?a.setTransform(c*b[0],c*b[1],c*b[2],c*b[3],c*b[4],c*b[5]):a.setTransform(c,0,0,c,0,0)},j.restoreTransform=function(a){var b=(this.transform,a.dpr||1);a.setTransform(b,0,0,b,0,0)};var k=[];j.decomposeTransform=function(){if(this.transform){var a=this.parent,b=this.transform;a&&a.transform&&(e.mul(k,a.invTransform,b),b=k);var c=b[0]*b[0]+b[1]*b[1],f=b[2]*b[2]+b[3]*b[3],g=this.position,h=this.scale;d(c-1)&&(c=Math.sqrt(c)),d(f-1)&&(f=Math.sqrt(f)),b[0]<0&&(c=-c),b[3]<0&&(f=-f),g[0]=b[4],g[1]=b[5],h[0]=c,h[1]=f,this.rotation=Math.atan2(-b[1]/f,b[0]/c)}},j.getGlobalScale=function(){var a=this.transform;if(!a)return[1,1];var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]),c=Math.sqrt(a[2]*a[2]+a[3]*a[3]);return a[0]<0&&(b=-b),a[3]<0&&(c=-c),[b,c]},j.transformCoordToLocal=function(a,b){var c=[a,b],d=this.invTransform;return d&&f.applyTransform(c,c,d),c},j.transformCoordToGlobal=function(a,b){var c=[a,b],d=this.transform;return d&&f.applyTransform(c,c,d),c},a.exports=i},function(a,b,c){"use strict";function d(a){e.each(f,function(b){this[b]=e.bind(a[b],a)},this)}var e=c(1),f=["getDom","getZr","getWidth","getHeight","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption"];a.exports=d},function(a,b,c){var d=c(1);c(54),c(89),c(90);var e=c(120),f=c(2);f.registerLayout(d.curry(e,"bar")),f.registerVisual(function(a){a.eachSeriesByType("bar",function(a){var b=a.getData();b.setVisual("legendSymbol","roundRect")})}),c(36)},function(a,b,c){"use strict";var d=c(15),e=c(35);a.exports=d.extend({type:"series.bar",dependencies:["grid","polar"],getInitialData:function(a,b){return e(a.data,this,b)},getMarkerPosition:function(a){var b=this.coordinateSystem;if(b){var c=b.dataToPoint(a,!0),d=this.getData(),e=d.getLayout("offset"),f=d.getLayout("size"),g=b.getBaseAxis().isHorizontal()?0:1;return c[g]+=e+f/2,c}return[NaN,NaN]},brushSelector:"rect",defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,itemStyle:{normal:{},emphasis:{}}}})},function(a,b,c){"use strict";function d(a,b){var c=a.width>0?1:-1,d=a.height>0?1:-1;b=Math.min(b,Math.abs(a.width),Math.abs(a.height)),a.x+=c*b/2,a.y+=d*b/2,a.width-=c*b,a.height-=d*b}var e=c(1),f=c(3);e.extend(c(9).prototype,c(91)),a.exports=c(2).extendChartView({type:"bar",render:function(a,b,c){var d=a.get("coordinateSystem");return"cartesian2d"===d&&this._renderOnCartesian(a,b,c),this.group},_renderOnCartesian:function(a,b,c){function g(b,c){var g=i.getItemLayout(b),h=i.getItemModel(b).get(o)||0;d(g,h);var j=new f.Rect({shape:e.extend({},g)});if(n){var k=j.shape,l=m?"height":"width",p={};k[l]=0,p[l]=g[l],f[c?"updateProps":"initProps"](j,{shape:p},a,b)}return j}var h=this.group,i=a.getData(),j=this._data,k=a.coordinateSystem,l=k.getBaseAxis(),m=l.isHorizontal(),n=a.get("animation"),o=["itemStyle","normal","barBorderWidth"];i.diff(j).add(function(a){if(i.hasValue(a)){var b=g(a);i.setItemGraphicEl(a,b),h.add(b)}}).update(function(b,c){var e=j.getItemGraphicEl(c);if(!i.hasValue(b))return void h.remove(e);e||(e=g(b,!0));var k=i.getItemLayout(b),l=i.getItemModel(b).get(o)||0;d(k,l),f.updateProps(e,{shape:k},a,b),i.setItemGraphicEl(b,e),h.add(e)}).remove(function(b){var c=j.getItemGraphicEl(b);c&&(c.style.text="",f.updateProps(c,{shape:{width:0}},a,b,function(){h.remove(c)}))}).execute(),this._updateStyle(a,i,m),this._data=i},_updateStyle:function(a,b,c){function d(a,b,c,d,e){f.setText(a,b,c),a.text=d,"outside"===a.textPosition&&(a.textPosition=e)}b.eachItemGraphicEl(function(g,h){var i=b.getItemModel(h),j=b.getItemVisual(h,"color"),k=b.getItemVisual(h,"opacity"),l=b.getItemLayout(h),m=i.getModel("itemStyle.normal"),n=i.getModel("itemStyle.emphasis").getBarItemStyle();g.setShape("r",m.get("barBorderRadius")||0),g.useStyle(e.defaults({fill:j,opacity:k},m.getBarItemStyle()));var o=c?l.height>0?"bottom":"top":l.width>0?"left":"right",p=i.getModel("label.normal"),q=i.getModel("label.emphasis"),r=g.style;
+p.get("show")?d(r,p,j,e.retrieve(a.getFormattedLabel(h,"normal"),a.getRawValue(h)),o):r.text="",q.get("show")?d(n,q,j,e.retrieve(a.getFormattedLabel(h,"emphasis"),a.getRawValue(h)),o):n.text="",f.setHoverStyle(g,n)})},remove:function(a,b){var c=this.group;a.get("animation")?this._data&&this._data.eachItemGraphicEl(function(b){b.style.text="",f.updateProps(b,{shape:{width:0}},a,b.dataIndex,function(){c.remove(b)})}):c.removeAll()}})},function(a,b,c){var d=c(31)([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]);a.exports={getBarItemStyle:function(a){var b=d.call(this,a);if(this.getBorderLineDash){var c=this.getBorderLineDash();c&&(b.lineDash=c)}return b}}},function(a,b,c){function d(a){return"_"+a+"Type"}function e(a,b,c){var d=b.getItemVisual(c,"color"),e=b.getItemVisual(c,a),f=b.getItemVisual(c,a+"Size");if(e&&"none"!==e){n.isArray(f)||(f=[f,f]);var g=j.createSymbol(e,-f[0]/2,-f[1]/2,f[0],f[1],d);return g.name=a,g}}function f(a){var b=new l({name:"line"});return g(b.shape,a),b}function g(a,b){var c=b[0],d=b[1],e=b[2];a.x1=c[0],a.y1=c[1],a.x2=d[0],a.y2=d[1],a.percent=1,e?(a.cpx1=e[0],a.cpy1=e[1]):(a.cpx1=NaN,a.cpy1=NaN)}function h(){var a=this,b=a.childOfName("fromSymbol"),c=a.childOfName("toSymbol"),d=a.childOfName("label");if(b||c||!d.ignore){for(var e=1,f=this.parent;f;)f.scale&&(e/=f.scale[0]),f=f.parent;var g=a.childOfName("line");if(this.__dirty||g.__dirty){var h=g.shape.percent,i=g.pointAt(0),j=g.pointAt(h),l=k.sub([],j,i);if(k.normalize(l,l),b){b.attr("position",i);var m=g.tangentAt(0);b.attr("rotation",Math.PI/2-Math.atan2(m[1],m[0])),b.attr("scale",[e*h,e*h])}if(c){c.attr("position",j);var m=g.tangentAt(1);c.attr("rotation",-Math.PI/2-Math.atan2(m[1],m[0])),c.attr("scale",[e*h,e*h])}if(!d.ignore){d.attr("position",j);var n,o,p,q=5*e;if("end"===d.__position)n=[l[0]*q+j[0],l[1]*q+j[1]],o=l[0]>.8?"left":l[0]<-.8?"right":"center",p=l[1]>.8?"top":l[1]<-.8?"bottom":"middle";else if("middle"===d.__position){var r=h/2,m=g.tangentAt(r),s=[m[1],-m[0]],t=g.pointAt(r);s[1]>0&&(s[0]=-s[0],s[1]=-s[1]),n=[t[0]+s[0]*q,t[1]+s[1]*q],o="center",p="bottom";var u=-Math.atan2(m[1],m[0]);j[0]<i[0]&&(u=Math.PI+u),d.attr("rotation",u)}else n=[-l[0]*q+i[0],-l[1]*q+i[1]],o=l[0]>.8?"right":l[0]<-.8?"left":"center",p=l[1]>.8?"bottom":l[1]<-.8?"top":"middle";d.attr({style:{textVerticalAlign:d.__verticalAlign||p,textAlign:d.__textAlign||o},position:n,scale:[e,e]})}}}}function i(a,b,c){m.Group.call(this),this._createLine(a,b,c)}var j=c(26),k=c(5),l=c(174),m=c(3),n=c(1),o=c(4),p=["fromSymbol","toSymbol"],q=i.prototype;q.beforeUpdate=h,q._createLine=function(a,b,c){var g=a.hostModel,h=a.getItemLayout(b),i=f(h);i.shape.percent=0,m.initProps(i,{shape:{percent:1}},g,b),this.add(i);var j=new m.Text({name:"label"});this.add(j),n.each(p,function(c){var f=e(c,a,b);this.add(f),this[d(c)]=a.getItemVisual(b,c)},this),this._updateCommonStl(a,b,c)},q.updateData=function(a,b,c){var f=a.hostModel,h=this.childOfName("line"),i=a.getItemLayout(b),j={shape:{}};g(j.shape,i),m.updateProps(h,j,f,b),n.each(p,function(c){var f=a.getItemVisual(b,c),g=d(c);if(this[g]!==f){this.remove(this.childOfName(c));var h=e(c,a,b);this.add(h)}this[g]=f},this),this._updateCommonStl(a,b,c)},q._updateCommonStl=function(a,b,c){var d=a.hostModel,e=this.childOfName("line"),f=c&&c.lineStyle,g=c&&c.hoverLineStyle,h=c&&c.labelModel,i=c&&c.hoverLabelModel;if(!c||a.hasItemOption){var j=a.getItemModel(b);f=j.getModel("lineStyle.normal").getLineStyle(),g=j.getModel("lineStyle.emphasis").getLineStyle(),h=j.getModel("label.normal"),i=j.getModel("label.emphasis")}var k=a.getItemVisual(b,"color"),l=n.retrieve(a.getItemVisual(b,"opacity"),f.opacity,1);isNaN(q)&&(q=a.getName(b)),e.useStyle(n.defaults({strokeNoScale:!0,fill:"none",stroke:k,opacity:l},f)),e.hoverStyle=g,n.each(p,function(a){var b=this.childOfName(a);b&&(b.setColor(k),b.setStyle({opacity:l}))},this);var q,r,s=h.getShallow("show"),t=i.getShallow("show"),u=this.childOfName("label");if((s||t)&&(q=o.round(d.getRawValue(b)),r=k||"#000"),s){var v=h.getModel("textStyle");u.setStyle({text:n.retrieve(d.getFormattedLabel(b,"normal",a.dataType),q),textFont:v.getFont(),fill:v.getTextColor()||r}),u.__textAlign=v.get("align"),u.__verticalAlign=v.get("baseline"),u.__position=h.get("position")}else u.setStyle("text","");if(t){var w=i.getModel("textStyle");u.hoverStyle={text:n.retrieve(d.getFormattedLabel(b,"emphasis",a.dataType),q),textFont:w.getFont(),fill:w.getTextColor()||r}}else u.hoverStyle={text:""};u.ignore=!s&&!t,m.setHoverStyle(this)},q.updateLayout=function(a,b){this.setLinePoints(a.getItemLayout(b))},q.setLinePoints=function(a){var b=this.childOfName("line");g(b.shape,a),b.dirty()},n.inherits(i,m.Group),a.exports=i},function(a,b,c){function d(a){return isNaN(a[0])||isNaN(a[1])}function e(a){return!d(a[0])&&!d(a[1])}function f(a){this._ctor=a||h,this.group=new g.Group}var g=c(3),h=c(92),i=f.prototype;i.updateData=function(a){var b=this._lineData,c=this.group,d=this._ctor,f=a.hostModel,g={lineStyle:f.getModel("lineStyle.normal").getLineStyle(),hoverLineStyle:f.getModel("lineStyle.emphasis").getLineStyle(),labelModel:f.getModel("label.normal"),hoverLabelModel:f.getModel("label.emphasis")};a.diff(b).add(function(b){if(e(a.getItemLayout(b))){var f=new d(a,b,g);a.setItemGraphicEl(b,f),c.add(f)}}).update(function(f,h){var i=b.getItemGraphicEl(h);return e(a.getItemLayout(f))?(i?i.updateData(a,f,g):i=new d(a,f,g),a.setItemGraphicEl(f,i),void c.add(i)):void c.remove(i)}).remove(function(a){c.remove(b.getItemGraphicEl(a))}).execute(),this._lineData=a},i.updateLayout=function(){var a=this._lineData;a.eachItemGraphicEl(function(b,c){b.updateLayout(a,c)},this)},i.remove=function(){this.group.removeAll()},a.exports=f},function(a,b,c){var d=c(1),e=c(2),f=e.PRIORITY;c(95),c(96),e.registerVisual(d.curry(c(46),"line","circle","line")),e.registerLayout(d.curry(c(55),"line")),e.registerProcessor(f.PROCESSOR.STATISTIC,d.curry(c(132),"line")),c(36)},function(a,b,c){"use strict";var d=c(35),e=c(15);a.exports=e.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(a,b){return d(a.data,this,b)},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clipOverflow:!0,label:{normal:{position:"top"}},lineStyle:{normal:{width:2,type:"solid"}},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:!1,connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}})},function(a,b,c){"use strict";function d(a,b){if(a.length===b.length){for(var c=0;c<a.length;c++){var d=a[c],e=b[c];if(d[0]!==e[0]||d[1]!==e[1])return}return!0}}function e(a){return"number"==typeof a?a:a?.3:0}function f(a){var b=a.getGlobalExtent();if(a.onBand){var c=a.getBandWidth()/2-1,d=b[1]>b[0]?1:-1;b[0]+=d*c,b[1]-=d*c}return b}function g(a){return a>=0?1:-1}function h(a,b){var c=a.getBaseAxis(),d=a.getOtherAxis(c),e=c.onZero?0:d.scale.getExtent()[0],f=d.dim,h="x"===f||"radius"===f?1:0;return b.mapArray([f],function(d,i){for(var j,k=b.stackedOn;k&&g(k.get(f,i))===g(d);){j=k;break}var l=[];return l[h]=b.get(c.dim,i),l[1-h]=j?j.get(f,i,!0):e,a.dataToPoint(l)},!0)}function i(a,b){return null!=b.dataIndex?b.dataIndex:null!=b.name?a.indexOfName(b.name):void 0}function j(a,b,c){var d=f(a.getAxis("x")),e=f(a.getAxis("y")),g=a.getBaseAxis().isHorizontal(),h=Math.min(d[0],d[1]),i=Math.min(e[0],e[1]),j=Math.max(d[0],d[1])-h,k=Math.max(e[0],e[1])-i,l=c.get("lineStyle.normal.width")||2,m=c.get("clipOverflow")?l/2:Math.max(j,k);g?(i-=m,k+=2*m):(h-=m,j+=2*m);var n=new t.Rect({shape:{x:h,y:i,width:j,height:k}});return b&&(n.shape[g?"width":"height"]=0,t.initProps(n,{shape:{width:j,height:k}},c)),n}function k(a,b,c){var d=a.getAngleAxis(),e=a.getRadiusAxis(),f=e.getExtent(),g=d.getExtent(),h=Math.PI/180,i=new t.Sector({shape:{cx:a.cx,cy:a.cy,r0:f[0],r:f[1],startAngle:-g[0]*h,endAngle:-g[1]*h,clockwise:d.inverse}});return b&&(i.shape.endAngle=-g[0]*h,t.initProps(i,{shape:{endAngle:-g[1]*h}},c)),i}function l(a,b,c){return"polar"===a.type?k(a,b,c):j(a,b,c)}function m(a,b,c){for(var d=b.getBaseAxis(),e="x"===d.dim||"radius"===d.dim?0:1,f=[],g=0;g<a.length-1;g++){var h=a[g+1],i=a[g];f.push(i);var j=[];switch(c){case"end":j[e]=h[e],j[1-e]=i[1-e],f.push(j);break;case"middle":var k=(i[e]+h[e])/2,l=[];j[e]=l[e]=k,j[1-e]=i[1-e],l[1-e]=h[1-e],f.push(j),f.push(l);break;default:j[e]=i[e],j[1-e]=h[1-e],f.push(j)}}return a[g]&&f.push(a[g]),f}function n(a,b){return Math.max(Math.min(a,b[1]),b[0])}function o(a,b){var c=a.getVisual("visualMeta");if(c&&c.length){for(var d,e=c.length-1;e>=0;e--)if(c[e].dimension<2){d=c[e];break}if(d&&"cartesian2d"===b.type){var f=d.dimension,g=a.dimensions[f],h=a.getDataExtent(g),i=d.stops,j=[];i[0].interval&&i.sort(function(a,b){return a.interval[0]-b.interval[0]});var k=i[0],l=i[i.length-1],m=k.interval?n(k.interval[0],h):k.value,o=l.interval?n(l.interval[1],h):l.value,p=o-m;if(0===p)return a.getItemVisual(0,"color");for(var e=0;e<i.length;e++)if(i[e].interval){if(i[e].interval[1]===i[e].interval[0])continue;j.push({offset:(n(i[e].interval[0],h)-m)/p,color:i[e].color},{offset:(n(i[e].interval[1],h)-m)/p,color:i[e].color})}else j.push({offset:(i[e].value-m)/p,color:i[e].color});var q=new t.LinearGradient(0,0,0,0,j,(!0)),r=b.getAxis(g),s=Math.round(r.toGlobalCoord(r.dataToCoord(m))),u=Math.round(r.toGlobalCoord(r.dataToCoord(o)));return q[g]=s,q[g+"2"]=u,q}}}var p=c(1),q=c(39),r=c(49),s=c(97),t=c(3),u=c(98),v=c(27);a.exports=v.extend({type:"line",init:function(){var a=new t.Group,b=new q;this.group.add(b.group),this._symbolDraw=b,this._lineGroup=a},render:function(a,b,c){var f=a.coordinateSystem,g=this.group,i=a.getData(),j=a.getModel("lineStyle.normal"),k=a.getModel("areaStyle.normal"),n=i.mapArray(i.getItemLayout,!0),q="polar"===f.type,r=this._coordSys,s=this._symbolDraw,t=this._polyline,u=this._polygon,v=this._lineGroup,w=a.get("animation"),x=!k.isEmpty(),y=h(f,i),z=a.get("showSymbol"),A=z&&!q&&!a.get("showAllSymbol")&&this._getSymbolIgnoreFunc(i,f),B=this._data;B&&B.eachItemGraphicEl(function(a,b){a.__temp&&(g.remove(a),B.setItemGraphicEl(b,null))}),z||s.remove(),g.add(v);var C=!q&&a.get("step");t&&r.type===f.type&&C===this._step?(x&&!u?u=this._newPolygon(n,y,f,w):u&&!x&&(v.remove(u),u=this._polygon=null),v.setClipPath(l(f,!1,a)),z&&s.updateData(i,A),i.eachItemGraphicEl(function(a){a.stopAnimation(!0)}),d(this._stackedOnPoints,y)&&d(this._points,n)||(w?this._updateAnimation(i,y,f,c,C):(C&&(n=m(n,f,C),y=m(y,f,C)),t.setShape({points:n}),u&&u.setShape({points:n,stackedOnPoints:y})))):(z&&s.updateData(i,A),C&&(n=m(n,f,C),y=m(y,f,C)),t=this._newPolyline(n,f,w),x&&(u=this._newPolygon(n,y,f,w)),v.setClipPath(l(f,!0,a)));var D=o(i,f)||i.getVisual("color");t.useStyle(p.defaults(j.getLineStyle(),{fill:"none",stroke:D,lineJoin:"bevel"}));var E=a.get("smooth");if(E=e(a.get("smooth")),t.setShape({smooth:E,smoothMonotone:a.get("smoothMonotone"),connectNulls:a.get("connectNulls")}),u){var F=i.stackedOn,G=0;if(u.useStyle(p.defaults(k.getAreaStyle(),{fill:D,opacity:.7,lineJoin:"bevel"})),F){var H=F.hostModel;G=e(H.get("smooth"))}u.setShape({smooth:E,stackedOnSmooth:G,smoothMonotone:a.get("smoothMonotone"),connectNulls:a.get("connectNulls")})}this._data=i,this._coordSys=f,this._stackedOnPoints=y,this._points=n,this._step=C},highlight:function(a,b,c,d){var e=a.getData(),f=i(e,d);if(!(f instanceof Array)&&null!=f&&f>=0){var g=e.getItemGraphicEl(f);if(!g){var h=e.getItemLayout(f);g=new r(e,f),g.position=h,g.setZ(a.get("zlevel"),a.get("z")),g.ignore=isNaN(h[0])||isNaN(h[1]),g.__temp=!0,e.setItemGraphicEl(f,g),g.stopSymbolAnimation(!0),this.group.add(g)}g.highlight()}else v.prototype.highlight.call(this,a,b,c,d)},downplay:function(a,b,c,d){var e=a.getData(),f=i(e,d);if(null!=f&&f>=0){var g=e.getItemGraphicEl(f);g&&(g.__temp?(e.setItemGraphicEl(f,null),this.group.remove(g)):g.downplay())}else v.prototype.downplay.call(this,a,b,c,d)},_newPolyline:function(a){var b=this._polyline;return b&&this._lineGroup.remove(b),b=new u.Polyline({shape:{points:a},silent:!0,z2:10}),this._lineGroup.add(b),this._polyline=b,b},_newPolygon:function(a,b){var c=this._polygon;return c&&this._lineGroup.remove(c),c=new u.Polygon({shape:{points:a,stackedOnPoints:b},silent:!0}),this._lineGroup.add(c),this._polygon=c,c},_getSymbolIgnoreFunc:function(a,b){var c=b.getAxesByScale("ordinal")[0];return c&&c.isLabelIgnored?p.bind(c.isLabelIgnored,c):void 0},_updateAnimation:function(a,b,c,d,e){var f=this._polyline,g=this._polygon,h=a.hostModel,i=s(this._data,a,this._stackedOnPoints,b,this._coordSys,c),j=i.current,k=i.stackedOnCurrent,l=i.next,n=i.stackedOnNext;e&&(j=m(i.current,c,e),k=m(i.stackedOnCurrent,c,e),l=m(i.next,c,e),n=m(i.stackedOnNext,c,e)),f.shape.__points=i.current,f.shape.points=j,t.updateProps(f,{shape:{points:l}},h),g&&(g.setShape({points:j,stackedOnPoints:k}),t.updateProps(g,{shape:{points:l,stackedOnPoints:n,__points:i.next}},h));for(var o=[],p=i.status,q=0;q<p.length;q++){var r=p[q].cmd;if("="===r){var u=a.getItemGraphicEl(p[q].idx1);u&&o.push({el:u,ptIdx:q})}}f.animators&&f.animators.length&&f.animators[0].during(function(){for(var a=0;a<o.length;a++){var b=o[a].el;b.attr("position",f.shape.__points[o[a].ptIdx])}})},remove:function(a){var b=this.group,c=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),c&&c.eachItemGraphicEl(function(a,d){a.__temp&&(b.remove(a),c.setItemGraphicEl(d,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._data=null}})},function(a,b){function c(a){return a>=0?1:-1}function d(a,b,d){for(var e,f=a.getBaseAxis(),g=a.getOtherAxis(f),h=f.onZero?0:g.scale.getExtent()[0],i=g.dim,j="x"===i||"radius"===i?1:0,k=b.stackedOn,l=b.get(i,d);k&&c(k.get(i,d))===c(l);){e=k;break}var m=[];return m[j]=b.get(f.dim,d),m[1-j]=e?e.get(i,d,!0):h,a.dataToPoint(m)}function e(a,b){var c=[];return b.diff(a).add(function(a){c.push({cmd:"+",idx:a})}).update(function(a,b){c.push({cmd:"=",idx:b,idx1:a})}).remove(function(a){c.push({cmd:"-",idx:a})}).execute(),c}a.exports=function(a,b,c,f,g,h){for(var i=e(a,b),j=[],k=[],l=[],m=[],n=[],o=[],p=[],q=h.dimensions,r=0;r<i.length;r++){var s=i[r],t=!0;switch(s.cmd){case"=":var u=a.getItemLayout(s.idx),v=b.getItemLayout(s.idx1);(isNaN(u[0])||isNaN(u[1]))&&(u=v.slice()),j.push(u),k.push(v),l.push(c[s.idx]),m.push(f[s.idx1]),p.push(b.getRawIndex(s.idx1));break;case"+":var w=s.idx;j.push(g.dataToPoint([b.get(q[0],w,!0),b.get(q[1],w,!0)])),k.push(b.getItemLayout(w).slice()),l.push(d(g,b,w)),m.push(f[w]),p.push(b.getRawIndex(w));break;case"-":var w=s.idx,x=a.getRawIndex(w);x!==w?(j.push(a.getItemLayout(w)),k.push(h.dataToPoint([a.get(q[0],w,!0),a.get(q[1],w,!0)])),l.push(c[w]),m.push(d(h,a,w)),p.push(x)):t=!1}t&&(n.push(s),o.push(o.length))}o.sort(function(a,b){return p[a]-p[b]});for(var y=[],z=[],A=[],B=[],C=[],r=0;r<o.length;r++){var w=o[r];y[r]=j[w],z[r]=k[w],A[r]=l[w],B[r]=m[w],C[r]=n[w]}return{current:y,next:z,stackedOnCurrent:A,stackedOnNext:B,status:C}}},function(a,b,c){function d(a){return isNaN(a[0])||isNaN(a[1])}function e(a,b,c,e,f,g,p,q,r,s,t){for(var u=0,v=c,w=0;e>w;w++){var x=b[v];if(v>=f||0>v)break;if(d(x)){if(t){v+=g;continue}break}if(v===c)a[g>0?"moveTo":"lineTo"](x[0],x[1]),l(n,x);else if(r>0){var y=v+g,z=b[y];if(t)for(;z&&d(b[y]);)y+=g,z=b[y];var A=.5,B=b[u],z=b[y];if(!z||d(z))l(o,x);else{d(z)&&!t&&(z=x),h.sub(m,z,B);var C,D;if("x"===s||"y"===s){var E="x"===s?0:1;C=Math.abs(x[E]-B[E]),D=Math.abs(x[E]-z[E])}else C=h.dist(x,B),D=h.dist(x,z);A=D/(D+C),k(o,x,m,-r*(1-A))}i(n,n,q),j(n,n,p),i(o,o,q),j(o,o,p),a.bezierCurveTo(n[0],n[1],o[0],o[1],x[0],x[1]),k(n,x,m,r*A)}else a.lineTo(x[0],x[1]);u=v,v+=g}return w}function f(a,b){var c=[1/0,1/0],d=[-(1/0),-(1/0)];if(b)for(var e=0;e<a.length;e++){var f=a[e];f[0]<c[0]&&(c[0]=f[0]),f[1]<c[1]&&(c[1]=f[1]),f[0]>d[0]&&(d[0]=f[0]),f[1]>d[1]&&(d[1]=f[1])}return{min:b?c:d,max:b?d:c}}var g=c(6),h=c(5),i=h.min,j=h.max,k=h.scaleAndAdd,l=h.copy,m=[],n=[],o=[];a.exports={Polyline:g.extend({type:"ec-polyline",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:"#000"},buildPath:function(a,b){var c=b.points,g=0,h=c.length,i=f(c,b.smoothConstraint);if(b.connectNulls){for(;h>0&&d(c[h-1]);h--);for(;h>g&&d(c[g]);g++);}for(;h>g;)g+=e(a,c,g,h,h,1,i.min,i.max,b.smooth,b.smoothMonotone,b.connectNulls)+1}}),Polygon:g.extend({type:"ec-polygon",shape:{points:[],stackedOnPoints:[],smooth:0,stackedOnSmooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},buildPath:function(a,b){var c=b.points,g=b.stackedOnPoints,h=0,i=c.length,j=b.smoothMonotone,k=f(c,b.smoothConstraint),l=f(g,b.smoothConstraint);if(b.connectNulls){for(;i>0&&d(c[i-1]);i--);for(;i>h&&d(c[h]);h++);}for(;i>h;){var m=e(a,c,h,i,i,1,k.min,k.max,b.smooth,j,b.connectNulls);e(a,g,h+m-1,m,i,-1,l.min,l.max,b.stackedOnSmooth,j,b.connectNulls),h+=m+1,a.closePath()}}})}},function(a,b,c){var d=c(1),e=c(2);c(100),c(101),c(77)("pie",[{type:"pieToggleSelect",event:"pieselectchanged",method:"toggleSelected"},{type:"pieSelect",event:"pieselected",method:"select"},{type:"pieUnSelect",event:"pieunselected",method:"unSelect"}]),e.registerVisual(d.curry(c(72),"pie")),e.registerLayout(d.curry(c(103),"pie")),e.registerProcessor(d.curry(c(70),"pie"))},function(a,b,c){"use strict";var d=c(14),e=c(1),f=c(11),g=c(30),h=c(66),i=c(2).extendSeriesModel({type:"series.pie",init:function(a){i.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._dataBeforeProcessed},this.updateSelectedMap(a.data),this._defaultLabelLine(a)},mergeOption:function(a){i.superCall(this,"mergeOption",a),this.updateSelectedMap(this.option.data)},getInitialData:function(a,b){var c=g(["value"],a.data),e=new d(c,this);return e.initData(a.data),e},getDataParams:function(a){var b=this._data,c=i.superCall(this,"getDataParams",a),d=b.getSum("value");return c.percent=d?+(b.get("value",a)/d*100).toFixed(2):0,c.$vars.push("percent"),c},_defaultLabelLine:function(a){f.defaultEmphasis(a.labelLine,["show"]);var b=a.labelLine.normal,c=a.labelLine.emphasis;b.show=b.show&&a.label.normal.show,c.show=c.show&&a.label.emphasis.show},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,selectedOffset:10,avoidLabelOverlap:!0,label:{normal:{rotate:!1,show:!0,position:"outer"},emphasis:{}},labelLine:{normal:{show:!0,length:15,length2:15,smooth:!1,lineStyle:{width:1,type:"solid"}}},itemStyle:{normal:{borderWidth:1},emphasis:{}},animationEasing:"cubicOut",data:[]}});e.mixin(i,h),a.exports=i},function(a,b,c){function d(a,b,c,d){var f=b.getData(),g=this.dataIndex,h=f.getName(g),i=b.get("selectedOffset");d.dispatchAction({type:"pieToggleSelect",from:a,name:h,seriesId:b.id}),f.each(function(a){e(f.getItemGraphicEl(a),f.getItemLayout(a),b.isSelected(f.getName(a)),i,c)})}function e(a,b,c,d,e){var f=(b.startAngle+b.endAngle)/2,g=Math.cos(f),h=Math.sin(f),i=c?d:0,j=[g*i,h*i];e?a.animate().when(200,{position:j}).start("bounceOut"):a.attr("position",j)}function f(a,b){function c(){f.ignore=f.hoverIgnore,g.ignore=g.hoverIgnore}function d(){f.ignore=f.normalIgnore,g.ignore=g.normalIgnore}h.Group.call(this);var e=new h.Sector({z2:2}),f=new h.Polyline,g=new h.Text;this.add(e),this.add(f),this.add(g),this.updateData(a,b,!0),this.on("emphasis",c).on("normal",d).on("mouseover",c).on("mouseout",d)}function g(a,b,c,d,e){var f=d.getModel("textStyle"),g="inside"===e||"inner"===e;return{fill:f.getTextColor()||(g?"#fff":a.getItemVisual(b,"color")),opacity:a.getItemVisual(b,"opacity"),textFont:f.getFont(),text:i.retrieve(a.hostModel.getFormattedLabel(b,c),a.getName(b))}}var h=c(3),i=c(1),j=f.prototype;j.updateData=function(a,b,c){function d(){g.stopAnimation(!0),g.animateTo({shape:{r:l.r+10}},300,"elasticOut")}function f(){g.stopAnimation(!0),g.animateTo({shape:{r:l.r}},300,"elasticOut")}var g=this.childAt(0),j=a.hostModel,k=a.getItemModel(b),l=a.getItemLayout(b),m=i.extend({},l);m.label=null,c?(g.setShape(m),g.shape.endAngle=l.startAngle,h.updateProps(g,{shape:{endAngle:l.endAngle}},j,b)):h.updateProps(g,{shape:m},j,b);var n=k.getModel("itemStyle"),o=a.getItemVisual(b,"color");g.useStyle(i.defaults({lineJoin:"bevel",fill:o},n.getModel("normal").getItemStyle())),g.hoverStyle=n.getModel("emphasis").getItemStyle(),e(this,a.getItemLayout(b),k.get("selected"),j.get("selectedOffset"),j.get("animation")),g.off("mouseover").off("mouseout").off("emphasis").off("normal"),k.get("hoverAnimation")&&j.ifEnableAnimation()&&g.on("mouseover",d).on("mouseout",f).on("emphasis",d).on("normal",f),this._updateLabel(a,b),h.setHoverStyle(this)},j._updateLabel=function(a,b){var c=this.childAt(1),d=this.childAt(2),e=a.hostModel,f=a.getItemModel(b),i=a.getItemLayout(b),j=i.label,k=a.getItemVisual(b,"color");h.updateProps(c,{shape:{points:j.linePoints||[[j.x,j.y],[j.x,j.y],[j.x,j.y]]}},e,b),h.updateProps(d,{style:{x:j.x,y:j.y}},e,b),d.attr({style:{textVerticalAlign:j.verticalAlign,textAlign:j.textAlign,textFont:j.font},rotation:j.rotation,origin:[j.x,j.y],z2:10});var l=f.getModel("label.normal"),m=f.getModel("label.emphasis"),n=f.getModel("labelLine.normal"),o=f.getModel("labelLine.emphasis"),p=l.get("position")||m.get("position");d.setStyle(g(a,b,"normal",l,p)),d.ignore=d.normalIgnore=!l.get("show"),d.hoverIgnore=!m.get("show"),c.ignore=c.normalIgnore=!n.get("show"),c.hoverIgnore=!o.get("show"),c.setStyle({stroke:k,opacity:a.getItemVisual(b,"opacity")}),c.setStyle(n.getModel("lineStyle").getLineStyle()),d.hoverStyle=g(a,b,"emphasis",m,p),c.hoverStyle=o.getModel("lineStyle").getLineStyle();var q=n.get("smooth");q&&q===!0&&(q=.4),c.setShape({smooth:q})},i.inherits(f,h.Group);var k=c(27).extend({type:"pie",init:function(){var a=new h.Group;this._sectorGroup=a},render:function(a,b,c,e){if(!e||e.from!==this.uid){var g=a.getData(),h=this._data,j=this.group,k=b.get("animation"),l=!h,m=i.curry(d,this.uid,a,k,c),n=a.get("selectedMode");if(g.diff(h).add(function(a){var b=new f(g,a);l&&b.eachChild(function(a){a.stopAnimation(!0)}),n&&b.on("click",m),g.setItemGraphicEl(a,b),j.add(b)}).update(function(a,b){var c=h.getItemGraphicEl(b);c.updateData(g,a),c.off("click"),n&&c.on("click",m),j.add(c),g.setItemGraphicEl(a,c)}).remove(function(a){var b=h.getItemGraphicEl(a);j.remove(b)}).execute(),k&&l&&g.count()>0){var o=g.getItemLayout(0),p=Math.max(c.getWidth(),c.getHeight())/2,q=i.bind(j.removeClipPath,j);j.setClipPath(this._createClipPath(o.cx,o.cy,p,o.startAngle,o.clockwise,q,a))}this._data=g}},_createClipPath:function(a,b,c,d,e,f,g){var i=new h.Sector({shape:{cx:a,cy:b,r0:0,r:c,startAngle:d,endAngle:d,clockwise:e}});return h.initProps(i,{shape:{endAngle:d+(e?1:-1)*Math.PI*2}},g,f),i}});a.exports=k},function(a,b,c){"use strict";function d(a,b,c,d,e,f,g){function h(b,c,d,e){for(var f=b;c>f;f++)if(a[f].y+=d,f>b&&c>f+1&&a[f+1].y>a[f].y+a[f].height)return void i(f,d/2);i(c-1,d/2)}function i(b,c){for(var d=b;d>=0&&(a[d].y-=c,!(d>0&&a[d].y>a[d-1].y+a[d-1].height));d--);}function j(a,b,c,d,e,f){for(var g=f>0?b?Number.MAX_VALUE:0:b?Number.MAX_VALUE:0,h=0,i=a.length;i>h;h++)if("center"!==a[h].position){var j=Math.abs(a[h].y-d),k=a[h].len,l=a[h].len2,m=e+k>j?Math.sqrt((e+k+l)*(e+k+l)-j*j):Math.abs(a[h].x-c);b&&m>=g&&(m=g-10),!b&&g>=m&&(m=g+10),a[h].x=c+m*f,g=m}}a.sort(function(a,b){return a.y-b.y});for(var k,l=0,m=a.length,n=[],o=[],p=0;m>p;p++)k=a[p].y-l,0>k&&h(p,m,-k,e),l=a[p].y+a[p].height;0>g-l&&i(m-1,l-g);for(var p=0;m>p;p++)a[p].y>=c?o.push(a[p]):n.push(a[p]);j(n,!1,b,c,d,e),j(o,!0,b,c,d,e)}function e(a,b,c,e,f,g){for(var h=[],i=[],j=0;j<a.length;j++)a[j].x<b?h.push(a[j]):i.push(a[j]);d(i,b,c,e,1,f,g),d(h,b,c,e,-1,f,g);for(var j=0;j<a.length;j++){var k=a[j].linePoints;if(k){var l=k[1][0]-k[2][0];a[j].x<b?k[2][0]=a[j].x+3:k[2][0]=a[j].x-3,k[1][1]=k[2][1]=a[j].y,k[1][0]=k[2][0]+l}}}var f=c(16);a.exports=function(a,b,c,d){var g,h,i=a.getData(),j=[],k=!1;i.each(function(c){var d,e,l,m,n=i.getItemLayout(c),o=i.getItemModel(c),p=o.getModel("label.normal"),q=p.get("position")||o.get("label.emphasis.position"),r=o.getModel("labelLine.normal"),s=r.get("length"),t=r.get("length2"),u=(n.startAngle+n.endAngle)/2,v=Math.cos(u),w=Math.sin(u);g=n.cx,h=n.cy;var x="inside"===q||"inner"===q;if("center"===q)d=n.cx,e=n.cy,m="center";else{var y=(x?(n.r+n.r0)/2*v:n.r*v)+g,z=(x?(n.r+n.r0)/2*w:n.r*w)+h;if(d=y+3*v,e=z+3*w,!x){var A=y+v*(s+b-n.r),B=z+w*(s+b-n.r),C=A+(0>v?-1:1)*t,D=B;d=C+(0>v?-5:5),e=D,l=[[y,z],[A,B],[C,D]]}m=x?"center":v>0?"left":"right"}var E=p.getModel("textStyle").getFont(),F=p.get("rotate")?0>v?-u+Math.PI:-u:0,G=a.getFormattedLabel(c,"normal")||i.getName(c),H=f.getBoundingRect(G,E,m,"top");k=!!F,n.label={x:d,y:e,position:q,height:H.height,len:s,len2:t,linePoints:l,textAlign:m,verticalAlign:"middle",font:E,rotation:F},x||j.push(n.label)}),!k&&a.get("avoidLabelOverlap")&&e(j,g,h,b,c,d)}},function(a,b,c){var d=c(4),e=d.parsePercent,f=c(102),g=c(1),h=2*Math.PI,i=Math.PI/180;a.exports=function(a,b,c,j){b.eachSeriesByType(a,function(a){var b=a.get("center"),j=a.get("radius");g.isArray(j)||(j=[0,j]),g.isArray(b)||(b=[b,b]);var k=c.getWidth(),l=c.getHeight(),m=Math.min(k,l),n=e(b[0],k),o=e(b[1],l),p=e(j[0],m/2),q=e(j[1],m/2),r=a.getData(),s=-a.get("startAngle")*i,t=a.get("minAngle")*i,u=r.getSum("value"),v=Math.PI/(u||r.count())*2,w=a.get("clockwise"),x=a.get("roseType"),y=r.getDataExtent("value");y[0]=0;var z=h,A=0,B=s,C=w?1:-1;if(r.each("value",function(a,b){var c;c="area"!==x?0===u?v:a*v:h/(r.count()||1),t>c?(c=t,z-=t):A+=a;var e=B+C*c;r.setItemLayout(b,{angle:c,startAngle:B,endAngle:e,clockwise:w,cx:n,cy:o,r0:p,r:x?d.linearMap(a,y,[p,q]):q}),B=e},!0),h>z)if(.001>=z){var D=h/r.count();r.each(function(a){var b=r.getItemLayout(a);b.startAngle=s+C*a*D,b.endAngle=s+C*(a+1)*D})}else v=z/A,B=s,r.each("value",function(a,b){var c=r.getItemLayout(b),d=c.angle===t?t:a*v;c.startAngle=B,c.endAngle=B+C*d,B+=d});f(a,q,k,l)})}},function(a,b,c){"use strict";c(53),c(105)},function(a,b,c){function d(a,b){function c(a,b){var c=d.getAxis(a);return c.toGlobalCoord(c.dataToCoord(0))}var d=a.coordinateSystem,e=b.axis,f={},g=e.position,h=e.onZero?"onZero":g,i=e.dim,j=d.getRect(),k=[j.x,j.x+j.width,j.y,j.y+j.height],l=b.get("offset")||0,m={x:{top:k[2]-l,bottom:k[3]+l},y:{left:k[0]-l,right:k[1]+l}};m.x.onZero=Math.max(Math.min(c("y"),m.x.bottom),m.x.top),m.y.onZero=Math.max(Math.min(c("x"),m.y.right),m.y.left),f.position=["y"===i?m.y[h]:k[0],"x"===i?m.x[h]:k[3]],f.rotation=Math.PI/2*("x"===i?0:1);var n={top:-1,bottom:1,left:-1,right:1};f.labelDirection=f.tickDirection=f.nameDirection=n[g],e.onZero&&(f.labelOffset=m[i][g]-m[i].onZero),b.getModel("axisTick").get("inside")&&(f.tickDirection=-f.tickDirection),b.getModel("axisLabel").get("inside")&&(f.labelDirection=-f.labelDirection);var o=b.getModel("axisLabel").get("rotate");return f.labelRotation="top"===h?-o:o,f.labelInterval=e.getLabelInterval(),f.z2=1,f}var e=c(1),f=c(3),g=c(50),h=g.ifIgnoreOnTick,i=g.getInterval,j=["axisLine","axisLabel","axisTick","axisName"],k=["splitArea","splitLine"],l=c(2).extendComponentView({type:"axis",render:function(a,b){this.group.removeAll();var c=this._axisGroup;if(this._axisGroup=new f.Group,this.group.add(this._axisGroup),a.get("show")){var h=a.findGridModel(),i=d(h,a),l=new g(a,i);e.each(j,l.add,l),this._axisGroup.add(l.getGroup()),e.each(k,function(b){a.get(b+".show")&&this["_"+b](a,h,i.labelInterval)},this),f.groupTransition(c,this._axisGroup,a)}},_splitLine:function(a,b,c){var d=a.axis,g=a.getModel("splitLine"),j=g.getModel("lineStyle"),k=j.get("color"),l=i(g,c);k=e.isArray(k)?k:[k];for(var m=b.coordinateSystem.getRect(),n=d.isHorizontal(),o=0,p=d.getTicksCoords(),q=d.scale.getTicks(),r=[],s=[],t=j.getLineStyle(),u=0;u<p.length;u++)if(!h(d,u,l)){var v=d.toGlobalCoord(p[u]);n?(r[0]=v,r[1]=m.y,s[0]=v,s[1]=m.y+m.height):(r[0]=m.x,r[1]=v,s[0]=m.x+m.width,s[1]=v);var w=o++%k.length;this._axisGroup.add(new f.Line(f.subPixelOptimizeLine({anid:"line_"+q[u],shape:{x1:r[0],y1:r[1],x2:s[0],y2:s[1]},style:e.defaults({stroke:k[w]},t),silent:!0})))}},_splitArea:function(a,b,c){var d=a.axis,g=a.getModel("splitArea"),j=g.getModel("areaStyle"),k=j.get("color"),l=b.coordinateSystem.getRect(),m=d.getTicksCoords(),n=d.scale.getTicks(),o=d.toGlobalCoord(m[0]),p=d.toGlobalCoord(m[0]),q=0,r=i(g,c),s=j.getAreaStyle();k=e.isArray(k)?k:[k];for(var t=1;t<m.length;t++)if(!h(d,t,r)){var u,v,w,x,y=d.toGlobalCoord(m[t]);d.isHorizontal()?(u=o,v=l.y,w=y-u,x=l.height):(u=l.x,v=p,w=l.width,x=y-v);var z=q++%k.length;this._axisGroup.add(new f.Rect({anid:"area_"+n[t],shape:{x:u,y:v,width:w,height:x},style:e.defaults({fill:k[z]},s),silent:!0})),o=u+w,p=v+x}}});l.extend({type:"xAxis"}),l.extend({type:"yAxis"})},function(a,b,c){var d=c(1),e=c(108),f=c(2);f.registerAction("dataZoom",function(a,b){var c=e.createLinkedNodesFinder(d.bind(b.eachComponent,b,"dataZoom"),e.eachAxisDim,function(a,b){return a.get(b.axisIndex)}),f=[];b.eachComponent({mainType:"dataZoom",query:a},function(a,b){f.push.apply(f,c(a).nodes)}),d.each(f,function(b,c){b.setRawRange({start:a.start,end:a.end,startValue:a.startValue,endValue:a.endValue})})})},function(a,b,c){function d(a,b,c){c.getAxisProxy(a.name,b).reset(c)}function e(a,b,c){c.getAxisProxy(a.name,b).filterData(c)}var f=c(2);f.registerProcessor(function(a,b){a.eachComponent("dataZoom",function(a){a.eachTargetAxis(d),a.eachTargetAxis(e)}),a.eachComponent("dataZoom",function(a){var b=a.findRepresentativeAxisProxy(),c=b.getDataPercentWindow(),d=b.getDataValueWindow();a.setRawRange({start:c[0],end:c[1],startValue:d[0],endValue:d[1]})})})},function(a,b,c){var d=c(8),e=c(1),f={},g=["x","y","z","radius","angle"];f.createNameEach=function(a,b){a=a.slice();var c=e.map(a,d.capitalFirst);b=(b||[]).slice();var f=e.map(b,d.capitalFirst);return function(d,g){e.each(a,function(a,e){for(var h={name:a,capital:c[e]},i=0;i<b.length;i++)h[b[i]]=a+f[i];d.call(g,h)})}},f.eachAxisDim=f.createNameEach(g,["axisIndex","axis","index","id"]),f.createLinkedNodesFinder=function(a,b,c){function d(a,b){return e.indexOf(b.nodes,a)>=0}function f(a,d){var f=!1;return b(function(b){e.each(c(a,b)||[],function(a){d.records[b.name][a]&&(f=!0)})}),f}function g(a,d){d.nodes.push(a),b(function(b){e.each(c(a,b)||[],function(a){d.records[b.name][a]=!0})})}return function(c){function e(a){!d(a,h)&&f(a,h)&&(g(a,h),i=!0)}var h={nodes:[],records:{}};if(b(function(a){h.records[a.name]={}}),!c)return h;g(c,h);var i;do i=!1,a(e);while(i);return h}},a.exports=f},function(a,b,c){function d(a){var b=a[g];return b||(b=a[g]=[{}]),b}var e=c(1),f=e.each,g="\0_ec_hist_store",h={push:function(a,b){var c=d(a);f(b,function(b,d){for(var e=c.length-1;e>=0;e--){var f=c[e];if(f[d])break}if(0>e){var g=a.queryComponents({mainType:"dataZoom",subType:"select",id:d})[0];if(g){var h=g.getPercentRange();c[0][d]={dataZoomId:d,start:h[0],end:h[1]}}}}),c.push(b)},pop:function(a){var b=d(a),c=b[b.length-1];b.length>1&&b.pop();var e={};return f(c,function(a,c){for(var d=b.length-1;d>=0;d--){var a=b[d][c];if(a){e[c]=a;break}}}),e},clear:function(a){a[g]=null},count:function(a){return d(a).length}};a.exports=h},function(a,b,c){c(10).registerSubTypeDefaulter("dataZoom",function(a){return"slider"})},function(a,b,c){function d(a){L.call(this),this._zr=a,this.group=new N.Group,this._brushType,this._brushOption,this._panels,this._track=[],this._dragging,this._covers=[],this._creatingCover,this._creatingPanel,this._enableGlobalPan,this._uid="brushController_"+ba++,this._handlers={},R(ca,function(a,b){this._handlers[b]=M.bind(a,this)},this)}function e(a,b){var c=a._zr;a._enableGlobalPan||O.take(c,Z,a._uid),R(a._handlers,function(a,b){c.on(b,a)}),a._brushType=b.brushType,a._brushOption=M.merge(M.clone(aa),b,!0)}function f(a){var b=a._zr;O.release(b,Z,a._uid),R(a._handlers,function(a,c){b.off(c,a)}),a._brushType=a._brushOption=null}function g(a,b){var c=da[b.brushType].createCover(a,b);return j(c),c.__brushOption=b,a.group.add(c),
+c}function h(a,b){var c=l(b);return c.endCreating&&(c.endCreating(a,b),j(b)),b}function i(a,b){var c=b.__brushOption;l(b).updateCoverShape(a,b,c.range,c)}function j(a){a.traverse(function(a){a.z=W,a.z2=W})}function k(a,b){l(b).updateCommon(a,b),i(a,b)}function l(a){return da[a.__brushOption.brushType]}function m(a,b,c){var d=a._panels;if(!d)return!0;var e;return R(d,function(a){a.contain(b,c)&&(e=a)}),e}function n(a,b){var c=a._panels;if(!c)return!0;var d=b.__brushOption.panelId;return null==d||c[d]}function o(a){var b=a._covers,c=b.length;return R(b,function(b){a.group.remove(b)},a),b.length=0,!!c}function p(a,b){var c=S(a._covers,function(a){var b=a.__brushOption,c=M.clone(b.range);return{brushType:b.brushType,panelId:b.panelId,range:c}});a.trigger("brush",c,{isEnd:!!b.isEnd,removeOnClick:!!b.removeOnClick})}function q(a){var b=a._track;if(!b.length)return!1;var c=b[b.length-1],d=b[0],e=c[0]-d[0],f=c[1]-d[1],g=V(e*e+f*f,.5);return g>X}function r(a){var b=a.length-1;return 0>b&&(b=0),[a[0],a[b]]}function s(a,b,c,d){var e=new N.Group;return e.add(new N.Rect({name:"main",style:w(c),silent:!0,draggable:!0,cursor:"move",drift:Q(a,b,e,"nswe"),ondragend:Q(p,b,{isEnd:!0})})),R(d,function(c){e.add(new N.Rect({name:c,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:Q(a,b,e,c),ondragend:Q(p,b,{isEnd:!0})}))}),e}function t(a,b,c,d){var e=d.brushStyle.lineWidth||0,f=U(e,Y),g=c[0][0],h=c[1][0],i=g-e/2,j=h-e/2,k=c[0][1],l=c[1][1],m=k-f+e/2,n=l-f+e/2,o=k-g,p=l-h,q=o+e,r=p+e;v(a,b,"main",g,h,o,p),d.transformable&&(v(a,b,"w",i,j,f,r),v(a,b,"e",m,j,f,r),v(a,b,"n",i,j,q,f),v(a,b,"s",i,n,q,f),v(a,b,"nw",i,j,f,f),v(a,b,"ne",m,j,f,f),v(a,b,"sw",i,n,f,f),v(a,b,"se",m,n,f,f))}function u(a,b){var c=b.__brushOption,d=c.transformable,e=b.childAt(0);e.useStyle(w(c)),e.attr({silent:!d,cursor:d?"move":"default"}),R(["w","e","n","s","se","sw","ne","nw"],function(c){var e=b.childOfName(c),f=z(a,c);e&&e.attr({silent:!d,invisible:!d,cursor:d?_[f]+"-resize":null})})}function v(a,b,c,d,e,f,g){var h=b.childOfName(c);h&&h.setShape(E(D(a,b,[[d,e],[d+f,e+g]])))}function w(a){return M.defaults({strokeNoScale:!0},a.brushStyle)}function x(a,b,c,d){var e=[T(a,c),T(b,d)],f=[U(a,c),U(b,d)];return[[e[0],f[0]],[e[1],f[1]]]}function y(a){return N.getTransform(a.group)}function z(a,b){if(b.length>1){b=b.split("");var c=[z(a,b[0]),z(a,b[1])];return("e"===c[0]||"w"===c[0])&&c.reverse(),c.join("")}var d={w:"left",e:"right",n:"top",s:"bottom"},e={left:"w",right:"e",top:"n",bottom:"s"},c=N.transformDirection(d[b],y(a));return e[c]}function A(a,b,c,d,e,f,g,h){var i=d.__brushOption,j=a(i.range),l=C(c,f,g);R(e.split(""),function(a){var b=$[a];j[b[0]][b[1]]+=l[b[0]]}),i.range=b(x(j[0][0],j[1][0],j[0][1],j[1][1])),k(c,d),p(c,{isEnd:!1})}function B(a,b,c,d,e){var f=b.__brushOption.range,g=C(a,c,d);R(f,function(a){a[0]+=g[0],a[1]+=g[1]}),k(a,b),p(a,{isEnd:!1})}function C(a,b,c){var d=a.group,e=d.transformCoordToLocal(b,c),f=d.transformCoordToLocal(0,0);return[e[0]-f[0],e[1]-f[1]]}function D(a,b,c){var d=n(a,b);if(d===!0)return M.clone(c);var e=d.getBoundingRect();return M.map(c,function(a){var b=a[0];b=U(b,e.x),b=T(b,e.x+e.width);var c=a[1];return c=U(c,e.y),c=T(c,e.y+e.height),[b,c]})}function E(a){var b=T(a[0][0],a[1][0]),c=T(a[0][1],a[1][1]),d=U(a[0][0],a[1][0]),e=U(a[0][1],a[1][1]);return{x:b,y:c,width:d-b,height:e-c}}function F(a,b){var c=b.offsetX,d=b.offsetY,e=a._zr;if(a._brushType){for(var f,g=a._panels,h=a._covers,i=0;i<h.length;i++)if(da[h[i].__brushOption.brushType].contain(h[i],c,d)){f=!0;break}f||(g?R(g,function(a){a.contain(c,d)&&e.setCursorStyle("crosshair")}):e.setCursorStyle("crosshair"))}}function G(a){var b=a.event;b.preventDefault&&b.preventDefault()}function H(a,b,c){return a.childOfName("main").contain(b,c)}function I(a,b,c){var d,e=b.offsetX,f=b.offsetY,j=a._creatingCover,k=a._creatingPanel,l=a._brushOption;if(a._track.push(a.group.transformCoordToLocal(e,f)),q(a)||j){if(k&&!j){"single"===l.brushMode&&o(a);var n=M.clone(l);n.panelId=k===!0?null:k.__brushPanelId,j=a._creatingCover=g(a,n),a._covers.push(j)}if(j){var p=da[a._brushType],r=j.__brushOption;r.range=p.getCreatingRange(D(a,j,a._track)),c&&(h(a,j),p.updateCommon(a,j)),i(a,j),d={isEnd:c}}}else c&&"single"===l.brushMode&&l.removeOnClick&&m(a,e,f)&&o(a)&&(d={isEnd:c,removeOnClick:!0});return d}function J(a){if(this._dragging){G(a);var b=I(this,a,!0);this._dragging=!1,this._track=[],this._creatingCover=null,b&&p(this,b)}}function K(a){return{createCover:function(b,c){return s(Q(A,function(b){var c=[b,[0,100]];return a&&c.reverse(),c},function(b){return b[a]}),b,c,[["w","e"],["n","s"]][a])},getCreatingRange:function(b){var c=r(b),d=T(c[0][a],c[1][a]),e=U(c[0][a],c[1][a]);return[d,e]},updateCoverShape:function(b,c,d,e){var f,g=e.brushStyle.width;if(null==g){var h=n(b,c),i=0;if(h!==!0){var j=h.getBoundingRect();g=a?j.width:j.height,i=a?j.x:j.y}f=[i,i+(g||0)]}else f=[-g/2,g/2];var k=[d,f];a&&k.reverse(),t(b,c,k,e)},updateCommon:u,contain:H}}var L=c(20),M=c(1),N=c(3),O=c(113),P=c(45),Q=M.curry,R=M.each,S=M.map,T=Math.min,U=Math.max,V=Math.pow,W=1e4,X=6,Y=6,Z="globalPan",$={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},_={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},aa={brushStyle:{lineWidth:2,stroke:"rgba(0,0,0,0.3)",fill:"rgba(0,0,0,0.1)"},transformable:!0,brushMode:"single",removeOnClick:!1},ba=0;d.prototype={constructor:d,enableBrush:function(a){return this._brushType&&f(this),a.brushType&&e(this,a),this},setPanels:function(a){var b=this._panels||{},c=this._panels=a&&a.length&&{},d=this.group;return c&&R(a,function(a){var e=a.panelId,f=b[e];f||(f=new N.Rect({silent:!0,invisible:!0}),d.add(f)),f.attr("shape",a.rect),f.__brushPanelId=e,c[e]=f,b[e]=null}),R(b,function(a){a&&d.remove(a)}),this},mount:function(a){a=a||{},this._enableGlobalPan=a.enableGlobalPan;var b=this.group;return this._zr.add(b),b.attr({position:a.position||[0,0],rotation:a.rotation||0,scale:a.scale||[1,1]}),this},eachCover:function(a,b){R(this._covers,a,b)},updateCovers:function(a){function b(a,b){return(null!=a.id?a.id:f+b)+"-"+a.brushType}function c(a,c){return b(a.__brushOption,c)}function d(b,c){var d=a[b];if(null!=c&&i[c]===m)j[b]=i[c];else{var e=j[b]=null!=c?(i[c].__brushOption=d,i[c]):h(l,g(l,d));k(l,e)}}function e(a){i[a]!==m&&l.group.remove(i[a])}a=M.map(a,function(a){return M.merge(M.clone(aa),a,!0)});var f="\0-brush-index-",i=this._covers,j=this._covers=[],l=this,m=this._creatingCover;return new P(i,a,c,b).add(d).update(d).remove(e).execute(),this},unmount:function(){return this.enableBrush(!1),o(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},M.mixin(d,L);var ca={mousedown:function(a){if(this._dragging)J.call(this,a);else if(!a.target||!a.target.draggable){G(a);var b=a.offsetX,c=a.offsetY;this._creatingCover=null;var d=this._creatingPanel=m(this,b,c);d&&(this._dragging=!0,this._track=[this.group.transformCoordToLocal(b,c)])}},mousemove:function(a){if(F(this,a),this._dragging){G(a);var b=I(this,a,!1);b&&p(this,b)}},mouseup:J},da={lineX:K(0),lineY:K(1),rect:{createCover:function(a,b){return s(Q(A,function(a){return a},function(a){return a}),a,b,["w","e","n","s","se","sw","ne","nw"])},getCreatingRange:function(a){var b=r(a);return x(b[1][0],b[1][1],b[0][0],b[0][1])},updateCoverShape:function(a,b,c,d){t(a,b,c,d)},updateCommon:u,contain:H},polygon:{createCover:function(a,b){var c=new N.Group;return c.add(new N.Polyline({name:"main",style:w(b),silent:!0})),c},getCreatingRange:function(a){return a},endCreating:function(a,b){b.remove(b.childAt(0)),b.add(new N.Polygon({name:"main",draggable:!0,drift:Q(B,a,b),ondragend:Q(p,a,{isEnd:!0})}))},updateCoverShape:function(a,b,c,d){b.childAt(0).setShape({points:D(a,b,c)})},updateCommon:u,contain:H}};a.exports=d},function(a,b,c){function d(a){return a[0]>a[1]&&a.reverse(),a}function e(a,b){for(var c=!0,d=0;d<k.length;d++){var e=k[d]+"Index";if(a[e]>=0){c=!1;for(var f=0;f<b.length;f++)if(b[f][e]===a[e])return b[f]}}return c}function f(a,b,c,e){var f=c.coordSys.getAxis(a);return d(g.map([0,1],function(a){return b?f.coordToData(f.toLocalCoord(e[a])):f.toGlobalCoord(f.dataToCoord(e[a]))}))}var g=c(1),h=c(3),i=g.each,j={},k=["geo","xAxis","yAxis"],l="--",m=["dataToPoint","pointToData"];j.parseOutputRanges=function(a,b,c,d){i(a,function(a,c){var f=a.panelId;if(f){f=f.split(l),a[f[0]+"Index"]=+f[1];var g=e(a,b);a.coordRange=n[a.brushType](1,g,a.range),d&&(d[c]=g)}})},j.parseInputRanges=function(a,b){i(a.areas,function(b){var c=e(b,a.coordInfoList);b.range=b.range||[],c&&c!==!0&&(b.range=n[b.brushType](0,c,b.coordRange),b.panelId=c.panelId)})},j.makePanelOpts=function(a){var b=[];return i(a,function(a){var c,d=a.coordSys;a.geoIndex>=0?(c=d.getBoundingRect().clone(),c.applyTransform(h.getTransform(d))):c=d.grid.getRect().clone(),b.push({panelId:a.panelId,rect:c})}),b},j.makeCoordInfoList=function(a,b){var c=[];return i(k,function(d){var e=a[d+"Index"];null!=e&&"none"!==e&&("all"===e||g.isArray(e)||(e=[e]),b.eachComponent({mainType:d},function(a,b){if(!("all"!==e&&g.indexOf(e,b)<0)){var f,h;"xAxis"===d||"yAxis"===d?f=a.axis.grid:h=a.coordinateSystem;for(var i,j=0,k=c.length;k>j;j++){var m=c[j];if("yAxis"===d&&!m.yAxis&&m.xAxis){var n=f.getCartesian(m.xAxisIndex,b);if(n){h=n,i=m;break}}}!i&&c.push(i={}),i[d]=a,i[d+"Index"]=b,i.panelId=d+l+b,i.coordSys=h||f.getCartesian(i.xAxisIndex,i.yAxisIndex),i.coordSys?c[d+"Has"]=!0:c.pop()}}))}),c},j.controlSeries=function(a,b,c){var d=e(a,b.coordInfoList);return d===!0||d&&d.coordSys===c.coordinateSystem};var n={lineX:g.curry(f,"x"),lineY:g.curry(f,"y"),rect:function(a,b,c){var e=b.coordSys,f=e[m[a]]([c[0][0],c[1][0]]),g=e[m[a]]([c[0][1],c[1][1]]);return[d([f[0],g[0]]),d([f[1],g[1]])]},polygon:function(a,b,c){var d=b.coordSys;return g.map(c,d[m[a]],d)}};a.exports=j},function(a,b,c){function d(a){return a[e]||(a[e]={})}var e="\0_ec_interaction_mutex",f={take:function(a,b,c){var e=d(a);e[b]=c},release:function(a,b,c){var e=d(a),f=e[b];f===c&&(e[b]=null)},isTaken:function(a,b){return!!d(a)[b]}};c(2).registerAction({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),a.exports=f},function(a,b,c){function d(a,b,c){e.positionGroup(a,b.getBoxLayoutParams(),{width:c.getWidth(),height:c.getHeight()},b.get("padding"))}var e=c(13),f=c(8),g=c(3);a.exports={layout:function(a,b,c){var f=e.getLayoutRect(b.getBoxLayoutParams(),{width:c.getWidth(),height:c.getHeight()},b.get("padding"));e.box(b.get("orient"),a,b.get("itemGap"),f.width,f.height),d(a,b,c)},addBackground:function(a,b){var c=f.normalizeCssArray(b.get("padding")),d=a.getBoundingRect(),e=b.getItemStyle(["color","opacity"]);e.fill=b.get("backgroundColor");var h=new g.Rect({shape:{x:d.x-c[3],y:d.y-c[0],width:d.width+c[1]+c[3],height:d.height+c[0]+c[2]},style:e,silent:!0,z2:-1});g.subPixelOptimizeRect(h),a.add(h)}}},function(a,b,c){var d=c(1),e=c(42),f=c(119),g=function(a,b,c,d,f){e.call(this,a,b,c),this.type=d||"value",this.position=f||"bottom"};g.prototype={constructor:g,index:0,onZero:!1,model:null,isHorizontal:function(){var a=this.position;return"top"===a||"bottom"===a},getGlobalExtent:function(){var a=this.getExtent();return a[0]=this.toGlobalCoord(a[0]),a[1]=this.toGlobalCoord(a[1]),a},getLabelInterval:function(){var a=this._labelInterval;return a||(a=this._labelInterval=f(this)),a},isLabelIgnored:function(a){if("category"===this.type){var b=this.getLabelInterval();return"function"==typeof b&&!b(a,this.scale.getLabel(a))||a%(b+1)}},toLocalCoord:null,toGlobalCoord:null},d.inherits(g,e),a.exports=g},function(a,b,c){"use strict";function d(a){return this._axes[a]}var e=c(1),f=function(a){this._axes={},this._dimList=[],this.name=a||""};f.prototype={constructor:f,type:"cartesian",getAxis:function(a){return this._axes[a]},getAxes:function(){return e.map(this._dimList,d,this)},getAxesByScale:function(a){return a=a.toLowerCase(),e.filter(this.getAxes(),function(b){return b.scale.type===a})},addAxis:function(a){var b=a.dim;this._axes[b]=a,this._dimList.push(b)},dataToCoord:function(a){return this._dataCoordConvert(a,"dataToCoord")},coordToData:function(a){return this._dataCoordConvert(a,"coordToData")},_dataCoordConvert:function(a,b){for(var c=this._dimList,d=a instanceof Array?[]:{},e=0;e<c.length;e++){var f=c[e],g=this._axes[f];d[f]=g[b](a[f])}return d}},a.exports=f},function(a,b,c){"use strict";function d(a){f.call(this,a)}var e=c(1),f=c(116);d.prototype={constructor:d,type:"cartesian2d",dimensions:["x","y"],getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},containPoint:function(a){var b=this.getAxis("x"),c=this.getAxis("y");return b.contain(b.toLocalCoord(a[0]))&&c.contain(c.toLocalCoord(a[1]))},containData:function(a){return this.getAxis("x").containData(a[0])&&this.getAxis("y").containData(a[1])},dataToPoints:function(a,b){return a.mapArray(["x","y"],function(a,b){return this.dataToPoint([a,b])},b,this)},dataToPoint:function(a,b){var c=this.getAxis("x"),d=this.getAxis("y");return[c.toGlobalCoord(c.dataToCoord(a[0],b)),d.toGlobalCoord(d.dataToCoord(a[1],b))]},pointToData:function(a,b){var c=this.getAxis("x"),d=this.getAxis("y");return[c.coordToData(c.toLocalCoord(a[0]),b),d.coordToData(d.toLocalCoord(a[1]),b)]},getOtherAxis:function(a){return this.getAxis("x"===a.dim?"y":"x")}},e.inherits(d,f),a.exports=d},function(a,b,c){"use strict";c(53);var d=c(10);a.exports=d.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}})},function(a,b,c){"use strict";var d=c(1),e=c(22);a.exports=function(a){var b=a.model,c=b.getModel("axisLabel"),f=c.get("interval");return"category"!==a.type||"auto"!==f?"auto"===f?0:f:e.getAxisLabelInterval(d.map(a.scale.getTicks(),a.dataToCoord,a),b.getFormattedLabels(),c.getModel("textStyle").getFont(),a.isHorizontal())}},function(a,b,c){"use strict";function d(a){return a.get("stack")||"__ec_stack_"+a.seriesIndex}function e(a){return a.dim+a.index}function f(a,b){var c={};h.each(a,function(a,b){var f=a.getData(),g=a.coordinateSystem,h=g.getBaseAxis(),i=h.getExtent(),k="category"===h.type?h.getBandWidth():Math.abs(i[1]-i[0])/f.count(),l=c[e(h)]||{bandWidth:k,remainedWidth:k,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},m=l.stacks;c[e(h)]=l;var n=d(a);m[n]||l.autoWidthCount++,m[n]=m[n]||{width:0,maxWidth:0};var o=j(a.get("barWidth"),k),p=j(a.get("barMaxWidth"),k),q=a.get("barGap"),r=a.get("barCategoryGap");o&&!m[n].width&&(o=Math.min(l.remainedWidth,o),m[n].width=o,l.remainedWidth-=o),p&&(m[n].maxWidth=p),null!=q&&(l.gap=q),null!=r&&(l.categoryGap=r)});var f={};return h.each(c,function(a,b){f[b]={};var c=a.stacks,d=a.bandWidth,e=j(a.categoryGap,d),g=j(a.gap,1),i=a.remainedWidth,k=a.autoWidthCount,l=(i-e)/(k+(k-1)*g);l=Math.max(l,0),h.each(c,function(a,b){var c=a.maxWidth;!a.width&&c&&l>c&&(c=Math.min(c,i),i-=c,a.width=c,k--)}),l=(i-e)/(k+(k-1)*g),l=Math.max(l,0);var m,n=0;h.each(c,function(a,b){a.width||(a.width=l),m=a,n+=a.width*(1+g)}),m&&(n-=m.width*g);var o=-n/2;h.each(c,function(a,c){f[b][c]=f[b][c]||{offset:o,width:a.width},o+=a.width*(1+g)})}),f}function g(a,b,c){var g=f(h.filter(b.getSeriesByType(a),function(a){return!b.isSeriesFiltered(a)&&a.coordinateSystem&&"cartesian2d"===a.coordinateSystem.type})),i={};b.eachSeriesByType(a,function(a){var b=a.getData(),c=a.coordinateSystem,f=c.getBaseAxis(),h=d(a),j=g[e(f)][h],k=j.offset,l=j.width,m=c.getOtherAxis(f),n=a.get("barMinHeight")||0,o=f.onZero?m.toGlobalCoord(m.dataToCoord(0)):m.getGlobalExtent()[0],p=c.dataToPoints(b,!0);i[h]=i[h]||[],b.setLayout({offset:k,size:l}),b.each(m.dim,function(a,c){if(!isNaN(a)){i[h][c]||(i[h][c]={p:o,n:o});var d,e,f,g,j=a>=0?"p":"n",q=p[c],r=i[h][c][j];m.isHorizontal()?(d=r,e=q[1]+k,f=q[0]-r,g=l,Math.abs(f)<n&&(f=(0>f?-1:1)*n),i[h][c][j]+=f):(d=q[0]+k,e=r,f=l,g=q[1]-r,Math.abs(g)<n&&(g=(0>=g?-1:1)*n),i[h][c][j]+=g),b.setItemLayout(c,{x:d,y:e,width:f,height:g})}},!0)},this)}var h=c(1),i=c(4),j=i.parsePercent;a.exports=g},function(a,b,c){var d=c(3),e=c(1),f=Math.PI;a.exports=function(a,b){b=b||{},e.defaults(b,{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.8)",zlevel:0});var c=new d.Rect({style:{fill:b.maskColor},zlevel:b.zlevel,z:1e4}),g=new d.Arc({shape:{startAngle:-f/2,endAngle:-f/2+.1,r:10},style:{stroke:b.color,lineCap:"round",lineWidth:5},zlevel:b.zlevel,z:10001}),h=new d.Rect({style:{fill:"none",text:b.text,textPosition:"right",textDistance:10,textFill:b.textColor},zlevel:b.zlevel,z:10001});g.animateShape(!0).when(1e3,{endAngle:3*f/2}).start("circularInOut"),g.animateShape(!0).when(1e3,{startAngle:3*f/2}).delay(300).start("circularInOut");var i=new d.Group;return i.add(g),i.add(h),i.add(c),i.resize=function(){var b=a.getWidth()/2,d=a.getHeight()/2;g.setShape({cx:b,cy:d});var e=g.shape.r;h.setShape({x:b-e,y:d-e,width:2*e,height:2*e}),c.setShape({x:0,y:0,width:a.getWidth(),height:a.getHeight()})},i.resize(),i}},function(a,b,c){function d(a,b){for(var c in b)u.hasClass(c)||("object"==typeof b[c]?a[c]=a[c]?l.merge(a[c],b[c],!1):l.clone(b[c]):null==a[c]&&(a[c]=b[c]))}function e(a){a=a,this.option={},this.option[w]=1,this._componentsMap={},this._seriesIndices=null,d(a,this._theme.option),l.merge(a,v,!1),this.mergeOption(a)}function f(a,b){l.isArray(b)||(b=b?[b]:[]);var c={};return o(b,function(b){c[b]=(a[b]||[]).slice()}),c}function g(a,b){var c={};o(b,function(a,b){var d=a.exist;d&&(c[d.id]=a)}),o(b,function(b,d){var e=b.option;if(l.assert(!e||null==e.id||!c[e.id]||c[e.id]===b,"id duplicates: "+(e&&e.id)),e&&null!=e.id&&(c[e.id]=b),t(e)){var f=h(a,e,b.exist);b.keyInfo={mainType:a,subType:f}}}),o(b,function(a,b){var d=a.exist,e=a.option,f=a.keyInfo;if(t(e)){if(f.name=null!=e.name?e.name+"":d?d.name:"\0-",d)f.id=d.id;else if(null!=e.id)f.id=e.id+"";else{var g=0;do f.id="\0"+f.name+"\0"+g++;while(c[f.id])}c[f.id]=a}})}function h(a,b,c){var d=b.type?b.type:c?c.subType:u.determineSubType(a,b);return d}function i(a){return q(a,function(a){return a.componentIndex})||[]}function j(a,b){return b.hasOwnProperty("subType")?p(a,function(a){return a.subType===b.subType}):a}function k(a){}var l=c(1),m=c(11),n=c(9),o=l.each,p=l.filter,q=l.map,r=l.isArray,s=l.indexOf,t=l.isObject,u=c(10),v=c(124),w="\0_ec_inner",x=n.extend({constructor:x,init:function(a,b,c,d){c=c||{},this.option=null,this._theme=new n(c),this._optionManager=d},setOption:function(a,b){l.assert(!(w in a),"please use chart.getOption()"),this._optionManager.setOption(a,b),this.resetOption()},resetOption:function(a){var b=!1,c=this._optionManager;if(!a||"recreate"===a){var d=c.mountOption("recreate"===a);this.option&&"recreate"!==a?(this.restoreData(),this.mergeOption(d)):e.call(this,d),b=!0}if("timeline"!==a&&"media"!==a||this.restoreData(),!a||"recreate"===a||"timeline"===a){var f=c.getTimelineOption(this);f&&(this.mergeOption(f),b=!0)}if(!a||"recreate"===a||"media"===a){var g=c.getMediaOption(this,this._api);g.length&&o(g,function(a){this.mergeOption(a,b=!0)},this)}return b},mergeOption:function(a){function b(b,e){var h=m.normalizeToArray(a[b]),j=m.mappingToExists(d[b],h);g(b,j);var k=f(d,e);c[b]=[],d[b]=[],o(j,function(a,e){var f=a.exist,g=a.option;if(l.assert(t(g)||f,"Empty component definition"),g){var h=u.getClass(b,a.keyInfo.subType,!0);if(f&&f instanceof h)f.mergeOption(g,this),f.optionUpdated(g,!1);else{var i=l.extend({dependentModels:k,componentIndex:e},a.keyInfo);f=new h(g,this,this,i),f.init(g,this,this,i),f.optionUpdated(null,!0)}}else f.mergeOption({},this),f.optionUpdated({},!1);d[b][e]=f,c[b][e]=f.option},this),"series"===b&&(this._seriesIndices=i(d.series))}var c=this.option,d=this._componentsMap,e=[];o(a,function(a,b){null!=a&&(u.hasClass(b)?e.push(b):c[b]=null==c[b]?l.clone(a):l.merge(c[b],a,!0))}),u.topologicalTravel(e,u.getAllClassMainTypes(),b,this),this._seriesIndices=this._seriesIndices||[]},getOption:function(){var a=l.clone(this.option);return o(a,function(b,c){if(u.hasClass(c)){for(var b=m.normalizeToArray(b),d=b.length-1;d>=0;d--)m.isIdInner(b[d])&&b.splice(d,1);a[c]=b}}),delete a[w],a},getTheme:function(){return this._theme},getComponent:function(a,b){var c=this._componentsMap[a];return c?c[b||0]:void 0},queryComponents:function(a){var b=a.mainType;if(!b)return[];var c=a.index,d=a.id,e=a.name,f=this._componentsMap[b];if(!f||!f.length)return[];var g;if(null!=c)r(c)||(c=[c]),g=p(q(c,function(a){return f[a]}),function(a){return!!a});else if(null!=d){var h=r(d);g=p(f,function(a){return h&&s(d,a.id)>=0||!h&&a.id===d})}else if(null!=e){var i=r(e);g=p(f,function(a){return i&&s(e,a.name)>=0||!i&&a.name===e})}else g=f;return j(g,a)},findComponents:function(a){function b(a){var b=e+"Index",c=e+"Id",d=e+"Name";return a&&(a.hasOwnProperty(b)||a.hasOwnProperty(c)||a.hasOwnProperty(d))?{mainType:e,index:a[b],id:a[c],name:a[d]}:null}function c(b){return a.filter?p(b,a.filter):b}var d=a.query,e=a.mainType,f=b(d),g=f?this.queryComponents(f):this._componentsMap[e];return c(j(g,a))},eachComponent:function(a,b,c){var d=this._componentsMap;if("function"==typeof a)c=b,b=a,o(d,function(a,d){o(a,function(a,e){b.call(c,d,a,e)})});else if(l.isString(a))o(d[a],b,c);else if(t(a)){var e=this.findComponents(a);o(e,b,c)}},getSeriesByName:function(a){var b=this._componentsMap.series;return p(b,function(b){return b.name===a})},getSeriesByIndex:function(a){return this._componentsMap.series[a]},getSeriesByType:function(a){var b=this._componentsMap.series;return p(b,function(b){return b.subType===a})},getSeries:function(){return this._componentsMap.series.slice()},eachSeries:function(a,b){k(this),o(this._seriesIndices,function(c){var d=this._componentsMap.series[c];a.call(b,d,c)},this)},eachRawSeries:function(a,b){o(this._componentsMap.series,a,b)},eachSeriesByType:function(a,b,c){k(this),o(this._seriesIndices,function(d){var e=this._componentsMap.series[d];e.subType===a&&b.call(c,e,d)},this)},eachRawSeriesByType:function(a,b,c){return o(this.getSeriesByType(a),b,c)},isSeriesFiltered:function(a){return k(this),l.indexOf(this._seriesIndices,a.componentIndex)<0},filterSeries:function(a,b){k(this);var c=p(this._componentsMap.series,a,b);this._seriesIndices=i(c)},restoreData:function(){var a=this._componentsMap;this._seriesIndices=i(a.series);var b=[];o(a,function(a,c){b.push(c)}),u.topologicalTravel(b,u.getAllClassMainTypes(),function(b,c){o(a[b],function(a){a.restoreData()})})}});l.mixin(x,c(56)),a.exports=x},function(a,b,c){function d(a){this._api=a,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}function e(a,b,c){var d,e,f=[],g=[],h=a.timeline;if(a.baseOption&&(e=a.baseOption),(h||a.options)&&(e=e||{},f=(a.options||[]).slice()),a.media){e=e||{};var i=a.media;m(i,function(a){a&&a.option&&(a.query?g.push(a):d||(d=a))})}return e||(e=a),e.timeline||(e.timeline=h),m([e].concat(f).concat(j.map(g,function(a){return a.option})),function(a){m(b,function(b){b(a,c)})}),{baseOption:e,timelineOptions:f,mediaDefault:d,mediaList:g}}function f(a,b,c){var d={width:b,height:c,aspectratio:b/c},e=!0;return j.each(a,function(a,b){var c=b.match(q);if(c&&c[1]&&c[2]){var f=c[1],h=c[2].toLowerCase();g(d[h],a,f)||(e=!1)}}),e}function g(a,b,c){return"min"===c?a>=b:"max"===c?b>=a:a===b}function h(a,b){return a.join(",")===b.join(",")}function i(a,b){b=b||{},m(b,function(b,c){if(null!=b){var d=a[c];if(l.hasClass(c)){b=k.normalizeToArray(b),d=k.normalizeToArray(d);var e=k.mappingToExists(d,b);a[c]=o(e,function(a){return a.option&&a.exist?p(a.exist,a.option,!0):a.exist||a.option})}else a[c]=p(d,b,!0)}})}var j=c(1),k=c(11),l=c(10),m=j.each,n=j.clone,o=j.map,p=j.merge,q=/^(min|max)?(.+)$/;d.prototype={constructor:d,setOption:function(a,b){a=n(a,!0);var c=this._optionBackup,d=e.call(this,a,b,!c);this._newBaseOption=d.baseOption,c?(i(c.baseOption,d.baseOption),d.timelineOptions.length&&(c.timelineOptions=d.timelineOptions),d.mediaList.length&&(c.mediaList=d.mediaList),d.mediaDefault&&(c.mediaDefault=d.mediaDefault)):this._optionBackup=d},mountOption:function(a){var b=this._optionBackup;return this._timelineOptions=o(b.timelineOptions,n),this._mediaList=o(b.mediaList,n),this._mediaDefault=n(b.mediaDefault),this._currentMediaIndices=[],n(a?b.baseOption:this._newBaseOption)},getTimelineOption:function(a){var b,c=this._timelineOptions;if(c.length){var d=a.getComponent("timeline");d&&(b=n(c[d.getCurrentIndex()],!0))}return b},getMediaOption:function(a){var b=this._api.getWidth(),c=this._api.getHeight(),d=this._mediaList,e=this._mediaDefault,g=[],i=[];if(!d.length&&!e)return i;for(var j=0,k=d.length;k>j;j++)f(d[j].query,b,c)&&g.push(j);return!g.length&&e&&(g=[-1]),g.length&&!h(g,this._currentMediaIndices)&&(i=o(g,function(a){return n(-1===a?e.option:d[a].option)})),this._currentMediaIndices=g,i}},a.exports=d},function(a,b){var c="";"undefined"!=typeof navigator&&(c=navigator.platform||""),a.exports={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],textStyle:{fontFamily:c.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:!0,animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3}},function(a,b,c){a.exports={getAreaStyle:c(31)([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]])}},function(a,b){a.exports={getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}}},function(a,b,c){var d=c(31)([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]);a.exports={getItemStyle:function(a){var b=d.call(this,a),c=this.getBorderLineDash();return c&&(b.lineDash=c),b},getBorderLineDash:function(){var a=this.get("borderType");return"solid"===a||null==a?null:"dashed"===a?[5,5]:[1,1]}}},function(a,b,c){var d=c(31)([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]);a.exports={getLineStyle:function(a){var b=d.call(this,a),c=this.getLineDash();return c&&(b.lineDash=c),b},getLineDash:function(){var a=this.get("type");return"solid"===a||null==a?null:"dashed"===a?[5,5]:[2,2]}}},function(a,b,c){function d(a,b){return a&&a.getShallow(b)}var e=c(16);a.exports={getTextColor:function(){var a=this.ecModel;return this.getShallow("color")||a&&a.get("textStyle.color")},getFont:function(){var a=this.ecModel,b=a&&a.getModel("textStyle");return[this.getShallow("fontStyle")||d(b,"fontStyle"),this.getShallow("fontWeight")||d(b,"fontWeight"),(this.getShallow("fontSize")||d(b,"fontSize")||12)+"px",this.getShallow("fontFamily")||d(b,"fontFamily")||"sans-serif"].join(" ")},getTextRect:function(a){var b=this.get("textStyle")||{};return e.getBoundingRect(a,this.getFont(),b.align,b.baseline)},truncateText:function(a,b,c,d){return e.truncateText(a,b,this.getFont(),c,d)}}},function(a,b,c){function d(a,b){b=b.split(",");for(var c=a,d=0;d<b.length&&(c=c&&c[b[d]],null!=c);d++);return c}function e(a,b,c,d){b=b.split(",");for(var e,f=a,g=0;g<b.length-1;g++)e=b[g],null==f[e]&&(f[e]={}),f=f[e];(d||null==f[b[g]])&&(f[b[g]]=c)}function f(a){l(i,function(b){b[0]in a&&!(b[1]in a)&&(a[b[1]]=a[b[0]])})}var g=c(1),h=c(131),i=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],j=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"],k=["bar","boxplot","candlestick","chord","effectScatter","funnel","gauge","lines","graph","heatmap","line","map","parallel","pie","radar","sankey","scatter","treemap"],l=g.each;a.exports=function(a){l(a.series,function(a){if(g.isObject(a)){var b=a.type;if(h(a),"pie"!==b&&"gauge"!==b||null!=a.clockWise&&(a.clockwise=a.clockWise),"gauge"===b){var c=d(a,"pointer.color");null!=c&&e(a,"itemStyle.normal.color",c)}for(var i=0;i<k.length;i++)if(k[i]===a.type){f(a);break}}}),a.dataRange&&(a.visualMap=a.dataRange),l(j,function(b){var c=a[b];c&&(g.isArray(c)||(c=[c]),l(c,function(a){f(a)}))})}},function(a,b,c){function d(a){var b=a&&a.itemStyle;b&&e.each(f,function(c){var d=b.normal,f=b.emphasis;d&&d[c]&&(a[c]=a[c]||{},a[c].normal?e.merge(a[c].normal,d[c]):a[c].normal=d[c],d[c]=null),f&&f[c]&&(a[c]=a[c]||{},a[c].emphasis?e.merge(a[c].emphasis,f[c]):a[c].emphasis=f[c],f[c]=null)})}var e=c(1),f=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];a.exports=function(a){if(a){d(a),d(a.markPoint),d(a.markLine);var b=a.data;if(b){for(var c=0;c<b.length;c++)d(b[c]);var f=a.markPoint;if(f&&f.data)for(var g=f.data,c=0;c<g.length;c++)d(g[c]);var h=a.markLine;if(h&&h.data)for(var i=h.data,c=0;c<i.length;c++)e.isArray(i[c])?(d(i[c][0]),d(i[c][1])):d(i[c])}}}},function(a,b){var c={average:function(a){for(var b=0,c=0,d=0;d<a.length;d++)isNaN(a[d])||(b+=a[d],c++);return 0===c?NaN:b/c},sum:function(a){for(var b=0,c=0;c<a.length;c++)b+=a[c]||0;return b},max:function(a){for(var b=-(1/0),c=0;c<a.length;c++)a[c]>b&&(b=a[c]);return b},min:function(a){for(var b=1/0,c=0;c<a.length;c++)a[c]<b&&(b=a[c]);return b},nearest:function(a){return a[0]}},d=function(a,b){return Math.round(a.length/2)};a.exports=function(a,b,e){b.eachSeriesByType(a,function(a){var b=a.getData(),e=a.get("sampling"),f=a.coordinateSystem;if("cartesian2d"===f.type&&e){var g=f.getBaseAxis(),h=f.getOtherAxis(g),i=g.getExtent(),j=i[1]-i[0],k=Math.round(b.count()/j);if(k>1){var l;"string"==typeof e?l=c[e]:"function"==typeof e&&(l=e),l&&(b=b.downSample(h.dim,1/k,l,d),a.setData(b))}}},this)}},function(a,b,c){var d=c(1),e=c(32),f=c(4),g=c(38),h=e.prototype,i=g.prototype,j=Math.floor,k=Math.ceil,l=Math.pow,m=Math.log,n=e.extend({type:"log",base:10,getTicks:function(){return d.map(i.getTicks.call(this),function(a){return f.round(l(this.base,a))},this)},getLabel:i.getLabel,scale:function(a){return a=h.scale.call(this,a),l(this.base,a)},setExtent:function(a,b){var c=this.base;a=m(a)/m(c),b=m(b)/m(c),i.setExtent.call(this,a,b)},getExtent:function(){var a=this.base,b=h.getExtent.call(this);return b[0]=l(a,b[0]),b[1]=l(a,b[1]),b},unionExtent:function(a){var b=this.base;a[0]=m(a[0])/m(b),a[1]=m(a[1])/m(b),h.unionExtent.call(this,a)},niceTicks:function(a){a=a||10;var b=this._extent,c=b[1]-b[0];if(!(c===1/0||0>=c)){var d=f.quantity(c),e=a/c*d;for(.5>=e&&(d*=10);!isNaN(d)&&Math.abs(d)<1&&Math.abs(d)>0;)d*=10;var g=[f.round(k(b[0]/d)*d),f.round(j(b[1]/d)*d)];this._interval=d,this._niceExtent=g}},niceExtent:i.niceExtent});d.each(["contain","normalize"],function(a){n.prototype[a]=function(b){return b=m(b)/m(this.base),h[a].call(this,b)}}),n.create=function(){return new n},a.exports=n},function(a,b,c){var d=c(1),e=c(32),f=e.prototype,g=e.extend({type:"ordinal",init:function(a,b){this._data=a,this._extent=b||[0,a.length-1]},parse:function(a){return"string"==typeof a?d.indexOf(this._data,a):Math.round(a)},contain:function(a){return a=this.parse(a),f.contain.call(this,a)&&null!=this._data[a]},normalize:function(a){return f.normalize.call(this,this.parse(a))},scale:function(a){return Math.round(f.scale.call(this,a))},getTicks:function(){for(var a=[],b=this._extent,c=b[0];c<=b[1];)a.push(c),c++;return a},getLabel:function(a){return this._data[a]},count:function(){return this._extent[1]-this._extent[0]+1},niceTicks:d.noop,niceExtent:d.noop});g.create=function(){return new g},a.exports=g},function(a,b,c){var d=c(1),e=c(4),f=c(8),g=c(38),h=g.prototype,i=Math.ceil,j=Math.floor,k=1e3,l=60*k,m=60*l,n=24*m,o=function(a,b,c,d){for(;d>c;){var e=c+d>>>1;a[e][2]<b?c=e+1:d=e}return c},p=g.extend({type:"time",getLabel:function(a){var b=this._stepLvl,c=new Date(a);return f.formatTime(b[0],c)},niceExtent:function(a,b,c){var d=this._extent;if(d[0]===d[1]&&(d[0]-=n,d[1]+=n),
+d[1]===-(1/0)&&d[0]===1/0){var f=new Date;d[1]=new Date(f.getFullYear(),f.getMonth(),f.getDate()),d[0]=d[1]-n}this.niceTicks(a);var g=this._interval;b||(d[0]=e.round(j(d[0]/g)*g)),c||(d[1]=e.round(i(d[1]/g)*g))},niceTicks:function(a){a=a||10;var b=this._extent,c=b[1]-b[0],d=c/a,f=q.length,g=o(q,d,0,f),h=q[Math.min(g,f-1)],k=h[2];if("year"===h[0]){var l=c/k,m=e.nice(l/a,!0);k*=m}var n=[i(b[0]/k)*k,j(b[1]/k)*k];this._stepLvl=h,this._interval=k,this._niceExtent=n},parse:function(a){return+e.parseDate(a)}});d.each(["contain","normalize"],function(a){p.prototype[a]=function(b){return h[a].call(this,this.parse(b))}});var q=[["hh:mm:ss",1,k],["hh:mm:ss",5,5*k],["hh:mm:ss",10,10*k],["hh:mm:ss",15,15*k],["hh:mm:ss",30,30*k],["hh:mm\nMM-dd",1,l],["hh:mm\nMM-dd",5,5*l],["hh:mm\nMM-dd",10,10*l],["hh:mm\nMM-dd",15,15*l],["hh:mm\nMM-dd",30,30*l],["hh:mm\nMM-dd",1,m],["hh:mm\nMM-dd",2,2*m],["hh:mm\nMM-dd",6,6*m],["hh:mm\nMM-dd",12,12*m],["MM-dd\nyyyy",1,n],["week",7,7*n],["month",1,31*n],["quarter",3,380*n/4],["half-year",6,380*n/2],["year",1,380*n]];p.create=function(){return new p},a.exports=p},function(a,b,c){var d=c(29);a.exports=function(a){function b(b){var c=(b.visualColorAccessPath||"itemStyle.normal.color").split("."),e=b.getData(),f=b.get(c)||b.getColorFromPalette(b.get("name"));e.setVisual("color",f),a.isSeriesFiltered(b)||("function"!=typeof f||f instanceof d||e.each(function(a){e.setItemVisual(a,"color",f(b.getDataParams(a)))}),e.each(function(a){var b=e.getItemModel(a),d=b.get(c,!0);null!=d&&e.setItemVisual(a,"color",d)}))}a.eachRawSeries(b)}},function(a,b,c){"use strict";function d(a,b,c){return{type:a,event:c,target:b,cancelBubble:!1,offsetX:c.zrX,offsetY:c.zrY,gestureEvent:c.gestureEvent,pinchX:c.pinchX,pinchY:c.pinchY,pinchScale:c.pinchScale,wheelDelta:c.zrDelta}}function e(){}function f(a,b,c){if(a[a.rectHover?"rectContain":"contain"](b,c)){for(var d=a;d;){if(d.silent||d.clipPath&&!d.clipPath.contain(b,c))return!1;d=d.parent}return!0}return!1}var g=c(1),h=c(165),i=c(20);e.prototype.dispose=function(){};var j=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove"],k=function(a,b,c){i.call(this),this.storage=a,this.painter=b,c=c||new e,this.proxy=c,c.handler=this,this._hovered,this._lastTouchMoment,this._lastX,this._lastY,h.call(this),g.each(j,function(a){c.on&&c.on(a,this[a],this)},this)};k.prototype={constructor:k,mousemove:function(a){var b=a.zrX,c=a.zrY,d=this.findHover(b,c,null),e=this._hovered,f=this.proxy;this._hovered=d,f.setCursor&&f.setCursor(d?d.cursor:"default"),e&&d!==e&&e.__zr&&this.dispatchToElement(e,"mouseout",a),this.dispatchToElement(d,"mousemove",a),d&&d!==e&&this.dispatchToElement(d,"mouseover",a)},mouseout:function(a){this.dispatchToElement(this._hovered,"mouseout",a),this.trigger("globalout",{event:a})},resize:function(a){this._hovered=null},dispatch:function(a,b){var c=this[a];c&&c.call(this,b)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(a){var b=this.proxy;b.setCursor&&b.setCursor(a)},dispatchToElement:function(a,b,c){for(var e="on"+b,f=d(b,a,c),g=a;g&&(g[e]&&(f.cancelBubble=g[e].call(g,f)),g.trigger(b,f),g=g.parent,!f.cancelBubble););f.cancelBubble||(this.trigger(b,f),this.painter&&this.painter.eachOtherLayer(function(a){"function"==typeof a[e]&&a[e].call(a,f),a.trigger&&a.trigger(b,f)}))},findHover:function(a,b,c){for(var d=this.storage.getDisplayList(),e=d.length-1;e>=0;e--)if(!d[e].silent&&d[e]!==c&&!d[e].ignore&&f(d[e],a,b))return d[e]}},g.each(["click","mousedown","mouseup","mousewheel","dblclick"],function(a){k.prototype[a]=function(b){var c=this.findHover(b.zrX,b.zrY,null);if("mousedown"===a)this._downel=c,this._upel=c;else if("mosueup"===a)this._upel=c;else if("click"===a&&this._downel!==this._upel)return;this.dispatchToElement(c,a,b)}}),g.mixin(k,i),g.mixin(k,h),a.exports=k},function(a,b,c){function d(){return!1}function e(a,b,c,d){var e=document.createElement(b),f=c.getWidth(),g=c.getHeight(),h=e.style;return h.position="absolute",h.left=0,h.top=0,h.width=f+"px",h.height=g+"px",e.width=f*d,e.height=g*d,e.setAttribute("data-zr-dom-id",a),e}var f=c(1),g=c(33),h=c(64),i=c(63),j=function(a,b,c){var h;c=c||g.devicePixelRatio,"string"==typeof a?h=e(a,"canvas",b,c):f.isObject(a)&&(h=a,a=h.id),this.id=a,this.dom=h;var i=h.style;i&&(h.onselectstart=d,i["-webkit-user-select"]="none",i["user-select"]="none",i["-webkit-touch-callout"]="none",i["-webkit-tap-highlight-color"]="rgba(0,0,0,0)"),this.domBack=null,this.ctxBack=null,this.painter=b,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=c};j.prototype={constructor:j,elCount:0,__dirty:!0,initContext:function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},createBackBuffer:function(){var a=this.dpr;this.domBack=e("back-"+this.id,"canvas",this.painter,a),this.ctxBack=this.domBack.getContext("2d"),1!=a&&this.ctxBack.scale(a,a)},resize:function(a,b){var c=this.dpr,d=this.dom,e=d.style,f=this.domBack;e.width=a+"px",e.height=b+"px",d.width=a*c,d.height=b*c,f&&(f.width=a*c,f.height=b*c,1!=c&&this.ctxBack.scale(c,c))},clear:function(a){var b=this.dom,c=this.ctx,d=b.width,e=b.height,f=this.clearColor,g=this.motionBlur&&!a,j=this.lastFrameAlpha,k=this.dpr;if(g&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(b,0,0,d/k,e/k)),c.clearRect(0,0,d,e),f){var l;f.colorStops?(l=f.__canvasGradient||h.getGradient(c,f,{x:0,y:0,width:d,height:e}),f.__canvasGradient=l):f.image&&(l=i.prototype.getCanvasPattern.call(f,c)),c.save(),c.fillStyle=l||f,c.fillRect(0,0,d,e),c.restore()}if(g){var m=this.domBack;c.save(),c.globalAlpha=j,c.drawImage(m,0,0,d,e),c.restore()}}},a.exports=j},function(a,b,c){"use strict";function d(a){return parseInt(a,10)}function e(a){return!!a&&(!!a.isBuildin||"function"==typeof a.resize&&"function"==typeof a.refresh)}function f(a){a.__unusedCount++}function g(a){1==a.__unusedCount&&a.clear()}function h(a,b,c){return t.copy(a.getBoundingRect()),a.transform&&t.applyTransform(a.transform),u.width=b,u.height=c,!t.intersect(u)}function i(a,b){if(a==b)return!1;if(!a||!b||a.length!==b.length)return!0;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!0}function j(a,b){for(var c=0;c<a.length;c++){var d=a[c],e=d.path;d.setTransform(b),e.beginPath(b),d.buildPath(e,d.shape),b.clip(),d.restoreTransform(b)}}function k(a,b){var c=document.createElement("div"),d=c.style;return d.position="relative",d.overflow="hidden",d.width=a+"px",d.height=b+"px",c}var l=c(33),m=c(1),n=c(47),o=c(7),p=c(44),q=c(138),r=c(60),s=5,t=new o(0,0,0,0),u=new o(0,0,0,0),v=function(a,b,c){var d=!a.nodeName||"CANVAS"===a.nodeName.toUpperCase();c=c||{},this.dpr=c.devicePixelRatio||l.devicePixelRatio,this._singleCanvas=d,this.root=a;var e=a.style;e&&(e["-webkit-tap-highlight-color"]="transparent",e["-webkit-user-select"]=e["user-select"]=e["-webkit-touch-callout"]="none",a.innerHTML=""),this.storage=b;var f=this._zlevelList=[],g=this._layers={};if(this._layerConfig={},d){var h=a.width,i=a.height;this._width=h,this._height=i;var j=new q(a,this,1);j.initContext(),g[0]=j,f.push(0)}else{this._width=this._getWidth(),this._height=this._getHeight();var m=this._domRoot=k(this._width,this._height);a.appendChild(m)}this.pathToImage=this._createPathToImage(),this._progressiveLayers=[],this._hoverlayer,this._hoverElements=[]};v.prototype={constructor:v,isSingleCanvas:function(){return this._singleCanvas},getViewportRoot:function(){return this._singleCanvas?this._layers[0].dom:this._domRoot},refresh:function(a){var b=this.storage.getDisplayList(!0),c=this._zlevelList;this._paintList(b,a);for(var d=0;d<c.length;d++){var e=c[d],f=this._layers[e];!f.isBuildin&&f.refresh&&f.refresh()}return this.refreshHover(),this._progressiveLayers.length&&this._startProgessive(),this},addHover:function(a,b){if(!a.__hoverMir){var c=new a.constructor({style:a.style,shape:a.shape});c.__from=a,a.__hoverMir=c,c.setStyle(b),this._hoverElements.push(c)}},removeHover:function(a){var b=a.__hoverMir,c=this._hoverElements,d=m.indexOf(c,b);d>=0&&c.splice(d,1),a.__hoverMir=null},clearHover:function(a){for(var b=this._hoverElements,c=0;c<b.length;c++){var d=b[c].__from;d&&(d.__hoverMir=null)}b.length=0},refreshHover:function(){var a=this._hoverElements,b=a.length,c=this._hoverlayer;if(c&&c.clear(),b){p(a,this.storage.displayableSortFunc),c||(c=this._hoverlayer=this.getLayer(1e5));var d={};c.ctx.save();for(var e=0;b>e;){var f=a[e],g=f.__from;g&&g.__zr?(e++,g.invisible||(f.transform=g.transform,f.invTransform=g.invTransform,f.__clipPaths=g.__clipPaths,this._doPaintEl(f,c,!0,d))):(a.splice(e,1),g.__hoverMir=null,b--)}c.ctx.restore()}},_startProgessive:function(){function a(){c===b._progressiveToken&&b.storage&&(b._doPaintList(b.storage.getDisplayList()),b._furtherProgressive?(b._progress++,r(a)):b._progressiveToken=-1)}var b=this;if(b._furtherProgressive){var c=b._progressiveToken=+new Date;b._progress++,r(a)}},_clearProgressive:function(){this._progressiveToken=-1,this._progress=0,m.each(this._progressiveLayers,function(a){a.__dirty&&a.clear()})},_paintList:function(a,b){null==b&&(b=!1),this._updateLayerStatus(a),this._clearProgressive(),this.eachBuildinLayer(f),this._doPaintList(a,b),this.eachBuildinLayer(g)},_doPaintList:function(a,b){function c(a){var b=f.dpr||1;f.save(),f.globalAlpha=1,f.shadowBlur=0,d.__dirty=!0,f.setTransform(1,0,0,1,0,0),f.drawImage(a.dom,0,0,k*b,l*b),f.restore()}for(var d,e,f,g,h,i,j=0,k=this._width,l=this._height,o=this._progress,p=0,q=a.length;q>p;p++){var r=a[p],t=this._singleCanvas?0:r.zlevel,u=r.__frame;if(0>u&&h&&(c(h),h=null),e!==t&&(f&&f.restore(),g={},e=t,d=this.getLayer(e),d.isBuildin||n("ZLevel "+e+" has been used by unkown layer "+d.id),f=d.ctx,f.save(),d.__unusedCount=0,(d.__dirty||b)&&d.clear()),d.__dirty||b){if(u>=0){if(!h){if(h=this._progressiveLayers[Math.min(j++,s-1)],h.ctx.save(),h.renderScope={},h&&h.__progress>h.__maxProgress){p=h.__nextIdxNotProg-1;continue}i=h.__progress,h.__dirty||(o=i),h.__progress=o+1}u===o&&this._doPaintEl(r,h,!0,h.renderScope)}else this._doPaintEl(r,d,b,g);r.__dirty=!1}}h&&c(h),f&&f.restore(),this._furtherProgressive=!1,m.each(this._progressiveLayers,function(a){a.__maxProgress>=a.__progress&&(this._furtherProgressive=!0)},this)},_doPaintEl:function(a,b,c,d){var e=b.ctx,f=a.transform;if((b.__dirty||c)&&!a.invisible&&0!==a.style.opacity&&(!f||f[0]||f[3])&&(!a.culling||!h(a,this._width,this._height))){var g=a.__clipPaths;(d.prevClipLayer!==b||i(g,d.prevElClipPaths))&&(d.prevElClipPaths&&(d.prevClipLayer.ctx.restore(),d.prevClipLayer=d.prevElClipPaths=null,d.prevEl=null),g&&(e.save(),j(g,e),d.prevClipLayer=b,d.prevElClipPaths=g)),a.beforeBrush&&a.beforeBrush(e),a.brush(e,d.prevEl||null),d.prevEl=a,a.afterBrush&&a.afterBrush(e)}},getLayer:function(a){if(this._singleCanvas)return this._layers[0];var b=this._layers[a];return b||(b=new q("zr_"+a,this,this.dpr),b.isBuildin=!0,this._layerConfig[a]&&m.merge(b,this._layerConfig[a],!0),this.insertLayer(a,b),b.initContext()),b},insertLayer:function(a,b){var c=this._layers,d=this._zlevelList,f=d.length,g=null,h=-1,i=this._domRoot;if(c[a])return void n("ZLevel "+a+" has been used already");if(!e(b))return void n("Layer of zlevel "+a+" is not valid");if(f>0&&a>d[0]){for(h=0;f-1>h&&!(d[h]<a&&d[h+1]>a);h++);g=c[d[h]]}if(d.splice(h+1,0,a),g){var j=g.dom;j.nextSibling?i.insertBefore(b.dom,j.nextSibling):i.appendChild(b.dom)}else i.firstChild?i.insertBefore(b.dom,i.firstChild):i.appendChild(b.dom);c[a]=b},eachLayer:function(a,b){var c,d,e=this._zlevelList;for(d=0;d<e.length;d++)c=e[d],a.call(b,this._layers[c],c)},eachBuildinLayer:function(a,b){var c,d,e,f=this._zlevelList;for(e=0;e<f.length;e++)d=f[e],c=this._layers[d],c.isBuildin&&a.call(b,c,d)},eachOtherLayer:function(a,b){var c,d,e,f=this._zlevelList;for(e=0;e<f.length;e++)d=f[e],c=this._layers[d],c.isBuildin||a.call(b,c,d)},getLayers:function(){return this._layers},_updateLayerStatus:function(a){var b=this._layers,c=this._progressiveLayers,d={},e={};this.eachBuildinLayer(function(a,b){d[b]=a.elCount,a.elCount=0,a.__dirty=!1}),m.each(c,function(a,b){e[b]=a.elCount,a.elCount=0,a.__dirty=!1});for(var f,g,h=0,i=0,j=0,k=a.length;k>j;j++){var l=a[j],n=this._singleCanvas?0:l.zlevel,o=b[n],p=l.progressive;if(o&&(o.elCount++,o.__dirty=o.__dirty||l.__dirty),p>=0){g!==p&&(g=p,i++);var r=l.__frame=i-1;if(!f){var t=Math.min(h,s-1);f=c[t],f||(f=c[t]=new q("progressive",this,this.dpr),f.initContext()),f.__maxProgress=0}f.__dirty=f.__dirty||l.__dirty,f.elCount++,f.__maxProgress=Math.max(f.__maxProgress,r),f.__maxProgress>=f.__progress&&(o.__dirty=!0)}else l.__frame=-1,f&&(f.__nextIdxNotProg=j,h++,f=null)}f&&(h++,f.__nextIdxNotProg=j),this.eachBuildinLayer(function(a,b){d[b]!==a.elCount&&(a.__dirty=!0)}),c.length=Math.min(h,s),m.each(c,function(a,b){e[b]!==a.elCount&&(l.__dirty=!0),a.__dirty&&(a.__progress=0)})},clear:function(){return this.eachBuildinLayer(this._clearLayer),this},_clearLayer:function(a){a.clear()},configLayer:function(a,b){if(b){var c=this._layerConfig;c[a]?m.merge(c[a],b,!0):c[a]=b;var d=this._layers[a];d&&m.merge(d,c[a],!0)}},delLayer:function(a){var b=this._layers,c=this._zlevelList,d=b[a];d&&(d.dom.parentNode.removeChild(d.dom),delete b[a],c.splice(m.indexOf(c,a),1))},resize:function(a,b){var c=this._domRoot;if(c.style.display="none",a=a||this._getWidth(),b=b||this._getHeight(),c.style.display="",this._width!=a||b!=this._height){c.style.width=a+"px",c.style.height=b+"px";for(var d in this._layers)this._layers[d].resize(a,b);this.refresh(!0)}return this._width=a,this._height=b,this},clearLayer:function(a){var b=this._layers[a];b&&b.clear()},dispose:function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},getRenderedCanvas:function(a){if(a=a||{},this._singleCanvas)return this._layers[0].dom;var b=new q("image",this,a.pixelRatio||this.dpr);b.initContext(),b.clearColor=a.backgroundColor,b.clear();for(var c=this.storage.getDisplayList(!0),d={},e=0;e<c.length;e++){var f=c[e];this._doPaintEl(f,b,!0,d)}return b.dom},getWidth:function(){return this._width},getHeight:function(){return this._height},_getWidth:function(){var a=this.root,b=document.defaultView.getComputedStyle(a);return(a.clientWidth||d(b.width)||d(a.style.width))-(d(b.paddingLeft)||0)-(d(b.paddingRight)||0)|0},_getHeight:function(){var a=this.root,b=document.defaultView.getComputedStyle(a);return(a.clientHeight||d(b.height)||d(a.style.height))-(d(b.paddingTop)||0)-(d(b.paddingBottom)||0)|0},_pathToImage:function(a,b,d,e,f){var g=document.createElement("canvas"),h=g.getContext("2d");g.width=d*f,g.height=e*f,h.clearRect(0,0,d*f,e*f);var i={position:b.position,rotation:b.rotation,scale:b.scale};b.position=[0,0,0],b.rotation=0,b.scale=[1,1],b&&b.brush(h);var j=c(48),k=new j({id:a,style:{x:0,y:0,image:g}});return null!=i.position&&(k.position=b.position=i.position),null!=i.rotation&&(k.rotation=b.rotation=i.rotation),null!=i.scale&&(k.scale=b.scale=i.scale),k},_createPathToImage:function(){var a=this;return function(b,c,d,e){return a._pathToImage(b,c,d,e,a.dpr)}}},a.exports=v},function(a,b,c){"use strict";function d(a,b){return a.zlevel===b.zlevel?a.z===b.z?a.z2-b.z2:a.z-b.z:a.zlevel-b.zlevel}var e=c(1),f=c(12),g=c(34),h=c(44),i=function(){this._elements={},this._roots=[],this._displayList=[],this._displayListLen=0};i.prototype={constructor:i,traverse:function(a,b){for(var c=0;c<this._roots.length;c++)this._roots[c].traverse(a,b)},getDisplayList:function(a,b){return b=b||!1,a&&this.updateDisplayList(b),this._displayList},updateDisplayList:function(a){this._displayListLen=0;for(var b=this._roots,c=this._displayList,e=0,g=b.length;g>e;e++)this._updateAndAddDisplayable(b[e],null,a);c.length=this._displayListLen,f.canvasSupported&&h(c,d)},_updateAndAddDisplayable:function(a,b,c){if(!a.ignore||c){a.beforeUpdate(),a.__dirty&&a.update(),a.afterUpdate();var d=a.clipPath;if(d&&(d.parent=a,d.updateTransform(),b?(b=b.slice(),b.push(d)):b=[d]),a.isGroup){for(var e=a._children,f=0;f<e.length;f++){var g=e[f];a.__dirty&&(g.__dirty=!0),this._updateAndAddDisplayable(g,b,c)}a.__dirty=!1}else a.__clipPaths=b,this._displayList[this._displayListLen++]=a}},addRoot:function(a){this._elements[a.id]||(a instanceof g&&a.addChildrenToStorage(this),this.addToMap(a),this._roots.push(a))},delRoot:function(a){if(null==a){for(var b=0;b<this._roots.length;b++){var c=this._roots[b];c instanceof g&&c.delChildrenFromStorage(this)}return this._elements={},this._roots=[],this._displayList=[],void(this._displayListLen=0)}if(a instanceof Array)for(var b=0,d=a.length;d>b;b++)this.delRoot(a[b]);else{var f;f="string"==typeof a?this._elements[a]:a;var h=e.indexOf(this._roots,f);h>=0&&(this.delFromMap(f.id),this._roots.splice(h,1),f instanceof g&&f.delChildrenFromStorage(this))}},addToMap:function(a){return a instanceof g&&(a.__storage=this),a.dirty(!1),this._elements[a.id]=a,this},get:function(a){return this._elements[a]},delFromMap:function(a){var b=this._elements,c=b[a];return c&&(delete b[a],c instanceof g&&(c.__storage=null)),this},dispose:function(){this._elements=this._renderList=this._roots=null},displayableSortFunc:d},a.exports=i},function(a,b,c){"use strict";var d=c(1),e=c(24).Dispatcher,f=c(60),g=c(59),h=function(a){a=a||{},this.stage=a.stage||{},this.onframe=a.onframe||function(){},this._clips=[],this._running=!1,this._time,this._pausedTime,this._pauseStart,this._paused=!1,e.call(this)};h.prototype={constructor:h,addClip:function(a){this._clips.push(a)},addAnimator:function(a){a.animation=this;for(var b=a.getClips(),c=0;c<b.length;c++)this.addClip(b[c])},removeClip:function(a){var b=d.indexOf(this._clips,a);b>=0&&this._clips.splice(b,1)},removeAnimator:function(a){for(var b=a.getClips(),c=0;c<b.length;c++)this.removeClip(b[c]);a.animation=null},_update:function(){for(var a=(new Date).getTime()-this._pausedTime,b=a-this._time,c=this._clips,d=c.length,e=[],f=[],g=0;d>g;g++){var h=c[g],i=h.step(a);i&&(e.push(i),f.push(h))}for(var g=0;d>g;)c[g]._needsRemove?(c[g]=c[d-1],c.pop(),d--):g++;d=e.length;for(var g=0;d>g;g++)f[g].fire(e[g]);this._time=a,this.onframe(b),this.trigger("frame",b),this.stage.update&&this.stage.update()},_startLoop:function(){function a(){b._running&&(f(a),!b._paused&&b._update())}var b=this;this._running=!0,f(a)},start:function(){this._time=(new Date).getTime(),this._pausedTime=0,this._startLoop()},stop:function(){this._running=!1},pause:function(){this._paused||(this._pauseStart=(new Date).getTime(),this._paused=!0)},resume:function(){this._paused&&(this._pausedTime+=(new Date).getTime()-this._pauseStart,this._paused=!1)},clear:function(){this._clips=[]},animate:function(a,b){b=b||{};var c=new g(a,b.loop,b.getter,b.setter);return c}},d.mixin(h,e),a.exports=h},function(a,b,c){function d(a){this._target=a.target,this._life=a.life||1e3,this._delay=a.delay||0,this._initialized=!1,this.loop=null!=a.loop&&a.loop,this.gap=a.gap||0,this.easing=a.easing||"Linear",this.onframe=a.onframe,this.ondestroy=a.ondestroy,this.onrestart=a.onrestart}var e=c(143);d.prototype={constructor:d,step:function(a){this._initialized||(this._startTime=a+this._delay,this._initialized=!0);var b=(a-this._startTime)/this._life;if(!(0>b)){b=Math.min(b,1);var c=this.easing,d="string"==typeof c?e[c]:c,f="function"==typeof d?d(b):b;return this.fire("frame",f),1==b?this.loop?(this.restart(a),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(a){var b=(a-this._startTime)%this._life;this._startTime=a-b+this.gap,this._needsRemove=!1},fire:function(a,b){a="on"+a,this[a]&&this[a](this._target,b)}},a.exports=d},function(a,b){var c={linear:function(a){return a},quadraticIn:function(a){return a*a},quadraticOut:function(a){return a*(2-a)},quadraticInOut:function(a){return(a*=2)<1?.5*a*a:-.5*(--a*(a-2)-1)},cubicIn:function(a){return a*a*a},cubicOut:function(a){return--a*a*a+1},cubicInOut:function(a){return(a*=2)<1?.5*a*a*a:.5*((a-=2)*a*a+2)},quarticIn:function(a){return a*a*a*a},quarticOut:function(a){return 1- --a*a*a*a},quarticInOut:function(a){return(a*=2)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)},quinticIn:function(a){return a*a*a*a*a},quinticOut:function(a){return--a*a*a*a*a+1},quinticInOut:function(a){return(a*=2)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)},sinusoidalIn:function(a){return 1-Math.cos(a*Math.PI/2)},sinusoidalOut:function(a){return Math.sin(a*Math.PI/2)},sinusoidalInOut:function(a){return.5*(1-Math.cos(Math.PI*a))},exponentialIn:function(a){return 0===a?0:Math.pow(1024,a-1)},exponentialOut:function(a){return 1===a?1:1-Math.pow(2,-10*a)},exponentialInOut:function(a){return 0===a?0:1===a?1:(a*=2)<1?.5*Math.pow(1024,a-1):.5*(-Math.pow(2,-10*(a-1))+2)},circularIn:function(a){return 1-Math.sqrt(1-a*a)},circularOut:function(a){return Math.sqrt(1- --a*a)},circularInOut:function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)},elasticIn:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),-(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)))},elasticOut:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),c*Math.pow(2,-10*a)*Math.sin((a-b)*(2*Math.PI)/d)+1)},elasticInOut:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),(a*=2)<1?-.5*(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)):c*Math.pow(2,-10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)*.5+1)},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){var b=1.70158;return--a*a*((b+1)*a+b)+1},backInOut:function(a){var b=2.5949095;return(a*=2)<1?.5*(a*a*((b+1)*a-b)):.5*((a-=2)*a*((b+1)*a+b)+2)},bounceIn:function(a){return 1-c.bounceOut(1-a)},bounceOut:function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},bounceInOut:function(a){return.5>a?.5*c.bounceIn(2*a):.5*c.bounceOut(2*a-1)+.5}};a.exports=c},function(a,b,c){var d=c(61).normalizeRadian,e=2*Math.PI;a.exports={containStroke:function(a,b,c,f,g,h,i,j,k){if(0===i)return!1;var l=i;j-=a,k-=b;var m=Math.sqrt(j*j+k*k);if(m-l>c||c>m+l)return!1;if(Math.abs(f-g)%e<1e-4)return!0;if(h){var n=f;f=d(g),g=d(n)}else f=d(f),g=d(g);f>g&&(g+=e);var o=Math.atan2(k,j);return 0>o&&(o+=e),o>=f&&g>=o||o+e>=f&&g>=o+e}}},function(a,b,c){var d=c(17);a.exports={containStroke:function(a,b,c,e,f,g,h,i,j,k,l){if(0===j)return!1;var m=j;if(l>b+m&&l>e+m&&l>g+m&&l>i+m||b-m>l&&e-m>l&&g-m>l&&i-m>l||k>a+m&&k>c+m&&k>f+m&&k>h+m||a-m>k&&c-m>k&&f-m>k&&h-m>k)return!1;var n=d.cubicProjectPoint(a,b,c,e,f,g,h,i,k,l,null);return m/2>=n}}},function(a,b,c){"use strict";function d(a,b){return Math.abs(a-b)<t}function e(){var a=v[0];v[0]=v[1],v[1]=a}function f(a,b,c,d,f,g,h,i,j,k){if(k>b&&k>d&&k>g&&k>i||b>k&&d>k&&g>k&&i>k)return 0;var l=p.cubicRootAt(b,d,g,i,k,u);if(0===l)return 0;for(var m,n,o=0,q=-1,r=0;l>r;r++){var s=u[r],t=0===s||1===s?.5:1,w=p.cubicAt(a,c,f,h,s);j>w||(0>q&&(q=p.cubicExtrema(b,d,g,i,v),v[1]<v[0]&&q>1&&e(),m=p.cubicAt(b,d,g,i,v[0]),q>1&&(n=p.cubicAt(b,d,g,i,v[1]))),o+=2==q?s<v[0]?b>m?t:-t:s<v[1]?m>n?t:-t:n>i?t:-t:s<v[0]?b>m?t:-t:m>i?t:-t)}return o}function g(a,b,c,d,e,f,g,h){if(h>b&&h>d&&h>f||b>h&&d>h&&f>h)return 0;var i=p.quadraticRootAt(b,d,f,h,u);if(0===i)return 0;var j=p.quadraticExtremum(b,d,f);if(j>=0&&1>=j){for(var k=0,l=p.quadraticAt(b,d,f,j),m=0;i>m;m++){var n=0===u[m]||1===u[m]?.5:1,o=p.quadraticAt(a,c,e,u[m]);g>o||(k+=u[m]<j?b>l?n:-n:l>f?n:-n)}return k}var n=0===u[0]||1===u[0]?.5:1,o=p.quadraticAt(a,c,e,u[0]);return g>o?0:b>f?n:-n}function h(a,b,c,d,e,f,g,h){if(h-=b,h>c||-c>h)return 0;var i=Math.sqrt(c*c-h*h);u[0]=-i,u[1]=i;var j=Math.abs(d-e);if(1e-4>j)return 0;if(1e-4>j%s){d=0,e=s;var k=f?1:-1;return g>=u[0]+a&&g<=u[1]+a?k:0}if(f){var i=d;d=o(e),e=o(i)}else d=o(d),e=o(e);d>e&&(e+=s);for(var l=0,m=0;2>m;m++){var n=u[m];if(n+a>g){var p=Math.atan2(h,n),k=f?1:-1;0>p&&(p=s+p),(p>=d&&e>=p||p+s>=d&&e>=p+s)&&(p>Math.PI/2&&p<1.5*Math.PI&&(k=-k),l+=k)}}return l}function i(a,b,c,e,i){for(var k=0,o=0,p=0,s=0,t=0,u=0;u<a.length;){var v=a[u++];switch(v===j.M&&u>1&&(c||(k+=q(o,p,s,t,e,i))),1==u&&(o=a[u],p=a[u+1],s=o,t=p),v){case j.M:s=a[u++],t=a[u++],o=s,p=t;break;case j.L:if(c){if(r(o,p,a[u],a[u+1],b,e,i))return!0}else k+=q(o,p,a[u],a[u+1],e,i)||0;o=a[u++],p=a[u++];break;case j.C:if(c){if(l.containStroke(o,p,a[u++],a[u++],a[u++],a[u++],a[u],a[u+1],b,e,i))return!0}else k+=f(o,p,a[u++],a[u++],a[u++],a[u++],a[u],a[u+1],e,i)||0;o=a[u++],p=a[u++];break;case j.Q:if(c){if(m.containStroke(o,p,a[u++],a[u++],a[u],a[u+1],b,e,i))return!0}else k+=g(o,p,a[u++],a[u++],a[u],a[u+1],e,i)||0;o=a[u++],p=a[u++];break;case j.A:var w=a[u++],x=a[u++],y=a[u++],z=a[u++],A=a[u++],B=a[u++],C=(a[u++],1-a[u++]),D=Math.cos(A)*y+w,E=Math.sin(A)*z+x;u>1?k+=q(o,p,D,E,e,i):(s=D,t=E);var F=(e-w)*z/y+w;if(c){if(n.containStroke(w,x,z,A,A+B,C,b,F,i))return!0}else k+=h(w,x,z,A,A+B,C,F,i);o=Math.cos(A+B)*y+w,p=Math.sin(A+B)*z+x;break;case j.R:s=o=a[u++],t=p=a[u++];var G=a[u++],H=a[u++],D=s+G,E=t+H;if(c){if(r(s,t,D,t,b,e,i)||r(D,t,D,E,b,e,i)||r(D,E,s,E,b,e,i)||r(s,E,s,t,b,e,i))return!0}else k+=q(D,t,D,E,e,i),k+=q(s,E,s,t,e,i);break;case j.Z:if(c){if(r(o,p,s,t,b,e,i))return!0}else k+=q(o,p,s,t,e,i);o=s,p=t}}return c||d(p,t)||(k+=q(o,p,s,t,e,i)||0),0!==k}var j=c(28).CMD,k=c(82),l=c(145),m=c(83),n=c(144),o=c(61).normalizeRadian,p=c(17),q=c(84),r=k.containStroke,s=2*Math.PI,t=1e-4,u=[-1,-1,-1],v=[-1,-1];a.exports={contain:function(a,b,c){return i(a,0,!1,b,c)},containStroke:function(a,b,c,d){return i(a,b,!0,c,d)}}},function(a,b,c){"use strict";function d(a){var b=a[1][0]-a[0][0],c=a[1][1]-a[0][1];return Math.sqrt(b*b+c*c)}function e(a){return[(a[0][0]+a[1][0])/2,(a[0][1]+a[1][1])/2]}var f=c(24),g=function(){this._track=[]};g.prototype={constructor:g,recognize:function(a,b,c){return this._doTrack(a,b,c),this._recognize(a)},clear:function(){return this._track.length=0,this},_doTrack:function(a,b,c){var d=a.touches;if(d){for(var e={points:[],touches:[],target:b,event:a},g=0,h=d.length;h>g;g++){var i=d[g],j=f.clientToLocal(c,i);e.points.push([j.zrX,j.zrY]),e.touches.push(i)}this._track.push(e)}},_recognize:function(a){for(var b in h)if(h.hasOwnProperty(b)){var c=h[b](this._track,a);if(c)return c}}};var h={pinch:function(a,b){var c=a.length;if(c){var f=(a[c-1]||{}).points,g=(a[c-2]||{}).points||f;if(g&&g.length>1&&f&&f.length>1){var h=d(f)/d(g);!isFinite(h)&&(h=1),b.pinchScale=h;var i=e(f);return b.pinchX=i[0],b.pinchY=i[1],{type:"pinch",target:a[0].target,event:b}}}}};a.exports=g},function(a,b){var c=function(){this.head=null,this.tail=null,this._len=0},d=c.prototype;d.insert=function(a){var b=new e(a);return this.insertEntry(b),b},d.insertEntry=function(a){this.head?(this.tail.next=a,a.prev=this.tail,this.tail=a):this.head=this.tail=a,this._len++},d.remove=function(a){var b=a.prev,c=a.next;b?b.next=c:this.head=c,c?c.prev=b:this.tail=b,a.next=a.prev=null,this._len--},d.len=function(){return this._len};var e=function(a){this.value=a,this.next,this.prev},f=function(a){this._list=new c,this._map={},this._maxSize=a||10},g=f.prototype;g.put=function(a,b){var c=this._list,d=this._map;if(null==d[a]){var e=c.len();if(e>=this._maxSize&&e>0){var f=c.head;c.remove(f),delete d[f.key]}var g=c.insert(b);g.key=a,d[a]=g}},g.get=function(a){var b=this._map[a],c=this._list;return null!=b?(b!==c.tail&&(c.remove(b),c.insertEntry(b)),b.value):void 0},g.clear=function(){this._list.clear(),this._map={}},a.exports=f},function(a,b,c){function d(a){return"mousewheel"===a&&m.browser.firefox?"DOMMouseScroll":a}function e(a,b,c){var d=a._gestureMgr;"start"===c&&d.clear();var e=d.recognize(b,a.handler.findHover(b.zrX,b.zrY,null),a.dom);if("end"===c&&d.clear(),e){var f=e.type;b.gestureEvent=f,a.handler.dispatchToElement(e.target,f,e.event)}}function f(a){a._touching=!0,clearTimeout(a._touchTimer),a._touchTimer=setTimeout(function(){a._touching=!1},700)}function g(){return m.touchEventsSupported}function h(a){function b(a,b){return function(){return b._touching?void 0:a.apply(b,arguments)}}for(var c=0;c<t.length;c++){var d=t[c];a._handlers[d]=k.bind(u[d],a)}for(var c=0;c<s.length;c++){var d=s[c];a._handlers[d]=b(u[d],a)}}function i(a){function b(b,c){k.each(b,function(b){o(a,d(b),c._handlers[b])},c)}l.call(this),this.dom=a,this._touching=!1,this._touchTimer,this._gestureMgr=new n,this._handlers={},h(this),g()&&b(t,this),b(s,this)}var j=c(24),k=c(1),l=c(20),m=c(12),n=c(147),o=j.addEventListener,p=j.removeEventListener,q=j.normalizeEvent,r=300,s=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove"],t=["touchstart","touchend","touchmove"],u={mousemove:function(a){a=q(this.dom,a),this.trigger("mousemove",a)},mouseout:function(a){a=q(this.dom,a);var b=a.toElement||a.relatedTarget;if(b!=this.dom)for(;b&&9!=b.nodeType;){if(b===this.dom)return;b=b.parentNode}this.trigger("mouseout",a)},touchstart:function(a){a=q(this.dom,a),this._lastTouchMoment=new Date,e(this,a,"start"),u.mousemove.call(this,a),u.mousedown.call(this,a),f(this)},touchmove:function(a){a=q(this.dom,a),e(this,a,"change"),u.mousemove.call(this,a),f(this)},touchend:function(a){a=q(this.dom,a),e(this,a,"end"),u.mouseup.call(this,a),+new Date-this._lastTouchMoment<r&&u.click.call(this,a),f(this)}};k.each(["click","mousedown","mouseup","mousewheel","dblclick"],function(a){u[a]=function(b){b=q(this.dom,b),this.trigger(a,b)}});var v=i.prototype;v.dispose=function(){for(var a=s.concat(t),b=0;b<a.length;b++){var c=a[b];p(this.dom,d(c),this._handlers[c])}},v.setCursor=function(a){this.dom.style.cursor=a||"default"},k.mixin(i,l),a.exports=i},function(a,b,c){var d=c(6);a.exports=d.extend({type:"compound",shape:{paths:null},_updatePathDirty:function(){for(var a=this.__dirtyPath,b=this.shape.paths,c=0;c<b.length;c++)a=a||b[c].__dirtyPath;this.__dirtyPath=a,this.__dirty=this.__dirty||a},beforeBrush:function(){this._updatePathDirty();for(var a=this.shape.paths||[],b=this.getGlobalScale(),c=0;c<a.length;c++)a[c].path.setScale(b[0],b[1])},buildPath:function(a,b){for(var c=b.paths||[],d=0;d<c.length;d++)c[d].buildPath(a,c[d].shape,!0)},afterBrush:function(){for(var a=this.shape.paths,b=0;b<a.length;b++)a[b].__dirtyPath=!1},getBoundingRect:function(){return this._updatePathDirty(),d.prototype.getBoundingRect.call(this)}})},function(a,b,c){"use strict";var d=c(1),e=c(29),f=function(a,b,c,d,f){this.x=null==a?.5:a,this.y=null==b?.5:b,this.r=null==c?.5:c,this.type="radial",this.global=f||!1,e.call(this,d)};f.prototype={constructor:f},d.inherits(f,e),a.exports=f},function(a,b){a.exports={buildPath:function(a,b){var c,d,e,f,g=b.x,h=b.y,i=b.width,j=b.height,k=b.r;0>i&&(g+=i,i=-i),0>j&&(h+=j,j=-j),"number"==typeof k?c=d=e=f=k:k instanceof Array?1===k.length?c=d=e=f=k[0]:2===k.length?(c=e=k[0],d=f=k[1]):3===k.length?(c=k[0],d=f=k[1],e=k[2]):(c=k[0],d=k[1],e=k[2],f=k[3]):c=d=e=f=0;var l;c+d>i&&(l=c+d,c*=i/l,d*=i/l),e+f>i&&(l=e+f,e*=i/l,f*=i/l),d+e>j&&(l=d+e,d*=j/l,e*=j/l),c+f>j&&(l=c+f,c*=j/l,f*=j/l),a.moveTo(g+c,h),a.lineTo(g+i-d,h),0!==d&&a.quadraticCurveTo(g+i,h,g+i,h+d),a.lineTo(g+i,h+j-e),0!==e&&a.quadraticCurveTo(g+i,h+j,g+i-e,h+j),a.lineTo(g+f,h+j),0!==f&&a.quadraticCurveTo(g,h+j,g,h+j-f),a.lineTo(g,h+c),0!==c&&a.quadraticCurveTo(g,h,g+c,h)}}},function(a,b,c){var d=c(5),e=d.min,f=d.max,g=d.scale,h=d.distance,i=d.add;a.exports=function(a,b,c,j){var k,l,m,n,o=[],p=[],q=[],r=[];if(j){m=[1/0,1/0],n=[-(1/0),-(1/0)];for(var s=0,t=a.length;t>s;s++)e(m,m,a[s]),f(n,n,a[s]);e(m,m,j[0]),f(n,n,j[1])}for(var s=0,t=a.length;t>s;s++){var u=a[s];if(c)k=a[s?s-1:t-1],l=a[(s+1)%t];else{if(0===s||s===t-1){o.push(d.clone(a[s]));continue}k=a[s-1],l=a[s+1]}d.sub(p,l,k),g(p,p,b);var v=h(u,k),w=h(u,l),x=v+w;0!==x&&(v/=x,w/=x),g(q,p,-v),g(r,p,w);var y=i([],u,q),z=i([],u,r);j&&(f(y,y,m),e(y,y,n),f(z,z,m),e(z,z,n)),o.push(y),o.push(z)}return c&&o.push(o.shift()),o}},function(a,b,c){function d(a,b,c,d,e,f,g){var h=.5*(c-a),i=.5*(d-b);return(2*(b-c)+h+i)*g+(-3*(b-c)-2*h-i)*f+h*e+b}var e=c(5);a.exports=function(a,b){for(var c=a.length,f=[],g=0,h=1;c>h;h++)g+=e.distance(a[h-1],a[h]);var i=g/2;i=c>i?c:i;for(var h=0;i>h;h++){
+var j,k,l,m=h/(i-1)*(b?c:c-1),n=Math.floor(m),o=m-n,p=a[n%c];b?(j=a[(n-1+c)%c],k=a[(n+1)%c],l=a[(n+2)%c]):(j=a[0===n?n:n-1],k=a[n>c-2?c-1:n+1],l=a[n>c-3?c-1:n+2]);var q=o*o,r=o*q;f.push([d(j[0],p[0],k[0],l[0],o,q,r),d(j[1],p[1],k[1],l[1],o,q,r)])}return f}},function(a,b,c){a.exports=c(6).extend({type:"arc",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},style:{stroke:"#000",fill:null},buildPath:function(a,b){var c=b.cx,d=b.cy,e=Math.max(b.r,0),f=b.startAngle,g=b.endAngle,h=b.clockwise,i=Math.cos(f),j=Math.sin(f);a.moveTo(i*e+c,j*e+d),a.arc(c,d,e,f,g,!h)}})},function(a,b,c){"use strict";function d(a,b,c){var d=a.cpx2,e=a.cpy2;return null===d||null===e?[(c?l:j)(a.x1,a.cpx1,a.cpx2,a.x2,b),(c?l:j)(a.y1,a.cpy1,a.cpy2,a.y2,b)]:[(c?k:i)(a.x1,a.cpx1,a.x2,b),(c?k:i)(a.y1,a.cpy1,a.y2,b)]}var e=c(17),f=c(5),g=e.quadraticSubdivide,h=e.cubicSubdivide,i=e.quadraticAt,j=e.cubicAt,k=e.quadraticDerivativeAt,l=e.cubicDerivativeAt,m=[];a.exports=c(6).extend({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(a,b){var c=b.x1,d=b.y1,e=b.x2,f=b.y2,i=b.cpx1,j=b.cpy1,k=b.cpx2,l=b.cpy2,n=b.percent;0!==n&&(a.moveTo(c,d),null==k||null==l?(1>n&&(g(c,i,e,n,m),i=m[1],e=m[2],g(d,j,f,n,m),j=m[1],f=m[2]),a.quadraticCurveTo(i,j,e,f)):(1>n&&(h(c,i,k,e,n,m),i=m[1],k=m[2],e=m[3],h(d,j,l,f,n,m),j=m[1],l=m[2],f=m[3]),a.bezierCurveTo(i,j,k,l,e,f)))},pointAt:function(a){return d(this.shape,a,!1)},tangentAt:function(a){var b=d(this.shape,a,!0);return f.normalize(b,b)}})},function(a,b,c){"use strict";a.exports=c(6).extend({type:"circle",shape:{cx:0,cy:0,r:0},buildPath:function(a,b,c){c&&a.moveTo(b.cx+b.r,b.cy),a.arc(b.cx,b.cy,b.r,0,2*Math.PI,!0)}})},function(a,b,c){a.exports=c(6).extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(a,b){var c=b.x1,d=b.y1,e=b.x2,f=b.y2,g=b.percent;0!==g&&(a.moveTo(c,d),1>g&&(e=c*(1-g)+e*g,f=d*(1-g)+f*g),a.lineTo(e,f))},pointAt:function(a){var b=this.shape;return[b.x1*(1-a)+b.x2*a,b.y1*(1-a)+b.y2*a]}})},function(a,b,c){var d=c(65);a.exports=c(6).extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(a,b){d.buildPath(a,b,!0)}})},function(a,b,c){var d=c(65);a.exports=c(6).extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(a,b){d.buildPath(a,b,!1)}})},function(a,b,c){var d=c(152);a.exports=c(6).extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(a,b){var c=b.x,e=b.y,f=b.width,g=b.height;b.r?d.buildPath(a,b):a.rect(c,e,f,g),a.closePath()}})},function(a,b,c){a.exports=c(6).extend({type:"ring",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(a,b){var c=b.cx,d=b.cy,e=2*Math.PI;a.moveTo(c+b.r,d),a.arc(c,d,b.r,0,e,!1),a.moveTo(c+b.r0,d),a.arc(c,d,b.r0,0,e,!0)}})},function(a,b,c){a.exports=c(6).extend({type:"sector",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},buildPath:function(a,b){var c=b.cx,d=b.cy,e=Math.max(b.r0||0,0),f=Math.max(b.r,0),g=b.startAngle,h=b.endAngle,i=b.clockwise,j=Math.cos(g),k=Math.sin(g);a.moveTo(j*e+c,k*e+d),a.lineTo(j*f+c,k*f+d),a.arc(c,d,f,g,h,!i),a.lineTo(Math.cos(h)*e+c,Math.sin(h)*e+d),0!==e&&a.arc(c,d,e,h,g,i),a.closePath()}})},function(a,b,c){"use strict";var d=c(59),e=c(1),f=e.isString,g=e.isFunction,h=e.isObject,i=c(47),j=function(){this.animators=[]};j.prototype={constructor:j,animate:function(a,b){var c,f=!1,g=this,h=this.__zr;if(a){var j=a.split("."),k=g;f="shape"===j[0];for(var l=0,m=j.length;m>l;l++)k&&(k=k[j[l]]);k&&(c=k)}else c=g;if(!c)return void i('Property "'+a+'" is not existed in element '+g.id);var n=g.animators,o=new d(c,b);return o.during(function(a){g.dirty(f)}).done(function(){n.splice(e.indexOf(n,o),1)}),n.push(o),h&&h.animation.addAnimator(o),o},stopAnimation:function(a){for(var b=this.animators,c=b.length,d=0;c>d;d++)b[d].stop(a);return b.length=0,this},animateTo:function(a,b,c,d,e){function h(){j--,j||e&&e()}f(c)?(e=d,d=c,c=0):g(d)?(e=d,d="linear",c=0):g(c)?(e=c,c=0):g(b)?(e=b,b=500):b||(b=500),this.stopAnimation(),this._animateToShallow("",this,a,b,c,d,e);var i=this.animators.slice(),j=i.length;j||e&&e();for(var k=0;k<i.length;k++)i[k].done(h).start(d)},_animateToShallow:function(a,b,c,d,f){var g={},i=0;for(var j in c)if(null!=b[j])h(c[j])&&!e.isArrayLike(c[j])?this._animateToShallow(a?a+"."+j:j,b[j],c[j],d,f):(g[j]=c[j],i++);else if(null!=c[j])if(a){var k={};k[a]={},k[a][j]=c[j],this.attr(k)}else this.attr(j,c[j]);return i>0&&this.animate(a,!1).when(null==d?500:d,g).delay(f||0),this}},a.exports=j},function(a,b){function c(){this.on("mousedown",this._dragStart,this),this.on("mousemove",this._drag,this),this.on("mouseup",this._dragEnd,this),this.on("globalout",this._dragEnd,this)}c.prototype={constructor:c,_dragStart:function(a){var b=a.target;b&&b.draggable&&(this._draggingTarget=b,b.dragging=!0,this._x=a.offsetX,this._y=a.offsetY,this.dispatchToElement(b,"dragstart",a.event))},_drag:function(a){var b=this._draggingTarget;if(b){var c=a.offsetX,d=a.offsetY,e=c-this._x,f=d-this._y;this._x=c,this._y=d,b.drift(e,f,a),this.dispatchToElement(b,"drag",a.event);var g=this.findHover(c,d,b),h=this._dropTarget;this._dropTarget=g,b!==g&&(h&&g!==h&&this.dispatchToElement(h,"dragleave",a.event),g&&g!==h&&this.dispatchToElement(g,"dragenter",a.event))}},_dragEnd:function(a){var b=this._draggingTarget;b&&(b.dragging=!1),this.dispatchToElement(b,"dragend",a.event),this._dropTarget&&this.dispatchToElement(this._dropTarget,"drop",a.event),this._draggingTarget=null,this._dropTarget=null}},a.exports=c},function(a,b,c){function d(a,b,c,d,e,f,g,h,i,j,k){var p=i*(o/180),s=n(p)*(a-c)/2+m(p)*(b-d)/2,t=-1*m(p)*(a-c)/2+n(p)*(b-d)/2,u=s*s/(g*g)+t*t/(h*h);u>1&&(g*=l(u),h*=l(u));var v=(e===f?-1:1)*l((g*g*(h*h)-g*g*(t*t)-h*h*(s*s))/(g*g*(t*t)+h*h*(s*s)))||0,w=v*g*t/h,x=v*-h*s/g,y=(a+c)/2+n(p)*w-m(p)*x,z=(b+d)/2+m(p)*w+n(p)*x,A=r([1,0],[(s-w)/g,(t-x)/h]),B=[(s-w)/g,(t-x)/h],C=[(-1*s-w)/g,(-1*t-x)/h],D=r(B,C);q(B,C)<=-1&&(D=o),q(B,C)>=1&&(D=0),0===f&&D>0&&(D-=2*o),1===f&&0>D&&(D+=2*o),k.addData(j,y,z,g,h,A,D,p,f)}function e(a){if(!a)return[];var b,c=a.replace(/-/g," -").replace(/  /g," ").replace(/ /g,",").replace(/,,/g,",");for(b=0;b<k.length;b++)c=c.replace(new RegExp(k[b],"g"),"|"+k[b]);var e,f=c.split("|"),g=0,i=0,j=new h,l=h.CMD;for(b=1;b<f.length;b++){var m,n=f[b],o=n.charAt(0),p=0,q=n.slice(1).replace(/e,-/g,"e-").split(",");q.length>0&&""===q[0]&&q.shift();for(var r=0;r<q.length;r++)q[r]=parseFloat(q[r]);for(;p<q.length&&!isNaN(q[p])&&!isNaN(q[0]);){var s,t,u,v,w,x,y,z=g,A=i;switch(o){case"l":g+=q[p++],i+=q[p++],m=l.L,j.addData(m,g,i);break;case"L":g=q[p++],i=q[p++],m=l.L,j.addData(m,g,i);break;case"m":g+=q[p++],i+=q[p++],m=l.M,j.addData(m,g,i),o="l";break;case"M":g=q[p++],i=q[p++],m=l.M,j.addData(m,g,i),o="L";break;case"h":g+=q[p++],m=l.L,j.addData(m,g,i);break;case"H":g=q[p++],m=l.L,j.addData(m,g,i);break;case"v":i+=q[p++],m=l.L,j.addData(m,g,i);break;case"V":i=q[p++],m=l.L,j.addData(m,g,i);break;case"C":m=l.C,j.addData(m,q[p++],q[p++],q[p++],q[p++],q[p++],q[p++]),g=q[p-2],i=q[p-1];break;case"c":m=l.C,j.addData(m,q[p++]+g,q[p++]+i,q[p++]+g,q[p++]+i,q[p++]+g,q[p++]+i),g+=q[p-2],i+=q[p-1];break;case"S":s=g,t=i;var B=j.len(),C=j.data;e===l.C&&(s+=g-C[B-4],t+=i-C[B-3]),m=l.C,z=q[p++],A=q[p++],g=q[p++],i=q[p++],j.addData(m,s,t,z,A,g,i);break;case"s":s=g,t=i;var B=j.len(),C=j.data;e===l.C&&(s+=g-C[B-4],t+=i-C[B-3]),m=l.C,z=g+q[p++],A=i+q[p++],g+=q[p++],i+=q[p++],j.addData(m,s,t,z,A,g,i);break;case"Q":z=q[p++],A=q[p++],g=q[p++],i=q[p++],m=l.Q,j.addData(m,z,A,g,i);break;case"q":z=q[p++]+g,A=q[p++]+i,g+=q[p++],i+=q[p++],m=l.Q,j.addData(m,z,A,g,i);break;case"T":s=g,t=i;var B=j.len(),C=j.data;e===l.Q&&(s+=g-C[B-4],t+=i-C[B-3]),g=q[p++],i=q[p++],m=l.Q,j.addData(m,s,t,g,i);break;case"t":s=g,t=i;var B=j.len(),C=j.data;e===l.Q&&(s+=g-C[B-4],t+=i-C[B-3]),g+=q[p++],i+=q[p++],m=l.Q,j.addData(m,s,t,g,i);break;case"A":u=q[p++],v=q[p++],w=q[p++],x=q[p++],y=q[p++],z=g,A=i,g=q[p++],i=q[p++],m=l.A,d(z,A,g,i,x,y,u,v,w,m,j);break;case"a":u=q[p++],v=q[p++],w=q[p++],x=q[p++],y=q[p++],z=g,A=i,g+=q[p++],i+=q[p++],m=l.A,d(z,A,g,i,x,y,u,v,w,m,j)}}"z"!==o&&"Z"!==o||(m=l.Z,j.addData(m)),e=m}return j.toStatic(),j}function f(a,b){var c,d=e(a);return b=b||{},b.buildPath=function(a){a.setData(d.data),c&&i(a,c);var b=a.getContext();b&&a.rebuildPath(b)},b.applyTransform=function(a){c||(c=j.create()),j.mul(c,a,c),this.dirty(!0)},b}var g=c(6),h=c(28),i=c(167),j=c(19),k=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"],l=Math.sqrt,m=Math.sin,n=Math.cos,o=Math.PI,p=function(a){return Math.sqrt(a[0]*a[0]+a[1]*a[1])},q=function(a,b){return(a[0]*b[0]+a[1]*b[1])/(p(a)*p(b))},r=function(a,b){return(a[0]*b[1]<a[1]*b[0]?-1:1)*Math.acos(q(a,b))};a.exports={createFromString:function(a,b){return new g(f(a,b))},extendFromString:function(a,b){return g.extend(f(a,b))},mergePath:function(a,b){for(var c=[],d=a.length,e=0;d>e;e++){var f=a[e];f.__dirty&&f.buildPath(f.path,f.shape,!0),c.push(f.path)}var h=new g(b);return h.buildPath=function(a){a.appendPath(c);var b=a.getContext();b&&a.rebuildPath(b)},h}}},function(a,b,c){function d(a,b){var c,d,f,k,l,m,n=a.data,o=e.M,p=e.C,q=e.L,r=e.R,s=e.A,t=e.Q;for(f=0,k=0;f<n.length;){switch(c=n[f++],k=f,d=0,c){case o:d=1;break;case q:d=1;break;case p:d=3;break;case t:d=2;break;case s:var u=b[4],v=b[5],w=i(b[0]*b[0]+b[1]*b[1]),x=i(b[2]*b[2]+b[3]*b[3]),y=j(-b[1]/x,b[0]/w);n[f++]+=u,n[f++]+=v,n[f++]*=w,n[f++]*=x,n[f++]+=y,n[f++]+=y,f+=2,k=f;break;case r:m[0]=n[f++],m[1]=n[f++],g(m,m,b),n[k++]=m[0],n[k++]=m[1],m[0]+=n[f++],m[1]+=n[f++],g(m,m,b),n[k++]=m[0],n[k++]=m[1]}for(l=0;d>l;l++){var m=h[l];m[0]=n[f++],m[1]=n[f++],g(m,m,b),n[k++]=m[0],n[k++]=m[1]}}}var e=c(28).CMD,f=c(5),g=f.applyTransform,h=[[],[],[]],i=Math.sqrt,j=Math.atan2;a.exports=d},function(a,b,c){if(!c(12).canvasSupported){var d,e="urn:schemas-microsoft-com:vml",f=window,g=f.document,h=!1;try{!g.namespaces.zrvml&&g.namespaces.add("zrvml",e),d=function(a){return g.createElement("<zrvml:"+a+' class="zrvml">')}}catch(i){d=function(a){return g.createElement("<"+a+' xmlns="'+e+'" class="zrvml">')}}var j=function(){if(!h){h=!0;var a=g.styleSheets;a.length<31?g.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):a[0].addRule(".zrvml","behavior:url(#default#VML)")}};a.exports={doc:g,initVML:j,createNode:d}}},function(a,b,c){"use strict";function d(a){return null==a.value?a:a.value}var e=c(14),f=c(30),g=c(284),h=c(1),i={_baseAxisDim:null,getInitialData:function(a,b){var c,g,h=b.getComponent("xAxis",this.get("xAxisIndex")),i=b.getComponent("yAxis",this.get("yAxisIndex")),j=h.get("type"),k=i.get("type");"category"===j?(a.layout="horizontal",c=h.getCategories(),g=!0):"category"===k?(a.layout="vertical",c=i.getCategories(),g=!0):a.layout=a.layout||"horizontal",this._baseAxisDim="horizontal"===a.layout?"x":"y";var l=a.data,m=this.dimensions=["base"].concat(this.valueDimensions);f(m,l);var n=new e(m,this);return n.initData(l,c?c.slice():null,function(a,b,c,e){var f=d(a);return g?"base"===b?c:f[e-1]:f[e]}),n},coordDimToDataDim:function(a){var b=this.valueDimensions.slice(),c=["base"],d={horizontal:{x:c,y:b},vertical:{x:b,y:c}};return d[this.get("layout")][a]},dataDimToCoordDim:function(a){var b;return h.each(["x","y"],function(c,d){var e=this.coordDimToDataDim(c);h.indexOf(e,a)>=0&&(b=c)},this),b},getBaseAxis:function(){var a=this._baseAxisDim;return this.ecModel.getComponent(a+"Axis",this.get(a+"AxisIndex")).axis}},j={init:function(){var a=this._whiskerBoxDraw=new g(this.getStyleUpdater());this.group.add(a.group)},render:function(a,b,c){this._whiskerBoxDraw.updateData(a.getData())},remove:function(a){this._whiskerBoxDraw.remove()}};a.exports={seriesModelMixin:i,viewMixin:j}},function(a,b,c){var d=c(1),e={retrieveTargetInfo:function(a,b){if(a&&("treemapZoomToNode"===a.type||"treemapRootToNode"===a.type)){var c=b.getData().tree.root,d=a.targetNode;if(d&&c.contains(d))return{node:d};var e=a.targetNodeId;if(null!=e&&(d=c.getNodeById(e)))return{node:d}}},getPathToRoot:function(a){for(var b=[];a;)a=a.parentNode,a&&b.push(a);return b.reverse()},aboveViewRoot:function(a,b){var c=e.getPathToRoot(a);return d.indexOf(c,b)>=0}};a.exports=e},function(a,b,c){function d(a,b){var c,d=this.getBoundingRect(),e=a.get("layoutCenter"),f=a.get("layoutSize"),h=b.getWidth(),j=b.getHeight(),k=a.get("aspectScale")||.75,l=d.width/d.height*k,m=!1;e&&f&&(e=[i.parsePercent(e[0],h),i.parsePercent(e[1],j)],f=i.parsePercent(f,Math.min(h,j)),isNaN(e[0])||isNaN(e[1])||isNaN(f)||(m=!0));var n;if(m){var n={};l>1?(n.width=f,n.height=f/l):(n.height=f,n.width=f*l),n.y=e[1]-n.height/2,n.x=e[0]-n.width/2}else c=a.getBoxLayoutParams(),c.aspect=l,n=g.getLayoutRect(c,{width:h,height:j});this.setViewRect(n.x,n.y,n.width,n.height),this.setCenter(a.get("center")),this.setZoom(a.get("zoom"))}function e(a,b){h.each(b.get("geoCoord"),function(b,c){a.addGeoCoord(c,b)})}var f=c(355),g=c(13),h=c(1),i=c(4),j={},k={dimensions:f.prototype.dimensions,create:function(a,b){var c=[];a.eachComponent("geo",function(a,g){var h=a.get("map"),i=j[h],k=new f(h+g,h,i&&i.geoJson,i&&i.specialAreas,a.get("nameMap"));k.zoomLimit=a.get("scaleLimit"),c.push(k),e(k,a),a.coordinateSystem=k,k.model=a,k.resize=d,k.resize(a,b)}),a.eachSeries(function(a){var b=a.get("coordinateSystem");if("geo"===b){var d=a.get("geoIndex")||0;a.coordinateSystem=c[d]}});var g={};return a.eachSeriesByType("map",function(a){var b=a.get("map");g[b]=g[b]||[],g[b].push(a)}),h.each(g,function(a,g){var i=j[g],k=h.map(a,function(a){return a.get("nameMap")}),l=new f(g,g,i&&i.geoJson,i&&i.specialAreas,h.mergeAll(k));l.zoomLimit=h.retrieve.apply(null,h.map(a,function(a){return a.get("scaleLimit")})),c.push(l),l.resize=d,l.resize(a[0],b),h.each(a,function(a){a.coordinateSystem=l,e(l,a)})}),c},registerMap:function(a,b,c){b.geoJson&&!b.features&&(c=b.specialAreas,b=b.geoJson),"string"==typeof b&&(b="undefined"!=typeof JSON&&JSON.parse?JSON.parse(b):new Function("return ("+b+");")()),j[a]={geoJson:b,specialAreas:c}},getMap:function(a){return j[a]},getFilledRegions:function(a,b){var c=(a||[]).slice(),d=k.getMap(b),e=d&&d.geoJson;if(!e)return a;for(var f={},g=e.features,h=0;h<c.length;h++)f[c[h].name]=c[h];for(var h=0;h<g.length;h++){var i=g[h].properties.name;f[i]||c.push({name:i})}return c}},l=c(2);l.registerMap=k.registerMap,l.getMap=k.getMap,l.loadMap=function(){},l.registerCoordinateSystem("geo",k),a.exports=k},function(a,b,c){function d(a){if(a)for(var b in a)if(a.hasOwnProperty(b))return!0}var e=c(1),f=c(71),g=e.each,h={createVisualMappings:function(a,b,c){function d(){var a=function(){};a.prototype.__hidden=a.prototype;var b=new a;return b}var h={};return g(b,function(b){var i=h[b]=d();g(a[b],function(a,d){if(f.isValidType(d)){var g={type:d,visual:a};c&&c(g,b),i[d]=new f(g),"opacity"===d&&(g=e.clone(g),g.type="colorAlpha",i.__hidden.__alphaForOpacity=new f(g))}})}),h},replaceVisualOption:function(a,b,c){var f;e.each(c,function(a){b.hasOwnProperty(a)&&d(b[a])&&(f=!0)}),f&&e.each(c,function(c){b.hasOwnProperty(c)&&d(b[c])?a[c]=e.clone(b[c]):delete a[c]})},applyVisual:function(a,b,c,d,g,h){function i(a){return c.getItemVisual(m,a)}function j(a,b){c.setItemVisual(m,a,b)}function k(a,c){m=null==h?a:c;for(var e=d.call(g,a),f=b[e],k=l[e],n=0,o=k.length;o>n;n++){var p=k[n];f[p]&&f[p].applyVisual(a,i,j)}}var l={};e.each(a,function(a){var c=f.prepareVisualTypes(b[a]);l[a]=c});var m;null==h?c.each(k,!0):c.each([h],k,!0)}};a.exports=h},function(a,b,c){function d(){this.group=new e.Group,this._symbolEl=new g({})}var e=c(3),f=c(26),g=e.extendShape({shape:{points:null,sizes:null},symbolProxy:null,buildPath:function(a,b){for(var c=b.points,d=b.sizes,e=this.symbolProxy,f=e.shape,g=0;g<c.length;g++){var h=c[g],i=d[g];i[0]<4?a.rect(h[0]-i[0]/2,h[1]-i[1]/2,i[0],i[1]):(f.x=h[0]-i[0]/2,f.y=h[1]-i[1]/2,f.width=i[0],f.height=i[1],e.buildPath(a,f,!0))}},findDataIndex:function(a,b){for(var c=this.shape,d=c.points,e=c.sizes,f=d.length-1;f>=0;f--){var g=d[f],h=e[f],i=g[0]-h[0]/2,j=g[1]-h[1]/2;if(a>=i&&b>=j&&a<=i+h[0]&&b<=j+h[1])return f}return-1}}),h=d.prototype;h.updateData=function(a){this.group.removeAll();var b=this._symbolEl,c=a.hostModel;b.setShape({points:a.mapArray(a.getItemLayout),sizes:a.mapArray(function(b){var c=a.getItemVisual(b,"symbolSize");return c instanceof Array||(c=[c,c]),c})}),b.symbolProxy=f.createSymbol(a.getVisual("symbol"),0,0,0,0),b.setColor=b.symbolProxy.setColor,b.useStyle(c.getModel("itemStyle.normal").getItemStyle(["color"]));var d=a.getVisual("color");d&&b.setColor(d),b.seriesIndex=c.seriesIndex,b.on("mousemove",function(a){b.dataIndex=null;var c=b.findDataIndex(a.offsetX,a.offsetY);c>0&&(b.dataIndex=c)}),this.group.add(b)},h.updateLayout=function(a){var b=a.getData();this._symbolEl.setShape({points:b.mapArray(b.getItemLayout)})},h.remove=function(){this.group.removeAll()},a.exports=d},function(a,b,c){function d(a){return isNaN(+a.cpx1)||isNaN(+a.cpy1)}var e=c(3),f=c(5),g=e.Line.prototype,h=e.BezierCurve.prototype;a.exports=e.extendShape({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(a,b){(d(b)?g:h).buildPath(a,b)},pointAt:function(a){return d(this.shape)?g.pointAt.call(this,a):h.pointAt.call(this,a)},tangentAt:function(a){var b=this.shape,c=d(b)?[b.x2-b.x1,b.y2-b.y1]:h.tangentAt.call(this,a);return f.normalize(c,c)}})},function(a,b,c){var d=c(1),e=c(2);c(176),c(177),e.registerVisual(d.curry(c(46),"scatter","circle",null)),e.registerLayout(d.curry(c(55),"scatter")),c(36)},function(a,b,c){"use strict";var d=c(35),e=c(15);a.exports=e.extend({type:"series.scatter",dependencies:["grid","polar"],getInitialData:function(a,b){var c=d(a.data,this,b);return c},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{normal:{opacity:.8}}}})},function(a,b,c){var d=c(39),e=c(173);c(2).extendChartView({type:"scatter",init:function(){this._normalSymbolDraw=new d,this._largeSymbolDraw=new e},render:function(a,b,c){var d=a.getData(),e=this._largeSymbolDraw,f=this._normalSymbolDraw,g=this.group,h=a.get("large")&&d.count()>a.get("largeThreshold")?e:f;this._symbolDraw=h,h.updateData(d),g.add(h.group),g.remove(h===e?f.group:e.group)},updateLayout:function(a){this._symbolDraw.updateLayout(a)},remove:function(a,b){this._symbolDraw&&this._symbolDraw.remove(b,!0)}})},function(a,b,c){c(110),c(40),c(41),c(184),c(185),c(180),c(181),c(107),c(106)},function(a,b,c){function d(a,b){var c=[1/0,-(1/0)];return j(b,function(b){var d=b.getData();d&&j(b.coordDimToDataDim(a),function(a){var b=d.getDataExtent(a);b[0]<c[0]&&(c[0]=b[0]),b[1]>c[1]&&(c[1]=b[1])})},this),c}function e(a,b,c){var d=c.getAxisModel(),e=d.axis.scale,g=[0,100],h=[a.start,a.end],l=[];return b=b.slice(),f(b,d,e),j(["startValue","endValue"],function(b){l.push(null!=a[b]?e.parse(a[b]):null)}),j([0,1],function(a){var c=l[a],d=h[a];null!=d||null==c?(null==d&&(d=g[a]),c=e.parse(i.linearMap(d,g,b,!0))):d=i.linearMap(c,b,g,!0),l[a]=c,h[a]=d}),{valueWindow:k(l),percentWindow:k(h)}}function f(a,b,c){return j(["min","max"],function(d,e){var f=b.get(d,!0);null!=f&&(f+"").toLowerCase()!=="data"+d&&(a[e]=c.parse(f))}),b.get("scale",!0)||(a[0]>0&&(a[0]=0),a[1]<0&&(a[1]=0)),a}function g(a,b){var c=a.getAxisModel(),d=a._percentWindow,e=a._valueWindow;if(d){var f=b||0===d[0]&&100===d[1],g=!b&&i.getPixelPrecision(e,[0,500]),h=!(b||20>g&&g>=0),j=b||f||h;c.setRange&&c.setRange(j?null:+e[0].toFixed(g),j?null:+e[1].toFixed(g))}}var h=c(1),i=c(4),j=h.each,k=i.asc,l=function(a,b,c,d){this._dimName=a,this._axisIndex=b,this._valueWindow,this._percentWindow,this._dataExtent,this.ecModel=d,this._dataZoomModel=c};l.prototype={constructor:l,hostedBy:function(a){return this._dataZoomModel===a},getDataExtent:function(){return this._dataExtent.slice()},getDataValueWindow:function(){return this._valueWindow.slice()},getDataPercentWindow:function(){return this._percentWindow.slice()},getTargetSeriesModels:function(){var a=[],b=this.ecModel;return b.eachSeries(function(c){var d=this._dimName,e=b.queryComponents({mainType:d+"Axis",index:c.get(d+"AxisIndex"),id:c.get(d+"AxisId")})[0];this._axisIndex===(e&&e.componentIndex)&&a.push(c)},this),a},getAxisModel:function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},getOtherAxisModel:function(){var a,b,c=this._dimName,d=this.ecModel,e=this.getAxisModel(),f="x"===c||"y"===c;f?(b="gridIndex",a="x"===c?"y":"x"):(b="polarIndex",a="angle"===c?"radius":"angle");var g;return d.eachComponent(a+"Axis",function(a){(a.get(b)||0)===(e.get(b)||0)&&(g=a)}),g},reset:function(a){if(a===this._dataZoomModel){var b=this._dataExtent=d(this._dimName,this.getTargetSeriesModels()),c=e(a.option,b,this);this._valueWindow=c.valueWindow,this._percentWindow=c.percentWindow,g(this)}},restore:function(a){a===this._dataZoomModel&&(this._valueWindow=this._percentWindow=null,g(this,!0))},filterData:function(a){function b(a){return a>=f[0]&&a<=f[1]}if(a===this._dataZoomModel){var c=this._dimName,d=this.getTargetSeriesModels(),e=a.get("filterMode"),f=this._valueWindow,g=this.getOtherAxisModel();a.get("$fromToolbox")&&g&&"category"===g.get("type")&&(e="empty"),j(d,function(a){var d=a.getData();d&&j(a.coordDimToDataDim(c),function(c){"empty"===e?a.setData(d.map(c,function(a){return b(a)?a:NaN})):d.filterSelf(c,b)})})}}},a.exports=l},function(a,b,c){a.exports=c(40).extend({type:"dataZoom.inside",defaultOption:{zoomLock:!1}})},function(a,b,c){function d(a,b,c,d){b=b.slice();var e=d.axisModels[0];if(e){var g=f(a,e,c),h=g.signal*(b[1]-b[0])*g.pixel/g.pixelLength;return j(h,b,[0,100],"rigid"),b}}function e(a,b,c,d,e,h){c=c.slice();var i=e.axisModels[0];if(i){var j=f(b,i,d),k=j.pixel-j.pixelStart,l=k/j.pixelLength*(c[1]-c[0])+c[0];return a=Math.max(a,0),c[0]=(c[0]-l)*a+l,c[1]=(c[1]-l)*a+l,g(c)}}function f(a,b,c){var d=b.axis,e=c.rectProvider(),f={};return"x"===d.dim?(f.pixel=a[0],f.pixelLength=e.width,f.pixelStart=e.x,f.signal=d.inverse?1:-1):(f.pixel=a[1],f.pixelLength=e.height,f.pixelStart=e.y,f.signal=d.inverse?-1:1),f}function g(a){var b=[0,100];return!(a[0]<=b[1])&&(a[0]=b[1]),!(a[1]<=b[1])&&(a[1]=b[1]),!(a[0]>=b[0])&&(a[0]=b[0]),!(a[1]>=b[0])&&(a[1]=b[0]),a}var h=c(41),i=c(1),j=c(79),k=c(186),l=i.bind,m=h.extend({type:"dataZoom.inside",init:function(a,b){this._range},render:function(a,b,c,d){m.superApply(this,"render",arguments),k.shouldRecordRange(d,a.id)&&(this._range=a.getPercentRange());var e=this.getTargetInfo().cartesians,f=i.map(e,function(a){return k.generateCoordId(a.model)});i.each(e,function(b){var d=b.model;k.register(c,{coordId:k.generateCoordId(d),allCoordIds:f,coordinateSystem:d.coordinateSystem,dataZoomId:a.id,throttleRate:a.get("throttle",!0),panGetRange:l(this._onPan,this,b),zoomGetRange:l(this._onZoom,this,b)})},this)},dispose:function(){k.unregister(this.api,this.dataZoomModel.id),m.superApply(this,"dispose",arguments),this._range=null},_onPan:function(a,b,c,e){return this._range=d([c,e],this._range,b,a)},_onZoom:function(a,b,c,d,f){var g=this.dataZoomModel;return g.option.zoomLock?this._range:this._range=e(1/c,[d,f],this._range,b,a,g)}});a.exports=m},function(a,b,c){var d=c(40);a.exports=d.extend({type:"dataZoom.select"})},function(a,b,c){a.exports=c(41).extend({type:"dataZoom.select"})},function(a,b,c){var d=c(40),e=d.extend({type:"dataZoom.slider",layoutMode:"box",defaultOption:{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#2f4554",width:.5,opacity:.3},areaStyle:{color:"rgba(47,69,84,0.3)",opacity:.3}},borderColor:"#ddd",fillerColor:"rgba(167,183,204,0.4)",handleIcon:"M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",handleSize:"100%",handleStyle:{color:"#a7b7cc"},labelPrecision:null,labelFormatter:null,showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#333"}}});a.exports=e},function(a,b,c){function d(a){return"x"===a?"y":"x"}var e=c(1),f=c(3),g=c(81),h=c(41),i=f.Rect,j=c(4),k=j.linearMap,l=c(13),m=c(79),n=j.asc,o=e.bind,p=e.each,q=7,r=1,s=30,t="horizontal",u="vertical",v=5,w=["line","bar","candlestick","scatter"],x=h.extend({type:"dataZoom.slider",init:function(a,b){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=b},render:function(a,b,c,d){return x.superApply(this,"render",arguments),g.createOrUpdate(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=a.get("orient"),this.dataZoomModel.get("show")===!1?void this.group.removeAll():(d&&"dataZoom"===d.type&&d.from===this.uid||this._buildView(),void this._updateView())},remove:function(){x.superApply(this,"remove",arguments),g.clear(this,"_dispatchZoomAction")},dispose:function(){x.superApply(this,"dispose",arguments),g.clear(this,"_dispatchZoomAction")},_buildView:function(){var a=this.group;a.removeAll(),this._resetLocation(),this._resetInterval();var b=this._displayables.barGroup=new f.Group;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),a.add(b),this._positionGroup()},_resetLocation:function(){var a=this.dataZoomModel,b=this.api,c=this._findCoordRect(),d={width:b.getWidth(),height:b.getHeight()},f=this._orient===t?{right:d.width-c.x-c.width,top:d.height-s-q,width:c.width,height:s}:{right:q,top:c.y,width:s,height:c.height},g=l.getLayoutParams(a.option);e.each(["right","top","width","height"],function(a){"ph"===g[a]&&(g[a]=f[a])});var h=l.getLayoutRect(g,d,a.padding);this._location={x:h.x,y:h.y},this._size=[h.width,h.height],this._orient===u&&this._size.reverse()},_positionGroup:function(){var a=this.group,b=this._location,c=this._orient,d=this.dataZoomModel.getFirstTargetAxisModel(),e=d&&d.get("inverse"),f=this._displayables.barGroup,g=(this._dataShadowInfo||{}).otherAxisInverse;f.attr(c!==t||e?c===t&&e?{scale:g?[-1,1]:[-1,-1]}:c!==u||e?{scale:g?[-1,-1]:[-1,1],rotation:Math.PI/2}:{scale:g?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:g?[1,1]:[1,-1]});var h=a.getBoundingRect([f]);a.attr("position",[b.x-h.x,b.y-h.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var a=this.dataZoomModel,b=this._size;this._displayables.barGroup.add(new i({silent:!0,shape:{x:0,y:0,width:b[0],height:b[1]},style:{fill:a.get("backgroundColor")},z2:-40}))},_renderDataShadow:function(){var a=this._dataShadowInfo=this._prepareDataShadowInfo();if(a){var b=this._size,c=a.series,d=c.getRawData(),g=c.getShadowDim?c.getShadowDim():a.otherDim,h=d.getDataExtent(g),i=.3*(h[1]-h[0]);h=[h[0]-i,h[1]+i];var j=[0,b[1]],l=[0,b[0]],m=[[b[0],0],[0,0]],n=[],o=l[1]/(d.count()-1),p=0,q=Math.round(d.count()/b[0]);d.each([g],function(a,b){if(q>0&&b%q)return void(p+=o);var c=null==a||isNaN(a)||""===a?null:k(a,h,j,!0);null!=c&&(m.push([p,c]),n.push([p,c])),p+=o});var r=this.dataZoomModel;this._displayables.barGroup.add(new f.Polygon({shape:{points:m},style:e.defaults({fill:r.get("dataBackgroundColor")},r.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new f.Polyline({shape:{points:n},style:r.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}},_prepareDataShadowInfo:function(){var a=this.dataZoomModel,b=a.get("showDataShadow");if(b!==!1){var c,f=this.ecModel;return a.eachTargetAxis(function(g,h){var i=a.getAxisProxy(g.name,h).getTargetSeriesModels();e.each(i,function(a){if(!(c||b!==!0&&e.indexOf(w,a.get("type"))<0)){var i=d(g.name),j=f.getComponent(g.axis,h).axis;c={thisAxis:j,series:a,thisDim:g.name,otherDim:i,otherAxisInverse:a.coordinateSystem.getOtherAxis(j).inverse}}},this)},this),c}},_renderHandle:function(){var a=this._displayables,b=a.handles=[],c=a.handleLabels=[],d=this._displayables.barGroup,e=this._size,g=this.dataZoomModel;d.add(a.filler=new i({draggable:!0,cursor:"move",drift:o(this._onDragMove,this,"all"),ondragstart:o(this._showDataInfo,this,!0),ondragend:o(this._onDragEnd,this),onmouseover:o(this._showDataInfo,this,!0),onmouseout:o(this._showDataInfo,this,!1),style:{fill:g.get("fillerColor"),textPosition:"inside"}})),d.add(new i(f.subPixelOptimizeRect({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{stroke:g.get("dataBackgroundColor")||g.get("borderColor"),lineWidth:r,fill:"rgba(0,0,0,0)"}})));var h=g.get("handleIcon");p([0,1],function(a){var e=f.makePath(h,{style:{strokeNoScale:!0},rectHover:!0,cursor:"vertical"===this._orient?"ns-resize":"ew-resize",draggable:!0,drift:o(this._onDragMove,this,a),ondragend:o(this._onDragEnd,this),onmouseover:o(this._showDataInfo,this,!0),onmouseout:o(this._showDataInfo,this,!1)},{x:-.5,y:0,width:1,height:1},"center"),i=e.getBoundingRect();this._handleHeight=j.parsePercent(g.get("handleSize"),this._size[1]),this._handleWidth=i.width/i.height*this._handleHeight,e.setStyle(g.getModel("handleStyle").getItemStyle());var k=g.get("handleColor");null!=k&&(e.style.fill=k),d.add(b[a]=e);var l=g.textStyleModel;this.group.add(c[a]=new f.Text({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",fill:l.getTextColor(),textFont:l.getFont()},z2:10}))},this)},_resetInterval:function(){var a=this._range=this.dataZoomModel.getPercentRange(),b=this._getViewExtent();this._handleEnds=[k(a[0],[0,100],b,!0),k(a[1],[0,100],b,!0)]},_updateInterval:function(a,b){var c=this._handleEnds,d=this._getViewExtent();m(b,c,d,"all"===a||this.dataZoomModel.get("zoomLock")?"rigid":"cross",a),this._range=n([k(c[0],d,[0,100],!0),k(c[1],d,[0,100],!0)])},_updateView:function(){var a=this._displayables,b=this._handleEnds,c=n(b.slice()),d=this._size;p([0,1],function(c){var e=a.handles[c],f=this._handleHeight;e.attr({scale:[f,f],position:[b[c],d[1]/2-f/2]})},this),a.filler.setShape({x:c[0],y:0,width:c[1]-c[0],height:d[1]}),this._updateDataInfo()},_updateDataInfo:function(){function a(a){var b=f.getTransform(c.handles[a].parent,this.group),h=f.transformDirection(0===a?"right":"left",b),i=this._handleWidth/2+v,k=f.applyTransform([j[a]+(0===a?-i:i),this._size[1]/2],b);d[a].setStyle({x:k[0],y:k[1],textVerticalAlign:e===t?"middle":h,textAlign:e===t?h:"center",text:g[a]})}var b=this.dataZoomModel,c=this._displayables,d=c.handleLabels,e=this._orient,g=["",""];if(b.get("showDetail")){var h,i;b.eachTargetAxis(function(a,c){h||(h=b.getAxisProxy(a.name,c).getDataValueWindow(),i=this.ecModel.getComponent(a.axis,c).axis)},this),h&&(g=[this._formatLabel(h[0],i),this._formatLabel(h[1],i)])}var j=n(this._handleEnds.slice());a.call(this,0),a.call(this,1)},_formatLabel:function(a,b){var c=this.dataZoomModel,d=c.get("labelFormatter");if(e.isFunction(d))return d(a);var f=c.get("labelPrecision");return null!=f&&"auto"!==f||(f=b.getPixelPrecision()),a=null==a&&isNaN(a)?"":"category"===b.type||"time"===b.type?b.scale.getLabel(Math.round(a)):a.toFixed(Math.min(f,20)),e.isString(d)&&(a=d.replace("{value}",a)),a},_showDataInfo:function(a){a=this._dragging||a;var b=this._displayables.handleLabels;b[0].attr("invisible",!a),b[1].attr("invisible",!a)},_onDragMove:function(a,b,c){this._dragging=!0;var d=this._applyBarTransform([b,c],!0);this._updateInterval(a,d[0]),this._updateView(),this.dataZoomModel.get("realtime")&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),this._dispatchZoomAction()},_dispatchZoomAction:function(){var a=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:a[0],end:a[1]})},_applyBarTransform:function(a,b){var c=this._displayables.barGroup.getLocalTransform();return f.applyTransform(a,c,b)},_findCoordRect:function(){var a,b=this.getTargetInfo();if(b.cartesians.length)a=b.cartesians[0].model.coordinateSystem.getRect();else{var c=this.api.getWidth(),d=this.api.getHeight();a={x:.2*c,y:.2*d,width:.6*c,height:.6*d}}return a}});a.exports=x},function(a,b,c){
+function d(a){var b=a.getZr();return b[o]||(b[o]={})}function e(a,b,c){var d=new l(a.getZr());return d.enable(),d.on("pan",n(g,c)),d.on("zoom",n(h,c)),d}function f(a){k.each(a,function(b,c){b.count||(b.controller.off("pan").off("zoom"),delete a[c])})}function g(a,b,c){i(a,function(d){return d.panGetRange(a.controller,b,c)})}function h(a,b,c,d){i(a,function(e){return e.zoomGetRange(a.controller,b,c,d)})}function i(a,b){var c=[];k.each(a.dataZoomInfos,function(a){var d=b(a);d&&c.push({dataZoomId:a.dataZoomId,start:d[0],end:d[1]})}),a.dispatchAction(c)}function j(a,b){a.dispatchAction({type:"dataZoom",batch:b})}var k=c(1),l=c(78),m=c(81),n=k.curry,o="\0_ec_dataZoom_roams",p={register:function(a,b){var c=d(a),g=b.dataZoomId,h=b.coordId;k.each(c,function(a,c){var d=a.dataZoomInfos;d[g]&&k.indexOf(b.allCoordIds,h)<0&&(delete d[g],a.count--)}),f(c);var i=c[h];i||(i=c[h]={coordId:h,dataZoomInfos:{},count:0},i.controller=e(a,b,i),i.dispatchAction=k.curry(j,a));var l=b.coordinateSystem.getRect().clone();i.controller.rectProvider=function(){return l},m.createOrUpdate(i,"dispatchAction",b.throttleRate,"fixRate"),!i.dataZoomInfos[g]&&i.count++,i.dataZoomInfos[g]=b},unregister:function(a,b){var c=d(a);k.each(c,function(a){var c=a.dataZoomInfos;c[b]&&(delete c[b],a.count--)}),f(c)},shouldRecordRange:function(a,b){if(a&&"dataZoom"===a.type&&a.batch)for(var c=0,d=a.batch.length;d>c;c++)if(a.batch[c].dataZoomId===b)return!1;return!0},generateCoordId:function(a){return a.type+"\0_"+a.id}};a.exports=p},function(a,b,c){c(110),c(40),c(41),c(182),c(183),c(107),c(106)},function(a,b,c){c(189),c(191),c(190);var d=c(2);d.registerProcessor(c(192))},function(a,b,c){"use strict";var d=c(1),e=c(9),f=c(2).extendComponentModel({type:"legend",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(a,b,c){this.mergeDefaultAndTheme(a,c),a.selected=a.selected||{}},mergeOption:function(a){f.superCall(this,"mergeOption",a)},optionUpdated:function(){this._updateData(this.ecModel);var a=this._data;if(a[0]&&"single"===this.get("selectedMode")){for(var b=!1,c=0;c<a.length;c++){var d=a[c].get("name");if(this.isSelected(d)){this.select(d),b=!0;break}}!b&&this.select(a[0].get("name"))}},_updateData:function(a){var b=d.map(this.get("data")||[],function(a){return"string"!=typeof a&&"number"!=typeof a||(a={name:a}),new e(a,this,this.ecModel)},this);this._data=b;var c=d.map(a.getSeries(),function(a){return a.name});a.eachSeries(function(a){if(a.legendDataProvider){var b=a.legendDataProvider();c=c.concat(b.mapArray(b.getName))}}),this._availableNames=c},getData:function(){return this._data},select:function(a){var b=this.option.selected,c=this.get("selectedMode");if("single"===c){var e=this._data;d.each(e,function(a){b[a.get("name")]=!1})}b[a]=!0},unSelect:function(a){"single"!==this.get("selectedMode")&&(this.option.selected[a]=!1)},toggleSelected:function(a){var b=this.option.selected;a in b||(b[a]=!0),this[b[a]?"unSelect":"select"](a)},isSelected:function(a){var b=this.option.selected;return!(a in b&&!b[a])&&d.indexOf(this._availableNames,a)>=0},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:"top",align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",textStyle:{color:"#333"},selectedMode:!0,tooltip:{show:!1}}});a.exports=f},function(a,b,c){function d(a,b){b.dispatchAction({type:"legendToggleSelect",name:a})}function e(a,b,c){var d=c.getZr().storage.getDisplayList()[0];d&&d.useHoverLayer||a.get("legendHoverLink")&&c.dispatchAction({type:"highlight",seriesName:a.name,name:b})}function f(a,b,c){var d=c.getZr().storage.getDisplayList()[0];d&&d.useHoverLayer||a.get("legendHoverLink")&&c.dispatchAction({type:"downplay",seriesName:a.name,name:b})}var g=c(1),h=c(26),i=c(3),j=c(114),k=g.curry;a.exports=c(2).extendComponentView({type:"legend",init:function(){this._symbolTypeStore={}},render:function(a,b,c){var h=this.group;if(h.removeAll(),a.get("show")){var l=a.get("selectedMode"),m=a.get("align");"auto"===m&&(m="right"===a.get("left")&&"vertical"===a.get("orient")?"right":"left");var n={};g.each(a.getData(),function(g){var j=g.get("name");if(""===j||"\n"===j)return void h.add(new i.Group({newline:!0}));var o=b.getSeriesByName(j)[0];if(!n[j])if(o){var p=o.getData(),q=p.getVisual("color");"function"==typeof q&&(q=q(o.getDataParams(0)));var r=p.getVisual("legendSymbol")||"roundRect",s=p.getVisual("symbol"),t=this._createItem(j,g,a,r,s,m,q,l);t.on("click",k(d,j,c)).on("mouseover",k(e,o,"",c)).on("mouseout",k(f,o,"",c)),n[j]=!0}else b.eachRawSeries(function(b){if(!n[j]&&b.legendDataProvider){var h=b.legendDataProvider(),i=h.indexOfName(j);if(0>i)return;var o=h.getItemVisual(i,"color"),p="roundRect",q=this._createItem(j,g,a,p,null,m,o,l);q.on("click",k(d,j,c)).on("mouseover",k(e,b,j,c)).on("mouseout",k(f,b,j,c)),n[j]=!0}},this)},this),j.layout(h,a,c),j.addBackground(h,a)}},_createItem:function(a,b,c,d,e,f,j,k){var l=c.get("itemWidth"),m=c.get("itemHeight"),n=c.get("inactiveColor"),o=c.isSelected(a),p=new i.Group,q=b.getModel("textStyle"),r=b.get("icon"),s=b.getModel("tooltip");if(d=r||d,p.add(h.createSymbol(d,0,0,l,m,o?j:n)),!r&&e&&(e!==d||"none"==e)){var t=.8*m;"none"===e&&(e="circle"),p.add(h.createSymbol(e,(l-t)/2,(m-t)/2,t,t,o?j:n))}var u="left"===f?l+5:-5,v=f,w=c.get("formatter"),x=a;"string"==typeof w&&w?x=w.replace("{name}",a):"function"==typeof w&&(x=w(a));var y=new i.Text({style:{text:x,x:u,y:m/2,fill:o?q.getTextColor():n,textFont:q.getFont(),textAlign:v,textVerticalAlign:"middle"}});p.add(y);var z=new i.Rect({shape:p.getBoundingRect(),invisible:!0,tooltip:s.get("show")?g.extend({content:a,formatter:function(){return a},formatterParams:{componentType:"legend",legendIndex:c.componentIndex,name:a,$vars:["name"]}},s.option):null});return p.add(z),p.eachChild(function(a){a.silent=!0}),z.silent=!k,this.group.add(p),i.setHoverStyle(p),p}})},function(a,b,c){function d(a,b,c){var d,e={},g="toggleSelected"===a;return c.eachComponent("legend",function(c){g&&null!=d?c[d?"select":"unSelect"](b.name):(c[a](b.name),d=c.isSelected(b.name));var h=c.getData();f.each(h,function(a){var b=a.get("name");if("\n"!==b&&""!==b){var d=c.isSelected(b);b in e?e[b]=e[b]&&d:e[b]=d}})}),{name:b.name,selected:e}}var e=c(2),f=c(1);e.registerAction("legendToggleSelect","legendselectchanged",f.curry(d,"toggleSelected")),e.registerAction("legendSelect","legendselected",f.curry(d,"select")),e.registerAction("legendUnSelect","legendunselected",f.curry(d,"unSelect"))},function(a,b){a.exports=function(a){var b=a.findComponents({mainType:"legend"});b&&b.length&&a.filterSeries(function(a){for(var c=0;c<b.length;c++)if(!b[c].isSelected(a.name))return!1;return!0})}},function(a,b,c){c(196),c(197),c(2).registerPreprocessor(function(a){a.markArea=a.markArea||{}})},function(a,b,c){c(198),c(199),c(2).registerPreprocessor(function(a){a.markLine=a.markLine||{}})},function(a,b,c){c(200),c(201),c(2).registerPreprocessor(function(a){a.markPoint=a.markPoint||{}})},function(a,b,c){a.exports=c(67).extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{normal:{show:!0,position:"top"},emphasis:{show:!0,position:"top"}},itemStyle:{normal:{borderWidth:0}}}})},function(a,b,c){function d(a){return!isNaN(a)&&!isFinite(a)}function e(a,b,c,e){var f=1-a;return d(b[f])&&d(c[f])}function f(a,b){var c=b.coord[0],d=b.coord[1];return!("cartesian2d"!==a.type||!c||!d||!e(1,c,d,a)&&!e(0,c,d,a))||(n.dataFilter(a,{coord:c,x:b.x0,y:b.y0})||n.dataFilter(a,{coord:d,x:b.x1,y:b.y1}))}function g(a,b,c,e,f){var g,h=e.coordinateSystem,i=a.getItemModel(b),j=k.parsePercent(i.get(c[0]),f.getWidth()),l=k.parsePercent(i.get(c[1]),f.getHeight());if(isNaN(j)||isNaN(l)){if(e.getMarkerPosition)g=e.getMarkerPosition(a.getValues(c,b));else{var m=a.get(c[0],b),n=a.get(c[1],b);g=h.dataToPoint([m,n],!0)}if("cartesian2d"===h.type){var o=h.getAxis("x"),p=h.getAxis("y"),m=a.get(c[0],b),n=a.get(c[1],b);d(m)?g[0]=o.toGlobalCoord(o.getExtent()["x0"===c[0]?0:1]):d(n)&&(g[1]=p.toGlobalCoord(p.getExtent()["y0"===c[1]?0:1]))}isNaN(j)||(g[0]=j),isNaN(l)||(g[1]=l)}else g=[j,l];return g}function h(a,b,c){var d,e,g=["x0","y0","x1","y1"];a?(d=i.map(a&&a.dimensions,function(a){var c=b.getData().getDimensionInfo(b.coordDimToDataDim(a)[0])||{};return c.name=a,c}),e=new j(i.map(g,function(a,b){return{name:a,type:d[b%2].type}}),c)):(d=[{name:"value",type:"float"}],e=new j(d,c));var h=i.map(c.get("data"),i.curry(o,b,a,c));a&&(h=i.filter(h,i.curry(f,a)));var k=a?function(a,b,c,d){return a.coord[Math.floor(d/2)][d%2]}:function(a){return a.value};return e.initData(h,null,k),e.hasItemOption=!0,e}var i=c(1),j=c(14),k=c(4),l=c(3),m=c(18),n=c(69),o=function(a,b,c,d){var e=n.dataTransform(a,d[0]),f=n.dataTransform(a,d[1]),g=i.retrieve,h=e.coord,j=f.coord;h[0]=g(h[0],-(1/0)),h[1]=g(h[1],-(1/0)),j[0]=g(j[0],1/0),j[1]=g(j[1],1/0);var k=i.mergeAll([{},e,f]);return k.coord=[e.coord,f.coord],k.x0=e.x,k.y0=e.y,k.x1=f.x,k.y1=f.y,k},p=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];c(68).extend({type:"markArea",updateLayout:function(a,b,c){b.eachSeries(function(a){var b=a.markAreaModel;if(b){var d=b.getData();d.each(function(b){var e=i.map(p,function(e){return g(d,b,e,a,c)});d.setItemLayout(b,e);var f=d.getItemGraphicEl(b);f.setShape("points",e)})}},this)},renderSeries:function(a,b,c,d){var e=a.coordinateSystem,f=a.name,j=a.getData(),k=this.markerGroupMap,n=k[f];n||(n=k[f]={group:new l.Group}),this.group.add(n.group),n.__keep=!0;var o=h(e,a,b);b.setData(o),o.each(function(b){o.setItemLayout(b,i.map(p,function(c){return g(o,b,c,a,d)})),o.setItemVisual(b,{color:j.getVisual("color")})}),o.diff(n.__data).add(function(a){var b=new l.Polygon({shape:{points:o.getItemLayout(a)}});o.setItemGraphicEl(a,b),n.group.add(b)}).update(function(a,c){var d=n.__data.getItemGraphicEl(c);l.updateProps(d,{shape:{points:o.getItemLayout(a)}},b,a),n.group.add(d),o.setItemGraphicEl(a,d)}).remove(function(a){var b=n.__data.getItemGraphicEl(a);n.group.remove(b)}).execute(),o.eachItemGraphicEl(function(a,c){var d=o.getItemModel(c),e=d.getModel("label.normal"),f=d.getModel("label.emphasis"),g=o.getItemVisual(c,"color");a.useStyle(i.defaults(d.getModel("itemStyle.normal").getItemStyle(),{fill:m.modifyAlpha(g,.4),stroke:g})),a.hoverStyle=d.getModel("itemStyle.normal").getItemStyle();var h=o.getName(c)||"",j=g||a.style.fill;l.setText(a.style,e,j),a.style.text=i.retrieve(b.getFormattedLabel(c,"normal"),h),l.setText(a.hoverStyle,f,j),a.hoverStyle.text=i.retrieve(b.getFormattedLabel(c,"emphasis"),h),l.setHoverStyle(a,{}),a.dataModel=b}),n.__data=o,n.group.silent=b.get("silent")||a.get("silent")}})},function(a,b,c){a.exports=c(67).extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{normal:{show:!0,position:"end"},emphasis:{show:!0}},lineStyle:{normal:{type:"dashed"},emphasis:{width:3}},animationEasing:"linear"}})},function(a,b,c){function d(a){return!isNaN(a)&&!isFinite(a)}function e(a,b,c,e){var f=1-a,g=e.dimensions[a];return d(b[f])&&d(c[f])&&b[a]===c[a]&&e.getAxis(g).containData(b[a])}function f(a,b){if("cartesian2d"===a.type){var c=b[0].coord,d=b[1].coord;if(c&&d&&(e(1,c,d,a)||e(0,c,d,a)))return!0}return l.dataFilter(a,b[0])&&l.dataFilter(a,b[1])}function g(a,b,c,e,f){var g,h=e.coordinateSystem,i=a.getItemModel(b),j=k.parsePercent(i.get("x"),f.getWidth()),l=k.parsePercent(i.get("y"),f.getHeight());if(isNaN(j)||isNaN(l)){if(e.getMarkerPosition)g=e.getMarkerPosition(a.getValues(a.dimensions,b));else{var m=h.dimensions,n=a.get(m[0],b),o=a.get(m[1],b);g=h.dataToPoint([n,o])}if("cartesian2d"===h.type){var p=h.getAxis("x"),q=h.getAxis("y"),m=h.dimensions;d(a.get(m[0],b))?g[0]=p.toGlobalCoord(p.getExtent()[c?0:1]):d(a.get(m[1],b))&&(g[1]=q.toGlobalCoord(q.getExtent()[c?0:1]))}isNaN(j)||(g[0]=j),isNaN(l)||(g[1]=l)}else g=[j,l];a.setItemLayout(b,g)}function h(a,b,c){var d;d=a?i.map(a&&a.dimensions,function(a){var c=b.getData().getDimensionInfo(b.coordDimToDataDim(a)[0])||{};return c.name=a,c}):[{name:"value",type:"float"}];var e=new j(d,c),g=new j(d,c),h=new j([],c),k=i.map(c.get("data"),i.curry(n,b,a,c));a&&(k=i.filter(k,i.curry(f,a)));var m=a?l.dimValueGetter:function(a){return a.value};return e.initData(i.map(k,function(a){return a[0]}),null,m),g.initData(i.map(k,function(a){return a[1]}),null,m),h.initData(i.map(k,function(a){return a[2]})),h.hasItemOption=!0,{from:e,to:g,line:h}}var i=c(1),j=c(14),k=c(4),l=c(69),m=c(93),n=function(a,b,c,d){var e=a.getData(),f=d.type;if(!i.isArray(d)&&("min"===f||"max"===f||"average"===f||null!=d.xAxis||null!=d.yAxis)){var g,h,j;if(null!=d.yAxis||null!=d.xAxis)h=null!=d.yAxis?"y":"x",g=b.getAxis(h),j=i.retrieve(d.yAxis,d.xAxis);else{var k=l.getAxisInfo(d,e,b,a);h=k.valueDataDim,g=k.valueAxis,j=l.numCalculate(e,h,f)}var m="x"===h?0:1,n=1-m,o=i.clone(d),p={};o.type=null,o.coord=[],p.coord=[],o.coord[n]=-(1/0),p.coord[n]=1/0;var q=c.get("precision");q>=0&&(j=+j.toFixed(q)),o.coord[m]=p.coord[m]=j,d=[o,p,{type:f,valueIndex:d.valueIndex,value:j}]}return d=[l.dataTransform(a,d[0]),l.dataTransform(a,d[1]),i.extend({},d[2])],d[2].type=d[2].type||"",i.merge(d[2],d[0]),i.merge(d[2],d[1]),d};c(68).extend({type:"markLine",updateLayout:function(a,b,c){b.eachSeries(function(a){var b=a.markLineModel;if(b){var d=b.getData(),e=b.__from,f=b.__to;e.each(function(b){g(e,b,!0,a,c),g(f,b,!1,a,c)}),d.each(function(a){d.setItemLayout(a,[e.getItemLayout(a),f.getItemLayout(a)])}),this.markerGroupMap[a.name].updateLayout()}},this)},renderSeries:function(a,b,c,d){function e(b,c,e){var f=b.getItemModel(c);g(b,c,e,a,d),b.setItemVisual(c,{symbolSize:f.get("symbolSize")||t[e?0:1],symbol:f.get("symbol",!0)||s[e?0:1],color:f.get("itemStyle.normal.color")||k.getVisual("color")})}var f=a.coordinateSystem,j=a.name,k=a.getData(),l=this.markerGroupMap,n=l[j];n||(n=l[j]=new m),this.group.add(n.group);var o=h(f,a,b),p=o.from,q=o.to,r=o.line;b.__from=p,b.__to=q,b.setData(r);var s=b.get("symbol"),t=b.get("symbolSize");i.isArray(s)||(s=[s,s]),"number"==typeof t&&(t=[t,t]),o.from.each(function(a){e(p,a,!0),e(q,a,!1)}),r.each(function(a){var b=r.getItemModel(a).get("lineStyle.normal.color");r.setItemVisual(a,{color:b||p.getItemVisual(a,"color")}),r.setItemLayout(a,[p.getItemLayout(a),q.getItemLayout(a)]),r.setItemVisual(a,{fromSymbolSize:p.getItemVisual(a,"symbolSize"),fromSymbol:p.getItemVisual(a,"symbol"),toSymbolSize:q.getItemVisual(a,"symbolSize"),toSymbol:q.getItemVisual(a,"symbol")})}),n.updateData(r),o.line.eachItemGraphicEl(function(a,c){a.traverse(function(a){a.dataModel=b})}),n.__keep=!0,n.group.silent=b.get("silent")||a.get("silent")}})},function(a,b,c){a.exports=c(67).extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{normal:{show:!0,position:"inside"},emphasis:{show:!0}},itemStyle:{normal:{borderWidth:2}}}})},function(a,b,c){function d(a,b,c){var d=b.coordinateSystem;a.each(function(e){var f,g=a.getItemModel(e),i=h.parsePercent(g.get("x"),c.getWidth()),j=h.parsePercent(g.get("y"),c.getHeight());if(isNaN(i)||isNaN(j)){if(b.getMarkerPosition)f=b.getMarkerPosition(a.getValues(a.dimensions,e));else if(d){var k=a.get(d.dimensions[0],e),l=a.get(d.dimensions[1],e);f=d.dataToPoint([k,l])}}else f=[i,j];isNaN(i)||(f[0]=i),isNaN(j)||(f[1]=j),a.setItemLayout(e,f)})}function e(a,b,c){var d;d=a?g.map(a&&a.dimensions,function(a){var c=b.getData().getDimensionInfo(b.coordDimToDataDim(a)[0])||{};return c.name=a,c}):[{name:"value",type:"float"}];var e=new i(d,c),f=g.map(c.get("data"),g.curry(j.dataTransform,b));return a&&(f=g.filter(f,g.curry(j.dataFilter,a))),e.initData(f,null,a?j.dimValueGetter:function(a){return a.value}),e}var f=c(39),g=c(1),h=c(4),i=c(14),j=c(69);c(68).extend({type:"markPoint",updateLayout:function(a,b,c){b.eachSeries(function(a){var b=a.markPointModel;b&&(d(b.getData(),a,c),this.markerGroupMap[a.name].updateLayout(b))},this)},renderSeries:function(a,b,c,g){var h=a.coordinateSystem,i=a.name,j=a.getData(),k=this.markerGroupMap,l=k[i];l||(l=k[i]=new f);var m=e(h,a,b);b.setData(m),d(b.getData(),a,g),m.each(function(a){var c=m.getItemModel(a),d=c.getShallow("symbolSize");"function"==typeof d&&(d=d(b.getRawValue(a),b.getDataParams(a))),m.setItemVisual(a,{symbolSize:d,color:c.get("itemStyle.normal.color")||j.getVisual("color"),symbol:c.getShallow("symbol")})}),l.updateData(m),this.group.add(l.group),m.eachItemGraphicEl(function(a){a.traverse(function(a){a.dataModel=b})}),l.__keep=!0,l.group.silent=b.get("silent")||a.get("silent")}})},function(a,b,c){"use strict";var d=c(2),e=c(3),f=c(13);d.extendComponentModel({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),d.extendComponentView({type:"title",render:function(a,b,c){if(this.group.removeAll(),a.get("show")){var d=this.group,g=a.getModel("textStyle"),h=a.getModel("subtextStyle"),i=a.get("textAlign"),j=a.get("textBaseline"),k=new e.Text({style:{text:a.get("text"),textFont:g.getFont(),fill:g.getTextColor()},z2:10}),l=k.getBoundingRect(),m=a.get("subtext"),n=new e.Text({style:{text:m,textFont:h.getFont(),fill:h.getTextColor(),y:l.height+a.get("itemGap"),textBaseline:"top"},z2:10}),o=a.get("link"),p=a.get("sublink");k.silent=!o,n.silent=!p,o&&k.on("click",function(){window.open(o,"_"+a.get("target"))}),p&&n.on("click",function(){window.open(p,"_"+a.get("subtarget"))}),d.add(k),m&&d.add(n);var q=d.getBoundingRect(),r=a.getBoxLayoutParams();r.width=q.width,r.height=q.height;var s=f.getLayoutRect(r,{width:c.getWidth(),height:c.getHeight()},a.get("padding"));i||(i=a.get("left")||a.get("right"),"middle"===i&&(i="center"),"right"===i?s.x+=s.width:"center"===i&&(s.x+=s.width/2)),j||(j=a.get("top")||a.get("bottom"),"center"===j&&(j="middle"),"bottom"===j?s.y+=s.height:"middle"===j&&(s.y+=s.height/2),j=j||"top"),d.attr("position",[s.x,s.y]);var t={textAlign:i,textVerticalAlign:j};k.setStyle(t),n.setStyle(t),q=d.getBoundingRect();var u=s.margin,v=a.getItemStyle(["color","opacity"]);v.fill=a.get("backgroundColor");var w=new e.Rect({shape:{x:q.x-u[3],y:q.y-u[0],width:q.width+u[1]+u[3],height:q.height+u[0]+u[2]},style:v,silent:!0});e.subPixelOptimizeRect(w),d.add(w)}}})},function(a,b,c){c(204),c(205),c(210),c(208),c(206),c(207),c(209)},function(a,b,c){var d=c(25),e=c(1),f=c(2).extendComponentModel({type:"toolbox",layoutMode:{type:"box",ignoreSize:!0},mergeDefaultAndTheme:function(a){f.superApply(this,"mergeDefaultAndTheme",arguments),e.each(this.option.feature,function(a,b){var c=d.get(b);c&&e.merge(a,c.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{normal:{borderColor:"#666",color:"none"},emphasis:{borderColor:"#3E98C5"}}}});a.exports=f},function(a,b,c){(function(b){function d(a){return 0===a.indexOf("my")}var e=c(25),f=c(1),g=c(3),h=c(9),i=c(45),j=c(114),k=c(16);a.exports=c(2).extendComponentView({type:"toolbox",render:function(a,b,c,l){function m(f,g){var i,j=s[f],k=s[g],m=q[j],o=new h(m,a,a.ecModel);if(j&&!k){if(d(j))i={model:o,onclick:o.option.onclick,featureName:j};else{var p=e.get(j);if(!p)return;i=new p(o,b,c)}r[j]=i}else{if(i=r[k],!i)return;i.model=o,i.ecModel=b,i.api=c}return!j&&k?void(i.dispose&&i.dispose(b,c)):!o.get("show")||i.unusable?void(i.remove&&i.remove(b,c)):(n(o,i,j),o.setIconStatus=function(a,b){var c=this.option,d=this.iconPaths;c.iconStatus=c.iconStatus||{},c.iconStatus[a]=b,d[a]&&d[a].trigger(b)},void(i.render&&i.render(o,b,c,l)))}function n(d,e,h){var i=d.getModel("iconStyle"),j=e.getIcons?e.getIcons():d.get("icon"),k=d.get("title")||{};if("string"==typeof j){var l=j,m=k;j={},k={},j[h]=l,k[h]=m}var n=d.iconPaths={};f.each(j,function(h,j){var l=i.getModel("normal").getItemStyle(),m=i.getModel("emphasis").getItemStyle(),q={x:-p/2,y:-p/2,width:p,height:p},r=0===h.indexOf("image://")?(q.image=h.slice(8),new g.Image({style:q})):g.makePath(h.replace("path://",""),{style:l,hoverStyle:m,rectHover:!0},q,"center");g.setHoverStyle(r),a.get("showTitle")&&(r.__title=k[j],r.on("mouseover",function(){r.setStyle({text:k[j],textPosition:m.textPosition||"bottom",textFill:m.fill||m.stroke||"#000",textAlign:m.textAlign||"center"})}).on("mouseout",function(){r.setStyle({textFill:null})})),r.trigger(d.get("iconStatus."+j)||"normal"),o.add(r),r.on("click",f.bind(e.onclick,e,b,c,j)),n[j]=r})}var o=this.group;if(o.removeAll(),a.get("show")){var p=+a.get("itemSize"),q=a.get("feature")||{},r=this._features||(this._features={}),s=[];f.each(q,function(a,b){s.push(b)}),new i(this._featureNames||[],s).add(m).update(m).remove(f.curry(m,null)).execute(),this._featureNames=s,j.layout(o,a,c),j.addBackground(o,a),o.eachChild(function(a){var b=a.__title,d=a.hoverStyle;if(d&&b){var e=k.getBoundingRect(b,d.font),f=a.position[0]+o.position[0],g=a.position[1]+o.position[1]+p,h=!1;g+e.height>c.getHeight()&&(d.textPosition="top",h=!0);var i=h?-5-e.height:p+8;f+e.width/2>c.getWidth()?(d.textPosition=["100%",i],d.textAlign="right"):f-e.width/2<0&&(d.textPosition=[0,i],d.textAlign="left")}})}},updateView:function(a,b,c,d){f.each(this._features,function(a){a.updateView&&a.updateView(a.model,b,c,d)})},updateLayout:function(a,b,c,d){f.each(this._features,function(a){a.updateLayout&&a.updateLayout(a.model,b,c,d)})},remove:function(a,b){f.each(this._features,function(c){c.remove&&c.remove(a,b)}),this.group.removeAll()},dispose:function(a,b){f.each(this._features,function(c){c.dispose&&c.dispose(a,b)})}})}).call(b,c(216))},function(a,b,c){function d(a){var b={},c=[],d=[];return a.eachRawSeries(function(a){var e=a.coordinateSystem;if(!e||"cartesian2d"!==e.type&&"polar"!==e.type)c.push(a);else{var f=e.getBaseAxis();if("category"===f.type){var g=f.dim+"_"+f.index;b[g]||(b[g]={categoryAxis:f,valueAxis:e.getOtherAxis(f),series:[]},d.push({axisDim:f.dim,axisIndex:f.index})),b[g].series.push(a)}else c.push(a)}}),{seriesGroupByCategoryAxis:b,other:c,meta:d}}function e(a){var b=[];return o.each(a,function(a,c){var d=a.categoryAxis,e=a.valueAxis,f=e.dim,g=[" "].concat(o.map(a.series,function(a){return a.name})),h=[d.model.getCategories()];o.each(a.series,function(a){h.push(a.getRawData().mapArray(f,function(a){return a}))});for(var i=[g.join(r)],j=0;j<h[0].length;j++){for(var k=[],l=0;l<h.length;l++)k.push(h[l][j]);i.push(k.join(r))}b.push(i.join("\n"))}),b.join("\n\n"+q+"\n\n")}function f(a){return o.map(a,function(a){var b=a.getRawData(),c=[a.name],d=[];return b.each(b.dimensions,function(){for(var a=arguments.length,e=arguments[a-1],f=b.getName(e),g=0;a-1>g;g++)d[g]=arguments[g];c.push((f?f+r:"")+d.join(r))}),c.join("\n")}).join("\n\n"+q+"\n\n")}function g(a){var b=d(a);return{value:o.filter([e(b.seriesGroupByCategoryAxis),f(b.other)],function(a){return a.replace(/[\n\t\s]/g,"")}).join("\n\n"+q+"\n\n"),meta:b.meta}}function h(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function i(a){var b=a.slice(0,a.indexOf("\n"));return b.indexOf(r)>=0||void 0}function j(a){for(var b=a.split(/\n+/g),c=h(b.shift()).split(s),d=[],e=o.map(c,function(a){return{name:a,data:[]}}),f=0;f<b.length;f++){var g=h(b[f]).split(s);d.push(g.shift());for(var i=0;i<g.length;i++)e[i]&&(e[i].data[f]=g[i])}return{series:e,categories:d}}function k(a){for(var b=a.split(/\n+/g),c=h(b.shift()),d=[],e=0;e<b.length;e++){var f,g=h(b[e]).split(s),i="",j=!1;isNaN(g[0])?(j=!0,i=g[0],g=g.slice(1),d[e]={name:i,value:[]},f=d[e].value):f=d[e]=[];for(var k=0;k<g.length;k++)f.push(+g[k]);1===f.length&&(j?d[e].value=f[0]:d[e]=f[0])}return{name:c,data:d}}function l(a,b){var c=a.split(new RegExp("\n*"+q+"\n*","g")),d={series:[]};return o.each(c,function(a,c){if(i(a)){var e=j(a),f=b[c],g=f.axisDim+"Axis";f&&(d[g]=d[g]||[],d[g][f.axisIndex]={data:e.categories},d.series=d.series.concat(e.series))}else{var e=k(a);d.series.push(e)}}),d}function m(a){this._dom=null,this.model=a}function n(a,b){return o.map(a,function(a,c){var d=b&&b[c];return o.isObject(d)&&!o.isArray(d)?(o.isObject(a)&&!o.isArray(a)&&(a=a.value),o.defaults({value:a},d)):a})}var o=c(1),p=c(24),q=new Array(60).join("-"),r="\t",s=new RegExp("["+r+"]+","g");m.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:"数据视图",lang:["数据视图","关闭","刷新"],backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"},m.prototype.onclick=function(a,b){function c(){d.removeChild(f),y._dom=null}var d=b.getDom(),e=this.model;this._dom&&d.removeChild(this._dom);var f=document.createElement("div");f.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;",f.style.backgroundColor=e.get("backgroundColor")||"#fff";var h=document.createElement("h4"),i=e.get("lang")||[];h.innerHTML=i[0]||e.get("title"),h.style.cssText="margin: 10px 20px;",h.style.color=e.get("textColor");var j=document.createElement("div"),k=document.createElement("textarea");j.style.cssText="display:block;width:100%;overflow:hidden;";var m=e.get("optionToContent"),n=e.get("contentToOption"),q=g(a);if("function"==typeof m){var s=m(b.getOption());"string"==typeof s?j.innerHTML=s:o.isDom(s)&&j.appendChild(s)}else j.appendChild(k),k.readOnly=e.get("readOnly"),k.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",k.style.color=e.get("textColor"),k.style.borderColor=e.get("textareaBorderColor"),k.style.backgroundColor=e.get("textareaColor"),k.value=q.value;var t=q.meta,u=document.createElement("div");u.style.cssText="position:absolute;bottom:0;left:0;right:0;";var v="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",w=document.createElement("div"),x=document.createElement("div");v+=";background-color:"+e.get("buttonColor"),v+=";color:"+e.get("buttonTextColor");var y=this;p.addEventListener(w,"click",c),p.addEventListener(x,"click",function(){var a;try{a="function"==typeof n?n(j,b.getOption()):l(k.value,t)}catch(d){throw c(),new Error("Data view format error "+d)}a&&b.dispatchAction({type:"changeDataView",newOption:a}),c()}),w.innerHTML=i[1],x.innerHTML=i[2],x.style.cssText=v,w.style.cssText=v,!e.get("readOnly")&&u.appendChild(x),u.appendChild(w),p.addEventListener(k,"keydown",function(a){if(9===(a.keyCode||a.which)){var b=this.value,c=this.selectionStart,d=this.selectionEnd;this.value=b.substring(0,c)+r+b.substring(d),this.selectionStart=this.selectionEnd=c+1,p.stop(a)}}),f.appendChild(h),f.appendChild(j),f.appendChild(u),j.style.height=d.clientHeight-80+"px",d.appendChild(f),this._dom=f},m.prototype.remove=function(a,b){this._dom&&b.getDom().removeChild(this._dom)},m.prototype.dispose=function(a,b){this.remove(a,b)},c(25).register("dataView",m),c(2).registerAction({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(a,b){var c=[];o.each(a.newOption.series,function(a){var d=b.getSeriesByName(a.name)[0];if(d){var e=d.get("data");c.push({name:a.name,data:n(a.data,e)})}else c.push(o.extend({type:"scatter"},a))}),b.mergeOption(o.defaults({series:c},a.newOption))}),a.exports=m},function(a,b,c){"use strict";function d(a,b,c){(this._brushController=new i(c.getZr())).on("brush",h.bind(this._onBrush,this)).mount(),this._isZoomActive}function e(a){var b={};return h.each(["xAxisIndex","yAxisIndex"],function(c){b[c]=a[c],null==b[c]&&(b[c]="all"),(b[c]===!1||"none"===b[c])&&(b[c]=[])}),b}function f(a,b){a.setIconStatus("back",k.count(b)>1?"emphasis":"normal")}function g(a,b,c,d){var f=c._isZoomActive;d&&"takeGlobalCursor"===d.type&&(f="dataZoomSelect"===d.key&&d.dataZoomSelectActive),c._isZoomActive=f,a.setIconStatus("zoom",f?"emphasis":"normal");var g=j.makeCoordInfoList(e(a.option),b),h=g.xAxisHas&&!g.yAxisHas?"lineX":!g.xAxisHas&&g.yAxisHas?"lineY":"rect";c._brushController.setPanels(j.makePanelOpts(g)).enableBrush(!!f&&{brushType:h,brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}})}var h=c(1),i=c(111),j=c(112),k=c(109),l=h.each;c(187);var m="\0_ec_\0toolbox-dataZoom_";d.defaultOption={show:!0,icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:{zoom:"区域缩放",back:"区域缩放还原"}};var n=d.prototype;n.render=function(a,b,c,d){this.model=a,this.ecModel=b,this.api=c,g(a,b,this,d),f(a,b)},n.onclick=function(a,b,c){o[c].call(this)},n.remove=function(a,b){this._brushController.unmount()},n.dispose=function(a,b){this._brushController.dispose()};var o={zoom:function(){var a=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:a})},back:function(){this._dispatchZoomAction(k.pop(this.ecModel))}};n._onBrush=function(a,b){function c(a,b,c){var e=d(a,c[a],g);e&&(f[e.id]={dataZoomId:e.id,startValue:b[0],endValue:b[1]})}function d(a,b,c){var d;return c.eachComponent({mainType:"dataZoom",subType:"select"},function(e,f){var g=e.get(a+"Index");null!=g&&c.getComponent(a,g)===b&&(d=e)}),d}if(b.isEnd&&a.length){var f={},g=this.ecModel;this._brushController.updateCovers([]);var h=j.makeCoordInfoList(e(this.model.option),g),i=[];j.parseOutputRanges(a,h,g,i);var l=a[0],m=i[0],n=l.coordRange,o=l.brushType;if(m&&n)if("rect"===o)c("xAxis",n[0],m),c("yAxis",n[1],m);else{var p={lineX:"xAxis",lineY:"yAxis"};c(p[o],n,m)}k.push(g,f),this._dispatchZoomAction(f)}},n._dispatchZoomAction=function(a){var b=[];l(a,function(a,c){b.push(h.clone(a))}),b.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:b})},c(25).register("dataZoom",d),c(2).registerPreprocessor(function(a){function b(a,b){if(b){var e=a+"Index",f=b[e];null==f||"all"==f||h.isArray(f)||(f=f===!1||"none"===f?[]:[f]),c(a,function(b,c){if(null==f||"all"==f||-1!==h.indexOf(f,c)){var g={type:"select",$fromToolbox:!0,id:m+a+c};g[e]=c,d.push(g)}})}}function c(b,c){var d=a[b];h.isArray(d)||(d=d?[d]:[]),l(d,c)}if(a){var d=a.dataZoom||(a.dataZoom=[]);h.isArray(d)||(a.dataZoom=d=[d]);var e=a.toolbox;if(e&&(h.isArray(e)&&(e=e[0]),e&&e.feature)){var f=e.feature.dataZoom;b("xAxis",f),b("yAxis",f)}}}),a.exports=d},function(a,b,c){"use strict";function d(a){this.model=a}var e=c(1);d.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z",tiled:"M2.3,2.2h22.8V25H2.3V2.2z M35,2.2h22.8V25H35V2.2zM2.3,35h22.8v22.8H2.3V35z M35,35h22.8v22.8H35V35z"},title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"},option:{},seriesIndex:{}};var f=d.prototype;f.getIcons=function(){var a=this.model,b=a.get("icon"),c={};return e.each(a.get("type"),function(a){b[a]&&(c[a]=b[a])}),c};var g={line:function(a,b,c,d){return"bar"===a?e.merge({id:b,type:"line",data:c.get("data"),stack:c.get("stack"),markPoint:c.get("markPoint"),markLine:c.get("markLine")},d.get("option.line")||{},!0):void 0},bar:function(a,b,c,d){return"line"===a?e.merge({id:b,type:"bar",data:c.get("data"),stack:c.get("stack"),markPoint:c.get("markPoint"),markLine:c.get("markLine")},d.get("option.bar")||{},!0):void 0},stack:function(a,b,c,d){return"line"===a||"bar"===a?e.merge({id:b,stack:"__ec_magicType_stack__"},d.get("option.stack")||{},!0):void 0},tiled:function(a,b,c,d){return"line"===a||"bar"===a?e.merge({id:b,stack:""
+},d.get("option.tiled")||{},!0):void 0}},h=[["line","bar"],["stack","tiled"]];f.onclick=function(a,b,c){var d=this.model,f=d.get("seriesIndex."+c);if(g[c]){var i={series:[]},j=function(b){var f=b.subType,h=b.id,j=g[c](f,h,b,d);j&&(e.defaults(j,b.option),i.series.push(j));var k=b.coordinateSystem;if(k&&"cartesian2d"===k.type&&("line"===c||"bar"===c)){var l=k.getAxesByScale("ordinal")[0];if(l){var m=l.dim,n=m+"Axis",o=a.queryComponents({mainType:n,index:b.get(name+"Index"),id:b.get(name+"Id")})[0],p=o.componentIndex;i[n]=i[n]||[];for(var q=0;p>=q;q++)i[n][p]=i[n][p]||{};i[n][p].boundaryGap="bar"===c}}};e.each(h,function(a){e.indexOf(a,c)>=0&&e.each(a,function(a){d.setIconStatus(a,"normal")})}),d.setIconStatus(c,"emphasis"),a.eachComponent({mainType:"series",query:null==f?null:{seriesIndex:f}},j),b.dispatchAction({type:"changeMagicType",currentType:c,newOption:i})}};var i=c(2);i.registerAction({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(a,b){b.mergeOption(a.newOption)}),c(25).register("magicType",d),a.exports=d},function(a,b,c){"use strict";function d(a){this.model=a}var e=c(109);d.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:"还原"};var f=d.prototype;f.onclick=function(a,b,c){e.clear(a),b.dispatchAction({type:"restore",from:this.uid})},c(25).register("restore",d),c(2).registerAction({type:"restore",event:"restore",update:"prepareAndUpdate"},function(a,b){b.resetOption("recreate")}),a.exports=d},function(a,b,c){function d(a){this.model=a}var e=c(12);d.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:"保存为图片",type:"png",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:["右键另存为图片"]},d.prototype.unusable=!e.canvasSupported;var f=d.prototype;f.onclick=function(a,b){var c=this.model,d=c.get("name")||a.get("title.0.text")||"echarts",e=document.createElement("a"),f=c.get("type",!0)||"png";e.download=d+"."+f,e.target="_blank";var g=b.getConnectedDataURL({type:f,backgroundColor:c.get("backgroundColor",!0)||a.get("backgroundColor")||"#fff",excludeComponents:c.get("excludeComponents"),pixelRatio:c.get("pixelRatio")});if(e.href=g,"function"==typeof MouseEvent){var h=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});e.dispatchEvent(h)}else{var i=c.get("lang"),j='<body style="margin:0;"><img src="'+g+'" style="max-width:100%;" title="'+(i&&i[0]||"")+'" /></body>',k=window.open();k.document.write(j)}},c(25).register("saveAsImage",d),a.exports=d},function(a,b,c){c(213),c(214),c(2).registerAction({type:"showTip",event:"showTip",update:"none"},function(){}),c(2).registerAction({type:"hideTip",event:"hideTip",update:"none"},function(){})},function(a,b,c){function d(a){var b="cubic-bezier(0.23, 1, 0.32, 1)",c="left "+a+"s "+b+",top "+a+"s "+b;return i.map(p,function(a){return a+"transition:"+c}).join(";")}function e(a){var b=[],c=a.get("fontSize"),d=a.getTextColor();return d&&b.push("color:"+d),b.push("font:"+a.getFont()),c&&b.push("line-height:"+Math.round(3*c/2)+"px"),m(["decoration","align"],function(c){var d=a.get(c);d&&b.push("text-"+c+":"+d)}),b.join(";")}function f(a){a=a;var b=[],c=a.get("transitionDuration"),f=a.get("backgroundColor"),g=a.getModel("textStyle"),h=a.get("padding");return c&&b.push(d(c)),f&&(o.canvasSupported?b.push("background-Color:"+f):(b.push("background-Color:#"+j.toHex(f)),b.push("filter:alpha(opacity=70)"))),m(["width","color","radius"],function(c){var d="border-"+c,e=n(d),f=a.get(e);null!=f&&b.push(d+":"+f+("color"===c?"":"px"))}),b.push(e(g)),null!=h&&b.push("padding:"+l.normalizeCssArray(h).join("px ")+"px"),b.join(";")+";"}function g(a,b){var c=document.createElement("div"),d=b.getZr();this.el=c,this._x=b.getWidth()/2,this._y=b.getHeight()/2,a.appendChild(c),this._container=a,this._show=!1,this._hideTimeout;var e=this;c.onmouseenter=function(){e.enterable&&(clearTimeout(e._hideTimeout),e._show=!0),e._inContent=!0},c.onmousemove=function(b){if(!e.enterable){var c=d.handler;k.normalizeEvent(a,b),c.dispatch("mousemove",b)}},c.onmouseleave=function(){e.enterable&&e._show&&e.hideLater(e._hideDelay),e._inContent=!1},h(c,a)}function h(a,b){function c(a){d(a.target)&&a.preventDefault()}function d(c){for(;c&&c!==b;){if(c===a)return!0;c=c.parentNode}}k.addEventListener(b,"touchstart",c),k.addEventListener(b,"touchmove",c),k.addEventListener(b,"touchend",c)}var i=c(1),j=c(18),k=c(24),l=c(8),m=i.each,n=l.toCamelCase,o=c(12),p=["","-webkit-","-moz-","-o-"],q="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;";g.prototype={constructor:g,enterable:!0,update:function(){var a=this._container,b=a.currentStyle||document.defaultView.getComputedStyle(a),c=a.style;"absolute"!==c.position&&"absolute"!==b.position&&(c.position="relative")},show:function(a){clearTimeout(this._hideTimeout);var b=this.el;b.style.cssText=q+f(a)+";left:"+this._x+"px;top:"+this._y+"px;"+(a.get("extraCssText")||""),b.style.display=b.innerHTML?"block":"none",this._show=!0},setContent:function(a){var b=this.el;b.innerHTML=a,b.style.display=a?"block":"none"},moveTo:function(a,b){var c=this.el.style;c.left=a+"px",c.top=b+"px",this._x=a,this._y=b},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(a){!this._show||this._inContent&&this.enterable||(a?(this._hideDelay=a,this._show=!1,this._hideTimeout=setTimeout(i.bind(this.hide,this),a)):this.hide())},isShow:function(){return this._show}},a.exports=g},function(a,b,c){c(2).extendComponentModel({type:"tooltip",defaultOption:{zlevel:0,z:8,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove",alwaysShowContent:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:!0,animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",lineStyle:{color:"#555",width:1,type:"solid"},crossStyle:{color:"#555",width:1,type:"dashed",textStyle:{}},shadowStyle:{color:"rgba(150,150,150,0.3)"}},textStyle:{color:"#fff",fontSize:14}}})},function(a,b,c){function d(a,b){if(!a||!b)return!1;var c=p.round;return c(a[0])===c(b[0])&&c(a[1])===c(b[1])}function e(a,b,c,d){return{x1:a,y1:b,x2:c,y2:d}}function f(a,b,c,d){return{x:a,y:b,width:c,height:d}}function g(a,b,c,d,e,f){return{cx:a,cy:b,r0:c,r:d,startAngle:e,endAngle:f,clockwise:!0}}function h(a,b,c,d,e){var f=c.clientWidth,g=c.clientHeight,h=20;return a+f+h>d?a-=f+h:a+=h,b+g+h>e?b-=g+h:b+=h,[a,b]}function i(a,b,c){var d=c.clientWidth,e=c.clientHeight,f=5,g=0,h=0,i=b.width,j=b.height;switch(a){case"inside":g=b.x+i/2-d/2,h=b.y+j/2-e/2;break;case"top":g=b.x+i/2-d/2,h=b.y-e-f;break;case"bottom":g=b.x+i/2-d/2,h=b.y+j+f;break;case"left":g=b.x-d-f,h=b.y+j/2-e/2;break;case"right":g=b.x+i+f,h=b.y+j/2-e/2}return[g,h]}function j(a,b,c,d,e,f,g){var j=g.getWidth(),k=g.getHeight(),l=f&&f.getBoundingRect().clone();if(f&&l.applyTransform(f.transform),"function"==typeof a&&(a=a([b,c],e,d.el,l)),n.isArray(a))b=q(a[0],j),c=q(a[1],k);else if("string"==typeof a&&f){var m=i(a,l,d.el);b=m[0],c=m[1]}else{var m=h(b,c,d.el,j,k);b=m[0],c=m[1]}d.moveTo(b,c)}function k(a){var b=a.coordinateSystem,c=a.get("tooltip.trigger",!0);return!(!b||"cartesian2d"!==b.type&&"polar"!==b.type&&"singleAxis"!==b.type||"item"===c)}var l=c(212),m=c(3),n=c(1),o=c(8),p=c(4),q=p.parsePercent,r=c(12),s=c(9);c(2).extendComponentView({type:"tooltip",_axisPointers:{},init:function(a,b){if(!r.node){var c=new l(b.getDom(),b);this._tooltipContent=c,b.on("showTip",this._manuallyShowTip,this),b.on("hideTip",this._manuallyHideTip,this)}},render:function(a,b,c){if(!r.node){this.group.removeAll(),this._axisPointers={},this._tooltipModel=a,this._ecModel=b,this._api=c,this._lastHover={};var d=this._tooltipContent;d.update(),d.enterable=a.get("enterable"),this._alwaysShowContent=a.get("alwaysShowContent"),this._seriesGroupByAxis=this._prepareAxisTriggerData(a,b);var e=this._crossText;if(e&&this.group.add(e),null!=this._lastX&&null!=this._lastY){var f=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){f._manuallyShowTip({x:f._lastX,y:f._lastY})})}var g=this._api.getZr();g.off("click",this._tryShow),g.off("mousemove",this._mousemove),g.off("mouseout",this._hide),g.off("globalout",this._hide),"click"===a.get("triggerOn")?g.on("click",this._tryShow,this):(g.on("mousemove",this._mousemove,this),g.on("mouseout",this._hide,this),g.on("globalout",this._hide,this))}},_mousemove:function(a){var b=this._tooltipModel.get("showDelay"),c=this;clearTimeout(this._showTimeout),b>0?this._showTimeout=setTimeout(function(){c._tryShow(a)},b):this._tryShow(a)},_manuallyShowTip:function(a){if(a.from!==this.uid){var b=this._ecModel,c=a.seriesIndex,d=a.dataIndex,e=b.getSeriesByIndex(c),f=this._api;if(null==a.x||null==a.y){if(e||b.eachSeries(function(a){k(a)&&!e&&(e=a)}),e){var g=e.getData();null==d&&(d=g.indexOfName(a.name));var h,i,j=g.getItemGraphicEl(d),l=e.coordinateSystem;if(l&&l.dataToPoint){var m=l.dataToPoint(g.getValues(n.map(l.dimensions,function(a){return e.coordDimToDataDim(a)[0]}),d,!0));h=m&&m[0],i=m&&m[1]}else if(j){var o=j.getBoundingRect().clone();o.applyTransform(j.transform),h=o.x+o.width/2,i=o.y+o.height/2}null!=h&&null!=i&&this._tryShow({offsetX:h,offsetY:i,target:j,event:{}})}}else{var j=f.getZr().handler.findHover(a.x,a.y);this._tryShow({offsetX:a.x,offsetY:a.y,target:j,event:{}})}}},_manuallyHideTip:function(a){a.from!==this.uid&&this._hide()},_prepareAxisTriggerData:function(a,b){var c={};return b.eachSeries(function(a){if(k(a)){var b,d,e=a.coordinateSystem;"cartesian2d"===e.type?(b=e.getBaseAxis(),d=b.dim+b.index):"singleAxis"===e.type?(b=e.getAxis(),d=b.dim+b.type):(b=e.getBaseAxis(),d=b.dim+e.name),c[d]=c[d]||{coordSys:[],series:[]},c[d].coordSys.push(e),c[d].series.push(a)}},this),c},_tryShow:function(a){var b=a.target,c=this._tooltipModel,d=c.get("trigger"),e=this._ecModel,f=this._api;if(c)if(this._lastX=a.offsetX,this._lastY=a.offsetY,b&&null!=b.dataIndex){var g=b.dataModel||e.getSeriesByIndex(b.seriesIndex),h=b.dataIndex,i=g.getData().getItemModel(h);"axis"===(i.get("tooltip.trigger")||d)?this._showAxisTooltip(c,e,a):(this._ticket="",this._hideAxisPointer(),this._resetLastHover(),this._showItemTooltipContent(g,h,b.dataType,a)),f.dispatchAction({type:"showTip",from:this.uid,dataIndex:b.dataIndex,seriesIndex:b.seriesIndex})}else if(b&&b.tooltip){var j=b.tooltip;if("string"==typeof j){var k=j;j={content:k,formatter:k}}var l=new s(j,c),m=l.get("content"),n=Math.random();this._showTooltipContent(l,m,l.get("formatterParams")||{},n,a.offsetX,a.offsetY,b,f)}else"item"===d?this._hide():this._showAxisTooltip(c,e,a),"cross"===c.get("axisPointer.type")&&f.dispatchAction({type:"showTip",from:this.uid,x:a.offsetX,y:a.offsetY})},_showAxisTooltip:function(a,b,c){var e=a.getModel("axisPointer"),f=e.get("type");if("cross"===f){var g=c.target;if(g&&null!=g.dataIndex){var h=b.getSeriesByIndex(g.seriesIndex),i=g.dataIndex;this._showItemTooltipContent(h,i,g.dataType,c)}}this._showAxisPointer();var j=!0;n.each(this._seriesGroupByAxis,function(a){var b=a.coordSys,g=b[0],h=[c.offsetX,c.offsetY];if(!g.containPoint(h))return void this._hideAxisPointer(g.name);j=!1;var i=g.dimensions,k=g.pointToData(h,!0);h=g.dataToPoint(k);var l=g.getBaseAxis(),m=e.get("axis");"auto"===m&&(m=l.dim);var o=!1,p=this._lastHover;if("cross"===f)d(p.data,k)&&(o=!0),p.data=k;else{var q=n.indexOf(i,m);p.data===k[q]&&(o=!0),p.data=k[q]}"cartesian2d"!==g.type||o?"polar"!==g.type||o?"singleAxis"!==g.type||o||this._showSinglePointer(e,g,m,h):this._showPolarPointer(e,g,m,h):this._showCartesianPointer(e,g,m,h),"cross"!==f&&this._dispatchAndShowSeriesTooltipContent(g,a.series,h,k,o)},this),this._tooltipModel.get("show")||this._hideAxisPointer(),j&&this._hide()},_showCartesianPointer:function(a,b,c,d){function g(c,d,f){var g="x"===c?e(d[0],f[0],d[0],f[1]):e(f[0],d[1],f[1],d[1]),h=i._getPointerElement(b,a,c,g);m.subPixelOptimizeLine({shape:g,style:h.style}),l?m.updateProps(h,{shape:g},a):h.attr({shape:g})}function h(c,d,e){var g=b.getAxis(c),h=g.getBandWidth(),j=e[1]-e[0],k="x"===c?f(d[0]-h/2,e[0],h,j):f(e[0],d[1]-h/2,j,h),n=i._getPointerElement(b,a,c,k);l?m.updateProps(n,{shape:k},a):n.attr({shape:k})}var i=this,j=a.get("type"),k=b.getBaseAxis(),l="cross"!==j&&"category"===k.type&&k.getBandWidth()>20;if("cross"===j)g("x",d,b.getAxis("y").getGlobalExtent()),g("y",d,b.getAxis("x").getGlobalExtent()),this._updateCrossText(b,d,a);else{var n=b.getAxis("x"===c?"y":"x"),o=n.getGlobalExtent();"cartesian2d"===b.type&&("line"===j?g:h)(c,d,o)}},_showSinglePointer:function(a,b,c,d){function f(c,d,f){var h=b.getAxis(),j=h.orient,k="horizontal"===j?e(d[0],f[0],d[0],f[1]):e(f[0],d[1],f[1],d[1]),l=g._getPointerElement(b,a,c,k);i?m.updateProps(l,{shape:k},a):l.attr({shape:k})}var g=this,h=a.get("type"),i="cross"!==h&&"category"===b.getBaseAxis().type,j=b.getRect(),k=[j.y,j.y+j.height];f(c,d,k)},_showPolarPointer:function(a,b,c,d){function f(c,d,f){var g,h=b.pointToCoord(d);if("angle"===c){var j=b.coordToPoint([f[0],h[1]]),k=b.coordToPoint([f[1],h[1]]);g=e(j[0],j[1],k[0],k[1])}else g={cx:b.cx,cy:b.cy,r:h[0]};var l=i._getPointerElement(b,a,c,g);n?m.updateProps(l,{shape:g},a):l.attr({shape:g})}function h(c,d,e){var f,h=b.getAxis(c),j=h.getBandWidth(),k=b.pointToCoord(d),l=Math.PI/180;f="angle"===c?g(b.cx,b.cy,e[0],e[1],(-k[1]-j/2)*l,(-k[1]+j/2)*l):g(b.cx,b.cy,k[0]-j/2,k[0]+j/2,0,2*Math.PI);var o=i._getPointerElement(b,a,c,f);n?m.updateProps(o,{shape:f},a):o.attr({shape:f})}var i=this,j=a.get("type"),k=b.getAngleAxis(),l=b.getRadiusAxis(),n="cross"!==j&&"category"===b.getBaseAxis().type;if("cross"===j)f("angle",d,l.getExtent()),f("radius",d,k.getExtent()),this._updateCrossText(b,d,a);else{var o=b.getAxis("radius"===c?"angle":"radius"),p=o.getExtent();("line"===j?f:h)(c,d,p)}},_updateCrossText:function(a,b,c){var d=c.getModel("crossStyle"),e=d.getModel("textStyle"),f=this._tooltipModel,g=this._crossText;g||(g=this._crossText=new m.Text({style:{textAlign:"left",textVerticalAlign:"bottom"}}),this.group.add(g));var h=a.pointToData(b),i=a.dimensions;h=n.map(h,function(b,c){var d=a.getAxis(i[c]);return b="category"===d.type||"time"===d.type?d.scale.getLabel(b):o.addCommas(b.toFixed(d.getPixelPrecision()))}),g.setStyle({fill:e.getTextColor()||d.get("color"),textFont:e.getFont(),text:h.join(", "),x:b[0]+5,y:b[1]-5}),g.z=f.get("z"),g.zlevel=f.get("zlevel")},_getPointerElement:function(a,b,c,d){var e=this._tooltipModel,f=e.get("z"),g=e.get("zlevel"),h=this._axisPointers,i=a.name;if(h[i]=h[i]||{},h[i][c])return h[i][c];var j=b.get("type"),k=b.getModel(j+"Style"),l="shadow"===j,n=k[l?"getAreaStyle":"getLineStyle"](),o="polar"===a.type?l?"Sector":"radius"===c?"Circle":"Line":l?"Rect":"Line";l?n.stroke=null:n.fill=null;var p=h[i][c]=new m[o]({style:n,z:f,zlevel:g,silent:!0,shape:d});return this.group.add(p),p},_dispatchAndShowSeriesTooltipContent:function(a,b,c,d,e){var f=this._tooltipModel,g=a.getBaseAxis(),h="x"===g.dim||"radius"===g.dim?0:1,i=n.map(b,function(a){return{seriesIndex:a.seriesIndex,dataIndex:a.getAxisTooltipDataIndex?a.getAxisTooltipDataIndex(a.coordDimToDataDim(g.dim),d,g):a.getData().indexOfNearest(a.coordDimToDataDim(g.dim)[0],d[h],!1,"category"===g.type?.5:null)}}),k=this._lastHover,l=this._api;if(k.payloadBatch&&!e&&l.dispatchAction({type:"downplay",batch:k.payloadBatch}),e||(l.dispatchAction({type:"highlight",batch:i}),k.payloadBatch=i),l.dispatchAction({type:"showTip",dataIndex:i[0].dataIndex,seriesIndex:i[0].seriesIndex,from:this.uid}),g&&f.get("showContent")&&f.get("show")){var m=n.map(b,function(a,b){return a.getDataParams(i[b].dataIndex)});if(e)j(f.get("position"),c[0],c[1],this._tooltipContent,m,null,l);else{var o=i[0].dataIndex,p="time"===g.type?g.scale.getLabel(d[h]):b[0].getData().getName(o),q=(p?p+"<br />":"")+n.map(b,function(a,b){return a.formatTooltip(i[b].dataIndex,!0)}).join("<br />"),r="axis_"+a.name+"_"+o;this._showTooltipContent(f,q,m,r,c[0],c[1],null,l)}}},_showItemTooltipContent:function(a,b,c,d){var e=this._api,f=a.getData(c),g=f.getItemModel(b),h=g.get("tooltip",!0);if("string"==typeof h){var i=h;h={formatter:i}}var j=this._tooltipModel,k=a.getModel("tooltip",j),l=new s(h,k,k.ecModel),m=a.getDataParams(b,c),n=a.formatTooltip(b,!1,c),o="item_"+a.name+"_"+b;this._showTooltipContent(l,n,m,o,d.offsetX,d.offsetY,d.target,e)},_showTooltipContent:function(a,b,c,d,e,f,g,h){if(this._ticket="",a.get("showContent")&&a.get("show")){var i=this._tooltipContent,k=a.get("formatter"),l=a.get("position"),m=b;if(k)if("string"==typeof k)m=o.formatTpl(k,c);else if("function"==typeof k){var n=this,p=d,q=function(a,b){a===n._ticket&&(i.setContent(b),j(l,e,f,i,c,g,h))};n._ticket=p,m=k(c,p,q)}i.show(a),i.setContent(m),j(l,e,f,i,c,g,h)}},_showAxisPointer:function(a){if(a){var b=this._axisPointers[a];b&&n.each(b,function(a){a.show()})}else this.group.eachChild(function(a){a.show()}),this.group.show()},_resetLastHover:function(){var a=this._lastHover;a.payloadBatch&&this._api.dispatchAction({type:"downplay",batch:a.payloadBatch}),this._lastHover={}},_hideAxisPointer:function(a){if(a){var b=this._axisPointers[a];b&&n.each(b,function(a){a.hide()})}else this.group.children().length&&this.group.hide()},_hide:function(){clearTimeout(this._showTimeout),this._hideAxisPointer(),this._resetLastHover(),this._alwaysShowContent||this._tooltipContent.hideLater(this._tooltipModel.get("hideDelay")),this._api.dispatchAction({type:"hideTip",from:this.uid}),this._lastX=this._lastY=null},dispose:function(a,b){if(!r.node){var c=b.getZr();this._tooltipContent.hide(),c.off("click",this._tryShow),c.off("mousemove",this._mousemove),c.off("mouseout",this._hide),c.off("globalout",this._hide),b.off("showTip",this._manuallyShowTip),b.off("hideTip",this._manuallyHideTip)}}})},function(a,b,c){function d(a,b){var c=a.get("center"),d=a.get("radius"),e=b.getWidth(),f=b.getHeight(),g=h.parsePercent;this.cx=g(c[0],e),this.cy=g(c[1],f);var i=this.getRadiusAxis(),j=Math.min(e,f)/2;i.setExtent(0,g(d,j))}function e(a,b){var c=this,d=c.getAngleAxis(),e=c.getRadiusAxis();if(d.scale.setExtent(1/0,-(1/0)),e.scale.setExtent(1/0,-(1/0)),a.eachSeries(function(a){if(a.coordinateSystem===c){var b=a.getData();e.scale.unionExtent(b.getDataExtent("radius","category"!==e.type)),d.scale.unionExtent(b.getDataExtent("angle","category"!==d.type))}}),j(d,d.model),j(e,e.model),"category"===d.type&&!d.onBand){var f=d.getExtent(),g=360/d.scale.count();d.inverse?f[1]+=g:f[1]-=g,d.setExtent(f[0],f[1])}}function f(a,b){if(a.type=b.get("type"),a.scale=i.createScaleByModel(b),a.onBand=b.get("boundaryGap")&&"category"===a.type,"angleAxis"===b.mainType){var c=b.get("startAngle");a.inverse=b.get("inverse")^b.get("clockwise"),a.setExtent(c,c+(a.inverse?-360:360))}b.axis=a,a.model=b}var g=c(368),h=c(4),i=(c(1),c(22)),j=i.niceScaleExtent;c(369);var k={dimensions:g.prototype.dimensions,create:function(a,b){var c=[];return a.eachComponent("polar",function(a,h){var i=new g(h);i.resize=d,i.update=e;var j=i.getRadiusAxis(),k=i.getAngleAxis(),l=a.findAxisModel("radiusAxis"),m=a.findAxisModel("angleAxis");f(j,l),f(k,m),i.resize(a,b),c.push(i),a.coordinateSystem=i}),a.eachSeries(function(b){if("polar"===b.get("coordinateSystem")){var c=a.queryComponents({mainType:"polar",index:b.get("polarIndex"),id:b.get("polarId")})[0];b.coordinateSystem=c.coordinateSystem}}),c}};c(23).register("polar",k)},function(a,b){function c(){l&&j&&(l=!1,j.length?k=j.concat(k):m=-1,k.length&&d())}function d(){if(!l){var a=g(c);l=!0;for(var b=k.length;b;){for(j=k,k=[];++m<b;)j&&j[m].run();m=-1,b=k.length}j=null,l=!1,h(a)}}function e(a,b){this.fun=a,this.array=b}function f(){}var g,h,i=a.exports={};!function(){try{g=setTimeout}catch(a){g=function(){throw new Error("setTimeout is not defined")}}try{h=clearTimeout}catch(a){h=function(){throw new Error("clearTimeout is not defined")}}}();var j,k=[],l=!1,m=-1;i.nextTick=function(a){var b=new Array(arguments.length-1);if(arguments.length>1)for(var c=1;c<arguments.length;c++)b[c-1]=arguments[c];k.push(new e(a,b)),1!==k.length||l||g(d,0)},e.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=f,i.addListener=f,i.once=f,i.off=f,i.removeListener=f,i.removeAllListeners=f,i.emit=f,i.binding=function(a){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(a){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(a,b,c){function d(a){return parseInt(a,10)}function e(a,b){h.initVML(),this.root=a,this.storage=b;var c=document.createElement("div"),d=document.createElement("div");c.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",d.style.cssText="position:absolute;left:0;top:0;",a.appendChild(c),this._vmlRoot=d,this._vmlViewport=c,this.resize();var e=b.delFromMap,f=b.addToMap;b.delFromMap=function(a){var c=b.get(a);e.call(b,a),c&&c.onRemove&&c.onRemove(d)},b.addToMap=function(a){a.onAdd&&a.onAdd(d),f.call(b,a)},this._firstPaint=!0}function f(a){return function(){g('In IE8.0 VML mode painter not support method "'+a+'"')}}var g=c(47),h=c(168);e.prototype={constructor:e,getViewportRoot:function(){return this._vmlViewport},refresh:function(){var a=this.storage.getDisplayList(!0,!0);this._paintList(a)},_paintList:function(a){for(var b=this._vmlRoot,c=0;c<a.length;c++){var d=a[c];d.invisible||d.ignore?(d.__alreadyNotVisible||d.onRemove(b),d.__alreadyNotVisible=!0):(d.__alreadyNotVisible&&d.onAdd(b),d.__alreadyNotVisible=!1,d.__dirty&&(d.beforeBrush&&d.beforeBrush(),(d.brushVML||d.brush).call(d,b),d.afterBrush&&d.afterBrush())),d.__dirty=!1}this._firstPaint&&(this._vmlViewport.appendChild(b),this._firstPaint=!1)},resize:function(){var a=this._getWidth(),b=this._getHeight();if(this._width!=a&&this._height!=b){this._width=a,this._height=b;var c=this._vmlViewport.style;c.width=a+"px",c.height=b+"px"}},dispose:function(){this.root.innerHTML="",this._vmlRoot=this._vmlViewport=this.storage=null},getWidth:function(){return this._width},getHeight:function(){return this._height},clear:function(){this.root.removeChild(this.vmlViewport)},_getWidth:function(){var a=this.root,b=a.currentStyle;return(a.clientWidth||d(b.width))-d(b.paddingLeft)-d(b.paddingRight)|0},_getHeight:function(){var a=this.root,b=a.currentStyle;return(a.clientHeight||d(b.height))-d(b.paddingTop)-d(b.paddingBottom)|0}};for(var i=["getLayer","insertLayer","eachLayer","eachBuildinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],j=0;j<i.length;j++){var k=i[j];e.prototype[k]=f(k)}a.exports=e},function(a,b,c){if(!c(12).canvasSupported){var d=c(5),e=c(7),f=c(28).CMD,g=c(18),h=c(16),i=c(75),j=c(37),k=c(48),l=c(74),m=c(6),n=c(29),o=c(168),p=Math.round,q=Math.sqrt,r=Math.abs,s=Math.cos,t=Math.sin,u=Math.max,v=d.applyTransform,w=",",x="progid:DXImageTransform.Microsoft",y=21600,z=y/2,A=1e5,B=1e3,C=function(a){a.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",a.coordsize=y+","+y,a.coordorigin="0,0"},D=function(a){return String(a).replace(/&/g,"&amp;").replace(/"/g,"&quot;")},E=function(a,b,c){return"rgb("+[a,b,c].join(",")+")"},F=function(a,b){b&&a&&b.parentNode!==a&&a.appendChild(b)},G=function(a,b){b&&a&&b.parentNode===a&&a.removeChild(b)},H=function(a,b,c){return(parseFloat(a)||0)*A+(parseFloat(b)||0)*B+c},I=function(a,b){return"string"==typeof a?a.lastIndexOf("%")>=0?parseFloat(a)/100*b:parseFloat(a):a},J=function(a,b,c){var d=g.parse(b);c=+c,isNaN(c)&&(c=1),d&&(a.color=E(d[0],d[1],d[2]),a.opacity=c*d[3])},K=function(a){var b=g.parse(a);return[E(b[0],b[1],b[2]),b[3]]},L=function(a,b,c){var d=b.fill;if(null!=d)if(d instanceof n){var e,f=0,g=[0,0],h=0,i=1,j=c.getBoundingRect(),k=j.width,l=j.height;if("linear"===d.type){e="gradient";var m=c.transform,o=[d.x*k,d.y*l],p=[d.x2*k,d.y2*l];m&&(v(o,o,m),v(p,p,m));var q=p[0]-o[0],r=p[1]-o[1];f=180*Math.atan2(q,r)/Math.PI,0>f&&(f+=360),1e-6>f&&(f=0)}else{e="gradientradial";var o=[d.x*k,d.y*l],m=c.transform,s=c.scale,t=k,w=l;g=[(o[0]-j.x)/t,(o[1]-j.y)/w],m&&v(o,o,m),t/=s[0]*y,w/=s[1]*y;var x=u(t,w);h=0/x,i=2*d.r/x-h}var z=d.colorStops.slice();z.sort(function(a,b){return a.offset-b.offset});for(var A=z.length,B=[],C=[],D=0;A>D;D++){var E=z[D],F=K(E.color);C.push(E.offset*i+h+" "+F[0]),0!==D&&D!==A-1||B.push(F)}if(A>=2){var G=B[0][0],H=B[1][0],I=B[0][1]*b.opacity,L=B[1][1]*b.opacity;a.type=e,a.method="none",a.focus="100%",a.angle=f,a.color=G,a.color2=H,a.colors=C.join(","),a.opacity=L,a.opacity2=I}"radial"===e&&(a.focusposition=g.join(","))}else J(a,d,b.opacity)},M=function(a,b){null!=b.lineDash&&(a.dashstyle=b.lineDash.join(" ")),null==b.stroke||b.stroke instanceof n||J(a,b.stroke,b.opacity)},N=function(a,b,c,d){var e="fill"==b,f=a.getElementsByTagName(b)[0];null!=c[b]&&"none"!==c[b]&&(e||!e&&c.lineWidth)?(a[e?"filled":"stroked"]="true",c[b]instanceof n&&G(a,f),f||(f=o.createNode(b)),e?L(f,c,d):M(f,c),F(a,f)):(a[e?"filled":"stroked"]="false",G(a,f))},O=[[],[],[]],P=function(a,b){var c,d,e,g,h,i,j=f.M,k=f.C,l=f.L,m=f.A,n=f.Q,o=[];for(g=0;g<a.length;){switch(e=a[g++],d="",c=0,e){case j:d=" m ",c=1,h=a[g++],i=a[g++],O[0][0]=h,O[0][1]=i;break;case l:d=" l ",c=1,h=a[g++],i=a[g++],O[0][0]=h,O[0][1]=i;break;case n:case k:d=" c ",c=3;var r,u,x=a[g++],A=a[g++],B=a[g++],C=a[g++];e===n?(r=B,u=C,B=(B+2*x)/3,C=(C+2*A)/3,x=(h+2*x)/3,A=(i+2*A)/3):(r=a[g++],u=a[g++]),O[0][0]=x,O[0][1]=A,O[1][0]=B,O[1][1]=C,O[2][0]=r,O[2][1]=u,h=r,i=u;break;case m:var D=0,E=0,F=1,G=1,H=0;b&&(D=b[4],E=b[5],F=q(b[0]*b[0]+b[1]*b[1]),G=q(b[2]*b[2]+b[3]*b[3]),H=Math.atan2(-b[1]/G,b[0]/F));var I=a[g++],J=a[g++],K=a[g++],L=a[g++],M=a[g++]+H,N=a[g++]+M+H;g++;var P=a[g++],Q=I+s(M)*K,R=J+t(M)*L,x=I+s(N)*K,A=J+t(N)*L,S=P?" wa ":" at ";Math.abs(Q-x)<1e-10&&(Math.abs(N-M)>.01?P&&(Q+=270/y):Math.abs(R-J)<1e-10?P&&I>Q||!P&&Q>I?A-=270/y:A+=270/y:P&&J>R||!P&&R>J?x+=270/y:x-=270/y),o.push(S,p(((I-K)*F+D)*y-z),w,p(((J-L)*G+E)*y-z),w,p(((I+K)*F+D)*y-z),w,p(((J+L)*G+E)*y-z),w,p((Q*F+D)*y-z),w,p((R*G+E)*y-z),w,p((x*F+D)*y-z),w,p((A*G+E)*y-z)),h=x,i=A;break;case f.R:var T=O[0],U=O[1];T[0]=a[g++],T[1]=a[g++],U[0]=T[0]+a[g++],U[1]=T[1]+a[g++],b&&(v(T,T,b),v(U,U,b)),T[0]=p(T[0]*y-z),U[0]=p(U[0]*y-z),T[1]=p(T[1]*y-z),U[1]=p(U[1]*y-z),o.push(" m ",T[0],w,T[1]," l ",U[0],w,T[1]," l ",U[0],w,U[1]," l ",T[0],w,U[1]);break;case f.Z:o.push(" x ")}if(c>0){o.push(d);for(var V=0;c>V;V++){var W=O[V];b&&v(W,W,b),o.push(p(W[0]*y-z),w,p(W[1]*y-z),c-1>V?w:"")}}}return o.join("")};m.prototype.brushVML=function(a){var b=this.style,c=this._vmlEl;c||(c=o.createNode("shape"),C(c),this._vmlEl=c),N(c,"fill",b,this),N(c,"stroke",b,this);var d=this.transform,e=null!=d,f=c.getElementsByTagName("stroke")[0];if(f){var g=b.lineWidth;if(e&&!b.strokeNoScale){var h=d[0]*d[3]-d[1]*d[2];g*=q(r(h))}f.weight=g+"px"}var i=this.path;this.__dirtyPath&&(i.beginPath(),this.buildPath(i,this.shape),i.toStatic(),this.__dirtyPath=!1),c.path=P(i.data,this.transform),c.style.zIndex=H(this.zlevel,this.z,this.z2),F(a,c),b.text?this.drawRectText(a,this.getBoundingRect()):this.removeRectText(a)},m.prototype.onRemove=function(a){G(a,this._vmlEl),this.removeRectText(a)},m.prototype.onAdd=function(a){F(a,this._vmlEl),this.appendRectText(a)};var Q=function(a){return"object"==typeof a&&a.tagName&&"IMG"===a.tagName.toUpperCase()};k.prototype.brushVML=function(a){var b,c,d=this.style,e=d.image;if(Q(e)){var f=e.src;if(f===this._imageSrc)b=this._imageWidth,c=this._imageHeight;else{var g=e.runtimeStyle,h=g.width,i=g.height;g.width="auto",g.height="auto",b=e.width,c=e.height,g.width=h,g.height=i,this._imageSrc=f,this._imageWidth=b,this._imageHeight=c}e=f}else e===this._imageSrc&&(b=this._imageWidth,c=this._imageHeight);if(e){var j=d.x||0,k=d.y||0,l=d.width,m=d.height,n=d.sWidth,r=d.sHeight,s=d.sx||0,t=d.sy||0,y=n&&r,z=this._vmlEl;z||(z=o.doc.createElement("div"),C(z),this._vmlEl=z);var A,B=z.style,D=!1,E=1,G=1;if(this.transform&&(A=this.transform,E=q(A[0]*A[0]+A[1]*A[1]),G=q(A[2]*A[2]+A[3]*A[3]),D=A[1]||A[2]),D){var I=[j,k],J=[j+l,k],K=[j,k+m],L=[j+l,k+m];v(I,I,A),v(J,J,A),v(K,K,A),v(L,L,A);var M=u(I[0],J[0],K[0],L[0]),N=u(I[1],J[1],K[1],L[1]),O=[];O.push("M11=",A[0]/E,w,"M12=",A[2]/G,w,"M21=",A[1]/E,w,"M22=",A[3]/G,w,"Dx=",p(j*E+A[4]),w,"Dy=",p(k*G+A[5])),B.padding="0 "+p(M)+"px "+p(N)+"px 0",B.filter=x+".Matrix("+O.join("")+", SizingMethod=clip)"}else A&&(j=j*E+A[4],k=k*G+A[5]),B.filter="",B.left=p(j)+"px",B.top=p(k)+"px";var P=this._imageEl,R=this._cropEl;P||(P=o.doc.createElement("div"),this._imageEl=P);var S=P.style;if(y){if(b&&c)S.width=p(E*b*l/n)+"px",S.height=p(G*c*m/r)+"px";else{var T=new Image,U=this;T.onload=function(){T.onload=null,b=T.width,c=T.height,S.width=p(E*b*l/n)+"px",S.height=p(G*c*m/r)+"px",U._imageWidth=b,U._imageHeight=c,U._imageSrc=e},T.src=e}R||(R=o.doc.createElement("div"),R.style.overflow="hidden",this._cropEl=R);var V=R.style;V.width=p((l+s*l/n)*E),V.height=p((m+t*m/r)*G),V.filter=x+".Matrix(Dx="+-s*l/n*E+",Dy="+-t*m/r*G+")",R.parentNode||z.appendChild(R),P.parentNode!=R&&R.appendChild(P)}else S.width=p(E*l)+"px",S.height=p(G*m)+"px",z.appendChild(P),R&&R.parentNode&&(z.removeChild(R),this._cropEl=null);var W="",X=d.opacity;1>X&&(W+=".Alpha(opacity="+p(100*X)+") "),W+=x+".AlphaImageLoader(src="+e+", SizingMethod=scale)",S.filter=W,z.style.zIndex=H(this.zlevel,this.z,this.z2),F(a,z),d.text&&this.drawRectText(a,this.getBoundingRect())}},k.prototype.onRemove=function(a){G(a,this._vmlEl),this._vmlEl=null,this._cropEl=null,this._imageEl=null,this.removeRectText(a)},k.prototype.onAdd=function(a){F(a,this._vmlEl),this.appendRectText(a)};var R,S="normal",T={},U=0,V=100,W=document.createElement("div"),X=function(a){var b=T[a];if(!b){U>V&&(U=0,T={});var c,d=W.style;try{d.font=a,c=d.fontFamily.split(",")[0]}catch(e){}b={style:d.fontStyle||S,variant:d.fontVariant||S,weight:d.fontWeight||S,size:0|parseFloat(d.fontSize||12),family:c||"Microsoft YaHei"},T[a]=b,U++}return b};h.measureText=function(a,b){var c=o.doc;R||(R=c.createElement("div"),R.style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",o.doc.body.appendChild(R));try{R.style.font=b}catch(d){}return R.innerHTML="",R.appendChild(c.createTextNode(a)),{width:R.offsetWidth}};for(var Y=new e,Z=function(a,b,c,d){var e=this.style,f=e.text;if(f){var g,i,j=e.textAlign,k=X(e.textFont),l=k.style+" "+k.variant+" "+k.weight+" "+k.size+'px "'+k.family+'"',m=e.textBaseline,n=e.textVerticalAlign;c=c||h.getBoundingRect(f,l,j,m);var q=this.transform;if(q&&!d&&(Y.copy(b),Y.applyTransform(q),b=Y),d)g=b.x,i=b.y;else{var r=e.textPosition,s=e.textDistance;if(r instanceof Array)g=b.x+I(r[0],b.width),i=b.y+I(r[1],b.height),j=j||"left",m=m||"top";else{var t=h.adjustTextPositionOnRect(r,b,c,s);g=t.x,i=t.y,j=j||t.textAlign,m=m||t.textBaseline}}if(n){switch(n){case"middle":i-=c.height/2;break;case"bottom":i-=c.height}m="top"}var u=k.size;switch(m){case"hanging":case"top":i+=u/1.75;break;case"middle":break;default:i-=u/2.25}switch(j){case"left":break;case"center":g-=c.width/2;break;case"right":g-=c.width}var x,y,z,A=o.createNode,B=this._textVmlEl;B?(z=B.firstChild,x=z.nextSibling,y=x.nextSibling):(B=A("line"),x=A("path"),y=A("textpath"),z=A("skew"),y.style["v-text-align"]="left",C(B),x.textpathok=!0,y.on=!0,B.from="0 0",B.to="1000 0.05",F(B,z),F(B,x),F(B,y),this._textVmlEl=B);var E=[g,i],G=B.style;q&&d?(v(E,E,q),z.on=!0,z.matrix=q[0].toFixed(3)+w+q[2].toFixed(3)+w+q[1].toFixed(3)+w+q[3].toFixed(3)+",0,0",z.offset=(p(E[0])||0)+","+(p(E[1])||0),z.origin="0 0",G.left="0px",G.top="0px"):(z.on=!1,G.left=p(g)+"px",G.top=p(i)+"px"),y.string=D(f);try{y.style.font=l}catch(J){}N(B,"fill",{fill:d?e.fill:e.textFill,opacity:e.opacity},this),N(B,"stroke",{stroke:d?e.stroke:e.textStroke,opacity:e.opacity,lineDash:e.lineDash},this),B.style.zIndex=H(this.zlevel,this.z,this.z2),
+F(a,B)}},$=function(a){G(a,this._textVmlEl),this._textVmlEl=null},_=function(a){F(a,this._textVmlEl)},aa=[i,j,k,m,l],ba=0;ba<aa.length;ba++){var ca=aa[ba].prototype;ca.drawRectText=Z,ca.removeRectText=$,ca.appendRectText=_}l.prototype.brushVML=function(a){var b=this.style;b.text?this.drawRectText(a,{x:b.x||0,y:b.y||0,width:0,height:0},this.getBoundingRect(),!0):this.removeRectText(a)},l.prototype.onRemove=function(a){this.removeRectText(a)},l.prototype.onAdd=function(a){this.appendRectText(a)}}},function(a,b,c){c(218),c(76).registerPainter("vml",c(217))},function(a,b,c){var d=c(1),e=c(221),f=c(2);f.registerAction({type:"geoRoam",event:"geoRoam",update:"updateLayout"},function(a,b){var c=a.componentType||"series";b.eachComponent({mainType:c,query:a},function(b){var f=b.coordinateSystem;if("geo"===f.type){var g=e.updateCenterAndZoom(f,a,b.get("scaleLimit"));b.setCenter&&b.setCenter(g.center),b.setZoom&&b.setZoom(g.zoom),"series"===c&&d.each(b.seriesGroup,function(a){a.setCenter(g.center),a.setZoom(g.zoom)})}})})},function(a,b){var c={};c.updateCenterAndZoom=function(a,b,c){var d=a.getZoom(),e=a.getCenter(),f=b.zoom,g=a.dataToPoint(e);if(null!=b.dx&&null!=b.dy){g[0]-=b.dx,g[1]-=b.dy;var e=a.pointToData(g);a.setCenter(e)}if(null!=f){if(c){var h=c.min||0,i=c.max||1/0;f=Math.max(Math.min(d*f,i),h)/d}a.scale[0]*=f,a.scale[1]*=f;var j=a.position,k=(b.originX-j[0])*(f-1),l=(b.originY-j[1])*(f-1);j[0]-=k,j[1]-=l,a.updateTransform();var e=a.pointToData(g);a.setCenter(e),a.setZoom(f*d)}return{center:a.getCenter(),zoom:a.getZoom()}},a.exports=c},function(a,b,c){var d=c(5);a.exports=function(a){var b=a.coordinateSystem;if(!b||"view"===b.type){var c=b.getBoundingRect(),e=a.getData(),f=e.graph,g=0,h=e.getSum("value"),i=2*Math.PI/(h||e.count()),j=c.width/2+c.x,k=c.height/2+c.y,l=Math.min(c.width,c.height)/2;f.eachNode(function(a){var b=a.getValue("value");g+=i*(h?b:2)/2,a.setLayout([l*Math.cos(g)+j,l*Math.sin(g)+k]),g+=i*(h?b:2)/2}),e.setLayout({cx:j,cy:k}),f.eachEdge(function(a){var b,c=a.getModel().get("lineStyle.normal.curveness")||0,e=d.clone(a.node1.getLayout()),f=d.clone(a.node2.getLayout()),g=(e[0]+f[0])/2,h=(e[1]+f[1])/2;+c&&(c*=3,b=[j*c+g*(1-c),k*c+h*(1-c)]),a.setLayout([e,f,b])})}}},function(a,b,c){var d=c(5);a.exports=function(a){a.eachEdge(function(a){var b=a.getModel().get("lineStyle.normal.curveness")||0,c=d.clone(a.node1.getLayout()),e=d.clone(a.node2.getLayout()),f=[c,e];+b&&f.push([(c[0]+e[0])/2-(c[1]-e[1])*b,(c[1]+e[1])/2-(e[0]-c[0])*b]),a.setLayout(f)})}},function(a,b,c){var d=c(223);a.exports=function(a){var b=a.coordinateSystem;if(!b||"view"===b.type){var c=a.getGraph();c.eachNode(function(a){var b=a.getModel();a.setLayout([+b.get("x"),+b.get("y")])}),d(c)}}},function(a,b,c){function d(a,b,c){e.Group.call(this),this.add(this.createLine(a,b,c)),this._updateEffectSymbol(a,b)}var e=c(3),f=c(92),g=c(1),h=c(26),i=c(5),j=c(17),k=d.prototype;k.createLine=function(a,b,c){return new f(a,b,c)},k._updateEffectSymbol=function(a,b){var c=a.getItemModel(b),d=c.getModel("effect"),e=d.get("symbolSize"),f=d.get("symbol");g.isArray(e)||(e=[e,e]);var i=d.get("color")||a.getItemVisual(b,"color"),j=this.childAt(1);this._symbolType!==f&&(this.remove(j),j=h.createSymbol(f,-.5,-.5,1,1,i),j.z2=100,j.culling=!0,this.add(j)),j&&(j.setStyle("shadowColor",i),j.setStyle(d.getItemStyle(["color"])),j.attr("scale",e),j.setColor(i),j.attr("scale",e),this._symbolType=f,this._updateEffectAnimation(a,d,b))},k._updateEffectAnimation=function(a,b,c){var d=this.childAt(1);if(d){var e=this,f=a.getItemLayout(c),g=1e3*b.get("period"),h=b.get("loop"),i=b.get("constantSpeed"),j=b.get("delay")||function(b){return b/a.count()*g/3},k="function"==typeof j;if(d.ignore=!0,this.updateAnimationPoints(d,f),i>0&&(g=this.getLineLength(d)/i*1e3),g!==this._period||h!==this._loop){d.stopAnimation();var l=j;k&&(l=j(c)),d.__t>0&&(l=-g*d.__t),d.__t=0;var m=d.animate("",h).when(g,{__t:1}).delay(l).during(function(){e.updateSymbolPosition(d)});h||m.done(function(){e.remove(d)}),m.start()}this._period=g,this._loop=h}},k.getLineLength=function(a){return i.dist(a.__p1,a.__cp1)+i.dist(a.__cp1,a.__p2)},k.updateAnimationPoints=function(a,b){a.__p1=b[0],a.__p2=b[1],a.__cp1=b[2]||[(b[0][0]+b[1][0])/2,(b[0][1]+b[1][1])/2]},k.updateData=function(a,b,c){this.childAt(0).updateData(a,b,c),this._updateEffectSymbol(a,b)},k.updateSymbolPosition=function(a){var b=a.__p1,c=a.__p2,d=a.__cp1,e=a.__t,f=a.position,g=j.quadraticAt,h=j.quadraticDerivativeAt;f[0]=g(b[0],d[0],c[0],e),f[1]=g(b[1],d[1],c[1],e);var i=h(b[0],d[0],c[0],e),k=h(b[1],d[1],c[1],e);a.rotation=-Math.atan2(k,i)-Math.PI/2,a.ignore=!1},k.updateLayout=function(a,b){this.childAt(0).updateLayout(a,b);var c=a.getItemModel(b).getModel("effect");this._updateEffectAnimation(a,c,b)},g.inherits(d,e.Group),a.exports=d},function(a,b,c){function d(a,b,c){e.Group.call(this),this._createPolyline(a,b,c)}var e=c(3),f=c(1),g=d.prototype;g._createPolyline=function(a,b,c){var d=a.getItemLayout(b),f=new e.Polyline({shape:{points:d}});this.add(f),this._updateCommonStl(a,b,c)},g.updateData=function(a,b,c){var d=a.hostModel,f=this.childAt(0),g={shape:{points:a.getItemLayout(b)}};e.updateProps(f,g,d,b),this._updateCommonStl(a,b,c)},g._updateCommonStl=function(a,b,c){var d=this.childAt(0),g=a.getItemModel(b),h=a.getItemVisual(b,"color"),i=c&&c.lineStyle,j=c&&c.hoverLineStyle;c&&!a.hasItemOption||(i=g.getModel("lineStyle.normal").getLineStyle(),j=g.getModel("lineStyle.emphasis").getLineStyle()),d.useStyle(f.defaults({strokeNoScale:!0,fill:"none",stroke:h},i)),d.hoverStyle=j,e.setHoverStyle(this)},g.updateLayout=function(a,b){var c=this.childAt(0);c.setShape("points",a.getItemLayout(b))},f.inherits(d,e.Group),a.exports=d},function(a,b,c){var d=c(14),e=c(378),f=c(240),g=c(30),h=c(23),i=c(1),j=c(35);a.exports=function(a,b,c,k,l){for(var m=new e(k),n=0;n<a.length;n++)m.addNode(i.retrieve(a[n].id,a[n].name,n),n);for(var o=[],p=[],q=0,n=0;n<b.length;n++){var r=b[n],s=r.source,t=r.target;m.addEdge(s,t,q)&&(p.push(r),o.push(i.retrieve(r.id,s+" > "+t)),q++)}var u,v=c.get("coordinateSystem");if("cartesian2d"===v||"polar"===v)u=j(a,c,c.ecModel);else{var w=h.get(v),x=g((w&&"view"!==w.type?w.dimensions||[]:[]).concat(["value"]),a);u=new d(x,c),u.initData(a)}var y=new d(["value"],c);return y.initData(p,o),l&&l(u,y),f({mainData:u,struct:m,structAttr:"graph",datas:{node:u,edge:y},datasAttr:{node:"data",edge:"edgeData"}}),m.update(),m}},function(a,b,c){function d(a,b){var c=a.getItemStyle(),d=a.get("areaColor");return d&&(c.fill=d),c}function e(a,b,c,d){b.off("click"),a.get("selectedMode")&&b.on("click",function(e){for(var g=e.target;!g.__region;)g=g.parent;if(g){var h=g.__region,i={type:("geo"===a.mainType?"geo":"map")+"ToggleSelect",name:h.name,from:d.uid};i[a.mainType+"Id"]=a.id,c.dispatchAction(i),f(a,b)}})}function f(a,b){b.eachChild(function(b){b.__region&&b.trigger(a.isSelected(b.__region.name)?"emphasis":"normal")})}function g(a,b){var c=new i.Group;this._controller=new h(a.getZr(),b?c:null,null),this.group=c,this._updateGroup=b}var h=c(78),i=c(3),j=c(1);g.prototype={constructor:g,draw:function(a,b,c,g,h){var k=a.getData&&a.getData(),l=a.coordinateSystem,m=this.group,n=l.scale,o={position:l.position,scale:n};!m.childAt(0)||h?m.attr(o):i.updateProps(m,o,a),m.removeAll();var p=["itemStyle","normal"],q=["itemStyle","emphasis"],r=["label","normal"],s=["label","emphasis"];j.each(l.regions,function(b){var c=new i.Group,e=new i.CompoundPath({shape:{paths:[]}});c.add(e);var f,g=a.getRegionModel(b.name)||a,h=g.getModel(p),l=g.getModel(q),o=d(h,n),t=d(l,n),u=g.getModel(r),v=g.getModel(s);if(k){f=k.indexOfName(b.name);var w=k.getItemVisual(f,"color",!0);w&&(o.fill=w)}var x=u.getModel("textStyle"),y=v.getModel("textStyle");j.each(b.contours,function(a){var b=new i.Polygon({shape:{points:a}});e.shape.paths.push(b)}),e.setStyle(o),e.style.strokeNoScale=!0,e.culling=!0;var z=u.get("show"),A=v.get("show"),B=k&&isNaN(k.get("value",f)),C=k&&k.getItemLayout(f);if(!k||B&&(z||A)||C&&C.showLabel){var D=k?f:b.name,E=a.getFormattedLabel(D,"normal"),F=a.getFormattedLabel(D,"emphasis"),G=new i.Text({style:{text:z?E||b.name:"",fill:x.getTextColor(),textFont:x.getFont(),textAlign:"center",textVerticalAlign:"middle"},hoverStyle:{text:A?F||b.name:"",fill:y.getTextColor(),textFont:y.getFont()},position:b.center.slice(),scale:[1/n[0],1/n[1]],z2:10,silent:!0});c.add(G)}if(k)k.setItemGraphicEl(f,c);else{var g=a.getRegionModel(b.name);e.eventData={componentType:"geo",geoIndex:a.componentIndex,name:b.name,region:g&&g.option||{}}}c.__region=b,i.setHoverStyle(c,t),m.add(c)}),this._updateController(a,b,c),e(a,m,c,g),f(a,m)},remove:function(){this.group.removeAll(),this._controller.dispose()},_updateController:function(a,b,c){function d(){var b={type:"geoRoam",componentType:g};return b[g+"Id"]=a.id,b}var e=a.coordinateSystem,f=this._controller;f.zoomLimit=a.get("scaleLimit"),f.zoom=e.getZoom(),f.enable(a.get("roam")||!1);var g=a.mainType;f.off("pan").on("pan",function(a,b){c.dispatchAction(j.extend(d(),{dx:a,dy:b}))}),f.off("zoom").on("zoom",function(a,b,e){if(c.dispatchAction(j.extend(d(),{zoom:a,originX:b,originY:e})),this._updateGroup){var f=this.group,g=f.scale;f.traverse(function(a){"text"===a.type&&a.attr("scale",[1/g[0],1/g[1]])})}},this),f.rectProvider=function(){return e.getViewRectAfterRoam()}}},a.exports=g},function(a,b,c){c(239),c(364),c(332);var d=c(2),e=c(1),f=5;d.extendComponentView({type:"parallel",render:function(a,b,c){var d=c.getZr();if(!this.__onMouseDown){var g;d.on("mousedown",this.__onMouseDown=function(a){g=[a.offsetX,a.offsetY]}),d.on("mouseup",this.__onMouseUp=function(b){var d=[b.offsetX,b.offsetY],h=Math.pow(g[0]-d[0],2)+Math.pow(g[1]-d[1],2);if(a.get("axisExpandable")&&!(h>f)){var i=a.coordinateSystem,j=i.findClosestAxisDim(d);if(j){var k=e.indexOf(i.dimensions,j);c.dispatchAction({type:"parallelAxisExpand",axisExpandCenter:k})}}})}},dispose:function(a,b){b.getZr().off(this.__onMouseDown),b.getZr().off(this.__onMouseUp)}}),d.registerPreprocessor(c(365))},function(a,b,c){var d=c(2),e=c(1),f=c(12),g=c(382),h=c(71),i=c(172),j=h.mapVisual,k=c(11),l=h.eachVisual,m=c(4),n=e.isArray,o=e.each,p=m.asc,q=m.linearMap,r=e.noop,s=["#f6efa6","#d88273","#bf444c"],t=d.extendComponentModel({type:"visualMap",dependencies:["series"],stateList:["inRange","outOfRange"],replacableOptionKeys:["inRange","outOfRange","target","controller","color"],dataBound:[-(1/0),1/0],layoutMode:{type:"box",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:null,min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:"#333"}},init:function(a,b,c){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(a,c)},optionUpdated:function(a,b){var c=this.option;f.canvasSupported||(c.realtime=!1),!b&&i.replaceVisualOption(c,a,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(a){var b=this.stateList;a=e.bind(a,this),this.controllerVisuals=i.createVisualMappings(this.option.controller,b,a),this.targetVisuals=i.createVisualMappings(this.option.target,b,a)},resetTargetSeries:function(){var a=this.option,b=null==a.seriesIndex;a.seriesIndex=b?[]:k.normalizeToArray(a.seriesIndex),b&&this.ecModel.eachSeries(function(b,c){a.seriesIndex.push(c)})},eachTargetSeries:function(a,b){e.each(this.option.seriesIndex,function(c){a.call(b,this.ecModel.getSeriesByIndex(c))},this)},isTargetSeries:function(a){var b=!1;return this.eachTargetSeries(function(c){c===a&&(b=!0)}),b},formatValueText:function(a,b,c){function d(a){return a===j[0]?"min":a===j[1]?"max":(+a).toFixed(i)}var f,g,h=this.option,i=h.precision,j=this.dataBound,k=h.formatter;return c=c||["<",">"],e.isArray(a)&&(a=a.slice(),f=!0),g=b?a:f?[d(a[0]),d(a[1])]:d(a),e.isString(k)?k.replace("{value}",f?g[0]:g).replace("{value2}",f?g[1]:g):e.isFunction(k)?f?k(a[0],a[1]):k(a):f?a[0]===j[0]?c[0]+" "+g[1]:a[1]===j[1]?c[1]+" "+g[0]:g[0]+" - "+g[1]:g},resetExtent:function(){var a=this.option,b=p([a.min,a.max]);this._dataExtent=b},getDataDimension:function(a){var b=this.option.dimension;return null!=b?b:a.dimensions.length-1},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){function a(a){n(d.color)&&!a.inRange&&(a.inRange={color:d.color.slice().reverse()}),a.inRange=a.inRange||{color:s},o(this.stateList,function(b){var c=a[b];if(e.isString(c)){var d=g.get(c,"active",m);d?(a[b]={},a[b][c]=d):delete a[b]}},this)}function b(a,b,c){var d=a[b],e=a[c];d&&!e&&(e=a[c]={},o(d,function(a,b){if(h.isValidType(b)){var c=g.get(b,"inactive",m);null!=c&&(e[b]=c,"color"!==b||e.hasOwnProperty("opacity")||e.hasOwnProperty("colorAlpha")||(e.opacity=[0,0]))}}))}function c(a){var b=(a.inRange||{}).symbol||(a.outOfRange||{}).symbol,c=(a.inRange||{}).symbolSize||(a.outOfRange||{}).symbolSize,d=this.get("inactiveColor");o(this.stateList,function(f){var g=this.itemSize,h=a[f];h||(h=a[f]={color:m?d:[d]}),null==h.symbol&&(h.symbol=b&&e.clone(b)||(m?"roundRect":["roundRect"])),null==h.symbolSize&&(h.symbolSize=c&&e.clone(c)||(m?g[0]:[g[0],g[0]])),h.symbol=j(h.symbol,function(a){return"none"===a||"square"===a?"roundRect":a});var i=h.symbolSize;if(null!=i){var k=-(1/0);l(i,function(a){a>k&&(k=a)}),h.symbolSize=j(i,function(a){return q(a,[0,k],[0,g[0]],!0)})}},this)}var d=this.option,f={inRange:d.inRange,outOfRange:d.outOfRange},i=d.target||(d.target={}),k=d.controller||(d.controller={});e.merge(i,f),e.merge(k,f);var m=this.isCategory();a.call(this,i),a.call(this,k),b.call(this,i,"inRange","outOfRange"),c.call(this,k)},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this.option.categories},setSelected:r,getValueState:r});a.exports=t},function(a,b,c){var d=c(1),e=c(3),f=c(8),g=c(13),h=c(2),i=c(71);a.exports=h.extendComponentView({type:"visualMap",autoPositionValues:{left:1,right:1,top:1,bottom:1},init:function(a,b){this.ecModel=a,this.api=b,this.visualMapModel},render:function(a,b,c,d){return this.visualMapModel=a,a.get("show")===!1?void this.group.removeAll():void this.doRender.apply(this,arguments)},renderBackground:function(a){var b=this.visualMapModel,c=f.normalizeCssArray(b.get("padding")||0),d=a.getBoundingRect();a.add(new e.Rect({z2:-1,silent:!0,shape:{x:d.x-c[3],y:d.y-c[0],width:d.width+c[3]+c[1],height:d.height+c[0]+c[2]},style:{fill:b.get("backgroundColor"),stroke:b.get("borderColor"),lineWidth:b.get("borderWidth")}}))},getControllerVisual:function(a,b,c){function e(a){return j[a]}function f(a,b){j[a]=b}c=c||{};var g=c.forceState,h=this.visualMapModel,j={};if("symbol"===b&&(j.symbol=h.get("itemSymbol")),"color"===b){var k=h.get("contentColor");j.color=k}var l=h.controllerVisuals[g||h.getValueState(a)],m=i.prepareVisualTypes(l);return d.each(m,function(d){var g=l[d];c.convertOpacityToAlpha&&"opacity"===d&&(d="colorAlpha",g=l.__alphaForOpacity),i.dependsOn(d,b)&&g&&g.applyVisual(a,e,f)}),j[b]},positionGroup:function(a){var b=this.visualMapModel,c=this.api;g.positionGroup(a,b.getBoxLayoutParams(),{width:c.getWidth(),height:c.getHeight()})},doRender:d.noop})},function(a,b,c){var d=c(13),e={getItemAlign:function(a,b,c){var e=a.option,f=e.align;if(null!=f&&"auto"!==f)return f;for(var g={width:b.getWidth(),height:b.getHeight()},h="horizontal"===e.orient?1:0,i=[["left","right","width"],["top","bottom","height"]],j=i[h],k=[0,null,10],l={},m=0;3>m;m++)l[i[1-h][m]]=k[m],l[j[m]]=2===m?c[0]:e[j[m]];var n=[["x","width",3],["y","height",0]][h],o=d.getLayoutRect(l,g,e.padding);return j[(o.margin[n[2]]||0)+o[n[0]]+.5*o[n[1]]<.5*g[n[1]]?0:1]}};a.exports=e},function(a,b,c){function d(a,b){return a&&a.hasOwnProperty&&a.hasOwnProperty(b)}var e=c(1),f=e.each;a.exports=function(a){var b=a&&a.visualMap;e.isArray(b)||(b=b?[b]:[]),f(b,function(a){if(a){d(a,"splitList")&&!d(a,"pieces")&&(a.pieces=a.splitList,delete a.splitList);var b=a.pieces;b&&e.isArray(b)&&f(b,function(a){e.isObject(a)&&(d(a,"start")&&!d(a,"min")&&(a.min=a.start),d(a,"end")&&!d(a,"max")&&(a.max=a.end))})}})}},function(a,b,c){c(10).registerSubTypeDefaulter("visualMap",function(a){return a.categories||(a.pieces?a.pieces.length>0:a.splitNumber>0)&&!a.calculable?"piecewise":"continuous"})},function(a,b,c){function d(a,b){a.eachTargetSeries(function(b){var c=b.getData();h.applyVisual(a.stateList,a.targetVisuals,c,a.getValueState,a,a.getDataDimension(c))})}function e(a){a.eachSeries(function(b){var c=b.getData(),d=[];a.eachComponent("visualMap",function(a){if(a.isTargetSeries(b)){var e={};d.push(e),e.stops=a.getStops(b,f),e.dimension=a.getDataDimension(c)}}),b.getData().setVisual("visualMeta",d)})}function f(a,b,c){function d(a){return h[a]}function e(a,b){h[a]=b}for(var f=a.targetVisuals[c],g=i.prepareVisualTypes(f),h={},j=0,k=g.length;k>j;j++){var l=g[j],m=f["colorAlpha"===l?"__alphaForOpacity":l];m&&m.applyVisual(b,d,e)}return h.color}var g=c(2),h=c(172),i=c(71);g.registerVisual(g.PRIORITY.VISUAL.COMPONENT,function(a){a.eachComponent("visualMap",function(b){d(b,a)}),e(a)})},function(a,b,c){var d=c(2),e={type:"selectDataRange",event:"dataRangeSelected",update:"update"};d.registerAction(e,function(a,b){b.eachComponent({mainType:"visualMap",query:a},function(b){b.setSelected(a.selected)})})},function(a,b,c){function d(){h.call(this)}function e(a){this.name=a,this.zoomLimit,h.call(this),this._roamTransform=new d,this._viewTransform=new d,this._center,this._zoom}var f=c(5),g=c(19),h=c(86),i=c(1),j=c(7),k=f.applyTransform;i.mixin(d,h),e.prototype={constructor:e,type:"view",dimensions:["x","y"],setBoundingRect:function(a,b,c,d){return this._rect=new j(a,b,c,d),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(a,b,c,d){c=c,d=d,this.transformTo(a,b,c,d),this._viewRect=new j(a,b,c,d)},transformTo:function(a,b,c,d){var e=this.getBoundingRect(),f=this._viewTransform;f.transform=e.calculateTransform(new j(a,b,c,d)),f.decomposeTransform(),this._updateTransform()},setCenter:function(a){a&&(this._center=a,this._updateCenterAndZoom())},setZoom:function(a){a=a||1;var b=this.zoomLimit;b&&(null!=b.max&&(a=Math.min(b.max,a)),null!=b.min&&(a=Math.max(b.min,a))),this._zoom=a,this._updateCenterAndZoom()},getDefaultCenter:function(){var a=this.getBoundingRect(),b=a.x+a.width/2,c=a.y+a.height/2;return[b,c]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransform},_updateCenterAndZoom:function(){var a=this._viewTransform.getLocalTransform(),b=this._roamTransform,c=this.getDefaultCenter(),d=this.getCenter(),e=this.getZoom();d=f.applyTransform([],d,a),c=f.applyTransform([],c,a),b.origin=d,b.position=[c[0]-d[0],c[1]-d[1]],b.scale=[e,e],this._updateTransform()},_updateTransform:function(){var a=this._roamTransform,b=this._viewTransform;b.parent=a,a.updateTransform(),b.updateTransform(),b.transform&&g.copy(this.transform||(this.transform=[]),b.transform),this.transform?(this.invTransform=this.invTransform||[],g.invert(this.invTransform,this.transform)):this.invTransform=null,this.decomposeTransform()},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var a=this.getBoundingRect().clone();return a.applyTransform(this.transform),a},dataToPoint:function(a){var b=this.transform;return b?k([],a,b):[a[0],a[1]]},pointToData:function(a){var b=this.invTransform;return b?k([],a,b):[a[0],a[1]]}},i.mixin(e,h),a.exports=e},function(a,b,c){function d(a,b,c){if(this.name=a,this.contours=b,c)c=[c[0],c[1]];else{var d=this.getBoundingRect();c=[d.x+d.width/2,d.y+d.height/2]}this.center=c}var e=c(241),f=c(7),g=c(73),h=c(5);d.prototype={constructor:d,getBoundingRect:function(){var a=this._rect;if(a)return a;for(var b=Number.MAX_VALUE,c=[b,b],d=[-b,-b],e=[],i=[],j=this.contours,k=0;k<j.length;k++)g.fromPoints(j[k],e,i),h.min(c,c,e),h.max(d,d,i);return 0===k&&(c[0]=c[1]=d[0]=d[1]=0),this._rect=new f(c[0],c[1],d[0]-c[0],d[1]-c[1])},contain:function(a){var b=this.getBoundingRect(),c=this.contours;if(b.contain(a[0],a[1]))for(var d=0,f=c.length;f>d;d++)if(e.contain(c[d],a[0],a[1]))return!0;return!1},transformTo:function(a,b,c,d){var e=this.getBoundingRect(),g=e.width/e.height;c?d||(d=c/g):c=g*d;for(var i=new f(a,b,c,d),j=e.calculateTransform(i),k=this.contours,l=0;l<k.length;l++)for(var m=0;m<k[l].length;m++)h.applyTransform(k[l][m],k[l][m],j);e=this._rect,e.copy(i),this.center=[e.x+e.width/2,e.y+e.height/2]}},a.exports=d},function(a,b,c){function d(a,b){var c=[];return a.eachComponent("parallel",function(d,f){var g=new e(d,a,b);g.name="parallel_"+f,g.resize(d,b),d.coordinateSystem=g,g.model=d,c.push(g)}),a.eachSeries(function(b){if("parallel"===b.get("coordinateSystem")){var c=a.queryComponents({mainType:"parallel",index:b.get("parallelIndex"),id:b.get("parallelId")})[0];b.coordinateSystem=c.coordinateSystem}}),c}var e=c(362);c(23).register("parallel",{create:d})},function(a,b,c){function d(a){var b=a.mainData,c=a.datas;c||(c={main:b},a.datasAttr={main:"data"}),a.datas=a.mainData=null,j(b,c,a),m(c,function(c){m(b.TRANSFERABLE_METHODS,function(b){c.wrapMethod(b,l.curry(e,a))})}),b.wrapMethod("cloneShallow",l.curry(g,a)),m(b.CHANGABLE_METHODS,function(c){b.wrapMethod(c,l.curry(f,a))}),l.assert(c[b.dataType]===b)}function e(a,b){if(i(this)){var c=l.extend({},this[n]);c[this.dataType]=b,j(b,c,a)}else k(b,this.dataType,this[o],a);return b}function f(a,b){return a.struct&&a.struct.update(this),b}function g(a,b){return m(b[n],function(c,d){c!==b&&k(c.cloneShallow(),d,b,a)}),b}function h(a){var b=this[o];return null==a||null==b?b:b[n][a]}function i(a){return a[o]===a}function j(a,b,c){a[n]={},m(b,function(b,d){k(b,d,a,c)})}function k(a,b,c,d){c[n][b]=a,a[o]=c,a.dataType=b,d.struct&&(a[d.structAttr]=d.struct,d.struct[d.datasAttr[b]]=a),a.getLinkedData=h}var l=c(1),m=l.each,n="\0__link_datas",o="\0__link_mainData";a.exports=d},function(a,b,c){function d(a,b){return Math.abs(a-b)<g}function e(a,b,c){var e=0,g=a[0];if(!g)return!1;for(var h=1;h<a.length;h++){var i=a[h];e+=f(g[0],g[1],i[0],i[1],b,c),g=i}var j=a[0];return d(g[0],j[0])&&d(g[1],j[1])||(e+=f(g[0],g[1],j[0],j[1],b,c)),0!==e}var f=c(84),g=1e-8;a.exports={contain:e}},function(a,b,c){var d=c(2);c(243),c(244),d.registerVisual(c(246)),d.registerLayout(c(245))},function(a,b,c){"use strict";var d=c(1),e=c(15),f=c(169),g=e.extend({type:"series.boxplot",dependencies:["xAxis","yAxis","grid"],valueDimensions:["min","Q1","median","Q3","max"],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{normal:{color:"#fff",borderWidth:1},emphasis:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:"rgba(0,0,0,0.4)"}},animationEasing:"elasticOut",animationDuration:800}});d.mixin(g,f.seriesModelMixin,!0),a.exports=g},function(a,b,c){"use strict";function d(a,b,c){var d=b.getItemModel(c),e=d.getModel(j),f=b.getItemVisual(c,"color"),h=e.getItemStyle(["borderColor"]),i=a.childAt(a.whiskerIndex);i.style.set(h),i.style.stroke=f,i.dirty();var l=a.childAt(a.bodyIndex);l.style.set(h),l.style.stroke=f,l.dirty();var m=d.getModel(k).getItemStyle();g.setHoverStyle(a,m)}var e=c(1),f=c(27),g=c(3),h=c(169),i=f.extend({type:"boxplot",getStyleUpdater:function(){return d}});e.mixin(i,h.viewMixin,!0);var j=["itemStyle","normal"],k=["itemStyle","emphasis"];a.exports=i},function(a,b,c){function d(a){var b=[],c=[];return a.eachSeriesByType("boxplot",function(a){var d=a.getBaseAxis(),e=g.indexOf(c,d);0>e&&(e=c.length,c[e]=d,b[e]={axis:d,seriesModels:[]}),b[e].seriesModels.push(a)}),b}function e(a){var b,c,d=a.axis,e=a.seriesModels,f=e.length,h=a.boxWidthList=[],k=a.boxOffsetList=[],l=[];if("category"===d.type)c=d.getBandWidth();else{var m=0;j(e,function(a){m=Math.max(m,a.getData().count())}),b=d.getExtent(),Math.abs(b[1]-b[0])/m}j(e,function(a){var b=a.get("boxWidth");g.isArray(b)||(b=[b,b]),l.push([i(b[0],c)||0,i(b[1],c)||0])});var n=.8*c-2,o=n/f*.3,p=(n-o*(f-1))/f,q=p/2-n/2;j(e,function(a,b){k.push(q),q+=o+p,h.push(Math.min(Math.max(p,l[b][0]),l[b][1]))})}function f(a,b,c){var d=a.coordinateSystem,e=a.getData(),f=a.dimensions,g=a.get("layout"),h=c/2;e.each(f,function(){function a(a){var c=[];c[n]=l,c[o]=a;var e;return isNaN(l)||isNaN(a)?e=[NaN,NaN]:(e=d.dataToPoint(c),e[n]+=b),e}function c(a,b){var c=a.slice(),d=a.slice();c[n]+=h,d[n]-=h,b?t.push(c,d):t.push(d,c)}function i(a){var b=[a.slice(),a.slice()];b[0][n]-=h,b[1][n]+=h,s.push(b)}var j=arguments,k=f.length,l=j[0],m=j[k],n="horizontal"===g?0:1,o=1-n,p=a(j[3]),q=a(j[1]),r=a(j[5]),s=[[q,a(j[2])],[r,a(j[4])]];i(q),i(r),i(p);var t=[];c(s[0][1],0),c(s[1][1],1),e.setItemLayout(m,{chartLayout:g,initBaseline:p[o],median:p,bodyEnds:t,whiskerEnds:s})})}var g=c(1),h=c(4),i=h.parsePercent,j=g.each;a.exports=function(a){var b=d(a);j(b,function(a){var b=a.seriesModels;b.length&&(e(a),j(b,function(b,c){f(b,a.boxOffsetList[c],a.boxWidthList[c])}))})}},function(a,b){var c=["itemStyle","normal","borderColor"];a.exports=function(a,b){var d=a.get("color");a.eachRawSeriesByType("boxplot",function(b){var e=d[b.seriesIndex%d.length],f=b.getData();f.setVisual({legendSymbol:"roundRect",color:b.get(c)||e}),a.isSeriesFiltered(b)||f.each(function(a){var b=f.getItemModel(a);f.setItemVisual(a,{color:b.get(c,!0)})})})}},function(a,b,c){var d=c(2);c(248),c(249),d.registerPreprocessor(c(252)),d.registerVisual(c(251)),d.registerLayout(c(250))},function(a,b,c){"use strict";var d=c(1),e=c(15),f=c(169),g=c(8),h=g.encodeHTML,i=g.addCommas,j=e.extend({type:"series.candlestick",dependencies:["xAxis","yAxis","grid"],valueDimensions:["open","close","lowest","highest"],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,itemStyle:{normal:{color:"#c23531",color0:"#314656",borderWidth:1,borderColor:"#c23531",borderColor0:"#314656"},emphasis:{borderWidth:2}},animationUpdate:!1,animationEasing:"linear",animationDuration:300},getShadowDim:function(){return"open"},formatTooltip:function(a,b){var c=d.map(this.valueDimensions,function(b){return b+": "+i(this._data.get(b,a))},this);return h(this.name)+"<br />"+c.join("<br />")},brushSelector:function(a,b){return b.rect(a.brushRect)}});d.mixin(j,f.seriesModelMixin,!0),a.exports=j},function(a,b,c){"use strict";function d(a,b,c){var d=b.getItemModel(c),e=d.getModel(j),f=b.getItemVisual(c,"color"),h=b.getItemVisual(c,"borderColor")||f,i=e.getItemStyle(["color","color0","borderColor","borderColor0"]),l=a.childAt(a.whiskerIndex);l.useStyle(i),l.style.stroke=h;var m=a.childAt(a.bodyIndex);m.useStyle(i),m.style.fill=f,m.style.stroke=h;var n=d.getModel(k).getItemStyle();g.setHoverStyle(a,n)}var e=c(1),f=c(27),g=c(3),h=c(169),i=f.extend({type:"candlestick",getStyleUpdater:function(){return d}});e.mixin(i,h.viewMixin,!0);var j=["itemStyle","normal"],k=["itemStyle","emphasis"];a.exports=i},function(a,b){function c(a,b){var c,g=a.getBaseAxis(),h="category"===g.type?g.getBandWidth():(c=g.getExtent(),Math.abs(c[1]-c[0])/b.count());return h/2-2>e?h/2-2:h-e>f?e:Math.max(h-f,d)}var d=2,e=5,f=4;a.exports=function(a){a.eachSeriesByType("candlestick",function(a){var b=a.coordinateSystem,d=a.getData(),e=a.dimensions,f=a.get("layout"),g=c(a,d);d.each(e,function(){function a(a){var c=[];return c[m]=k,c[n]=a,isNaN(k)||isNaN(a)?[NaN,NaN]:b.dataToPoint(c)}function c(a,b){var c=a.slice(),d=a.slice();c[m]+=g/2,d[m]-=g/2,b?z.push(c,d):z.push(d,c)}function h(){var b=a(Math.min(o,p,q,r)),c=a(Math.max(o,p,q,r));return b[m]-=g/2,c[m]-=g/2,{x:b[0],y:b[1],width:n?g:c[0]-b[0],height:n?c[1]-b[1]:g}}var i=arguments,j=e.length,k=i[0],l=i[j],m="horizontal"===f?0:1,n=1-m,o=i[1],p=i[2],q=i[3],r=i[4],s=Math.min(o,p),t=Math.max(o,p),u=a(s),v=a(t),w=a(q),x=a(r),y=[[x,v],[w,u]],z=[];c(v,0),c(u,1),d.setItemLayout(l,{chartLayout:f,sign:o>p?-1:p>o?1:0,initBaseline:o>p?v[n]:u[n],bodyEnds:z,whiskerEnds:y,brushRect:h()})},!0)})}},function(a,b){var c=["itemStyle","normal","borderColor"],d=["itemStyle","normal","borderColor0"],e=["itemStyle","normal","color"],f=["itemStyle","normal","color0"];a.exports=function(a,b){a.eachRawSeriesByType("candlestick",function(b){var g=b.getData();g.setVisual({legendSymbol:"roundRect"}),a.isSeriesFiltered(b)||g.each(function(a){var b=g.getItemModel(a),h=g.getItemLayout(a).sign;g.setItemVisual(a,{color:b.get(h>0?e:f),borderColor:b.get(h>0?c:d)})})})}},function(a,b,c){var d=c(1);a.exports=function(a){a&&d.isArray(a.series)&&d.each(a.series,function(a){d.isObject(a)&&"k"===a.type&&(a.type="candlestick")})}},function(a,b,c){var d=c(1),e=c(2);c(254),c(255),e.registerVisual(d.curry(c(46),"effectScatter","circle",null)),e.registerLayout(d.curry(c(55),"effectScatter"))},function(a,b,c){"use strict";var d=c(35),e=c(15);a.exports=e.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(a,b){var c=d(a.data,this,b);return c},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}})},function(a,b,c){var d=c(39),e=c(282);c(2).extendChartView({type:"effectScatter",init:function(){this._symbolDraw=new d(e)},render:function(a,b,c){var d=a.getData(),e=this._symbolDraw;e.updateData(d),this.group.add(e.group)},updateLayout:function(){this._symbolDraw.updateLayout()},remove:function(a,b){this._symbolDraw&&this._symbolDraw.remove(b)}})},function(a,b,c){var d=c(1),e=c(2);c(257),c(258),e.registerVisual(d.curry(c(72),"funnel")),e.registerLayout(c(259)),e.registerProcessor(d.curry(c(70),"funnel"))},function(a,b,c){"use strict";var d=c(14),e=c(11),f=c(30),g=c(2).extendSeriesModel({type:"series.funnel",init:function(a){g.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._dataBeforeProcessed},this._defaultLabelLine(a)},getInitialData:function(a,b){var c=f(["value"],a.data),e=new d(c,this);return e.initData(a.data),e},_defaultLabelLine:function(a){e.defaultEmphasis(a.labelLine,["show"]);var b=a.labelLine.normal,c=a.labelLine.emphasis;b.show=b.show&&a.label.normal.show,c.show=c.show&&a.label.emphasis.show},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",gap:0,funnelAlign:"center",label:{normal:{show:!0,position:"outer"},emphasis:{show:!0}},labelLine:{normal:{show:!0,length:20,lineStyle:{width:1,type:"solid"}},emphasis:{}},itemStyle:{normal:{borderColor:"#fff",borderWidth:1},emphasis:{}}}});a.exports=g},function(a,b,c){function d(a,b){function c(){g.ignore=g.hoverIgnore,h.ignore=h.hoverIgnore}function d(){g.ignore=g.normalIgnore,h.ignore=h.normalIgnore}f.Group.call(this);var e=new f.Polygon,g=new f.Polyline,h=new f.Text;this.add(e),this.add(g),this.add(h),this.updateData(a,b,!0),this.on("emphasis",c).on("normal",d).on("mouseover",c).on("mouseout",d)}function e(a,b,c,d){var e=d.getModel("textStyle"),f=d.get("position"),h="inside"===f||"inner"===f||"center"===f;return{fill:e.getTextColor()||(h?"#fff":a.getItemVisual(b,"color")),textFont:e.getFont(),text:g.retrieve(a.hostModel.getFormattedLabel(b,c),a.getName(b))}}var f=c(3),g=c(1),h=d.prototype,i=["itemStyle","normal","opacity"];h.updateData=function(a,b,c){var d=this.childAt(0),e=a.hostModel,h=a.getItemModel(b),j=a.getItemLayout(b),k=a.getItemModel(b).get(i);k=null==k?1:k,d.useStyle({}),c?(d.setShape({points:j.points}),d.setStyle({opacity:0}),f.initProps(d,{style:{opacity:k}},e,b)):f.updateProps(d,{style:{opacity:k},shape:{points:j.points}},e,b);var l=h.getModel("itemStyle"),m=a.getItemVisual(b,"color");d.setStyle(g.defaults({lineJoin:"round",fill:m},l.getModel("normal").getItemStyle(["opacity"]))),d.hoverStyle=l.getModel("emphasis").getItemStyle(),
+this._updateLabel(a,b),f.setHoverStyle(this)},h._updateLabel=function(a,b){var c=this.childAt(1),d=this.childAt(2),g=a.hostModel,h=a.getItemModel(b),i=a.getItemLayout(b),j=i.label,k=a.getItemVisual(b,"color");f.updateProps(c,{shape:{points:j.linePoints||j.linePoints}},g,b),f.updateProps(d,{style:{x:j.x,y:j.y}},g,b),d.attr({style:{textAlign:j.textAlign,textVerticalAlign:j.verticalAlign,textFont:j.font},rotation:j.rotation,origin:[j.x,j.y],z2:10});var l=h.getModel("label.normal"),m=h.getModel("label.emphasis"),n=h.getModel("labelLine.normal"),o=h.getModel("labelLine.emphasis");d.setStyle(e(a,b,"normal",l)),d.ignore=d.normalIgnore=!l.get("show"),d.hoverIgnore=!m.get("show"),c.ignore=c.normalIgnore=!n.get("show"),c.hoverIgnore=!o.get("show"),c.setStyle({stroke:k}),c.setStyle(n.getModel("lineStyle").getLineStyle()),d.hoverStyle=e(a,b,"emphasis",m),c.hoverStyle=o.getModel("lineStyle").getLineStyle()},g.inherits(d,f.Group);var j=c(27).extend({type:"funnel",render:function(a,b,c){var e=a.getData(),f=this._data,g=this.group;e.diff(f).add(function(a){var b=new d(e,a);e.setItemGraphicEl(a,b),g.add(b)}).update(function(a,b){var c=f.getItemGraphicEl(b);c.updateData(e,a),g.add(c),e.setItemGraphicEl(a,c)}).remove(function(a){var b=f.getItemGraphicEl(a);g.remove(b)}).execute(),this._data=e},remove:function(){this.group.removeAll(),this._data=null}});a.exports=j},function(a,b,c){function d(a,b){return g.getLayoutRect(a.getBoxLayoutParams(),{width:b.getWidth(),height:b.getHeight()})}function e(a,b){for(var c=a.mapArray("value",function(a){return a}),d=[],e="ascending"===b,f=0,g=a.count();g>f;f++)d[f]=f;return d.sort(function(a,b){return e?c[a]-c[b]:c[b]-c[a]}),d}function f(a){a.each(function(b){var c,d,e,f,g=a.getItemModel(b),h=g.getModel("label.normal"),i=h.get("position"),j=g.getModel("labelLine.normal"),k=a.getItemLayout(b),l=k.points,m="inner"===i||"inside"===i||"center"===i;if(m)d=(l[0][0]+l[1][0]+l[2][0]+l[3][0])/4,e=(l[0][1]+l[1][1]+l[2][1]+l[3][1])/4,c="center",f=[[d,e],[d,e]];else{var n,o,p,q=j.get("length");"left"===i?(n=(l[3][0]+l[0][0])/2,o=(l[3][1]+l[0][1])/2,p=n-q,d=p-5,c="right"):(n=(l[1][0]+l[2][0])/2,o=(l[1][1]+l[2][1])/2,p=n+q,d=p+5,c="left");var r=o;f=[[n,o],[p,r]],e=r}k.label={linePoints:f,x:d,y:e,verticalAlign:"middle",textAlign:c,inside:m}})}var g=c(13),h=c(4),i=h.parsePercent;a.exports=function(a,b,c){a.eachSeriesByType("funnel",function(a){var c=a.getData(),g=a.get("sort"),j=d(a,b),k=e(c,g),l=[i(a.get("minSize"),j.width),i(a.get("maxSize"),j.width)],m=c.getDataExtent("value"),n=a.get("min"),o=a.get("max");null==n&&(n=Math.min(m[0],0)),null==o&&(o=m[1]);var p=a.get("funnelAlign"),q=a.get("gap"),r=(j.height-q*(c.count()-1))/c.count(),s=j.y,t=function(a,b){var d,e=c.get("value",a)||0,f=h.linearMap(e,[n,o],l,!0);switch(p){case"left":d=j.x;break;case"center":d=j.x+(j.width-f)/2;break;case"right":d=j.x+j.width-f}return[[d,b],[d+f,b]]};"ascending"===g&&(r=-r,q=-q,s+=j.height,k=k.reverse());for(var u=0;u<k.length;u++){var v=k[u],w=k[u+1],x=t(v,s),y=t(w,s+r);s+=r+q,c.setItemLayout(v,{points:x.concat(y.slice().reverse())})}f(c)})}},function(a,b,c){c(261),c(262)},function(a,b,c){var d=c(14),e=c(15),f=c(1),g=e.extend({type:"series.gauge",getInitialData:function(a,b){var c=new d(["value"],this),e=a.data||[];return f.isArray(e)||(e=[e]),c.initData(e),c},defaultOption:{zlevel:0,z:2,center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,lineStyle:{color:[[.2,"#91c7ae"],[.8,"#63869e"],[1,"#c23531"]],width:30}},splitLine:{show:!0,length:30,lineStyle:{color:"#eee",width:2,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:8,lineStyle:{color:"#eee",width:1,type:"solid"}},axisLabel:{show:!0,distance:5,textStyle:{color:"auto"}},pointer:{show:!0,length:"80%",width:8},itemStyle:{normal:{color:"auto"}},title:{show:!0,offsetCenter:[0,"-40%"],textStyle:{color:"#333",fontSize:15}},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:40,offsetCenter:[0,"40%"],textStyle:{color:"auto",fontSize:30}}}});a.exports=g},function(a,b,c){function d(a,b){var c=a.get("center"),d=b.getWidth(),e=b.getHeight(),f=Math.min(d,e),g=i(c[0],b.getWidth()),h=i(c[1],b.getHeight()),j=i(a.get("radius"),f/2);return{cx:g,cy:h,r:j}}function e(a,b){return b&&("string"==typeof b?a=b.replace("{value}",a):"function"==typeof b&&(a=b(a))),a}var f=c(263),g=c(3),h=c(4),i=h.parsePercent,j=2*Math.PI,k=c(27).extend({type:"gauge",render:function(a,b,c){this.group.removeAll();var e=a.get("axisLine.lineStyle.color"),f=d(a,c);this._renderMain(a,b,c,e,f)},_renderMain:function(a,b,c,d,e){for(var f=this.group,h=a.getModel("axisLine"),i=h.getModel("lineStyle"),k=a.get("clockwise"),l=-a.get("startAngle")/180*Math.PI,m=-a.get("endAngle")/180*Math.PI,n=(m-l)%j,o=l,p=i.get("width"),q=0;q<d.length;q++){var r=Math.min(Math.max(d[q][0],0),1),m=l+n*r,s=new g.Sector({shape:{startAngle:o,endAngle:m,cx:e.cx,cy:e.cy,clockwise:k,r0:e.r-p,r:e.r},silent:!0});s.setStyle({fill:d[q][1]}),s.setStyle(i.getLineStyle(["color","borderWidth","borderColor"])),f.add(s),o=m}var t=function(a){if(0>=a)return d[0][1];for(var b=0;b<d.length;b++)if(d[b][0]>=a&&(0===b?0:d[b-1][0])<a)return d[b][1];return d[b-1][1]};if(!k){var u=l;l=m,m=u}this._renderTicks(a,b,c,t,e,l,m,k),this._renderPointer(a,b,c,t,e,l,m,k),this._renderTitle(a,b,c,t,e),this._renderDetail(a,b,c,t,e)},_renderTicks:function(a,b,c,d,f,j,k,l){for(var m=this.group,n=f.cx,o=f.cy,p=f.r,q=a.get("min"),r=a.get("max"),s=a.getModel("splitLine"),t=a.getModel("axisTick"),u=a.getModel("axisLabel"),v=a.get("splitNumber"),w=t.get("splitNumber"),x=i(s.get("length"),p),y=i(t.get("length"),p),z=j,A=(k-j)/v,B=A/w,C=s.getModel("lineStyle").getLineStyle(),D=t.getModel("lineStyle").getLineStyle(),E=u.getModel("textStyle"),F=0;v>=F;F++){var G=Math.cos(z),H=Math.sin(z);if(s.get("show")){var I=new g.Line({shape:{x1:G*p+n,y1:H*p+o,x2:G*(p-x)+n,y2:H*(p-x)+o},style:C,silent:!0});"auto"===C.stroke&&I.setStyle({stroke:d(F/v)}),m.add(I)}if(u.get("show")){var J=e(h.round(F/v*(r-q)+q),u.get("formatter")),K=u.get("distance"),L=new g.Text({style:{text:J,x:G*(p-x-K)+n,y:H*(p-x-K)+o,fill:E.getTextColor(),textFont:E.getFont(),textVerticalAlign:-.4>H?"top":H>.4?"bottom":"middle",textAlign:-.4>G?"left":G>.4?"right":"center"},silent:!0});"auto"===L.style.fill&&L.setStyle({fill:d(F/v)}),m.add(L)}if(t.get("show")&&F!==v){for(var M=0;w>=M;M++){var G=Math.cos(z),H=Math.sin(z),N=new g.Line({shape:{x1:G*p+n,y1:H*p+o,x2:G*(p-y)+n,y2:H*(p-y)+o},silent:!0,style:D});"auto"===D.stroke&&N.setStyle({stroke:d((F+M/w)/v)}),m.add(N),z+=B}z-=B}else z+=A}},_renderPointer:function(a,b,c,d,e,j,k,l){var m=[+a.get("min"),+a.get("max")],n=[j,k];l||(n=n.reverse());var o=a.getData(),p=this._data,q=this.group;o.diff(p).add(function(b){var c=new f({shape:{angle:j}});g.updateProps(c,{shape:{angle:h.linearMap(o.get("value",b),m,n,!0)}},a),q.add(c),o.setItemGraphicEl(b,c)}).update(function(b,c){var d=p.getItemGraphicEl(c);g.updateProps(d,{shape:{angle:h.linearMap(o.get("value",b),m,n,!0)}},a),q.add(d),o.setItemGraphicEl(b,d)}).remove(function(a){var b=p.getItemGraphicEl(a);q.remove(b)}).execute(),o.eachItemGraphicEl(function(a,b){var c=o.getItemModel(b),f=c.getModel("pointer");a.setShape({x:e.cx,y:e.cy,width:i(f.get("width"),e.r),r:i(f.get("length"),e.r)}),a.useStyle(c.getModel("itemStyle.normal").getItemStyle()),"auto"===a.style.fill&&a.setStyle("fill",d((o.get("value",b)-m[0])/(m[1]-m[0]))),g.setHoverStyle(a,c.getModel("itemStyle.emphasis").getItemStyle())}),this._data=o},_renderTitle:function(a,b,c,d,e){var f=a.getModel("title");if(f.get("show")){var h=f.getModel("textStyle"),j=f.get("offsetCenter"),k=e.cx+i(j[0],e.r),l=e.cy+i(j[1],e.r),m=new g.Text({style:{x:k,y:l,text:a.getData().getName(0),fill:h.getTextColor(),textFont:h.getFont(),textAlign:"center",textVerticalAlign:"middle"}});this.group.add(m)}},_renderDetail:function(a,b,c,d,f){var j=a.getModel("detail"),k=a.get("min"),l=a.get("max");if(j.get("show")){var m=j.getModel("textStyle"),n=j.get("offsetCenter"),o=f.cx+i(n[0],f.r),p=f.cy+i(n[1],f.r),q=i(j.get("width"),f.r),r=i(j.get("height"),f.r),s=a.getData().get("value",0),t=new g.Rect({shape:{x:o-q/2,y:p-r/2,width:q,height:r},style:{text:e(s,j.get("formatter")),fill:j.get("backgroundColor"),textFill:m.getTextColor(),textFont:m.getFont()}});"auto"===t.style.textFill&&t.setStyle("textFill",d(h.linearMap(s,[k,l],[0,1],!0))),t.setStyle(j.getItemStyle(["color"])),this.group.add(t)}}});a.exports=k},function(a,b,c){a.exports=c(6).extend({type:"echartsGaugePointer",shape:{angle:0,width:10,r:10,x:0,y:0},buildPath:function(a,b){var c=Math.cos,d=Math.sin,e=b.r,f=b.width,g=b.angle,h=b.x-c(g)*f*(f>=e/3?1:2),i=b.y-d(g)*f*(f>=e/3?1:2);g=b.angle-Math.PI/2,a.moveTo(h,i),a.lineTo(b.x+c(g)*f,b.y+d(g)*f),a.lineTo(b.x+c(b.angle)*e,b.y+d(b.angle)*e),a.lineTo(b.x-c(g)*f,b.y-d(g)*f),a.lineTo(h,i)}})},function(a,b,c){var d=c(2),e=c(1);c(265),c(266),c(275),d.registerProcessor(c(268)),d.registerVisual(e.curry(c(46),"graph","circle",null)),d.registerVisual(c(269)),d.registerVisual(c(272)),d.registerLayout(c(276)),d.registerLayout(c(270)),d.registerLayout(c(274)),d.registerCoordinateSystem("graphView",{create:c(271)})},function(a,b,c){"use strict";var d=c(14),e=c(1),f=c(11),g=c(9),h=c(227),i=c(2).extendSeriesModel({type:"series.graph",init:function(a){i.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this.fillDataTextStyle(a.edges||a.links),this._updateCategoriesData()},mergeOption:function(a){i.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(a.edges||a.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(a){i.superApply(this,"mergeDefaultAndTheme",arguments),f.defaultEmphasis(a.edgeLabel,f.LABEL_OPTIONS)},getInitialData:function(a,b){function c(a,b){a.wrapMethod("getItemModel",function(a){var b=f._categoriesModels,c=a.getShallow("category"),d=b[c];return d&&(d.parentModel=a.parentModel,a.parentModel=d),a});var c=f.getModel("edgeLabel"),d=function(a,b){var e=(a||"").split(".");"label"===e[0]&&(b=b||c.getModel(e.slice(1)));var f=g.prototype.getModel.call(this,e,b);return f.getModel=d,f};b.wrapMethod("getItemModel",function(a){return a.getModel=d,a})}var d=a.edges||a.links||[],e=a.data||a.nodes||[],f=this;return e&&d?h(e,d,this,!0,c).data:void 0},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(a,b,c){if("edge"===c){var d=this.getData(),e=this.getDataParams(a,c),f=d.graph.getEdgeByIndex(a),g=d.getName(f.node1.dataIndex),h=d.getName(f.node2.dataIndex),j=g+" > "+h;return e.value&&(j+=" : "+e.value),j}return i.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var a=e.map(this.option.categories||[],function(a){return null!=a.value?a:e.extend({value:0},a)}),b=new d(["value"],this);b.initData(a),this._categoriesData=b,this._categoriesModels=b.mapArray(function(a){return b.getItemModel(a,!0)})},setZoom:function(a){this.option.zoom=a},setCenter:function(a){this.option.center=a},ifEnableAnimation:function(){return i.superCall(this,"ifEnableAnimation")&&!("force"===this.get("layout")&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{normal:{position:"middle"},emphasis:{}},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{normal:{show:!1,formatter:"{b}"},emphasis:{show:!0}},itemStyle:{normal:{},emphasis:{}},lineStyle:{normal:{color:"#aaa",width:1,curveness:0,opacity:.5},emphasis:{}}}});a.exports=i},function(a,b,c){function d(a,b){return a.getVisual("opacity")||a.getModel().get(b)}var e=c(39),f=c(93),g=c(78),h=c(3),i=c(267),j=c(1),k=["itemStyle","normal","opacity"],l=["lineStyle","normal","opacity"];c(2).extendChartView({type:"graph",init:function(a,b){var c=new e,d=new f,h=this.group,i=new g(b.getZr(),h);h.add(c.group),h.add(d.group),this._symbolDraw=c,this._lineDraw=d,this._controller=i,this._firstRender=!0},render:function(a,b,c){var d=a.coordinateSystem;this._model=a,this._nodeScaleRatio=a.get("nodeScaleRatio");var e=this._symbolDraw,f=this._lineDraw,g=this.group;if("view"===d.type){var j={position:d.position,scale:d.scale};this._firstRender?g.attr(j):h.updateProps(g,j,a)}i(a.getGraph(),this._getNodeGlobalScale(a));var k=a.getData();e.updateData(k);var l=a.getEdgeData();f.updateData(l),this._updateNodeAndLinkScale(),this._updateController(a,c),clearTimeout(this._layoutTimeout);var m=a.forceLayout,n=a.get("force.layoutAnimation");m&&this._startForceLayoutIteration(m,n),k.eachItemGraphicEl(function(a,b){var c=k.getItemModel(b);a.off("drag").off("dragend");var d=k.getItemModel(b).get("draggable");d&&a.on("drag",function(){m&&(m.warmUp(),!this._layouting&&this._startForceLayoutIteration(m,n),m.setFixed(b),k.setItemLayout(b,a.position))},this).on("dragend",function(){m&&m.setUnfixed(b)},this),a.setDraggable(d&&m),a.off("mouseover",this._focusNodeAdjacency),a.off("mouseout",this._unfocusAll),c.get("focusNodeAdjacency")&&(a.on("mouseover",this._focusNodeAdjacency,this),a.on("mouseout",this._unfocusAll,this))},this);var o="circular"===a.get("layout")&&a.get("circular.rotateLabel"),p=k.getLayout("cx"),q=k.getLayout("cy");k.eachItemGraphicEl(function(a,b){var c=a.getSymbolPath();if(o){var d=k.getItemLayout(b),e=Math.atan2(d[1]-q,d[0]-p);0>e&&(e=2*Math.PI+e);var f=d[0]<p;f&&(e-=Math.PI);var g=f?"left":"right";c.setStyle({textRotation:e,textPosition:g}),c.hoverStyle&&(c.hoverStyle.textPosition=g)}else c.setStyle({textRotation:0})}),this._firstRender=!1},_focusNodeAdjacency:function(a){function b(a,b){var c=d(a,b),e=a.getGraphicEl();null==c&&(c=1),e.traverse(function(a){a.trigger("normal"),"group"!==a.type&&a.setStyle("opacity",.1*c)})}function c(a,b){var c=d(a,b),e=a.getGraphicEl();e.traverse(function(a){a.trigger("emphasis"),"group"!==a.type&&a.setStyle("opacity",c)})}var e=this._model.getData(),f=e.graph,g=a.target,h=g.dataIndex,i=g.dataType;if(null!==h&&"edge"!==i){f.eachNode(function(a){b(a,k)}),f.eachEdge(function(a){b(a,l)});var m=f.getNodeByIndex(h);c(m,k),j.each(m.edges,function(a){a.dataIndex<0||(c(a,l),c(a.node1,k),c(a.node2,k))})}},_unfocusAll:function(){var a=this._model.getData(),b=a.graph;b.eachNode(function(a){var b=d(a,k);a.getGraphicEl().traverse(function(a){a.trigger("normal"),"group"!==a.type&&a.setStyle("opacity",b)})}),b.eachEdge(function(a){var b=d(a,l);a.getGraphicEl().traverse(function(a){a.trigger("normal"),"group"!==a.type&&a.setStyle("opacity",b)})})},_startForceLayoutIteration:function(a,b){var c=this;!function d(){a.step(function(a){c.updateLayout(c._model),(c._layouting=!a)&&(b?c._layoutTimeout=setTimeout(d,16):d())})}()},_updateController:function(a,b){var c=this._controller,d=this.group;return c.rectProvider=function(){var a=d.getBoundingRect();return a.applyTransform(d.transform),a},"view"!==a.coordinateSystem.type?void c.disable():(c.enable(a.get("roam")),c.zoomLimit=a.get("scaleLimit"),c.zoom=a.coordinateSystem.getZoom(),void c.off("pan").off("zoom").on("pan",function(c,d){b.dispatchAction({seriesId:a.id,type:"graphRoam",dx:c,dy:d})}).on("zoom",function(c,d,e){b.dispatchAction({seriesId:a.id,type:"graphRoam",zoom:c,originX:d,originY:e}),this._updateNodeAndLinkScale(),i(a.getGraph(),this._getNodeGlobalScale(a)),this._lineDraw.updateLayout()},this))},_updateNodeAndLinkScale:function(){var a=this._model,b=a.getData(),c=this._getNodeGlobalScale(a),d=[c,c];b.eachItemGraphicEl(function(a,b){a.attr("scale",d)})},_getNodeGlobalScale:function(a){var b=a.coordinateSystem;if("view"!==b.type)return 1;var c=this._nodeScaleRatio,d=b.scale,e=d&&d[0]||1,f=b.getZoom(),g=(f-1)*c+1;return g/e},updateLayout:function(a){i(a.getGraph(),this._getNodeGlobalScale(a)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},remove:function(a,b){this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()}})},function(a,b,c){function d(a,b,c){for(var d,e=a[0],f=a[1],m=a[2],n=1/0,o=c*c,p=.1,q=.1;.9>=q;q+=.1){g[0]=j(e[0],f[0],m[0],q),g[1]=j(e[1],f[1],m[1],q);var r=l(k(g,b)-o);n>r&&(n=r,d=q)}for(var s=0;32>s;s++){var t=d+p;h[0]=j(e[0],f[0],m[0],d),h[1]=j(e[1],f[1],m[1],d),i[0]=j(e[0],f[0],m[0],t),i[1]=j(e[1],f[1],m[1],t);var r=k(h,b)-o;if(l(r)<.01)break;var u=k(i,b)-o;p/=2,0>r?u>=0?d+=p:d-=p:u>=0?d-=p:d+=p}return d}var e=c(17),f=c(5),g=[],h=[],i=[],j=e.quadraticAt,k=f.distSquare,l=Math.abs;a.exports=function(a,b){function c(a){var b=a.getVisual("symbolSize");return b instanceof Array&&(b=(b[0]+b[1])/2),b}var g=[],h=e.quadraticSubdivide,i=[[],[],[]],j=[[],[]],k=[];b/=2,a.eachEdge(function(a,e){var l=a.getLayout(),m=a.getVisual("fromSymbol"),n=a.getVisual("toSymbol");l.__original||(l.__original=[f.clone(l[0]),f.clone(l[1])],l[2]&&l.__original.push(f.clone(l[2])));var o=l.__original;if(null!=l[2]){if(f.copy(i[0],o[0]),f.copy(i[1],o[2]),f.copy(i[2],o[1]),m&&"none"!=m){var p=c(a.node1),q=d(i,o[0],p*b);h(i[0][0],i[1][0],i[2][0],q,g),i[0][0]=g[3],i[1][0]=g[4],h(i[0][1],i[1][1],i[2][1],q,g),i[0][1]=g[3],i[1][1]=g[4]}if(n&&"none"!=n){var p=c(a.node2),q=d(i,o[1],p*b);h(i[0][0],i[1][0],i[2][0],q,g),i[1][0]=g[1],i[2][0]=g[2],h(i[0][1],i[1][1],i[2][1],q,g),i[1][1]=g[1],i[2][1]=g[2]}f.copy(l[0],i[0]),f.copy(l[1],i[2]),f.copy(l[2],i[1])}else{if(f.copy(j[0],o[0]),f.copy(j[1],o[1]),f.sub(k,j[1],j[0]),f.normalize(k,k),m&&"none"!=m){var p=c(a.node1);f.scaleAndAdd(j[0],j[0],k,p*b)}if(n&&"none"!=n){var p=c(a.node2);f.scaleAndAdd(j[1],j[1],k,-p*b)}f.copy(l[0],j[0]),f.copy(l[1],j[1])}})}},function(a,b){a.exports=function(a){var b=a.findComponents({mainType:"legend"});b&&b.length&&a.eachSeriesByType("graph",function(a){var c=a.getCategoriesData(),d=a.getGraph(),e=d.data,f=c.mapArray(c.getName);e.filterSelf(function(a){var c=e.getItemModel(a),d=c.getShallow("category");if(null!=d){"number"==typeof d&&(d=f[d]);for(var g=0;g<b.length;g++)if(!b[g].isSelected(d))return!1}return!0})},this)}},function(a,b){a.exports=function(a){var b={};a.eachSeriesByType("graph",function(a){var c=a.getCategoriesData(),d=a.getData(),e={};c.each(function(d){var f=c.getName(d);e[f]=d;var g=c.getItemModel(d),h=g.get("itemStyle.normal.color")||a.getColorFromPalette(f,b);c.setItemVisual(d,"color",h)}),c.count()&&d.each(function(a){var b=d.getItemModel(a),f=b.getShallow("category");null!=f&&("string"==typeof f&&(f=e[f]),d.getItemVisual(a,"color",!0)||d.setItemVisual(a,"color",c.getItemVisual(f,"color")))})})}},function(a,b,c){var d=c(222);a.exports=function(a){a.eachSeriesByType("graph",function(a){"circular"===a.get("layout")&&d(a)})}},function(a,b,c){function d(a,b,c){var d=a.getBoxLayoutParams();return d.aspect=c,f.getLayoutRect(d,{width:b.getWidth(),height:b.getHeight()})}var e=c(237),f=c(13),g=c(73);a.exports=function(a,b){var c=[];return a.eachSeriesByType("graph",function(a){var f=a.get("coordinateSystem");if(!f||"view"===f){var h=new e;c.push(h);var i=a.getData(),j=i.mapArray(function(a){var b=i.getItemModel(a);return[+b.get("x"),+b.get("y")]}),k=[],l=[];g.fromPoints(j,k,l),l[0]-k[0]===0&&(l[0]+=1,k[0]-=1),l[1]-k[1]===0&&(l[1]+=1,k[1]-=1);var m=(l[0]-k[0])/(l[1]-k[1]),n=d(a,b,m);isNaN(m)&&(k=[n.x,n.y],l=[n.x+n.width,n.y+n.height]);var o=l[0]-k[0],p=l[1]-k[1],q=n.width,r=n.height;h=a.coordinateSystem=new e,h.zoomLimit=a.get("scaleLimit"),h.setBoundingRect(k[0],k[1],o,p),h.setViewRect(n.x,n.y,q,r),h.setCenter(a.get("center")),h.setZoom(a.get("zoom"))}}),c}},function(a,b){function c(a){return a instanceof Array||(a=[a,a]),a}a.exports=function(a){a.eachSeriesByType("graph",function(a){var b=a.getGraph(),d=a.getEdgeData(),e=c(a.get("edgeSymbol")),f=c(a.get("edgeSymbolSize")),g="lineStyle.normal.color".split("."),h="lineStyle.normal.opacity".split(".");d.setVisual("fromSymbol",e&&e[0]),d.setVisual("toSymbol",e&&e[1]),d.setVisual("fromSymbolSize",f&&f[0]),d.setVisual("toSymbolSize",f&&f[1]),d.setVisual("color",a.get(g)),d.setVisual("opacity",a.get(h)),d.each(function(a){var e=d.getItemModel(a),f=b.getEdgeByIndex(a),i=c(e.getShallow("symbol",!0)),j=c(e.getShallow("symbolSize",!0)),k=e.get(g),l=e.get(h);switch(k){case"source":k=f.node1.getVisual("color");break;case"target":k=f.node2.getVisual("color")}i[0]&&f.setVisual("fromSymbol",i[0]),i[1]&&f.setVisual("toSymbol",i[1]),j[0]&&f.setVisual("fromSymbolSize",j[0]),j[1]&&f.setVisual("toSymbolSize",j[1]),f.setVisual("color",k),f.setVisual("opacity",l)})})}},function(a,b,c){var d=c(5),e=d.scaleAndAdd;a.exports=function(a,b,c){for(var f=c.rect,g=f.width,h=f.height,i=[f.x+g/2,f.y+h/2],j=null==c.gravity?.1:c.gravity,k=0;k<a.length;k++){var l=a[k];l.p||(l.p=d.create(g*(Math.random()-.5)+i[0],h*(Math.random()-.5)+i[1])),l.pp=d.clone(l.p),l.edges=null}var m=.6;return{warmUp:function(){m=.5},setFixed:function(b){a[b].fixed=!0},setUnfixed:function(b){a[b].fixed=!1},step:function(c){for(var f=[],g=a.length,h=0;h<b.length;h++){var k=b[h],l=k.n1,n=k.n2;d.sub(f,n.p,l.p);var o=d.len(f)-k.d,p=n.w/(l.w+n.w);d.normalize(f,f),!l.fixed&&e(l.p,l.p,f,p*o*m),!n.fixed&&e(n.p,n.p,f,-(1-p)*o*m)}for(var h=0;g>h;h++){var q=a[h];q.fixed||(d.sub(f,i,q.p),d.scaleAndAdd(q.p,q.p,f,j*m))}for(var h=0;g>h;h++)for(var l=a[h],r=h+1;g>r;r++){var n=a[r];d.sub(f,n.p,l.p);var o=d.len(f);0===o&&(d.set(f,Math.random()-.5,Math.random()-.5),o=1);var s=(l.rep+n.rep)/o/o;!l.fixed&&e(l.pp,l.pp,f,s),!n.fixed&&e(n.pp,n.pp,f,-s)}for(var t=[],h=0;g>h;h++){var q=a[h];q.fixed||(d.sub(t,q.p,q.pp),d.scaleAndAdd(q.p,q.p,t,m),d.copy(q.pp,q.p))}m=.992*m,c&&c(a,b,.01>m)}}}},function(a,b,c){var d=c(273),e=c(4),f=c(224),g=c(222),h=c(5),i=c(1);a.exports=function(a){a.eachSeriesByType("graph",function(a){var b=a.coordinateSystem;if(!b||"view"===b.type)if("force"===a.get("layout")){var c=a.preservedPoints||{},j=a.getGraph(),k=j.data,l=j.edgeData,m=a.getModel("force"),n=m.get("initLayout");a.preservedPoints?k.each(function(a){var b=k.getId(a);k.setItemLayout(a,c[b]||[NaN,NaN])}):n&&"none"!==n?"circular"===n&&g(a):f(a);var o=k.getDataExtent("value"),p=l.getDataExtent("value"),q=m.get("repulsion"),r=m.get("edgeLength");i.isArray(q)||(q=[q,q]),i.isArray(r)||(r=[r,r]),r=[r[1],r[0]];var s=k.mapArray("value",function(a,b){var c=k.getItemLayout(b),d=e.linearMap(a,o,q);return isNaN(d)&&(d=(q[0]+q[1])/2),{w:d,rep:d,p:!c||isNaN(c[0])||isNaN(c[1])?null:c}}),t=l.mapArray("value",function(a,b){var c=j.getEdgeByIndex(b),d=e.linearMap(a,p,r);return isNaN(d)&&(d=(r[0]+r[1])/2),{n1:s[c.node1.dataIndex],n2:s[c.node2.dataIndex],d:d,curveness:c.getModel().get("lineStyle.normal.curveness")||0}}),b=a.coordinateSystem,u=b.getBoundingRect(),v=d(s,t,{rect:u,gravity:m.get("gravity")}),w=v.step;v.step=function(a){for(var b=0,d=s.length;d>b;b++)s[b].fixed&&h.copy(s[b].p,j.getNodeByIndex(b).getLayout());w(function(b,d,e){for(var f=0,g=b.length;g>f;f++)b[f].fixed||j.getNodeByIndex(f).setLayout(b[f].p),c[k.getId(f)]=b[f].p;for(var f=0,g=d.length;g>f;f++){var i=d[f],l=j.getEdgeByIndex(f),m=i.n1.p,n=i.n2.p,o=l.getLayout();o=o?o.slice():[],o[0]=o[0]||[],o[1]=o[1]||[],h.copy(o[0],m),h.copy(o[1],n),+i.curveness&&(o[2]=[(m[0]+n[0])/2-(m[1]-n[1])*i.curveness,(m[1]+n[1])/2-(n[0]-m[0])*i.curveness]),l.setLayout(o)}a&&a(e)})},a.forceLayout=v,a.preservedPoints=c,v.step()}else a.forceLayout=null})}},function(a,b,c){var d=c(2),e=c(221),f={type:"graphRoam",event:"graphRoam",update:"none"};d.registerAction(f,function(a,b){b.eachComponent({mainType:"series",query:a},function(b){var c=b.coordinateSystem,d=e.updateCenterAndZoom(c,a);b.setCenter&&b.setCenter(d.center),b.setZoom&&b.setZoom(d.zoom)})})},function(a,b,c){var d=c(224),e=c(223);a.exports=function(a,b){a.eachSeriesByType("graph",function(a){var b=a.get("layout"),c=a.coordinateSystem;if(c&&"view"!==c.type){var f=a.getData();f.each(c.dimensions,function(a,b,d){isNaN(a)||isNaN(b)?f.setItemLayout(d,[NaN,NaN]):f.setItemLayout(d,c.dataToPoint([a,b]))}),e(f.graph)}else b&&"none"!==b||d(a)})}},function(a,b,c){c(279),c(280)},function(a,b,c){function d(){var a=f.createCanvas();this.canvas=a,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}var e=256,f=c(1);d.prototype={update:function(a,b,c,d,f,g){var h=this._getBrush(),i=this._getGradient(a,f,"inRange"),j=this._getGradient(a,f,"outOfRange"),k=this.pointSize+this.blurSize,l=this.canvas,m=l.getContext("2d"),n=a.length;l.width=b,l.height=c;for(var o=0;n>o;++o){var p=a[o],q=p[0],r=p[1],s=p[2],t=d(s);m.globalAlpha=t,m.drawImage(h,q-k,r-k)}for(var u=m.getImageData(0,0,l.width,l.height),v=u.data,w=0,x=v.length,y=this.minOpacity,z=this.maxOpacity,A=z-y;x>w;){var t=v[w+3]/256,B=4*Math.floor(t*(e-1));if(t>0){var C=g(t)?i:j;t>0&&(t=t*A+y),v[w++]=C[B],v[w++]=C[B+1],v[w++]=C[B+2],v[w++]=C[B+3]*t*256}else w+=4}return m.putImageData(u,0,0),l},_getBrush:function(){var a=this._brushCanvas||(this._brushCanvas=f.createCanvas()),b=this.pointSize+this.blurSize,c=2*b;a.width=c,a.height=c;var d=a.getContext("2d");return d.clearRect(0,0,c,c),d.shadowOffsetX=c,d.shadowBlur=this.blurSize,d.shadowColor="#000",d.beginPath(),d.arc(-b,b,this.pointSize,0,2*Math.PI,!0),d.closePath(),d.fill(),a},_getGradient:function(a,b,c){for(var d=this._gradientPixels,e=d[c]||(d[c]=new Uint8ClampedArray(1024)),f=[],g=0,h=0;256>h;h++)b[c](h/255,!0,f),e[g++]=f[0],e[g++]=f[1],e[g++]=f[2],e[g++]=f[3];return e}},a.exports=d},function(a,b,c){var d=c(15),e=c(35);a.exports=d.extend({type:"series.heatmap",getInitialData:function(a,b){return e(a.data,this,b)},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0}})},function(a,b,c){function d(a,b,c){var d=a[1]-a[0];b=i.map(b,function(b){return{interval:[(b.interval[0]-a[0])/d,(b.interval[1]-a[0])/d]}});var e=b.length,f=0;return function(a){for(var d=f;e>d;d++){var g=b[d].interval;if(g[0]<=a&&a<=g[1]){f=d;break}}if(d===e)for(var d=f-1;d>=0;d--){var g=b[d].interval;if(g[0]<=a&&a<=g[1]){f=d;break}}return d>=0&&e>d&&c[d]}}function e(a,b){var c=a[1]-a[0];return b=[(b[0]-a[0])/c,(b[1]-a[0])/c],function(a){return a>=b[0]&&a<=b[1]}}function f(a){var b=a.dimensions;return"lng"===b[0]&&"lat"===b[1]}var g=c(3),h=c(278),i=c(1);a.exports=c(2).extendChartView({type:"heatmap",render:function(a,b,c){var d;b.eachComponent("visualMap",function(b){b.eachTargetSeries(function(c){c===a&&(d=b)})}),this.group.removeAll();var e=a.coordinateSystem;"cartesian2d"===e.type?this._renderOnCartesian(e,a,c):f(e)&&this._renderOnGeo(e,a,d,c)},_renderOnCartesian:function(a,b,c){var d=a.getAxis("x"),e=a.getAxis("y"),f=this.group,h=d.getBandWidth(),j=e.getBandWidth(),k=b.getData(),l="itemStyle.normal",m="itemStyle.emphasis",n="label.normal",o="label.emphasis",p=b.getModel(l).getItemStyle(["color"]),q=b.getModel(m).getItemStyle(),r=b.getModel("label.normal"),s=b.getModel("label.emphasis");k.each(["x","y","z"],function(c,d,e,t){var u=k.getItemModel(t),v=a.dataToPoint([c,d]);if(!isNaN(e)){var w=new g.Rect({shape:{x:v[0]-h/2,y:v[1]-j/2,width:h,height:j},style:{fill:k.getItemVisual(t,"color"),opacity:k.getItemVisual(t,"opacity")}});k.hasItemOption&&(p=u.getModel(l).getItemStyle(["color"]),q=u.getModel(m).getItemStyle(),r=u.getModel(n),s=u.getModel(o));var x=b.getRawValue(t),y="-";x&&null!=x[2]&&(y=x[2]),r.getShallow("show")&&(g.setText(p,r),p.text=b.getFormattedLabel(t,"normal")||y),s.getShallow("show")&&(g.setText(q,s),q.text=b.getFormattedLabel(t,"emphasis")||y),w.setStyle(p),g.setHoverStyle(w,k.hasItemOption?q:i.extend({},q)),f.add(w),k.setItemGraphicEl(t,w)}})},_renderOnGeo:function(a,b,c,f){var i=c.targetVisuals.inRange,j=c.targetVisuals.outOfRange,k=b.getData(),l=this._hmLayer||this._hmLayer||new h;l.blurSize=b.get("blurSize"),l.pointSize=b.get("pointSize"),l.minOpacity=b.get("minOpacity"),l.maxOpacity=b.get("maxOpacity");var m=a.getViewRect().clone(),n=a.getRoamTransform().transform;m.applyTransform(n);var o=Math.max(m.x,0),p=Math.max(m.y,0),q=Math.min(m.width+m.x,f.getWidth()),r=Math.min(m.height+m.y,f.getHeight()),s=q-o,t=r-p,u=k.mapArray(["lng","lat","value"],function(b,c,d){var e=a.dataToPoint([b,c]);return e[0]-=o,e[1]-=p,e.push(d),e}),v=c.getExtent(),w="visualMap.continuous"===c.type?e(v,c.option.range):d(v,c.getPieceList(),c.option.selected);l.update(u,s,t,i.color.getNormalizer(),{inRange:i.color.getColorMapper(),outOfRange:j.color.getColorMapper()},w);var x=new g.Image({style:{width:s,height:t,x:o,y:p,image:l.canvas},silent:!0});this.group.add(x)}})},function(a,b,c){function d(a,b,c){g.call(this,a,b,c),this._lastFrame=0,this._lastFramePercent=0}var e=c(226),f=c(1),g=c(225),h=c(5),i=d.prototype;i.createLine=function(a,b,c){return new e(a,b,c)},i.updateAnimationPoints=function(a,b){this._points=b;for(var c=[0],d=0,e=1;e<b.length;e++){var f=b[e-1],g=b[e];d+=h.dist(f,g),c.push(d)}if(0!==d){for(var e=0;e<c.length;e++)c[e]/=d;this._offsets=c,this._length=d}},i.getLineLength=function(a){return this._length},i.updateSymbolPosition=function(a){var b=a.__t,c=this._points,d=this._offsets,e=c.length;if(d){var f,g=this._lastFrame;if(b<this._lastFramePercent){var i=Math.min(g+1,e-1);for(f=i;f>=0&&!(d[f]<=b);f--);f=Math.min(f,e-2)}else{for(var f=g;e>f&&!(d[f]>b);f++);f=Math.min(f-1,e-2)}h.lerp(a.position,c[f],c[f+1],(b-d[f])/(d[f+1]-d[f])),this._lastFrame=f,this._lastFramePercent=b,a.ignore=!1}},f.inherits(d,g),a.exports=d},function(a,b,c){function d(a){return g.isArray(a)||(a=[+a,+a]),a}function e(a,b){a.eachChild(function(a){a.attr({z:b.z,zlevel:b.zlevel,style:{stroke:"stroke"===b.brushType?b.color:null,fill:"fill"===b.brushType?b.color:null}})})}function f(a,b){l.call(this);var c=new k(a,b),d=new l;this.add(c),this.add(d),d.beforeUpdate=function(){this.attr(c.getScale())},this.updateData(a,b)}var g=c(1),h=c(26),i=c(3),j=c(4),k=c(49),l=i.Group,m=3,n=f.prototype;n.stopEffectAnimation=function(){this.childAt(1).removeAll()},n.startEffectAnimation=function(a){for(var b=a.symbolType,c=a.color,d=this.childAt(1),f=0;m>f;f++){var g=h.createSymbol(b,-.5,-.5,1,1,c);g.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[1,1]});var i=-f/m*a.period+a.effectOffset;g.animate("",!0).when(a.period,{scale:[a.rippleScale,a.rippleScale]}).delay(i).start(),g.animateStyle(!0).when(a.period,{opacity:0}).delay(i).start(),d.add(g)}e(d,a)},n.updateEffectAnimation=function(a){for(var b=this._effectCfg,c=this.childAt(1),d=["symbolType","period","rippleScale"],f=0;d>f;f++){var g=d[f];if(b[g]!==a[g])return this.stopEffectAnimation(),void this.startEffectAnimation(a)}e(c,a)},n.highlight=function(){this.trigger("emphasis")},n.downplay=function(){this.trigger("normal")},n.updateData=function(a,b){var c=a.hostModel;this.childAt(0).updateData(a,b);var e=this.childAt(1),f=a.getItemModel(b),g=a.getItemVisual(b,"symbol"),h=d(a.getItemVisual(b,"symbolSize")),i=a.getItemVisual(b,"color");e.attr("scale",h),e.traverse(function(a){a.attr({fill:i})});var k=f.getShallow("symbolOffset");if(k){var l=e.position;l[0]=j.parsePercent(k[0],h[0]),l[1]=j.parsePercent(k[1],h[1])}e.rotation=(f.getShallow("symbolRotate")||0)*Math.PI/180||0;var m={};if(m.showEffectOn=c.get("showEffectOn"),m.rippleScale=f.get("rippleEffect.scale"),m.brushType=f.get("rippleEffect.brushType"),m.period=1e3*f.get("rippleEffect.period"),m.effectOffset=b/a.count(),m.z=f.getShallow("z")||0,m.zlevel=f.getShallow("zlevel")||0,m.symbolType=g,m.color=i,this.off("mouseover").off("mouseout").off("emphasis").off("normal"),"render"===m.showEffectOn)this._effectCfg?this.updateEffectAnimation(m):this.startEffectAnimation(m),this._effectCfg=m;else{this._effectCfg=null,this.stopEffectAnimation();var n=this.childAt(0),o=function(){n.trigger("emphasis"),"render"!==m.showEffectOn&&this.startEffectAnimation(m)},p=function(){n.trigger("normal"),"render"!==m.showEffectOn&&this.stopEffectAnimation()};this.on("mouseover",o,this).on("mouseout",p,this).on("emphasis",o,this).on("normal",p,this)}this._effectCfg=m},n.fadeOut=function(a){this.off("mouseover").off("mouseout").off("emphasis").off("normal"),
+a&&a()},g.inherits(f,l),a.exports=f},function(a,b,c){function d(){this.group=new e.Group,this._lineEl=new h}var e=c(3),f=c(83),g=c(82),h=e.extendShape({shape:{polyline:!1,segs:[]},buildPath:function(a,b){for(var c=b.segs,d=b.polyline,e=0;e<c.length;e++){var f=c[e];if(d){a.moveTo(f[0][0],f[0][1]);for(var g=1;g<f.length;g++)a.lineTo(f[g][0],f[g][1])}else a.moveTo(f[0][0],f[0][1]),f.length>2?a.quadraticCurveTo(f[2][0],f[2][1],f[1][0],f[1][1]):a.lineTo(f[1][0],f[1][1])}},findDataIndex:function(a,b){for(var c=this.shape,d=c.segs,e=c.polyline,h=Math.max(this.style.lineWidth,1),i=0;i<d.length;i++){var j=d[i];if(e){for(var k=1;k<j.length;k++)if(g.containStroke(j[k-1][0],j[k-1][1],j[k][0],j[k][1],h,a,b))return i}else if(j.length>2){if(f.containStroke(j[0][0],j[0][1],j[2][0],j[2][1],j[1][0],j[1][1],h,a,b))return i}else if(g.containStroke(j[0][0],j[0][1],j[1][0],j[1][1],h,a,b))return i}return-1}}),i=d.prototype;i.updateData=function(a){this.group.removeAll();var b=this._lineEl,c=a.hostModel;b.setShape({segs:a.mapArray(a.getItemLayout),polyline:c.get("polyline")}),b.useStyle(c.getModel("lineStyle.normal").getLineStyle());var d=a.getVisual("color");d&&b.setStyle("stroke",d),b.setStyle("fill"),b.seriesIndex=c.seriesIndex,b.on("mousemove",function(a){b.dataIndex=null;var c=b.findDataIndex(a.offsetX,a.offsetY);c>0&&(b.dataIndex=c)}),this.group.add(b)},i.updateLayout=function(a){var b=a.getData();this._lineEl.setShape({segs:b.mapArray(b.getItemLayout)})},i.remove=function(){this.group.removeAll()},a.exports=d},function(a,b,c){function d(a,b,c,d){i.Group.call(this),this.bodyIndex,this.whiskerIndex,this.styleUpdater=c,this._createContent(a,b,d),this.updateData(a,b,d),this._seriesModel}function e(a,b,c){return h.map(a,function(a){return a=a.slice(),a[b]=c.initBaseline,a})}function f(a){var b={};return h.each(a,function(a,c){b["ends"+c]=a}),b}function g(a){this.group=new i.Group,this.styleUpdater=a}var h=c(1),i=c(3),j=c(6),k=j.extend({type:"whiskerInBox",shape:{},buildPath:function(a,b){for(var c in b)if(0===c.indexOf("ends")){var d=b[c];a.moveTo(d[0][0],d[0][1]),a.lineTo(d[1][0],d[1][1])}}}),l=d.prototype;l._createContent=function(a,b,c){var d=a.getItemLayout(b),g="horizontal"===d.chartLayout?1:0,j=0;this.add(new i.Polygon({shape:{points:c?e(d.bodyEnds,g,d):d.bodyEnds},style:{strokeNoScale:!0},z2:100})),this.bodyIndex=j++;var l=h.map(d.whiskerEnds,function(a){return c?e(a,g,d):a});this.add(new k({shape:f(l),style:{strokeNoScale:!0},z2:100})),this.whiskerIndex=j++},l.updateData=function(a,b,c){var d=this._seriesModel=a.hostModel,e=a.getItemLayout(b),g=i[c?"initProps":"updateProps"];g(this.childAt(this.bodyIndex),{shape:{points:e.bodyEnds}},d,b),g(this.childAt(this.whiskerIndex),{shape:f(e.whiskerEnds)},d,b),this.styleUpdater.call(null,this,a,b)},h.inherits(d,i.Group);var m=g.prototype;m.updateData=function(a){var b=this.group,c=this._data,e=this.styleUpdater;a.diff(c).add(function(c){if(a.hasValue(c)){var f=new d(a,c,e,(!0));a.setItemGraphicEl(c,f),b.add(f)}}).update(function(f,g){var h=c.getItemGraphicEl(g);return a.hasValue(f)?(h?h.updateData(a,f):h=new d(a,f,e),b.add(h),void a.setItemGraphicEl(f,h)):void b.remove(h)}).remove(function(a){var d=c.getItemGraphicEl(a);d&&b.remove(d)}).execute(),this._data=a},m.remove=function(){var a=this.group,b=this._data;this._data=null,b&&b.eachItemGraphicEl(function(b){b&&a.remove(b)})},a.exports=g},function(a,b,c){c(286),c(287);var d=c(2);d.registerLayout(c(288))},function(a,b,c){"use strict";function d(a){var b=a.data;b&&b[0]&&b[0][0]&&b[0][0].coord&&(a.data=g.map(b,function(a){var b=[a[0].coord,a[1].coord],c={coords:b};return a[0].name&&(c.fromName=a[0].name),a[1].name&&(c.toName=a[1].name),g.mergeAll([c,a[0],a[1]])}))}var e=c(15),f=c(14),g=c(1),h=(c(23),e.extend({type:"series.lines",dependencies:["grid","polar"],visualColorAccessPath:"lineStyle.normal.color",init:function(a){d(a),h.superApply(this,"init",arguments)},mergeOption:function(a){d(a),h.superApply(this,"mergeOption",arguments)},getInitialData:function(a,b){var c=new f(["value"],this);return c.hasItemOption=!1,c.initData(a.data,[],function(a,b,d,e){if(a instanceof Array)return NaN;c.hasItemOption=!0;var f=a.value;return f?f instanceof Array?f[e]:f:void 0}),c},formatTooltip:function(a){var b=this.getData(),c=b.getItemModel(a),d=c.get("name");if(d)return d;var e=c.get("fromName"),f=c.get("toName");return e+" > "+f},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,label:{normal:{show:!1,position:"end"}},lineStyle:{normal:{opacity:.5}}}}))},function(a,b,c){var d=c(93),e=c(225),f=c(92),g=c(226),h=c(281),i=c(283);c(2).extendChartView({type:"lines",init:function(){},render:function(a,b,c){var j=a.getData(),k=this._lineDraw,l=a.get("effect.show"),m=a.get("polyline"),n=a.get("large")&&j.count()>=a.get("largeThreshold");l===this._hasEffet&&m===this._isPolyline&&n===this._isLarge||(k&&k.remove(),k=this._lineDraw=n?new i:new d(m?l?h:g:l?e:f),this._hasEffet=l,this._isPolyline=m,this._isLarge=n);var o=a.get("zlevel"),p=a.get("effect.trailLength"),q=c.getZr();q.painter.getLayer(o).clear(!0),null!=this._lastZlevel&&q.configLayer(this._lastZlevel,{motionBlur:!1}),l&&p&&q.configLayer(o,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(p/10+.9,1),0)}),this.group.add(k.group),k.updateData(j),this._lastZlevel=o},updateLayout:function(a,b,c){this._lineDraw.updateLayout(a);var d=c.getZr();d.painter.getLayer(this._lastZlevel).clear(!0)},remove:function(a,b){this._lineDraw&&this._lineDraw.remove(b,!0)}})},function(a,b,c){a.exports=function(a){a.eachSeriesByType("lines",function(a){var b=a.coordinateSystem,c=a.getData();c.each(function(d){var e=c.getItemModel(d),f=e.option instanceof Array?e.option:e.get("coords"),g=[];if(a.get("polyline"))for(var h=0;h<f.length;h++)g.push(b.dataToPoint(f[h]));else{g[0]=b.dataToPoint(f[0]),g[1]=b.dataToPoint(f[1]);var i=e.get("lineStyle.normal.curveness");+i&&(g[2]=[(g[0][0]+g[1][0])/2-(g[0][1]-g[1][1])*i,(g[0][1]+g[1][1])/2-(g[1][0]-g[0][0])*i])}c.setItemLayout(d,g)})})}},function(a,b,c){var d=c(2),e=d.PRIORITY;c(290),c(291),c(220),c(171),d.registerLayout(c(294)),d.registerVisual(c(295)),d.registerProcessor(e.PROCESSOR.STATISTIC,c(293)),d.registerPreprocessor(c(292)),c(77)("map",[{type:"mapToggleSelect",event:"mapselectchanged",method:"toggleSelected"},{type:"mapSelect",event:"mapselected",method:"select"},{type:"mapUnSelect",event:"mapunselected",method:"unSelect"}])},function(a,b,c){var d=c(14),e=c(15),f=c(1),g=c(30),h=c(8),i=h.encodeHTML,j=h.addCommas,k=c(66),l=c(171),m=e.extend({type:"series.map",layoutMode:"box",needsDrawMap:!1,seriesGroup:[],init:function(a){a=this._fillOption(a,a.map),this.option=a,m.superApply(this,"init",arguments),this.updateSelectedMap(a.data)},getInitialData:function(a){var b=g(["value"],a.data||[]),c=new d(b,this);return c.initData(a.data),c},mergeOption:function(a){a.data&&(a=this._fillOption(a,this.option.map)),m.superCall(this,"mergeOption",a),this.updateSelectedMap(this.option.data)},_fillOption:function(a,b){return a=f.extend({},a),a.data=l.getFilledRegions(a.data,b),a},getRawValue:function(a){return this._data.get("value",a)},getRegionModel:function(a){var b=this.getData();return b.getItemModel(b.indexOfName(a))},formatTooltip:function(a){for(var b=this.getData(),c=j(this.getRawValue(a)),d=b.getName(a),e=this.seriesGroup,f=[],g=0;g<e.length;g++){var h=e[g].originalData.indexOfName(d);isNaN(e[g].originalData.get("value",h))||f.push(i(e[g].name))}return f.join(", ")+"<br />"+d+" : "+c},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"china",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,center:null,zoom:1,scaleLimit:null,label:{normal:{show:!1,textStyle:{color:"#000"}},emphasis:{show:!0,textStyle:{color:"rgb(100,0,0)"}}},itemStyle:{normal:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{areaColor:"rgba(255,215,0,0.8)"}}},setZoom:function(a){this.option.zoom=a},setCenter:function(a){this.option.center=a}});f.mixin(m,k),a.exports=m},function(a,b,c){var d=c(3),e=c(228);c(2).extendChartView({type:"map",render:function(a,b,c,d){if(!d||"mapToggleSelect"!==d.type||d.from!==this.uid){var f=this.group;if(f.removeAll(),d&&"geoRoam"===d.type&&"series"===d.componentType&&d.seriesId===a.id){var g=this._mapDraw;g&&f.add(g.group)}else if(a.needsDrawMap){var g=this._mapDraw||new e(c,(!0));f.add(g.group),g.draw(a,b,c,this,d),this._mapDraw=g}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;a.get("showLegendSymbol")&&b.getComponent("legend")&&this._renderSymbols(a,b,c)}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},_renderSymbols:function(a,b,c){var e=a.originalData,f=this.group;e.each("value",function(b,c){if(!isNaN(b)){var g=e.getItemLayout(c);if(g&&g.point){var h=g.point,i=g.offset,j=new d.Circle({style:{fill:a.getData().getVisual("color")},shape:{cx:h[0]+9*i,cy:h[1],r:3},silent:!0,z2:10});if(!i){var k=a.mainSeries.getData(),l=e.getName(c),m=l,n=k.indexOfName(l),o=e.getItemModel(c),p=o.getModel("label.normal"),q=o.getModel("label.emphasis"),r=p.getModel("textStyle"),s=q.getModel("textStyle"),t=k.getItemGraphicEl(n);j.setStyle({textPosition:"bottom"});var u=function(){j.setStyle({text:q.get("show")?m:"",textFill:s.getTextColor(),textFont:s.getFont()})},v=function(){j.setStyle({text:p.get("show")?m:"",textFill:r.getTextColor(),textFont:r.getFont()})};t.on("mouseover",u).on("mouseout",v).on("emphasis",u).on("normal",v),v()}f.add(j)}}})}})},function(a,b,c){var d=c(1);a.exports=function(a){var b=[];d.each(a.series,function(a){"map"===a.type&&b.push(a)}),d.each(b,function(a){a.map=a.map||a.mapType,d.defaults(a,a.mapLocation)})}},function(a,b,c){function d(a,b){for(var c={},d=["value"],e=0;e<a.length;e++)a[e].each(d,function(b,d){var f=a[e].getName(d);c[f]=c[f]||[],isNaN(b)||c[f].push(b)});return a[0].map(d,function(d,e){for(var f=a[0].getName(e),g=0,h=1/0,i=-(1/0),j=c[f].length,k=0;j>k;k++)h=Math.min(h,c[f][k]),i=Math.max(i,c[f][k]),g+=c[f][k];var l;return l="min"===b?h:"max"===b?i:"average"===b?g/j:g,0===j?NaN:l})}var e=c(1);a.exports=function(a){var b={};a.eachSeriesByType("map",function(a){var c=a.get("map");b[c]=b[c]||[],b[c].push(a)}),e.each(b,function(a,b){for(var c=d(e.map(a,function(a){return a.getData()}),a[0].get("mapValueCalculation")),f=0;f<a.length;f++)a[f].originalData=a[f].getData();for(var f=0;f<a.length;f++)a[f].seriesGroup=a,a[f].needsDrawMap=0===f,a[f].setData(c.cloneShallow()),a[f].mainSeries=a[0]})}},function(a,b,c){var d=c(1);a.exports=function(a){var b={};a.eachSeriesByType("map",function(c){var e=c.get("map");if(!b[e]){var f={};d.each(c.seriesGroup,function(b){var c=b.coordinateSystem,d=b.originalData;b.get("showLegendSymbol")&&a.getComponent("legend")&&d.each("value",function(a,b){var e=d.getName(b),g=c.getRegion(e);if(g&&!isNaN(a)){var h=f[e]||0,i=c.dataToPoint(g.center);f[e]=h+1,d.setItemLayout(b,{point:i,offset:h})}})});var g=c.getData();g.each(function(a){var b=g.getName(a),c=g.getItemLayout(a)||{};c.showLabel=!f[b],g.setItemLayout(a,c)}),b[e]=!0}})}},function(a,b){a.exports=function(a){a.eachSeriesByType("map",function(a){var b=a.get("color"),c=a.getModel("itemStyle.normal"),d=c.get("areaColor"),e=c.get("color")||b[a.seriesIndex%b.length];a.getData().setVisual({areaColor:d,color:e})})}},function(a,b,c){var d=c(2);c(229),c(297),c(298),d.registerVisual(c(299))},function(a,b,c){function d(a,b,c){var d=a.get("data"),f=e(b);d&&d.length&&h.each(c,function(a){if(a){var b=h.indexOf(d,a[f]);a[f]=b>=0?b:NaN}})}function e(a){return+a.replace("dim","")}function f(a,b){var c=0;h.each(a,function(a){var b=e(a);b>c&&(c=b)});var d=b[0];d&&d.length-1>c&&(c=d.length-1);for(var f=[],g=0;c>=g;g++)f.push("dim"+g);return f}var g=c(14),h=c(1),i=c(15),j=c(30);a.exports=i.extend({type:"series.parallel",dependencies:["parallel"],getInitialData:function(a,b){var c=b.getComponent("parallel",this.get("parallelIndex")),e=c.parallelAxisIndex,i=a.data,k=c.dimensions,l=f(k,i),m=h.map(l,function(a,c){var f=h.indexOf(k,a),g=f>=0&&b.getComponent("parallelAxis",e[f]);return g&&"category"===g.get("type")?(d(g,a,i),{name:a,type:"ordinal"}):0>f&&j.guessOrdinal(i,c)?{name:a,type:"ordinal"}:a}),n=new g(m,this);return n.initData(i),this.option.progressive&&(this.option.animation=!1),n},getRawIndicesByActiveState:function(a){var b=this.coordinateSystem,c=this.getData(),d=[];return b.eachActiveState(c,function(b,e){a===b&&d.push(c.getRawIndex(e))}),d},defaultOption:{zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{normal:{show:!1},emphasis:{show:!1}},inactiveOpacity:.05,activeOpacity:1,lineStyle:{normal:{width:1,opacity:.45,type:"solid"}},progressive:!1,smooth:!1,animationEasing:"linear"}})},function(a,b,c){function d(a,b,c){var d=a.model,e=a.getRect(),f=new i.Rect({shape:{x:e.x,y:e.y,width:e.width,height:e.height}}),g="horizontal"===d.get("layout")?"width":"height";return f.setShape(g,0),i.initProps(f,{shape:{width:e.width,height:e.height}},b,c),f}function e(a,b,c,d){for(var e=[],f=0;f<c.length;f++){var g=c[f],i=a.get(g,b);h(i,d.getAxis(g).type)||e.push(d.dataToPoint(i,g))}return e}function f(a,b,c,d,f){var g=e(a,c,d,f),h=new i.Polyline({shape:{points:g},silent:!0,z2:10});b.add(h),a.setItemGraphicEl(c,h)}function g(a,b){var c=a.hostModel.getModel("lineStyle.normal"),d=c.getLineStyle();a.eachItemGraphicEl(function(e,f){if(a.hasItemOption){var g=a.getItemModel(f),h=g.getModel("lineStyle.normal",c);d=h.getLineStyle()}e.useStyle(j.extend(d,{fill:null,stroke:a.getItemVisual(f,"color"),opacity:a.getItemVisual(f,"opacity")})),e.shape.smooth=b})}function h(a,b){return"category"===b?null==a:null==a||isNaN(a)}var i=c(3),j=c(1),k=.3,l=c(27).extend({type:"parallel",init:function(){this._dataGroup=new i.Group,this.group.add(this._dataGroup),this._data},render:function(a,b,c,d){this._renderForNormal(a)},_renderForNormal:function(a){function b(a){f(l,j,a,o,n,null,q)}function c(b,c){var d=m.getItemGraphicEl(c),f=e(l,b,o,n);l.setItemGraphicEl(b,d),i.updateProps(d,{shape:{points:f}},a,b)}function h(a){var b=m.getItemGraphicEl(a);j.remove(b)}var j=this._dataGroup,l=a.getData(),m=this._data,n=a.coordinateSystem,o=n.dimensions,p=a.option,q=p.smooth?k:null;if(l.diff(m).add(b).update(c).remove(h).execute(),g(l,q),!this._data){var r=d(n,a,function(){setTimeout(function(){j.removeClipPath()})});j.setClipPath(r)}this._data=l},remove:function(){this._dataGroup&&this._dataGroup.removeAll(),this._data=null}});a.exports=l},function(a,b){a.exports=function(a){a.eachSeriesByType("parallel",function(b){var c=b.getModel("itemStyle.normal"),d=b.getModel("lineStyle.normal"),e=a.get("color"),f=d.get("color")||c.get("color")||e[b.seriesIndex%e.length],g=b.get("inactiveOpacity"),h=b.get("activeOpacity"),i=b.getModel("lineStyle.normal").getLineStyle(),j=b.coordinateSystem,k=b.getData(),l={normal:i.opacity,active:h,inactive:g};j.eachActiveState(k,function(a,b){k.setItemVisual(b,"opacity",l[a])}),k.setVisual("color",f)})}},function(a,b,c){var d=c(1),e=c(2);c(334),c(301),c(302),e.registerVisual(d.curry(c(72),"radar")),e.registerVisual(d.curry(c(46),"radar","circle",null)),e.registerLayout(c(304)),e.registerProcessor(d.curry(c(70),"radar")),e.registerPreprocessor(c(303))},function(a,b,c){"use strict";var d=c(15),e=c(14),f=c(30),g=c(1),h=d.extend({type:"series.radar",dependencies:["radar"],init:function(a){h.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._dataBeforeProcessed}},getInitialData:function(a,b){var c=a.data||[],d=f([],c,[],"indicator_"),g=new e(d,this);return g.initData(c),g},formatTooltip:function(a){var b=this.getRawValue(a),c=this.coordinateSystem,d=c.getIndicatorAxes();return(""==this._data.getName(a)?this.name:this._data.getName(a))+"<br/>"+g.map(d,function(a,c){return a.name+" : "+b[c]}).join("<br />")},defaultOption:{zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{normal:{width:2,type:"solid"}},label:{normal:{position:"top"}},symbol:"emptyCircle",symbolSize:4}});a.exports=h},function(a,b,c){function d(a){return f.isArray(a)||(a=[+a,+a]),a}var e=c(3),f=c(1),g=c(26);a.exports=c(2).extendChartView({type:"radar",render:function(a,b,c){function h(a,b){var c=a.getItemVisual(b,"symbol")||"circle",e=a.getItemVisual(b,"color");if("none"!==c){var f=g.createSymbol(c,-.5,-.5,1,1,e);return f.attr({style:{strokeNoScale:!0},z2:100,scale:d(a.getItemVisual(b,"symbolSize"))}),f}}function i(b,c,d,f,g,i){d.removeAll();for(var j=0;j<c.length-1;j++){var k=h(f,g);k&&(k.__dimIdx=j,b[j]?(k.attr("position",b[j]),e[i?"initProps":"updateProps"](k,{position:c[j]},a,g)):k.attr("position",c[j]),d.add(k))}}function j(a){return f.map(a,function(a){return[k.cx,k.cy]})}var k=a.coordinateSystem,l=this.group,m=a.getData(),n=this._data;m.diff(n).add(function(b){var c=m.getItemLayout(b);if(c){var d=new e.Polygon,f=new e.Polyline,g={shape:{points:c}};d.shape.points=j(c),f.shape.points=j(c),e.initProps(d,g,a,b),e.initProps(f,g,a,b);var h=new e.Group,k=new e.Group;h.add(f),h.add(d),h.add(k),i(f.shape.points,c,k,m,b,!0),m.setItemGraphicEl(b,h)}}).update(function(b,c){var d=n.getItemGraphicEl(c),f=d.childAt(0),g=d.childAt(1),h=d.childAt(2),j={shape:{points:m.getItemLayout(b)}};j.shape.points&&(i(f.shape.points,j.shape.points,h,m,b,!1),e.updateProps(f,j,a),e.updateProps(g,j,a),m.setItemGraphicEl(b,d))}).remove(function(a){l.remove(n.getItemGraphicEl(a))}).execute(),m.eachItemGraphicEl(function(b,c){function d(){j.attr("ignore",r)}function g(){j.attr("ignore",q)}var h=m.getItemModel(c),i=b.childAt(0),j=b.childAt(1),k=b.childAt(2),n=m.getItemVisual(c,"color");l.add(b),i.useStyle(f.defaults(h.getModel("lineStyle.normal").getLineStyle(),{fill:"none",stroke:n})),i.hoverStyle=h.getModel("lineStyle.emphasis").getLineStyle();var o=h.getModel("areaStyle.normal"),p=h.getModel("areaStyle.emphasis"),q=o.isEmpty()&&o.parentModel.isEmpty(),r=p.isEmpty()&&p.parentModel.isEmpty();r=r&&q,j.ignore=q,j.useStyle(f.defaults(o.getAreaStyle(),{fill:n,opacity:.7})),j.hoverStyle=p.getAreaStyle();var s=h.getModel("itemStyle.normal").getItemStyle(["color"]),t=h.getModel("itemStyle.emphasis").getItemStyle(),u=h.getModel("label.normal"),v=h.getModel("label.emphasis");k.eachChild(function(b){b.setStyle(s),b.hoverStyle=f.clone(t);var d=m.get(m.dimensions[b.__dimIdx],c);e.setText(b.style,u,n),b.setStyle({text:u.get("show")?f.retrieve(a.getFormattedLabel(c,"normal",null,b.__dimIdx),d):""}),e.setText(b.hoverStyle,v,n),b.hoverStyle.text=v.get("show")?f.retrieve(a.getFormattedLabel(c,"emphasis",null,b.__dimIdx),d):""}),b.off("mouseover").off("mouseout").off("normal").off("emphasis"),b.on("emphasis",d).on("mouseover",d).on("normal",g).on("mouseout",g),e.setHoverStyle(b)}),this._data=m},remove:function(){this.group.removeAll(),this._data=null}})},function(a,b,c){var d=c(1);a.exports=function(a){var b=a.polar;if(b){d.isArray(b)||(b=[b]);var c=[];d.each(b,function(b,e){b.indicator?(b.type&&!b.shape&&(b.shape=b.type),a.radar=a.radar||[],d.isArray(a.radar)||(a.radar=[a.radar]),a.radar.push(b)):c.push(b)}),a.polar=c}d.each(a.series,function(a){"radar"===a.type&&a.polarIndex&&(a.radarIndex=a.polarIndex)})}},function(a,b){a.exports=function(a){a.eachSeriesByType("radar",function(a){function b(a,b){d[b]=d[b]||[],d[b][f]=e.dataToPoint(a,f)}var c=a.getData(),d=[],e=a.coordinateSystem;if(e){for(var f=0;f<e.getIndicatorAxes().length;f++){var g=c.dimensions[f];c.each(g,b)}c.each(function(a){d[a][0]&&d[a].push(d[a][0].slice()),c.setItemLayout(a,d[a])})}})}},function(a,b,c){var d=c(2);c(306),c(307),d.registerLayout(c(308)),d.registerVisual(c(309))},function(a,b,c){var d=c(15),e=c(227),f=d.extend({type:"series.sankey",layoutInfo:null,getInitialData:function(a){var b=a.edges||a.links,c=a.data||a.nodes;if(c&&b){var d=e(c,b,this,!0);return d.data}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},formatTooltip:function(a,b,c){if("edge"===c){var d=this.getDataParams(a,c),e=d.data,g=e.source+" -- "+e.target;return d.value&&(g+=" : "+d.value),g}return f.superCall(this,"formatTooltip",a,b)},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",layout:null,left:"5%",top:"5%",right:"20%",bottom:"5%",nodeWidth:20,nodeGap:8,layoutIterations:32,label:{normal:{show:!0,position:"right",textStyle:{color:"#000",fontSize:12}},emphasis:{show:!0}},itemStyle:{normal:{borderWidth:1,borderColor:"#333"}},lineStyle:{normal:{color:"#314656",opacity:.2,curveness:.5},emphasis:{opacity:.6}},animationEasing:"linear",animationDuration:1e3}});a.exports=f},function(a,b,c){function d(a,b,c){var d=new e.Rect({shape:{x:a.x-10,y:a.y-10,width:0,height:a.height+20}});return e.initProps(d,{shape:{width:a.width+20,height:a.height+20}},b,c),d}var e=c(3),f=c(1),g=e.extendShape({shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,cpx2:0,cpy2:0,extent:0},buildPath:function(a,b){var c=b.extent/2;a.moveTo(b.x1,b.y1-c),a.bezierCurveTo(b.cpx1,b.cpy1-c,b.cpx2,b.cpy2-c,b.x2,b.y2-c),a.lineTo(b.x2,b.y2+c),a.bezierCurveTo(b.cpx2,b.cpy2+c,b.cpx1,b.cpy1+c,b.x1,b.y1+c),a.closePath()}});a.exports=c(2).extendChartView({type:"sankey",_model:null,render:function(a,b,c){var h=a.getGraph(),i=this.group,j=a.layoutInfo,k=a.getData(),l=a.getData("edge");this._model=a,i.removeAll(),i.position=[j.x,j.y],h.eachEdge(function(b){var c=new g;c.dataIndex=b.dataIndex,c.seriesIndex=a.seriesIndex,c.dataType="edge";var d=b.getModel("lineStyle.normal"),f=d.get("curveness"),h=b.node1.getLayout(),j=b.node2.getLayout(),k=b.getLayout();c.shape.extent=Math.max(1,k.dy);var m=h.x+h.dx,n=h.y+k.sy+k.dy/2,o=j.x,p=j.y+k.ty+k.dy/2,q=m*(1-f)+o*f,r=n,s=m*f+o*(1-f),t=p;switch(c.setShape({x1:m,y1:n,x2:o,y2:p,cpx1:q,cpy1:r,cpx2:s,cpy2:t}),c.setStyle(d.getItemStyle()),c.style.fill){case"source":c.style.fill=b.node1.getVisual("color");break;case"target":c.style.fill=b.node2.getVisual("color")}e.setHoverStyle(c,b.getModel("lineStyle.emphasis").getItemStyle()),i.add(c),l.setItemGraphicEl(b.dataIndex,c)}),h.eachNode(function(b){var c=b.getLayout(),d=b.getModel(),g=d.getModel("label.normal"),h=g.getModel("textStyle"),j=d.getModel("label.emphasis"),l=j.getModel("textStyle"),m=new e.Rect({shape:{x:c.x,y:c.y,width:b.getLayout().dx,height:b.getLayout().dy},style:{text:g.get("show")?a.getFormattedLabel(b.dataIndex,"normal")||b.id:"",textFont:h.getFont(),textFill:h.getTextColor(),textPosition:g.get("position")}});m.setStyle(f.defaults({fill:b.getVisual("color")},d.getModel("itemStyle.normal").getItemStyle())),e.setHoverStyle(m,f.extend(b.getModel("itemStyle.emphasis"),{text:j.get("show")?a.getFormattedLabel(b.dataIndex,"emphasis")||b.id:"",textFont:l.getFont(),textFill:l.getTextColor(),textPosition:j.get("position")})),i.add(m),k.setItemGraphicEl(b.dataIndex,m),m.dataType="node"}),!this._data&&a.get("animation")&&i.setClipPath(d(i.getBoundingRect(),a,function(){i.removeClipPath()})),this._data=a.getData()}})},function(a,b,c){function d(a,b){return y.getLayoutRect(a.getBoxLayoutParams(),{width:b.getWidth(),height:b.getHeight()})}function e(a,b,c,d,e,f,h){g(a,c,e),j(a,b,f,d,h),q(a)}function f(a){A.each(a,function(a){var b=t(a.outEdges,x),c=t(a.inEdges,x),d=Math.max(b,c);a.setLayout({value:d},!0)})}function g(a,b,c){for(var d=a,e=null,f=0,g=0;d.length;){e=[];for(var j=0,k=d.length;k>j;j++){var l=d[j];l.setLayout({x:f},!0),l.setLayout({dx:b},!0);for(var m=0,n=l.outEdges.length;n>m;m++)e.push(l.outEdges[m].node2)}d=e,++f}h(a,f),g=(c-b)/(f-1),i(a,g)}function h(a,b){A.each(a,function(a){a.outEdges.length||a.setLayout({x:b-1},!0)})}function i(a,b){A.each(a,function(a){var c=a.getLayout().x*b;a.setLayout({x:c},!0)})}function j(a,b,c,d,e){var f=z().key(function(a){return a.getLayout().x}).sortKeys(w).entries(a).map(function(a){return a.values});k(a,f,b,c,d),l(f,d,c);for(var g=1;e>0;e--)g*=.99,m(f,g),l(f,d,c),o(f,g),l(f,d,c)}function k(a,b,c,d,e){var f=[];A.each(b,function(a){var b=a.length,c=0;A.each(a,function(a){c+=a.getLayout().value});var g=(d-(b-1)*e)/c;f.push(g)}),f.sort(function(a,b){return a-b});var g=f[0];A.each(b,function(a){A.each(a,function(a,b){a.setLayout({y:b},!0);var c=a.getLayout().value*g;a.setLayout({dy:c},!0)})}),A.each(c,function(a){var b=+a.getValue()*g;a.setLayout({dy:b},!0)})}function l(a,b,c){A.each(a,function(a){var d,e,f,g=0,h=a.length;for(a.sort(v),f=0;h>f;f++){if(d=a[f],e=g-d.getLayout().y,e>0){var i=d.getLayout().y+e;d.setLayout({y:i},!0)}g=d.getLayout().y+d.getLayout().dy+b}if(e=g-b-c,e>0){var i=d.getLayout().y-e;for(d.setLayout({y:i},!0),g=d.getLayout().y,f=h-2;f>=0;--f)d=a[f],e=d.getLayout().y+d.getLayout().dy+b-g,e>0&&(i=d.getLayout().y-e,d.setLayout({y:i},!0)),g=d.getLayout().y}})}function m(a,b){A.each(a.slice().reverse(),function(a){A.each(a,function(a){if(a.outEdges.length){var c=t(a.outEdges,n)/t(a.outEdges,x),d=a.getLayout().y+(c-u(a))*b;a.setLayout({y:d},!0)}})})}function n(a){return u(a.node2)*a.getValue()}function o(a,b){A.each(a,function(a){A.each(a,function(a){if(a.inEdges.length){var c=t(a.inEdges,p)/t(a.inEdges,x),d=a.getLayout().y+(c-u(a))*b;a.setLayout({y:d},!0)}})})}function p(a){return u(a.node1)*a.getValue()}function q(a){A.each(a,function(a){a.outEdges.sort(r),a.inEdges.sort(s)}),A.each(a,function(a){var b=0,c=0;A.each(a.outEdges,function(a){a.setLayout({sy:b},!0),b+=a.getLayout().dy}),A.each(a.inEdges,function(a){a.setLayout({ty:c},!0),c+=a.getLayout().dy})})}function r(a,b){return a.node2.getLayout().y-b.node2.getLayout().y}function s(a,b){return a.node1.getLayout().y-b.node1.getLayout().y}function t(a,b){for(var c=0,d=a.length,e=-1;++e<d;){var f=+b.call(a,a[e],e);isNaN(f)||(c+=f)}return c}function u(a){return a.getLayout().y+a.getLayout().dy/2}function v(a,b){return a.getLayout().y-b.getLayout().y}function w(a,b){return b>a?-1:a>b?1:a===b?0:NaN}function x(a){return a.getValue()}var y=c(13),z=c(381),A=c(1);a.exports=function(a,b,c){a.eachSeriesByType("sankey",function(a){var c=a.get("nodeWidth"),g=a.get("nodeGap"),h=d(a,b);a.layoutInfo=h;var i=h.width,j=h.height,k=a.getGraph(),l=k.nodes,m=k.edges;f(l);var n=l.filter(function(a){return 0===a.getLayout().value}),o=0!==n.length?0:a.get("layoutIterations");e(l,m,c,g,i,j,o)})}},function(a,b,c){var d=c(71);a.exports=function(a,b){a.eachSeriesByType("sankey",function(a){var b=a.getGraph(),c=b.nodes;c.sort(function(a,b){return a.getLayout().value-b.getLayout().value});var e=c[0].getLayout().value,f=c[c.length-1].getLayout().value;c.forEach(function(b){var c=new d({type:"color",mappingMethod:"linear",dataExtent:[e,f],visual:a.get("color")}),g=c.mapValueToVisual(b.getLayout().value);b.setVisual("color",g);var h=b.getModel(),i=h.get("itemStyle.normal.color");null!=i&&b.setVisual("color",i)})})}},function(a,b,c){var d=c(2);c(312),c(313),c(314),d.registerVisual(c(316)),d.registerLayout(c(315))},function(a,b,c){function d(a,b){this.group=new f.Group,a.add(this.group),this._onSelect=b||h.noop}function e(a,b,c,d,e,f){var g=[[e?a:a-k,b],[a+c,b],[a+c,b+d],[e?a:a-k,b+d]];return!f&&g.splice(2,0,[a+c+k,b+d/2]),!e&&g.push([a,b+d/2]),g}var f=c(3),g=c(13),h=c(1),i=8,j=8,k=5;d.prototype={constructor:d,render:function(a,b,c){var d=a.getModel("breadcrumb"),e=this.group;if(e.removeAll(),d.get("show")&&c){var f=d.getModel("itemStyle.normal"),h=f.getModel("textStyle"),i={pos:{left:d.get("left"),right:d.get("right"),top:d.get("top"),bottom:d.get("bottom")},box:{width:b.getWidth(),height:b.getHeight()},emptyItemWidth:d.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(d,c,i,h),this._renderContent(d,c,i,f,h),g.positionGroup(e,i.pos,i.box)}},_prepare:function(a,b,c,d){for(var e=b;e;e=e.parentNode){var f=e.getModel().get("name"),g=d.getTextRect(f),h=Math.max(g.width+2*i,c.emptyItemWidth);c.totalWidth+=h+j,c.renderList.push({node:e,text:f,width:h})}},_renderContent:function(a,b,c,d,i){for(var k=0,l=c.emptyItemWidth,m=a.get("height"),n=g.getAvailableSize(c.pos,c.box),o=c.totalWidth,p=c.renderList,q=p.length-1;q>=0;q--){var r=p[q],s=r.width,t=r.text;o>n.width&&(o-=s-l,s=l,t=""),this.group.add(new f.Polygon({shape:{points:e(k,0,s,m,q===p.length-1,0===q)},style:h.defaults(d.getItemStyle(),{lineJoin:"bevel",text:t,textFill:i.getTextColor(),textFont:i.getFont()}),z:10,onclick:h.bind(this._onSelect,this,r.node)})),k+=s+j}},remove:function(){this.group.removeAll()}},a.exports=d},function(a,b,c){function d(a,b){var c=0;h.each(a.children,function(a){d(a,b);var e=a.value;h.isArray(e)&&(e=e[0]),c+=e});var e=a.value;b>=0&&(h.isArray(e)?e=e[0]:a.value=new Array(b)),(null==e||isNaN(e))&&(e=c),0>e&&(e=0),b>=0?a.value[0]=e:a.value=e}function e(a,b){var c=b.get("color");if(c){a=a||[];var d;if(h.each(a,function(a){var b=new i(a),c=b.get("color");(b.get("itemStyle.normal.color")||c&&"none"!==c)&&(d=!0)}),!d){var e=a[0]||(a[0]={});e.color=c.slice()}return a}}var f=c(15),g=c(379),h=c(1),i=c(9),j=c(8),k=j.encodeHTML,l=j.addCommas;a.exports=f.extend({type:"series.treemap",dependencies:["grid","polar"],_viewRoot:null,defaultOption:{progressive:0,hoverLayerThreshold:1/0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"▶",visualDimension:0,zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{normal:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}}},label:{normal:{show:!0,position:"inside",textStyle:{color:"#fff",ellipsis:!0}}},itemStyle:{normal:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{}},color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(a,b){var c=a.data||[],f=a.name;null==f&&(f=a.name);var i={name:f,children:a.data},j=(c[0]||{}).value;d(i,h.isArray(j)?j.length:-1);var k=a.levels||[];return k=a.levels=e(k,b),g.createTree(i,this,k).data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(a){var b=this.getData(),c=this.getRawValue(a),d=l(h.isArray(c)?c[0]:c),e=b.getName(a);return k(e)+": "+d},getDataParams:function(a){for(var b=f.prototype.getDataParams.apply(this,arguments),c=this.getData(),d=c.tree.getNodeByDataIndex(a),e=b.treePathInfo=[];d;){var g=d.dataIndex;e.push({name:d.name,dataIndex:g,value:this.getRawValue(g)}),d=d.parentNode}return e.reverse(),b},setLayoutInfo:function(a){this.layoutInfo=this.layoutInfo||{},h.extend(this.layoutInfo,a)},mapIdToIndex:function(a){var b=this._idIndexMap;b||(b=this._idIndexMap={},this._idIndexMapCount=0);var c=b[a];return null==c&&(b[a]=c=this._idIndexMapCount++),c},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(a){a?this._viewRoot=a:a=this._viewRoot;var b=this.getData().tree.root;a&&(a===b||b.contains(a))||(this._viewRoot=b)}})},function(a,b,c){function d(){return{nodeGroup:[],background:[],content:[]}}function e(a,b,c,d,e,i,j,k,l,m){function n(b){J.dataIndex=j.dataIndex,J.seriesIndex=a.seriesIndex;var c=A.borderWidth,d=Math.max(B-2*c,0),e=Math.max(C-2*c,0);J.culling=!0,J.setShape({x:c,y:c,width:d,height:e});var f=j.getVisual("color",!0);o(J,function(){var a={fill:f},b=j.getModel("itemStyle.emphasis").getItemStyle();p(a,b,f,d,e),J.setStyle(a),h.setHoverStyle(J,b)}),b.add(J)}function o(a,b){D?!a.invisible&&i.push(a):(b(),a.__tmWillVisible||(a.invisible=!1))}function p(b,c,d,e,f){var g=j.getModel(),h=g.get("name");if(A.isLeafRoot){var i=a.get("drillDownIcon",!0);h=i?i+" "+h:test}s(h,b,g,u,d,e,f),s(h,c,g,v,d,e,f)}function s(a,b,c,d,e,f,g){var i=c.getModel(d),j=i.getModel("textStyle");h.setText(b,i,e),b.textAlign=j.get("align"),b.textVerticalAlign=j.get("baseline");var k=j.getTextRect(a);!i.getShallow("show")||k.height>g?b.text="":k.width>f?b.text=j.get("ellipsis")?j.truncateText(a,f,null,{
+minChar:2}):"":b.text=a}function t(a,d,g,h){var i=null!=F&&c[a][F],j=e[a];return i?(c[a][F]=null,w(j,i,a)):D||(i=new d({z:f(g,h)}),i.__tmDepth=g,i.__tmStorageName=a,z(j,i,a)),b[a][E]=i}function w(a,b,c){var d=a[E]={};d.old="nodeGroup"===c?b.position.slice():g.extend({},b.shape)}function z(a,b,c){var f=a[E]={},g=j.parentNode;if(g&&(!d||"drillDown"===d.direction)){var h=0,i=0,k=e.background[g.getRawIndex()];!d&&k&&k.old&&(h=k.old.width,i=k.old.height),f.old="nodeGroup"===c?[0,i]:{x:h,y:i,width:0,height:0}}f.fadein="nodeGroup"!==c}if(j){var A=j.getLayout();if(A&&A.isInView){var B=A.width,C=A.height,D=A.invisible,E=j.getRawIndex(),F=k&&k.getRawIndex(),G=t("nodeGroup",q);if(G){if(l.add(G),G.attr("position",[A.x||0,A.y||0]),G.__tmNodeWidth=B,G.__tmNodeHeight=C,A.isAboveViewRoot)return G;var H=t("background",r,m,x);H&&(H.setShape({x:0,y:0,width:B,height:C}),o(H,function(){H.setStyle("fill",j.getVisual("borderColor",!0))}),G.add(H));var I=j.viewChildren;if(!I||!I.length){var J=t("content",r,m,y);J&&n(G)}return G}}}}function f(a,b){var c=a*w+b;return(c-1)/c}var g=c(1),h=c(3),i=c(45),j=c(170),k=c(311),l=c(78),m=c(7),n=c(19),o=c(380),p=g.bind,q=h.Group,r=h.Rect,s=g.each,t=3,u=["label","normal"],v=["label","emphasis"],w=10,x=1,y=2;a.exports=c(2).extendChartView({type:"treemap",init:function(a,b){this._containerGroup,this._storage=d(),this._oldTree,this._breadcrumb,this._controller,this._state="ready",this._mayClick},render:function(a,b,c,d){var e=b.findComponents({mainType:"series",subType:"treemap",query:d});if(!(g.indexOf(e,a)<0)){this.seriesModel=a,this.api=c,this.ecModel=b;var f=j.retrieveTargetInfo(d,a),h=d&&d.type,i=a.layoutInfo,k=!this._oldTree,l=this._storage,m="treemapRootToNode"===h&&f&&l?{rootNodeGroup:l.nodeGroup[f.node.getRawIndex()],direction:d.direction}:null,n=this._giveContainerGroup(i),o=this._doRender(n,a,m);k||h&&"treemapZoomToNode"!==h&&"treemapRootToNode"!==h?o.renderFinally():this._doAnimation(n,o,a,m),this._resetController(c),this._renderBreadcrumb(a,c,f)}},_giveContainerGroup:function(a){var b=this._containerGroup;return b||(b=this._containerGroup=new q,this._initEvents(b),this.group.add(b)),b.attr("position",[a.x,a.y]),b},_doRender:function(a,b,c){function f(a,b,c,d,e){function h(a){return a.getId()}function j(g,h){var i=null!=g?a[g]:null,j=null!=h?b[h]:null,k=q(i,j,c,e);k&&f(i&&i.viewChildren||[],j&&j.viewChildren||[],k,d,e+1)}d?(b=a,s(a,function(a,b){!a.isRemoved()&&j(b,b)})):new i(b,a,h,h).add(j).update(j).remove(g.curry(j,null)).execute()}function h(a){var b=d();return a&&s(a,function(a,c){var d=b[c];s(a,function(a){a&&(d.push(a),a.__tmWillDelete=1)})}),b}function j(){s(r,function(a){s(a,function(a){a.parent&&a.parent.remove(a)})}),s(p,function(a){a.invisible=!0,a.dirty()})}var k=b.getData().tree,l=this._oldTree,m=d(),n=d(),o=this._storage,p=[],q=g.curry(e,b,n,o,c,m,p);f(k.root?[k.root]:[],l&&l.root?[l.root]:[],a,k===l||!l,0);var r=h(o);return this._oldTree=k,this._storage=n,{lastsForAnimation:m,willDeleteEls:r,renderFinally:j}},_doAnimation:function(a,b,c,d){if(c.get("animation")){var e=c.get("animationDurationUpdate"),f=c.get("animationEasing"),h=o.createWrap();s(b.willDeleteEls,function(a,b){s(a,function(a,c){if(!a.invisible){var g,i=a.parent;if(d&&"drillDown"===d.direction)g=i===d.rootNodeGroup?{shape:{x:0,y:0,width:i.__tmNodeWidth,height:i.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var j=0,k=0;i.__tmWillDelete||(j=i.__tmNodeWidth/2,k=i.__tmNodeHeight/2),g="nodeGroup"===b?{position:[j,k],style:{opacity:0}}:{shape:{x:j,y:k,width:0,height:0},style:{opacity:0}}}g&&h.add(a,g,e,f)}})}),s(this._storage,function(a,c){s(a,function(a,d){var i=b.lastsForAnimation[c][d],j={};i&&("nodeGroup"===c?i.old&&(j.position=a.position.slice(),a.attr("position",i.old)):(i.old&&(j.shape=g.extend({},a.shape),a.setShape(i.old)),i.fadein?(a.setStyle("opacity",0),j.style={opacity:1}):1!==a.style.opacity&&(j.style={opacity:1})),h.add(a,j,e,f))})},this),this._state="animating",h.done(p(function(){this._state="ready",b.renderFinally()},this)).start()}},_resetController:function(a){var b=this._controller;b||(b=this._controller=new l(a.getZr()),b.enable(this.seriesModel.get("roam")),b.on("pan",p(this._onPan,this)),b.on("zoom",p(this._onZoom,this)));var c=new m(0,0,a.getWidth(),a.getHeight());b.rectProvider=function(){return c}},_clearController:function(){var a=this._controller;a&&(a.off("pan").off("zoom"),a=null)},_onPan:function(a,b){if(this._mayClick=!1,"animating"!==this._state&&(Math.abs(a)>t||Math.abs(b)>t)){var c=this.seriesModel.getData().tree.root;if(!c)return;var d=c.getLayout();if(!d)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:d.x+a,y:d.y+b,width:d.width,height:d.height}})}},_onZoom:function(a,b,c){if(this._mayClick=!1,"animating"!==this._state){var d=this.seriesModel.getData().tree.root;if(!d)return;var e=d.getLayout();if(!e)return;var f=new m(e.x,e.y,e.width,e.height),g=this.seriesModel.layoutInfo;b-=g.x,c-=g.y;var h=n.create();n.translate(h,h,[-b,-c]),n.scale(h,h,[a,a]),n.translate(h,h,[b,c]),f.applyTransform(h),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:f.x,y:f.y,width:f.width,height:f.height}})}},_initEvents:function(a){function b(a){var b=this.seriesModel.get("nodeClick",!0);if(b){var c=this.findTarget(a.offsetX,a.offsetY);if(c){var d=c.node;if(d.getLayout().isLeafRoot)this._rootToNode(c);else if("zoomToNode"===b)this._zoomToNode(c);else if("link"===b){var e=d.hostTree.data.getItemModel(d.dataIndex),f=e.get("link",!0),g=e.get("target",!0)||"blank";f&&window.open(f,g)}}}}a.on("mousedown",function(a){"ready"===this._state&&(this._mayClick=!0)},this),a.on("mouseup",function(a){this._mayClick&&(this._mayClick=!1,"ready"===this._state&&b.call(this,a))},this)},_renderBreadcrumb:function(a,b,c){function d(b){"animating"!==this._state&&(j.aboveViewRoot(a.getViewRoot(),b)?this._rootToNode({node:b}):this._zoomToNode({node:b}))}c||(c=this.findTarget(b.getWidth()/2,b.getHeight()/2),c||(c={node:a.getData().tree.root})),(this._breadcrumb||(this._breadcrumb=new k(this.group,p(d,this)))).render(a,b,c.node)},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage=d(),this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(a){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:a.node})},_rootToNode:function(a){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:a.node})},findTarget:function(a,b){var c,d=this.seriesModel.getViewRoot();return d.eachNode({attr:"viewChildren",order:"preorder"},function(d){var e=this._storage.background[d.getRawIndex()];if(e){var f=e.transformCoordToLocal(a,b),g=e.shape;if(!(g.x<=f[0]&&f[0]<=g.x+g.width&&g.y<=f[1]&&f[1]<=g.y+g.height))return!1;c={node:d,offsetX:f[0],offsetY:f[1]}}},this),c}})},function(a,b,c){for(var d=c(2),e=c(170),f=function(){},g=["treemapZoomToNode","treemapRender","treemapMove"],h=0;h<g.length;h++)d.registerAction({type:g[h],update:"updateView"},f);d.registerAction({type:"treemapRootToNode",update:"updateView"},function(a,b){function c(b,c){var d=e.retrieveTargetInfo(a,b);if(d){var f=b.getViewRoot();f&&(a.direction=e.aboveViewRoot(f,d.node)?"rollUp":"drillDown"),b.resetViewRoot(d.node)}}b.eachComponent({mainType:"series",subType:"treemap",query:a},c)})},function(a,b,c){function d(a,b,c){var d={mainType:"series",subType:"treemap",query:c};a.eachComponent(d,function(a){var d=b.getWidth(),f=b.getHeight(),g=a.option,h=g.size||[],i=v(w(g.width,h[0]),d),j=v(w(g.height,h[1]),f),k=q.getLayoutRect(a.getBoxLayoutParams(),{width:b.getWidth(),height:b.getHeight()}),p=c&&c.type,t=r.retrieveTargetInfo(c,a),u="treemapRender"===p||"treemapMove"===p?c.rootRect:null,y=a.getViewRoot(),z=r.getPathToRoot(y);if("treemapMove"!==p){var A="treemapZoomToNode"===p?l(a,t,y,i,j):u?[u.width,u.height]:[i,j],B=g.sort;B&&"asc"!==B&&"desc"!==B&&(B="desc");var C={squareRatio:g.squareRatio,sort:B,leafDepth:g.leafDepth};y.hostTree.clearLayouts();var D={x:0,y:0,width:A[0],height:A[1],area:A[0]*A[1]};y.setLayout(D),e(y,C,!1,0);var D=y.getLayout();x(z,function(a,b){var c=(z[b+1]||y).getValue();a.setLayout(o.extend({dataExtent:[c,c],borderWidth:0},D))})}var E=a.getData().tree.root;E.setLayout(m(k,u,t),!0),a.setLayoutInfo(k),n(E,new s((-k.x),(-k.y),d,f),z,y,0)})}function e(a,b,c,d){var g,h;if(!a.isRemoved()){var i=a.getLayout();g=i.width,h=i.height;var l=a.getModel("itemStyle.normal"),m=l.get("borderWidth"),n=l.get("gapWidth")/2,o=m-n,p=a.getModel();a.setLayout({borderWidth:m},!0),g=t(g-2*o,0),h=t(h-2*o,0);var q=g*h,r=f(a,p,q,b,c,d);if(r.length){var s={x:o,y:o,width:g,height:h},v=u(g,h),w=1/0,x=[];x.area=0;for(var y=0,z=r.length;z>y;){var A=r[y];x.push(A),x.area+=A.getLayout().area;var B=j(x,v,b.squareRatio);w>=B?(y++,w=B):(x.area-=x.pop().getLayout().area,k(x,v,s,n,!1),v=u(s.width,s.height),x.length=x.area=0,w=1/0)}if(x.length&&k(x,v,s,n,!0),!c){var C=p.get("childrenVisibleMin");null!=C&&C>q&&(c=!0)}for(var y=0,z=r.length;z>y;y++)e(r[y],b,c,d+1)}}}function f(a,b,c,d,e,f){var j=a.children||[],k=d.sort;"asc"!==k&&"desc"!==k&&(k=null);var l=null!=d.leafDepth&&d.leafDepth<=f;if(e&&!l)return a.viewChildren=[];j=o.filter(j,function(a){return!a.isRemoved()}),h(j,k);var m=i(b,j,k);if(0===m.sum)return a.viewChildren=[];if(m.sum=g(b,c,m.sum,k,j),0===m.sum)return a.viewChildren=[];for(var n=0,p=j.length;p>n;n++){var q=j[n].getValue()/m.sum*c;j[n].setLayout({area:q})}return l&&(j.length&&a.setLayout({isLeafRoot:!0},!0),j.length=0),a.viewChildren=j,a.setLayout({dataExtent:m.dataExtent},!0),j}function g(a,b,c,d,e){if(!d)return c;for(var f=a.get("visibleMin"),g=e.length,h=g,i=g-1;i>=0;i--){var j=e["asc"===d?g-i-1:i].getValue();f>j/c*b&&(h=i,c-=j)}return"asc"===d?e.splice(0,g-h):e.splice(h,g-h),c}function h(a,b){return b&&a.sort(function(a,c){return"asc"===b?a.getValue()-c.getValue():c.getValue()-a.getValue()}),a}function i(a,b,c){for(var d=0,e=0,f=b.length;f>e;e++)d+=b[e].getValue();var g,h=a.get("visualDimension");if(b&&b.length)if("value"===h&&c)g=[b[b.length-1].getValue(),b[0].getValue()],"asc"===c&&g.reverse();else{var g=[1/0,-(1/0)];x(b,function(a){var b=a.getValue(h);b<g[0]&&(g[0]=b),b>g[1]&&(g[1]=b)})}else g=[NaN,NaN];return{sum:d,dataExtent:g}}function j(a,b,c){for(var d,e=0,f=1/0,g=0,h=a.length;h>g;g++)d=a[g].getLayout().area,d&&(f>d&&(f=d),d>e&&(e=d));var i=a.area*a.area,j=b*b*c;return i?t(j*e/i,i/(j*f)):1/0}function k(a,b,c,d,e){var f=b===c.width?0:1,g=1-f,h=["x","y"],i=["width","height"],j=c[h[f]],k=b?a.area/b:0;(e||k>c[i[g]])&&(k=c[i[g]]);for(var l=0,m=a.length;m>l;l++){var n=a[l],o={},p=k?n.getLayout().area/k:0,q=o[i[g]]=t(k-2*d,0),r=c[h[f]]+c[i[f]]-j,s=l===m-1||p>r?r:p,v=o[i[f]]=t(s-2*d,0);o[h[g]]=c[h[g]]+u(d,q/2),o[h[f]]=j+u(d,v/2),j+=s,n.setLayout(o,!0)}c[h[g]]+=k,c[i[g]]-=k}function l(a,b,c,d,e){var f=(b||{}).node,g=[d,e];if(!f||f===c)return g;for(var h,i=d*e,j=i*a.option.zoomToNodeRatio;h=f.parentNode;){for(var k=0,l=h.children,m=0,n=l.length;n>m;m++)k+=l[m].getValue();var o=f.getValue();if(0===o)return g;j*=k/o;var q=h.getModel("itemStyle.normal").get("borderWidth");isFinite(q)&&(j+=4*q*q+4*q*Math.pow(j,.5)),j>p.MAX_SAFE_INTEGER&&(j=p.MAX_SAFE_INTEGER),f=h}i>j&&(j=i);var r=Math.pow(j/i,.5);return[d*r,e*r]}function m(a,b,c){if(b)return{x:b.x,y:b.y};var d={x:0,y:0};if(!c)return d;var e=c.node,f=e.getLayout();if(!f)return d;for(var g=[f.width/2,f.height/2],h=e;h;){var i=h.getLayout();g[0]+=i.x,g[1]+=i.y,h=h.parentNode}return{x:a.width/2-g[0],y:a.height/2-g[1]}}function n(a,b,c,d,e){var f=a.getLayout(),g=c[e],h=g&&g===a;if(!(g&&!h||e===c.length&&a!==d)){a.setLayout({isInView:!0,invisible:!h&&!b.intersect(f),isAboveViewRoot:h},!0);var i=new s(b.x-f.x,b.y-f.y,b.width,b.height);x(a.viewChildren||[],function(a){n(a,i,c,d,e+1)})}}var o=c(1),p=c(4),q=c(13),r=c(170),s=c(7),r=c(170),t=Math.max,u=Math.min,v=p.parsePercent,w=o.retrieve,x=o.each;a.exports=d},function(a,b,c){function d(a,b,c,h,j,l){var m=a.getModel(),o=a.getLayout();if(o&&!o.invisible&&o.isInView){var q,r=a.getModel(p),s=c[a.depth],t=e(r,b,s,h),u=r.get("borderColor"),v=r.get("borderColorSaturation");null!=v&&(q=f(t,a),u=g(v,q)),a.setVisual("borderColor",u);var w=a.viewChildren;if(w&&w.length){var x=i(a,m,o,r,t,w);n.each(w,function(a,b){if(a.depth>=j.length||a===j[a.depth]){var e=k(m,t,a,b,x,l);d(a,e,c,h,j,l)}})}else q=f(t,a),a.setVisual("color",q)}}function e(a,b,c,d){var e=n.extend({},b);return n.each(["color","colorAlpha","colorSaturation"],function(f){var g=a.get(f,!0);null==g&&c&&(g=c[f]),null==g&&(g=b[f]),null==g&&(g=d.get(f)),null!=g&&(e[f]=g)}),e}function f(a){var b=h(a,"color");if(b){var c=h(a,"colorAlpha"),d=h(a,"colorSaturation");return d&&(b=m.modifyHSL(b,null,null,d)),c&&(b=m.modifyAlpha(b,c)),b}}function g(a,b){return null!=b?m.modifyHSL(b,null,null,a):null}function h(a,b){var c=a[b];return null!=c&&"none"!==c?c:void 0}function i(a,b,c,d,e,f){if(f&&f.length){var g=j(b,"color")||null!=e.color&&"none"!==e.color&&(j(b,"colorAlpha")||j(b,"colorSaturation"));if(g){var h=b.get("colorMappingBy"),i={type:g.name,dataExtent:c.dataExtent,visual:g.range};"color"!==i.type||"index"!==h&&"id"!==h?i.mappingMethod="linear":(i.mappingMethod="category",i.loop=!0);var k=new l(i);return k.__drColorMappingBy=h,k}}}function j(a,b){var c=a.get(b);return o(c)&&c.length?{name:b,range:c}:null}function k(a,b,c,d,e,f){var g=n.extend({},b);if(e){var h=e.type,i="color"===h&&e.__drColorMappingBy,j="index"===i?d:"id"===i?f.mapIdToIndex(c.getId()):c.getValue(a.get("visualDimension"));g[h]=e.mapValueToVisual(j)}return g}var l=c(71),m=c(18),n=c(1),o=n.isArray,p="itemStyle.normal";a.exports=function(a,b,c){var e={mainType:"series",subType:"treemap",query:c};a.eachComponent(e,function(a){var b=a.getData().tree,c=b.root,e=a.getModel(p);if(!c.isRemoved()){var f=n.map(b.levelModels,function(a){return a?a.get(p):null});d(c,{},f,e,a.getViewRoot().getAncestors(),a)}})}},function(a,b,c){"use strict";c(215),c(318)},function(a,b,c){"use strict";function d(a,b,c,d){var e=a.coordToPoint([b,d]),f=a.coordToPoint([c,d]);return{x1:e[0],y1:e[1],x2:f[0],y2:f[1]}}var e=c(1),f=c(3),g=c(9),h=["axisLine","axisLabel","axisTick","splitLine","splitArea"];c(2).extendComponentView({type:"angleAxis",render:function(a,b){if(this.group.removeAll(),a.get("show")){var c=b.getComponent("polar",a.get("polarIndex")),d=a.axis,f=c.coordinateSystem,g=f.getRadiusAxis().getExtent(),i=d.getTicksCoords();"category"!==d.type&&i.pop(),e.each(h,function(b){a.get(b+".show")&&this["_"+b](a,f,i,g)},this)}},_axisLine:function(a,b,c,d){var e=a.getModel("axisLine.lineStyle"),g=new f.Circle({shape:{cx:b.cx,cy:b.cy,r:d[1]},style:e.getLineStyle(),z2:1,silent:!0});g.style.fill=null,this.group.add(g)},_axisTick:function(a,b,c,g){var h=a.getModel("axisTick"),i=(h.get("inside")?-1:1)*h.get("length"),j=e.map(c,function(a){return new f.Line({shape:d(b,g[1],g[1]+i,a)})});this.group.add(f.mergePath(j,{style:e.defaults(h.getModel("lineStyle").getLineStyle(),{stroke:a.get("axisLine.lineStyle.color")})}))},_axisLabel:function(a,b,c,d){for(var e=a.axis,h=a.get("data"),i=a.getModel("axisLabel"),j=i.getModel("textStyle"),k=a.getFormattedLabels(),l=i.get("margin"),m=e.getLabelsCoords(),n=0;n<c.length;n++){var o=d[1],p=b.coordToPoint([o+l,m[n]]),q=b.cx,r=b.cy,s=Math.abs(p[0]-q)/o<.3?"center":p[0]>q?"left":"right",t=Math.abs(p[1]-r)/o<.3?"middle":p[1]>r?"top":"bottom",u=j;h&&h[n]&&h[n].textStyle&&(u=new g(h[n].textStyle,j)),this.group.add(new f.Text({style:{x:p[0],y:p[1],fill:u.getTextColor()||a.get("axisLine.lineStyle.color"),text:k[n],textAlign:s,textVerticalAlign:t,textFont:u.getFont()},silent:!0}))}},_splitLine:function(a,b,c,g){var h=a.getModel("splitLine"),i=h.getModel("lineStyle"),j=i.get("color"),k=0;j=j instanceof Array?j:[j];for(var l=[],m=0;m<c.length;m++){var n=k++%j.length;l[n]=l[n]||[],l[n].push(new f.Line({shape:d(b,g[0],g[1],c[m])}))}for(var m=0;m<l.length;m++)this.group.add(f.mergePath(l[m],{style:e.defaults({stroke:j[m%j.length]},i.getLineStyle()),silent:!0,z:a.get("z")}))},_splitArea:function(a,b,c,d){var g=a.getModel("splitArea"),h=g.getModel("areaStyle"),i=h.get("color"),j=0;i=i instanceof Array?i:[i];for(var k=[],l=Math.PI/180,m=-c[0]*l,n=Math.min(d[0],d[1]),o=Math.max(d[0],d[1]),p=a.get("clockwise"),q=1;q<c.length;q++){var r=j++%i.length;k[r]=k[r]||[],k[r].push(new f.Sector({shape:{cx:b.cx,cy:b.cy,r0:n,r:o,startAngle:m,endAngle:-c[q]*l,clockwise:p},silent:!0})),m=-c[q]*l}for(var q=0;q<k.length;q++)this.group.add(f.mergePath(k[q],{style:e.defaults({fill:i[q%i.length]},h.getAreaStyle()),silent:!0}))}})},function(a,b,c){function d(a,b,c){return c&&"axisAreaSelect"===c.type&&b.findComponents({mainType:"parallelAxis",query:c})[0]===a}var e=c(1),f=c(50),g=c(111),h=c(3),i=["axisLine","axisLabel","axisTick","axisName"],j=c(2).extendComponentView({type:"parallelAxis",init:function(a,b){j.superApply(this,"init",arguments),(this._brushController=new g(b.getZr())).on("brush",e.bind(this._onBrush,this))},render:function(a,b,c,g){if(!d(a,b,g)){this.axisModel=a,this.api=c,this.group.removeAll();var j=this._axisGroup;if(this._axisGroup=new h.Group,this.group.add(this._axisGroup),a.get("show")){var k,l=b.getComponent("parallel",a.get("parallelIndex")).coordinateSystem,m=a.getAreaSelectStyle(),n=m.width,o=a.axis.dim,p=l.getAxisLayout(o),q=e.indexOf(l.dimensions,o),r=p.axisExpandWindow;r&&(q<=r[0]||q>=r[1])&&(k=!1);var s=e.extend({axisLabelShow:k,strokeContainThreshold:n},p),t=new f(a,s);e.each(i,t.add,t),this._axisGroup.add(t.getGroup()),this._refreshBrushController(s,m,a,n),h.groupTransition(j,this._axisGroup,a)}}},_refreshBrushController:function(a,b,c,d){var f=c.axis,g=e.map(c.activeIntervals,function(a){return{brushType:"lineX",panelId:"pl",range:[f.dataToCoord(a[0],!0),f.dataToCoord(a[1],!0)]}}),h=f.getExtent(),i=30,j={x:h[0]-i,y:-d/2,width:h[1]-h[0]+2*i,height:d};this._brushController.mount({enableGlobalPan:!0,rotation:a.rotation,position:a.position}).setPanels([{panelId:"pl",rect:j}]).enableBrush({brushType:"lineX",brushStyle:b,removeOnClick:!0}).updateCovers(g)},_onBrush:function(a,b){var c=this.axisModel,d=c.axis,f=e.map(a,function(a){return[d.coordToData(a.range[0],!0),d.coordToData(a.range[1],!0)]});(!c.option.realtime===b.isEnd||b.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:c.id,intervals:f})},dispose:function(){this._brushController.dispose()}});a.exports=j},function(a,b,c){"use strict";function d(a,b,c){return{position:[a.cx,a.cy],rotation:c/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotation:b.getModel("axisLabel").get("rotate"),z2:1}}var e=c(1),f=c(3),g=c(50),h=["axisLine","axisLabel","axisTick","axisName"],i=["splitLine","splitArea"];c(2).extendComponentView({type:"radiusAxis",render:function(a,b){if(this.group.removeAll(),a.get("show")){var c=b.getComponent("polar",a.get("polarIndex")),f=c.coordinateSystem.getAngleAxis(),j=a.axis,k=c.coordinateSystem,l=j.getTicksCoords(),m=f.getExtent()[0],n=j.getExtent(),o=d(k,a,m),p=new g(a,o);e.each(h,p.add,p),this.group.add(p.getGroup()),e.each(i,function(b){a.get(b+".show")&&this["_"+b](a,k,m,n,l)},this)}},_splitLine:function(a,b,c,d,g){var h=a.getModel("splitLine"),i=h.getModel("lineStyle"),j=i.get("color"),k=0;j=j instanceof Array?j:[j];for(var l=[],m=0;m<g.length;m++){var n=k++%j.length;l[n]=l[n]||[],l[n].push(new f.Circle({shape:{cx:b.cx,cy:b.cy,r:g[m]},silent:!0}))}for(var m=0;m<l.length;m++)this.group.add(f.mergePath(l[m],{style:e.defaults({stroke:j[m%j.length],fill:null},i.getLineStyle()),silent:!0}))},_splitArea:function(a,b,c,d,g){var h=a.getModel("splitArea"),i=h.getModel("areaStyle"),j=i.get("color"),k=0;j=j instanceof Array?j:[j];for(var l=[],m=g[0],n=1;n<g.length;n++){var o=k++%j.length;l[o]=l[o]||[],l[o].push(new f.Sector({shape:{cx:b.cx,cy:b.cy,r0:m,r:g[n],startAngle:0,endAngle:2*Math.PI},silent:!0})),m=g[n]}for(var n=0;n<l.length;n++)this.group.add(f.mergePath(l[n],{style:e.defaults({fill:j[n%j.length]},i.getAreaStyle()),silent:!0}))}})},function(a,b,c){function d(a){var b=a.coordinateSystem,c=a.axis,d={},e=c.position,f=c.orient,g=b.getRect(),h=[g.x,g.x+g.width,g.y,g.y+g.height],i={horizontal:{top:h[2],bottom:h[3]},vertical:{left:h[0],right:h[1]}};d.position=["vertical"===f?i.vertical[e]:h[0],"horizontal"===f?i.horizontal[e]:h[3]];var j={horizontal:0,vertical:1};d.rotation=Math.PI/2*j[f];var k={top:-1,bottom:1,right:1,left:-1};d.labelDirection=d.tickDirection=d.nameDirection=k[e],a.getModel("axisTick").get("inside")&&(d.tickDirection=-d.tickDirection),a.getModel("axisLabel").get("inside")&&(d.labelDirection=-d.labelDirection);var l=a.getModel("axisLabel").get("rotate");return d.labelRotation="top"===e?-l:l,d.labelInterval=c.getLabelInterval(),d.z2=1,d}var e=c(50),f=c(1),g=c(3),h=e.getInterval,i=e.ifIgnoreOnTick,j=["axisLine","axisLabel","axisTick","axisName"],k="splitLine",l=c(2).extendComponentView({type:"singleAxis",render:function(a,b){var c=this.group;c.removeAll();var g=d(a),h=new e(a,g);f.each(j,h.add,h),c.add(h.getGroup()),a.get(k+".show")&&this["_"+k](a,g.labelInterval)},_splitLine:function(a,b){var c=a.axis,d=a.getModel("splitLine"),e=d.getModel("lineStyle"),f=e.get("width"),j=e.get("color"),k=h(d,b);j=j instanceof Array?j:[j];for(var l=a.coordinateSystem.getRect(),m=c.isHorizontal(),n=[],o=0,p=c.getTicksCoords(),q=[],r=[],s=0;s<p.length;++s)if(!i(c,s,k)){var t=c.toGlobalCoord(p[s]);m?(q[0]=t,q[1]=l.y,r[0]=t,r[1]=l.y+l.height):(q[0]=l.x,q[1]=t,r[0]=l.x+l.width,r[1]=t);var u=o++%j.length;n[u]=n[u]||[],n[u].push(new g.Line(g.subPixelOptimizeLine({shape:{x1:q[0],y1:q[1],x2:r[0],y2:r[1]},style:{lineWidth:f},silent:!0})))}for(var s=0;s<n.length;++s)this.group.add(g.mergePath(n[s],{style:{stroke:j[s%j.length],lineDash:e.getLineDash(),lineWidth:f},silent:!0}))}});a.exports=l},function(a,b,c){var d=c(2),e={type:"axisAreaSelect",event:"axisAreaSelected",update:"updateVisual"};d.registerAction(e,function(a,b){b.eachComponent({mainType:"parallelAxis",query:a},function(b){b.axis.model.setActiveIntervals(a.intervals)})}),d.registerAction("parallelAxisExpand",function(a,b){b.eachComponent({mainType:"parallel",query:a},function(b){b.setAxisExpand(a)})})},function(a,b,c){c(2).registerPreprocessor(c(327)),c(329),c(324),c(325),c(326),c(347)},function(a,b,c){var d=c(2),e=c(1),f=c(172),g=c(9),h=["#ddd"],i=d.extendComponentModel({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)",width:null},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(a,b){var c=this.option;!b&&f.replaceVisualOption(c,a,["inBrush","outOfBrush"]),c.inBrush=c.inBrush||{},c.outOfBrush=c.outOfBrush||{color:h}},setAreas:function(a){a&&(this.areas=e.map(a,function(a){return this._mergeBrushOption(a)},this))},setBrushOption:function(a){this.brushOption=this._mergeBrushOption(a),this.brushType=this.brushOption.brushType},_mergeBrushOption:function(a){var b=this.option;return e.merge({brushType:b.brushType,brushMode:b.brushMode,transformable:b.transformable,brushStyle:new g(b.brushStyle).getItemStyle(),removeOnClick:b.removeOnClick},a,!0)}});a.exports=i},function(a,b,c){function d(a,b,c,d){(!d||d.$from!==a.id)&&this._brushController.setPanels(h.makePanelOpts(a.coordInfoList)).enableBrush(a.brushOption).updateCovers(a.areas.slice())}var e=c(1),f=c(111),g=c(2),h=c(112);a.exports=g.extendComponentView({type:"brush",init:function(a,b){this.ecModel=a,this.api=b,this.model,(this._brushController=new f(b.getZr())).on("brush",e.bind(this._onBrush,this)).mount()},render:function(a){return this.model=a,d.apply(this,arguments)},updateView:d,updateLayout:d,updateVisual:d,dispose:function(){this._brushController.dispose()},_onBrush:function(a,b){var c=this.model.id;h.parseOutputRanges(a,this.model.coordInfoList,this.ecModel),(!b.isEnd||b.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:c,areas:e.clone(a),$from:c})}})},function(a,b,c){var d=c(2);d.registerAction({type:"brush",event:"brush",update:"updateView"},function(a,b){b.eachComponent({mainType:"brush",query:a},function(b){b.setAreas(a.areas)})}),d.registerAction({type:"brushSelect",event:"brushSelected",update:"none"},function(){})},function(a,b,c){function d(a){var b={};e.each(a,function(a){b[a]=1}),a.length=0,e.each(b,function(b,c){a.push(c)})}var e=c(1),f=["rect","polygon","keep","clear"];a.exports=function(a,b){var c=a&&a.brush;if(e.isArray(c)||(c=c?[c]:[]),c.length){var g=[];e.each(c,function(a){var b=a.hasOwnProperty("toolbox")?a.toolbox:[];b instanceof Array&&(g=g.concat(b))});var h=a&&a.toolbox;e.isArray(h)&&(h=h[0]),h||(h={feature:{}},a.toolbox=[h]);var i=h.feature||(h.feature={}),j=i.brush||(i.brush={}),k=j.type||(j.type=[]);k.push.apply(k,g),d(k),b&&!k.length&&k.push.apply(k,f)}}},function(a,b,c){function d(a){var b=["x","y"],c=["width","height"];return{point:function(b,c,d){var f=d.range,g=b[a];return e(g,f)},rect:function(d,f,g){var h=g.range;return e(d[b[a]],h)||e(d[b[a]]+d[c[a]],h)}}}function e(a,b){return b[0]<=a&&a<=b[1]}function f(a,b,c,d,e){for(var f=0,h=e[e.length-1];f<e.length;f++){var i=e[f];if(g(a,b,c,d,i[0],i[1],h[0],h[1]))return!0;h=i}}function g(a,b,c,d,e,f,g,j){var k=i(c-a,e-g,d-b,f-j);if(h(k))return!1;var l=i(e-a,e-g,f-b,f-j)/k;if(0>l||l>1)return!1;var m=i(c-a,e-a,d-b,f-b)/k;return!(0>m||m>1)}function h(a){return 1e-6>=a&&a>=-1e-6}function i(a,b,c,d){return a*d-b*c}function j(a){var b=a.x,c=a.y,d=a.width,e=a.height;return 0>d&&(b+=d,d=-d),0>e&&(c+=e,e=-e),new l(b,c,d,e)}var k=c(241).contain,l=c(7),m={lineX:d(0),lineY:d(1),rect:{point:function(a,b,c){return c.boundingRect.contain(a[0],a[1])},rect:function(a,b,c){return c.boundingRect.intersect(j(a))}},polygon:{point:function(a,b,c){return c.boundingRect.contain(a[0],a[1])&&k(c.range,a[0],a[1])},rect:function(a,b,c){var d=c.range;if(d.length<=1)return!1;var e=a.x,g=a.y,h=a.width,i=a.height,l=d[0];return!!(k(d,e,g)||k(d,e+h,g)||k(d,e,g+i)||k(d,e+h,g+i)||j(a).contain(l[0],l[1])||f(e,g,e+h,g,d)||f(e,g,e,g+i,d)||f(e+h,g,e+h,g+i,d)||f(e,g+i,e+h,g+i,d))||void 0}}};a.exports=m},function(a,b,c){function d(a,b,c,d,f){if(f){var g=a.getZr();if(!g[t]){g[s]||(g[s]=e);var h=p.createOrUpdate(g,s,c,b);h(a,d)}}}function e(a,b){if(!a.isDisposed()){var c=a.getZr();c[t]=!0,a.dispatchAction({type:"brushSelect",batch:b}),c[t]=!1}}function f(a,b,c,d){for(var e=c.getItemLayout(d),f=0,g=b.length;g>f;f++){var h=b[f];if(a[h.brushType](e,h.selectors,h))return!0}}function g(a){var b=a.brushSelector;if(m.isString(b)){var c=[];return m.each(o,function(a,d){c[d]=a[b]}),c}if(m.isFunction(b)){var d={};return m.each(o,function(a,c){d[c]=b}),d}return b}function h(a,b){var c=a.option.seriesIndex;return null!=c&&"all"!==c&&(m.isArray(c)?m.indexOf(c,b)<0:b!==c)}function i(a){var b=a.selectors={};return m.each(o[a.brushType],function(c,d){b[d]=function(d){return c(d,b,a)}}),a}function j(a){return new n(a[0][0],a[1][0],a[0][1]-a[0][0],a[1][1]-a[1][0])}var k=c(2),l=c(172),m=c(1),n=c(7),o=c(328),p=c(81),q=c(112),r=["inBrush","outOfBrush"],s="__ecBrushSelect",t="__ecInBrushSelectEvent",u=k.PRIORITY.VISUAL.BRUSH;k.registerLayout(u,function(a,b,c){a.eachComponent({mainType:"brush"},function(b){c&&"takeGlobalCursor"===c.type&&b.setBrushOption("brush"===c.key?c.brushOption:{brushType:!1}),b.coordInfoList=q.makeCoordInfoList(b.option,a),q.parseInputRanges(b,a)})}),k.registerVisual(u,function(a,b,c){var e,j,k=[];a.eachComponent({mainType:"brush"},function(b,c){function d(a){return"all"===u||w[a]}function n(a){return!!a.length}function o(a,b){var c=a.coordinateSystem;z|=c.hasAxisbrushed(),d(b)&&c.eachActiveState(a.getData(),function(a,b){"active"===a&&(x[b]=1)})}function p(a,c,e){var i=g(a);if(i&&!h(b,c)&&(m.each(A,function(c){i[c.brushType]&&q.controlSeries(c,b,a)&&e.push(c),z|=n(e)}),d(c)&&n(e))){var j=a.getData();j.each(function(a){f(i,e,j,a)&&(x[a]=1)})}}var s={brushId:b.id,brushIndex:c,brushName:b.name,areas:m.clone(b.areas),selected:[]};k.push(s);var t=b.option,u=t.brushLink,w=[],x=[],y=[],z=0;c||(e=t.throttleType,j=t.throttleDelay);var A=m.map(b.areas,function(a){return i(m.defaults({boundingRect:v[a.brushType](a)},a))}),B=l.createVisualMappings(b.option,r,function(a){a.mappingMethod="fixed"});m.isArray(u)&&m.each(u,function(a){w[a]=1}),a.eachSeries(function(a,b){var c=y[b]=[];"parallel"===a.subType?o(a,b,c):p(a,b,c)}),a.eachSeries(function(a,b){var c={seriesId:a.id,seriesIndex:b,seriesName:a.name,dataIndex:[]};s.selected.push(c);var e=g(a),h=y[b],i=a.getData(),j=d(b)?function(a){return x[a]?(c.dataIndex.push(i.getRawIndex(a)),"inBrush"):"outOfBrush"}:function(a){return f(e,h,i,a)?(c.dataIndex.push(i.getRawIndex(a)),"inBrush"):"outOfBrush"};(d(b)?z:n(h))&&l.applyVisual(r,B,i,j)})}),d(b,e,j,k,c)});var v={lineX:m.noop,lineY:m.noop,rect:function(a){return j(a.range)},polygon:function(a){for(var b,c=a.range,d=0,e=c.length;e>d;d++){b=b||[[1/0,-(1/0)],[1/0,-(1/0)]];var f=c[d];f[0]<b[0][0]&&(b[0][0]=f[0]),f[0]>b[0][1]&&(b[0][1]=f[0]),f[1]<b[1][0]&&(b[1][0]=f[1]),f[1]>b[1][1]&&(b[1][1]=f[1])}return b&&j(b)}}},function(a,b,c){function d(a,b){b.update="updateView",e.registerAction(b,function(b,c){var d={};return c.eachComponent({mainType:"geo",query:b},function(c){c[a](b.name);var e=c.coordinateSystem;f.each(e.regions,function(a){d[a.name]=c.isSelected(a.name)||!1})}),{selected:d,name:b.name}})}c(356),c(171),c(331),c(220);var e=c(2),f=c(1);d("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),d("select",{type:"geoSelect",event:"geoselected"}),d("unSelect",{type:"geoUnSelect",event:"geounselected"})},function(a,b,c){"use strict";var d=c(228);a.exports=c(2).extendComponentView({type:"geo",init:function(a,b){var c=new d(b,(!0));this._mapDraw=c,this.group.add(c.group)},render:function(a,b,c,d){if(!d||"geoToggleSelect"!==d.type||d.from!==this.uid){var e=this._mapDraw;a.get("show")?e.draw(a,b,c,this,d):this._mapDraw.group.removeAll(),this.group.silent=a.get("silent")}}})},function(a,b,c){c(239),c(322),c(319)},function(a,b,c){"use strict";c(215),c(317),c(336),c(2).extendComponentView({type:"polar"})},function(a,b,c){c(372),c(373),c(335)},function(a,b,c){var d=c(50),e=c(1),f=c(3),g=["axisLine","axisLabel","axisTick","axisName"];a.exports=c(2).extendComponentView({type:"radar",render:function(a,b,c){var d=this.group;d.removeAll(),this._buildAxes(a),this._buildSplitLineAndArea(a)},_buildAxes:function(a){var b=a.coordinateSystem,c=b.getIndicatorAxes(),f=e.map(c,function(a){var c=new d(a.model,{position:[b.cx,b.cy],rotation:a.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return c});e.each(f,function(a){e.each(g,a.add,a),this.group.add(a.getGroup())},this)},_buildSplitLineAndArea:function(a){function b(a,b,c){var d=c%b.length;return a[d]=a[d]||[],d}var c=a.coordinateSystem,d=a.get("splitNumber"),g=c.getIndicatorAxes();if(g.length){var h=a.get("shape"),i=a.getModel("splitLine"),j=a.getModel("splitArea"),k=i.getModel("lineStyle"),l=j.getModel("areaStyle"),m=i.get("show"),n=j.get("show"),o=k.get("color"),p=l.get("color");o=e.isArray(o)?o:[o],p=e.isArray(p)?p:[p];var q=[],r=[];if("circle"===h)for(var s=g[0].getTicksCoords(),t=c.cx,u=c.cy,v=0;v<s.length;v++){if(m){var w=b(q,o,v);q[w].push(new f.Circle({shape:{cx:t,cy:u,r:s[v]}}))}if(n&&v<s.length-1){var w=b(r,p,v);r[w].push(new f.Ring({shape:{cx:t,cy:u,r0:s[v],r:s[v+1]}}))}}else for(var x=e.map(g,function(a,b){var d=a.getTicksCoords();return e.map(d,function(a){return c.coordToPoint(a,b)})}),y=[],v=0;d>=v;v++){for(var z=[],A=0;A<g.length;A++)z.push(x[A][v]);if(z[0]&&z.push(z[0].slice()),m){var w=b(q,o,v);q[w].push(new f.Polyline({shape:{points:z}}))}if(n&&y){var w=b(r,p,v-1);r[w].push(new f.Polygon({shape:{points:z.concat(y)}}))}y=z.slice().reverse()}var B=k.getLineStyle(),C=l.getAreaStyle();
+e.each(r,function(a,b){this.group.add(f.mergePath(a,{style:e.defaults({stroke:"none",fill:p[b%p.length]},C),silent:!0}))},this),e.each(q,function(a,b){this.group.add(f.mergePath(a,{style:e.defaults({fill:"none",stroke:o[b%o.length]},B),silent:!0}))},this)}}})},function(a,b,c){c(215),c(320)},function(a,b,c){c(377),c(321),c(374);var d=c(2);d.extendComponentView({type:"single"})},function(a,b,c){var d=c(2);d.registerPreprocessor(c(344)),c(346),c(345),c(339),c(340)},function(a,b,c){var d=c(342),e=c(1),f=c(11),g=d.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",normal:{show:!0,interval:"auto",rotate:0,textStyle:{color:"#304654"}},emphasis:{show:!0,textStyle:{color:"#c23531"}}},itemStyle:{normal:{color:"#304654",borderWidth:1},emphasis:{color:"#c23531"}},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",normal:{color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}});e.mixin(g,f.dataFormatMixin),a.exports=g},function(a,b,c){function d(a,b){return j.getLayoutRect(a.getBoxLayoutParams(),{width:b.getWidth(),height:b.getHeight()},a.get("padding"))}function e(a,b,c,d){var e=i.makePath(a.get(b).replace(/^path:\/\//,""),h.clone(d||{}),new o(c[0],c[1],c[2],c[3]),"center");return e}function f(a,b,c,d,e,f){var g=a.get("symbol"),i=b.get("color"),j=a.get("symbolSize"),k=j/2,l=b.getItemStyle(["color","symbol","symbolSize"]);return e?(e.setStyle(l),e.setColor(i),c.add(e),f&&f.onUpdate(e)):(e=m.createSymbol(g,-k,-k,j,j,i),c.add(e),f&&f.onCreate(e)),d=h.merge({rectHover:!0,style:l,z2:100},d,!0),e.attr(d),e}function g(a,b,c,d,e){if(!a.dragging){var f=d.getModel("checkpointStyle"),g=c.dataToCoord(d.getData().get(["value"],b));e||!f.get("animation",!0)?a.attr({position:[g,0]}):(a.stopAnimation(!0),a.animateTo({position:[g,0]},f.get("animationDuration",!0),f.get("animationEasing",!0)))}}var h=c(1),i=c(3),j=c(13),k=c(343),l=c(341),m=c(26),n=c(22),o=c(7),p=c(19),q=c(4),r=c(8),s=r.encodeHTML,t=h.bind,u=h.each,v=Math.PI;a.exports=k.extend({type:"timeline.slider",init:function(a,b){this.api=b,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(a,b,c,d){if(this.model=a,this.api=c,this.ecModel=b,this.group.removeAll(),a.get("show",!0)){var e=this._layout(a,c),f=this._createGroup("mainGroup"),g=this._createGroup("labelGroup"),h=this._axis=this._createAxis(e,a);a.formatTooltip=function(a){return s(h.scale.getLabel(a))},u(["AxisLine","AxisTick","Control","CurrentPointer"],function(b){this["_render"+b](e,f,h,a)},this),this._renderAxisLabel(e,g,h,a),this._position(e,a)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(a,b){var c=a.get("label.normal.position"),e=a.get("orient"),f=d(a,b);null==c||"auto"===c?c="horizontal"===e?f.y+f.height/2<b.getHeight()/2?"-":"+":f.x+f.width/2<b.getWidth()/2?"+":"-":isNaN(c)&&(c={horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[e][c]);var g={horizontal:"center",vertical:c>=0||"+"===c?"left":"right"},h={horizontal:c>=0||"+"===c?"top":"bottom",vertical:"middle"},i={horizontal:0,vertical:v/2},j="vertical"===e?f.height:f.width,k=a.getModel("controlStyle"),l=k.get("show"),m=l?k.get("itemSize"):0,n=l?k.get("itemGap"):0,o=m+n,p=a.get("label.normal.rotate")||0;p=p*v/180;var q,r,s,t,u=k.get("position",!0),l=k.get("show",!0),w=l&&k.get("showPlayBtn",!0),x=l&&k.get("showPrevBtn",!0),y=l&&k.get("showNextBtn",!0),z=0,A=j;return"left"===u||"bottom"===u?(w&&(q=[0,0],z+=o),x&&(r=[z,0],z+=o),y&&(s=[A-m,0],A-=o)):(w&&(q=[A-m,0],A-=o),x&&(r=[0,0],z+=o),y&&(s=[A-m,0],A-=o)),t=[z,A],a.get("inverse")&&t.reverse(),{viewRect:f,mainLength:j,orient:e,rotation:i[e],labelRotation:p,labelPosOpt:c,labelAlign:g[e],labelBaseline:h[e],playPosition:q,prevBtnPosition:r,nextBtnPosition:s,axisExtent:t,controlSize:m,controlGap:n}},_position:function(a,b){function c(a){var b=a.position;a.origin=[l[0][0]-b[0],l[1][0]-b[1]]}function d(a){return[[a.x,a.x+a.width],[a.y,a.y+a.height]]}function e(a,b,c,d,e){a[d]+=c[d][e]-b[d][e]}var f=this._mainGroup,g=this._labelGroup,h=a.viewRect;if("vertical"===a.orient){var i=p.create(),j=h.x,k=h.y+h.height;p.translate(i,i,[-j,-k]),p.rotate(i,i,-v/2),p.translate(i,i,[j,k]),h=h.clone(),h.applyTransform(i)}var l=d(h),m=d(f.getBoundingRect()),n=d(g.getBoundingRect()),o=f.position,q=g.position;q[0]=o[0]=l[0][0];var r=a.labelPosOpt;if(isNaN(r)){var s="+"===r?0:1;e(o,m,l,1,s),e(q,n,l,1,1-s)}else{var s=r>=0?0:1;e(o,m,l,1,s),q[1]=o[1]+r}f.attr("position",o),g.attr("position",q),f.rotation=g.rotation=a.rotation,c(f),c(g)},_createAxis:function(a,b){var c=b.getData(),d=b.get("axisType"),e=n.createScaleByModel(b,d),f=c.getDataExtent("value");e.setExtent(f[0],f[1]),this._customizeScale(e,c),e.niceTicks();var g=new l("value",e,a.axisExtent,d);return g.model=b,g},_customizeScale:function(a,b){a.getTicks=function(){return b.mapArray(["value"],function(a){return a})},a.getTicksLabels=function(){return h.map(this.getTicks(),a.getLabel,a)}},_createGroup:function(a){var b=this["_"+a]=new i.Group;return this.group.add(b),b},_renderAxisLine:function(a,b,c,d){var e=c.getExtent();d.get("lineStyle.show")&&b.add(new i.Line({shape:{x1:e[0],y1:0,x2:e[1],y2:0},style:h.extend({lineCap:"round"},d.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function(a,b,c,d){var e=d.getData(),g=c.scale.getTicks();u(g,function(a,g){var h=c.dataToCoord(a),j=e.getItemModel(g),k=j.getModel("itemStyle.normal"),l=j.getModel("itemStyle.emphasis"),m={position:[h,0],onclick:t(this._changeTimeline,this,g)},n=f(j,k,b,m);i.setHoverStyle(n,l.getItemStyle()),j.get("tooltip")?(n.dataIndex=g,n.dataModel=d):n.dataIndex=n.dataModel=null},this)},_renderAxisLabel:function(a,b,c,d){var e=d.getModel("label.normal");if(e.get("show")){var f=d.getData(),g=c.scale.getTicks(),h=n.getFormattedLabels(c,e.get("formatter")),j=c.getLabelInterval();u(g,function(d,e){if(!c.isLabelIgnored(e,j)){var g=f.getItemModel(e),k=g.getModel("label.normal.textStyle"),l=g.getModel("label.emphasis.textStyle"),m=c.dataToCoord(d),n=new i.Text({style:{text:h[e],textAlign:a.labelAlign,textVerticalAlign:a.labelBaseline,textFont:k.getFont(),fill:k.getTextColor()},position:[m,0],rotation:a.labelRotation-a.rotation,onclick:t(this._changeTimeline,this,e),silent:!1});b.add(n),i.setHoverStyle(n,l.getItemStyle())}},this)}},_renderControl:function(a,b,c,d){function f(a,c,f,m){if(a){var n={position:a,origin:[g/2,0],rotation:m?-h:0,rectHover:!0,style:j,onclick:f},o=e(d,c,l,n);b.add(o),i.setHoverStyle(o,k)}}var g=a.controlSize,h=a.rotation,j=d.getModel("controlStyle.normal").getItemStyle(),k=d.getModel("controlStyle.emphasis").getItemStyle(),l=[0,-g/2,g,g],m=d.getPlayState(),n=d.get("inverse",!0);f(a.nextBtnPosition,"controlStyle.nextIcon",t(this._changeTimeline,this,n?"-":"+")),f(a.prevBtnPosition,"controlStyle.prevIcon",t(this._changeTimeline,this,n?"+":"-")),f(a.playPosition,"controlStyle."+(m?"stopIcon":"playIcon"),t(this._handlePlayClick,this,!m),!0)},_renderCurrentPointer:function(a,b,c,d){var e=d.getData(),h=d.getCurrentIndex(),i=e.getItemModel(h).getModel("checkpointStyle"),j=this,k={onCreate:function(a){a.draggable=!0,a.drift=t(j._handlePointerDrag,j),a.ondragend=t(j._handlePointerDragend,j),g(a,h,c,d,!0)},onUpdate:function(a){g(a,h,c,d)}};this._currentPointer=f(i,i,this._mainGroup,{},this._currentPointer,k)},_handlePlayClick:function(a){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:a,from:this.uid})},_handlePointerDrag:function(a,b,c){this._clearTimer(),this._pointerChangeTimeline([c.offsetX,c.offsetY])},_handlePointerDragend:function(a){this._pointerChangeTimeline([a.offsetX,a.offsetY],!0)},_pointerChangeTimeline:function(a,b){var c=this._toAxisCoord(a)[0],d=this._axis,e=q.asc(d.getExtent().slice());c>e[1]&&(c=e[1]),c<e[0]&&(c=e[0]),this._currentPointer.position[0]=c,this._currentPointer.dirty();var f=this._findNearestTick(c),g=this.model;(b||f!==g.getCurrentIndex()&&g.get("realtime"))&&this._changeTimeline(f)},_doPlayStop:function(){function a(){var a=this.model;this._changeTimeline(a.getCurrentIndex()+(a.get("rewind",!0)?-1:1))}this._clearTimer(),this.model.getPlayState()&&(this._timer=setTimeout(t(a,this),this.model.get("playInterval")))},_toAxisCoord:function(a){var b=this._mainGroup.getLocalTransform();return i.applyTransform(a,b,!0)},_findNearestTick:function(a){var b,c=this.model.getData(),d=1/0,e=this._axis;return c.each(["value"],function(c,f){var g=e.dataToCoord(c),h=Math.abs(g-a);d>h&&(d=h,b=f)}),b},_clearTimer:function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},_changeTimeline:function(a){var b=this.model.getCurrentIndex();"+"===a?a=b+1:"-"===a&&(a=b-1),this.api.dispatchAction({type:"timelineChange",currentIndex:a,from:this.uid})}})},function(a,b,c){var d=c(1),e=c(42),f=c(22),g=function(a,b,c,d){e.call(this,a,b,c),this.type=d||"value",this._autoLabelInterval,this.model=null};g.prototype={constructor:g,getLabelInterval:function(){var a=this.model,b=a.getModel("label.normal"),c=b.get("interval");if(null!=c&&"auto"!=c)return c;var c=this._autoLabelInterval;return c||(c=this._autoLabelInterval=f.getAxisLabelInterval(d.map(this.scale.getTicks(),this.dataToCoord,this),f.getFormattedLabels(this,b.get("formatter")),b.getModel("textStyle").getFont(),"horizontal"===a.get("orient"))),c},isLabelIgnored:function(a){if("category"===this.type){var b=this.getLabelInterval();return"function"==typeof b&&!b(a,this.scale.getLabel(a))||a%(b+1)}}},d.inherits(g,e),a.exports=g},function(a,b,c){var d=c(10),e=c(14),f=c(1),g=c(11),h=d.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{normal:{},emphasis:{}},label:{normal:{textStyle:{color:"#000"}},emphasis:{}},data:[]},init:function(a,b,c){this._data,this._names,this.mergeDefaultAndTheme(a,c),this._initData()},mergeOption:function(a){h.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(a){null==a&&(a=this.option.currentIndex);var b=this._data.count();this.option.loop?a=(a%b+b)%b:(a>=b&&(a=b-1),0>a&&(a=0)),this.option.currentIndex=a},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(a){this.option.autoPlay=!!a},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var a=this.option,b=a.data||[],c=a.axisType,d=this._names=[];if("category"===c){var h=[];f.each(b,function(a,b){var c,e=g.getDataItemValue(a);f.isObject(a)?(c=f.clone(a),c.value=b):c=b,h.push(c),f.isString(e)||null!=e&&!isNaN(e)||(e=""),d.push(e+"")}),b=h}var i={category:"ordinal",time:"time"}[c]||"number",j=this._data=new e([{name:"value",type:i}],this);j.initData(b,d)},getData:function(){return this._data},getCategories:function(){return"category"===this.get("axisType")?this._names.slice():void 0}});a.exports=h},function(a,b,c){var d=c(57);a.exports=d.extend({type:"timeline"})},function(a,b,c){function d(a){var b=a.type,c={number:"value",time:"time"};if(c[b]&&(a.axisType=c[b],delete a.type),e(a),f(a,"controlPosition")){var d=a.controlStyle||(a.controlStyle={});f(d,"position")||(d.position=a.controlPosition),"none"!==d.position||f(d,"show")||(d.show=!1,delete d.position),delete a.controlPosition}g.each(a.data||[],function(a){g.isObject(a)&&!g.isArray(a)&&(!f(a,"value")&&f(a,"name")&&(a.value=a.name),e(a))})}function e(a){var b=a.itemStyle||(a.itemStyle={}),c=b.emphasis||(b.emphasis={}),d=a.label||a.label||{},e=d.normal||(d.normal={}),h={normal:1,emphasis:1};g.each(d,function(a,b){h[b]||f(e,b)||(e[b]=a)}),c.label&&!f(d,"emphasis")&&(d.emphasis=c.label,delete c.label)}function f(a,b){return a.hasOwnProperty(b)}var g=c(1);a.exports=function(a){var b=a&&a.timeline;g.isArray(b)||(b=b?[b]:[]),g.each(b,function(a){a&&d(a)})}},function(a,b,c){var d=c(2);d.registerAction({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(a,b){var c=b.getComponent("timeline");c&&null!=a.currentIndex&&(c.setCurrentIndex(a.currentIndex),!c.get("loop",!0)&&c.isIndexMax()&&c.setPlayState(!1)),b.resetOption("timeline")}),d.registerAction({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(a,b){var c=b.getComponent("timeline");c&&null!=a.playState&&c.setPlayState(a.playState)})},function(a,b,c){c(10).registerSubTypeDefaulter("timeline",function(){return"slider"})},function(a,b,c){"use strict";function d(a,b,c){this.model=a,this.ecModel=b,this.api=c,this._brushType,this._brushMode}var e=c(25),f=c(1);d.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}};var g=d.prototype;g.render=g.updateView=g.updateLayout=function(a,b,c){var d,e,g;b.eachComponent({mainType:"brush"},function(a){d=a.brushType,e=a.brushOption.brushMode||"single",g|=a.areas.length}),this._brushType=d,this._brushMode=e,f.each(a.get("type",!0),function(b){a.setIconStatus(b,("keep"===b?"multiple"===e:"clear"===b?g:b===d)?"emphasis":"normal")})},g.getIcons=function(){var a=this.model,b=a.get("icon",!0),c={};return f.each(a.get("type",!0),function(a){b[a]&&(c[a]=b[a])}),c},g.onclick=function(a,b,c){var b=this.api,d=this._brushType,e=this._brushMode;"clear"===c?b.dispatchAction({type:"brush",areas:[]}):b.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===c?d:d!==c&&c,brushMode:"keep"===c?"multiple"===e?"single":"multiple":e}})},e.register("brush",d),a.exports=d},function(a,b,c){c(353),c(354)},function(a,b,c){function d(a,b,c){var d=a.targetVisuals[b].color;if(!d)return c.slice();var e=d.option.visual.length;if(1>=e||c[0]===c[1])return c.slice();for(var f=(c[1]-c[0])/(e-1),g=c[0],h=[],i=0;e>i&&g<c[1];i++)h.push(g),g+=f;return h.push(c[1]),h}function e(a,b,c,e){var f=d(a,b,c);g.each(f,function(a){for(var c={value:a,valueState:b},d=0,f=0;f<e.length;f++){if(d|="inRange"===e[f].valueState,a<e[f].value)return void e.splice(f,0,c);d&&(e[f].valueState="inRange")}e.push(c)})}var f=c(230),g=c(1),h=c(4),i=[20,140],j=f.extend({type:"visualMap.continuous",defaultOption:{align:"auto",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:!0},optionUpdated:function(a,b){j.superApply(this,"optionUpdated",arguments),this.resetTargetSeries(),this.resetExtent(),this.resetVisual(function(a){a.mappingMethod="linear",a.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){j.superApply(this,"resetItemSize",arguments);var a=this.itemSize;"horizontal"===this._orient&&a.reverse(),(null==a[0]||isNaN(a[0]))&&(a[0]=i[0]),(null==a[1]||isNaN(a[1]))&&(a[1]=i[1])},_resetRange:function(){var a=this.getExtent(),b=this.option.range;!b||b.auto?(a.auto=1,this.option.range=a):g.isArray(b)&&(b[0]>b[1]&&b.reverse(),b[0]=Math.max(b[0],a[0]),b[1]=Math.min(b[1],a[1]))},completeVisualOption:function(){f.prototype.completeVisualOption.apply(this,arguments),g.each(this.stateList,function(a){var b=this.option.controller[a].symbolSize;b&&b[0]!==b[1]&&(b[0]=0)},this)},setSelected:function(a){this.option.range=a.slice(),this._resetRange()},getSelected:function(){var a=this.getExtent(),b=h.asc((this.get("range")||[]).slice());return b[0]>a[1]&&(b[0]=a[1]),b[1]>a[1]&&(b[1]=a[1]),b[0]<a[0]&&(b[0]=a[0]),b[1]<a[0]&&(b[1]=a[0]),b},getValueState:function(a){var b=this.option.range,c=this.getExtent();return(b[0]<=c[0]||b[0]<=a)&&(b[1]>=c[1]||a<=b[1])?"inRange":"outOfRange"},findTargetDataIndices:function(a){var b=[];return this.eachTargetSeries(function(c){var d=[],e=c.getData();e.each(this.getDataDimension(e),function(b,c){a[0]<=b&&b<=a[1]&&d.push(c)},!0,this),b.push({seriesId:c.id,dataIndex:d})},this),b},getStops:function(a,b){var c=[];return e(this,"outOfRange",this.getExtent(),c),e(this,"inRange",this.option.range.slice(),c),g.each(c,function(a){a.color=b(this,a.value,a.valueState)},this),c}});a.exports=j},function(a,b,c){function d(a,b,c,d){return new j.Polygon({shape:{points:a},draggable:!!c,cursor:b,drift:c,ondragend:d})}function e(a,b){return 0===a?[[0,0],[b,0],[b,-b]]:[[0,0],[b,0],[b,b]]}function f(a,b,c,d){return a?[[0,-s(b,t(c,0))],[v,0],[0,s(b,t(d-c,0))]]:[[0,0],[5,-5],[5,5]]}function g(a,b,c){var d=u/2,e=a.get("hoverLinkDataSize");return e&&(d=q(e,b,c,!0)/2),d}function h(a){return!a.get("realtime")&&a.get("hoverLinkOnHandle")}var i=c(231),j=c(3),k=c(1),l=c(4),m=c(79),n=c(85),o=c(232),p=c(11),q=l.linearMap,r=k.each,s=Math.min,t=Math.max,u=12,v=6,w=i.extend({type:"visualMap.continuous",init:function(){w.superApply(this,"init",arguments),this._shapes={},this._dataInterval=[],this._handleEnds=[],this._orient,this._useHandle,this._hoverLinkDataIndices=[],this._dragging,this._hovering},doRender:function(a,b,c,d){d&&"selectDataRange"===d.type&&d.from===this.uid||this._buildView()},_buildView:function(){this.group.removeAll();var a=this.visualMapModel,b=this.group;this._orient=a.get("orient"),this._useHandle=a.get("calculable"),this._resetInterval(),this._renderBar(b);var c=a.get("text");this._renderEndsText(b,c,0),this._renderEndsText(b,c,1),this._updateView(!0),this.renderBackground(b),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(b)},_renderEndsText:function(a,b,c){if(b){var d=b[1-c];d=null!=d?d+"":"";var e=this.visualMapModel,f=e.get("textGap"),g=e.itemSize,h=this._shapes.barGroup,i=this._applyTransform([g[0]/2,0===c?-f:g[1]+f],h),k=this._applyTransform(0===c?"bottom":"top",h),l=this._orient,m=this.visualMapModel.textStyleModel;this.group.add(new j.Text({style:{x:i[0],y:i[1],textVerticalAlign:"horizontal"===l?"middle":k,textAlign:"horizontal"===l?k:"center",text:d,textFont:m.getFont(),fill:m.getTextColor()}}))}},_renderBar:function(a){var b=this.visualMapModel,c=this._shapes,e=b.itemSize,f=this._orient,g=this._useHandle,h=o.getItemAlign(b,this.api,e),i=c.barGroup=this._createBarGroup(h);i.add(c.outOfRange=d()),i.add(c.inRange=d(null,g?"move":null,k.bind(this._dragHandle,this,"all",!1),k.bind(this._dragHandle,this,"all",!0)));var j=b.textStyleModel.getTextRect("国"),l=t(j.width,j.height);g&&(c.handleThumbs=[],c.handleLabels=[],c.handleLabelPoints=[],this._createHandle(i,0,e,l,f,h),this._createHandle(i,1,e,l,f,h)),this._createIndicator(i,e,l,f),a.add(i)},_createHandle:function(a,b,c,f,g){var h=k.bind(this._dragHandle,this,b,!1),i=k.bind(this._dragHandle,this,b,!0),l=d(e(b,f),"move",h,i);l.position[0]=c[0],a.add(l);var m=this.visualMapModel.textStyleModel,n=new j.Text({draggable:!0,drift:h,ondragend:i,style:{x:0,y:0,text:"",textFont:m.getFont(),fill:m.getTextColor()}});this.group.add(n);var o=["horizontal"===g?f/2:1.5*f,"horizontal"===g?0===b?-(1.5*f):1.5*f:0===b?-f/2:f/2],p=this._shapes;p.handleThumbs[b]=l,p.handleLabelPoints[b]=o,p.handleLabels[b]=n},_createIndicator:function(a,b,c,e){var f=d([[0,0]],"move");f.position[0]=b[0],f.attr({invisible:!0,silent:!0}),a.add(f);var g=this.visualMapModel.textStyleModel,h=new j.Text({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textFont:g.getFont(),fill:g.getTextColor()}});this.group.add(h);var i=["horizontal"===e?c/2:v+3,0],k=this._shapes;k.indicator=f,k.indicatorLabel=h,k.indicatorLabelPoint=i},_dragHandle:function(a,b,c,d){if(this._useHandle){if(this._dragging=!b,!b){var e=this._applyTransform([c,d],this._shapes.barGroup,!0);this._updateInterval(a,e[1]),this._updateView()}b===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),b?!this._hovering&&this._clearHoverLinkToSeries():h(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[a],!1)}},_resetInterval:function(){var a=this.visualMapModel,b=this._dataInterval=a.getSelected(),c=a.getExtent(),d=[0,a.itemSize[1]];this._handleEnds=[q(b[0],c,d,!0),q(b[1],c,d,!0)]},_updateInterval:function(a,b){b=b||0;var c=this.visualMapModel,d=this._handleEnds;m(b,d,[0,c.itemSize[1]],"all"===a?"rigid":"push",a);var e=c.getExtent(),f=[0,c.itemSize[1]];this._dataInterval=[q(d[0],f,e,!0),q(d[1],f,e,!0)]},_updateView:function(a){var b=this.visualMapModel,c=b.getExtent(),d=this._shapes,e=[0,b.itemSize[1]],f=a?e:this._handleEnds,g=this._createBarVisual(this._dataInterval,c,f,"inRange"),h=this._createBarVisual(c,c,e,"outOfRange");d.inRange.setStyle({fill:g.barColor,opacity:g.opacity}).setShape("points",g.barPoints),d.outOfRange.setStyle({fill:h.barColor,opacity:h.opacity}).setShape("points",h.barPoints),this._updateHandle(f,g)},_createBarVisual:function(a,b,c,d){var e={forceState:d,convertOpacityToAlpha:!0},f=this._makeColorGradient(a,e),g=[this.getControllerVisual(a[0],"symbolSize",e),this.getControllerVisual(a[1],"symbolSize",e)],h=this._createBarPoints(c,g);return{barColor:new n(0,0,0,1,f),barPoints:h,handlesColor:[f[0].color,f[f.length-1].color]}},_makeColorGradient:function(a,b){var c=100,d=[],e=(a[1]-a[0])/c;d.push({color:this.getControllerVisual(a[0],"color",b),offset:0});for(var f=1;c>f;f++){var g=a[0]+e*f;if(g>a[1])break;d.push({color:this.getControllerVisual(g,"color",b),offset:f/c})}return d.push({color:this.getControllerVisual(a[1],"color",b),offset:1}),d},_createBarPoints:function(a,b){var c=this.visualMapModel.itemSize;return[[c[0]-b[0],a[0]],[c[0],a[0]],[c[0],a[1]],[c[0]-b[1],a[1]]]},_createBarGroup:function(a){var b=this._orient,c=this.visualMapModel.get("inverse");return new j.Group("horizontal"!==b||c?"horizontal"===b&&c?{scale:"bottom"===a?[-1,1]:[1,1],rotation:-Math.PI/2}:"vertical"!==b||c?{scale:"left"===a?[1,1]:[-1,1]}:{scale:"left"===a?[1,-1]:[-1,-1]}:{scale:"bottom"===a?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(a,b){if(this._useHandle){var c=this._shapes,d=this.visualMapModel,e=c.handleThumbs,f=c.handleLabels;r([0,1],function(g){var h=e[g];h.setStyle("fill",b.handlesColor[g]),h.position[1]=a[g];var i=j.applyTransform(c.handleLabelPoints[g],j.getTransform(h,this.group));f[g].setStyle({x:i[0],y:i[1],text:d.formatValueText(this._dataInterval[g]),textVerticalAlign:"middle",textAlign:this._applyTransform("horizontal"===this._orient?0===g?"bottom":"top":"left",c.barGroup)})},this)}},_showIndicator:function(a,b,c,d){var e=this.visualMapModel,g=e.getExtent(),h=e.itemSize,i=[0,h[1]],k=q(a,g,i,!0),l=this._shapes,m=l.indicator;if(m){m.position[1]=k,m.attr("invisible",!1),m.setShape("points",f(!!c,d,k,h[1]));var n={convertOpacityToAlpha:!0},o=this.getControllerVisual(a,"color",n);m.setStyle("fill",o);var p=j.applyTransform(l.indicatorLabelPoint,j.getTransform(m,this.group)),r=l.indicatorLabel;r.attr("invisible",!1);var s=this._applyTransform("left",l.barGroup),t=this._orient;r.setStyle({text:(c?c:"")+e.formatValueText(b),textVerticalAlign:"horizontal"===t?s:"middle",textAlign:"horizontal"===t?"center":s,x:p[0],y:p[1]})}},_enableHoverLinkToSeries:function(){var a=this;this._shapes.barGroup.on("mousemove",function(b){if(a._hovering=!0,!a._dragging){var c=a.visualMapModel.itemSize,d=a._applyTransform([b.offsetX,b.offsetY],a._shapes.barGroup,!0,!0);d[1]=s(t(0,d[1]),c[1]),a._doHoverLinkToSeries(d[1],0<=d[0]&&d[0]<=c[0])}}).on("mouseout",function(){a._hovering=!1,!a._dragging&&a._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var a=this.api.getZr();this.visualMapModel.option.hoverLink?(a.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),a.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(a,b){var c=this.visualMapModel,d=c.itemSize;if(c.option.hoverLink){var e=[0,d[1]],f=c.getExtent();a=s(t(e[0],a),e[1]);var i=g(c,f,e),j=[a-i,a+i],k=q(a,e,f,!0),l=[q(j[0],e,f,!0),q(j[1],e,f,!0)];j[0]<e[0]&&(l[0]=-(1/0)),j[1]>e[1]&&(l[1]=1/0),b&&(l[0]===-(1/0)?this._showIndicator(k,l[1],"< ",i):l[1]===1/0?this._showIndicator(k,l[0],"> ",i):this._showIndicator(k,k,"≈ ",i));var m=this._hoverLinkDataIndices,n=[];(b||h(c))&&(n=this._hoverLinkDataIndices=c.findTargetDataIndices(l));var o=p.compressBatches(m,n);this._dispatchHighDown("downplay",o[0]),this._dispatchHighDown("highlight",o[1])}},_hoverLinkFromSeriesMouseOver:function(a){var b=a.target;if(b&&null!=b.dataIndex){var c=b.dataModel||this.ecModel.getSeriesByIndex(b.seriesIndex),d=c.getData(b.dataType),e=d.getDimension(this.visualMapModel.getDataDimension(d)),f=d.get(e,b.dataIndex,!0);isNaN(f)||this._showIndicator(f,f)}},_hideIndicator:function(){var a=this._shapes;a.indicator&&a.indicator.attr("invisible",!0),a.indicatorLabel&&a.indicatorLabel.attr("invisible",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var a=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",a),a.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var a=this.api.getZr();a.off("mouseover",this._hoverLinkFromSeriesMouseOver),a.off("mouseout",this._hideIndicator)},_applyTransform:function(a,b,c,d){var e=j.getTransform(b,d?null:this.group);return j[k.isArray(a)?"applyTransform":"transformDirection"](a,e,c)},_dispatchHighDown:function(a,b){b&&b.length&&this.api.dispatchAction({type:a,batch:b})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});a.exports=w},function(a,b,c){function d(a,b){var c=a.inverse;("vertical"===a.orient?!c:c)&&b.reverse()}function e(a){function b(a,c,d){return d=d||0,a.interval[d]<c.interval[d]||a.interval[d]===c.interval[d]&&(+a.close[d]>c.close[d]||b(a,c,1))}a.sort(function(a,c){return b(a,c)?-1:1});for(var c=-(1/0),d=0;d<a.length;d++)for(var e=a[d].interval,f=a[d].close,g=0;2>g;g++)e[g]<c&&(e[g]=c,f[g]=1-g),c=e[g]}var f=c(230),g=c(1),h=c(71),i=f.extend({type:"visualMap.piecewise",defaultOption:{selected:null,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieceList:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0},optionUpdated:function(a,b){i.superApply(this,"optionUpdated",arguments),this._pieceList=[],this.resetTargetSeries(),this.resetExtent();var c=this._mode=this._determineMode();j[this._mode].call(this),this._resetSelected(a,b);var d=this.option.categories;this.resetVisual(function(a,b){"categories"===c?(a.mappingMethod="category",a.categories=g.clone(d)):(a.dataExtent=this.getExtent(),a.mappingMethod="piecewise",a.pieceList=g.map(this._pieceList,function(a){var a=g.clone(a);return"inRange"!==b&&(a.visual=null),a}))})},_resetSelected:function(a,b){var c=this.option,d=this._pieceList,e=(b?c:a).selected||{};if(c.selected=e,g.each(d,function(a,b){var c=this.getSelectedMapKey(a);c in e||(e[c]=!0)},this),"single"===c.selectedMode){var f=!1;g.each(d,function(a,b){var c=this.getSelectedMapKey(a);e[c]&&(f?e[c]=!1:f=!0)},this)}},getSelectedMapKey:function(a){return"categories"===this._mode?a.value+"":a.index+""},getPieceList:function(){return this._pieceList},_determineMode:function(){var a=this.option;return a.pieces&&a.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},setSelected:function(a){this.option.selected=g.clone(a)},getValueState:function(a){var b=h.findPieceIndex(a,this._pieceList);return null!=b&&this.option.selected[this.getSelectedMapKey(this._pieceList[b])]?"inRange":"outOfRange"},findTargetDataIndices:function(a){var b=[];return this.eachTargetSeries(function(c){var d=[],e=c.getData();e.each(this.getDataDimension(e),function(b,c){var e=h.findPieceIndex(b,this._pieceList);e===a&&d.push(c)},!0,this),b.push({seriesId:c.id,dataIndex:d})},this),b},getRepresentValue:function(a){var b;if(this.isCategory())b=a.value;else if(null!=a.value)b=a.value;else{var c=a.interval||[];b=(c[0]+c[1])/2}return b},getStops:function(a,b){function c(a){d.push(a),a.color=b(e,e.getRepresentValue(a),a.valueState)}var d=[],e=this,f=-(1/0);return g.each(this._pieceList,function(a){var b=a.interval;b&&(b[0]>f&&c({interval:[f,b[0]],valueState:"outOfRange"}),c({interval:b.slice(),valueState:this.getValueState((b[0]+b[1])/2)}),f=b[1])},this),d}}),j={splitNumber:function(){var a=this.option,b=this._pieceList,c=a.precision,d=this.getExtent(),f=a.splitNumber;f=Math.max(parseInt(f,10),1),a.splitNumber=f;for(var h=(d[1]-d[0])/f;+h.toFixed(c)!==h&&5>c;)c++;a.precision=c,h=+h.toFixed(c);for(var i=0,j=d[0];f>i;i++,j+=h){var k=i===f-1?d[1]:j+h;b.push({index:i,interval:[j,k],close:[1,1]})}e(b),g.each(b,function(a){a.text=this.formatValueText(a.interval)},this)},categories:function(){var a=this.option;g.each(a.categories,function(a){
+this._pieceList.push({text:this.formatValueText(a,!0),value:a})},this),d(a,this._pieceList)},pieces:function(){var a=this.option,b=this._pieceList;g.each(a.pieces,function(a,c){g.isObject(a)||(a={value:a});var d={text:"",index:c};if(null!=a.label&&(d.text=a.label),a.hasOwnProperty("value")){var e=d.value=a.value;d.interval=[e,e],d.close=[1,1]}else{for(var f=d.interval=[],i=d.close=[0,0],j=[1,0,1],k=[-(1/0),1/0],l=[],m=0;2>m;m++){for(var n=[["gte","gt","min"],["lte","lt","max"]][m],o=0;3>o&&null==f[m];o++)f[m]=a[n[o]],i[m]=j[o],l[m]=2===o;null==f[m]&&(f[m]=k[m])}l[0]&&f[1]===1/0&&(i[0]=0),l[1]&&f[0]===-(1/0)&&(i[1]=0),f[0]===f[1]&&i[0]&&i[1]&&(d.value=f[0])}d.visual=h.retrieveVisuals(a),b.push(d)},this),d(a,b),e(b),g.each(b,function(a){var b=a.close,c=[["<","≤"][b[1]],[">","≥"][b[0]]];a.text=a.text||this.formatValueText(null!=a.value?a.value:a.interval,!1,c)},this)}};a.exports=i},function(a,b,c){var d=c(231),e=c(1),f=c(3),g=c(26),h=c(13),i=c(232),j=d.extend({type:"visualMap.piecewise",doRender:function(){function a(a){var g=a.piece,h=new f.Group;h.onclick=e.bind(this._onItemClick,this,g),this._enableHoverLink(h,a.indexInModelPieceList);var m=c.getRepresentValue(g);if(this._createItemSymbol(h,m,[0,0,l[0],l[1]]),n){var o=this.visualMapModel.getValueState(m);h.add(new f.Text({style:{x:"right"===k?-d:l[0]+d,y:l[1]/2,text:g.text,textVerticalAlign:"middle",textAlign:k,textFont:i,fill:j,opacity:"outOfRange"===o?.5:1}}))}b.add(h)}var b=this.group;b.removeAll();var c=this.visualMapModel,d=c.get("textGap"),g=c.textStyleModel,i=g.getFont(),j=g.getTextColor(),k=this._getItemAlign(),l=c.itemSize,m=this._getViewData(),n=!m.endsText,o=!n;o&&this._renderEndsText(b,m.endsText[0],l),e.each(m.viewPieceList,a,this),o&&this._renderEndsText(b,m.endsText[1],l),h.box(c.get("orient"),b,c.get("itemGap")),this.renderBackground(b),this.positionGroup(b)},_enableHoverLink:function(a,b){function c(a){var c=this.visualMapModel;c.option.hoverLink&&this.api.dispatchAction({type:a,batch:c.findTargetDataIndices(b)})}a.on("mouseover",e.bind(c,this,"highlight")).on("mouseout",e.bind(c,this,"downplay"))},_getItemAlign:function(){var a=this.visualMapModel,b=a.option;if("vertical"===b.orient)return i.getItemAlign(a,this.api,a.itemSize);var c=b.align;return c&&"auto"!==c||(c="left"),c},_renderEndsText:function(a,b,c){if(b){var d=new f.Group,e=this.visualMapModel.textStyleModel;d.add(new f.Text({style:{x:c[0]/2,y:c[1]/2,textVerticalAlign:"middle",textAlign:"center",text:b,textFont:e.getFont(),fill:e.getTextColor()}})),a.add(d)}},_getViewData:function(){var a=this.visualMapModel,b=e.map(a.getPieceList(),function(a,b){return{piece:a,indexInModelPieceList:b}}),c=a.get("text"),d=a.get("orient"),f=a.get("inverse");return("horizontal"===d?f:!f)?b.reverse():c&&(c=c.slice().reverse()),{viewPieceList:b,endsText:c}},_createItemSymbol:function(a,b,c){a.add(g.createSymbol(this.getControllerVisual(b,"symbol"),c[0],c[1],c[2],c[3],this.getControllerVisual(b,"color")))},_onItemClick:function(a){var b=this.visualMapModel,c=b.option,d=e.clone(c.selected),f=b.getSelectedMapKey(a);"single"===c.selectedMode?(d[f]=!0,e.each(d,function(a,b){d[b]=b===f})):d[f]=!d[f],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:d})}});a.exports=j},function(a,b,c){c(2).registerPreprocessor(c(233)),c(234),c(235),c(349),c(350),c(236)},function(a,b,c){c(2).registerPreprocessor(c(233)),c(234),c(235),c(351),c(352),c(236)},function(a,b,c){function d(a,b,c,d,e){h.call(this,a),this.map=b,this._nameCoordMap={},this.loadGeoJson(c,d,e)}var e=c(360),f=c(1),g=c(7),h=c(237),i=[c(358),c(359),c(357)];d.prototype={constructor:d,type:"geo",dimensions:["lng","lat"],containCoord:function(a){for(var b=this.regions,c=0;c<b.length;c++)if(b[c].contain(a))return!0;return!1},loadGeoJson:function(a,b,c){try{this.regions=a?e(a):[]}catch(d){throw"Invalid geoJson format\n"+d}b=b||{},c=c||{};for(var g=this.regions,h={},j=0;j<g.length;j++){var k=g[j].name;k=c[k]||k,g[j].name=k,h[k]=g[j],this.addGeoCoord(k,g[j].center);var l=b[k];l&&g[j].transformTo(l.left,l.top,l.width,l.height)}this._regionsMap=h,this._rect=null,f.each(i,function(a){a(this)},this)},transformTo:function(a,b,c,d){var e=this.getBoundingRect();e=e.clone(),e.y=-e.y-e.height;var f=this._viewTransform;f.transform=e.calculateTransform(new g(a,b,c,d)),f.decomposeTransform();var h=f.scale;h[1]=-h[1],f.updateTransform(),this._updateTransform()},getRegion:function(a){return this._regionsMap[a]},getRegionByCoord:function(a){for(var b=this.regions,c=0;c<b.length;c++)if(b[c].contain(a))return b[c]},addGeoCoord:function(a,b){this._nameCoordMap[a]=b},getGeoCoord:function(a){return this._nameCoordMap[a]},getBoundingRect:function(){if(this._rect)return this._rect;for(var a,b=this.regions,c=0;c<b.length;c++){var d=b[c].getBoundingRect();a=a||d.clone(),a.union(d)}return this._rect=a||new g(0,0,0,0)},dataToPoints:function(a){var b=[];return a.mapArray(["lng","lat"],function(a,c){return b[0]=a,b[1]=c,this.dataToPoint(b)},this)},dataToPoint:function(a){return"string"==typeof a&&(a=this.getGeoCoord(a)),a?h.prototype.dataToPoint.call(this,a):void 0}},f.mixin(d,h),a.exports=d},function(a,b,c){"use strict";var d=c(11),e=c(10),f=c(9),g=c(1),h=c(66),i=c(171),j=e.extend({type:"geo",coordinateSystem:null,layoutMode:"box",init:function(a){e.prototype.init.apply(this,arguments),d.defaultEmphasis(a.label,["position","show","textStyle","distance","formatter"])},optionUpdated:function(){var a=this.option,b=this;a.regions=i.getFilledRegions(a.regions,a.map),this._optionModelMap=g.reduce(a.regions||[],function(a,c){return c.name&&(a[c.name]=new f(c,b)),a},{}),this.updateSelectedMap(a.regions)},defaultOption:{zlevel:0,z:0,show:!0,left:"center",top:"center",aspectScale:.75,silent:!1,map:"",center:null,zoom:1,scaleLimit:null,label:{normal:{show:!1,textStyle:{color:"#000"}},emphasis:{show:!0,textStyle:{color:"rgb(100,0,0)"}}},itemStyle:{normal:{borderWidth:.5,borderColor:"#444",color:"#eee"},emphasis:{color:"rgba(255,215,0,0.8)"}},regions:[]},getRegionModel:function(a){return this._optionModelMap[a]},getFormattedLabel:function(a,b){var c=this.get("label."+b+".formatter"),d={name:a};return"function"==typeof c?(d.status=b,c(d)):"string"==typeof c?c.replace("{a}",d.seriesName):void 0},setZoom:function(a){this.option.zoom=a},setCenter:function(a){this.option.center=a}});g.mixin(j,h),a.exports=j},function(a,b,c){var d=c(1),e={Russia:[100,60],"United States of America":[-99,38]};a.exports=function(a){d.each(a.regions,function(a){var b=e[a.name];if(b){var c=a.center;c[0]=b[0],c[1]=b[1]}})}},function(a,b,c){for(var d=c(238),e=[126,25],f=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]],g=0;g<f.length;g++)for(var h=0;h<f[g].length;h++)f[g][h][0]/=10.5,f[g][h][1]/=-14,f[g][h][0]+=e[0],f[g][h][1]+=e[1];a.exports=function(a){"china"===a.map&&a.regions.push(new d("南海诸岛",f,e))}},function(a,b,c){var d=c(1),e={"南海诸岛":[32,80],"广东":[0,-10],"香港":[10,5],"澳门":[-10,10],"天津":[5,5]};a.exports=function(a){d.each(a.regions,function(a){var b=e[a.name];if(b){var c=a.center;c[0]+=b[0]/10.5,c[1]+=-b[1]/14}})}},function(a,b,c){function d(a){if(!a.UTF8Encoding)return a;for(var b=a.features,c=0;c<b.length;c++)for(var d=b[c],f=d.geometry,g=f.coordinates,h=f.encodeOffsets,i=0;i<g.length;i++){var j=g[i];if("Polygon"===f.type)g[i]=e(j,h[i]);else if("MultiPolygon"===f.type)for(var k=0;k<j.length;k++){var l=j[k];j[k]=e(l,h[i][k])}}return a.UTF8Encoding=!1,a}function e(a,b){for(var c=[],d=b[0],e=b[1],f=0;f<a.length;f+=2){var g=a.charCodeAt(f)-64,h=a.charCodeAt(f+1)-64;g=g>>1^-(1&g),h=h>>1^-(1&h),g+=d,h+=e,d=g,e=h,c.push([g/1024,h/1024])}return c}function f(a){for(var b=[],c=0;c<a.length;c++)for(var d=0;d<a[c].length;d++)b.push(a[c][d]);return b}var g=c(1),h=c(238);a.exports=function(a){return d(a),g.map(g.filter(a.features,function(a){return a.geometry&&a.properties}),function(a){var b=a.properties,c=a.geometry,d=c.coordinates;return"MultiPolygon"===c.type&&(d=f(d)),new h(b.name,d,b.cp)})}},function(a,b,c){function d(a,b){return b.type||(b.data?"category":"value")}var e=c(10),f=c(1),g=c(31),h=c(52),i=c(4),j=e.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return g([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]]).call(this.getModel("areaSelectStyle"))},setActiveIntervals:function(a){var b=this.activeIntervals=f.clone(a);if(b)for(var c=b.length-1;c>=0;c--)i.asc(b[c])},getActiveState:function(a){var b=this.activeIntervals;if(!b.length)return"normal";if(null==a)return"inactive";for(var c=0,d=b.length;d>c;c++)if(b[c][0]<=a&&a<=b[c][1])return"active";return"inactive"}}),k={type:"value",dim:null,areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};f.merge(j.prototype,c(51)),h("parallel",j,d,k),a.exports=j},function(a,b,c){function d(a,b,c){this._axesMap={},this._axesLayout={},this.dimensions=a.dimensions,this._rect,this._model=a,this._init(a,b,c)}var e=c(13),f=c(22),g=c(1),h=c(363),i=c(3),j=c(19),k=g.each,l=Math.PI;d.prototype={type:"parallel",constructor:d,_init:function(a,b,c){var d=a.dimensions,e=a.parallelAxisIndex;k(d,function(a,c){var d=e[c],g=b.getComponent("parallelAxis",d),i=this._axesMap[a]=new h(a,f.createScaleByModel(g),[0,0],g.get("type"),d),j="category"===i.type;i.onBand=j&&g.get("boundaryGap"),i.inverse=g.get("inverse"),g.axis=i,i.model=g},this)},update:function(a,b){this._updateAxesFromSeries(this._model,a)},_updateAxesFromSeries:function(a,b){b.eachSeries(function(c){if(a.contains(c,b)){var d=c.getData();k(this.dimensions,function(a){var b=this._axesMap[a];b.scale.unionExtent(d.getDataExtent(a)),f.niceScaleExtent(b,b.model)},this)}},this)},resize:function(a,b){this._rect=e.getLayoutRect(a.getBoxLayoutParams(),{width:b.getWidth(),height:b.getHeight()}),this._layoutAxes(a)},getRect:function(){return this._rect},_layoutAxes:function(a){var b=this._rect,c=a.get("layout"),d=this._axesMap,e=this.dimensions,f=[b.width,b.height],g="horizontal"===c?0:1,h=f[g],i=f[1-g],m=[0,i];k(d,function(a){var b=a.inverse?1:0;a.setExtent(m[b],m[1-b])});var n,o=a.get("axisExpandable"),p=a.get("axisExpandWidth"),q=a.get("axisExpandCenter"),r=a.get("axisExpandCount")||0;if(null!=q){var s=Math.max(0,Math.floor(q-(r-1)/2)),t=s+r-1;t>=e.length&&(t=e.length-1,s=Math.max(0,Math.floor(t-r+1))),n=[s,t]}var u=o&&n&&p?function(a,b,c){var d,e=n[1]-n[0],f=(b-p*e)/(c-1-e);return d=a<n[0]?(a-1)*f:a<=n[1]?n[0]*f+(a-n[0])*p:a===c-1?b:n[0]*f+e*p+(a-n[1])*f,{position:d,axisNameAvailableWidth:n[0]<a&&a<n[1]?p:f}}:function(a,b,c){var d=b/(c-1);return{position:d*a,axisNameAvailableWidth:d}};k(e,function(a,d){var f=u(d,h,e.length),g={horizontal:{x:f.position,y:i},vertical:{x:0,y:f.position}},k={horizontal:l/2,vertical:0},m=[g[c].x+b.x,g[c].y+b.y],o=k[c],p=j.create();j.rotate(p,p,o),j.translate(p,p,m),this._axesLayout[a]={position:m,rotation:o,transform:p,axisNameAvailableWidth:f.axisNameAvailableWidth,tickDirection:1,labelDirection:1,axisExpandWindow:n}},this)},getAxis:function(a){return this._axesMap[a]},dataToPoint:function(a,b){return this.axisCoordToPoint(this._axesMap[b].dataToCoord(a),b)},eachActiveState:function(a,b,c){for(var d=this.dimensions,e=this._axesMap,f=this.hasAxisbrushed(),g=0,h=a.count();h>g;g++){var i,j=a.getValues(d,g);if(f){i="active";for(var k=0,l=d.length;l>k;k++){var m=d[k],n=e[m].model.getActiveState(j[k],k);if("inactive"===n){i="inactive";break}}}else i="normal";b.call(c,i,g)}},hasAxisbrushed:function(){for(var a=this.dimensions,b=this._axesMap,c=!1,d=0,e=a.length;e>d;d++)"normal"!==b[a[d]].model.getActiveState()&&(c=!0);return c},axisCoordToPoint:function(a,b){var c=this._axesLayout[b];return i.applyTransform([a,0],c.transform)},getAxisLayout:function(a){return g.clone(this._axesLayout[a])},findClosestAxisDim:function(a){var b,c=1/0;return g.each(this._axesLayout,function(d,e){var f=i.applyTransform(a,d.transform,!0),g=this._axesMap[e].getExtent();if(!(f[0]<g[0]||f[0]>g[1])){var h=Math.abs(f[1]);c>h&&(c=h,b=e)}},this),b}},a.exports=d},function(a,b,c){var d=c(1),e=c(42),f=function(a,b,c,d,f){e.call(this,a,b,c),this.type=d||"value",this.axisIndex=f};f.prototype={constructor:f,model:null},d.inherits(f,e),a.exports=f},function(a,b,c){var d=c(1),e=c(10);c(361),e.extend({type:"parallel",dependencies:["parallelAxis"],coordinateSystem:null,dimensions:null,parallelAxisIndex:null,layoutMode:"box",defaultOption:{zlevel:0,z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,parallelAxisDefault:null},init:function(){e.prototype.init.apply(this,arguments),this.mergeOption({})},mergeOption:function(a){var b=this.option;a&&d.merge(b,a,!0),this._initDimensions()},contains:function(a,b){var c=a.get("parallelIndex");return null!=c&&b.getComponent("parallel",c)===this},setAxisExpand:function(a){d.each(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth"],function(b){a.hasOwnProperty(b)&&(this.option[b]=a[b])},this)},_initDimensions:function(){var a=this.dimensions=[],b=this.parallelAxisIndex=[],c=d.filter(this.dependentModels.parallelAxis,function(a){return a.get("parallelIndex")===this.componentIndex});d.each(c,function(c){a.push("dim"+c.get("dim")),b.push(c.componentIndex)})}})},function(a,b,c){function d(a){if(!a.parallel){var b=!1;f.each(a.series,function(a){a&&"parallel"===a.type&&(b=!0)}),b&&(a.parallel=[{}])}}function e(a){var b=g.normalizeToArray(a.parallelAxis);f.each(b,function(b){if(f.isObject(b)){var c=b.parallelIndex||0,d=g.normalizeToArray(a.parallel)[c];d&&d.parallelAxisDefault&&f.merge(b,d.parallelAxisDefault,!1)}})}var f=c(1),g=c(11);a.exports=function(a){d(a),e(a)}},function(a,b,c){"use strict";function d(a,b){b=b||[0,360],f.call(this,"angle",a,b),this.type="category"}var e=c(1),f=c(42);d.prototype={constructor:d,dataToAngle:f.prototype.dataToCoord,angleToData:f.prototype.coordToData},e.inherits(d,f),a.exports=d},function(a,b,c){"use strict";function d(a,b){return b.type||(b.data?"category":"value")}var e=c(1),f=c(10),g=c(52),h=f.extend({type:"polarAxis",axis:null});e.merge(h.prototype,c(51));var i={angle:{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}},radius:{splitNumber:5}};g("angle",h,d,i.angle),g("radius",h,d,i.radius)},function(a,b,c){"use strict";var d=c(370),e=c(366),f=function(a){this.name=a||"",this.cx=0,this.cy=0,this._radiusAxis=new d,this._angleAxis=new e};f.prototype={constructor:f,type:"polar",dimensions:["radius","angle"],containPoint:function(a){var b=this.pointToCoord(a);return this._radiusAxis.contain(b[0])&&this._angleAxis.contain(b[1])},containData:function(a){return this._radiusAxis.containData(a[0])&&this._angleAxis.containData(a[1])},getAxis:function(a){return this["_"+a+"Axis"]},getAxesByScale:function(a){var b=[],c=this._angleAxis,d=this._radiusAxis;return c.scale.type===a&&b.push(c),d.scale.type===a&&b.push(d),b},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(a){var b=this._angleAxis;return a===b?this._radiusAxis:b},getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},dataToPoints:function(a){return a.mapArray(this.dimensions,function(a,b){return this.dataToPoint([a,b])},this)},dataToPoint:function(a,b){return this.coordToPoint([this._radiusAxis.dataToRadius(a[0],b),this._angleAxis.dataToAngle(a[1],b)])},pointToData:function(a,b){var c=this.pointToCoord(a);return[this._radiusAxis.radiusToData(c[0],b),this._angleAxis.angleToData(c[1],b)]},pointToCoord:function(a){var b=a[0]-this.cx,c=a[1]-this.cy,d=this.getAngleAxis(),e=d.getExtent(),f=Math.min(e[0],e[1]),g=Math.max(e[0],e[1]);d.inverse?f=g-360:g=f+360;var h=Math.sqrt(b*b+c*c);b/=h,c/=h;for(var i=Math.atan2(-c,b)/Math.PI*180,j=f>i?1:-1;f>i||i>g;)i+=360*j;return[h,i]},coordToPoint:function(a){var b=a[0],c=a[1]/180*Math.PI,d=Math.cos(c)*b+this.cx,e=-Math.sin(c)*b+this.cy;return[d,e]}},a.exports=f},function(a,b,c){"use strict";c(367),c(2).extendComponentModel({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(a){var b,c=this.ecModel;return c.eachComponent(a,function(a){var d=c.queryComponents({mainType:"polar",index:a.getShallow("polarIndex"),id:a.getShallow("polarId")})[0];d===this&&(b=a)},this),b},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}})},function(a,b,c){"use strict";function d(a,b){f.call(this,"radius",a,b),this.type="category"}var e=c(1),f=c(42);d.prototype={constructor:d,dataToRadius:f.prototype.dataToCoord,radiusToData:f.prototype.coordToData},e.inherits(d,f),a.exports=d},function(a,b,c){function d(a,b,c){f.call(this,a,b,c),this.type="value",this.angle=0,this.name="",this.model}var e=c(1),f=c(42);e.inherits(d,f),a.exports=d},function(a,b,c){function d(a,b,c){this._model=a,this.dimensions=[],this._indicatorAxes=e.map(a.getIndicatorModels(),function(a,b){var c="indicator_"+b,d=new f(c,new g);return d.name=a.get("name"),d.model=a,a.axis=d,this.dimensions.push(c),d},this),this.resize(a,c),this.cx,this.cy,this.r,this.startAngle}var e=c(1),f=c(371),g=c(38),h=c(4),i=c(22);d.prototype.getIndicatorAxes=function(){return this._indicatorAxes},d.prototype.dataToPoint=function(a,b){var c=this._indicatorAxes[b];return this.coordToPoint(c.dataToCoord(a),b)},d.prototype.coordToPoint=function(a,b){var c=this._indicatorAxes[b],d=c.angle,e=this.cx+a*Math.cos(d),f=this.cy-a*Math.sin(d);return[e,f]},d.prototype.pointToData=function(a){var b=a[0]-this.cx,c=a[1]-this.cy,d=Math.sqrt(b*b+c*c);b/=d,c/=d;for(var e,f=Math.atan2(-c,b),g=1/0,h=-1,i=0;i<this._indicatorAxes.length;i++){var j=this._indicatorAxes[i],k=Math.abs(f-j.angle);g>k&&(e=j,h=i,g=k)}return[h,+(e&&e.coodToData(d))]},d.prototype.resize=function(a,b){var c=a.get("center"),d=b.getWidth(),f=b.getHeight(),g=Math.min(d,f)/2;this.cx=h.parsePercent(c[0],d),this.cy=h.parsePercent(c[1],f),this.startAngle=a.get("startAngle")*Math.PI/180,this.r=h.parsePercent(a.get("radius"),g),e.each(this._indicatorAxes,function(a,b){a.setExtent(0,this.r);var c=this.startAngle+b*Math.PI*2/this._indicatorAxes.length;c=Math.atan2(Math.sin(c),Math.cos(c)),a.angle=c},this)},d.prototype.update=function(a,b){function c(a){var b=Math.pow(10,Math.floor(Math.log(a)/Math.LN10)),c=a/b;return 2===c?c=5:c*=2,c*b}var d=this._indicatorAxes,f=this._model;e.each(d,function(a){a.scale.setExtent(1/0,-(1/0))}),a.eachSeriesByType("radar",function(b,c){if("radar"===b.get("coordinateSystem")&&a.getComponent("radar",b.get("radarIndex"))===f){var g=b.getData();e.each(d,function(a){a.scale.unionExtent(g.getDataExtent(a.dim))})}},this);var g=f.get("splitNumber");e.each(d,function(a,b){var d=i.getScaleExtent(a,a.model);i.niceScaleExtent(a,a.model);var e=a.model,f=a.scale,j=e.get("min"),k=e.get("max"),l=f.getInterval();if(null!=j&&null!=k)f.setInterval((k-j)/g);else if(null!=j){var m;do m=j+l*g,f.setExtent(+j,m),f.setInterval(l),l=c(l);while(m<d[1]&&isFinite(m)&&isFinite(d[1]))}else if(null!=k){var n;do n=k-l*g,f.setExtent(n,+k),f.setInterval(l),l=c(l);while(n>d[0]&&isFinite(n)&&isFinite(d[0]))}else{var o=f.getTicks().length-1;o>g&&(l=c(l));var p=Math.round((d[0]+d[1])/2/l)*l,q=Math.round(g/2);f.setExtent(h.round(p-q*l),h.round(p+(g-q)*l)),f.setInterval(l)}})},d.dimensions=[],d.create=function(a,b){var c=[];return a.eachComponent("radar",function(e){var f=new d(e,a,b);c.push(f),e.coordinateSystem=f}),a.eachSeriesByType("radar",function(a){"radar"===a.get("coordinateSystem")&&(a.coordinateSystem=c[a.get("radarIndex")||0])}),c},c(23).register("radar",d),a.exports=d},function(a,b,c){function d(a,b){return h.defaults({show:b},a)}var e=c(80),f=e.valueAxis,g=c(9),h=c(1),i=c(51),j=c(2).extendComponentModel({type:"radar",optionUpdated:function(){var a=this.get("boundaryGap"),b=this.get("splitNumber"),c=this.get("scale"),d=this.get("axisLine"),e=this.get("axisTick"),f=this.get("axisLabel"),j=this.get("name.textStyle"),k=this.get("name.show"),l=this.get("name.formatter"),m=this.get("nameGap"),n=h.map(this.get("indicator")||[],function(n){return null!=n.max&&n.max>0&&!n.min?n.min=0:null!=n.min&&n.min<0&&!n.max&&(n.max=0),n=h.merge(h.clone(n),{boundaryGap:a,splitNumber:b,scale:c,axisLine:d,axisTick:e,axisLabel:f,name:n.text,nameLocation:"end",nameGap:m,nameTextStyle:j},!1),k||(n.name=""),"string"==typeof l?n.name=l.replace("{value}",n.name):"function"==typeof l&&(n.name=l(n.name,n)),h.extend(new g(n,null,this.ecModel),i)},this);this.getIndicatorModels=function(){return n}},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:"polygon",axisLine:h.merge({lineStyle:{color:"#bbb"}},f.axisLine),axisLabel:d(f.axisLabel,!1),axisTick:d(f.axisTick,!1),splitLine:d(f.splitLine,!0),splitArea:d(f.splitArea,!0),indicator:[]}});a.exports=j},function(a,b,c){function d(a,b){return b.type||(b.data?"category":"value")}var e=c(10),f=c(52),g=c(1),h=e.extend({type:"singleAxis",layoutMode:"box",axis:null,coordinateSystem:null}),i={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:2,type:"solid"}},axisTick:{show:!0,length:6,lineStyle:{width:2}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}};g.merge(h.prototype,c(51)),f("single",h,d,i),a.exports=h},function(a,b,c){function d(a,b,c){this.dimension="x",this.dimensions=["x"],this._axis=null,this._rect,this._init(a,b,c),this._model=a}var e=c(376),f=c(22),g=c(13);d.prototype={type:"singleAxis",constructor:d,_init:function(a,b,c){var d=this.dimension,g=new e(d,f.createScaleByModel(a),[0,0],a.get("type"),a.get("position")),h="category"===g.type;g.onBand=h&&a.get("boundaryGap"),g.inverse=a.get("inverse"),g.orient=a.get("orient"),a.axis=g,g.model=a,this._axis=g},update:function(a,b){this._updateAxisFromSeries(a)},_updateAxisFromSeries:function(a){a.eachSeries(function(a){var b=a.getData(),c=this.dimension;this._axis.scale.unionExtent(b.getDataExtent(a.coordDimToDataDim(c))),f.niceScaleExtent(this._axis,this._axis.model)},this)},resize:function(a,b){this._rect=g.getLayoutRect({left:a.get("left"),top:a.get("top"),right:a.get("right"),bottom:a.get("bottom"),width:a.get("width"),height:a.get("height")},{width:b.getWidth(),height:b.getHeight()}),this._adjustAxis()},getRect:function(){return this._rect},_adjustAxis:function(){var a=this._rect,b=this._axis,c=b.isHorizontal(),d=c?[0,a.width]:[0,a.height],e=b.reverse?1:0;b.setExtent(d[e],d[1-e]),this._updateAxisTransform(b,c?a.x:a.y)},_updateAxisTransform:function(a,b){var c=a.getExtent(),d=c[0]+c[1],e=a.isHorizontal();a.toGlobalCoord=e?function(a){return a+b}:function(a){return d-a+b},a.toLocalCoord=e?function(a){return a-b}:function(a){return d-a+b}},getAxis:function(){return this._axis},getBaseAxis:function(){return this._axis},containPoint:function(a){var b=this.getRect(),c=this.getAxis(),d=c.orient;return"horizontal"===d?c.contain(c.toLocalCoord(a[0]))&&a[1]>=b.y&&a[1]<=b.y+b.height:c.contain(c.toLocalCoord(a[1]))&&a[0]>=b.y&&a[0]<=b.y+b.height},pointToData:function(a){var b=this.getAxis();return[b.coordToData(b.toLocalCoord(a["horizontal"===b.orient?0:1]))]},dataToPoint:function(a){var b=this.getAxis(),c=this.getRect(),d=[],e="horizontal"===b.orient?0:1;return d[e]=b.toGlobalCoord(b.dataToCoord(+a)),d[1-e]=0===e?c.y+c.height/2:c.x+c.width/2,d}},a.exports=d},function(a,b,c){var d=c(1),e=c(42),f=c(22),g=function(a,b,c,d,f){e.call(this,a,b,c),this.type=d||"value",this.position=f||"bottom",this.orient=null,this._labelInterval=null};g.prototype={constructor:g,model:null,isHorizontal:function(){var a=this.position;return"top"===a||"bottom"===a},getLabelInterval:function(){var a=this._labelInterval;if(!a){var b=this.model,c=b.getModel("axisLabel"),e=c.get("interval");if("category"!==this.type||"auto"!==e)return a=this._labelInterval="auto"===e?0:e;a=this._labelInterval=f.getAxisLabelInterval(d.map(this.scale.getTicks(),this.dataToCoord,this),b.getFormattedLabels(),c.getModel("textStyle").getFont(),this.isHorizontal())}return a},toGlobalCoord:null,toLocalCoord:null},d.inherits(g,e),a.exports=g},function(a,b,c){function d(a,b){var c=[];return a.eachComponent("singleAxis",function(d,f){var g=new e(d,a,b);g.name="single_"+f,g.resize(d,b),d.coordinateSystem=g,c.push(g)}),a.eachSeries(function(b){if("singleAxis"===b.get("coordinateSystem")){var c=a.queryComponents({mainType:"singleAxis",index:b.get("singleAxisIndex"),id:b.get("singleAxisId")})[0];b.coordinateSystem=c.coordinateSystem}}),c}var e=c(375);c(23).register("single",{create:d,dimensions:e.prototype.dimensions})},function(a,b,c){"use strict";function d(a,b){this.id=null==a?"":a,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=null==b?-1:b}function e(a,b,c){this.node1=a,this.node2=b,this.dataIndex=null==c?-1:c}var f=c(1),g=function(a){this._directed=a||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},h=g.prototype;h.type="graph",h.isDirected=function(){return this._directed},h.addNode=function(a,b){a=a||""+b;var c=this._nodesMap;if(!c[a]){var e=new d(a,b);return e.hostGraph=this,this.nodes.push(e),c[a]=e,e}},h.getNodeByIndex=function(a){var b=this.data.getRawIndex(a);return this.nodes[b]},h.getNodeById=function(a){return this._nodesMap[a]},h.addEdge=function(a,b,c){var f=this._nodesMap,g=this._edgesMap;if("number"==typeof a&&(a=this.nodes[a]),"number"==typeof b&&(b=this.nodes[b]),a instanceof d||(a=f[a]),b instanceof d||(b=f[b]),a&&b){var h=a.id+"-"+b.id;if(!g[h]){var i=new e(a,b,c);return i.hostGraph=this,this._directed&&(a.outEdges.push(i),b.inEdges.push(i)),a.edges.push(i),a!==b&&b.edges.push(i),this.edges.push(i),g[h]=i,i}}},h.getEdgeByIndex=function(a){var b=this.edgeData.getRawIndex(a);return this.edges[b]},h.getEdge=function(a,b){a instanceof d&&(a=a.id),b instanceof d&&(b=b.id);var c=this._edgesMap;return this._directed?c[a+"-"+b]:c[a+"-"+b]||c[b+"-"+a]},h.eachNode=function(a,b){for(var c=this.nodes,d=c.length,e=0;d>e;e++)c[e].dataIndex>=0&&a.call(b,c[e],e)},h.eachEdge=function(a,b){for(var c=this.edges,d=c.length,e=0;d>e;e++)c[e].dataIndex>=0&&c[e].node1.dataIndex>=0&&c[e].node2.dataIndex>=0&&a.call(b,c[e],e)},h.breadthFirstTraverse=function(a,b,c,e){if(b instanceof d||(b=this._nodesMap[b]),b){for(var f="out"===c?"outEdges":"in"===c?"inEdges":"edges",g=0;g<this.nodes.length;g++)this.nodes[g].__visited=!1;if(!a.call(e,b,null))for(var h=[b];h.length;)for(var i=h.shift(),j=i[f],g=0;g<j.length;g++){var k=j[g],l=k.node1===i?k.node2:k.node1;if(!l.__visited){if(a.call(l,l,i))return;h.push(l),l.__visited=!0}}}},h.update=function(){for(var a=this.data,b=this.edgeData,c=this.nodes,d=this.edges,e=0,f=c.length;f>e;e++)c[e].dataIndex=-1;for(var e=0,f=a.count();f>e;e++)c[a.getRawIndex(e)].dataIndex=e;b.filterSelf(function(a){var c=d[b.getRawIndex(a)];return c.node1.dataIndex>=0&&c.node2.dataIndex>=0});for(var e=0,f=d.length;f>e;e++)d[e].dataIndex=-1;for(var e=0,f=b.count();f>e;e++)d[b.getRawIndex(e)].dataIndex=e},h.clone=function(){for(var a=new g(this._directed),b=this.nodes,c=this.edges,d=0;d<b.length;d++)a.addNode(b[d].id,b[d].dataIndex);for(var d=0;d<c.length;d++){var e=c[d];a.addEdge(e.node1.id,e.node2.id,e.dataIndex)}return a},d.prototype={constructor:d,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(a){if(!(this.dataIndex<0)){var b=this.hostGraph,c=b.data.getItemModel(this.dataIndex);return c.getModel(a)}}},e.prototype.getModel=function(a){if(!(this.dataIndex<0)){var b=this.hostGraph,c=b.edgeData.getItemModel(this.dataIndex);return c.getModel(a)}};var i=function(a,b){return{getValue:function(c){var d=this[a][b];return d.get(d.getDimension(c||"value"),this.dataIndex)},setVisual:function(c,d){this.dataIndex>=0&&this[a][b].setItemVisual(this.dataIndex,c,d)},getVisual:function(c,d){return this[a][b].getItemVisual(this.dataIndex,c,d)},setLayout:function(c,d){this.dataIndex>=0&&this[a][b].setItemLayout(this.dataIndex,c,d)},getLayout:function(){return this[a][b].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[a][b].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[a][b].getRawIndex(this.dataIndex)}}};f.mixin(d,i("hostGraph","data")),f.mixin(e,i("hostGraph","edgeData")),g.Node=d,g.Edge=e,a.exports=g},function(a,b,c){function d(a,b){this.root,this.data,this._nodes=[],this.hostModel=a,this.levelModels=f.map(b||[],function(b){return new g(b,a,a.ecModel)})}function e(a,b){var c=b.children;a.parentNode!==b&&(c.push(a),a.parentNode=b)}var f=c(1),g=c(9),h=c(14),i=c(240),j=c(30),k=function(a,b){this.name=a||"",this.depth=0,this.height=0,this.parentNode=null,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.hostTree=b};k.prototype={constructor:k,isRemoved:function(){return this.dataIndex<0},eachNode:function(a,b,c){"function"==typeof a&&(c=b,b=a,a=null),a=a||{},f.isString(a)&&(a={order:a});var d,e=a.order||"preorder",g=this[a.attr||"children"];"preorder"===e&&(d=b.call(c,this));for(var h=0;!d&&h<g.length;h++)g[h].eachNode(a,b,c);"postorder"===e&&b.call(c,this)},updateDepthAndHeight:function(a){var b=0;this.depth=a;for(var c=0;c<this.children.length;c++){var d=this.children[c];d.updateDepthAndHeight(a+1),d.height>b&&(b=d.height)}this.height=b+1},getNodeById:function(a){if(this.getId()===a)return this;for(var b=0,c=this.children,d=c.length;d>b;b++){var e=c[b].getNodeById(a);if(e)return e}},contains:function(a){if(a===this)return!0;for(var b=0,c=this.children,d=c.length;d>b;b++){var e=c[b].contains(a);if(e)return e}},getAncestors:function(a){for(var b=[],c=a?this:this.parentNode;c;)b.push(c),c=c.parentNode;return b.reverse(),b},getValue:function(a){var b=this.hostTree.data;return b.get(b.getDimension(a||"value"),this.dataIndex)},setLayout:function(a,b){this.dataIndex>=0&&this.hostTree.data.setItemLayout(this.dataIndex,a,b)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(a){if(!(this.dataIndex<0)){var b=this.hostTree,c=b.data.getItemModel(this.dataIndex),d=this.getLevelModel();return c.getModel(a,(d||b.hostModel).getModel(a))}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},setVisual:function(a,b){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,a,b)},getVisual:function(a,b){return this.hostTree.data.getItemVisual(this.dataIndex,a,b)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)}},d.prototype={constructor:d,type:"tree",eachNode:function(a,b,c){this.root.eachNode(a,b,c)},getNodeByDataIndex:function(a){var b=this.data.getRawIndex(a);return this._nodes[b]},getNodeByName:function(a){return this.root.getNodeByName(a)},update:function(){for(var a=this.data,b=this._nodes,c=0,d=b.length;d>c;c++)b[c].dataIndex=-1;for(var c=0,d=a.count();d>c;c++)b[a.getRawIndex(c)].dataIndex=c},clearLayouts:function(){this.data.clearItemLayouts()}},d.createTree=function(a,b,c){function f(a,b){l.push(a);var c=new k(a.name,g);b?e(c,b):g.root=c,g._nodes.push(c);var d=a.children;if(d)for(var h=0;h<d.length;h++)f(d[h],c)}var g=new d(b,c),l=[];f(a),g.root.updateDepthAndHeight(0);var m=j([{name:"value"}],l),n=new h(m,b);
+return n.initData(l),i({mainData:n,struct:g,structAttr:"tree"}),g.update(),g},a.exports=d},function(a,b,c){function d(){var a,b=[],c={};return{add:function(a,d,f,g,h){return e.isString(g)&&(h=g,g=0),!c[a.id]&&(c[a.id]=1,b.push({el:a,target:d,time:f,delay:g,easing:h}),!0)},done:function(b){return a=b,this},start:function(){function d(){e--,e||(b.length=0,c={},a&&a())}for(var e=b.length,f=0,g=b.length;g>f;f++){var h=b[f];h.el.animateTo(h.target,h.time,h.delay,h.easing,d)}return this}}}var e=c(1);a.exports={createWrap:d}},function(a,b,c){function d(){function a(b,d){if(d>=c.length)return b;for(var f=-1,g=b.length,h=c[d++],i={},j={};++f<g;){var k=h(b[f]),l=j[k];l?l.push(b[f]):j[k]=[b[f]]}return e.each(j,function(b,c){i[c]=a(b,d)}),i}function b(a,f){if(f>=c.length)return a;var g=[],h=d[f++];return e.each(a,function(a,c){g.push({key:c,values:b(a,f)})}),h?g.sort(function(a,b){return h(a.key,b.key)}):g}var c=[],d=[];return{key:function(a){return c.push(a),this},sortKeys:function(a){return d[c.length-1]=a,this},entries:function(c){return b(a(c,0),0)}}}var e=c(1);a.exports=d},function(a,b,c){var d=c(1),e={get:function(a,b,c){var e=d.clone((f[a]||{})[b]);return c&&d.isArray(e)?e[e.length-1]:e}},f={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}};a.exports=e}])}),function(a,b){"function"==typeof define&&define.amd?define(["exports","echarts"],b):"object"==typeof exports&&"string"!=typeof exports.nodeName?b(exports,require("echarts")):b({},a.echarts)}(this,function(a,b){var c=function(a){"undefined"!=typeof console&&console&&console.error&&console.error(a)};if(!b)return void c("ECharts is not Loaded");var d=["#2ec7c9","#b6a2de","#5ab1ef","#ffb980","#d87a80","#8d98b3","#e5cf0d","#97b552","#95706d","#dc69aa","#07a2a4","#9a7fd1","#588dd5","#f5994e","#c05050","#59678c","#c9ab00","#7eb00a","#6f5553","#c14089"],e={color:d,title:{textStyle:{fontWeight:"normal",color:"#008acd"}},visualMap:{itemWidth:15,color:["#5ab1ef","#e0ffff"]},toolbox:{iconStyle:{normal:{borderColor:d[0]}}},tooltip:{backgroundColor:"rgba(50,50,50,0.5)",axisPointer:{type:"line",lineStyle:{color:"#008acd"},crossStyle:{color:"#008acd"},shadowStyle:{color:"rgba(200,200,200,0.2)"}}},dataZoom:{dataBackgroundColor:"#efefff",fillerColor:"rgba(182,162,222,0.2)",handleColor:"#008acd"},grid:{borderColor:"#eee"},categoryAxis:{axisLine:{lineStyle:{color:"#008acd"}},splitLine:{lineStyle:{color:["#eee"]}}},valueAxis:{axisLine:{lineStyle:{color:"#008acd"}},splitArea:{show:!0,areaStyle:{color:["rgba(250,250,250,0.1)","rgba(200,200,200,0.1)"]}},splitLine:{lineStyle:{color:["#eee"]}}},timeline:{lineStyle:{color:"#008acd"},controlStyle:{normal:{color:"#008acd"},emphasis:{color:"#008acd"}},symbol:"emptyCircle",symbolSize:3},line:{smooth:!0,symbol:"emptyCircle",symbolSize:3},candlestick:{itemStyle:{normal:{color:"#d87a80",color0:"#2ec7c9",lineStyle:{color:"#d87a80",color0:"#2ec7c9"}}}},scatter:{symbol:"circle",symbolSize:4},map:{label:{normal:{textStyle:{color:"#d87a80"}}},itemStyle:{normal:{borderColor:"#eee",areaColor:"#ddd"},emphasis:{areaColor:"#fe994e"}}},graph:{color:d},gauge:{axisLine:{lineStyle:{color:[[.2,"#2ec7c9"],[.8,"#5ab1ef"],[1,"#d87a80"]],width:10}},axisTick:{splitNumber:10,length:15,lineStyle:{color:"auto"}},splitLine:{length:22,lineStyle:{color:"auto"}},pointer:{width:5}}};b.registerTheme("macarons",e)}),function(){"use strict";angular.module("ui.tree",[]).constant("treeConfig",{treeClass:"angular-ui-tree",emptyTreeClass:"angular-ui-tree-empty",hiddenClass:"angular-ui-tree-hidden",nodesClass:"angular-ui-tree-nodes",nodeClass:"angular-ui-tree-node",handleClass:"angular-ui-tree-handle",placeholderClass:"angular-ui-tree-placeholder",dragClass:"angular-ui-tree-drag",dragThreshold:3,defaultCollapsed:!1,appendChildOnHover:!0})}(),function(){"use strict";angular.module("ui.tree").controller("TreeHandleController",["$scope","$element",function(a,b){this.scope=a,a.$element=b,a.$nodeScope=null,a.$type="uiTreeHandle"}])}(),function(){"use strict";angular.module("ui.tree").controller("TreeNodeController",["$scope","$element",function(a,b){function c(a){if(!a)return 0;var b,d,e,f=0,g=a.childNodes();if(!g||0===g.length)return 0;for(e=g.length-1;e>=0;e--)b=g[e],d=1+c(b),f=Math.max(f,d);return f}this.scope=a,a.$element=b,a.$modelValue=null,a.$parentNodeScope=null,a.$childNodesScope=null,a.$parentNodesScope=null,a.$treeScope=null,a.$handleScope=null,a.$type="uiTreeNode",a.$$allowNodeDrop=!1,a.collapsed=!1,a.expandOnHover=!1,a.init=function(c){var d=c[0];a.$treeScope=c[1]?c[1].scope:null,a.$parentNodeScope=d.scope.$nodeScope,a.$modelValue=d.scope.$modelValue[a.$index],a.$parentNodesScope=d.scope,d.scope.initSubNode(a),b.on("$destroy",function(){d.scope.destroySubNode(a)})},a.index=function(){return a.$parentNodesScope.$modelValue.indexOf(a.$modelValue)},a.dragEnabled=function(){return!(a.$treeScope&&!a.$treeScope.dragEnabled)},a.isSibling=function(b){return a.$parentNodesScope==b.$parentNodesScope},a.isChild=function(b){var c=a.childNodes();return c&&c.indexOf(b)>-1},a.prev=function(){var b=a.index();return b>0?a.siblings()[b-1]:null},a.siblings=function(){return a.$parentNodesScope.childNodes()},a.childNodesCount=function(){return a.childNodes()?a.childNodes().length:0},a.hasChild=function(){return a.childNodesCount()>0},a.childNodes=function(){return a.$childNodesScope&&a.$childNodesScope.$modelValue?a.$childNodesScope.childNodes():null},a.accept=function(b,c){return a.$childNodesScope&&a.$childNodesScope.$modelValue&&a.$childNodesScope.accept(b,c)},a.remove=function(){return a.$parentNodesScope.removeNode(a)},a.toggle=function(){a.collapsed=!a.collapsed,a.$treeScope.$callbacks.toggle(a.collapsed,a)},a.collapse=function(){a.collapsed=!0},a.expand=function(){a.collapsed=!1},a.depth=function(){var b=a.$parentNodeScope;return b?b.depth()+1:1},a.maxSubDepth=function(){return a.$childNodesScope?c(a.$childNodesScope):0}}])}(),function(){"use strict";angular.module("ui.tree").controller("TreeNodesController",["$scope","$element",function(a,b){this.scope=a,a.$element=b,a.$modelValue=null,a.$nodeScope=null,a.$treeScope=null,a.$type="uiTreeNodes",a.$nodesMap={},a.nodropEnabled=!1,a.maxDepth=0,a.cloneEnabled=!1,a.initSubNode=function(b){return b.$modelValue?void(a.$nodesMap[b.$modelValue.$$hashKey]=b):null},a.destroySubNode=function(b){return b.$modelValue?void(a.$nodesMap[b.$modelValue.$$hashKey]=null):null},a.accept=function(b,c){return a.$treeScope.$callbacks.accept(b,a,c)},a.beforeDrag=function(b){return a.$treeScope.$callbacks.beforeDrag(b)},a.isParent=function(b){return b.$parentNodesScope==a},a.hasChild=function(){return a.$modelValue.length>0},a.safeApply=function(a){var b=this.$root.$$phase;"$apply"==b||"$digest"==b?a&&"function"==typeof a&&a():this.$apply(a)},a.removeNode=function(b){var c=a.$modelValue.indexOf(b.$modelValue);return c>-1?(a.safeApply(function(){a.$modelValue.splice(c,1)[0]}),a.$treeScope.$callbacks.removed(b)):null},a.insertNode=function(b,c){a.safeApply(function(){a.$modelValue.splice(b,0,c)})},a.childNodes=function(){var b,c=[];if(a.$modelValue)for(b=0;b<a.$modelValue.length;b++)c.push(a.$nodesMap[a.$modelValue[b].$$hashKey]);return c},a.depth=function(){return a.$nodeScope?a.$nodeScope.depth():0},a.outOfDepth=function(b){var c=a.maxDepth||a.$treeScope.maxDepth;return c>0&&a.depth()+b.maxSubDepth()+1>c}}])}(),function(){"use strict";angular.module("ui.tree").controller("TreeController",["$scope","$element",function(a,b){this.scope=a,a.$element=b,a.$nodesScope=null,a.$type="uiTree",a.$emptyElm=null,a.$callbacks=null,a.dragEnabled=!0,a.emptyPlaceholderEnabled=!0,a.maxDepth=0,a.dragDelay=0,a.cloneEnabled=!1,a.nodropEnabled=!1,a.isEmpty=function(){return a.$nodesScope&&a.$nodesScope.$modelValue&&0===a.$nodesScope.$modelValue.length},a.place=function(b){a.$nodesScope.$element.append(b),a.$emptyElm.remove()},this.resetEmptyElement=function(){a.$nodesScope.$modelValue&&0!==a.$nodesScope.$modelValue.length||!a.emptyPlaceholderEnabled?a.$emptyElm.remove():b.append(a.$emptyElm)},a.resetEmptyElement=this.resetEmptyElement}])}(),function(){"use strict";angular.module("ui.tree").directive("uiTree",["treeConfig","$window",function(a,b){return{restrict:"A",scope:!0,controller:"TreeController",link:function(c,d,e,f){var g,h,i,j={accept:null,beforeDrag:null},k={};angular.extend(k,a),k.treeClass&&d.addClass(k.treeClass),"table"===d.prop("tagName").toLowerCase()?(c.$emptyElm=angular.element(b.document.createElement("tr")),h=d.find("tr"),i=h.length>0?angular.element(h).children().length:1e6,g=angular.element(b.document.createElement("td")).attr("colspan",i),c.$emptyElm.append(g)):c.$emptyElm=angular.element(b.document.createElement("div")),k.emptyTreeClass&&c.$emptyElm.addClass(k.emptyTreeClass),c.$watch("$nodesScope.$modelValue.length",function(a){angular.isNumber(a)&&f.resetEmptyElement()},!0),c.$watch(e.dragEnabled,function(a){"boolean"==typeof a&&(c.dragEnabled=a)}),c.$watch(e.emptyPlaceholderEnabled,function(a){"boolean"==typeof a&&(c.emptyPlaceholderEnabled=a,f.resetEmptyElement())}),c.$watch(e.nodropEnabled,function(a){"boolean"==typeof a&&(c.nodropEnabled=a)}),c.$watch(e.cloneEnabled,function(a){"boolean"==typeof a&&(c.cloneEnabled=a)}),c.$watch(e.maxDepth,function(a){"number"==typeof a&&(c.maxDepth=a)}),c.$watch(e.dragDelay,function(a){"number"==typeof a&&(c.dragDelay=a)}),j.accept=function(a,b,c){return!(b.nodropEnabled||b.$treeScope.nodropEnabled||b.outOfDepth(a))},j.beforeDrag=function(a){return!0},j.expandTimeoutStart=function(){},j.expandTimeoutCancel=function(){},j.expandTimeoutEnd=function(){},j.removed=function(a){},j.dropped=function(a){},j.dragStart=function(a){},j.dragMove=function(a){},j.dragStop=function(a){},j.beforeDrop=function(a){},j.toggle=function(a,b){},c.$watch(e.uiTree,function(a,b){angular.forEach(a,function(a,b){j[b]&&"function"==typeof a&&(j[b]=a)}),c.$callbacks=j},!0)}}}])}(),function(){"use strict";angular.module("ui.tree").directive("uiTreeHandle",["treeConfig",function(a){return{require:"^uiTreeNode",restrict:"A",scope:!0,controller:"TreeHandleController",link:function(b,c,d,e){var f={};angular.extend(f,a),f.handleClass&&c.addClass(f.handleClass),b!=e.scope&&(b.$nodeScope=e.scope,e.scope.$handleScope=b)}}}])}(),function(){"use strict";angular.module("ui.tree").directive("uiTreeNode",["treeConfig","UiTreeHelper","$window","$document","$timeout","$q",function(a,b,c,d,e,f){return{require:["^uiTreeNodes","^uiTree"],restrict:"A",controller:"TreeNodeController",link:function(g,h,i,j){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M={},N="ontouchstart"in window,O=null,P=document.body,Q=document.documentElement;angular.extend(M,a),M.nodeClass&&h.addClass(M.nodeClass),g.init(j),g.collapsed=!!b.getNodeAttribute(g,"collapsed")||a.defaultCollapsed,g.expandOnHover=!!b.getNodeAttribute(g,"expandOnHover"),g.scrollContainer=b.getNodeAttribute(g,"scrollContainer")||i.scrollContainer||null,g.sourceOnly=g.nodropEnabled||g.$treeScope.nodropEnabled,g.$watch(i.collapsed,function(a){"boolean"==typeof a&&(g.collapsed=a)}),g.$watch("collapsed",function(a){b.setNodeAttribute(g,"collapsed",a),i.$set("collapsed",a)}),g.$watch(i.expandOnHover,function(a){"boolean"!=typeof a&&"number"!=typeof a||(g.expandOnHover=a)}),g.$watch("expandOnHover",function(a){b.setNodeAttribute(g,"expandOnHover",a),i.$set("expandOnHover",a)}),i.$observe("scrollContainer",function(a){"string"==typeof a&&(g.scrollContainer=a)}),g.$watch("scrollContainer",function(a){b.setNodeAttribute(g,"scrollContainer",a),i.$set("scrollContainer",a),q=document.querySelector(a)}),g.$on("angular-ui-tree:collapse-all",function(){g.collapsed=!0}),g.$on("angular-ui-tree:expand-all",function(){g.collapsed=!1}),v=function(a){if((N||2!==a.button&&3!==a.which)&&!(a.uiTreeDragging||a.originalEvent&&a.originalEvent.uiTreeDragging)){var e,f,i,j,q,r,v,w,x,y=angular.element(a.target);if(e=b.treeNodeHandlerContainerOfElement(y),e&&(y=angular.element(e)),f=h.clone(),w=b.elementIsTreeNode(y),x=b.elementIsTreeNodeHandle(y),(w||x)&&!(w&&b.elementContainsTreeNodeHandler(y)||(i=y.prop("tagName").toLowerCase(),"input"==i||"textarea"==i||"button"==i||"select"==i))){for(J=angular.element(a.target);J&&J[0]&&J[0]!==h&&!K;){if(J[0].attributes&&(K=J[0].attributes["ui-tree"]),b.nodrag(J))return;J=J.parent()}g.beforeDrag(g)&&(a.uiTreeDragging=!0,a.originalEvent&&(a.originalEvent.uiTreeDragging=!0),a.preventDefault(),q=b.eventObj(a),k=!0,l=b.dragInfo(g),L=l.source.$treeScope.$id,j=h.prop("tagName"),"tr"===j.toLowerCase()?(n=angular.element(c.document.createElement(j)),r=angular.element(c.document.createElement("td")).addClass(M.placeholderClass).attr("colspan",h[0].children.length),n.append(r)):n=angular.element(c.document.createElement(j)).addClass(M.placeholderClass),o=angular.element(c.document.createElement(j)),M.hiddenClass&&o.addClass(M.hiddenClass),m=b.positionStarted(q,h),n.css("height",b.height(h)+"px"),p=angular.element(c.document.createElement(g.$parentNodesScope.$element.prop("tagName"))).addClass(g.$parentNodesScope.$element.attr("class")).addClass(M.dragClass),p.css("width",b.width(h)+"px"),p.css("z-index",9999),v=(h[0].querySelector(".angular-ui-tree-handle")||h[0]).currentStyle,v&&(document.body.setAttribute("ui-tree-cursor",d.find("body").css("cursor")||""),d.find("body").css({cursor:v.cursor+"!important"})),g.sourceOnly&&n.css("display","none"),h.after(n),h.after(o),l.isClone()&&g.sourceOnly?p.append(f):p.append(h),d.find("body").append(p),p.css({left:q.pageX-m.offsetX+"px",top:q.pageY-m.offsetY+"px"}),s={placeholder:n,dragging:p},E(),g.$apply(function(){g.$treeScope.$callbacks.dragStart(l.eventArgs(s,m))}),t=Math.max(P.scrollHeight,P.offsetHeight,Q.clientHeight,Q.scrollHeight,Q.offsetHeight),u=Math.max(P.scrollWidth,P.offsetWidth,Q.clientWidth,Q.scrollWidth,Q.offsetWidth))}}},w=function(a){var d,f,h,i,j,o,v,w,x,y,z,A,B,C,D,E,F,G,J,K,N,P,Q,R=b.eventObj(a);if(p){if(a.preventDefault(),c.getSelection?c.getSelection().removeAllRanges():c.document.selection&&c.document.selection.empty(),h=R.pageX-m.offsetX,i=R.pageY-m.offsetY,h<0&&(h=0),i<0&&(i=0),i+10>t&&(i=t-10),h+10>u&&(h=u-10),p.css({left:h+"px",top:i+"px"}),q?(v=q.getBoundingClientRect(),j=q.scrollTop,o=j+q.clientHeight,v.bottom<R.clientY&&o<q.scrollHeight&&(D=Math.min(q.scrollHeight-o,10),q.scrollTop+=D),v.top>R.clientY&&j>0&&(E=Math.min(j,10),q.scrollTop-=E)):(j=window.pageYOffset||c.document.documentElement.scrollTop,o=j+(window.innerHeight||c.document.clientHeight||c.document.clientHeight),o<R.pageY&&o<t&&(D=Math.min(t-o,10),window.scrollBy(0,D)),j>R.pageY&&(E=Math.min(j,10),window.scrollBy(0,-E))),b.positionMoved(a,m,k),k)return void(k=!1);if(x=R.pageX-(c.pageXOffset||c.document.body.scrollLeft||c.document.documentElement.scrollLeft)-(c.document.documentElement.clientLeft||0),y=R.pageY-(c.pageYOffset||c.document.body.scrollTop||c.document.documentElement.scrollTop)-(c.document.documentElement.clientTop||0),angular.isFunction(p.hide)?p.hide():(z=p[0].style.display,p[0].style.display="none"),c.document.elementFromPoint(x,y),B=angular.element(c.document.elementFromPoint(x,y)),I=b.treeNodeHandlerContainerOfElement(B),I&&(B=angular.element(I)),angular.isFunction(p.show)?p.show():p[0].style.display=z,H=!(b.elementIsTreeNodeHandle(B)||b.elementIsTreeNode(B)||b.elementIsTreeNodes(B)||b.elementIsTree(B)||b.elementIsPlaceholder(B)),H&&(n.remove(),O&&(O.resetEmptyElement(),O=null),l.resetParent()),b.elementIsTree(B)?A=B.controller("uiTree").scope:b.elementIsTreeNodeHandle(B)?A=B.controller("uiTreeHandle").scope:b.elementIsTreeNode(B)?A=B.controller("uiTreeNode").scope:b.elementIsTreeNodes(B)?A=B.controller("uiTreeNodes").scope:b.elementIsPlaceholder(B)?A=B.controller("uiTreeNodes").scope:B.controller("uiTreeNode")&&(A=B.controller("uiTreeNode").scope),J=A&&A.$treeScope&&A.$treeScope.$id&&A.$treeScope.$id===L,J&&m.dirAx)m.distX>0&&(d=l.prev(),d&&!d.collapsed&&d.accept(g,d.childNodesCount())&&(d.$childNodesScope.$element.append(n),l.moveTo(d.$childNodesScope,d.childNodes(),d.childNodesCount()))),m.distX<0&&(f=l.next(),f||(w=l.parentNode(),w&&w.$parentNodesScope.accept(g,w.index()+1)&&(w.$element.after(n),l.moveTo(w.$parentNodesScope,w.siblings(),w.index()+1))));else{if(C=!1,!A)return;if(!A.$treeScope||A.$parent.nodropEnabled||A.$treeScope.nodropEnabled||n.css("display",""),"uiTree"===A.$type&&A.dragEnabled&&(C=A.isEmpty()),"uiTreeHandle"===A.$type&&(A=A.$nodeScope),"uiTreeNode"!==A.$type&&!C)return void(M.appendChildOnHover&&(f=l.next(),!f&&r&&(w=l.parentNode(),w.$element.after(n),l.moveTo(w.$parentNodesScope,w.siblings(),w.index()+1),r=!1)));O&&n.parent()[0]!=O.$element[0]&&(O.resetEmptyElement(),O=null),C?(O=A,A.$nodesScope.accept(g,0)&&(A.place(n),l.moveTo(A.$nodesScope,A.$nodesScope.childNodes(),0))):A.dragEnabled()&&(angular.isDefined(g.expandTimeoutOn)&&g.expandTimeoutOn!==A.id&&(e.cancel(g.expandTimeout),delete g.expandTimeout,delete g.expandTimeoutOn,g.$callbacks.expandTimeoutCancel()),A.collapsed&&(g.expandOnHover===!0||angular.isNumber(g.expandOnHover)&&0===g.expandOnHover?A.collapsed=!1:g.expandOnHover!==!1&&angular.isNumber(g.expandOnHover)&&g.expandOnHover>0&&angular.isUndefined(g.expandTimeoutOn)&&(g.expandTimeoutOn=A.$id,g.$callbacks.expandTimeoutStart(),g.expandTimeout=e(function(){g.$callbacks.expandTimeoutEnd(),A.collapsed=!1},g.expandOnHover))),B=A.$element,F=b.offset(B),N=b.height(B),P=A.$childNodesScope?A.$childNodesScope.$element:null,Q=P?b.height(P):0,N-=Q,K=M.appendChildOnHover?.25*N:b.height(B)/2,G=R.pageY<F.top+K,A.$parentNodesScope.accept(g,A.index())?G?(B[0].parentNode.insertBefore(n[0],B[0]),l.moveTo(A.$parentNodesScope,A.siblings(),A.index())):M.appendChildOnHover&&A.accept(g,A.childNodesCount())?(A.$childNodesScope.$element.prepend(n),l.moveTo(A.$childNodesScope,A.childNodes(),0),r=!0):(B.after(n),l.moveTo(A.$parentNodesScope,A.siblings(),A.index()+1)):!G&&A.accept(g,A.childNodesCount())?(A.$childNodesScope.$element.append(n),l.moveTo(A.$childNodesScope,A.childNodes(),A.childNodesCount())):(H=!0,l.resetParent()))}g.$apply(function(){g.$treeScope.$callbacks.dragMove(l.eventArgs(s,m))})}},x=function(a){var b=l.eventArgs(s,m);a.preventDefault(),F(),e.cancel(g.expandTimeout),g.$treeScope.$apply(function(){f.when(g.$treeScope.$callbacks.beforeDrop(b)).then(function(a){a!==!1&&g.$$allowNodeDrop&&!H?(l.apply(),g.$treeScope.$callbacks.dropped(b)):D()})["catch"](function(){D()})["finally"](function(){o.replaceWith(g.$element),n.remove(),p&&(p.remove(),p=null),g.$treeScope.$callbacks.dragStop(b),g.$$allowNodeDrop=!1,l=null;var a=document.body.getAttribute("ui-tree-cursor");null!==a&&(d.find("body").css({cursor:a}),document.body.removeAttribute("ui-tree-cursor"))})})},y=function(a){g.dragEnabled()&&v(a)},z=function(a){w(a)},A=function(a){g.$$allowNodeDrop=!0,x(a)},B=function(a){x(a)},C=function(){var a;return{exec:function(b,c){c||(c=0),this.cancel(),a=e(b,c)},cancel:function(){e.cancel(a)}}}(),G=function(a){27===a.keyCode&&A(a)},D=function(){h.bind("touchstart mousedown",function(a){g.dragDelay>0?C.exec(function(){y(a)},g.dragDelay):y(a)}),h.bind("touchend touchcancel mouseup",function(){g.dragDelay>0&&C.cancel()})},D(),E=function(){angular.element(d).bind("touchend",A),angular.element(d).bind("touchcancel",A),angular.element(d).bind("touchmove",z),angular.element(d).bind("mouseup",A),angular.element(d).bind("mousemove",z),angular.element(d).bind("mouseleave",B),angular.element(d).bind("keydown",G)},F=function(){angular.element(d).unbind("touchend",A),angular.element(d).unbind("touchcancel",A),angular.element(d).unbind("touchmove",z),angular.element(d).unbind("mouseup",A),angular.element(d).unbind("mousemove",z),angular.element(d).unbind("mouseleave",B),angular.element(d).unbind("keydown",G)}}}}])}(),function(){"use strict";angular.module("ui.tree").directive("uiTreeNodes",["treeConfig","$window",function(a){return{require:["ngModel","?^uiTreeNode","^uiTree"],restrict:"A",scope:!0,controller:"TreeNodesController",link:function(b,c,d,e){var f={},g=e[0],h=e[1],i=e[2];angular.extend(f,a),f.nodesClass&&c.addClass(f.nodesClass),h?(h.scope.$childNodesScope=b,b.$nodeScope=h.scope):i.scope.$nodesScope=b,b.$treeScope=i.scope,g&&(g.$render=function(){b.$modelValue=g.$modelValue}),b.$watch(function(){return d.maxDepth},function(a){"number"==typeof a&&(b.maxDepth=a)}),b.$watch(function(){return d.nodropEnabled},function(a){"undefined"!=typeof a&&(b.nodropEnabled=!0)},!0)}}}])}(),function(){"use strict";function a(a,b){if(void 0===b)return null;for(var c=b.parentNode,d=1,e="function"==typeof c.setAttribute&&c.hasAttribute(a)?c:null;c&&"function"==typeof c.setAttribute&&!c.hasAttribute(a);){if(c=c.parentNode,e=c,c===document.documentElement){e=null;break}d++}return e}angular.module("ui.tree").factory("UiTreeHelper",["$document","$window","treeConfig",function(b,c,d){return{nodesData:{},setNodeAttribute:function(a,b,c){if(!a.$modelValue)return null;var d=this.nodesData[a.$modelValue.$$hashKey];d||(d={},this.nodesData[a.$modelValue.$$hashKey]=d),d[b]=c},getNodeAttribute:function(a,b){if(!a.$modelValue)return null;var c=this.nodesData[a.$modelValue.$$hashKey];return c?c[b]:null},nodrag:function(a){return"undefined"!=typeof a.attr("data-nodrag")&&"false"!==a.attr("data-nodrag")},eventObj:function(a){var b=a;return void 0!==a.targetTouches?b=a.targetTouches.item(0):void 0!==a.originalEvent&&void 0!==a.originalEvent.targetTouches&&(b=a.originalEvent.targetTouches.item(0)),b},dragInfo:function(a){return{source:a,sourceInfo:{cloneModel:a.$treeScope.cloneEnabled===!0?angular.copy(a.$modelValue):void 0,nodeScope:a,index:a.index(),nodesScope:a.$parentNodesScope},index:a.index(),siblings:a.siblings().slice(0),parent:a.$parentNodesScope,resetParent:function(){this.parent=a.$parentNodesScope},moveTo:function(a,b,c){this.parent=a,this.siblings=b.slice(0);var d=this.siblings.indexOf(this.source);d>-1&&(this.siblings.splice(d,1),this.source.index()<c&&c--),this.siblings.splice(c,0,this.source),this.index=c},parentNode:function(){return this.parent.$nodeScope},prev:function(){return this.index>0?this.siblings[this.index-1]:null},next:function(){return this.index<this.siblings.length-1?this.siblings[this.index+1]:null},isClone:function(){return this.source.$treeScope.cloneEnabled===!0},clonedNode:function(a){return angular.copy(a)},isDirty:function(){return this.source.$parentNodesScope!=this.parent||this.source.index()!=this.index},isForeign:function(){return this.source.$treeScope!==this.parent.$treeScope},eventArgs:function(a,b){return{source:this.sourceInfo,dest:{index:this.index,nodesScope:this.parent},elements:a,pos:b}},apply:function(){var a=this.source.$modelValue;this.parent.nodropEnabled||this.parent.$treeScope.nodropEnabled||this.isDirty()&&(this.isClone()&&this.isForeign()?this.parent.insertNode(this.index,this.sourceInfo.cloneModel):(this.source.remove(),this.parent.insertNode(this.index,a)))}}},height:function(a){return a.prop("scrollHeight")},width:function(a){return a.prop("scrollWidth")},offset:function(a){var d=a[0].getBoundingClientRect();return{width:a.prop("offsetWidth"),height:a.prop("offsetHeight"),top:d.top+(c.pageYOffset||b[0].body.scrollTop||b[0].documentElement.scrollTop),left:d.left+(c.pageXOffset||b[0].body.scrollLeft||b[0].documentElement.scrollLeft)}},positionStarted:function(a,b){var c={},d=a.pageX,e=a.pageY;return a.originalEvent&&a.originalEvent.touches&&a.originalEvent.touches.length>0&&(d=a.originalEvent.touches[0].pageX,e=a.originalEvent.touches[0].pageY),c.offsetX=d-this.offset(b).left,c.offsetY=e-this.offset(b).top,c.startX=c.lastX=d,c.startY=c.lastY=e,c.nowX=c.nowY=c.distX=c.distY=c.dirAx=0,c.dirX=c.dirY=c.lastDirX=c.lastDirY=c.distAxX=c.distAxY=0,c},positionMoved:function(a,b,c){var d,e=a.pageX,f=a.pageY;return a.originalEvent&&a.originalEvent.touches&&a.originalEvent.touches.length>0&&(e=a.originalEvent.touches[0].pageX,f=a.originalEvent.touches[0].pageY),b.lastX=b.nowX,b.lastY=b.nowY,b.nowX=e,b.nowY=f,b.distX=b.nowX-b.lastX,b.distY=b.nowY-b.lastY,b.lastDirX=b.dirX,b.lastDirY=b.dirY,b.dirX=0===b.distX?0:b.distX>0?1:-1,b.dirY=0===b.distY?0:b.distY>0?1:-1,d=Math.abs(b.distX)>Math.abs(b.distY)?1:0,c?(b.dirAx=d,void(b.moving=!0)):(b.dirAx!==d?(b.distAxX=0,b.distAxY=0):(b.distAxX+=Math.abs(b.distX),0!==b.dirX&&b.dirX!==b.lastDirX&&(b.distAxX=0),b.distAxY+=Math.abs(b.distY),0!==b.dirY&&b.dirY!==b.lastDirY&&(b.distAxY=0)),void(b.dirAx=d))},elementIsTreeNode:function(a){return"undefined"!=typeof a.attr("ui-tree-node")},elementIsTreeNodeHandle:function(a){return"undefined"!=typeof a.attr("ui-tree-handle")},elementIsTree:function(a){return"undefined"!=typeof a.attr("ui-tree")},elementIsTreeNodes:function(a){return"undefined"!=typeof a.attr("ui-tree-nodes")},elementIsPlaceholder:function(a){return a.hasClass(d.placeholderClass)},elementContainsTreeNodeHandler:function(a){return a[0].querySelectorAll("[ui-tree-handle]").length>=1},treeNodeHandlerContainerOfElement:function(b){return a("ui-tree-handle",b[0])}}}])}(),function(a,b){"function"==typeof define&&define.amd?define([],function(){return b()}):"object"==typeof exports?module.exports=b():b()}(this,function(){function a(a){"use strict";var b=a.storageKey(),c=a.storage(),d=function(){var d=a.preferredLanguage();angular.isString(d)?a.use(d):c.put(b,a.use())};d.displayName="fallbackFromIncorrectStorageValue",c?c.get(b)?a.use(c.get(b))["catch"](d):d():angular.isString(a.preferredLanguage())&&a.use(a.preferredLanguage())}function b(){"use strict";var a,b,c,d=null,e=!1,f=!1;c={sanitize:function(a,b){return"text"===b&&(a=h(a)),a},escape:function(a,b){return"text"===b&&(a=g(a)),a},sanitizeParameters:function(a,b){return"params"===b&&(a=j(a,h)),a},escapeParameters:function(a,b){return"params"===b&&(a=j(a,g)),a},sce:function(a,b,c){return"text"===b?a=i(a):"params"===b&&"filter"!==c&&(a=j(a,g)),a},sceParameters:function(a,b){return"params"===b&&(a=j(a,i)),a}},c.escaped=c.escapeParameters,this.addStrategy=function(a,b){return c[a]=b,this},this.removeStrategy=function(a){return delete c[a],this},this.useStrategy=function(a){return e=!0,d=a,this},this.$get=["$injector","$log",function(g,h){var i={},j=function(a,b,d,e){return angular.forEach(e,function(e){if(angular.isFunction(e))a=e(a,b,d);else if(angular.isFunction(c[e]))a=c[e](a,b,d);else{if(!angular.isString(c[e]))throw new Error("pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '"+e+"'");if(!i[c[e]])try{i[c[e]]=g.get(c[e])}catch(f){throw i[c[e]]=function(){},new Error("pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '"+e+"'")}a=i[c[e]](a,b,d)}}),a},k=function(){e||f||(h.warn("pascalprecht.translate.$translateSanitization: No sanitization strategy has been configured. This can have serious security implications. See http://angular-translate.github.io/docs/#/guide/19_security for details."),f=!0)};return g.has("$sanitize")&&(a=g.get("$sanitize")),g.has("$sce")&&(b=g.get("$sce")),{useStrategy:function(a){return function(b){a.useStrategy(b)}}(this),sanitize:function(a,b,c,e){if(d||k(),c||null===c||(c=d),!c)return a;e||(e="service");var f=angular.isArray(c)?c:[c];return j(a,b,e,f)}}}];var g=function(a){var b=angular.element("<div></div>");return b.text(a),b.html()},h=function(b){if(!a)throw new Error("pascalprecht.translate.$translateSanitization: Error cannot find $sanitize service. Either include the ngSanitize module (https://docs.angularjs.org/api/ngSanitize) or use a sanitization strategy which does not depend on $sanitize, such as 'escape'.");return a(b)},i=function(a){if(!b)throw new Error("pascalprecht.translate.$translateSanitization: Error cannot find $sce service.");return b.trustAsHtml(a)},j=function(a,b,c){if(angular.isDate(a))return a;if(angular.isObject(a)){var d=angular.isArray(a)?[]:{};if(c){if(c.indexOf(a)>-1)throw new Error("pascalprecht.translate.$translateSanitization: Error cannot interpolate parameter due recursive object")}else c=[];return c.push(a),angular.forEach(a,function(a,e){angular.isFunction(a)||(d[e]=j(a,b,c))}),c.splice(-1,1),d}return angular.isNumber(a)?a:b(a)}}function c(a,b,c,d){"use strict";var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u={},v=[],w=a,x=[],y="translate-cloak",z=!1,A=!1,B=".",C=!1,D=!1,E=0,F=!0,G="default",H={"default":function(a){return(a||"").split("-").join("_")},java:function(a){var b=(a||"").split("-").join("_"),c=b.split("_");return c.length>1?c[0].toLowerCase()+"_"+c[1].toUpperCase():b},bcp47:function(a){var b=(a||"").split("_").join("-"),c=b.split("-");return c.length>1?c[0].toLowerCase()+"-"+c[1].toUpperCase():b},"iso639-1":function(a){var b=(a||"").split("_").join("-"),c=b.split("-");return c[0].toLowerCase()}},I="2.12.1",J=function(){if(angular.isFunction(d.getLocale))return d.getLocale();var a,c,e=b.$get().navigator,f=["language","browserLanguage","systemLanguage","userLanguage"];if(angular.isArray(e.languages))for(a=0;a<e.languages.length;a++)if(c=e.languages[a],c&&c.length)return c;for(a=0;a<f.length;a++)if(c=e[f[a]],c&&c.length)return c;return null};J.displayName="angular-translate/service: getFirstBrowserLanguage";var K=function(){var a=J()||"";return H[G]&&(a=H[G](a)),a};K.displayName="angular-translate/service: getLocale";var L=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},M=function(){return this.toString().replace(/^\s+|\s+$/g,"")},N=function(a){if(a){for(var b=[],c=angular.lowercase(a),d=0,e=v.length;d<e;d++)b.push(angular.lowercase(v[d]));if(L(b,c)>-1)return a;if(f){var g;for(var h in f)if(f.hasOwnProperty(h)){var i=!1,j=Object.prototype.hasOwnProperty.call(f,h)&&angular.lowercase(h)===angular.lowercase(a);if("*"===h.slice(-1)&&(i=h.slice(0,-1)===a.slice(0,h.length-1)),(j||i)&&(g=f[h],L(b,angular.lowercase(g))>-1))return g}}var k=a.split("_");return k.length>1&&L(b,angular.lowercase(k[0]))>-1?k[0]:void 0}},O=function(a,b){if(!a&&!b)return u;if(a&&!b){if(angular.isString(a))return u[a]}else angular.isObject(u[a])||(u[a]={}),angular.extend(u[a],P(b));return this};this.translations=O,this.cloakClassName=function(a){return a?(y=a,this):y},this.nestedObjectDelimeter=function(a){return a?(B=a,this):B};var P=function(a,b,c,d){var e,f,g,h;b||(b=[]),c||(c={});for(e in a)Object.prototype.hasOwnProperty.call(a,e)&&(h=a[e],angular.isObject(h)?P(h,b.concat(e),c,e):(f=b.length?""+b.join(B)+B+e:e,b.length&&e===d&&(g=""+b.join(B),c[g]="@:"+f),c[f]=h));return c};P.displayName="flatObject",this.addInterpolation=function(a){return x.push(a),this},this.useMessageFormatInterpolation=function(){return this.useInterpolation("$translateMessageFormatInterpolation")},this.useInterpolation=function(a){return n=a,this},this.useSanitizeValueStrategy=function(a){return c.useStrategy(a),this},this.preferredLanguage=function(a){return a?(Q(a),this):e};var Q=function(a){return a&&(e=a),e};this.translationNotFoundIndicator=function(a){return this.translationNotFoundIndicatorLeft(a),this.translationNotFoundIndicatorRight(a),this},this.translationNotFoundIndicatorLeft=function(a){return a?(q=a,this):q},this.translationNotFoundIndicatorRight=function(a){return a?(r=a,this):r},this.fallbackLanguage=function(a){return R(a),this};var R=function(a){return a?(angular.isString(a)?(h=!0,g=[a]):angular.isArray(a)&&(h=!1,g=a),angular.isString(e)&&L(g,e)<0&&g.push(e),this):h?g[0]:g};this.use=function(a){if(a){if(!u[a]&&!o)throw new Error("$translateProvider couldn't find translationTable for langKey: '"+a+"'");return i=a,this}return i},this.resolveClientLocale=function(){return K()};var S=function(a){return a?(w=a,this):l?l+w:w};this.storageKey=S,this.useUrlLoader=function(a,b){return this.useLoader("$translateUrlLoader",angular.extend({url:a},b))},this.useStaticFilesLoader=function(a){return this.useLoader("$translateStaticFilesLoader",a)},this.useLoader=function(a,b){return o=a,p=b||{},this},
+this.useLocalStorage=function(){return this.useStorage("$translateLocalStorage")},this.useCookieStorage=function(){return this.useStorage("$translateCookieStorage")},this.useStorage=function(a){return k=a,this},this.storagePrefix=function(a){return a?(l=a,this):a},this.useMissingTranslationHandlerLog=function(){return this.useMissingTranslationHandler("$translateMissingTranslationHandlerLog")},this.useMissingTranslationHandler=function(a){return m=a,this},this.usePostCompiling=function(a){return z=!!a,this},this.forceAsyncReload=function(a){return A=!!a,this},this.uniformLanguageTag=function(a){return a?angular.isString(a)&&(a={standard:a}):a={},G=a.standard,this},this.determinePreferredLanguage=function(a){var b=a&&angular.isFunction(a)?a():K();return e=v.length?N(b)||b:b,this},this.registerAvailableLanguageKeys=function(a,b){return a?(v=a,b&&(f=b),this):v},this.useLoaderCache=function(a){return a===!1?s=void 0:a===!0?s=!0:"undefined"==typeof a?s="$translationCache":a&&(s=a),this},this.directivePriority=function(a){return void 0===a?E:(E=a,this)},this.statefulFilter=function(a){return void 0===a?F:(F=a,this)},this.postProcess=function(a){return t=a?a:void 0,this},this.keepContent=function(a){return D=!!a,this},this.$get=["$log","$injector","$rootScope","$q",function(a,b,c,d){var f,l,G,H=b.get(n||"$translateDefaultInterpolation"),J=!1,T={},U={},V=function(a,b,c,h,j){!i&&e&&(i=e);var m=j&&j!==i?N(j)||j:i;if(j&&ka(j),angular.isArray(a)){var n=function(a){for(var e={},f=[],g=function(a){var f=d.defer(),g=function(b){e[a]=b,f.resolve([a,b])};return V(a,b,c,h,j).then(g,g),f.promise},i=0,k=a.length;i<k;i++)f.push(g(a[i]));return d.all(f).then(function(){return e})};return n(a)}var o=d.defer();a&&(a=M.apply(a));var p=function(){var a=e?U[e]:U[m];if(l=0,k&&!a){var b=f.get(w);if(a=U[b],g&&g.length){var c=L(g,b);l=0===c?1:0,L(g,e)<0&&g.push(e)}}return a}();if(p){var q=function(){j||(m=i),ga(a,b,c,h,m).then(o.resolve,o.reject)};q.displayName="promiseResolved",p["finally"](q)}else ga(a,b,c,h,m).then(o.resolve,o.reject);return o.promise},W=function(a){return q&&(a=[q,a].join(" ")),r&&(a=[a,r].join(" ")),a},X=function(a){i=a,k&&f.put(V.storageKey(),i),c.$emit("$translateChangeSuccess",{language:a}),H.setLocale(i);var b=function(a,b){T[b].setLocale(i)};b.displayName="eachInterpolatorLocaleSetter",angular.forEach(T,b),c.$emit("$translateChangeEnd",{language:a})},Y=function(a){if(!a)throw"No language key specified for loading.";var e=d.defer();c.$emit("$translateLoadingStart",{language:a}),J=!0;var f=s;"string"==typeof f&&(f=b.get(f));var g=angular.extend({},p,{key:a,$http:angular.extend({},{cache:f},p.$http)}),h=function(b){var d={};c.$emit("$translateLoadingSuccess",{language:a}),angular.isArray(b)?angular.forEach(b,function(a){angular.extend(d,P(a))}):angular.extend(d,P(b)),J=!1,e.resolve({key:a,table:d}),c.$emit("$translateLoadingEnd",{language:a})};h.displayName="onLoaderSuccess";var i=function(a){c.$emit("$translateLoadingError",{language:a}),e.reject(a),c.$emit("$translateLoadingEnd",{language:a})};return i.displayName="onLoaderError",b.get(o)(g).then(h,i),e.promise};if(k&&(f=b.get(k),!f.get||!f.put))throw new Error("Couldn't use storage '"+k+"', missing get() or put() method!");if(x.length){var Z=function(a){var c=b.get(a);c.setLocale(e||i),T[c.getInterpolationIdentifier()]=c};Z.displayName="interpolationFactoryAdder",angular.forEach(x,Z)}var $=function(a){var b=d.defer();if(Object.prototype.hasOwnProperty.call(u,a))b.resolve(u[a]);else if(U[a]){var c=function(a){O(a.key,a.table),b.resolve(a.table)};c.displayName="translationTableResolver",U[a].then(c,b.reject)}else b.reject();return b.promise},_=function(a,b,c,e){var f=d.defer(),g=function(d){if(Object.prototype.hasOwnProperty.call(d,b)){e.setLocale(a);var g=d[b];if("@:"===g.substr(0,2))_(a,g.substr(2),c,e).then(f.resolve,f.reject);else{var h=e.interpolate(d[b],c,"service");h=ja(b,d[b],h,c,a),f.resolve(h)}e.setLocale(i)}else f.reject()};return g.displayName="fallbackTranslationResolver",$(a).then(g,f.reject),f.promise},aa=function(a,b,c,d){var e,f=u[a];if(f&&Object.prototype.hasOwnProperty.call(f,b)){if(d.setLocale(a),e=d.interpolate(f[b],c,"filter"),e=ja(b,f[b],e,c,a),"@:"===e.substr(0,2))return aa(a,e.substr(2),c,d);d.setLocale(i)}return e},ba=function(a,c,d){if(m){var e=b.get(m)(a,i,c,d);return void 0!==e?e:a}return a},ca=function(a,b,c,e,f){var h=d.defer();if(a<g.length){var i=g[a];_(i,b,c,e).then(function(a){h.resolve(a)},function(){return ca(a+1,b,c,e,f).then(h.resolve,h.reject)})}else f?h.resolve(f):m?h.resolve(ba(b,c)):h.reject(ba(b,c));return h.promise},da=function(a,b,c,d){var e;if(a<g.length){var f=g[a];e=aa(f,b,c,d),e||(e=da(a+1,b,c,d))}return e},ea=function(a,b,c,d){return ca(G>0?G:l,a,b,c,d)},fa=function(a,b,c){return da(G>0?G:l,a,b,c)},ga=function(a,b,c,e,f){var h=d.defer(),i=f?u[f]:u,j=c?T[c]:H;if(i&&Object.prototype.hasOwnProperty.call(i,a)){var k=i[a];if("@:"===k.substr(0,2))V(k.substr(2),b,c,e,f).then(h.resolve,h.reject);else{var l=j.interpolate(k,b,"service");l=ja(a,k,l,b,f),h.resolve(l)}}else{var n;m&&!J&&(n=ba(a,b,e)),f&&g&&g.length?ea(a,b,j,e).then(function(a){h.resolve(a)},function(a){h.reject(W(a))}):m&&!J&&n?e?h.resolve(e):h.resolve(n):e?h.resolve(e):h.reject(W(a))}return h.promise},ha=function(a,b,c,d){var e,f=d?u[d]:u,h=H;if(T&&Object.prototype.hasOwnProperty.call(T,c)&&(h=T[c]),f&&Object.prototype.hasOwnProperty.call(f,a)){var i=f[a];"@:"===i.substr(0,2)?e=ha(i.substr(2),b,c,d):(e=h.interpolate(i,b,"filter"),e=ja(a,i,e,b,d))}else{var j;m&&!J&&(j=ba(a,b)),d&&g&&g.length?(l=0,e=fa(a,b,h)):e=m&&!J&&j?j:W(a)}return e},ia=function(a){j===a&&(j=void 0),U[a]=void 0},ja=function(a,c,d,e,f){var g=t;return g&&("string"==typeof g&&(g=b.get(g)),g)?g(a,c,d,e,f):d},ka=function(a){u[a]||!o||U[a]||(U[a]=Y(a).then(function(a){return O(a.key,a.table),a}))};V.preferredLanguage=function(a){return a&&Q(a),e},V.cloakClassName=function(){return y},V.nestedObjectDelimeter=function(){return B},V.fallbackLanguage=function(a){if(void 0!==a&&null!==a){if(R(a),o&&g&&g.length)for(var b=0,c=g.length;b<c;b++)U[g[b]]||(U[g[b]]=Y(g[b]));V.use(V.use())}return h?g[0]:g},V.useFallbackLanguage=function(a){if(void 0!==a&&null!==a)if(a){var b=L(g,a);b>-1&&(G=b)}else G=0},V.proposedLanguage=function(){return j},V.storage=function(){return f},V.negotiateLocale=N,V.use=function(a){if(!a)return i;var b=d.defer();c.$emit("$translateChangeStart",{language:a});var e=N(a);return v.length>0&&!e?d.reject(a):(e&&(a=e),j=a,!A&&u[a]||!o||U[a]?U[a]?U[a].then(function(a){return j===a.key&&X(a.key),b.resolve(a.key),a},function(a){return!i&&g&&g.length>0&&g[0]!==a?V.use(g[0]).then(b.resolve,b.reject):b.reject(a)}):(b.resolve(a),X(a)):(U[a]=Y(a).then(function(c){return O(c.key,c.table),b.resolve(c.key),j===a&&X(c.key),c},function(a){return c.$emit("$translateChangeError",{language:a}),b.reject(a),c.$emit("$translateChangeEnd",{language:a}),d.reject(a)}),U[a]["finally"](function(){ia(a)})),b.promise)},V.resolveClientLocale=function(){return K()},V.storageKey=function(){return S()},V.isPostCompilingEnabled=function(){return z},V.isForceAsyncReloadEnabled=function(){return A},V.isKeepContent=function(){return D},V.refresh=function(a){function b(){f.resolve(),c.$emit("$translateRefreshEnd",{language:a})}function e(){f.reject(),c.$emit("$translateRefreshEnd",{language:a})}if(!o)throw new Error("Couldn't refresh translation table, no loader registered!");var f=d.defer();if(c.$emit("$translateRefreshStart",{language:a}),a)if(u[a]){var h=function(c){return O(c.key,c.table),a===i&&X(i),b(),c};h.displayName="refreshPostProcessor",Y(a).then(h,e)}else e();else{var j=[],k={};if(g&&g.length)for(var l=0,m=g.length;l<m;l++)j.push(Y(g[l])),k[g[l]]=!0;i&&!k[i]&&j.push(Y(i));var n=function(a){u={},angular.forEach(a,function(a){O(a.key,a.table)}),i&&X(i),b()};n.displayName="refreshPostProcessor",d.all(j).then(n,e)}return f.promise},V.instant=function(a,b,c,d){var f=d&&d!==i?N(d)||d:i;if(null===a||angular.isUndefined(a))return a;if(d&&ka(d),angular.isArray(a)){for(var h={},j=0,k=a.length;j<k;j++)h[a[j]]=V.instant(a[j],b,c,d);return h}if(angular.isString(a)&&a.length<1)return a;a&&(a=M.apply(a));var l,n=[];e&&n.push(e),f&&n.push(f),g&&g.length&&(n=n.concat(g));for(var o=0,p=n.length;o<p;o++){var s=n[o];if(u[s]&&"undefined"!=typeof u[s][a]&&(l=ha(a,b,c,f)),"undefined"!=typeof l)break}return l||""===l||(q||r?l=W(a):(l=H.interpolate(a,b,"filter"),m&&!J&&(l=ba(a,b)))),l},V.versionInfo=function(){return I},V.loaderCache=function(){return s},V.directivePriority=function(){return E},V.statefulFilter=function(){return F},V.isReady=function(){return C};var la=d.defer();la.promise.then(function(){C=!0}),V.onReady=function(a){var b=d.defer();return angular.isFunction(a)&&b.promise.then(a),C?b.resolve():la.promise.then(b.resolve),b.promise},V.getAvailableLanguageKeys=function(){return v.length>0?v:null};var ma=c.$on("$translateReady",function(){la.resolve(),ma(),ma=null}),na=c.$on("$translateChangeEnd",function(){la.resolve(),na(),na=null});if(o){if(angular.equals(u,{})&&V.use()&&V.use(V.use()),g&&g.length)for(var oa=function(a){return O(a.key,a.table),c.$emit("$translateChangeEnd",{language:a.key}),a},pa=0,qa=g.length;pa<qa;pa++){var ra=g[pa];!A&&u[ra]||(U[ra]=Y(ra).then(oa))}}else c.$emit("$translateReady",{language:V.use()});return V}]}function d(a,b){"use strict";var c,d={},e="default";return d.setLocale=function(a){c=a},d.getInterpolationIdentifier=function(){return e},d.useSanitizeValueStrategy=function(a){return b.useStrategy(a),this},d.interpolate=function(c,d,e){d=d||{},d=b.sanitize(d,"params",void 0,e);var f;return angular.isNumber(c)?f=""+c:angular.isString(c)?(f=a(c)(d),f=b.sanitize(f,"text",void 0,e)):f="",f},d}function e(a,b,c,d,e){"use strict";var g=function(){return this.toString().replace(/^\s+|\s+$/g,"")};return{restrict:"AE",scope:!0,priority:a.directivePriority(),compile:function(h,i){var j=i.translateValues?i.translateValues:void 0,k=i.translateInterpolation?i.translateInterpolation:void 0,l=h[0].outerHTML.match(/translate-value-+/i),m="^(.*)("+b.startSymbol()+".*"+b.endSymbol()+")(.*)",n="^(.*)"+b.startSymbol()+"(.*)"+b.endSymbol()+"(.*)";return function(h,o,p){h.interpolateParams={},h.preText="",h.postText="",h.translateNamespace=f(h);var q={},r=function(a,b,c){if(b.translateValues&&angular.extend(a,d(b.translateValues)(h.$parent)),l)for(var e in c)if(Object.prototype.hasOwnProperty.call(b,e)&&"translateValue"===e.substr(0,14)&&"translateValues"!==e){var f=angular.lowercase(e.substr(14,1))+e.substr(15);a[f]=c[e]}},s=function(a){if(angular.isFunction(s._unwatchOld)&&(s._unwatchOld(),s._unwatchOld=void 0),angular.equals(a,"")||!angular.isDefined(a)){var c=g.apply(o.text()),d=c.match(m);if(angular.isArray(d)){h.preText=d[1],h.postText=d[3],q.translate=b(d[2])(h.$parent);var e=c.match(n);angular.isArray(e)&&e[2]&&e[2].length&&(s._unwatchOld=h.$watch(e[2],function(a){q.translate=a,y()}))}else q.translate=c?c:void 0}else q.translate=a;y()},t=function(a){p.$observe(a,function(b){q[a]=b,y()})};r(h.interpolateParams,p,i);var u=!0;p.$observe("translate",function(a){"undefined"==typeof a?s(""):""===a&&u||(q.translate=a,y()),u=!1});for(var v in p)p.hasOwnProperty(v)&&"translateAttr"===v.substr(0,13)&&v.length>13&&t(v);if(p.$observe("translateDefault",function(a){h.defaultText=a,y()}),j&&p.$observe("translateValues",function(a){a&&h.$parent.$watch(function(){angular.extend(h.interpolateParams,d(a)(h.$parent))})}),l){var w=function(a){p.$observe(a,function(b){var c=angular.lowercase(a.substr(14,1))+a.substr(15);h.interpolateParams[c]=b})};for(var x in p)Object.prototype.hasOwnProperty.call(p,x)&&"translateValue"===x.substr(0,14)&&"translateValues"!==x&&w(x)}var y=function(){for(var a in q)q.hasOwnProperty(a)&&void 0!==q[a]&&z(a,q[a],h,h.interpolateParams,h.defaultText,h.translateNamespace)},z=function(b,c,d,e,f,g){c?(g&&"."===c.charAt(0)&&(c=g+c),a(c,e,k,f,d.translateLanguage).then(function(a){A(a,d,!0,b)},function(a){A(a,d,!1,b)})):A(c,d,!1,b)},A=function(b,d,e,f){if(e||"undefined"!=typeof d.defaultText&&(b=d.defaultText),"translate"===f){(e||!e&&!a.isKeepContent()&&"undefined"==typeof p.translateKeepContent)&&o.empty().append(d.preText+b+d.postText);var g=a.isPostCompilingEnabled(),h="undefined"!=typeof i.translateCompile,j=h&&"false"!==i.translateCompile;(g&&!h||j)&&c(o.contents())(d)}else{var k=p.$attr[f];"data-"===k.substr(0,5)&&(k=k.substr(5)),k=k.substr(15),o.attr(k,b)}};(j||l||p.translateDefault)&&h.$watch("interpolateParams",y,!0),h.$on("translateLanguageChanged",y);var B=e.$on("$translateChangeSuccess",y);o.text().length?s(p.translate?p.translate:""):p.translate&&s(p.translate),y(),h.$on("$destroy",B)}}}}function f(a){"use strict";return a.translateNamespace?a.translateNamespace:a.$parent?f(a.$parent):void 0}function g(a,b){"use strict";return{restrict:"A",priority:a.directivePriority(),link:function(c,d,e){var f,g,i={},j=function(){angular.forEach(f,function(b,f){b&&(i[f]=!0,c.translateNamespace&&"."===b.charAt(0)&&(b=c.translateNamespace+b),a(b,g,e.translateInterpolation,void 0,c.translateLanguage).then(function(a){d.attr(f,a)},function(a){d.attr(f,a)}))}),angular.forEach(i,function(a,b){f[b]||(d.removeAttr(b),delete i[b])})};h(c,e.translateAttr,function(a){f=a},j),h(c,e.translateValues,function(a){g=a},j),e.translateValues&&c.$watch(e.translateValues,j,!0),c.$on("translateLanguageChanged",j);var k=b.$on("$translateChangeSuccess",j);j(),c.$on("$destroy",k)}}}function h(a,b,c,d){"use strict";b&&("::"===b.substr(0,2)?b=b.substr(2):a.$watch(b,function(a){c(a),d()},!0),c(a.$eval(b)))}function i(a,b){"use strict";return{compile:function(c){var d=function(){c.addClass(a.cloakClassName())},e=function(){c.removeClass(a.cloakClassName())};return a.onReady(function(){e()}),d(),function(c,f,g){g.translateCloak&&g.translateCloak.length&&(g.$observe("translateCloak",function(b){a(b).then(e,d)}),b.$on("$translateChangeSuccess",function(){a(g.translateCloak).then(e,d)}))}}}}function j(){"use strict";return{restrict:"A",scope:!0,compile:function(){return{pre:function(a,b,c){a.translateNamespace=f(a),a.translateNamespace&&"."===c.translateNamespace.charAt(0)?a.translateNamespace+=c.translateNamespace:a.translateNamespace=c.translateNamespace}}}}}function f(a){"use strict";return a.translateNamespace?a.translateNamespace:a.$parent?f(a.$parent):void 0}function k(){"use strict";return{restrict:"A",scope:!0,compile:function(){return function(a,b,c){c.$observe("translateLanguage",function(b){a.translateLanguage=b}),a.$watch("translateLanguage",function(){a.$broadcast("translateLanguageChanged")})}}}}function l(a,b){"use strict";var c=function(c,d,e,f){return angular.isObject(d)||(d=a(d)(this)),b.instant(c,d,e,f)};return b.statefulFilter()&&(c.$stateful=!0),c}function m(a){"use strict";return a("translations")}return a.$inject=["$translate"],c.$inject=["$STORAGE_KEY","$windowProvider","$translateSanitizationProvider","pascalprechtTranslateOverrider"],d.$inject=["$interpolate","$translateSanitization"],e.$inject=["$translate","$interpolate","$compile","$parse","$rootScope"],g.$inject=["$translate","$rootScope"],i.$inject=["$translate","$rootScope"],l.$inject=["$parse","$translate"],m.$inject=["$cacheFactory"],angular.module("pascalprecht.translate",["ng"]).run(a),a.displayName="runTranslate",angular.module("pascalprecht.translate").provider("$translateSanitization",b),angular.module("pascalprecht.translate").constant("pascalprechtTranslateOverrider",{}).provider("$translate",c),c.displayName="displayName",angular.module("pascalprecht.translate").factory("$translateDefaultInterpolation",d),d.displayName="$translateDefaultInterpolation",angular.module("pascalprecht.translate").constant("$STORAGE_KEY","NG_TRANSLATE_LANG_KEY"),angular.module("pascalprecht.translate").directive("translate",e),e.displayName="translateDirective",angular.module("pascalprecht.translate").directive("translateAttr",g),g.displayName="translateAttrDirective",angular.module("pascalprecht.translate").directive("translateCloak",i),i.displayName="translateCloakDirective",angular.module("pascalprecht.translate").directive("translateNamespace",j),j.displayName="translateNamespaceDirective",angular.module("pascalprecht.translate").directive("translateLanguage",k),k.displayName="translateLanguageDirective",angular.module("pascalprecht.translate").filter("translate",l),l.displayName="translateFilterFactory",angular.module("pascalprecht.translate").factory("$translationCache",m),m.displayName="$translationCache","pascalprecht.translate"}),function(a,b){"function"==typeof define&&define.amd?define([],function(){return b()}):"object"==typeof exports?module.exports=b():b()}(this,function(){function a(a,b){"use strict";return function(c){if(!(c&&(angular.isArray(c.files)||angular.isString(c.prefix)&&angular.isString(c.suffix))))throw new Error("Couldn't load static files, no files and prefix or suffix specified!");c.files||(c.files=[{prefix:c.prefix,suffix:c.suffix}]);for(var d=function(d){if(!d||!angular.isString(d.prefix)||!angular.isString(d.suffix))throw new Error("Couldn't load static file, no prefix or suffix specified!");return b(angular.extend({url:[d.prefix,c.key,d.suffix].join(""),method:"GET",params:""},c.$http)).then(function(a){return a.data},function(){return a.reject(c.key)})},e=[],f=c.files.length,g=0;g<f;g++)e.push(d({prefix:c.files[g].prefix,key:c.key,suffix:c.files[g].suffix}));return a.all(e).then(function(a){for(var b=a.length,c={},d=0;d<b;d++)for(var e in a[d])c[e]=a[d][e];return c})}}return a.$inject=["$q","$http"],angular.module("pascalprecht.translate").factory("$translateStaticFilesLoader",a),a.displayName="$translateStaticFilesLoader","pascalprecht.translate"}),function(a,b,c){"use strict";function d(a,c){return b.equals(a.length,c.length)?a>c:a.length>c.length}function e(a){var b=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/);if(!b||4!==b.length)throw new Error("Invalid state ref '"+a+"'");return{state:b[1],paramExpr:b[3]||null}}function f(){var a={prefixStateName:null,template:"bootstrap3",templateUrl:null,includeAbstract:!1};this.setOptions=function(c){b.extend(a,c)},this.$get=["$state","$stateParams","$rootScope",function(b,f,g){var h=g;g.$on("$viewContentLoaded",function(a){!a.targetScope.ncyBreadcrumbIgnore&&d(a.targetScope.$id,h.$id)&&(h=a.targetScope)});var i=function(a){var b=a.parent||(/^(.+)\.[^.]+$/.exec(a.name)||[])[1],c="object"==typeof b;return c?b.name:b},j=function(c,d){for(var g,i,j=e(d),k=!1,l=!1,m=0,n=c.length;m<n;m+=1)if(c[m].name===j.state)return;g=b.get(j.state),g.ncyBreadcrumb&&(g.ncyBreadcrumb.force&&(k=!0),g.ncyBreadcrumb.skip&&(l=!0)),g["abstract"]&&!a.includeAbstract&&!k||l||(j.paramExpr&&(i=h.$eval(j.paramExpr)),g.ncyBreadcrumbLink=b.href(j.state,i||f||{}),c.unshift(g))},k=function(a){var c=e(a),d=b.get(c.state);if(d.ncyBreadcrumb&&d.ncyBreadcrumb.parent){var f="function"==typeof d.ncyBreadcrumb.parent,g=f?d.ncyBreadcrumb.parent(h):d.ncyBreadcrumb.parent;if(g)return g}return i(d)};return{getTemplate:function(b){return a.templateUrl?null:b[a.template]?b[a.template]:a.template},getTemplateUrl:function(){return a.templateUrl},getStatesChain:function(c){for(var d=[],e=b.$current.self.name;e;e=k(e))if(j(d,e),c&&d.length)return d;return a.prefixStateName&&j(d,a.prefixStateName),d},getLastStep:function(){var a=this.getStatesChain(!0);return a.length?a[0]:c},$getLastViewScope:function(){return h}}}]}function g(a,c,d){var e={bootstrap2:'<ul class="breadcrumb"><li ng-repeat="step in steps" ng-switch="$last || !!step.abstract" ng-class="{active: $last}"><a ng-switch-when="false" href="{{step.ncyBreadcrumbLink}}">{{step.ncyBreadcrumbLabel}}</a><span ng-switch-when="true">{{step.ncyBreadcrumbLabel}}</span><span class="divider" ng-hide="$last">/</span></li></ul>',bootstrap3:'<ol class="breadcrumb"><li ng-repeat="step in steps" ng-class="{active: $last}" ng-switch="$last || !!step.abstract"><a ng-switch-when="false" href="{{step.ncyBreadcrumbLink}}">{{step.ncyBreadcrumbLabel}}</a><span ng-switch-when="true">{{step.ncyBreadcrumbLabel}}</span></li></ol>'};return{restrict:"AE",replace:!0,scope:{},template:c.getTemplate(e),templateUrl:c.getTemplateUrl(),link:{post:function(e){var f=[],g=function(){l(f),f=[];var d=c.$getLastViewScope();e.steps=c.getStatesChain(),b.forEach(e.steps,function(b){if(b.ncyBreadcrumb&&b.ncyBreadcrumb.label){var c=a(b.ncyBreadcrumb.label);b.ncyBreadcrumbLabel=c(d),k(f,c,d,b)}else b.ncyBreadcrumbLabel=b.name})};d.$on("$viewContentLoaded",function(a){a.targetScope.ncyBreadcrumbIgnore||g()}),g()}}}}function h(a,b,c){return{restrict:"A",scope:{},template:"{{ncyBreadcrumbLabel}}",compile:function(d,e){var f=d.attr(e.$attr.ncyBreadcrumbLast);return f&&d.html(f),{post:function(d){var e=[],f=function(){l(e),e=[];var c=b.$getLastViewScope(),f=b.getLastStep();if(f)if(d.ncyBreadcrumbLink=f.ncyBreadcrumbLink,f.ncyBreadcrumb&&f.ncyBreadcrumb.label){var g=a(f.ncyBreadcrumb.label);d.ncyBreadcrumbLabel=g(c),k(e,g,c,d)}else d.ncyBreadcrumbLabel=f.name};c.$on("$viewContentLoaded",function(a){a.targetScope.ncyBreadcrumbIgnore||f()}),f()}}}}}function i(a,c,d){return{restrict:"A",scope:{},template:"{{ncyBreadcrumbChain}}",compile:function(e,f){var g=e.attr(f.$attr.ncyBreadcrumbText);g&&e.html(g);var h=e.attr(f.$attr.ncyBreadcrumbTextSeparator)||" / ";return{post:function(e){var f=[],g=function(a,c,d){b.forEach(j(c),function(b){var c=d.$watch(b,function(a,b){a!==b&&i()});a.push(c)})},i=function(){l(f),f=[];var d=c.$getLastViewScope(),i=c.getStatesChain(),j=[];b.forEach(i,function(b){if(b.ncyBreadcrumb&&b.ncyBreadcrumb.label){var c=a(b.ncyBreadcrumb.label);j.push(c(d)),g(f,c,d)}else j.push(b.name)}),e.ncyBreadcrumbChain=j.join(h)};d.$on("$viewContentLoaded",function(a){a.targetScope.ncyBreadcrumbIgnore||i()}),i()}}}}}var j=function(a){if(a.expressions)return a.expressions;var c=[];return b.forEach(a.parts,function(a){b.isFunction(a)&&c.push(a.exp)}),c},k=function(a,c,d,e){b.forEach(j(c),function(b){var f=d.$watch(b,function(){e.ncyBreadcrumbLabel=c(d)});a.push(f)})},l=function(a){b.forEach(a,function(a){a()})};g.$inject=["$interpolate","$breadcrumb","$rootScope"],h.$inject=["$interpolate","$breadcrumb","$rootScope"],i.$inject=["$interpolate","$breadcrumb","$rootScope"],b.module("ncy-angular-breadcrumb",["ui.router.state"]).provider("$breadcrumb",f).directive("ncyBreadcrumb",g).directive("ncyBreadcrumbLast",h).directive("ncyBreadcrumbText",i)}(window,window.angular),function(){function a(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d<e;)if(a[d]===b)return d;return-1}function b(b,c){var d=typeof c;if(b=b.cache,"boolean"==d||null==c)return b[c]?0:-1;"number"!=d&&"string"!=d&&(d="object");var e="number"==d?c:u+c;return b=(b=b[d])&&b[e],"object"==d?b&&a(b,c)>-1?0:-1:b?0:-1}function c(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:u+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function d(a){return a.charCodeAt(0)}function e(a,b){for(var c=a.criteria,d=b.criteria,e=-1,f=c.length;++e<f;){var g=c[e],h=d[e];if(g!==h){if(g>h||"undefined"==typeof g)return 1;if(g<h||"undefined"==typeof h)return-1}}return a.index-b.index}function f(a){var b=-1,d=a.length,e=a[0],f=a[d/2|0],g=a[d-1];if(e&&"object"==typeof e&&f&&"object"==typeof f&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=c;++b<d;)j.push(a[b]);return j}function g(a){return"\\"+_[a]}function h(){return q.pop()||[]}function i(){return r.pop()||{array:null,cache:null,criteria:null,"false":!1,index:0,"null":!1,number:null,object:null,push:null,string:null,"true":!1,undefined:!1,value:null}}function j(a){return"function"!=typeof a.toString&&"string"==typeof(a+"")}function l(a){a.length=0,q.length<w&&q.push(a)}function m(a){var b=a.cache;b&&m(b),a.array=a.cache=a.criteria=a.object=a.number=a.string=a.value=null,r.length<w&&r.push(a)}function n(a,b,c){b||(b=0),"undefined"==typeof c&&(c=a?a.length:0);for(var d=-1,e=c-b||0,f=Array(e<0?0:e);++d<e;)f[d]=a[b+d];return f}function o(c){function q(a){return a&&"object"==typeof a&&!kd(a)&&Rc.call(a,"__wrapped__")?a:new r(a)}function r(a,b){this.__chain__=!!b,this.__wrapped__=a}function w(a){function b(){if(d){var a=n(d);Sc.apply(a,arguments)}if(this instanceof b){var f=ba(c.prototype),g=c.apply(f,a||arguments);return La(g)?g:f}return c.apply(e,a||arguments)}var c=a[0],d=a[2],e=a[4];return jd(b,a),b}function _(a,b,c,d,e){if(c){var f=c(a);if("undefined"!=typeof f)return f}var g=La(a);if(!g)return a;var i=Kc.call(a);if(!W[i]||!hd.nodeClass&&j(a))return a;var k=fd[i];switch(i){case O:case P:return new k((+a));case S:case V:return new k(a);case U:return f=k(a.source,C.exec(a)),f.lastIndex=a.lastIndex,f}var m=kd(a);if(b){var o=!d;d||(d=h()),e||(e=h());for(var p=d.length;p--;)if(d[p]==a)return e[p];f=m?k(a.length):{}}else f=m?n(a):vd({},a);return m&&(Rc.call(a,"index")&&(f.index=a.index),Rc.call(a,"input")&&(f.input=a.input)),b?(d.push(a),e.push(f),(m?ud:yd)(a,function(a,g){f[g]=_(a,b,c,d,e)}),o&&(l(d),l(e)),f):f}function ba(a,b){return La(a)?Yc(a):{}}function ca(a,b,c){if("function"!=typeof a)return ec;if("undefined"==typeof b||!("prototype"in a))return a;var d=a.__bindData__;if("undefined"==typeof d&&(hd.funcNames&&(d=!a.name),d=d||!hd.funcDecomp,!d)){var e=Pc.call(a);hd.funcNames||(d=!D.test(e)),d||(d=H.test(e),jd(a,d))}if(d===!1||d!==!0&&1&d[1])return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)};case 4:return function(c,d,e,f){return a.call(b,c,d,e,f)}}return Pb(a,b)}function da(a){function b(){var a=i?g:this;if(e){var o=n(e);Sc.apply(o,arguments)}if((f||k)&&(o||(o=n(arguments)),f&&Sc.apply(o,f),k&&o.length<h))return d|=16,da([c,l?d:d&-4,o,null,g,h]);if(o||(o=arguments),j&&(c=a[m]),this instanceof b){a=ba(c.prototype);var p=c.apply(a,o);return La(p)?p:a}return c.apply(a,o)}var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],i=1&d,j=2&d,k=4&d,l=8&d,m=c;return jd(b,a),b}function ea(c,d){var e=-1,g=pa(),h=c?c.length:0,i=h>=v&&g===a,j=[];if(i){var k=f(d);k?(g=b,d=k):i=!1}for(;++e<h;){var l=c[e];g(d,l)<0&&j.push(l)}return i&&m(d),j}function ga(a,b,c,d){for(var e=(d||0)-1,f=a?a.length:0,g=[];++e<f;){var h=a[e];if(h&&"object"==typeof h&&"number"==typeof h.length&&(kd(h)||ta(h))){b||(h=ga(h,b,c));var i=-1,j=h.length,k=g.length;for(g.length+=j;++i<j;)g[k++]=h[i]}else c||g.push(h)}return g}function ha(a,b,c,d,e,f){if(c){var g=c(a,b);if("undefined"!=typeof g)return!!g}if(a===b)return 0!==a||1/a==1/b;var i=typeof a,k=typeof b;if(!(a!==a||a&&$[i]||b&&$[k]))return!1;if(null==a||null==b)return a===b;var m=Kc.call(a),n=Kc.call(b);if(m==M&&(m=T),n==M&&(n=T),m!=n)return!1;switch(m){case O:case P:return+a==+b;case S:return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case U:case V:return a==Dc(b)}var o=m==N;if(!o){var p=Rc.call(a,"__wrapped__"),q=Rc.call(b,"__wrapped__");if(p||q)return ha(p?a.__wrapped__:a,q?b.__wrapped__:b,c,d,e,f);if(m!=T||!hd.nodeClass&&(j(a)||j(b)))return!1;var r=!hd.argsObject&&ta(a)?Bc:a.constructor,s=!hd.argsObject&&ta(b)?Bc:b.constructor;if(r!=s&&!(Ka(r)&&r instanceof r&&Ka(s)&&s instanceof s)&&"constructor"in a&&"constructor"in b)return!1}var t=!e;e||(e=h()),f||(f=h());for(var u=e.length;u--;)if(e[u]==a)return f[u]==b;var v=0;if(g=!0,e.push(a),f.push(b),o){if(u=a.length,v=b.length,g=v==u,g||d)for(;v--;){var w=u,x=b[v];if(d)for(;w--&&!(g=ha(a[w],x,c,d,e,f)););else if(!(g=ha(a[v],x,c,d,e,f)))break}}else xd(b,function(b,h,i){if(Rc.call(i,h))return v++,g=Rc.call(a,h)&&ha(a[h],b,c,d,e,f)}),g&&!d&&xd(a,function(a,b,c){if(Rc.call(c,b))return g=--v>-1});return e.pop(),f.pop(),t&&(l(e),l(f)),g}function ia(a,b,c,d,e){(kd(b)?db:yd)(b,function(b,f){var g,h,i=b,j=a[f];if(b&&((h=kd(b))||zd(b))){for(var k=d.length;k--;)if(g=d[k]==b){j=e[k];break}if(!g){var l;c&&(i=c(j,b),(l="undefined"!=typeof i)&&(j=i)),l||(j=h?kd(j)?j:[]:zd(j)?j:{}),d.push(b),e.push(j),l||ia(j,b,c,d,e)}}else c&&(i=c(j,b),"undefined"==typeof i&&(i=b)),"undefined"!=typeof i&&(j=i);a[f]=j})}function ja(a,b){return a+Oc(ed()*(b-a+1))}function ka(c,d,e){var g=-1,i=pa(),j=c?c.length:0,k=[],n=!d&&j>=v&&i===a,o=e||n?h():k;if(n){var p=f(o);i=b,o=p}for(;++g<j;){var q=c[g],r=e?e(q,g,c):q;(d?!g||o[o.length-1]!==r:i(o,r)<0)&&((e||n)&&o.push(r),k.push(q))}return n?(l(o.array),m(o)):e&&l(o),k}function la(a){return function(b,c,d){var e={};if(c=q.createCallback(c,d,3),kd(b))for(var f=-1,g=b.length;++f<g;){var h=b[f];a(e,h,c(h,f,b),b)}else ud(b,function(b,d,f){a(e,b,c(b,d,f),f)});return e}}function ma(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!Ka(a))throw new Ec;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=n(l),l[2]&&(l[2]=n(l[2])),l[3]&&(l[3]=n(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Sc.apply(l[2]||(l[2]=[]),c),k&&Wc.apply(l[3]||(l[3]=[]),d),l[1]|=b,ma.apply(null,l);var m=1==b||17===b?w:da;return m([a,b,c,d,e,f])}function na(){Z.shadowedProps=K,Z.array=Z.bottom=Z.loop=Z.top="",Z.init="iterable",Z.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)Z[c]=a[c];var d=Z.args;Z.firstArg=/^[^,]+/.exec(d)[0];var e=yc("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+id(Z)+"\n}");return e(ca,Q,Gc,Rc,t,ta,kd,Qa,Z.keys,Hc,$,gd,V,Ic,Kc)}function oa(a){return qd[a]}function pa(){var b=(b=q.indexOf)===yb?a:b;return b}function qa(a){return"function"==typeof a&&Lc.test(a)}function ra(a){var b,c;return!(!(a&&Kc.call(a)==T&&(b=a.constructor,!Ka(b)||b instanceof b))||!hd.argsClass&&ta(a)||!hd.nodeClass&&j(a))&&(hd.ownLast?(xd(a,function(a,b,d){return c=Rc.call(d,b),!1}),c!==!1):(xd(a,function(a,b){c=b}),"undefined"==typeof c||Rc.call(a,c)))}function sa(a){return rd[a]}function ta(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kc.call(a)==M||!1}function ua(a,b,c,d){return"boolean"!=typeof b&&null!=b&&(d=c,c=b,b=!1),_(a,b,"function"==typeof c&&ca(c,d,1))}function va(a,b,c){return _(a,!0,"function"==typeof b&&ca(b,c,1))}function wa(a,b){var c=ba(a);return b?vd(c,b):c}function xa(a,b,c){var d;return b=q.createCallback(b,c,3),yd(a,function(a,c,e){if(b(a,c,e))return d=c,!1}),d}function ya(a,b,c){var d;return b=q.createCallback(b,c,3),Aa(a,function(a,c,e){if(b(a,c,e))return d=c,!1}),d}function za(a,b,c){var d=[];xd(a,function(a,b){d.push(b,a)});var e=d.length;for(b=ca(b,c,3);e--&&b(d[e--],d[e],a)!==!1;);return a}function Aa(a,b,c){var d=md(a),e=d.length;for(b=ca(b,c,3);e--;){var f=d[e];if(b(a[f],f,a)===!1)break}return a}function Ba(a){var b=[];return xd(a,function(a,c){Ka(a)&&b.push(c)}),b.sort()}function Ca(a,b){return!!a&&Rc.call(a,b)}function Da(a){for(var b=-1,c=md(a),d=c.length,e={};++b<d;){var f=c[b];e[a[f]]=f}return e}function Ea(a){return a===!0||a===!1||a&&"object"==typeof a&&Kc.call(a)==O||!1}function Fa(a){return a&&"object"==typeof a&&Kc.call(a)==P||!1}function Ga(a){return a&&1===a.nodeType||!1}function Ha(a){var b=!0;if(!a)return b;var c=Kc.call(a),d=a.length;return c==N||c==V||(hd.argsClass?c==M:ta(a))||c==T&&"number"==typeof d&&Ka(a.splice)?!d:(yd(a,function(){return b=!1}),b)}function Ia(a,b,c,d){return ha(a,b,"function"==typeof c&&ca(c,d,2))}function Ja(a){return $c(a)&&!_c(parseFloat(a))}function Ka(a){return"function"==typeof a}function La(a){return!(!a||!$[typeof a])}function Ma(a){return Oa(a)&&a!=+a}function Na(a){return null===a}function Oa(a){return"number"==typeof a||a&&"object"==typeof a&&Kc.call(a)==S||!1}function Pa(a){return a&&$[typeof a]&&Kc.call(a)==U||!1}function Qa(a){return"string"==typeof a||a&&"object"==typeof a&&Kc.call(a)==V||!1}function Ra(a){return"undefined"==typeof a}function Sa(a,b,c){var d={};return b=q.createCallback(b,c,3),yd(a,function(a,c,e){d[c]=b(a,c,e)}),d}function Ta(a){var b=arguments,c=2;if(!La(a))return a;if("number"!=typeof b[2]&&(c=b.length),c>3&&"function"==typeof b[c-2])var d=ca(b[--c-1],b[c--],2);else c>2&&"function"==typeof b[c-1]&&(d=b[--c]);
+for(var e=n(arguments,1,c),f=-1,g=h(),i=h();++f<c;)ia(a,e[f],d,g,i);return l(g),l(i),a}function Ua(a,b,c){var d={};if("function"!=typeof b){var e=[];xd(a,function(a,b){e.push(b)}),e=ea(e,ga(arguments,!0,!1,1));for(var f=-1,g=e.length;++f<g;){var h=e[f];d[h]=a[h]}}else b=q.createCallback(b,c,3),xd(a,function(a,c,e){b(a,c,e)||(d[c]=a)});return d}function Va(a){for(var b=-1,c=md(a),d=c.length,e=uc(d);++b<d;){var f=c[b];e[b]=[f,a[f]]}return e}function Wa(a,b,c){var d={};if("function"!=typeof b)for(var e=-1,f=ga(arguments,!0,!1,1),g=La(a)?f.length:0;++e<g;){var h=f[e];h in a&&(d[h]=a[h])}else b=q.createCallback(b,c,3),xd(a,function(a,c,e){b(a,c,e)&&(d[c]=a)});return d}function Xa(a,b,c,d){var e=kd(a);if(null==c)if(e)c=[];else{var f=a&&a.constructor,g=f&&f.prototype;c=ba(g)}return b&&(b=q.createCallback(b,d,4),(e?ud:yd)(a,function(a,d,e){return b(c,a,d,e)})),c}function Ya(a){for(var b=-1,c=md(a),d=c.length,e=uc(d);++b<d;)e[b]=a[c[b]];return e}function Za(a){var b=arguments,c=-1,d=ga(b,!0,!1,1),e=b[2]&&b[2][b[1]]===a?1:d.length,f=uc(e);for(hd.unindexedChars&&Qa(a)&&(a=a.split(""));++c<e;)f[c]=a[d[c]];return f}function $a(a,b,c){var d=-1,e=pa(),f=a?a.length:0,g=!1;return c=(c<0?bd(0,f+c):c)||0,kd(a)?g=e(a,b,c)>-1:"number"==typeof f?g=(Qa(a)?a.indexOf(b,c):e(a,b,c))>-1:ud(a,function(a){if(++d>=c)return!(g=a===b)}),g}function _a(a,b,c){var d=!0;if(b=q.createCallback(b,c,3),kd(a))for(var e=-1,f=a.length;++e<f&&(d=!!b(a[e],e,a)););else ud(a,function(a,c,e){return d=!!b(a,c,e)});return d}function ab(a,b,c){var d=[];if(b=q.createCallback(b,c,3),kd(a))for(var e=-1,f=a.length;++e<f;){var g=a[e];b(g,e,a)&&d.push(g)}else ud(a,function(a,c,e){b(a,c,e)&&d.push(a)});return d}function bb(a,b,c){if(b=q.createCallback(b,c,3),!kd(a)){var d;return ud(a,function(a,c,e){if(b(a,c,e))return d=a,!1}),d}for(var e=-1,f=a.length;++e<f;){var g=a[e];if(b(g,e,a))return g}}function cb(a,b,c){var d;return b=q.createCallback(b,c,3),eb(a,function(a,c,e){if(b(a,c,e))return d=a,!1}),d}function db(a,b,c){if(b&&"undefined"==typeof c&&kd(a))for(var d=-1,e=a.length;++d<e&&b(a[d],d,a)!==!1;);else ud(a,b,c);return a}function eb(a,b,c){var d=a,e=a?a.length:0;if(b=b&&"undefined"==typeof c?b:ca(b,c,3),kd(a))for(;e--&&b(a[e],e,a)!==!1;);else{if("number"!=typeof e){var f=md(a);e=f.length}else hd.unindexedChars&&Qa(a)&&(d=a.split(""));ud(a,function(a,c,g){return c=f?f[--e]:--e,b(d[c],c,g)})}return a}function fb(a,b){var c=n(arguments,2),d=-1,e="function"==typeof b,f=a?a.length:0,g=uc("number"==typeof f?f:0);return db(a,function(a){g[++d]=(e?b:a[b]).apply(a,c)}),g}function gb(a,b,c){var d=-1,e=a?a.length:0,f=uc("number"==typeof e?e:0);if(b=q.createCallback(b,c,3),kd(a))for(;++d<e;)f[d]=b(a[d],d,a);else ud(a,function(a,c,e){f[++d]=b(a,c,e)});return f}function hb(a,b,c){var e=-(1/0),f=e;if("function"!=typeof b&&c&&c[b]===a&&(b=null),null==b&&kd(a))for(var g=-1,h=a.length;++g<h;){var i=a[g];i>f&&(f=i)}else b=null==b&&Qa(a)?d:q.createCallback(b,c,3),ud(a,function(a,c,d){var g=b(a,c,d);g>e&&(e=g,f=a)});return f}function ib(a,b,c){var e=1/0,f=e;if("function"!=typeof b&&c&&c[b]===a&&(b=null),null==b&&kd(a))for(var g=-1,h=a.length;++g<h;){var i=a[g];i<f&&(f=i)}else b=null==b&&Qa(a)?d:q.createCallback(b,c,3),ud(a,function(a,c,d){var g=b(a,c,d);g<e&&(e=g,f=a)});return f}function jb(a,b,c,d){var e=arguments.length<3;if(b=q.createCallback(b,d,4),kd(a)){var f=-1,g=a.length;for(e&&(c=a[++f]);++f<g;)c=b(c,a[f],f,a)}else ud(a,function(a,d,f){c=e?(e=!1,a):b(c,a,d,f)});return c}function kb(a,b,c,d){var e=arguments.length<3;return b=q.createCallback(b,d,4),eb(a,function(a,d,f){c=e?(e=!1,a):b(c,a,d,f)}),c}function lb(a,b,c){return b=q.createCallback(b,c,3),ab(a,function(a,c,d){return!b(a,c,d)})}function mb(a,b,c){if(a&&"number"!=typeof a.length?a=Ya(a):hd.unindexedChars&&Qa(a)&&(a=a.split("")),null==b||c)return a?a[ja(0,a.length-1)]:p;var d=nb(a);return d.length=cd(bd(0,b),d.length),d}function nb(a){var b=-1,c=a?a.length:0,d=uc("number"==typeof c?c:0);return db(a,function(a){var c=ja(0,++b);d[b]=d[c],d[c]=a}),d}function ob(a){var b=a?a.length:0;return"number"==typeof b?b:md(a).length}function pb(a,b,c){var d;if(b=q.createCallback(b,c,3),kd(a))for(var e=-1,f=a.length;++e<f&&!(d=b(a[e],e,a)););else ud(a,function(a,c,e){return!(d=b(a,c,e))});return!!d}function qb(a,b,c){var d=-1,f=kd(b),g=a?a.length:0,j=uc("number"==typeof g?g:0);for(f||(b=q.createCallback(b,c,3)),db(a,function(a,c,e){var g=j[++d]=i();f?g.criteria=gb(b,function(b){return a[b]}):(g.criteria=h())[0]=b(a,c,e),g.index=d,g.value=a}),g=j.length,j.sort(e);g--;){var k=j[g];j[g]=k.value,f||l(k.criteria),m(k)}return j}function rb(a){return a&&"number"==typeof a.length?hd.unindexedChars&&Qa(a)?a.split(""):n(a):Ya(a)}function sb(a){for(var b=-1,c=a?a.length:0,d=[];++b<c;){var e=a[b];e&&d.push(e)}return d}function tb(a){return ea(a,ga(arguments,!0,!0,1))}function ub(a,b,c){var d=-1,e=a?a.length:0;for(b=q.createCallback(b,c,3);++d<e;)if(b(a[d],d,a))return d;return-1}function vb(a,b,c){var d=a?a.length:0;for(b=q.createCallback(b,c,3);d--;)if(b(a[d],d,a))return d;return-1}function wb(a,b,c){var d=0,e=a?a.length:0;if("number"!=typeof b&&null!=b){var f=-1;for(b=q.createCallback(b,c,3);++f<e&&b(a[f],f,a);)d++}else if(d=b,null==d||c)return a?a[0]:p;return n(a,0,cd(bd(0,d),e))}function xb(a,b,c,d){return"boolean"!=typeof b&&null!=b&&(d=c,c="function"!=typeof b&&d&&d[b]===a?null:b,b=!1),null!=c&&(a=gb(a,c,d)),ga(a,b)}function yb(b,c,d){if("number"==typeof d){var e=b?b.length:0;d=d<0?bd(0,e+d):d||0}else if(d){var f=Hb(b,c);return b[f]===c?f:-1}return a(b,c,d)}function zb(a,b,c){var d=0,e=a?a.length:0;if("number"!=typeof b&&null!=b){var f=e;for(b=q.createCallback(b,c,3);f--&&b(a[f],f,a);)d++}else d=null==b||c?1:b||d;return n(a,0,cd(bd(0,e-d),e))}function Ab(){for(var c=[],d=-1,e=arguments.length,g=h(),i=pa(),j=i===a,k=h();++d<e;){var n=arguments[d];(kd(n)||ta(n))&&(c.push(n),g.push(j&&n.length>=v&&f(d?c[d]:k)))}var o=c[0],p=-1,q=o?o.length:0,r=[];a:for(;++p<q;){var s=g[0];if(n=o[p],(s?b(s,n):i(k,n))<0){for(d=e,(s||k).push(n);--d;)if(s=g[d],(s?b(s,n):i(c[d],n))<0)continue a;r.push(n)}}for(;e--;)s=g[e],s&&m(s);return l(g),l(k),r}function Bb(a,b,c){var d=0,e=a?a.length:0;if("number"!=typeof b&&null!=b){var f=e;for(b=q.createCallback(b,c,3);f--&&b(a[f],f,a);)d++}else if(d=b,null==d||c)return a?a[e-1]:p;return n(a,bd(0,e-d))}function Cb(a,b,c){var d=a?a.length:0;for("number"==typeof c&&(d=(c<0?bd(0,d+c):cd(c,d-1))+1);d--;)if(a[d]===b)return d;return-1}function Db(a){for(var b=arguments,c=0,d=b.length,e=a?a.length:0;++c<d;)for(var f=-1,g=b[c];++f<e;)a[f]===g&&(Vc.call(a,f--,1),e--);return a}function Eb(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=bd(0,Mc((b-a)/(c||1))),f=uc(e);++d<e;)f[d]=a,a+=c;return f}function Fb(a,b,c){var d=-1,e=a?a.length:0,f=[];for(b=q.createCallback(b,c,3);++d<e;){var g=a[d];b(g,d,a)&&(f.push(g),Vc.call(a,d--,1),e--)}return f}function Gb(a,b,c){if("number"!=typeof b&&null!=b){var d=0,e=-1,f=a?a.length:0;for(b=q.createCallback(b,c,3);++e<f&&b(a[e],e,a);)d++}else d=null==b||c?1:bd(0,b);return n(a,d)}function Hb(a,b,c,d){var e=0,f=a?a.length:e;for(c=c?q.createCallback(c,d,1):ec,b=c(b);e<f;){var g=e+f>>>1;c(a[g])<b?e=g+1:f=g}return e}function Ib(){return ka(ga(arguments,!0,!0))}function Jb(a,b,c,d){return"boolean"!=typeof b&&null!=b&&(d=c,c="function"!=typeof b&&d&&d[b]===a?null:b,b=!1),null!=c&&(c=q.createCallback(c,d,3)),ka(a,b,c)}function Kb(a){return ea(a,n(arguments,1))}function Lb(){for(var a=-1,b=arguments.length;++a<b;){var c=arguments[a];if(kd(c)||ta(c))var d=d?ka(ea(d,c).concat(ea(c,d))):c}return d||[]}function Mb(){for(var a=arguments.length>1?arguments:arguments[0],b=-1,c=a?hb(Dd(a,"length")):0,d=uc(c<0?0:c);++b<c;)d[b]=Dd(a,b);return d}function Nb(a,b){var c=-1,d=a?a.length:0,e={};for(b||!d||kd(a[0])||(b=[]);++c<d;){var f=a[c];b?e[f]=b[c]:f&&(e[f[0]]=f[1])}return e}function Ob(a,b){if(!Ka(b))throw new Ec;return function(){if(--a<1)return b.apply(this,arguments)}}function Pb(a,b){return arguments.length>2?ma(a,17,n(arguments,2),null,b):ma(a,1,null,null,b)}function Qb(a){for(var b=arguments.length>1?ga(arguments,!0,!1,1):Ba(a),c=-1,d=b.length;++c<d;){var e=b[c];a[e]=ma(a[e],1,null,null,a)}return a}function Rb(a,b){return arguments.length>2?ma(b,19,n(arguments,2),null,a):ma(b,3,null,null,a)}function Sb(){for(var a=arguments,b=a.length;b--;)if(!Ka(a[b]))throw new Ec;return function(){for(var b=arguments,c=a.length;c--;)b=[a[c].apply(this,b)];return b[0]}}function Tb(a,b){return b="number"==typeof b?b:+b||a.length,ma(a,4,null,null,null,b)}function Ub(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!Ka(a))throw new Ec;if(b=bd(0,b)||0,c===!0){var n=!0;m=!1}else La(c)&&(n=c.leading,l="maxWait"in c&&(bd(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(Fd()-g);if(c<=0){e&&Nc(e);var l=j;e=i=j=p,l&&(k=Fd(),f=a.apply(h,d),i||e||(d=h=null))}else i=Uc(o,c)},q=function(){i&&Nc(i),e=i=j=p,(m||l!==b)&&(k=Fd(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=Fd(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var p=l-(g-k),r=p<=0;r?(e&&(e=Nc(e)),k=g,f=a.apply(h,d)):e||(e=Uc(q,p))}return r&&i?i=Nc(i):i||b===l||(i=Uc(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function Vb(a){if(!Ka(a))throw new Ec;var b=n(arguments,1);return Uc(function(){a.apply(p,b)},1)}function Wb(a,b){if(!Ka(a))throw new Ec;var c=n(arguments,2);return Uc(function(){a.apply(p,c)},b)}function Xb(a,b){if(!Ka(a))throw new Ec;var c=function(){var d=c.cache,e=b?b.apply(this,arguments):u+arguments[0];return Rc.call(d,e)?d[e]:d[e]=a.apply(this,arguments)};return c.cache={},c}function Yb(a){var b,c;if(!Ka(a))throw new Ec;return function(){return b?c:(b=!0,c=a.apply(this,arguments),a=null,c)}}function Zb(a){return ma(a,16,n(arguments,1))}function $b(a){return ma(a,32,null,n(arguments,1))}function _b(a,b,c){var d=!0,e=!0;if(!Ka(a))throw new Ec;return c===!1?d=!1:La(c)&&(d="leading"in c?c.leading:d,e="trailing"in c?c.trailing:e),X.leading=d,X.maxWait=b,X.trailing=e,Ub(a,b,X)}function ac(a,b){return ma(b,16,[a])}function bc(a){return function(){return a}}function cc(a,b,c){var d=typeof a;if(null==a||"function"==d)return ca(a,b,c);if("object"!=d)return ic(a);var e=md(a),f=e[0],g=a[f];return 1!=e.length||g!==g||La(g)?function(b){for(var c=e.length,d=!1;c--&&(d=ha(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function dc(a){return null==a?"":Dc(a).replace(td,oa)}function ec(a){return a}function fc(a,b,c){var d=!0,e=b&&Ba(b);b&&(c||e.length)||(null==c&&(c=b),f=r,b=a,a=q,e=Ba(b)),c===!1?d=!1:La(c)&&"chain"in c&&(d=c.chain);var f=a,g=Ka(f);db(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Sc.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&La(h))return this;h=new f(h),h.__chain__=b}return h})})}function gc(){return c._=Jc,this}function hc(){}function ic(a){return function(b){return b[a]}}function jc(a,b,c){var d=null==a,e=null==b;if(null==c&&("boolean"==typeof a&&e?(c=a,a=1):e||"boolean"!=typeof b||(c=b,e=!0)),d&&e&&(b=1),a=+a||0,e?(b=a,a=0):b=+b||0,c||a%1||b%1){var f=ed();return cd(a+f*(b-a+parseFloat("1e-"+((f+"").length-1))),b)}return ja(a,b)}function kc(a,b){if(a){var c=a[b];return Ka(c)?a[b]():c}}function lc(a,b,c){var d=q.templateSettings;a=Dc(a||""),c=wd({},c,d);var e,f=wd({},c.imports,d.imports),h=md(f),i=Ya(f),j=0,k=c.interpolate||G,l="__p += '",m=Cc((c.escape||G).source+"|"+k.source+"|"+(k===E?B:G).source+"|"+(c.evaluate||G).source+"|$","g");a.replace(m,function(b,c,d,f,h,i){return d||(d=f),l+=a.slice(j,i).replace(I,g),c&&(l+="' +\n__e("+c+") +\n'"),h&&(e=!0,l+="';\n"+h+";\n__p += '"),d&&(l+="' +\n((__t = ("+d+")) == null ? '' : __t) +\n'"),j=i+b.length,b}),l+="';\n";var n=c.variable,o=n;o||(n="obj",l="with ("+n+") {\n"+l+"\n}\n"),l=(e?l.replace(y,""):l).replace(z,"$1").replace(A,"$1;"),l="function("+n+") {\n"+(o?"":n+" || ("+n+" = {});\n")+"var __t, __p = '', __e = _.escape"+(e?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+l+"return __p\n}";var r="\n/*\n//# sourceURL="+(c.sourceURL||"/lodash/template/source["+L++ +"]")+"\n*/";try{var s=yc(h,"return "+l+r).apply(p,i)}catch(t){throw t.source=l,t}return b?s(b):(s.source=l,s)}function mc(a,b,c){a=(a=+a)>-1?a:0;var d=-1,e=uc(a);for(b=ca(b,c,1);++d<a;)e[d]=b(d);return e}function nc(a){return null==a?"":Dc(a).replace(sd,sa)}function oc(a){var b=++s;return Dc(null==a?"":a)+b}function pc(a){return a=new r(a),a.__chain__=!0,a}function qc(a,b){return b(a),a}function rc(){return this.__chain__=!0,this}function sc(){return Dc(this.__wrapped__)}function tc(){return this.__wrapped__}c=c?fa.defaults(aa.Object(),c,fa.pick(aa,J)):aa;var uc=c.Array,vc=c.Boolean,wc=c.Date,xc=c.Error,yc=c.Function,zc=c.Math,Ac=c.Number,Bc=c.Object,Cc=c.RegExp,Dc=c.String,Ec=c.TypeError,Fc=[],Gc=xc.prototype,Hc=Bc.prototype,Ic=Dc.prototype,Jc=c._,Kc=Hc.toString,Lc=Cc("^"+Dc(Kc).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mc=zc.ceil,Nc=c.clearTimeout,Oc=zc.floor,Pc=yc.prototype.toString,Qc=qa(Qc=Bc.getPrototypeOf)&&Qc,Rc=Hc.hasOwnProperty,Sc=Fc.push,Tc=Hc.propertyIsEnumerable,Uc=c.setTimeout,Vc=Fc.splice,Wc=Fc.unshift,Xc=function(){try{var a={},b=qa(b=Bc.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Yc=qa(Yc=Bc.create)&&Yc,Zc=qa(Zc=uc.isArray)&&Zc,$c=c.isFinite,_c=c.isNaN,ad=qa(ad=Bc.keys)&&ad,bd=zc.max,cd=zc.min,dd=c.parseInt,ed=zc.random,fd={};fd[N]=uc,fd[O]=vc,fd[P]=wc,fd[R]=yc,fd[T]=Bc,fd[S]=Ac,fd[U]=Cc,fd[V]=Dc;var gd={};gd[N]=gd[P]=gd[S]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},gd[O]=gd[V]={constructor:!0,toString:!0,valueOf:!0},gd[Q]=gd[R]=gd[U]={constructor:!0,toString:!0},gd[T]={constructor:!0},function(){for(var a=K.length;a--;){var b=K[a];for(var c in gd)Rc.call(gd,c)&&!Rc.call(gd[c],b)&&(gd[c][b]=!1)}}(),r.prototype=q.prototype;var hd=q.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},d=[];a.prototype={valueOf:1,y:1};for(var e in new a)d.push(e);for(e in arguments);hd.argsClass=Kc.call(arguments)==M,hd.argsObject=arguments.constructor==Bc&&!(arguments instanceof uc),hd.enumErrorProps=Tc.call(Gc,"message")||Tc.call(Gc,"name"),hd.enumPrototypes=Tc.call(a,"prototype"),hd.funcDecomp=!qa(c.WinRTError)&&H.test(o),hd.funcNames="string"==typeof yc.name,hd.nonEnumArgs=0!=e,hd.nonEnumShadows=!/valueOf/.test(d),hd.ownLast="x"!=d[0],hd.spliceObjects=(Fc.splice.call(b,0,1),!b[0]),hd.unindexedChars="x"[0]+Bc("x")[0]!="xx";try{hd.nodeClass=!(Kc.call(document)==T&&!({toString:0}+""))}catch(f){hd.nodeClass=!0}}(1),q.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:E,variable:"",imports:{_:q}};var id=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") {  ",hd.unindexedChars&&(b+="\n  if (isString(iterable)) {\n    iterable = iterable.split('')\n  }  "),b+="\n  while (++index < length) {\n    "+a.loop+";\n  }\n}\nelse {  "):hd.nonEnumArgs&&(b+="\n  var length = iterable.length; index = -1;\n  if (length && isArguments(iterable)) {\n    while (++index < length) {\n      index += '';\n      "+a.loop+";\n    }\n  } else {  "),hd.enumPrototypes&&(b+="\n  var skipProto = typeof iterable == 'function';\n  "),hd.enumErrorProps&&(b+="\n  var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n  ");var c=[];if(hd.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),hd.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n  var ownIndex = -1,\n      ownProps = objectTypes[typeof iterable] && keys(iterable),\n      length = ownProps ? ownProps.length : 0;\n\n  while (++ownIndex < length) {\n    index = ownProps[ownIndex];\n",c.length&&(b+="    if ("+c.join(" && ")+") {\n  "),b+=a.loop+";    ",c.length&&(b+="\n    }"),b+="\n  }  ";else if(b+="\n  for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+="    if ("+c.join(" && ")+") {\n  "),b+=a.loop+";    ",c.length&&(b+="\n    }"),b+="\n  }    ",hd.nonEnumShadows){for(b+="\n\n  if (iterable !== objectProto) {\n    var ctor = iterable.constructor,\n        isProto = iterable === (ctor && ctor.prototype),\n        className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n        nonEnum = nonEnumProps[className];\n      ",k=0;k<7;k++)b+="\n    index = '"+a.shadowedProps[k]+"';\n    if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n      "+a.loop+";\n    }      ";b+="\n  }    "}return(a.array||hd.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Yc||(ba=function(){function a(){}return function(b){if(La(b)){a.prototype=b;var d=new a;a.prototype=null}return d||c.Object()}}());var jd=Xc?function(a,b){Y.value=b,Xc(a,"__bindData__",Y),Y.value=null}:hc;hd.argsClass||(ta=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Rc.call(a,"callee")&&!Tc.call(a,"callee")||!1});var kd=Zc||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kc.call(a)==N||!1},ld=na({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),md=ad?function(a){return La(a)?hd.enumPrototypes&&"function"==typeof a||hd.nonEnumArgs&&a.length&&ta(a)?ld(a):ad(a):[]}:ld,nd={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:md,loop:"if (callback(iterable[index], index, collection) === false) return result"},od={args:"object, source, guard",top:"var args = arguments,\n    argsIndex = 0,\n    argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n  iterable = args[argsIndex];\n  if (iterable && objectTypes[typeof iterable]) {",keys:md,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:"  }\n}"},pd={top:"if (!objectTypes[typeof iterable]) return result;\n"+nd.top,array:!1},qd={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},rd=Da(qd),sd=Cc("("+md(rd).join("|")+")","g"),td=Cc("["+md(qd).join("")+"]","g"),ud=na(nd),vd=na(od,{top:od.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n  var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n  callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),wd=na(od),xd=na(nd,pd,{useHas:!1}),yd=na(nd,pd);Ka(/x/)&&(Ka=function(a){return"function"==typeof a&&Kc.call(a)==R});var zd=Qc?function(a){if(!a||Kc.call(a)!=T||!hd.argsClass&&ta(a))return!1;var b=a.valueOf,c=qa(b)&&(c=Qc(b))&&Qc(c);return c?a==c||Qc(a)==c:ra(a)}:ra,Ad=la(function(a,b,c){Rc.call(a,c)?a[c]++:a[c]=1}),Bd=la(function(a,b,c){(Rc.call(a,c)?a[c]:a[c]=[]).push(b)}),Cd=la(function(a,b,c){a[c]=b}),Dd=gb,Ed=ab,Fd=qa(Fd=wc.now)&&Fd||function(){return(new wc).getTime()},Gd=8==dd(x+"08")?dd:function(a,b){return dd(Qa(a)?a.replace(F,""):a,b||0)};return q.after=Ob,q.assign=vd,q.at=Za,q.bind=Pb,q.bindAll=Qb,q.bindKey=Rb,q.chain=pc,q.compact=sb,q.compose=Sb,q.constant=bc,q.countBy=Ad,q.create=wa,q.createCallback=cc,q.curry=Tb,q.debounce=Ub,q.defaults=wd,q.defer=Vb,q.delay=Wb,q.difference=tb,q.filter=ab,q.flatten=xb,q.forEach=db,q.forEachRight=eb,q.forIn=xd,q.forInRight=za,q.forOwn=yd,q.forOwnRight=Aa,q.functions=Ba,q.groupBy=Bd,q.indexBy=Cd,q.initial=zb,q.intersection=Ab,q.invert=Da,q.invoke=fb,q.keys=md,q.map=gb,q.mapValues=Sa,q.max=hb,q.memoize=Xb,q.merge=Ta,q.min=ib,q.omit=Ua,q.once=Yb,q.pairs=Va,q.partial=Zb,q.partialRight=$b,q.pick=Wa,q.pluck=Dd,q.property=ic,q.pull=Db,q.range=Eb,q.reject=lb,q.remove=Fb,q.rest=Gb,q.shuffle=nb,q.sortBy=qb,q.tap=qc,q.throttle=_b,q.times=mc,q.toArray=rb,q.transform=Xa,q.union=Ib,q.uniq=Jb,q.values=Ya,q.where=Ed,q.without=Kb,q.wrap=ac,q.xor=Lb,q.zip=Mb,q.zipObject=Nb,q.collect=gb,q.drop=Gb,q.each=db,q.eachRight=eb,q.extend=vd,q.methods=Ba,q.object=Nb,q.select=ab,q.tail=Gb,q.unique=Jb,q.unzip=Mb,fc(q),q.clone=ua,q.cloneDeep=va,q.contains=$a,q.escape=dc,q.every=_a,q.find=bb,q.findIndex=ub,q.findKey=xa,q.findLast=cb,q.findLastIndex=vb,q.findLastKey=ya,q.has=Ca,q.identity=ec,q.indexOf=yb,q.isArguments=ta,q.isArray=kd,q.isBoolean=Ea,q.isDate=Fa,q.isElement=Ga,q.isEmpty=Ha,q.isEqual=Ia,q.isFinite=Ja,q.isFunction=Ka,q.isNaN=Ma,q.isNull=Na,q.isNumber=Oa,q.isObject=La,q.isPlainObject=zd,q.isRegExp=Pa,q.isString=Qa,q.isUndefined=Ra,q.lastIndexOf=Cb,q.mixin=fc,q.noConflict=gc,q.noop=hc,q.now=Fd,q.parseInt=Gd,q.random=jc,q.reduce=jb,q.reduceRight=kb,q.result=kc,q.runInContext=o,q.size=ob,q.some=pb,q.sortedIndex=Hb,q.template=lc,q.unescape=nc,q.uniqueId=oc,q.all=_a,q.any=pb,q.detect=bb,q.findWhere=bb,q.foldl=jb,q.foldr=kb,q.include=$a,q.inject=jb,fc(function(){var a={};return yd(q,function(b,c){q.prototype[c]||(a[c]=b)}),a}(),!1),q.first=wb,q.last=Bb,q.sample=mb,q.take=wb,q.head=wb,yd(q,function(a,b){var c="sample"!==b;q.prototype[b]||(q.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new r(f,e):f})}),q.VERSION="2.4.2",q.prototype.chain=rc,q.prototype.toString=sc,q.prototype.value=tc,q.prototype.valueOf=tc,ud(["join","pop","shift"],function(a){var b=Fc[a];q.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new r(c,a):c}}),ud(["push","reverse","sort","unshift"],function(a){var b=Fc[a];q.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ud(["concat","slice","splice"],function(a){var b=Fc[a];q.prototype[a]=function(){return new r(b.apply(this.__wrapped__,arguments),this.__chain__)}}),hd.spliceObjects||ud(["pop","shift","splice"],function(a){var b=Fc[a],c="splice"==a;q.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new r(e,a):e}}),q}var p,q=[],r=[],s=0,t={},u=+new Date+"",v=75,w=40,x=" \t\x0B\f \ufeff\n\r\u2028\u2029 ᠎             　",y=/\b__p \+= '';/g,z=/\b(__p \+=) '' \+/g,A=/(__e\(.*?\)|\b__t\)) \+\n'';/g,B=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,C=/\w*$/,D=/^\s*function[ \n\r\t]+\w/,E=/<%=([\s\S]+?)%>/g,F=RegExp("^["+x+"]*0+(?=.$)"),G=/($^)/,H=/\bthis\b/,I=/['\n\r\t\u2028\u2029\\]/g,J=["Array","Boolean","Date","Error","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],K=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],L=0,M="[object Arguments]",N="[object Array]",O="[object Boolean]",P="[object Date]",Q="[object Error]",R="[object Function]",S="[object Number]",T="[object Object]",U="[object RegExp]",V="[object String]",W={};W[R]=!1,W[M]=W[N]=W[O]=W[P]=W[S]=W[T]=W[U]=W[V]=!0;var X={leading:!1,maxWait:0,trailing:!1},Y={configurable:!1,enumerable:!1,value:null,writable:!1},Z={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},$={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},_={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},aa=$[typeof window]&&window||this,ba=$[typeof exports]&&exports&&!exports.nodeType&&exports,ca=$[typeof module]&&module&&!module.nodeType&&module,da=ca&&ca.exports===ba&&ba,ea=$[typeof global]&&global;!ea||ea.global!==ea&&ea.window!==ea||(aa=ea);var fa=o();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(aa._=fa,define(function(){return fa})):ba&&ca?da?(ca.exports=fa)._=fa:ba._=fa:aa._=fa}.call(this);var directiveModule=angular.module("angularjs-dropdown-multiselect",[]);directiveModule.directive("ngDropdownMultiselect",["$filter","$document","$compile","$parse",function(a,b,c,d){return{restrict:"AE",scope:{selectedModel:"=",options:"=",extraSettings:"=",events:"=",searchFilter:"=?",translationTexts:"=",groupBy:"@"},template:function(a,b){var c=!!b.checkboxes,d=!!b.groupBy,e='<div class="multiselect-parent btn-group dropdown-multiselect">';e+='<button type="button" class="dropdown-toggle" ng-class="settings.buttonClasses" ng-click="toggleDropdown()">{{getButtonText()}}&nbsp;<span class="caret"></span></button>',e+="<ul class=\"dropdown-menu dropdown-menu-form\" ng-style=\"{display: open ? 'block' : 'none', height : settings.scrollable ? settings.scrollableHeight : 'auto' }\" style=\"overflow: scroll\" >",e+='<li ng-hide="!settings.showCheckAll || settings.selectionLimit > 0"><a data-ng-click="selectAll()"><span class="glyphicon glyphicon-ok"></span>  {{texts.checkAll}}</a>',e+='<li ng-show="settings.showUncheckAll"><a data-ng-click="deselectAll();"><span class="glyphicon glyphicon-remove"></span>   {{texts.uncheckAll}}</a></li>',e+='<li ng-hide="(!settings.showCheckAll || settings.selectionLimit > 0) && !settings.showUncheckAll" class="divider"></li>',e+='<li ng-show="settings.enableSearch"><div class="dropdown-header"><input type="text" class="form-control" style="width: 100%;" ng-model="searchFilter" placeholder="{{texts.searchPlaceholder}}" /></li>',e+='<li ng-show="settings.enableSearch" class="divider"></li>',d?(e+='<li ng-repeat-start="option in orderedItems | filter: searchFilter" ng-show="getPropertyForObject(option, settings.groupBy) !== getPropertyForObject(orderedItems[$index - 1], settings.groupBy)" role="presentation" class="dropdown-header">{{ getGroupTitle(getPropertyForObject(option, settings.groupBy)) }}</li>',e+='<li ng-repeat-end role="presentation">'):e+='<li role="presentation" ng-repeat="option in options | filter: searchFilter">',e+='<a role="menuitem" tabindex="-1" ng-click="setSelectedItem(getPropertyForObject(option,settings.idProp))">',e+=c?'<div class="checkbox"><label><input class="checkboxInput" type="checkbox" ng-click="checkboxClick($event, getPropertyForObject(option,settings.idProp))" ng-checked="isChecked(getPropertyForObject(option,settings.idProp))" /> {{getPropertyForObject(option, settings.displayProp)}}</label></div></a>':"<span data-ng-class=\"{'glyphicon glyphicon-ok': isChecked(getPropertyForObject(option,settings.idProp))}\"></span> {{getPropertyForObject(option, settings.displayProp)}}</a>",e+="</li>",e+='<li class="divider" ng-show="settings.selectionLimit > 1"></li>',e+='<li role="presentation" ng-show="settings.selectionLimit > 1"><a role="menuitem">{{selectedModel.length}} {{texts.selectionOf}} {{settings.selectionLimit}} {{texts.selectionCount}}</a></li>',e+="</ul>",e+="</div>",a.html(e)},link:function(c,d,e){function f(a){var b={};return""===c.settings.externalIdProp?b[c.settings.idProp]=a:b[c.settings.externalIdProp]=a,b}function g(a){for(var b in a)delete a[b]}var h=d.children()[0];c.toggleDropdown=function(){c.open=!c.open},c.checkboxClick=function(a,b){c.setSelectedItem(b),a.stopImmediatePropagation()},c.externalEvents={onItemSelect:angular.noop,onItemDeselect:angular.noop,onSelectAll:angular.noop,onDeselectAll:angular.noop,onInitDone:angular.noop,onMaxSelectionReached:angular.noop},c.settings={dynamicTitle:!0,scrollable:!1,scrollableHeight:"300px",closeOnBlur:!0,displayProp:"label",idProp:"id",externalIdProp:"id",enableSearch:!1,selectionLimit:0,showCheckAll:!0,showUncheckAll:!0,closeOnSelect:!1,buttonClasses:"btn btn-default",closeOnDeselect:!1,groupBy:e.groupBy||void 0,groupByTextProvider:null,smartButtonMaxItems:0,smartButtonTextConverter:angular.noop},c.texts={checkAll:"Check All",uncheckAll:"Uncheck All",selectionCount:"checked",selectionOf:"/",searchPlaceholder:"Search...",buttonDefaultText:"Select",dynamicButtonTextSuffix:"checked"},c.searchFilter=c.searchFilter||"",angular.isDefined(c.settings.groupBy)&&c.$watch("options",function(b){angular.isDefined(b)&&(c.orderedItems=a("orderBy")(b,c.settings.groupBy))}),angular.extend(c.settings,c.extraSettings||[]),angular.extend(c.externalEvents,c.events||[]),angular.extend(c.texts,c.translationTexts),c.singleSelection=1===c.settings.selectionLimit,c.singleSelection&&angular.isArray(c.selectedModel)&&0===c.selectedModel.length&&g(c.selectedModel),c.settings.closeOnBlur&&b.on("click",function(a){for(var b=a.target.parentElement,d=!1;angular.isDefined(b)&&null!==b&&!d;)_.contains(b.className.split(" "),"multiselect-parent")&&!d&&b===h&&(d=!0),b=b.parentElement;d||c.$apply(function(){c.open=!1})}),c.getGroupTitle=function(a){return null!==c.settings.groupByTextProvider?c.settings.groupByTextProvider(a):a},c.getButtonText=function(){if(c.settings.dynamicTitle&&(c.selectedModel.length>0||angular.isObject(c.selectedModel)&&_.keys(c.selectedModel).length>0)){if(c.settings.smartButtonMaxItems>0){var a=[];return angular.forEach(c.options,function(b){if(c.isChecked(c.getPropertyForObject(b,c.settings.idProp))){var d=c.getPropertyForObject(b,c.settings.displayProp),e=c.settings.smartButtonTextConverter(d,b);a.push(e?e:d)}}),c.selectedModel.length>c.settings.smartButtonMaxItems&&(a=a.slice(0,c.settings.smartButtonMaxItems),a.push("...")),a.join(", ")}var b;return b=c.singleSelection?null!==c.selectedModel&&angular.isDefined(c.selectedModel[c.settings.idProp])?1:0:angular.isDefined(c.selectedModel)?c.selectedModel.length:0,0===b?c.texts.buttonDefaultText:b+" "+c.texts.dynamicButtonTextSuffix}return c.texts.buttonDefaultText},c.getPropertyForObject=function(a,b){return angular.isDefined(a)&&a.hasOwnProperty(b)?a[b]:""},c.selectAll=function(){c.deselectAll(!1),c.externalEvents.onSelectAll(),angular.forEach(c.options,function(a){c.setSelectedItem(a[c.settings.idProp],!0)})},c.deselectAll=function(a){a=a||!0,a&&c.externalEvents.onDeselectAll(),c.singleSelection?g(c.selectedModel):c.selectedModel.splice(0,c.selectedModel.length)},c.setSelectedItem=function(a,b){var d=f(a),e=null;if(e=""===c.settings.externalIdProp?_.find(c.options,d):d,c.singleSelection)return g(c.selectedModel),angular.extend(c.selectedModel,e),void c.externalEvents.onItemSelect(e);b=b||!1;var h=_.findIndex(c.selectedModel,d)!==-1;!b&&h?(c.selectedModel.splice(_.findIndex(c.selectedModel,d),1),c.externalEvents.onItemDeselect(d)):!h&&(0===c.settings.selectionLimit||c.selectedModel.length<c.settings.selectionLimit)&&(c.selectedModel.push(e),c.externalEvents.onItemSelect(e))},c.isChecked=function(a){return c.singleSelection?null!==c.selectedModel&&angular.isDefined(c.selectedModel[c.settings.idProp])&&c.selectedModel[c.settings.idProp]===f(a)[c.settings.idProp]:_.findIndex(c.selectedModel,f(a))!==-1},c.externalEvents.onInitDone()}}}]),function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(jQuery){"use strict";function keyHandler(a){if("string"==typeof a.data&&(a.data={keys:a.data}),a.data&&a.data.keys&&"string"==typeof a.data.keys){var b=a.handler,c=a.data.keys.toLowerCase().split(" ");a.handler=function(a){if(this===a.target||!($.hotkeys.options.filterInputAcceptingElements&&$.hotkeys.textInputTypes.test(a.target.nodeName)||$.hotkeys.options.filterContentEditable&&$(a.target).attr("contenteditable")||$.hotkeys.options.filterTextInputs&&$.inArray(a.target.type,$.hotkeys.textAcceptingInputTypes)>-1)){var d="keypress"!==a.type&&$.hotkeys.specialKeys[a.which],e=String.fromCharCode(a.which).toLowerCase(),f="",g={};$.each(["alt","ctrl","shift"],function(b,c){a[c+"Key"]&&d!==c&&(f+=c+"+")}),a.metaKey&&!a.ctrlKey&&"meta"!==d&&(f+="meta+"),a.metaKey&&"meta"!==d&&f.indexOf("alt+ctrl+shift+")>-1&&(f=f.replace("alt+ctrl+shift+","hyper+")),d?g[f+d]=!0:(g[f+e]=!0,g[f+$.hotkeys.shiftNums[e]]=!0,"shift+"===f&&(g[$.hotkeys.shiftNums[e]]=!0));for(var h=0,i=c.length;h<i;h++)if(g[c[h]])return b.apply(this,arguments)}}}}function handler(a){var b,c=a||window.event,d=[].slice.call(arguments,1),e=0,f=0,g=0,h=0,i=0;return a=$.event.fix(c),a.type="mousewheel",
+c.wheelDelta&&(e=c.wheelDelta),c.detail&&(e=c.detail*-1),c.deltaY&&(g=c.deltaY*-1,e=g),c.deltaX&&(f=c.deltaX,e=f*-1),void 0!==c.wheelDeltaY&&(g=c.wheelDeltaY),void 0!==c.wheelDeltaX&&(f=c.wheelDeltaX*-1),h=Math.abs(e),(!lowestDelta||h<lowestDelta)&&(lowestDelta=h),i=Math.max(Math.abs(g),Math.abs(f)),(!lowestDeltaXY||i<lowestDeltaXY)&&(lowestDeltaXY=i),b=e>0?"floor":"ceil",e=Math[b](e/lowestDelta),f=Math[b](f/lowestDeltaXY),g=Math[b](g/lowestDeltaXY),d.unshift(a,e,f,g),($.event.dispatch||$.event.handle).apply(this,d)}function preCode(a){var b=Array.prototype.slice.call(document.querySelectorAll(a),0);b.forEach(function(a,b,c){var d=a.textContent.replace(/^[\r\n]+/,"").replace(/\s+$/g,"");if(/^\S/gm.test(d))return void(a.textContent=d);for(var e,f,g,h=/^[\t ]+/gm,i=1e3;e=h.exec(d);)g=e[0].length,g<i&&(i=g,f=e[0]);1e3!=i&&(a.textContent=d.replace(new RegExp("^"+f,"gm"),""))})}function touch2Mouse(a){var b,c=a.changedTouches[0];switch(a.type){case"touchstart":b="mousedown";break;case"touchend":b="mouseup";break;case"touchmove":b="mousemove";break;default:return}"mousedown"==b&&(eventTimer=(new Date).getTime(),startX=c.clientX,startY=c.clientY,mouseDown=!0),"mouseup"==b&&((new Date).getTime()-eventTimer<=500?b="click":(new Date).getTime()-eventTimer>1e3&&(b="longclick"),eventTimer=0,mouseDown=!1),"mousemove"==b&&mouseDown&&(deltaX=c.clientX-startX,deltaY=c.clientY-startY,moveDirection=deltaX>deltaY?"horizontal":"vertical");var d=document.createEvent("MouseEvent");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),c.target.dispatchEvent(d),a.preventDefault()}var $=jQuery;if(window.METRO_VERSION="3.0.15","undefined"==typeof jQuery)throw new Error("Metro's JavaScript requires jQuery");void 0===window.METRO_AUTO_REINIT&&(window.METRO_AUTO_REINIT=!0),void 0===window.METRO_LANGUAGE&&(window.METRO_LANGUAGE="en"),void 0===window.METRO_LOCALE&&(window.METRO_LOCALE="EN_en"),void 0===window.METRO_CURRENT_LOCALE&&(window.METRO_CURRENT_LOCALE="en"),void 0===window.METRO_SHOW_TYPE&&(window.METRO_SHOW_TYPE="slide"),void 0===window.METRO_DEBUG&&(window.METRO_DEBUG=!0),void 0===window.METRO_CALENDAR_WEEK_START&&(window.METRO_CALENDAR_WEEK_START=0),window.canObserveMutation="MutationObserver"in window,Number.prototype.format=function(a,b,c,d){var e="\\d(?=(\\d{"+(b||3)+"})+"+(a>0?"\\D":"$")+")",f=this.toFixed(Math.max(0,~~a));return(d?f.replace(".",d):f).replace(new RegExp(e,"g"),"$&"+(c||","))},String.prototype.isUrl=function(){var a=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;return a.test(this)},String.prototype.isColor=function(){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(this)},window.secondsToFormattedString=function(a){var b,c,d;return b=parseInt(a/3600)%24,c=parseInt(a/60)%60,d=a%60,(b?b+":":"")+(c<10?"0"+c:c)+":"+(d<10?"0"+d:d)},Array.prototype.shuffle=function(){for(var a,b,c=this.length;0!==c;)b=Math.floor(Math.random()*c),c-=1,a=this[c],this[c]=this[b],this[b]=a;return this},Array.prototype.clone=function(){return this.slice(0)},Array.prototype.unique=function(){for(var a=this.concat(),b=0;b<a.length;++b)for(var c=b+1;c<a.length;++c)a[b]===a[c]&&a.splice(c--,1);return a},window.uniqueId=function(a){var b=(new Date).getTime(),c="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var c=(b+16*Math.random())%16|0;return b=Math.floor(b/16),("x"==a?c:3&c|8).toString(16)});return c},window.isTouchDevice=function(){return"ontouchstart"in window||navigator.MaxTouchPoints>0||navigator.msMaxTouchPoints>0},window.METRO_LOCALES={en:{months:["January","February","March","April","May","June","July","August","September","October","November","December","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Su","Mo","Tu","We","Th","Fr","Sa"],buttons:["Today","Clear","Cancel","Help","Prior","Next","Finish"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre","Jan","Fév","Mars","Avr","Mai","Juin","Juil","Août","Sept","Oct","Nov","Déc"],days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Di","Lu","Ma","Me","Je","Ve","Sa"],buttons:["Aujourd'hui","Effacer","Annuler","Aide","Précedent","Suivant","Fin"]},nl:{months:["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December","Jan","Feb","Mrt","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],days:["Zondag","Maandag","Dinsdag","Woensdag","Donderdag","Vrijdag","Zaterdag","Zo","Ma","Di","Wo","Do","Vr","Za"],buttons:["Vandaag","Verwijderen","Annuleren","Hulp","Vorige","Volgende","Einde"]},ua:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень","Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],days:["Неділя","Понеділок","Вівторок","Середа","Четвер","П’ятниця","Субота","Нд","Пн","Вт","Ср","Чт","Пт","Сб"],buttons:["Сьогодні","Очистити","Скасувати","Допомога","Назад","Вперед","Готово"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь","Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Вс","Пн","Вт","Ср","Чт","Пт","Сб"],buttons:["Сегодня","Очистить","Отменить","Помощь","Назад","Вперед","Готово"]},zhCN:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月","一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六","日","一","二","三","四","五","六"],buttons:["今日","清除","Cancel","Help","Prior","Next","Finish"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre","Gen"," Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato","Dom","Lun","Mar","Mer","Gio","Ven","Sab"],buttons:["Oggi","Cancella","Cancel","Help","Prior","Next","Finish"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember","Jan","Feb","Mrz","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","So","Mo","Di","Mi","Do","Fr","Sa"],buttons:["Heute","Zurücksetzen","Abbrechen","Hilfe","Früher","Später","Fertig"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre","Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sept","Oct","Nov","Dic"],days:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","Do","Lu","Mar","Mié","Jue","Vi","Sáb"],buttons:["Hoy","Limpiar","Cancel","Help","Prior","Next","Finish"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro","Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],days:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sabado","Dom","Seg","Ter","Qua","Qui","Sex","Sab"],buttons:["Hoje","Limpar","Cancelar","Ajuda","Anterior","Seguinte","Terminar"]},pl:{months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień","Sty","Lut","Mar","Kwi","Maj","Cze","Lip","Sie","Wrz","Paź","Lis","Gru"],days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota","Nd","Pon","Wt","Śr","Czw","Pt","Sob"],buttons:["Dzisiaj","Wyczyść","Anuluj","Pomoc","Poprzedni","Następny","Koniec"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec","Led","Ún","Bř","Dub","Kvě","Če","Čer","Srp","Zá","Ří","Li","Pro"],days:["Neděle","Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota","Ne","Po","Út","St","Čt","Pá","So"],buttons:["Dnes","Vyčistit","Zrušit","Pomoc","Předešlý","Další","Dokončit"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม","ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],days:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์","อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],buttons:["วันนี้","ล้าง","ยกเลิก","ช่วยเหลือ","กลับ","ต่อไป","เสร็จ"]}};var dateFormat=function(){var a=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,b=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,c=/[^-+\dA-Z]/g,d=function(a,b){for(a=String(a),b=b||2;a.length<b;)a="0"+a;return a};return function(e,f,g){var h=dateFormat;1!==arguments.length||"[object String]"!==Object.prototype.toString.call(e)||/\d/.test(e)||(f=e,e=void 0),e=e?new Date(e):new Date,f=String(h.masks[f]||f||h.masks["default"]),"UTC:"===f.slice(0,4)&&(f=f.slice(4),g=!0);var i=window.METRO_CURRENT_LOCALE||"en",j=g?"getUTC":"get",k=e[j+"Date"](),l=e[j+"Day"](),m=e[j+"Month"](),n=e[j+"FullYear"](),o=e[j+"Hours"](),p=e[j+"Minutes"](),q=e[j+"Seconds"](),r=e[j+"Milliseconds"](),s=g?0:e.getTimezoneOffset(),t={d:k,dd:d(k),ddd:window.METRO_LOCALES[i].days[l],dddd:window.METRO_LOCALES[i].days[l+7],m:m+1,mm:d(m+1),mmm:window.METRO_LOCALES[i].months[m],mmmm:window.METRO_LOCALES[i].months[m+12],yy:String(n).slice(2),yyyy:n,h:o%12||12,hh:d(o%12||12),H:o,HH:d(o),M:p,MM:d(p),s:q,ss:d(q),l:d(r,3),L:d(r>99?Math.round(r/10):r),t:o<12?"a":"p",tt:o<12?"am":"pm",T:o<12?"A":"P",TT:o<12?"AM":"PM",Z:g?"UTC":(String(e).match(b)||[""]).pop().replace(c,""),o:(s>0?"-":"+")+d(100*Math.floor(Math.abs(s)/60)+Math.abs(s)%60,4),S:["th","st","nd","rd"][k%10>3?0:(k%100-k%10!==10)*k%10]};return f.replace(a,function(a){return a in t?t[a]:a.slice(1,a.length-1)})}}();dateFormat.masks={"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"},Date.prototype.format=function(a,b){return dateFormat(this,a,b)};var widget_uuid=0,widget_slice=Array.prototype.slice;$.cleanData=function(a){return function(b){var c,d,e;for(e=0;null!=(d=b[e]);e++)try{c=$._data(d,"events"),c&&c.remove&&$(d).triggerHandler("remove")}catch(f){}a(b)}}($.cleanData),$.widget=function(a,b,c){var d,e,f,g,h={},i=a.split(".")[0];return a=a.split(".")[1],d=i+"-"+a,c||(c=b,b=$.Widget),$.expr[":"][d.toLowerCase()]=function(a){return!!$.data(a,d)},$[i]=$[i]||{},e=$[i][a],f=$[i][a]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new f(a,b)},$.extend(f,e,{version:c.version,_proto:$.extend({},c),_childConstructors:[]}),g=new b,g.options=$.widget.extend({},g.options),$.each(c,function(a,c){return $.isFunction(c)?void(h[a]=function(){var d=function(){return b.prototype[a].apply(this,arguments)},e=function(c){return b.prototype[a].apply(this,c)};return function(){var a,b=this._super,f=this._superApply;return this._super=d,this._superApply=e,a=c.apply(this,arguments),this._super=b,this._superApply=f,a}}()):void(h[a]=c)}),f.prototype=$.widget.extend(g,{widgetEventPrefix:e?g.widgetEventPrefix||a:a},h,{constructor:f,namespace:i,widgetName:a,widgetFullName:d}),e?($.each(e._childConstructors,function(a,b){var c=b.prototype;$.widget(c.namespace+"."+c.widgetName,f,b._proto)}),delete e._childConstructors):b._childConstructors.push(f),$.widget.bridge(a,f),f},$.widget.extend=function(a){for(var b,c,d=widget_slice.call(arguments,1),e=0,f=d.length;e<f;e++)for(b in d[e])c=d[e][b],d[e].hasOwnProperty(b)&&void 0!==c&&($.isPlainObject(c)?a[b]=$.isPlainObject(a[b])?$.widget.extend({},a[b],c):$.widget.extend({},c):a[b]=c);return a},$.widget.bridge=function(a,b){var c=b.prototype.widgetFullName||a;$.fn[a]=function(d){var e="string"==typeof d,f=widget_slice.call(arguments,1),g=this;return e?this.each(function(){var b,e=$.data(this,c);return"instance"===d?(g=e,!1):e?$.isFunction(e[d])&&"_"!==d.charAt(0)?(b=e[d].apply(e,f),b!==e&&void 0!==b?(g=b&&b.jquery?g.pushStack(b.get()):b,!1):void 0):$.error("no such method '"+d+"' for "+a+" widget instance"):$.error("cannot call methods on "+a+" prior to initialization; attempted to call method '"+d+"'")}):(f.length&&(d=$.widget.extend.apply(null,[d].concat(f))),this.each(function(){var a=$.data(this,c);a?(a.option(d||{}),a._init&&a._init()):$.data(this,c,new b(d,this))})),g}},$.Widget=function(){},$.Widget._childConstructors=[],$.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(a,b){b=$(b||this.defaultElement||this)[0],this.element=$(b),this.uuid=widget_uuid++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=$(),this.hoverable=$(),this.focusable=$(),b!==this&&($.data(b,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===b&&this.destroy()}}),this.document=$(b.style?b.ownerDocument:b.document||b),this.window=$(this.document[0].defaultView||this.document[0].parentWindow)),this.options=$.widget.extend({},this.options,this._getCreateOptions(),a),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:$.noop,_getCreateEventData:$.noop,_create:$.noop,_init:$.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData($.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:$.noop,widget:function(){return this.element},option:function(a,b){var c,d,e,f=a;if(0===arguments.length)return $.widget.extend({},this.options);if("string"==typeof a)if(f={},c=a.split("."),a=c.shift(),c.length){for(d=f[a]=$.widget.extend({},this.options[a]),e=0;e<c.length-1;e++)d[c[e]]=d[c[e]]||{},d=d[c[e]];if(a=c.pop(),1===arguments.length)return void 0===d[a]?null:d[a];d[a]=b}else{if(1===arguments.length)return void 0===this.options[a]?null:this.options[a];f[a]=b}return this._setOptions(f),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!b),b&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(a,b,c){var d,e=this;"boolean"!=typeof a&&(c=b,b=a,a=!1),c?(b=d=$(b),this.bindings=this.bindings.add(b)):(c=b,b=this.element,d=this.widget()),$.each(c,function(c,f){function g(){if(a||e.options.disabled!==!0&&!$(this).hasClass("ui-state-disabled"))return("string"==typeof f?e[f]:f).apply(e,arguments)}"string"!=typeof f&&(g.guid=f.guid=f.guid||g.guid||$.guid++);var h=c.match(/^([\w:-]*)\s*(.*)$/),i=h[1]+e.eventNamespace,j=h[2];j?d.delegate(j,i,g):b.bind(i,g)})},_off:function(a,b){b=(b||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,a.unbind(b).undelegate(b),this.bindings=$(this.bindings.not(a).get()),this.focusable=$(this.focusable.not(a).get()),this.hoverable=$(this.hoverable.not(a).get())},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(a){this.hoverable=this.hoverable.add(a),this._on(a,{mouseenter:function(a){$(a.currentTarget).addClass("ui-state-hover")},mouseleave:function(a){$(a.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(a){this.focusable=this.focusable.add(a),this._on(a,{focusin:function(a){$(a.currentTarget).addClass("ui-state-focus")},focusout:function(a){$(a.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(a,b,c){var d,e,f=this.options[a];if(c=c||{},b=$.Event(b),b.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase(),b.target=this.element[0],e=b.originalEvent)for(d in e)d in b||(b[d]=e[d]);return this.element.trigger(b,c),!($.isFunction(f)&&f.apply(this.element[0],[b].concat(c))===!1||b.isDefaultPrevented())}},$.each({show:"fadeIn",hide:"fadeOut"},function(a,b){$.Widget.prototype["_"+a]=function(c,d,e){"string"==typeof d&&(d={effect:d});var f,g=d?d===!0||"number"==typeof d?b:d.effect||b:a;d=d||{},"number"==typeof d&&(d={duration:d}),f=!$.isEmptyObject(d),d.complete=e,d.delay&&c.delay(d.delay),f&&$.effects&&$.effects.effect[g]?c[a](d):g!==a&&c[g]?c[g](d.duration,d.easing,e):c.queue(function(b){$(this)[a](),e&&e.call(c[0]),b()})}});var widget=$.widget;$.fn.reverse=Array.prototype.reverse,$.Metro={initWidgets:function(a){$.each(a,function(){var a=$(this),b=a.data("role").split(/\s*,\s*/);b.map(function(b){try{void 0!==$.fn[b]&&a.data(b+"-initiated")!==!0&&($.fn[b].call(a),a.data(b+"-initiated",!0))}catch(c){window.METRO_DEBUG&&console.log(c.message,c.stack)}})})},initHotkeys:function(a){$.each(a,function(){var a=$(this),b=a.data("hotkey").toLowerCase();a.data("hotKeyBonded")!==!0&&($.Metro.hotkeys.push(b),$(document).on("keyup",null,b,function(b){if(void 0!==a)return"A"===a[0].tagName&&void 0!==a.attr("href")&&""!==a.attr("href").trim()&&"#"!==a.attr("href").trim()?document.location.href=a.attr("href"):a.click(),!1}),a.data("hotKeyBonded",!0))})},init:function(){var a=$("[data-role]"),b=$("[data-hotkey]");$.Metro.initHotkeys(b),$.Metro.initWidgets(a);var c,d,e;d={childList:!0,subtree:!0},e=function(a){a.map(function(a){if(a.addedNodes)for(var b,c,d,e,f=0,g=a.addedNodes.length;f<g;f++)b=$(a.addedNodes[f]),d=b.find("[data-role]"),e=b.find("[data-hotkey]"),$.Metro.initHotkeys(e),c=void 0!==b.data("role")?$.merge(d,b):d,c.length&&$.Metro.initWidgets(c)})},c=new MutationObserver(e),c.observe(document,d)}},$.easing.jswing=$.easing.swing,$.extend($.easing,{def:"easeOutQuad",swing:function(a,b,c,d,e){return $.easing[$.easing.def](a,b,c,d,e)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b+c:-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b+c:d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b+c:-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){return(b/=e/2)<1?d/2*b*b*b*b*b+c:d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return 0==b?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){return 0==b?c:b==e?c+d:(b/=e/2)<1?d/2*Math.pow(2,10*(b-1))+c:d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){return(b/=e/2)<1?-d/2*(Math.sqrt(1-b*b)-1)+c:d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;return 0==b?c:1==(b/=e)?c+d:(g||(g=.3*e),h<Math.abs(d)?(h=d,f=g/4):f=g/(2*Math.PI)*Math.asin(d/h),-(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*(2*Math.PI)/g))+c)},easeOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;return 0==b?c:1==(b/=e)?c+d:(g||(g=.3*e),h<Math.abs(d)?(h=d,f=g/4):f=g/(2*Math.PI)*Math.asin(d/h),h*Math.pow(2,-10*b)*Math.sin((b*e-f)*(2*Math.PI)/g)+d+c)},easeInOutElastic:function(a,b,c,d,e){var f=1.70158,g=0,h=d;return 0==b?c:2==(b/=e/2)?c+d:(g||(g=e*(.3*1.5)),h<Math.abs(d)?(h=d,f=g/4):f=g/(2*Math.PI)*Math.asin(d/h),b<1?-.5*(h*Math.pow(2,10*(b-=1))*Math.sin((b*e-f)*(2*Math.PI)/g))+c:h*Math.pow(2,-10*(b-=1))*Math.sin((b*e-f)*(2*Math.PI)/g)*.5+d+c)},easeInBack:function(a,b,c,d,e,f){return void 0==f&&(f=1.70158),d*(b/=e)*b*((f+1)*b-f)+c},easeOutBack:function(a,b,c,d,e,f){return void 0==f&&(f=1.70158),d*((b=b/e-1)*b*((f+1)*b+f)+1)+c},easeInOutBack:function(a,b,c,d,e,f){return void 0==f&&(f=1.70158),(b/=e/2)<1?d/2*(b*b*(((f*=1.525)+1)*b-f))+c:d/2*((b-=2)*b*(((f*=1.525)+1)*b+f)+2)+c},easeInBounce:function(a,b,c,d,e){return d-$.easing.easeOutBounce(a,e-b,0,d,e)+c},easeOutBounce:function(a,b,c,d,e){return(b/=e)<1/2.75?d*(7.5625*b*b)+c:b<2/2.75?d*(7.5625*(b-=1.5/2.75)*b+.75)+c:b<2.5/2.75?d*(7.5625*(b-=2.25/2.75)*b+.9375)+c:d*(7.5625*(b-=2.625/2.75)*b+.984375)+c},easeInOutBounce:function(a,b,c,d,e){return b<e/2?.5*$.easing.easeInBounce(a,2*b,0,d,e)+c:.5*$.easing.easeOutBounce(a,2*b-e,0,d,e)+.5*d+c}}),$.hotkeys={version:"0.8",specialKeys:{8:"backspace",9:"tab",10:"return",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",59:";",61:"=",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},shiftNums:{"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":": ","'":'"',",":"<",".":">","/":"?","\\":"|"},textAcceptingInputTypes:["text","password","number","email","url","range","date","month","week","time","datetime","datetime-local","search","color","tel"],textInputTypes:/textarea|input|select/i,options:{filterInputAcceptingElements:!0,filterTextInputs:!0,filterContentEditable:!0}},$.each(["keydown","keyup","keypress"],function(){$.event.special[this]={add:keyHandler}});var toFix=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],toBind="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],lowestDelta,lowestDeltaXY;if($.event.fixHooks)for(var i=toFix.length;i;)$.event.fixHooks[toFix[--i]]=$.event.mouseHooks;$.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=toBind.length;a;)this.addEventListener(toBind[--a],handler,!1);else this.onmousewheel=handler},teardown:function(){if(this.removeEventListener)for(var a=toBind.length;a;)this.removeEventListener(toBind[--a],handler,!1);else this.onmousewheel=null}},$.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}}),document.addEventListener("DOMContentLoaded",function(){preCode("pre code, textarea")},!1);var hasTouch="ontouchend"in window,eventTimer,moveDirection="undefined",startX,startY,deltaX,deltaY,mouseDown=!1,addTouchEvents=function(a){hasTouch&&(a.addEventListener("touchstart",touch2Mouse,!0),a.addEventListener("touchmove",touch2Mouse,!0),a.addEventListener("touchend",touch2Mouse,!0))};$.widget("metro.accordion",{version:"3.0.0",options:{closeAny:!1,speed:"fast",onFrameOpen:function(a){return!0},onFrameOpened:function(a){},onFrameClose:function(a){return!0},onFrameClosed:function(a){}},init:function(){var a=this,b=this.element;b.on("click",".heading",function(b){var c=$(this).parent();return!c.hasClass("disabled")&&(c.hasClass("active")?a._closeFrame(c):a._openFrame(c),b.preventDefault(),void b.stopPropagation())})},_closeAllFrames:function(){var a=this,b=this.element.children(".frame.active");$.each(b,function(){a._closeFrame($(this))})},_openFrame:function(frame){var o=this.options,content=frame.children(".content"),result;if("function"==typeof o.onFrameOpen){if(!o.onFrameOpen(frame))return!1}else if("function"==typeof window[o.onFrameOpen]){if(!window[o.onFrameOpen](frame))return!1}else if(result=eval("(function(){"+o.onFrameOpen+"})"),!result.call(frame))return!1;o.closeAny&&this._closeAllFrames(),content.slideDown(o.speed),frame.addClass("active"),"function"==typeof o.onFrameOpened?o.onFrameOpened(frame):"function"==typeof window[o.onFrameOpened]?window[o.onFrameOpened](frame):(result=eval("(function(){"+o.onFrameOpened+"})"),result.call(frame))},_closeFrame:function(frame){var o=this.options,content=frame.children(".content"),result;if("function"==typeof o.onFrameClose){if(!o.onFrameClose(frame))return!1}else if("function"==typeof window[o.onFrameClose]){if(!window[o.onFrameClose](frame))return!1}else if(result=eval("(function(){"+o.onFrameClose+"})"),!result.call(frame))return!1;content.slideUp(o.speed,function(){frame.removeClass("active")}),"function"==typeof o.onFrameClosed?o.onFrameClosed(frame):"function"==typeof window[o.onFrameClosed]?window[o.onFrameClosed](frame):(result=eval("(function(){"+o.onFrameClosed+"})"),result.call(frame))},_create:function(){var a=this,b=this.options,c=this.element;$.each(this.element.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),a.init(),c.data("accordion",this)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.appbar",{version:"3.0.0",options:{flexstyle:"app-bar-menu",flexclean:!1,flextolerance:3},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),this._initBar(),a.data("appbar",this)},_calculateFreeSpace:function(){var a,b,c=this,d=(this.element,this.options,0),e=0;d=$(c.menusParent).width(),a=$(c.menusParent).children(":visible").not(".app-bar-pullmenu");for(var f,g=[],h=[],i=[],j=0,k=a.length;j<k;j++)switch(f=$(a[j]).css("float")){case"left":g.push(a[j]);break;case"right":h.push(a[j]);break;default:i.push(a[j])}h.reverse(),a=new Array,a=g.concat(i,h),a=$(a),e+=parseInt($(a).first().css("margin-left"));for(var j=0,k=a.length-1;j<=k;j++)e+=$(a[j]).outerWidth(),j!==k&&(e+=Math.max(parseInt($(a[j]).css("margin-right")),parseInt($(a[j+1]).css("margin-left"))));return e+=parseInt($(a[k]).css("margin-right")),b=d-e,c.freeSpace=b,c.childrenWidth=e,c.menusParentWidth=d,b},_originIndexMove:function(a,b){var c=$(a).children().filter(function(){return parseInt($(this).attr("data-flexorderorigin"))<parseInt($(b).attr("data-flexorderorigin"))});c.length>0?$(c).last().after(b):(c=$(a).children().filter(function(){return parseInt($(this).attr("data-flexorderorigin"))>parseInt($(b).attr("data-flexorderorigin"))}),c.length>0?$(c).first().before(b):$(a).append(b))},_moveMenuEntry:function(a){var b=this;this.element,this.options;if(a=a||"toPullMenu","toPullMenu"===a){var c=$(b.allMenuEntries).not(".app-bar-pullmenu-entry").last();if(0===c.length)return!1;var d=$(c).parent(),e=$(b.flexVisibles).index($(c).parent()),f=$(b.pullMenu).find(".app-bar-pullmenubar").eq(e);return b._originIndexMove(f,c),$(c).addClass("app-bar-pullmenu-entry"),$(f).removeClass("hidden").show(),0===$(d).children().length&&$(d).addClass("hidden"),$(b.pullButton).show(),c}if("fromPullMenu"===a){var g=$(b.allMenuEntries).filter(".app-bar-pullmenu-entry").first(),f=$(g).parent(),e=$(f).index(),d=$(b.flexVisibles).eq(e);return $(d).removeClass("hidden"),$(g).removeClass("app-bar-pullmenu-entry"),b._originIndexMove(d,g),0===$(f).children().length&&$(f).addClass("hidden").hide(),0===$(b.pullMenu).children(".app-bar-pullmenubar").not(".hidden").length&&($(b.pullMenu).hide().addClass("hidden"),$(b.pullButton).hide()),0!==g.length&&g}},_checkMenuEntries:function(){for(var a=this,b=(this.element,this.options),c=!1,d=0,e=a.allMenuEntries.length;d<e;d++){a._calculateFreeSpace();var f=a.freeSpace;if(!(f<b.flextolerance||b.flexclean)){if(a._moveMenuEntry("fromPullMenu")){c=!0;continue}break}if(!a._moveMenuEntry("toPullMenu"))break;if(c)break}},resize:function(){var a=this;this.element,this.options;a.initiatedAsFlex&&this._checkMenuEntries()},_initBar:function(){var a=this,b=this.element,c=this.options;a.lastFlexAction=void 0,a.pullButton=$(b).find(".app-bar-pullbutton");var d=$(b).find(".app-bar-menu");a.initiatedAsFlex=!1,c.flexclean=$(b).is("[data-flexclean='true']")||c.flexclean,c.flexstyle=$(b).attr("data-flexstyle")||c.flexstyle;var e,f;a.flexVisibles=$(),a.allMenuEntries=$(),a.menusParent=$(),a.pullMenu=$(),d.length>0&&$(b).is(":not('.no-flexible')")&&(a.flexVisibles=$(d).not(".no-flexible"),a.flexVisibles.length>0&&(a.initiatedAsFlex=!0,a.flexVisibles.sort(function(a,b){var c=parseInt($(a).data("flexorder"))||$(a).index()+1,d=parseInt($(b).data("flexorder"))||$(b).index()+1;return c-d}),$(a.flexVisibles).each(function(){e=this,f=$(e).children(),$(f).each(function(){$(this).attr("data-flexorderorigin",$(this).index()),$(this).is("[data-flexorder]")||$(this).attr("data-flexorder",$(this).index()+1)}),f.sort(function(a,b){var c=parseInt($(a).data("flexorder")),d=parseInt($(b).data("flexorder"));return c-d}),$(e).is("[data-flexdirection='reverse']")&&f.reverse(),$.merge(a.allMenuEntries,$(f).not(".no-flexible"))}),a.menusParent=$(b).find(".app-bar-menu").first().parent(),a.pullButton.length>0||(a.pullButton=$('<div class="app-bar-pullbutton automatic"></div>'),$(a.menusParent).append(a.pullButton)),a.pullMenu=$('<nav class="app-bar-pullmenu hidden" />'),a.flexVisibles.each(function(){$(a.pullMenu).append($('<ul class="app-bar-pullmenubar hidden '+c.flexstyle+'" />'))}),$(a.menusParent).append($('<div class="clearfix" style="width: 0;">')),$(a.pullMenu).addClass("flexstyle-"+c.flexstyle),$(a.menusParent).append(a.pullMenu),a._checkMenuEntries(),$(a.pullButton).on("click",function(){a=$(this).closest("[data-role=appbar]").data("appbar"),$(a.pullMenu).is(":hidden")?($(a.pullMenu).show(),$(a.pullMenu).find(".app-bar-pullmenubar").hide().not(".hidden").slideDown("fast")):$(a.pullMenu).find(".app-bar-pullmenubar").not(".hidden").show().slideUp("fast",function(){$(a.pullMenu).hide()})}),$(window).resize(function(){$("[data-role=appbar]:not(.no-flexible)").each(function(){$(this).data("appbar").resize()})}),$(window).load(function(){$("[data-role=appbar]:not(.no-flexible)").each(function(){$(this).data("appbar").resize()})}),$("[data-role=appbar]:not(.no-flexible) [src]").on("load",function(){var a=$(this).closest("[data-role=appbar]").data("appbar");a.resize()})))},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.audio",{version:"3.0.14",options:{src:!1,volume:.5,muted:!1,loop:!1,preload:!1,autoplay:!1,playList:!1,mode:"full",loopButton:"<span class='mif-loop'></span>",stopButton:"<span class='mif-stop'></span>",playButton:"<span class='mif-play'></span>",pauseButton:"<span class='mif-pause'></span>",muteButton:"<span class='mif-volume-mute2'></span>",shuffleButton:"<span class='mif-shuffle'></span>",nextButton:"<span class='mif-forward'></span>",prevButton:"<span class='mif-backward'></span>",randomButton:"<span class='mif-dice'></span>",playListButton:"<span class='mif-list2'></span>",volumeLowButton:"<span class='mif-volume-low'></span>",volumeMediumButton:"<span class='mif-volume-medium'></span>",volumeHighButton:"<span class='mif-volume-high'></span>"},_create:function(){var a=this.element;this.options;this._setOptionsFromDOM(),this._createPlayer(),this._addControls(),this._addEvents(),this._addPlayList(),this._setControlsVisibility(),a.data("audio",this)},_setControlsVisibility:function(){var a=this.element;
+this.options;0==a.find(".play-list").length&&(a.find(".controls .plist").hide(),a.find(".controls .next").hide(),a.find(".controls .prev").hide(),a.find(".controls .random").hide())},_addPlayList:function(){var a,b,c,d,e,f,g=this,h=this.element,i=this.options;h.find("audio");if(i.playList&&void 0!=window[i.playList]&&"function"==typeof window[i.playList]&&(a=window[i.playList](),b=a.items,c=$("<div>").addClass("play-list-wrapper").insertBefore(h.find("audio")),void 0!=a.title&&(e=$("<h1>").addClass("album-title").html(a.title).appendTo(c)),void 0!=a.poster&&(d=$("<div>").addClass("poster").html($("<img>").attr("src",a.poster)).appendTo(c)),void 0!=a.desc&&$("<div>").addClass("album-desc").html(a.desc).appendTo(d),f=$("<ul>").addClass("play-list").appendTo(c),void 0!=b&&$.each(a.items,function(){var a,b=this;a=$("<li>").appendTo(f),a.data("src",b.file),void 0!=b.type&&a.data("type",b.type),void 0!=b.title?a.html(b.title):a.html(b.file.replace(/^.*[\\\/]/,""))})),f=h.find("ul"),0==f.length)return this;f.addClass("play-list");var j=f.find("li");return 0==j.length?this:($.each(j,function(){var a=$(this);$("<div>").addClass("progress-bar small no-margin-top").data("role","progress").appendTo(a).hide();a.on("click",function(){j.removeClass("current"),j.find(".progress-bar").hide();var b=a.data("src"),c=a.data("type");a.addClass("current"),a.find(".progress-bar").show(),h.data("current",a),g.play(b,c)})}),$(j[0]).click(),this._stop(),void h.data("current",$(j[0])))},_createPlayer:function(){var a=this.element,b=this.options,c=a.find("audio");a.addClass("audio-player"),a.addClass(b.mode),0==c.length&&(c=$("<audio>").appendTo(a)),$.each(["autoplay","controls","muted","loop","preload"],function(){c.removeAttr(this)}),b.src&&c.attr(src,b.src),b.loop&&c.attr("loop","loop"),b.preload&&c.attr("preload","auto"),b.autoplay&&c.attr("autoplay","autoplay"),c[0].volume=b.volume,c[0].muted=b.muted,a.data("muted",!1),a.data("duration",0),a.data("played",!1),a.data("volume",c[0].volume),a.data("current",!1)},_addControls:function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o=this,p=this.element,q=this.options,r=p.find("audio"),s=r[0];a=$("<div>").addClass("controls").appendTo(p),q.playListButton!==!1&&(n=$("<button/>").addClass("square-button control-element plist").html(q.playListButton).appendTo(a),n.on("click",function(){var a=p.find(".play-list-wrapper");return 0==a.length?o:void a.toggleClass("not-visible")})),q.loopButton!==!1&&(c=$("<button/>").addClass("square-button control-element loop").html(q.loopButton).appendTo(a),c.on("click",function(){c.toggleClass("active"),c.hasClass("active")?r.attr("loop","loop"):r.removeAttr("loop")})),q.playButton!==!1&&(b=$("<button/>").addClass("square-button control-element play").html(q.playButton).appendTo(a),b.on("click",function(){o._play()})),q.prevButton!==!1&&(l=$("<button/>").addClass("square-button control-element prev").html(q.prevButton).appendTo(a),l.on("click",function(){o._playPrev()})),q.nextButton!==!1&&(k=$("<button/>").addClass("square-button control-element next").html(q.nextButton).appendTo(a),k.on("click",function(){o._playNext()})),q.randomButton!==!1&&(m=$("<button/>").addClass("square-button control-element random").html(q.randomButton).appendTo(a),m.on("click",function(){o._playRandom()})),q.stopButton!==!1&&(d=$("<button/>").addClass("square-button control-element stop").html(q.stopButton).appendTo(a),d.attr("disabled",!0),d.on("click",function(){o._stop()})),i=$("<div/>").addClass("control-element stream-wrapper").appendTo(a),g=$("<div/>").addClass("slider stream-slider").appendTo(i),g.slider({showHint:!0,animate:!1,markerColor:"bg-red",completeColor:"bg-cyan",onStartChange:function(){s.pause()},onChanged:function(a,b){s.seekable.length>0&&(s.currentTime=(p.data("duration")*a/100).toFixed(0)),p.data("played")&&s.currentTime>=0&&s.play()}}),g.data("slider").value(0),h=$("<div/>").addClass("control-element info-box").appendTo(a),h.html("00:00 / 00:00");var t=$("<div/>").addClass("place-right").appendTo(a);e=$("<button/>").addClass("square-button control-element volume").html(q.volumeLowButton).appendTo(t),e.on("click",function(){var a=p.find(".volume-slider").data("slider");p.data("muted",!p.data("muted")),p.data("muted")?(p.data("volume",s.volume),e.html(q.muteButton),a.value(0)):(s.volume=p.data("volume"),a.value(100*p.data("volume")),o._setupVolumeButton()),s.muted=p.data("muted")}),this._setupVolumeButton(),j=$("<div/>").addClass("control-element volume-wrapper").appendTo(t),f=$("<div/>").addClass("slider volume-slider").appendTo(j),f.slider({showHint:!0,animate:!1,markerColor:"bg-red",completeColor:"bg-green",onChange:function(a,b){s.volume=a/100,o._setupVolumeButton()}}),f.data("slider").value(100*s.volume)},_setupVolumeButton:function(){var a=this.element,b=this.options,c=a.find("audio"),d=c[0],e=a.find(".controls"),f=e.find(".volume"),g=d.volume;g>0&&g<.3?f.html(b.volumeLowButton):g>=.3&&g<.6?f.html(b.volumeMediumButton):g>=.6&&g<=1?f.html(b.volumeHighButton):f.html(b.muteButton)},_addEvents:function(){var a=this,b=this.element,c=(this.options,b.find("audio")),d=c[0],e=(b.find(".controls"),b.find(".info-box"));c.on("loadedmetadata",function(){b.data("duration",d.duration.toFixed(0)),e.html("00:00 / "+secondsToFormattedString(b.data("duration")))}),c.on("canplay",function(){var b=d.buffered.length?Math.round(Math.floor(d.buffered.end(0))/Math.floor(d.duration)*100):0;a._setBufferSize(b)}),c.on("progress",function(){var b=d.buffered.length?Math.round(Math.floor(d.buffered.end(0))/Math.floor(d.duration)*100):0;a._setBufferSize(b)}),c.on("timeupdate",function(){if(a._setInfoData(),a._setStreamSliderPosition(),b.data("current")){var c=b.data("current").find(".progress-bar").data("progress"),e=Math.round(100*d.currentTime/b.data("duration"));c.value(e)}}),c.on("waiting",function(){}),c.on("loadeddata",function(){}),c.on("ended",function(){a._stop(),b.find(".play-list li").length>0&&a._playNext()})},_setInfoData:function(){var a=this.element,b=(a[0],this.options,a.find("audio")),c=b[0],d=a.find(".controls .info-box"),e=Math.round(c.currentTime);d.html(secondsToFormattedString(e)+" / "+secondsToFormattedString(a.data("duration")))},_setStreamSliderPosition:function(){var a=this.element,b=(a[0],this.options,a.find("audio")),c=b[0],d=a.find(".stream-slider").data("slider"),e=Math.round(100*c.currentTime/a.data("duration"));d.value(e)},_setBufferSize:function(a){var b=this.element,c=(b[0],this.options,b.find("audio")),d=(c[0],b.find(".stream-slider").data("slider"));d.buffer(Math.round(a))},_play:function(){var a=this.element,b=(a[0],this.options),c=a.find("audio"),d=c[0],e=a.find(".controls .play"),f=a.find(".controls .stop");d.paused?(e.html(b.pauseButton),d.play(),f.removeAttr("disabled"),a.data("played",!0),a.trigger("play")):(e.html(b.playButton),d.pause(),a.data("played",!1),a.trigger("pause"))},_playRandom:function(){var a=this.element,b=(a[0],this.options,a.find("audio")),c=(b[0],a.find(".play-list")),d=a.find(".play-list li");if(0==d.length)return this;var e=Math.floor(Math.random()*d.length)+1,f=c.find("li:nth-child("+e+")");f.click()},_playNext:function(){var a=this.element,b=(a[0],this.options,a.find("audio")),c=(b[0],a.find(".play-list")),d=a.find(".play-list li");if(0==d.length)return this;var e=c.find(".current").next();0==e.length&&(e=c.find("li:nth-child(1)")),e.click()},_playPrev:function(){var a=this.element,b=(a[0],this.options,a.find("audio")),c=(b[0],a.find(".play-list")),d=a.find(".play-list li");if(0==d.length)return this;var e=c.find(".current").prev();0==e.length&&(e=c.find("li:last-child")),e.click()},_stop:function(){var a=this.element,b=(a[0],this.options),c=a.find("audio"),d=c[0],e=a.find(".controls .stop"),f=a.find(".controls .play");d.pause(),d.currentTime=0,f.html(b.playButton),e.attr("disabled","disabled"),a.data("played",!1),a.find(".stream-slider").data("slider").value(0),a.trigger("stop")},play:function(a,b){var c,d=this.element,e=(d[0],this.options,d.find("audio")),f=e[0];this._stop(),e.find("source").remove(),e.removeAttr("src"),c=$("<source>").attr("src",a),void 0!=b&&c.attr("type",b),f.load(),c.appendTo(e),this._play()},pause:function(){var a=this.element,b=(a[0],this.options),c=a.find("audio"),d=c[0],e=a.find(".play");e.html(b.playButton),d.pause(),a.data("played",!1),a.trigger("pause")},resume:function(){var a=this.element,b=(a[0],this.options),c=a.find("audio"),d=c[0],e=a.find(".play"),f=a.find(".stop");e.html(b.pauseButton),d.play(),f.removeAttr("disabled"),a.data("played",!0),a.trigger("play")},stop:function(){this._stop()},_setOptionsFromDOM:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}})},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.group",{version:"3.0.0",options:{groupType:"one-state",buttonStyle:!1,onChange:function(a,b){return!0},onChanged:function(a,b){}},_create:function(){var that=this,element=this.element,o=this.options,result;$.each(element.data(),function(a,b){if(a in o)try{o[a]=$.parseJSON(b)}catch(c){o[a]=b}}),element.hasClass("group-of-buttons")||element.addClass("group-of-buttons");for(var buttons=element.find(".button, .toolbar-button"),i=0;i<buttons.length;i++)$(buttons[i]).data("index",i);o.buttonStyle!==!1&&buttons.addClass(o.buttonStyle),element.on("click",".button, .toolbar-button",function(){var button=$(this),index=button.data("index");if("function"==typeof o.onChange){if(!o.onChange(index,button))return!1}else if("function"==typeof window[o.onChange]){if(!window[o.onChange](index,button))return!1}else if(result=eval("(function(){"+o.onChange+"})"),!result.call(index,button))return!1;"one-state"===o.groupType?(buttons.removeClass("active"),$(this).addClass("active")):$(this).toggleClass("active"),"function"==typeof o.onChanged?o.onChanged(index,button):"function"==typeof window[o.onChanged]?window[o.onChanged](index,button):(result=eval("(function(){"+o.onChanged+"})"),result.call(index,button))}),element.data("group",this)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.calendar",{version:"3.0.0",options:{format:"yyyy-mm-dd",multiSelect:!1,startMode:"day",weekStart:window.METRO_CALENDAR_WEEK_START,otherDays:!0,date:new Date,minDate:!1,maxDate:!1,preset:!1,exclude:!1,stored:!1,buttons:!0,buttonToday:!0,buttonClear:!0,syncCalenderToDateField:!0,locale:window.METRO_CURRENT_LOCALE,actions:!0,condensedGrid:!1,scheme:"default",getDates:function(a){},dayClick:function(a,b){}},_year:0,_month:0,_day:0,_today:new Date,_event:"",_mode:"day",_distance:0,_events:[],_create:function(){var a=this,b=this.element,c=this.options;$.each(b.data(),function(a,b){if(a in c)try{c[a]=$.parseJSON(b)}catch(d){c[a]=b}}),"string"==typeof c.date&&(c.date=new Date(c.date)),c.minDate!==!1&&"string"==typeof c.minDate&&(c.minDate=new Date(c.minDate+"T00:00:00Z")-864e5),c.maxDate!==!1&&"string"==typeof c.maxDate&&(c.maxDate=new Date(c.maxDate+"T00:00:00Z")),this.locales=window.METRO_LOCALES,this._year=c.date.getFullYear(),this._distance=c.date.getFullYear()-4,this._month=c.date.getMonth(),this._day=c.date.getDate(),this._mode=c.startMode,b.data("_storage",[]),b.data("_exclude",[]),b.data("_stored",[]),b.hasClass("calendar")||b.addClass("calendar");var d,e;c.preset&&(d=/\s*,\s*/,e=c.preset.split(d),$.each(e,function(){void 0!==new Date(this)&&a.setDate(this)})),c.exclude&&(d=/\s*,\s*/,e=c.exclude.split(d),$.each(e,function(){void 0!==new Date(this)&&a.setDateExclude(this)})),c.stored&&(d=/\s*,\s*/,e=c.stored.split(d),$.each(e,function(){void 0!==new Date(this)&&a.setDateStored(this)})),"default"!==c.scheme&&b.addClass(c.scheme),this._renderCalendar(),b.data("calendar",this)},_renderButtons:function(a){var b,c,d=this.options;if(this.options.buttons){var e=d.buttonToday?"<button class='button calendar-btn-today small-button success'>"+this.locales[d.locale].buttons[0]+"</button>":"",f=d.buttonClear?"<button class='button calendar-btn-clear small-button warning'>"+this.locales[d.locale].buttons[1]+"</button>":"";b=$("<div/>").addClass("calendar-row calendar-actions"),c=$("<div/>").addClass("align-center").html(e+f),c.appendTo(b),b.appendTo(a)}},_renderMonth:function(){var a=this.options,b=this._year,c=this._month,d=(this._day,this._event,28);1===c&&(b%100!==0&&b%4===0||b%400===0)&&(d=29);var e,f,g,h,i,j=["31",""+d,"31","30","31","30","31","31","30","31","30","31"],k=j[c],l=this._dateFromNumbers(b,c+1,1).getDay();this.element.html(""),e=$("<div/>").addClass("calendar-grid"),a.condensedGrid&&e.addClass("condensed no-border"),f=$("<div/>").addClass("calendar-row no-margin"),$("<div/>").addClass("calendar-cell align-center").html("<a class='btn-previous-year' href='#'>-</a>").appendTo(f),$("<div/>").addClass("calendar-cell align-center").html("<a class='btn-previous-month' href='#'>&#12296;</a>").appendTo(f),$("<div/>").addClass("calendar-cell sel-month align-center").html("<a class='btn-select-month' href='#'>"+this.locales[a.locale].months[c]+" "+b+"</a>").appendTo(f),$("<div/>").addClass("calendar-cell align-center").html("<a class='btn-next-month' href='#'>&#12297;</a>").appendTo(f),$("<div/>").addClass("calendar-cell align-center").html("<a class='btn-next-year' href='#'>+</a>").appendTo(f),f.addClass("calendar-header").appendTo(e);var m;for(f=$("<div/>").addClass("calendar-row week-days"),h=0;h<7;h++)a.weekStart?(m=h+1,7===m&&(m=0),g=$("<div/>").addClass("calendar-cell align-center day-of-week").appendTo(f),i=$("<div/>").html(this.locales[a.locale].days[m+7]).appendTo(g)):(g=$("<div/>").addClass("calendar-cell align-center day-of-week").appendTo(f),i=$("<div/>").html(this.locales[a.locale].days[h+7]).appendTo(g));f.addClass("calendar-subheader").appendTo(e);var n=this._month-1;n<0&&(n=11);var o=j[n],p=(a.weekStart?l+6:l)%7,q="";for(f=$("<div/>").addClass("calendar-row"),h=0;h<p;h++)a.otherDays&&(q=o-(p-h-1)),g=$("<div/>").addClass("calendar-cell empty").appendTo(f),i=$("<div/>").addClass("other-day").html(q).appendTo(g),a.otherDays||i.css("visibility","hidden");var r,s,t,u=(a.weekStart?l+6:l)%7;for(h=1;h<=k;h++)u%=7,0===u&&(f.appendTo(e),f=$("<div/>").addClass("calendar-row")),g=$("<div/>").addClass("calendar-cell align-center day"),i=$("<div/>").appendTo(g),a.minDate!==!1&&this._dateFromNumbers(b,c+1,h)<a.minDate||a.maxDate!==!1&&this._dateFromNumbers(b,c+1,h)>a.maxDate?(g.removeClass("day"),i.addClass("other-day"),t=h):t="<a href='#'>"+h+"</a>",i.html(t),b===this._today.getFullYear()&&c===this._today.getMonth()&&this._today.getDate()===h&&g.addClass("today"),r=this._dateNumberStringyFy(this._year,this._month+1,h),this.element.data("_storage").indexOf(r)>=0&&(s=g.find("a"),s.parent().parent().addClass("selected")),this.element.data("_exclude").indexOf(r)>=0&&(s=g.find("a"),s.parent().parent().addClass("exclude")),this.element.data("_stored").indexOf(r)>=0&&(s=g.find("a"),s.parent().parent().addClass("stored")),g.appendTo(f),u++;var v="";for(h=u+1;h<=7;h++)a.otherDays&&(v=h-u),g=$("<div/>").addClass("calendar-cell empty").appendTo(f),i=$("<div/>").addClass("other-day").html(v).appendTo(g),a.otherDays||i.css("visibility","hidden");f.appendTo(e),this._renderButtons(e),e.appendTo(this.element)},_renderMonths:function(){var a,b,c,d,e;for(this.element.html(""),a=$("<div/>").addClass("calendar-grid"),this.options.condensedGrid&&a.addClass("condensed no-border"),b=$("<div/>").addClass("calendar-row"),$("<div/>").addClass("calendar-cell sel-minus align-center").html("<a class='btn-previous-year' href='#'>-</a>").appendTo(b),$("<div/>").addClass("calendar-cell sel-year align-center").html("<a class='btn-select-year' href='#'>"+this._year+"</a>").appendTo(b),$("<div/>").addClass("calendar-cell sel-plus align-center").html("<a class='btn-next-year' href='#'>+</a>").appendTo(b),b.addClass("calendar-header").appendTo(a),b=$("<div/>").addClass("calendar-row"),e=0,d=0;d<12;d++)c=$("<div/>").addClass("calendar-cell month-cell align-center month").html("<a href='#' data-month='"+d+"'>"+this.locales[this.options.locale].months[d+12]+"</a>"),this._month===d&&(new Date).getFullYear()===this._year&&c.addClass("today"),c.appendTo(b),(e+1)%4===0&&(b.appendTo(a),b=$("<div/>").addClass("calendar-row")),e+=1;this._renderButtons(a),a.appendTo(this.element)},_renderYears:function(){var a,b,c,d,e;for(this.element.html(""),a=$("<div/>").addClass("calendar-grid"),this.options.condensedGrid&&a.addClass("condensed no-border"),b=$("<div/>").addClass("calendar-row cells4"),$("<div/>").addClass("calendar-cell sel-minus align-center").html("<a class='btn-previous-year' href='#'>-</a>").appendTo(b),$("<div/>").addClass("calendar-cell sel-year align-center").html("<a class='btn-none-btn'>"+this._distance+"-"+(this._distance+11)+"</a>").appendTo(b),$("<div/>").addClass("calendar-cell sel-plus align-center").html("<a class='btn-next-year' href='#'>+</a>").appendTo(b),b.addClass("calendar-header").appendTo(a),b=$("<div/>").addClass("calendar-row"),e=0,d=this._distance;d<this._distance+12;d++)c=$("<div/>").addClass("calendar-cell year-cell align-center year").html("<a href='#' data-year='"+d+"'>"+d+"</a>"),(new Date).getFullYear()===d&&c.addClass("today"),c.appendTo(b),(e+1)%4===0&&(b.appendTo(a),b=$("<div/>").addClass("calendar-row")),e+=1;this._renderButtons(a),a.appendTo(this.element)},_renderCalendar:function(){switch(this._mode){case"year":this._renderYears();break;case"month":this._renderMonths();break;default:this._renderMonth()}this._initButtons()},_initButtons:function(){var that=this,o=this.options,table=this.element.find(".calendar-grid");"day"===this._mode?(table.find(".btn-select-month").on("click",function(a){a.preventDefault(),a.stopPropagation(),that._mode="month",that._renderCalendar()}),table.find(".btn-previous-month").on("click",function(a){that._event="eventPrevious",a.preventDefault(),a.stopPropagation(),that._month-=1,that._month<0&&(that._year-=1,that._month=11),that._renderCalendar()}),table.find(".btn-next-month").on("click",function(a){that._event="eventNext",a.preventDefault(),a.stopPropagation(),that._month+=1,12===that._month&&(that._year+=1,that._month=0),that._renderCalendar()}),table.find(".btn-previous-year").on("click",function(a){that._event="eventPrevious",a.preventDefault(),a.stopPropagation(),that._year-=1,that._renderCalendar()}),table.find(".btn-next-year").on("click",function(a){that._event="eventNext",a.preventDefault(),a.stopPropagation(),that._year+=1,that._renderCalendar()}),table.find(".day a").on("click",function(e){if(e.preventDefault(),e.stopPropagation(),$(this).parent().parent().hasClass("exclude"))return!1;var d=new Date(that._paddy(that._year,4),that._paddy(that._month,2),that._paddy(parseInt($(this).html()),2)).format(that.options.format,null),d0=new Date(that._paddy(that._year,4),that._paddy(that._month,2),that._paddy(parseInt($(this).html()),2));if(that.options.multiSelect?($(this).parent().parent().toggleClass("selected"),$(this).parent().parent().hasClass("selected")?that._addDate(that._dateStringyFy(d0)):that._removeDate(that._dateStringyFy(d0))):(table.find(".day a").parent().parent().removeClass("selected"),$(this).parent().parent().addClass("selected"),that.element.data("_storage",[]),that._addDate(that._dateStringyFy(d0))),"function"==typeof o.dayClick)o.dayClick(d,d0);else if("function"==typeof window[o.dayClick])window[o.dayClick](d,d0);else{var result=eval("(function(){"+o.dayClick+"})");result.call(d,d0)}})):"month"===this._mode?(table.find(".month a").on("click",function(a){that._event="eventNext",a.preventDefault(),a.stopPropagation(),that._month=parseInt($(this).data("month")),that._mode="day",that._renderCalendar()}),table.find(".btn-previous-year").on("click",function(a){that._event="eventPrevious",a.preventDefault(),a.stopPropagation(),that._year-=1,that._renderCalendar()}),table.find(".btn-next-year").on("click",function(a){that._event="eventNext",a.preventDefault(),a.stopPropagation(),that._year+=1,that._renderCalendar()}),table.find(".btn-select-year").on("click",function(a){that._event="eventNext",a.preventDefault(),a.stopPropagation(),that._mode="year",that._renderCalendar()})):(table.find(".year a").on("click",function(a){that._event="eventNext",a.preventDefault(),a.stopPropagation(),that._year=parseInt($(this).data("year")),that._mode="month",that._renderCalendar()}),table.find(".btn-previous-year").on("click",function(a){that._event="eventPrevious",a.preventDefault(),a.stopPropagation(),that._distance-=10,that._renderCalendar()}),table.find(".btn-next-year").on("click",function(a){that._event="eventNext",a.preventDefault(),a.stopPropagation(),that._distance+=10,that._renderCalendar()})),table.find(".calendar-btn-today").on("click",function(a){a.preventDefault(),a.stopPropagation(),that._mode=that.options.startMode,that.options.date=new Date,that._year=that.options.date.getFullYear(),that._month=that.options.date.getMonth(),that._day=that.options.date.getDate(),that._renderCalendar()}),table.find(".calendar-btn-clear").on("click",function(a){a.preventDefault(),a.stopPropagation(),that.options.date=new Date,that._year=that.options.date.getFullYear(),that._month=that.options.date.getMonth(),that._day=that.options.date.getDate(),that.element.data("_storage",[]),that._renderCalendar()})},_addDate:function(a){var b=this.element.data("_storage").indexOf(a);b<0&&this.element.data("_storage").push(a)},_removeDate:function(a){var b=this.element.data("_storage").indexOf(a);this.element.data("_storage").splice(b,1)},_addDateExclude:function(a){var b=this.element.data("_exclude").indexOf(a);b<0&&this.element.data("_exclude").push(a)},_addDateStored:function(a){var b=this.element.data("_stored").indexOf(a);b<0&&this.element.data("_stored").push(a)},_removeDateExclude:function(a){var b=this.element.data("_exclude").indexOf(a);this.element.data("_exclude").splice(b,1)},_removeDateStored:function(a){var b=this.element.data("_stored").indexOf(a);this.element.data("_stored").splice(b,1)},_paddy:function(a,b,c){var d="undefined"!=typeof c?c:"0",e=new Array(1+b).join(d);return(e+a).slice(-e.length)},_dateFromNumbers:function(a,b,c){return new Date(this._paddy(a,4)+"/"+this._paddy(b,2)+"/"+this._paddy(c,2))},_dateNumberStringyFy:function(a,b,c){return this._dateFromNumbers(a,b,c).format("yyyy-mm-dd")},_dateStringyFy:function(a){return this._dateNumberStringyFy(a.getFullYear(),a.getMonth()+1,a.getDate())},setDate:function(a){var b;a=new Date(a),b=this._dateNumberStringyFy(a.getFullYear(),a.getMonth()+1,a.getDate()),this._addDate(b),this.options.syncCalenderToDateField&&(this._year=a.getFullYear(),this._month=a.getMonth(),this._day=a.getDate()),this._renderCalendar()},setDateExclude:function(a){var b;a=new Date(a),b=this._dateNumberStringyFy(a.getFullYear(),a.getMonth()+1,a.getDate()),this._addDateExclude(b),this._renderCalendar()},setDateStored:function(a){var b;a=new Date(a),b=this._dateNumberStringyFy(a.getFullYear(),a.getMonth()+1,a.getDate()),this._addDateStored(b),this._renderCalendar()},getDate:function(a){return new Date(void 0!==a?this.element.data("_storage")[a]:this.element.data("_storage")[0]).format(this.options.format)},getDates:function(){var a;return a=$.merge($.merge([],this.element.data("_storage")),this.element.data("_stored")),a.unique()},unsetDate:function(a){var b;a=new Date(a),b=this._dateNumberStringyFy(a.getFullYear(),a.getMonth()+1,a.getDate()),this._removeDate(b),this._renderCalendar()},unsetDateExclude:function(a){var b;a=new Date(a),b=this._dateNumberStringyFy(a.getFullYear(),a.getMonth()+1,a.getDate()),this._removeDateExclude(b),this._renderCalendar()},unsetDateStored:function(a){var b;a=new Date(a),b=this._dateNumberStringyFy(a.getFullYear(),a.getMonth()+1,a.getDate()),this._removeDateStored(b),this._renderCalendar()},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.carousel",{version:"3.0.0",options:{auto:!0,period:5e3,duration:1e3,effect:"slide",effectFunc:"linear",direction:"left",controls:!0,controlNext:!1,controlPrev:!1,markers:!0,stop:!0,width:"100%",height:!1,_slides:{},_currentIndex:0,_interval:0,_outPosition:0,_animating:!1},_create:function(){var a=this,b=this.options,c=this.element;$.each(c.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),b._slides=c.find(".slide");var d=0;$.each(b._slides,function(){var a,b=$(this);a=b.outerHeight(),a>d&&(d=a)}),c.css({width:b.width,height:b.height?b.height:d}),b._slides.length<=1||(b.markers&&this._markers(),b.controls&&this._controls(),b.stop&&c.on("mouseenter",function(){clearInterval(b._interval)}).on("mouseleave",function(){a.options.auto&&a._autoStart()}),c.find(".slide").hide(),c.find(".slide:nth-child(1)").show(),b.auto&&this._autoStart(),c.data("carousel",this))},_autoStart:function(){var a=this,b=this.options;b._interval=setInterval(function(){"left"===b.direction?a._slideTo("next"):a._slideTo("prior")},b.period)},_slideTo:function(a){var b,c=this.element,d=this.options,e=d._slides[d._currentIndex];switch(void 0===a&&(a="next"),"prior"===a?(d._currentIndex-=1,d._currentIndex<0&&(d._currentIndex=d._slides.length-1),d._outPosition=this.element.width()):"next"===a&&(d._currentIndex+=1,d._currentIndex>=d._slides.length&&(d._currentIndex=0),d._outPosition=-this.element.width()),b=d._slides[d._currentIndex],this.options.effect){case"switch":this._effectSwitch(e,b);break;case"slowdown":this._effectSlowdown(e,b,this.options.duration);break;case"fade":this._effectFade(e,b,this.options.duration);break;default:this._effectSlide(e,b,this.options.duration)}c.find(".carousel-bullets a").each(function(){var a=$(this).data("num");a===d._currentIndex?$(this).addClass("bullet-on"):$(this).removeClass("bullet-on")})},_slideToSlide:function(a){var b=this.options,c=b._slides[b._currentIndex],d=b._slides[a];if(b._currentIndex===a)return!1;switch(a>b._currentIndex?b._outPosition=-this.element.width():b._outPosition=this.element.width(),this.options.effect){case"switch":this._effectSwitch(c,d);break;case"slowdown":this._effectSlowdown(c,d);break;case"fade":this._effectFade(c,d);break;default:this._effectSlide(c,d)}b._currentIndex=a},_controls:function(){var a,b,c=this,d=this.element,e=this.options;a=$("<span/>").addClass("carousel-switch-next").html("&gt;"),b=$("<span/>").addClass("carousel-switch-prev").html("&lt;"),e.controlNext&&a.html(e.controlNext),e.controlPrev&&b.html(e.controlPrev),a.appendTo(d),b.appendTo(d),e._slides.length>1?(b.on("click",function(){e._animating===!1&&(c._slideTo("prior"),e._animating=!0,setTimeout(function(){e._animating=!1},e.duration))}),a.on("click",function(){e._animating===!1&&(c._slideTo("next"),e._animating=!0,setTimeout(function(){e._animating=!1},e.duration))})):(a.hide(),b.hide())},_markers:function(){var a,b,c,d=this,e=this.options;for(a=$('<div class="carousel-bullets" />'),c=0;c<e._slides.length;c++)b=$('<a class="carousel-bullet" href="javascript:void(0)" data-num="'+c+'"></a>'),0===c&&b.addClass("bullet-on"),b.appendTo(a);a.find("a").on("click",function(b){var c=$(this),f=c.data("num");return a.find("a").removeClass("bullet-on"),c.addClass("bullet-on"),f!==e._currentIndex&&(d._slideToSlide(f),b.preventDefault(),void b.stopPropagation())}),a.appendTo(this.element)},_effectSwitch:function(a,b){$(a).hide(),$(b).css({left:0}).show(),this.element.css({height:$(b).outerHeight()})},_effectSlide:function(a,b){var c=this.options;$(a).animate({left:c._outPosition},c.duration,c.effectFunc),$(b).css("left",c._outPosition*-1).show(),this.element.css({height:$(b).outerHeight()}),$(b).animate({left:0},c.duration,c.effectFunc)},_effectSlowdown:function(a,b){var c=this.options,d={duration:c.duration,easing:"doubleSqrt"};$.easing.doubleSqrt=function(a){return Math.sqrt(Math.sqrt(a))},$(a).animate({left:c._outPosition},d),$(b).css("left",c._outPosition*-1).show(),this.element.css({height:$(b).outerHeight()}),$(b).animate({left:0},d)},_effectFade:function(a,b){var c=this.options;$(a).fadeOut(c.duration),$(b).css({left:0}).fadeIn(c.duration),this.element.css({height:$(b).outerHeight()})},slideTo:function(a){this._slideToSlide(a)},nextSlide:function(){this._slideTo("next")},priorSlide:function(){this._slideTo("prior")},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.charm",{version:"3.0.0",options:{position:"right",opacity:1,outside:!1,timeout:0,duration:400},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),this._createCharm(),a.data("charm",this)},_createCharm:function(){var a=this,b=this.element,c=this.options;b.addClass("charm").addClass(c.position+"-side").css({opacity:c.opacity}).hide();var d=$("<span/>").addClass("charm-closer").appendTo(b);d.on("click",function(){a.close()}),c.outside===!0&&b.on("mouseleave",function(b){a.close()})},_showCharm:function(){var a,b=this,c=this.element,d=this.options;"left"===d.position||"right"===d.position?(a=c.outerWidth(),"left"===d.position?c.css({left:-a,right:"auto",top:0,bottom:0}).show().animate({left:0},d.duration,function(){c.data("displayed",!0)}):c.css({right:-a,left:"auto",top:0,bottom:0}).show().animate({right:0},d.duration,function(){c.data("displayed",!0)})):(a=c.outerHeight(),"top"===d.position?c.css({top:-a,bottom:"auto",left:0,right:0}).show().animate({top:0},d.duration,function(){c.data("displayed",!0)}):c.css({bottom:-a,top:"auto",left:0,right:0}).show().animate({bottom:0},d.duration,function(){c.data("displayed",!0)})),d.timeout>0&&(this._timeout_interval=setInterval(function(){c.is(":hover")||(b.close(),clearInterval(b._timeout_interval))},d.timeout))},_hideCharm:function(){var a,b=this.element,c=this.options;"left"===c.position||"right"===c.position?(a=b.outerWidth(),"left"===c.position?b.animate({left:-a},c.duration,function(){b.hide(),b.data("displayed",!1)}):b.animate({right:-a},c.duration,function(){b.hide(),b.data("displayed",!1)})):(a=b.outerHeight(),"top"===c.position?b.animate({top:-a},c.duration,function(){b.hide(),b.data("displayed",!1)}):b.animate({bottom:-a},c.duration,function(){b.hide(),b.data("displayed",!1)})),clearInterval(this._timeout_interval)},open:function(){var a=this.element;this.options;a.data("opened")!==!0&&(a.data("opened",!0),this._showCharm())},close:function(){var a=this.element;this.options;a.data("opened")!==!1&&(a.data("opened",!1),this._hideCharm())},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$(document).on("click",".charm",function(a){a.preventDefault(),a.stopPropagation()}),$(document).on("click",function(a){$("[data-role=charm]").each(function(a,b){$(b).hasClass("keep-open")||$(b).data("displayed")!==!0||$(b).data("charm").close()})}),window.metroCharmIsOpened=function(a){var b,c=$(a);return 0==c.length?(console.log("Charm "+a+" not found!"),!1):(b=c.data("charm"),void 0==b?(console.log('Element not contain role charm! Please add attribute data-role="charm" to element '+a),!1):b.element.data("opened")===!0)},window.showMetroCharm=function(a,b){var c,d=$(a);return 0==d.length?(console.log("Charm "+a+" not found!"),!1):(c=d.data("charm"),void 0==c?(console.log('Element not contain role charm! Please add attribute data-role="charm" to element '+a),!1):(void 0!=b&&(d.hide(),d.data("displayed",!1),d.data("opened",!1),c.options.position=b),c.open(),!1))},window.hideMetroCharm=function(a){var b,c=$(a);return 0==c.length?(console.log("Charm "+a+" not found!"),!1):(b=c.data("charm"),void 0==b?(console.log('Element not contain role charm! Please add attribute data-role="charm" to element '+a),!1):void b.close())},window.toggleMetroCharm=function(a,b){var c,d=$(a);return 0==d.length?(console.log("Charm "+a+" not found!"),!1):(c=d.data("charm"),void 0==c?(console.log('Element not contain role charm! Please add attribute data-role="charm" to element '+a),!1):void(c.element.data("opened")===!0?c.close():(void 0!=b&&(d.hide(),d.data("displayed",!1),d.data("opened",!1),c.options.position=b),c.open())))},$.widget("metro.clock",{
+version:"1.0.0",options:{showTime:!0,showDate:!0,timeFormat:"24",dateFormat:"american",divider:"&nbsp;&nbsp;"},_create:function(){var a=this,b=this.element;this.options;this._setOptionsFromDOM(),this._tick(),this._clockInterval=setInterval(function(){a._tick()},500),b.data("clock",this)},_addLeadingZero:function(a){return a<10&&(a="0"+a),a},_tick:function(){var a=this.element,b=this.options,c=new Date,d=(c.getTime(),""),e=c.getHours(),f=c.getMinutes(),g=c.getSeconds(),h=c.getDate(),i=c.getMonth()+1,j=c.getFullYear(),k="";"12"==b.timeFormat&&(k=" AM",e>11&&(k=" PM"),e>12&&(e-=12),0==e&&(e=12)),e=this._addLeadingZero(e),f=this._addLeadingZero(f),g=this._addLeadingZero(g),i=this._addLeadingZero(i),h=this._addLeadingZero(h),b.showDate&&("american"==b.dateFormat?(d+="<span class='date-month'>"+i+"</span>",d+="<span class='date-divider'>-</span>",d+="<span class='date-day'>"+h+"</span>",d+="<span class='date-divider'>-</span>",d+="<span class='date-year'>"+j+"</span>"):(d+="<span class='date-day'>"+h+"</span>",d+="<span class='date-divider'>-</span>",d+="<span class='date-month'>"+i+"</span>",d+="<span class='date-divider'>-</span>",d+="<span class='date-year'>"+j+"</span>"),d+=b.divider),b.showTime&&(d+="<span class='clock-hour'>"+e+"</span>",d+="<span class='clock-divider'>:</span>",d+="<span class='clock-minute'>"+f+"</span>",d+="<span class='clock-divider'>:</span>",d+="<span class='clock-second'>"+g+"</span>"),a.html(d)},_setOptionsFromDOM:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}})},_destroy:function(){clearInterval(this._clockInterval)},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.countdown",{version:"3.0.0",options:{stop:!1,days:!1,hours:!1,minutes:!1,seconds:!1,backgroundColor:"bg-cyan",digitColor:"fg-white",dividerColor:"fg-dark",labelColor:"fg-grayLight",labels:{days:"days",hours:"hours",minutes:"mins",seconds:"secs"},onTick:function(a,b,c,d){},onStop:function(){}},_interval:0,_interval2:0,_alarmOn:void 0,_create:function(){var a=this,b=this.element,c=this.options;$.each(b.data(),function(a,b){if(a in c)try{c[a]=$.parseJSON(b)}catch(d){c[a]=b}}),this._alarmOn=new Date,c.stop!==!1&&(this._alarmOn=new Date(c.stop));var d=864e5,e=36e5,f=6e4,g=1e3;c.days!==!1&&("object"==typeof this._alarmOn&&(this._alarmOn=this._alarmOn.getTime()),this._alarmOn=this._alarmOn+c.days*d),c.hours!==!1&&("object"==typeof this._alarmOn&&(this._alarmOn=this._alarmOn.getTime()),this._alarmOn=this._alarmOn+c.hours*e),c.minutes!==!1&&("object"==typeof this._alarmOn&&(this._alarmOn=this._alarmOn.getTime()),this._alarmOn=this._alarmOn+c.minutes*f),c.seconds!==!1&&("object"==typeof this._alarmOn&&(this._alarmOn=this._alarmOn.getTime()),this._alarmOn=this._alarmOn+c.seconds*g),this._createDigits(),b.find(".digit").text("0"),a._tick(),b.data("countdown",this)},_createDigits:function(){var a,b,c=this.element,d=this.options,e=["days","hours","minutes","seconds"];e.map(function(e){a=$("<div/>").addClass("part "+e).attr("data-day-text",d.labels[e]).appendTo(c),$("<div/>").addClass("digit").appendTo(a),$("<div/>").addClass("digit").appendTo(a),d.labelColor.isColor()?a.css({color:d.labelColor}):a.addClass(d.labelColor),d.backgroundColor.isColor()?a.find(".digit").css({background:d.backgroundColor}):a.find(".digit").addClass(d.backgroundColor),d.digitColor.isColor()?a.find(".digit").css({color:d.digitColor}):a.find(".digit").addClass(d.digitColor),"seconds"!==e&&(b=$("<div/>").addClass("divider").text(":").appendTo(c),d.dividerColor.isColor()?b.css({color:d.dividerColor}):b.addClass(d.dividerColor))})},_blink:function(){this.element.toggleClass("tick")},_tick:function(){var that=this,o=this.options,element=this.element,days=86400,hours=3600,minutes=60,left,d,h,m,s;this._interval2=setInterval(function(){that._blink()},500),this._interval=setInterval(function(){var result;left=Math.floor((that._alarmOn-new Date)/1e3),left<0&&(left=0),d=Math.floor(left/days),left-=d*days,that._update("days",d),0===d&&element.find(".part.days").addClass("disabled"),h=Math.floor(left/hours),left-=h*hours,that._update("hours",h),0===d&&0===h&&element.find(".part.hours").addClass("disabled"),m=Math.floor(left/minutes),left-=m*minutes,that._update("minutes",m),0===d&&0===h&&0===m&&element.find(".part.minutes").addClass("disabled"),s=left,that._update("seconds",s),"function"==typeof o.onTick?o.onTick(d,h,m,s):"function"==typeof window[o.onTick]?window[o.onTick](d,h,m,s):(result=eval("(function(){"+o.onTick+"})"),result.call(d,h,m,s)),0===d&&0===h&&0===m&&0===s&&(element.find(".part").addClass("disabled"),"function"==typeof o.onStop?o.onStop():"function"==typeof window[o.onStop]?window[o.onStop]():(result=eval("(function(){"+o.onStop+"})"),result.call()),that._stop("all"),that._trigger("alarm"),clearInterval(that._interval))},1e3)},_update:function(a,b){var c,d,e=this.element,f=Math.floor(b/10)%10,g=b%10;c=e.find("."+a+" .digit:eq(0)"),d=e.find("."+a+" .digit:eq(1)"),g!==parseInt(d.text())&&(d.toggleClass("scaleIn"),setTimeout(function(){d.text(g).toggleClass("scaleIn")},500)),f!==parseInt(c.text())&&(c.toggleClass("scaleIn"),setTimeout(function(){c.text(f).toggleClass("scaleIn")},500))},_stop:function(){clearInterval(this._interval),clearInterval(this._interval2)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.datatable",{version:"3.0.0",options:{},_create:function(){var a=this.element,b=this.options;if($.each(a.data(),function(a,c){try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),$().dataTable)try{a.dataTable(b)}catch(c){}else alert("dataTable plugin required");a.data("datatable",this)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.datepicker",{version:"3.0.14",options:{format:"yyyy.mm.dd",preset:!1,minDate:!1,maxDate:!1,effect:"fade",position:"bottom",locale:window.METRO_CURRENT_LOCALE,weekStart:window.METRO_CALENDAR_WEEK_START,otherDays:!1,exclude:!1,stored:!1,buttons:!1,buttonToday:!0,buttonClear:!0,condensedGrid:!1,scheme:"default",onSelect:function(a,b){}},_calendar:void 0,_create:function(){var a=this,b=this.element,c=this.options,d=b.children("input"),e=b.children("button");$.each(b.data(),function(a,b){if(a in c)try{c[a]=$.parseJSON(b)}catch(d){c[a]=b}}),this._createCalendar(),d.attr("readonly",!0),e.attr("type","button"),e.on("click",function(b){b.stopPropagation(),"none"===a._calendar.css("display")?a._show():a._hide()}),b.on("click",function(b){b.stopPropagation(),"none"===a._calendar.css("display")?a._show():a._hide()}),$("html").on("click",function(){$(".calendar-dropdown").hide()}),b.data("datepicker",this)},_createCalendar:function(){var _calendar,that=this,element=this.element,o=this.options;switch(_calendar=$("<div/>").css({position:"absolute",display:"none","max-width":220,"z-index":1e3}).addClass("calendar calendar-dropdown").appendTo(element),_calendar.calendar({multiSelect:!1,format:o.format,buttons:!1,buttonToday:!1,buttonClear:!1,locale:o.locale,otherDays:o.otherDays,weekStart:o.weekStart,condensedGrid:o.condensedGrid,exclude:o.exclude,stored:o.stored,date:o.preset?o.preset:new Date,minDate:o.minDate,maxDate:o.maxDate,scheme:o.scheme,dayClick:function(d,d0){if(_calendar.calendar("setDate",d0),that.element.children("input[type=text]").val(d),that.element.children("input[type=text]").trigger("change",d0),that.element.children("input[type=text]").blur(),that._hide(),"function"==typeof o.onSelect)o.onSelect(d,d0);else if("function"==typeof window[o.onSelect])window[o.onSelect](d,d0);else{var result=eval("(function(){"+o.onSelect+"})");result.call(d,d0)}}}),o.preset!==!1&&(_calendar.calendar("setDate",o.preset),element.find("input, .datepicker-output").val(_calendar.calendar("getDate"))),this.options.position){case"top":_calendar.css({top:0-_calendar.height(),left:0});break;default:_calendar.css({top:"100%",left:0})}this._calendar=_calendar},_show:function(){"slide"===this.options.effect?($(".calendar-dropdown").slideUp("fast"),this._calendar.slideDown("fast")):"fade"===this.options.effect?($(".calendar-dropdown").fadeOut("fast"),this._calendar.fadeIn("fast")):($(".calendar-dropdown").hide(),this._calendar.show())},_hide:function(){"slide"===this.options.effect?this._calendar.slideUp("fast"):"fade"===this.options.effect?this._calendar.fadeOut("fast"):this._calendar.hide()},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)},setDate:function(a){$.isArray(a);var b=this.element.find("input"),c=this._calendar.data("metro-calendar"),d=c.element;d.data("_storage",[]),this._calendar.calendar("setDate",a),a=this._calendar.calendar("getDate"),b.val(a)}}),$.widget("metro.dialog",{version:"3.0.14",options:{modal:!1,overlay:!1,overlayColor:"default",overlayClickClose:!1,type:"default",place:"center",position:"default",content:!1,hide:!1,width:"auto",height:"auto",background:"default",color:"default",closeButton:!1,windowsStyle:!1,show:!1,href:!1,contentType:"default",_interval:void 0,_overlay:void 0,onDialogOpen:function(a){},onDialogClose:function(a){}},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),b.overlay&&this._createOverlay(),this._createDialog(),a.data("dialog",this),b.show&&this.open()},_createOverlay:function(){var a=(this.element,this.options),b=$("body").find(".dialog-overlay");0===b.length&&(b=$("<div/>").addClass("dialog-overlay")),a.overlayColor&&(a.overlayColor.isColor()?b.css({background:a.overlayColor}):b.addClass(a.overlayColor)),a._overlay=b},_createDialog:function(){var a=this,b=this.element,c=this.options;b.addClass("dialog"),"default"!==c.type&&b.addClass(c.type),c.windowsStyle&&(c.width="auto",b.css({left:0,right:0})),"default"!==c.background&&(c.background.isColor()?b.css({background:c.background}):b.addClass(c.background)),"default"!==c.color&&(c.color.isColor()?b.css({color:c.color}):b.addClass(c.color)),b.css({width:c.width,height:c.height}),c.closeButton&&$("<span/>").addClass("dialog-close-button").appendTo(b).on("click",function(){a.close()}),this._hide()},_hide:function(){var a=this.element;a.css({visibility:"hidden"})},_show:function(){var a=this.element;this.options;this._setContent(),a.css({visibility:"visible"})},_setPosition:function(){var a=this.element,b=this.options,c=a.width(),d=a.height();switch(b.place){case"top-left":a.css({left:0,top:0});break;case"top-right":a.css({right:0,top:0});break;case"top-center":a.css({left:($(window).width()-c)/2,top:0});break;case"bottom-left":a.css({left:0,bottom:0});break;case"bottom-right":a.css({right:0,bottom:0});break;case"center-left":a.css({left:0,top:($(window).height()-d)/2});break;case"center-right":a.css({right:0,top:($(window).height()-d)/2});break;case"bottom-center":a.css({left:($(window).width()-c)/2,bottom:0});break;default:a.css({left:b.windowsStyle===!1?($(window).width()-c)/2:0,top:($(window).height()-d)/2})}},_setContent:function(){var a=this,b=this.element,c=this.options,d=$("<div>").addClass("set-dialog-content");return"video"===c.contentType&&d.addClass("video-container"),(c.content!==!1||c.href!==!1)&&(b.children(":not(.dialog-close-button)").remove(),d.appendTo(b),c.content&&(c.content instanceof jQuery?c.content.appendTo(d):d.html(c.content),this._setPosition()),void(c.href&&$.get(c.href,function(b){d.html(b),a._setPosition()})))},setContent:function(a){this.options.contentType="default",this.options.href=!1,this.options.content=a,this._setContent()},setContentHref:function(a){this.options.contentType="href",this.options.content=!1,this.options.href=a,this._setContent()},setContentVideo:function(a){this.options.contentType="video",this.options.content=a,this.options.href=!1,this._setContent()},toggle:function(){var a=this.element;a.data("opened")?this.close():this.open()},open:function(){var that=this,element=this.element,o=this.options,overlay;if(this._setPosition(),element.data("opened",!0),o.overlay&&(overlay=o._overlay,overlay.appendTo("body").show(),o.overlayClickClose&&overlay.on("click",function(){that.close()})),this._show(),"function"==typeof o.onDialogOpen)o.onDialogOpen(element);else if("function"==typeof window[o.onDialogOpen])window[o.onDialogOpen](element);else{var result=eval("(function(){"+o.onDialogOpen+"})");result.call(element)}o.hide&&parseInt(o.hide)>0&&(o._interval=setTimeout(function(){that.close()},parseInt(o.hide)))},close:function(){var that=this,element=this.element,o=this.options;if(clearInterval(o._interval),o.overlay&&$("body").find(".dialog-overlay").remove(),element.data("opened",!1),this._hide(),"function"==typeof o.onDialogClose)o.onDialogClose(element);else if("function"==typeof window[o.onDialogClose])window[o.onDialogClose](element);else{var result=eval("(function(){"+o.onDialogClose+"})");result.call(element)}},reset:function(a){void 0!==a&&(this.options.place=a),this._setPosition()},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),window.showMetroDialog=function(a,b,c,d){var e,f=$(a);if(0==f.length)return console.log("Dialog "+a+" not found!"),!1;if(e=f.data("dialog"),void 0==e)return console.log('Element not contain role dialog! Please add attribute data-role="dialog" to element '+a),!1;if(void 0!=c)switch(d){case"href":e.setContentHref(c);break;case"video":e.setContentVideo(c);break;default:e.setContent(c)}void 0!==b&&(e.options.place=b),e.open()},window.hideMetroDialog=function(a){var b,c=$(a);return 0==c.length?(console.log("Dialog "+a+" not found!"),!1):(b=c.data("dialog"),void 0==b?(console.log('Element not contain role dialog! Please add attribute data-role="dialog" to element '+a),!1):void b.close())},window.toggleMetroDialog=function(a,b,c,d){var e,f=$(a);if(0==f.length)return console.log("Dialog "+a+" not found!"),!1;if(e=f.data("dialog"),void 0==e)return console.log('Element not contain role dialog! Please add attribute data-role="dialog" to element '+a),!1;if(void 0!=c)switch(d){case"href":e.setContentHref(c);break;case"video":e.setContentVideo(c);break;default:e.setContent(c)}e.element.data("opened")===!0?e.close():(void 0!==b&&(e.options.place=b),e.open())},$.widget("metro.draggable",{version:"3.0.0",options:{dragElement:null,dragArea:null,zIndex:2e3,onDragStart:function(a){},onDragStop:function(a){},onDragMove:function(a,b){}},drag:!1,oldCursor:null,oldZindex:null,oldPosition:null,_create:function(){var a=this.element;this.options;this._setOptionsFromDOM(),this._createDraggable(),a.data("draggable",this)},_createDraggable:function(){var that=this,element=this.element,o=this.options,dragElement=o.dragElement?element.find(o.dragElement):element;addTouchEvents(element[0]),dragElement.on("mousedown",function(e){var result,el=$(this);that.drag=!0,"function"==typeof o.onDragStart?o.onDragStart(element):"function"==typeof window[o.onDragStart]?window[o.onDragStart](element):(result=eval("(function(){"+o.onDragStart+"})"),result.call(element)),that.oldCursor=el.css("cursor")?el.css("cursor"):"default",that.oldZindex=element.css("z-index"),dragElement.css({cursor:"move"}),element.css({"z-index":o.zIndex});var dragArea=$(o.dragArea?o.dragArea:window),os={left:o.dragArea?dragArea.offset().left:0,top:o.dragArea?dragArea.offset().top:0},drg_h=element.outerHeight(),drg_w=element.outerWidth(),pos_y=element.offset().top+drg_h-e.pageY,pos_x=element.offset().left+drg_w-e.pageX;dragArea.on("mousemove",function(e){var offset,pageX,pageY;if(!that.drag)return!1;pageX=e.pageX-os.left,pageY=e.pageY-os.top;var t=pageY>0?pageY+pos_y-drg_h:0,l=pageX>0?pageX+pos_x-drg_w:0,t_delta=dragArea.innerHeight()+dragArea.scrollTop()-element.outerHeight(),l_delta=dragArea.innerWidth()+dragArea.scrollLeft()-element.outerWidth();t>=0&&t<=t_delta&&element.offset({top:t+os.top}),l>=0&&l<=l_delta&&element.offset({left:l+os.left}),offset={left:l,top:t},"function"==typeof o.onDragMove?o.onDragMove(element,offset):"function"==typeof window[o.onDragMove]?window[o.onDragMove](element,offset):(result=eval("(function(){"+o.onDragMove+"})"),result.call(element,offset))})}),dragElement.on("mouseup",function(e){var result,el=$(this);that.drag=!1,dragElement.css({cursor:that.oldCursor}),element.css({"z-index":that.oldZindex,position:that.oldPosition}),"function"==typeof o.onDragStop?o.onDragStop(element):"function"==typeof window[o.onDragStop]?window[o.onDragStop](element):(result=eval("(function(){"+o.onDragStop+"})"),result.call(element))})},_setOptionsFromDOM:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}})},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.dropdown",{version:"3.0.0",options:{effect:window.METRO_SHOW_TYPE,toggleElement:!1,noClose:!1,onDrop:function(a){},onUp:function(a){}},_create:function(){var a,b=this,c=this.element,d=this.options,e=this.element,f=this.name,g=this.element.parent();$.each(c.data(),function(a,b){if(a in d)try{d[a]=$.parseJSON(b)}catch(c){d[a]=b}}),a=d.toggleElement?$(d.toggleElement):g.children(".dropdown-toggle").length>0?g.children(".dropdown-toggle"):g.children("a:nth-child(1)"),void 0!==METRO_SHOW_TYPE&&(this.options.effect=METRO_SHOW_TYPE),a.on("click."+f,function(a){if(g.siblings(g[0].tagName).removeClass("active-container"),$(".active-container").removeClass("active-container"),"block"!==e.css("display")||e.hasClass("keep-open")){if($("[data-role=dropdown]").each(function(a,c){e.parents("[data-role=dropdown]").is(c)||$(c).hasClass("keep-open")||"block"!==$(c).css("display")||b._close(c)}),e.hasClass("horizontal")){e.css({visibility:"hidden",display:"block"});var c=$(e.children("li")[0]).outerWidth();e.css({visibility:"visible",display:"none"});var d=e.children("li").length*c+(e.children("li").length-1);e.css("width",d)}b._open(e),g.addClass("active-container")}else b._close(e);a.preventDefault(),a.stopPropagation()}),d.noClose===!0&&c.on("click",function(a){a.stopPropagation()}),$(e).find("li.disabled a").on("click",function(a){a.preventDefault()}),c.data("dropdown",this)},_open:function(el){var parent=this.element.parent(),o=this.options,toggle=o.toggleElement?$(o.toggleElement):parent.children(".dropdown-toggle").length>0?parent.children(".dropdown-toggle"):parent.children("a:nth-child(1)");switch(this.options.effect){case"fade":$(el).fadeIn("fast");break;case"slide":$(el).slideDown("fast");break;default:$(el).show()}if(this._trigger("onOpen",null,el),toggle.addClass("active-toggle"),"function"==typeof o.onDrop)o.onDrop(el);else if("function"==typeof window[o.onDrop])window[o.onDrop](el);else{var result=eval("(function(){"+o.onDrop+"})");result.call(el)}},_close:function(el){var parent=$(el).parent(),o=this.options,toggle=o.toggleElement?$(o.toggleElement):parent.children(".dropdown-toggle").length>0?parent.children(".dropdown-toggle"):parent.children("a:nth-child(1)");switch(this.options.effect){case"fade":$(el).fadeOut("fast");break;case"slide":$(el).slideUp("fast");break;default:$(el).hide()}if(this._trigger("onClose",null,el),toggle.removeClass("active-toggle"),"function"==typeof o.onUp)o.onUp(el);else if("function"==typeof window[o.onUp])window[o.onUp](el);else{var result=eval("(function(){"+o.onUp+"})");result.call(el)}},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$(document).on("click",function(a){$("[data-role=dropdown]").each(function(a,b){if(!$(b).hasClass("keep-open")&&"block"===$(b).css("display")){var c=$(b).data("dropdown");c._close(b)}})}),$.widget("metro.fitImage",{version:"3.0.0",options:{shadow:!1,overlay:!1,type:"default",frameColor:"default",format:"hd"},_create:function(){var a,b,c,d,e,f=this.element,g=this.options,h=f.parent(),i=f.attr("src");$.each(f.data(),function(a,b){if(a in g)try{g[a]=$.parseJSON(b)}catch(c){g[a]=b}}),$("<img/>").attr("src",i).load(function(){a=this.width,b=this.height}).remove();var j=$("<div/>").addClass("image-container").css("width","100%").appendTo(h),k=$("<div/>").addClass("frame").appendTo(j);switch(c=k.innerWidth(),d=k.innerHeight(),g.format){case"sd":d=3*c/4;break;case"square":d=c;break;case"cycle":d=c;break;case"fill-h":d="100%",j.css("height","100%");break;case"fill":d="100%",j.css("height","100%");break;default:d=9*c/16}if(e=$("<div/>").css({width:"100%",height:d,"background-image":"url("+i+")","background-size":"cover","background-repeat":"no-repeat","border-radius":"cycle"===g.format?"50%":"0"}),$(window).on("resize",function(){var a=k.innerWidth(),b=k.innerHeight();switch(g.format){case"sd":b=3*a/4;break;case"square":b=a;break;case"cycle":b=a;break;case"fill-h":b="100%",j.css("height","100%");break;case"fill":b="100%",j.css("height","100%");break;default:b=9*a/16}e.css({height:b})}),"default"!==g.frameColor&&(g.frameColor.isUrl()?k.css("background-color",g.frameColor):k.addClass(g.frameColor)),g.overlay!==!1){$("<div/>").addClass("image-overlay").html(g.overlay).appendTo(j)}switch(g.shadow!==!1&&j.addClass("block-shadow"),e.appendTo(k),g.type){case"diamond":j.addClass("diamond"),e.addClass("image-replacer");break;case"bordered":j.addClass("bordered");break;case"polaroid":j.addClass("polaroid");break;case"handing":j.addClass("handing");break;case"handing-ani":j.addClass("handing ani");break;case"handing-ani-hover":j.addClass("handing ani-hover")}j.addClass("image-format-"+g.format),f.remove()},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.fluentmenu",{version:"3.0.0",options:{onSpecialClick:function(a,b){},onTabClick:function(a,b){},onTabChange:function(a,b){}},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),this._createMenu(),a.data("fluentmenu",this)},_createMenu:function(){var that=this,element=this.element,o=this.options,active_tab=$(element.find(".tabs-holder > li.active")[0]);this.openTab(active_tab),element.on("click",".tabs-holder > li > a",function(e){var a=$(this),li=a.parent("li"),result;if(li.hasClass("special"))"function"==typeof o.onSpecialClick?o.onSpecialClick(a,li):"function"==typeof window[o.onSpecialClick]?window[o.onSpecialClick](a,li):(result=eval("(function(){"+o.onSpecialClick+"})"),result.call(a,li));else{var panel=$(a.attr("href"));that._hidePanels(),that._showPanel(panel),element.find(".tabs-holder > li").removeClass("active"),a.parent("li").addClass("active"),"function"==typeof o.onTabClick?o.onTabClick(a,li):"function"==typeof window[o.onTabClick]?window[o.onTabClick](a,li):(result=eval("(function(){"+o.onTabClick+"})"),result.call(a,li)),"function"==typeof o.onTabChange?o.onTabChange(a,li):"function"==typeof window[o.onTabChange]?window[o.onTabChange](a,li):(result=eval("(function(){"+o.onTabChange+"})"),result.call(a,li))}e.preventDefault()})},_hidePanels:function(){this.element.find(".tab-panel").hide()},_showPanel:function(a){void 0==a&&(a=this.element.find(".tabs-holder li.active a").attr("href")),$(a).show()},openTab:function(a){var b=this.element,c=(this.options,$(a.children("a").attr("href")));return 0!==c.length&&(this._hidePanels(),this._showPanel(c),b.find(".tabs-holder > li").removeClass("active"),void a.addClass("active"))},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.grid",{version:"3.0.0",options:{equalHeight:!0},_create:function(){var a=this,b=this.element,c=this.options;$.each(b.data(),function(a,b){if(a in c)try{c[a]=$.parseJSON(b)}catch(d){c[a]=b}}),c.equalHeight&&(setTimeout(function(){a._setEqualHeight()},50),$(window).on("resize",function(){a._setEqualHeight()})),b.data("grid",this)},_setEqualHeight:function(){var a=this.element,b=(this.options,a.find(".row"));$.each(b,function(){var a=$(this),b=a.children(".cell"),c=0;b.css("min-height","0"),$.each(b,function(){$(this).outerHeight()>c&&(c=$(this).outerHeight())}),b.css("min-height",c)})},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.hint",{version:"3.0.0",options:{hintPosition:"auto",hintBackground:"#FFFCC0",hintColor:"#000000",hintMaxSize:200,hintMode:"default",hintShadow:!1,hintBorder:!0,hintTimeout:0,hintTimeDelay:0,_hint:void 0},_create:function(){var a=this,b=(this.element,this.options);this.element.on("mouseenter",function(c){$(".hint, .hint2").remove(),b.hintTimeDelay>0?setTimeout(function(){a.createHint(),b._hint.show()},b.hintTimeDelay):(a.createHint(),b._hint.show()),c.preventDefault()}),this.element.on("mouseleave",function(a){b._hint.length&&b._hint.hide().remove(),a.preventDefault()})},createHint:function(){var a,b=this.element,c=b.data("hint").split("|"),d=this.options;if($.each(b.data(),function(a,b){if(a in d)try{d[a]=$.parseJSON(b)}catch(c){d[a]=b}}),"TD"===b[0].tagName||"TH"===b[0].tagName){var e=$("<div/>").css("display","inline-block").html(b.html());b.html(e),b=e}var f=c.length>1&&c[0],g=c.length>1?c[1]:c[0];a=$("<div/>").appendTo("body"),2===d.hintMode?a.addClass("hint2"):a.addClass("hint"),d.hintBorder||a.addClass("no-border"),f&&$("<div/>").addClass("hint-title").html(f).appendTo(a),$("<div/>").addClass("hint-text").html(g).appendTo(a),a.addClass(d.position),d.hintShadow&&a.addClass("shadow"),d.hintBackground&&(d.hintBackground.isColor()?a.css("background-color",d.hintBackground):a.addClass(d.hintBackground)),d.hintColor&&(d.hintColor.isColor()?a.css("color",d.hintColor):a.addClass(d.hintColor)),d.hintMaxSize>0&&a.css({"max-width":d.hintMaxSize}),"top"===d.hintPosition?(a.addClass("top"),a.css({top:b.offset().top-$(window).scrollTop()-a.outerHeight()-20,left:2===d.hintMode?b.offset().left+b.outerWidth()/2-a.outerWidth()/2-$(window).scrollLeft():b.offset().left-$(window).scrollLeft()})):"right"===d.hintPosition?(a.addClass("right"),a.css({top:2===d.hintMode?b.offset().top+b.outerHeight()/2-a.outerHeight()/2-$(window).scrollTop()-10:b.offset().top-10-$(window).scrollTop(),left:b.offset().left+b.outerWidth()+15-$(window).scrollLeft()})):"left"===d.hintPosition?(a.addClass("left"),a.css({top:2===d.hintMode?b.offset().top+b.outerHeight()/2-a.outerHeight()/2-$(window).scrollTop()-10:b.offset().top-10-$(window).scrollTop(),left:b.offset().left-a.outerWidth()-10-$(window).scrollLeft()})):(a.addClass("bottom"),a.css({top:b.offset().top-$(window).scrollTop()+b.outerHeight(),left:2===d.hintMode?b.offset().left+b.outerWidth()/2-a.outerWidth()/2-$(window).scrollLeft():b.offset().left-$(window).scrollLeft()})),d._hint=a,d.hintTimeout>0&&setTimeout(function(){d._hint.length&&d._hint.hide().remove()},d.hintTimeout)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.input",{version:"3.0.0",options:{showLabelOnValue:!1,textAutoResize:!1,textMaxHeight:0},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),a.hasClass("file")&&this._createInputFile(),a.hasClass("text")&&this._createInputText(),a.hasClass("password")&&this._createInputText(),a.hasClass("select")&&this._createInputSelect(),a.hasClass("textarea")&&this._createInputTextarea(),a.hasClass("modern")&&this._createInputModern(),a.data("input",this)},_createInputModern:function(){var a=this.element,b=a.find("input"),c=a.find(".placeholder");""!==b.val()&&c.css({display:"none"}),b.on("blur",function(){""!==b.val()?c.css({display:"none"}):c.css({display:"block"})}),b.on("focus",function(){""!==b.val()?c.css({display:"none"}):c.css({display:"block"})})},_createInputFile:function(){var a,b,c,d=this.element;a=$("<input type='text' class='input-file-wrapper' readonly style='z-index: 1; cursor: default;'>"),b=d.children(".button"),c=d.children('input[type="file"]'),c.css("z-index",0),a.insertAfter(c),c.attr("tabindex","-1"),b.attr("type","button"),a.attr("placeholder",c.attr("placeholder")),c.on("change",function(){var b=$(this).val();""!==b&&(a.val(b.replace(/.+[\\\/]/,"")),a.attr("title",b.replace(/.+[\\\/]/,"")))}),d.on("click",".button, .input-file-wrapper",function(){c.trigger("click")})},_createInputText:function(){var a=this.element,b=a.find(".helper-button.clear"),c=a.find(".helper-button.reveal"),d=a.find("input"),e=a.find(".helper-button"),f=a.find(".button"),g=a.find(".input-state-error, .input-state-warning, .input-state-info, .input-state-success, .input-state-required"),h=0,i="rtl"===a.attr("dir")||a.parents("[dir='rtl']").length>0;$.each(f,function(){var a=$(this);h+=a.outerWidth()}),i?(d.css({"padding-left":h+5}),g.css({left:h+8})):(d.css({"padding-right":h+5}),g.css({right:h+8})),e.attr("tabindex",-1).attr("type","button"),b&&b.on("click",function(){d.val("").trigger("change").focus()}),c&&a.hasClass("password")&&c.on("mousedown",function(){d.attr("type","text")}).on("mouseup",function(){d.attr("type","password").focus()})},_createInputSelect:function(){},_createInputTextarea:function(){var a=this.element,b=this.options,c=a.find("textarea");console.log(c);var d=function(){c.css({resize:"none","overflow-y":"hidden"}),c[0].style.height=0;var a=c[0].scrollHeight;b.textMaxHeight>0?b.textMaxHeight>a?c[0].style.height=a+"px":c[0].style.height=b.textMaxHeight+"px":c[0].style.height=a+"px"};b.textAutoResize&&(c.on("keyup",d),c.on("keydown",d),c.on("change",d),c.on("focus",d),c.on("cut",d),c.on("paste",d),c.on("drop",d))},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.keypad",{version:"3.0.0",options:{target:!1,shuffle:!1,length:!1,keys:["1","2","3","4","5","6","7","8","9","0"],size:32,onKey:function(a){},onChange:function(a){}},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),"string"==typeof b.keys&&(b.keys=b.keys.split(",")),b.target!==!1&&(b.target=$(b.target)),this._createKeypad(),a.data("keypad",this)},_shuffleKeys:function(){var a=(this.element,this.options),b=a.keys.slice(0),c=this._keypad,d=b.length+2;a.shuffle&&(b=b.shuffle()),c.html("").css({width:d/4*a.size+2*(d/4+1)+2}),b.map(function(a){$("<div/>").addClass("key").html(a).data("key",a).appendTo(c)}),$("<div/>").addClass("key").html("&larr;").data("key","&larr;").appendTo(c),$("<div/>").addClass("key").html("&times;").data("key","&times;").appendTo(c)},_createKeypad:function(){var that=this,element=this.element,o=this.options,keypad;element.hasClass("input-control")?(keypad=$("<div/>").addClass("keypad keypad-dropdown").css({position:"absolute","z-index":1e3,display:"none"}).appendTo(element),o.target=element.find("input"),element.on("click",function(a){"none"===keypad.css("display")?keypad.show():keypad.hide();var b=$(".keypad.keypad-dropdown");$.each(b,function(){$(this).is(keypad)||$(this).hide()}),a.stopPropagation()}),$("html").on("click",function(){$(".keypad.keypad-dropdown").hide()})):(keypad=element,keypad.addClass("keypad")),o.target!==!1&&$(o.target).attr("readonly",!0),"dropdown"===keypad.parent().data("role")&&keypad.parent().css({top:"100%"}),this._keypad=keypad,this._shuffleKeys(),keypad.on("click",".key",function(e){var key=$(this),result;if(o.target){if("&larr;"!==key.data("key")&&"&times;"!==key.data("key")){if(o.length&&$(o.target).val().length===o.length)return!1;$(o.target).val($(o.target).val()+""+key.data("key"))}else if("&times;"===key.data("key")&&$(o.target).val(""),"&larr;"===key.data("key")){var val=$(o.target).val();$(o.target).val(val.substring(0,val.length-1))}o.target.trigger("change")}"function"==typeof o.onKey?o.onKey(key):"function"==typeof window[o.onKey]?window[o.onKey](key):(result=eval("(function(){"+o.onKey+"})"),result.call(key)),"function"==typeof o.onChange?o.onChange(o.target.val()):"function"==typeof window[o.onChange]?window[o.onChange](o.target.val()):(result=eval("(function(){"+o.onChange+"})"),result.call({value:o.target.val()})),o.shuffle&&that._shuffleKeys(),e.preventDefault(),e.stopPropagation()})},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.listview",{version:"3.0.0",options:{onExpand:function(a){},onCollapse:function(a){},
+onActivate:function(a){},onListClick:function(a){}},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),this._initList(),this._createEvents(),a.data("listview",this)},_initList:function(){var a=this.element,b=(this.options,a.find(".list-group"));$.each(b,function(){var a=$(this);a.hasClass("collapsed")&&a.find(".list-group-content").hide()})},_createEvents:function(){var that=this,element=this.element,o=this.options;element.on("click",".list-group-toggle",function(e){var toggle=$(this),parent=toggle.parent(),result;toggle.parent().hasClass("keep-open")||(parent.toggleClass("collapsed"),parent.hasClass("collapsed")?(toggle.siblings(".list-group-content").slideUp("fast"),"function"==typeof o.onCollapse?o.onCollapse(parent):"function"==typeof window[o.onCollapse]?window[o.onCollapse](parent):(result=eval("(function(){"+o.onCollapse+"})"),result.call(parent))):(toggle.siblings(".list-group-content").slideDown("fast"),"function"==typeof o.onExpand?o.onExpand(parent):"function"==typeof window[o.onExpand]?window[o.onExpand](parent):(result=eval("(function(){"+o.onExpand+"})"),result.call(parent))),e.preventDefault(),e.stopPropagation())}),element.on("click",".list",function(e){var list=$(this),result;element.find(".list").removeClass("active"),list.addClass("active"),"function"==typeof o.onActivate?o.onActivate(list):"function"==typeof window[o.onActivate]?window[o.onActivate](list):(result=eval("(function(){"+o.onActivate+"})"),result.call(list)),"function"==typeof o.onListClick?o.onListClick(list):"function"==typeof window[o.onListClick]?window[o.onListClick](list):(result=eval("(function(){"+o.onListClick+"})"),result.call(list)),e.preventDefault(),e.stopPropagation()})},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}});var _notify_container=!1,_notifies=[],Notify={_container:null,_notify:null,_timer:null,version:"3.0.0",options:{icon:"",caption:"",content:"",shadow:!0,width:"auto",height:"auto",style:!1,position:"right",timeout:3e3,keepOpen:!1,type:"default"},init:function(a){return this.options=$.extend({},this.options,a),this._build(),this},_build:function(){var a=this,b=this.options;if(this._container=_notify_container||$("<div/>").addClass("notify-container").appendTo("body"),_notify_container=this._container,""===b.content||void 0===b.content)return!1;if(this._notify=$("<div/>").addClass("notify"),"default"!==b.type&&this._notify.addClass(b.type),b.shadow&&this._notify.addClass("shadow"),b.style&&void 0!==b.style.background&&this._notify.css("background-color",b.style.background),b.style&&void 0!==b.style.color&&this._notify.css("color",b.style.color),""!==b.icon){$(b.icon).addClass("notify-icon").appendTo(this._notify)}""!==b.caption&&void 0!==b.caption&&$("<div/>").addClass("notify-title").html(b.caption).appendTo(this._notify),""!==b.content&&void 0!==b.content&&$("<div/>").addClass("notify-text").html(b.content).appendTo(this._notify);var c=$("<span/>").addClass("notify-closer").appendTo(this._notify);c.on("click",function(){a.close(0)}),"auto"!==b.width&&this._notify.css("min-width",b.width),"auto"!==b.height&&this._notify.css("min-height",b.height),this._notify.hide().appendTo(this._container).fadeIn("slow"),_notifies.push(this._notify),b.keepOpen||this.close(b.timeout)},close:function(a){var b=this;return void 0===a?this._hide():(setTimeout(function(){b._hide()},a),this)},_hide:function(){var a=this;return void 0!==this._notify&&(this._notify.fadeOut("slow",function(){$(this).remove(),_notifies.splice(_notifies.indexOf(a._notify),1)}),this)},closeAll:function(){return _notifies.forEach(function(a){a.hide("slow",function(){a.remove(),_notifies.splice(_notifies.indexOf(a),1)})}),this}};return $.Notify=function(a){return Object.create(Notify).init(a)},$.Notify.show=function(a,b,c){return $.Notify({content:a,caption:b,icon:c})},$.widget("metro.panel",{version:"3.0.0",options:{onExpand:function(a){},onCollapse:function(a){}},_create:function(){var element=this.element,o=this.options;if($.each(element.data(),function(a,b){if(a in o)try{o[a]=$.parseJSON(b)}catch(c){o[a]=b}}),element.hasClass("collapsible")||element.addClass("collapsible"),element.hasClass("collapsible")){var toggle=element.children(".heading"),content=element.children(".content");toggle.on("click",function(){var result;element.hasClass("collapsed")?content.slideDown("fast",function(){element.removeClass("collapsed"),"function"==typeof o.onExpand?o.onExpand(element):"function"==typeof window[o.onExpand]?window[o.onExpand](element):(result=eval("(function(){"+o.onExpand+"})"),result.call(element))}):content.slideUp("fast",function(){element.addClass("collapsed"),"function"==typeof o.onCollapse?o.onCollapse(element):"function"==typeof window[o.onCollapse]?window[o.onCollapse](element):(result=eval("(function(){"+o.onCollapse+"})"),result.call(element))})})}element.data("panel",this)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.widget",{version:"1.0.0",options:{someValue:null},_create:function(){var a=this.element;this.options;this._setOptionsFromDOM(),a.data("widget",this)},_setOptionsFromDOM:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}})},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.popover",{version:"3.0.0",options:{popoverText:"",popoverTimeout:3e3,popoverPosition:"top",popoverBackground:"bg-cyan",popoverColor:"fg-white",popoverMode:"none",popoverShadow:!0,onPopup:function(a){}},popover:{},_create:function(){var a=this.element;this.createPopover(),a.data("popover",this)},createPopover:function(){var a,b=this,c=this.options;a=this.element,$.each(a.data(),function(a,b){if(a in c)try{c[a]=$.parseJSON(b)}catch(d){c[a]=b}});var d,e;switch(d=$("<div/>").addClass("popover").appendTo("body").hide(),$("<div/>").appendTo(d),c.popoverShadow&&d.addClass("popover-shadow"),c.popoverBackground&&("#"===c.popoverBackground[0]?d.css("background-color",c.popoverBackground):d.addClass(c.popoverBackground)),c.popoverColor&&("#"===c.popoverColor[0]?d.css("color",c.popoverColor):d.addClass(c.popoverColor)),c.popoverPosition){case"left":e="marker-on-right";break;case"right":e="marker-on-left";break;case"bottom":e="marker-on-top";break;default:e="marker-on-bottom"}d.css({position:"fixed"}),d.addClass(e),this.popover=d,this.setText(c.popoverText),"hover"==c.popoverMode?(a.hover(function(a){b.show()},function(a){b.hide()}),a.on("click",function(){b.hide()})):a.on(c.popoverMode,function(a){d.data("visible")||b.show()}),$(window).scroll(function(){b.popover.data("visible")&&b.setPosition()})},setPosition:function(){var a=this.options,b=this.popover,c=this.element;return"top"===a.popoverPosition?b.css({top:c.offset().top-$(window).scrollTop()-b.outerHeight()-10,left:c.offset().left+c.outerWidth()/2-b.outerWidth()/2-$(window).scrollLeft()}):"bottom"===a.popoverPosition?b.css({top:c.offset().top-$(window).scrollTop()+c.outerHeight()+10,left:c.offset().left+c.outerWidth()/2-b.outerWidth()/2-$(window).scrollLeft()}):"right"===a.popoverPosition?b.css({top:c.offset().top+c.outerHeight()/2-b.outerHeight()/2-$(window).scrollTop(),left:c.offset().left+c.outerWidth()-$(window).scrollLeft()+10}):"left"===a.popoverPosition&&b.css({top:c.offset().top+c.outerHeight()/2-b.outerHeight()/2-$(window).scrollTop(),left:c.offset().left-b.outerWidth()-$(window).scrollLeft()-10}),this},setText:function(a){this.popover.children("div").html(a)},show:function(){this.options,this.popover;this.setPosition(),this.popover.show()},hide:function(){this.popover.hide()},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.preloader",{version:"3.0.0",options:{type:"ring",style:"light"},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),this._createStructure(),a.data("preloader",this)},_createRing:function(){var a,b,c,d=this.element;this.options;for(a=0;a<5;a++)b=$("<div/>").addClass("wrap").appendTo(d),c=$("<div/>").addClass("circle").appendTo(b)},_createMetro:function(){var a,b,c=this.element;this.options;for(a=0;a<5;a++)b=$("<div/>").addClass("circle").appendTo(c)},_createSquare:function(){var a,b,c=this.element;this.options;for(a=0;a<4;a++)b=$("<div/>").addClass("square").appendTo(c)},_createCycle:function(){var a,b=this.element;this.options;a=$("<div/>").addClass("cycle").appendTo(b)},_createStructure:function(){var a=this.element,b=this.options;switch(a.addClass("preloader-"+b.type),"light"!==b.style&&a.addClass(b.style+"-style"),a.html(""),b.type){case"ring":this._createRing();break;case"metro":this._createMetro();break;case"square":this._createSquare();break;case"cycle":this._createCycle()}},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.presenter",{version:"3.0.0",options:{height:"200",width:"100%",effect:"random",duration:1e3,timeout:2e3,sceneTimeout:2e3,easing:"swing"},_acts:void 0,_currentAct:0,_actDone:!0,_interval:void 0,_effects:["top","bottom","left","right"],_actor_positions:[],_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),this._createPresenter(),this._showScene(),a.data("presenter",this)},_createPresenter:function(){var a=this.element,b=this.options,c=a.find(".act");c.hide(),this._acts=c,a.css({height:b.height,width:b.width})},_showScene:function(){var a=this;this.element,this.options;this._interval=setInterval(function(){a._actDone&&(a._currentAct++,a._currentAct==a._acts.length&&(a._currentAct=0),a._showAct())},500)},_closeAct:function(){var a=this,b=(this.element,this.options),c=this._currentAct;setTimeout(function(){void 0!==a._acts[c]&&$(a._acts[c]).fadeOut(1e3,function(){a._actDone=!0})},b.sceneTimeout)},_showAct:function(){var a,b=this,c=this.element,d=this.options,e=$(this._acts[this._currentAct]),f=e.find(".actor");this._actDone=!1,e.fadeIn(1e3),f.css({opacity:0,position:"absolute",display:"none"}),a=0,$.each(f,function(){var e,g,h,i,j=$(this),k={top:j.data("position").split(",")[0],left:j.data("position").split(",")[1]};e=void 0!==j.data("effect")?j.data("effect"):d.effect,"random"===e&&(e=b._effects[Math.floor(Math.random()*b._effects.length)]),g=void 0!==j.data("duration")?j.data("duration"):d.duration,h=void 0!==j.data("timeout")?j.data("timeout"):d.timeout,i=void 0!==j.data("easing")?j.data("easing"):d.easing,"top"===e?setTimeout(function(){j.css({top:-c.height(),left:k.left,display:"block"}).animate({top:k.top,left:k.left,opacity:1},g,i,function(){j[0]==f[f.length-1]&&b._closeAct()})},a*h):"bottom"===e?setTimeout(function(){j.css({top:c.height(),left:k.left,display:"block"}).animate({top:k.top,left:k.left,opacity:1},g,i,function(){j[0]==f[f.length-1]&&b._closeAct()})},a*h):"left"===e?setTimeout(function(){j.css({left:-c.width(),top:k.top,display:"block"}).animate({top:k.top,left:k.left,opacity:1},g,i,function(){j[0]==f[f.length-1]&&b._closeAct()})},a*h):"right"===e?setTimeout(function(){j.css({left:c.width(),top:k.top,display:"block"}).animate({top:k.top,left:k.left,opacity:1},g,i,function(){j[0]==f[f.length-1]&&b._closeAct()})},a*h):setTimeout(function(){j.css({top:k.top,left:k.left,display:"block"}).animate({top:k.top,left:k.left,opacity:1},g,"swing",function(){j[0]==f[f.length-1]&&b._closeAct()})},a*h),a++})},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.progress",{version:"3.0.0",options:{color:"default",colors:!1,value:0,animate:!1,onProgress:function(a){}},colorsDim:{},_create:function(){var a=this,b=this.element,c=this.options,d=b.children(".bar:last-child");if(b.hasClass("progress")||b.addClass("progress"),$.each(b.data(),function(a,b){if(a in c)try{c[a]=$.parseJSON(b)}catch(d){c[a]=b}}),0===d.length&&(d=$("<div/>").addClass("bar").appendTo(b)),c.colors){var e=0;$.each(c.colors,function(b,c){a.colorsDim[b]=[e,c],e=c+1})}this.set(c.value),this.color(c.color),b.data("progress",this)},color:function(a){var b=this.element,c=this.options,d=b.children(".bar:last-child"),e=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a);e?d.css({"background-color":a}):d.removeClass(function(a,b){return(b.match(/(^|\s)bg-\S+/g)||[]).join(" ")}).addClass(a),c.color=a},set:function(value){if(void 0===value)return this.options.value;var element=this.element,o=this.options,colors=this.colorsDim,bar=element.children(".bar:last-child"),that=this,gradient=[];if(!(parseInt(value)<0))if(o.colors&&$.each(colors,function(a,b){if(value>=b[0]&&value<=b[1])return that.color(a),!0}),o.value=value,o.animate!==!1){var ani_speed=isNaN(o.animate)?500:o.animate;bar.animate({width:o.value+"%"},ani_speed,function(){if("function"==typeof o.onProgress)o.onProgress(value);else if("function"==typeof window[o.onProgress])window[o.onProgress](value);else{var result=eval("(function(){"+o.onProgress+"})");result.call(value)}})}else if(bar.css({width:o.value+"%"}),"function"==typeof o.onProgress)o.onProgress(value);else if("function"==typeof window[o.onProgress])window[o.onProgress](value);else{var result=eval("(function(){"+o.onProgress+"})");result.call(value)}},value:function(a){return this.set(a)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.rating",{version:"3.0.0",options:{stars:5,value:0,half:!0,"static":!1,showScore:!0,scoreTitle:"Current: ",size:"default",colorRate:!1,onRate:function(a,b,c){return!0},onRated:function(a,b,c){}},_value:0,_values:[],_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),this._value=parseFloat(b.value),this._values[0]=Math.ceil(1*b.stars/3),this._values[1]=Math.ceil(2*b.stars/3),this._values[2]=b.stars,this._createRating(),this._createEvents(),this._setValue(this._value),this._setScore(this._value),a.data("rating",this)},_createRating:function(){var a,b,c,d=this.element,e=this.options;switch(d.hasClass("rating")||d.addClass("rating"),e.size){case"small":d.addClass("small");break;case"large":d.addClass("large")}for(e["static"]&&d.addClass("static"),a=0;a<e.stars;a++)b=$("<span/>").addClass("star").appendTo(d).data("star-value",a+1);e.showScore&&(c=$("<span/>").addClass("score").appendTo(d))},_createEvents:function(){var that=this,element=this.element,o=this.options,stars;stars=element.find(".star"),stars.on("click",function(e){if(o["static"]||element.hasClass("static")||element.data("static"))return!1;var result,value=$(this).data("star-value"),star=this,rating=that;if("function"==typeof o.onRate){if(!o.onRate(value,star,rating))return!1}else if("function"==typeof window[o.onRate]){if(!window[o.onRate](value,star,rating))return!1}else if(result=eval("(function(){"+o.onRate+"})"),!result.call(value,star,rating))return!1;"function"==typeof o.onRated?o.onRated(value,star,rating):"function"==typeof window[o.onRated]?window[o.onRated](value,star,rating):(result=eval("(function(){"+o.onRated+"})"),result.call(value,star,rating)),that._value=$(this).data("star-value"),that._setValue(),that._setScore(),e.preventDefault(),e.stopPropagation()})},_setValue:function(){var a,b=this.options,c=this.element;if(b.stars){a=c.find(".star").removeClass("on half");var d=Math.floor(this._value)-1,e=10*(this._value-Math.floor(this._value))>0;$(a[d]).addClass("on"),$(a[d]).prevAll().addClass("on"),e&&$(a[d]).next().addClass("on half")}b.colorRate&&(c.removeClass("poor regular good"),this._value<=this._values[0]?c.addClass("poor"):this._value>this._values[0]&&this._value<=this._values[1]?c.addClass("regular"):this._value>this._values[1]&&c.addClass("good"))},_setScore:function(){var a=this._value,b=this.element,c=this.options;void 0!==a&&b.find(".score").html(c.scoreTitle+a)},value:function(a){return void 0===a?this._value:(this._value=a,this._setValue(),this._setScore(),void 0)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.select",{version:"3.0.0",options:{},_create:function(){var a=this.element,b=this.options,c=["templateResult","templateSelection","matcher","initSelection","query"];if($.each(a.data(),function(a,c){try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),c.map(function(a,c){void 0!==b[a]&&(b[a]=window[b[a]])}),void 0!==b.dropdownParent&&(b.dropdownParent=$(b.dropdownParent)),$().select2)try{a.find("select").select2(b)}catch(d){}else console.log("You are trying to use support for Select2, but the plugin is not found!");a.data("select",this)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.slider",{version:"3.0.14",options:{position:0,buffer:0,accuracy:0,color:"default",completeColor:"default",bufferColor:"default",markerColor:"default",colors:!1,showHint:!1,permanentHint:!1,hintPosition:"top",vertical:!1,min:0,max:100,animate:!1,minValue:0,maxValue:100,currValue:0,returnType:"value",target:!1,onStartChange:function(){},onChange:function(a,b){},onChanged:function(a,b){},onBufferChange:function(a,b){},_slider:{vertical:!1,offset:0,length:0,marker:0,ppp:0,start:0,stop:0}},_create:function(){var that=this,element=this.element,o=this.options,s=o._slider;$.each(element.data(),function(a,b){if(a in o)try{o[a]=$.parseJSON(b)}catch(c){o[a]=b}}),element.data("internal_id",uniqueId()),o.accuracy=o.accuracy<0?0:o.accuracy,o.min=o.min<0?0:o.min,o.min=o.min>o.max?o.max:o.min,o.max=o.max>100?100:o.max,o.max=o.max<o.min?o.min:o.max,o.position=this._correctValue(element.data("position")>o.min?element.data("position")>o.max?o.max:element.data("position"):o.min),o.buffer=this._correctValue(element.data("buffer")>o.min?element.data("buffer")>o.max?o.max:element.data("buffer"):o.min),o.colors=!!o.colors&&o.colors.split(","),s.vertical=o.vertical,o.vertical&&!element.hasClass("vertical")&&element.addClass("vertical"),o.permanentHint&&!element.hasClass("permanent-hint")&&element.addClass("permanent-hint"),o.vertical||"bottom"!==o.hintPosition||element.addClass("hint-bottom"),o.vertical&&"left"===o.hintPosition&&element.addClass("hint-left"),this._createSlider(),this._initPoints(),this._placeMarker(o.position),this._showBuffer(o.buffer);var event_down=isTouchDevice()?"touchstart":"mousedown";o.target&&"INPUT"==$(o.target)[0].tagName&&$(o.target).on("keyup",function(){var a=void 0!==this.value?this.value:0,b=Math.min(a,o.maxValue);that._placeMarker(that._realValueToValue(b))}),element.children(".marker").on(event_down,function(e){if(that._startMoveMarker(e),"function"==typeof o.onStartChange)o.onStartChange();else if("function"==typeof window[o.onStartChange])window[o.onStartChange]();else{var result=eval("(function(){"+o.onStartChange+"})");result.call()}e.preventDefault(),e.stopPropagation()}),element.on(event_down,function(a){a.preventDefault(),that._startMoveMarker(a)}),element.data("slider",this)},_startMoveMarker:function(e){var element=this.element,o=this.options,that=this,hint=element.children(".slider-hint"),returnedValue,event_move=isTouchDevice()?"touchmove":"mousemove",event_up=isTouchDevice()?"touchend":"mouseup mouseleave";$(document).on(event_move,function(a){that._movingMarker(a),element.hasClass("permanent-hint")||hint.css("display","block")}),$(document).on(event_up,function(){if($(document).off(event_move),$(document).off(event_up),element.data("value",o.position),element.trigger("changed",o.position),element.trigger("change",o.position),returnedValue="value"===o.returnType?that._valueToRealValue(o.position):o.position,element.hasClass("permanent-hint")||hint.css("display","none"),"function"==typeof o.onChanged)o.onChanged(returnedValue,element);else if("function"==typeof window[o.onChanged])window[o.onChanged](returnedValue,element);else{var result=eval("(function(){"+o.onChanged+"})");result.call(returnedValue,element)}}),this._initPoints(),this._movingMarker(e)},_movingMarker:function(ev){var element=this.element,o=this.options,cursorPos,percents,valuePix,vertical=o._slider.vertical,sliderOffset=o._slider.offset,sliderStart=o._slider.start,sliderEnd=o._slider.stop,sliderLength=o._slider.length,markerSize=o._slider.marker,event=isTouchDevice()?ev.originalEvent.touches[0]:ev.originalEvent;cursorPos=vertical?event.pageY-sliderOffset:event.pageX-sliderOffset,cursorPos<sliderStart?cursorPos=sliderStart:cursorPos>sliderEnd&&(cursorPos=sliderEnd),valuePix=vertical?sliderLength-cursorPos-markerSize/2:cursorPos-markerSize/2,percents=this._pixToPerc(valuePix),this._placeMarker(percents),o.currValue=this._valueToRealValue(percents),o.position=percents;var returnedValue="value"===o.returnType?this._valueToRealValue(o.position):o.position;if(o.target&&("INPUT"==$(o.target)[0].tagName?$(o.target).val(returnedValue):$(o.target).html(returnedValue),$(o.target).trigger("change",returnedValue)),"function"==typeof o.onChange)o.onChange(returnedValue,element);else if("function"==typeof window[o.onChange])window[o.onChange](returnedValue,element);else{var result=eval("(function(){"+o.onChange+"})");result.call(returnedValue,element)}},_placeMarker:function(a){var b,c,d,e,f,g=this.options,h=0,i=(this.element,this.element.children(".marker")),j=this.element.children(".complete"),k=this.element.children(".slider-hint"),l=this._percToPix(g.position);if(d=g.colors.length,e=g._slider.length/d,g._slider.vertical){var m=this._percToPix(g.position)+g._slider.marker,n=g._slider.length-m;b=this._percToPix(a)+g._slider.marker/2,c=g._slider.length-b,this._animate(i.css("top",n),{top:c}),this._animate(j.css("height",m),{height:b}),d&&(h=Math.round(b/e)-1,j.css("background-color",g.colors[h<0?0:h])),g.showHint&&(f=this._valueToRealValue(a),k.html(f).css("top",c-i.height()/2-k.height()/4))}else b=this._percToPix(a),this._animate(i.css("left",l),{left:b}),this._animate(j.css("width",l),{width:b}),d&&(h=Math.round(b/e)-1,j.css("background-color",g.colors[h<0?0:h])),g.showHint&&(f=this._valueToRealValue(a),k.html(f).css("left",b-i.width()/2))},_valueToRealValue:function(a){var b,c=this.options,d=(c.maxValue-c.minValue)/100;return b=a*d+c.minValue,Math.round(b)},_realValueToValue:function(a){var b,c=this.options,d=(c.maxValue-c.minValue)/100;return b=a/d+c.minValue,Math.round(b)},_animate:function(a,b){var c=this.options;c.animate?a.stop(!0).animate(b):a.css(b)},_pixToPerc:function(a){var b;return b=(a<0?0:a)*this.options._slider.ppp,Math.round(this._correctValue(b))},_percToPix:function(a){return 0===this.options._slider.ppp?0:Math.round(a/this.options._slider.ppp)},_correctValue:function(a){var b=this.options,c=b.accuracy,d=b.max,e=b.min;return 0===c?a:a===d?d:a===e?e:(a=Math.floor(a/c)*c+Math.round(a%c/c)*c,a>d?d:a<e?e:a)},_initPoints:function(){var a=this.options,b=a._slider,c=this.element;b.vertical?(b.offset=c.offset().top,b.length=c.height(),b.marker=c.children(".marker").height()):(b.offset=c.offset().left,b.length=c.width(),b.marker=c.children(".marker").width()),b.ppp=a.max/(b.length-b.marker),b.start=b.marker/2,b.stop=b.length-b.marker/2},_createSlider:function(){var a,b,c,d,e,f=this.element,g=this.options;f.html(""),e=$("<div/>").addClass("slider-backside").appendTo(f),a=$("<div/>").addClass("complete").appendTo(f),d=$("<div/>").addClass("buffer").appendTo(f),b=$("<a/>").addClass("marker").appendTo(f),g.showHint&&(c=$("<span/>").addClass("slider-hint").appendTo(f)),"default"!==g.color&&(g.color.isColor()?e.css("background-color",g.color):e.addClass(g.color)),"default"!==g.completeColor&&(g.completeColor.isColor()?a.css("background-color",g.completeColor):a.addClass(g.completeColor)),"default"!==g.bufferColor&&(g.bufferColor.isColor()?d.css("background-color",g.bufferColor):d.addClass(g.bufferColor)),"default"!==g.markerColor&&(g.markerColor.isColor()?b.css("background-color",g.markerColor):b.addClass(g.markerColor))},value:function(value){var element=this.element,o=this.options,returnedValue;if("undefined"!=typeof value){if(value=value>o.max?o.max:value,value=value<o.min?o.min:value,this._placeMarker(parseInt(value)),o.position=parseInt(value),returnedValue="value"===o.returnType?this._valueToRealValue(o.position):o.position,o.target&&("INPUT"==$(o.target)[0].tagName?$(o.target).val(returnedValue):$(o.target).html(returnedValue),$(o.target).trigger("change",returnedValue)),"function"==typeof o.onChange)o.onChange(returnedValue,element);else if("function"==typeof window[o.onChange])window[o.onChange](returnedValue,element);else{var result=eval("(function(){"+o.onChange+"})");result.call(returnedValue,element)}return this}return returnedValue="value"===o.returnType?this._valueToRealValue(o.position):o.position},_showBuffer:function(a){var b,c,d=this.options,e=(this.element,this.element.children(".buffer"));c=d.buffer,b=100==a?99.9:a,d._slider.vertical?this._animate(e.css("height",c+"%"),{height:b+"%"}):this._animate(e.css("width",c+"%"),{width:b+"%"})},buffer:function(value){var element=this.element,o=this.options,returnedValue;if("undefined"!=typeof value){if(value=value>100?100:value,value=value<0?0:value,this._showBuffer(parseInt(value)),o.buffer=parseInt(value),returnedValue=o.buffer,"function"==typeof o.onBufferChange)o.onBufferChange(returnedValue,element);else if("function"==typeof window[o.onBufferChange])window[o.onBufferChange](returnedValue,element);else{var result=eval("(function(){"+o.onBufferChange+"})");result.call(returnedValue,element)}return this}return returnedValue=o.buffer},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.stepper",{version:"3.0.0",options:{steps:3,start:1,type:"default",clickable:!0,onStep:function(a,b){},onStepClick:function(a,b){}},_create:function(){var a=this.element,b=this.options,c=a.attr("id");$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),a.hasClass("stepper")||a.addClass("stepper"),void 0===c&&(c=window.uniqueId(this.widgetName+"_"),a.attr("id",c)),this._createStepper(),b.clickable&&this._createEvents(),this._positioningSteps(),this._stepTo(b.start),a.data("stepper",this)},_createEvents:function(){var that=this,element=this.element,o=this.options;element.on("click","li",function(e){var step=$(this).data("step");if("function"==typeof o.onStepClick)o.onStepClick(step-1,step);else if("function"==typeof window[o.onStepClick])window[o.onStepClick](step-1,step);else{var result=eval("(function(){"+o.onStepClick+"})");result.call(step-1,step)}element.trigger("stepclick",step)})},_createStepper:function(){var a,b,c,d=this.element,e=this.options;switch(b=$("<ul/>"),e.type){case"diamond":d.addClass("diamond");break;case"cycle":d.addClass("cycle")}for(a=0;a<e.steps;a++)c=$("<li/>").data("step",a+1).appendTo(b);b.appendTo(d)},_positioningSteps:function(){var a=this.element,b=(this.options,a.find("li")),c=a.width(),d=b.length-1,e=$(b[0]).width();$.each(b,function(a,b){var f=0===a?0:(c-e)/d*a;console.log(c),$(b).animate({left:f})})},_stepTo:function(step){var element=this.element,o=this.options,steps=element.find("li");steps.removeClass("current").removeClass("complete"),$.each(steps,function(i,s){if(i<step-1&&$(s).addClass("complete"),i===step-1)if($(s).addClass("current"),"function"==typeof o.onStep)o.onStep(i+1,s);else if("function"==typeof window[o.onStep])window[o.onStep](i+1,s);else{var result=eval("(function(){"+o.onStep+"})");result.call(i+1,s)}})},stepTo:function(a){this._stepTo(a)},first:function(){var a=this.options;a.start=1,this._stepTo(a.start)},last:function(){var a=this.element,b=this.options,c=a.find("li");b.start=c.length,this._stepTo(b.start)},next:function(){var a=this.element,b=this.options,c=a.find("li");b.start+1>c.length||(b.start++,this._stepTo(b.start))},prior:function(){var a=this.options;a.start-1!==0&&(a.start--,this._stepTo(a.start))},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.streamer",{version:"3.0.0",options:{scrollBar:!1,meterStart:9,meterStop:19,meterInterval:20,slideToTime:"default",slideSleep:1e3,slideSpeed:1e3,onClick:function(a){}},_create:function(){var a=this.element,b=this.options,c=a.find(".stream"),d=a.find(".event"),e=a.find(".events"),f=a.find(".events-area"),g=a.find(".event-group"),h=a.find(".event-stream");$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),a.data("streamSelect",-1);var i,j,k,l=$("<ul/>").addClass("meter"),m=b.meterStart,n=b.meterStop,o=b.meterInterval,p=[];for(i=m;i<n;i++)for(j=0;j<60;j+=o)k=(i<10?"0"+i:i)+":"+(j<10?"0"+j:j),$("<li/>").addClass("js-interval-"+k.replace(":","-")).html("<em>"+k+"</em>").appendTo(l),p.push(k);a.data("intervals",p),l.insertBefore(a.find(".events-grid")),a.find(".event-stream").each(function(a,b){var d=0,e=$(b).find(".event");e.each(function(a,b){d+=$(b).outerWidth()+parseInt($(b).css("margin-left"))}),$(b).css({width:d+2*(e.length-1)+1}),$(b).find(".time").css("background-color",$(c[a]).css("background-color"))}),e.css({"overflow-x":b.scrollBar?"scroll":"hidden"}),a.css({height:a.find(".streams").outerHeight()+(b.scrollBar?20:0)});var q=0;g.each(function(a,b){q+=$(b).outerWidth()}),q+=2*(g.length-1)+10,f.css("width",q),d.each(function(a,b){addTouchEvents(b)}),a.mousewheel(function(a,b){var c=50*b;return e.scrollLeft(e.scrollLeft()-c),!1}),c.each(function(b,c){$(c).mousedown(function(c){a.data("streamSelect")==b?(d.removeClass("event-disable"),a.data("streamSelect",-1)):(a.data("streamSelect",b),d.addClass("event-disable"),$(h[b]).find(".event").removeClass("event-disable"))})}),this._createEvents(),this.slideToTime(b.slideToTime,b.slideSleep,b.slideSpeed),a.data("streamer",this)},_createEvents:function(){var that=this,element=this.element,o=this.options,events=element.find(".event");events.on("click",function(e){var event=$(this);if(e.ctrlKey&&$(this).toggleClass("selected"),"function"==typeof o.onClick)o.onClick(event);else if("function"==typeof window[o.onClick])window[o.onClick](event);else{var result=eval("(function(){"+o.onClick+"})");result.call(event)}e.preventDefault()}),element.find(".js-go-previous-time").on("click",function(a){var b=element.data("intervals").indexOf(element.data("current-time"));if(0!=b){b--;var c=element.data("intervals")[b];that.slideToTime(c,0,o.slideSpeed)}}),element.find(".js-go-next-time").on("click",function(a){var b=element.data("intervals").indexOf(element.data("current-time"));if(b!=element.data("intervals").length-1){b++;var c=element.data("intervals")[b];that.slideToTime(c,0,o.slideSpeed)}}),element.find(".js-show-all-streams").on("click",function(a){element.find(".event").removeClass("event-disable"),element.data("streamSelect",-1),a.preventDefault()}),element.find(".js-schedule-mode").on("click",function(a){$(this).toggleClass("active"),element.data("schedule-mode",$(this).hasClass("inverse")),a.preventDefault()})},slideToTime:function(a,b,c){var d,e,f=this,g=this.element;"default"===a?(d=g.find(".meter li")[0],a=d.className.replace("js-interval-","").replace("-",":")):(e=a.split(":"),1===e[0].length&&(a="0"+a)),d=g.find(".meter li.js-interval-"+a.replace(":","-"))[0],setTimeout(function(){g.find(".events").animate({scrollLeft:d.offsetLeft-$(".streams").width()},c,function(){f._afterSlide()})},b),g.data("current-time",a)},_afterSlide:function(){},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.tabcontrol",{version:"3.0.0",options:{openTarget:!1,saveState:!1,onTabClick:function(a){return!0},onTabChange:function(a){},_current:{tab:!1,frame:!1}},_create:function(){var a,b,c,d=this.element,e=this.options,f=d.children(".tabs").find("li").children("a");d.children(".frames").children("div");if($.each(d.data(),function(a,b){if(a in e)try{e[a]=$.parseJSON(b)}catch(c){e[a]=b}}),e.saveState&&void 0!==d.attr("id")&&""!==d.attr("id").trim()){var g=window.localStorage.getItem(d.attr("id")+"-stored-tab");g&&"undefined"!==g&&(a=d.find("a[href='"+g+"']"),a&&(b=a.attr("href"),c=(!b||!b.isUrl())&&$(b),e._current.tab=a,e._current.frame=c));
+}if(e._current.tab||e.openTarget===!1||(a=d.find("a[href='"+e.openTarget+"']"),a&&(b=a.attr("href"),c=(!b||!b.isUrl())&&$(b),e._current.tab=a,e._current.frame=c)),e._current.tab||$.each(f,function(a,b){var c=$(b),d=c.attr("href"),f=!d.isUrl()&&$(d);c.parent().hasClass("active")&&!c.parent().hasClass("disabled")&&f!==!1&&(e._current.tab=c,e._current.frame=f)}),!e._current.tab)for(var h=0;h<f.length;h++)if(!$(f[h]).attr("href").isUrl()&&!$(f[h]).parent().hasClass("disabled")){e._current.tab=$(f[h]),e._current.frame=$($(f[h]).attr("href"));break}this._createEvents(),this._openTab(),d.data("tabcontrol",this)},_hideTabs:function(){var a=this.element,b=a.outerWidth(),c=a.children(".tabs").find("li:not(.non-visible-tabs)"),d=a.children(".tabs").find(".non-visible-tabs").children(".d-menu");$.each(c,function(){var a=$(this),c=this;if(c.offsetLeft+c.offsetWidth+30>b){var e=a.clone(!0);e.appendTo(d),a.remove()}})},_openTab:function(){var a=this.element,b=this.options,c=a.children(".tabs").find("li").children("a"),d=a.children(".frames").children("div");c.parent().removeClass("active"),d.hide(),b._current.tab.parent().addClass("active"),b._current.frame.show(),b.saveState&&void 0!==a.attr("id")&&""!==a.attr("id").trim()&&window.localStorage.setItem(a.attr("id")+"-stored-tab",b._current.tab.attr("href"))},_createEvents:function(){var that=this,element=this.element,o=this.options,tabs=element.children(".tabs").find("li").children("a"),frames=element.children(".frames").children("div");element.on("click",".tabs > li > a",function(e){var result,tab=$(this),target=tab.attr("href"),frame=$(target);if(tab.parent().hasClass("disabled"))return!1;if("function"==typeof o.onTabClick){if(!o.onTabClick(tab))return!1}else if("function"==typeof window[o.onTabClick]){if(!window[o.onTabClick](tab))return!1}else if(result=eval("(function(){"+o.onTabClick+"})"),!result.call(tab))return!1;return target.isUrl()?(window.location.href=target,!0):(o._current.tab=tab,o._current.frame=frame,that._openTab(),"function"==typeof o.onTabChange?o.onTabChange(tab):"function"==typeof window[o.onTabChange]?window[o.onTabChange](tab):(result=eval("(function(){"+o.onTabChange+"})"),result.call(tab)),e.preventDefault(),void e.stopPropagation())})},hideTab:function(a){},showTab:function(a){},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.tile",{version:"3.0.0",options:{effect:"slideLeft",period:4e3,duration:700,easing:"doubleSqrt",onClick:function(a){}},_frames:{},_currentIndex:0,_interval:0,_outPosition:0,_size:{},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),this._createTransformTile(),this._createLiveTile(),this._createEvents(),a.data("tile",this)},_createEvents:function(){var that=this,element=this.element,o=this.options,event=isTouchDevice()?"touchstart":"click";element.on(event,function(e){if("A"===element[0].tagName);else if("function"==typeof o.onClick)o.onClick(element);else if("function"==typeof window[o.onClick])window[o.onClick](element);else{var result=eval("(function(){"+o.onClick+"})");result.call(element)}})},_createLiveTile:function(){var a=this,b=this.element,c=(this.options,isTouchDevice()?"touchstart":"mouseenter"),d=isTouchDevice()?"touchend":"mouseleave";return this._frames=b.find(".live-slide"),!(this._frames.length<=1)&&($.easing.doubleSqrt=function(a){return Math.sqrt(Math.sqrt(a))},this._size={width:b.width(),height:b.height()},b.on(c,function(){a.stop()}),b.on(d,function(){a.start()}),void this.start())},start:function(){var a=this;this._interval=setInterval(function(){a._animate()},this.options.period)},stop:function(){clearInterval(this._interval)},_animate:function(){var a,b=this._frames[this._currentIndex];switch(this._currentIndex+=1,this._currentIndex>=this._frames.length&&(this._currentIndex=0),a=this._frames[this._currentIndex],this.options.effect){case"slideLeft":this._effectSlideLeft(b,a);break;case"slideRight":this._effectSlideRight(b,a);break;case"slideDown":this._effectSlideDown(b,a);break;case"slideUpDown":this._effectSlideUpDown(b,a);break;case"slideLeftRight":this._effectSlideLeftRight(b,a);break;default:this._effectSlideUp(b,a)}},_effectSlideLeftRight:function(a,b){this._currentIndex%2===0?this._effectSlideLeft(a,b):this._effectSlideRight(a,b)},_effectSlideUpDown:function(a,b){this._currentIndex%2===0?this._effectSlideUp(a,b):this._effectSlideDown(a,b)},_effectSlideUp:function(a,b){var c=this._size.height,d={duration:this.options.duration,easing:this.options.easing};$(a).animate({top:-c},d),$(b).css({top:c}).show().animate({top:0},d)},_effectSlideDown:function(a,b){var c=this._size.height,d={duration:this.options.duration,easing:this.options.easing};$(a).animate({top:c},d),$(b).css({top:-c}).show().animate({top:0},d)},_effectSlideLeft:function(a,b){var c=this._size.width,d={duration:this.options.duration,easing:this.options.easing};$(a).animate({left:c*-1},d),$(b).css({left:c}).show().animate({left:0},d)},_effectSlideRight:function(a,b){var c=this._size.width,d={duration:this.options.duration,easing:this.options.easing};$(a).animate({left:c},d),$(b).css({left:-c}).show().animate({left:0},d)},_createTransformTile:function(){var a=this.element,b=(this.options,{w:a.width(),h:a.height()}),c=isTouchDevice()?"touchstart":"mousedown",d=isTouchDevice()?"touchend":"mouseup",e=isTouchDevice()?"touchend":"mouseleave";a.on(c,function(c){var d=c.pageX-$(this).offset().left,e=c.pageY-$(this).offset().top,f="top";d<1*b.w/3&&(e<1*b.h/2||e>1*b.h/2)?f="left":d>2*b.w/3&&(e<1*b.h/2||e>1*b.h/2)?f="right":d>1*b.w/3&&d<2*b.w/3&&e>b.h/2&&(f="bottom"),$(this).addClass("tile-transform-"+f),"A"===a[0].tagName&&a.attr("href")&&setTimeout(function(){document.location.href=a.attr("href")},500)}),a.on(d,function(){$(this).removeClass("tile-transform-left").removeClass("tile-transform-right").removeClass("tile-transform-top").removeClass("tile-transform-bottom")}),a.on(e,function(){$(this).removeClass("tile-transform-left").removeClass("tile-transform-right").removeClass("tile-transform-top").removeClass("tile-transform-bottom")})},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.treeview",{version:"3.0.0",options:{doubleClick:!0,onClick:function(a,b,c,d){},onInputClick:function(a,b,c,d){},onExpand:function(a,b,c,d){},onCollapse:function(a,b,c,d){}},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),this._initTree(),this._createEvents(),a.data("treeview",this)},_createCheckbox:function(a,b){var c,d,e;c=$("<label/>").addClass("input-control checkbox small-check").insertBefore(a),d=$("<input/>").attr("type","checkbox").appendTo(c),e=$("<span/>").addClass("check").appendTo(c),void 0!==b.data("name")&&d.attr("name",b.data("name")),void 0!==b.data("id")&&d.attr("id",b.data("id")),void 0!==b.data("checked")&&d.prop("checked",b.data("checked")),void 0!==b.data("readonly")&&d.prop("disabled",b.data("readonly")),void 0!==b.data("disabled")&&(d.prop("disabled",b.data("disabled")),b.data("disabled")===!0&&b.addClass("disabled")),void 0!==b.data("value")&&d.val(b.data("value"))},_createRadio:function(a,b){var c,d,e;c=$("<label/>").addClass("input-control radio small-check").insertBefore(a),d=$("<input/>").attr("type","radio").appendTo(c),e=$("<span/>").addClass("check").appendTo(c),void 0!==b.data("name")&&d.attr("name",b.data("name")),void 0!==b.data("id")&&d.attr("id",b.data("id")),void 0!==b.data("checked")&&d.prop("checked",b.data("checked")),void 0!==b.data("readonly")&&d.prop("disabled",b.data("readonly")),void 0!==b.data("disabled")&&(d.prop("disabled",b.data("disabled")),b.data("disabled")===!0&&b.addClass("disabled")),void 0!==b.data("value")&&d.val(b.data("value"))},_initTree:function(){var a=this,b=this.element,c=(this.options,b.find(".leaf"));$.each(c,function(){var b=$(this),c=b.parent("li"),d=b.siblings("ul");$(b.parents(".node")[0]);"checkbox"===c.data("mode")&&a._createCheckbox(b,c),"radio"===c.data("mode")&&a._createRadio(b,c),d.length>0&&(c.hasClass("node")||c.addClass("node")),c.hasClass("collapsed")&&d.hide()})},_renderChecks:function(a){var b=this.element,c=(this.options,a.is(":checked")),d=$(a.parent().parent()),e=d.children("ul").find('[type="checkbox"]');e.prop("checked",c).removeClass("indeterminate"),$.each(b.find(".node[data-mode=checkbox]").reverse(),function(){var a=$(this),b=a.children(".input-control").find('[type="checkbox"]'),c=a.children("ul").find('[type="checkbox"]'),d=a.children("ul").find('[type="checkbox"]:checked');b.removeClass("indeterminate"),0===d.length?(b.prop("checked",!1),b.removeClass("indeterminate")):d.length>0&&c.length>d.length&&(b.prop("checked",!0),b.addClass("indeterminate"))})},_createEvents:function(){var that=this,element=this.element,o=this.options;element.on("change","input:checkbox",function(){that._renderChecks($(this))}),element.on("click","input",function(){var leaf=$(this),node=$(leaf.parents(".node")[0]),parent=leaf.parent("li"),check=leaf.siblings(".input-control").find("input:checkbox"),radio=leaf.siblings(".input-control").find("input:radio"),new_check_state,check_disabled;if(check.length>0&&(new_check_state=!check.is(":checked"),check_disabled=check.is(":disabled"),check_disabled||check.prop("checked",new_check_state),that._renderChecks(check)),radio.length>0&&(check_disabled=radio.is(":disabled"),check_disabled||radio.prop("checked",!0)),"function"==typeof o.onInputClick)o.onInputClick(leaf,parent,node,that);else if("function"==typeof window[o.onInputClick])window[o.onInputClick](leaf,parent,node,that);else{var result=eval("(function(){"+o.onInputClick+"})");result.call(leaf,parent,node,that)}}),element.on("click",".leaf",function(){var leaf=$(this),node=$(leaf.parents(".node")[0]),parent=leaf.parent("li");if(element.find(".leaf").parent("li").removeClass("active"),parent.addClass("active"),"function"==typeof o.onClick)o.onClick(leaf,parent,node,that);else if("function"==typeof window[o.onClick])window[o.onClick](leaf,parent,node,that);else{var result=eval("(function(){"+o.onClick+"})");result.call(leaf,parent,node,that)}}),o.doubleClick&&element.on("dblclick",".leaf",function(e){var leaf=$(this),parent=leaf.parent("li"),node=$(leaf.parents(".node")[0]),result;return!parent.hasClass("keep-open")&&(parent.toggleClass("collapsed"),parent.hasClass("collapsed")?(parent.children("ul").fadeOut("fast"),"function"==typeof o.onCollapse?o.onCollapse(parent,leaf,node,that):"function"==typeof window[o.onCollapse]?window[o.onCollapse](parent,leaf,node,that):(result=eval("(function(){"+o.onCollapse+"})"),result.call(parent,leaf,node,that))):(parent.children("ul").fadeIn("fast"),"function"==typeof o.onExpand?o.onExpand(parent,leaf,node,that):"function"==typeof window[o.onExpand]?window[o.onExpand](parent,leaf,node,that):(result=eval("(function(){"+o.onExpand+"})"),result.call(parent,leaf,node,that))),e.stopPropagation(),void e.preventDefault())}),element.on("click",".node-toggle",function(e){var leaf=$(this).siblings(".leaf"),parent=$(this).parent("li"),node=$(leaf.parents(".node")[0]),result;return!parent.hasClass("keep-open")&&(parent.toggleClass("collapsed"),parent.hasClass("collapsed")?(parent.children("ul").fadeOut("fast"),"function"==typeof o.onCollapse?o.onCollapse(parent,leaf,node,that):"function"==typeof window[o.onCollapse]?window[o.onCollapse](parent,leaf,node,that):(result=eval("(function(){"+o.onCollapse+"})"),result.call(parent,leaf,node,that))):(parent.children("ul").fadeIn("fast"),"function"==typeof o.onExpand?o.onExpand(parent,leaf,node,that):"function"==typeof window[o.onExpand]?window[o.onExpand](parent,leaf,node,that):(result=eval("(function(){"+o.onExpand+"})"),result.call(parent,leaf,node,that))),e.stopPropagation(),void e.preventDefault())})},addLeaf:function(a,b,c){var d,e,f,g=this.element;if(a&&("LI"===a[0].tagName&&a.addClass("node"),0===a.children(".node-toggle").length&&$("<span/>").addClass("node-toggle").appendTo(a)),f=a?$(a).children("ul"):g.children("ul"),0===f.length&&(f=$("<ul/>").appendTo(a?a:g)),e=$("<li/>").appendTo(f),d=void 0!==c&&void 0!==c.tagName?$("<"+c.tagName+"/>").addClass("leaf").appendTo(e):$("<span/>").addClass("leaf").appendTo(e),d.html(b),void 0!==c&&($.each(c,function(a,b){e.attr("data-"+a,b)}),void 0!==c.mode))switch(c.mode){case"checkbox":this._createCheckbox(d,e);break;case"radio":this._createRadio(d,e)}return e},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.validator",{version:"1.0.0",options:{showErrorState:!0,showErrorHint:!0,showRequiredState:!0,showSuccessState:!0,hintSize:0,hintBackground:"#FFFCC0",hintColor:"#000000",hideError:2e3,hideHint:5e3,hintEasing:"easeInQuad",hintEasingTime:400,hintMode:"hint",hintPosition:"right",focusInput:!0,onBeforeSubmit:function(a,b){return!0},onErrorInput:function(a){},onSubmit:function(a){return!0}},_scroll:0,funcs:{required:function(a){return""!==a.trim()},minlength:function(a,b){return!(void 0==b||isNaN(b)||b<=0)&&a.trim().length>=b},maxlength:function(a,b){return!(void 0==b||isNaN(b)||b<=0)&&a.trim().length<=b},min:function(a,b){return void 0!=b&&!isNaN(b)&&(""!==a.trim()&&(!isNaN(a)&&a>=b))},max:function(a,b){return void 0!=b&&!isNaN(b)&&(""!==a.trim()&&(!isNaN(a)&&a<=b))},email:function(a){return/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i.test(a)},url:function(a){return/^(?:[a-z]+:)?\/\//i.test(a)},date:function(a){return!("Invalid Date"===new Date(a)||isNaN(new Date(a)))},number:function(a){return a-0==a&&(""+a).trim().length>0},digits:function(a){return/^\d+$/.test(a)},hexcolor:function(a){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)},pattern:function(a,b){if(void 0==b)return!1;var c=new RegExp(b);return c.test(a)}},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),"line"!==b.hintMode&&(b.hintMode="hint2"),this._scroll=$(window).scrollTop(),this._createValidator(),a.data("validator",this)},_createValidator:function(){var a=this,b=this.element,c=this.options,d=b.find("[data-validate-func]");b.attr("novalidate","novalidate"),c.showRequiredState&&$.each(d,function(){var a=$(this);a.parent().hasClass("input-control")?a.parent().addClass("required"):a.addClass("required")}),d.on("focus",function(){}),$(window).scroll(function(a){var b=$(this).scrollTop(),c=isNaN(b-this._scroll)?0:b-this._scroll;$(".validator-hint.hint2").css({top:"-="+c}),this._scroll=b}),b[0].onsubmit?(this._onsubmit=b[0].onsubmit,b[0].onsubmit=null):this._onsubmit=null,b[0].onsubmit=function(){return a._submit()}},_submit:function(){var that=this,element=this.element,o=this.options,inputs=element.find("[data-validate-func]"),submit=element.find(":submit").attr("disabled","disabled").addClass("disabled"),result=0;if($(".validator-hint").hide(),inputs.removeClass("error success"),$.each(inputs,function(a,b){var c=$(b);c.parent().hasClass("input-control")&&c.parent().removeClass("error success")}),$.each(inputs,function(i,v){var this_result=!0,input=$(v),func=void 0!=input.data("validateFunc")?String(input.data("validateFunc")).split(","):[],arg=void 0!=input.data("validateArg")?String(input.data("validateArg")).split(","):[];console.log(input.data("validateArg")),$.each(func,function(a,b){if(this_result){var c=void 0!=arg[a]&&arg[a];this_result=that.funcs[b.trim()](input.val(),c)}}),this_result||("function"==typeof o.onErrorInput?o.onErrorInput(input):"function"==typeof window[o.onErrorInput]?window[o.onErrorInput](input):(result=eval("(function(){"+o.onErrorInput+"})"),result.call(input))),!this_result&&o.showErrorState&&that._showError(input),!this_result&&o.showErrorHint&&setTimeout(function(){that._showErrorHint(input)},100*i),this_result&&o.showSuccessState&&that._showSuccess(input),!this_result&&0==i&&o.focusInput&&input.focus(),result+=this_result?0:1}),"function"==typeof o.onBeforeSubmit)result+=o.onBeforeSubmit(element,result)?0:1;else if("function"==typeof window[o.onBeforeSubmit])result+=window[o.onBeforeSubmit](element,result)?1:0;else{var f0=eval("(function(){"+o.onBeforeSubmit+"})");result+=f0.call(element,result)?1:0}if(0!==result)return submit.removeAttr("disabled").removeClass("disabled"),!1;if("function"==typeof o.onSubmit)result=o.onSubmit(element[0]);else if("function"==typeof window[o.onSubmit])result=window[o.onSubmit](element[0]);else{var f=eval("(function(){"+o.onSubmit+"})");result=f.call(element[0])}return submit.removeAttr("disabled").removeClass("disabled"),result},_showSuccess:function(a){a.parent().hasClass("input-control")?a.parent().addClass("success"):a.addClass("success")},_showError:function(a){var b=this.options;a.parent().hasClass("input-control")?a.parent().addClass("error"):a.addClass("error"),b.hideError&&b.hideError>0&&setTimeout(function(){a.parent().removeClass("error")},b.hideError)},_showErrorHint:function(a){var b,c,d,e=this.options,f=a.data("validateHint"),g=a.data("validateHintPosition")||e.hintPosition,h=a.data("validateHintMode")||e.hintMode,i=a.data("validateHintBackground")||e.hintBackground,j=a.data("validateHintColor")||e.hintColor;return void 0!==f&&(b=$("<div/>").addClass(h+" validator-hint"),b.html(void 0!==f?this._format(f,a.val()):""),b.css({"min-width":e.hintSize}),i.isColor()?b.css("background-color",i):b.addClass(i),j.isColor()?b.css("color",j):b.addClass(j),void("line"===h?(b.addClass("hint2").addClass("line"),b.css({position:"relative",width:a.parent().hasClass("input-control")?a.parent().width():a.width(),"z-index":100}),b.appendTo(a.parent()),b.fadeIn(e.hintEasingTime,function(){setTimeout(function(){b.hide().remove()},e.hideHint)})):(b.appendTo("body"),"right"===g?(d=a.offset().left+a.outerWidth()+15-$(window).scrollLeft(),c=a.offset().top+a.outerHeight()/2-b.outerHeight()/2-$(window).scrollTop()-10,b.addClass(g),b.css({top:c,left:$(window).width()+100}),b.show().animate({left:d},e.hintEasingTime,e.hintEasing,function(){setTimeout(function(){b.hide().remove()},e.hideHint)})):"left"===g?(d=a.offset().left-b.outerWidth()-10-$(window).scrollLeft(),c=a.offset().top+a.outerHeight()/2-b.outerHeight()/2-$(window).scrollTop()-10,b.addClass(g),b.css({top:c,left:-a.offset().left-b.outerWidth()-10}),b.show().animate({left:d},e.hintEasingTime,e.hintEasing,function(){setTimeout(function(){b.hide().remove()},e.hideHint)})):"top"===g?(d=a.offset().left+a.outerWidth()/2-b.outerWidth()/2-$(window).scrollLeft(),c=a.offset().top-$(window).scrollTop()-b.outerHeight()-20,b.addClass(g),b.css({top:-b.outerHeight(),left:d}).show().animate({top:c},e.hintEasingTime,e.hintEasing,function(){setTimeout(function(){b.hide().remove()},e.hideHint)})):(d=a.offset().left+a.outerWidth()/2-b.outerWidth()/2-$(window).scrollLeft(),c=a.offset().top-$(window).scrollTop()+a.outerHeight(),b.addClass(g),b.css({top:$(window).height(),left:d}).show().animate({top:c},e.hintEasingTime,e.hintEasing,function(){setTimeout(function(){b.hide().remove()},e.hideHint)})))))},_format:function(a,b){return 1===arguments.length?function(){var b=$.makeArray(arguments);return b.unshift(a),$.validator.format.apply(this,b)}:(arguments.length>2&&b.constructor!==Array&&(b=$.makeArray(arguments).slice(1)),b.constructor!==Array&&(b=[b]),$.each(b,function(b,c){a=a.replace(new RegExp("\\{"+b+"\\}","g"),function(){return c})}),a)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.video",{version:"3.0.14",options:{width:"100%",videoSize:"hd",controls:!0,controlsPosition:"bottom",controlsModel:"full",loopButton:"<span class='mif-loop'></span>",stopButton:"<span class='mif-stop'></span>",playButton:"<span class='mif-play'></span>",pauseButton:"<span class='mif-pause'></span>",muteButton:"<span class='mif-volume-mute2'></span>",volumeLowButton:"<span class='mif-volume-low'></span>",volumeMediumButton:"<span class='mif-volume-medium'></span>",volumeHighButton:"<span class='mif-volume-high'></span>",screenMoreButton:"<span class='mif-enlarge'></span>",screenLessButton:"<span class='mif-shrink'></span>",fullScreenMode:"window",poster:!1,src:!1,loop:!1,preload:!1,autoplay:!1,muted:!1,volume:.5,logo:!1,controlsHide:1e3},_create:function(){var a=this.element;this.options;this._setOptionsFromDOM(),this._createPlayer(),this._addControls(),this._addEvents(),a.data("video",this)},_createPlayer:function(){var a,b=this.element,c=this.options,d=b.width(),e=b.find("video");if("HD"==c.videoSize&&"hd"==c.videoSize?a=9*d/16:"SD"==c.videoSize&&"sd"==c.videoSize&&(a=3*d/4),b.addClass("video-player"),b.css({height:a}),0==e.length&&(e=$("<video/>").appendTo(b)),$.each(["muted","autoplay","controls","height","width","loop","poster","preload"],function(){e.removeAttr(this)}),c.poster&&e.attr("poster",c.poster),c.src)if(c.src.indexOf("youtube")>=0){var f=/v=[(\w)]+/gi;f.exec(c.src)[0].substring(2)}else e.attr("src",c.src);c.loop&&e.attr("loop","loop"),c.preload&&e.attr("preload","auto"),c.autoplay&&e.attr("autoplay","autoplay"),e[0].volume=c.volume,b.data("fullScreen",!1),b.data("muted",!1),b.data("duration",0),b.data("timeInterval",void 0),b.data("played",!1),b.data("volume",e[0].volume)},_addEvents:function(){var a=this,b=this.element,c=(b[0],this.options),d=b.find(".controls"),e=b.find(".video-preloader"),f=(d.find(".play"),d.find(".stop"),d.find(".volume"),d.find(".full"),d.find(".volume-slider"),d.find(".stream-slider"),d.find(".info-box")),g=b.find("video"),h=g[0];g.on("loadedmetadata",function(){b.data("duration",h.duration.toFixed(0)),f.html("00:00 / "+secondsToFormattedString(b.data("duration")))}),g.on("canplay",function(){d.fadeIn(),e.hide();var b=h.buffered.length?Math.round(Math.floor(h.buffered.end(0))/Math.floor(h.duration)*100):0;a._setBufferSize(b)}),g.on("progress",function(){var b=h.buffered.length?Math.round(Math.floor(h.buffered.end(0))/Math.floor(h.duration)*100):0;a._setBufferSize(b)}),g.on("timeupdate",function(){a._setInfoData(),a._setStreamSliderPosition()}),g.on("waiting",function(){e.show()}),g.on("loadeddata",function(){e.hide()}),g.on("ended",function(){a._stopVideo()}),b.on("play",function(){isTouchDevice()&&setTimeout(function(){d.fadeOut()},c.controlsHide)}),b.on("pause",function(){}),b.on("stop",function(){d.show()}),b.on("mouseenter",function(){setTimeout(function(){d.fadeIn()},c.controlsHide)}),b.on("mouseleave",function(){h.currentTime>0&&setTimeout(function(){d.fadeOut()},c.controlsHide)}),isTouchDevice()&&b.on("touchstart",function(){h.currentTime>0&&setTimeout(function(){"none"==d.css("display")?d.fadeIn():d.fadeOut()},c.controlsHide)})},_setInfoData:function(){var a=this.element,b=(a[0],this.options,a.find("video")),c=b[0],d=a.find(".controls .info-box"),e=Math.round(c.currentTime);d.html(secondsToFormattedString(e)+" / "+secondsToFormattedString(a.data("duration")))},_setStreamSliderPosition:function(){var a=this.element,b=(a[0],this.options,a.find("video")),c=b[0],d=a.find(".stream-slider").data("slider");d.value(Math.round(100*c.currentTime/a.data("duration")))},_setBufferSize:function(a){var b=this.element,c=(b[0],this.options,b.find("video")),d=(c[0],b.find(".stream-slider").data("slider"));d.buffer(Math.round(a))},_stop:function(){var a=this.element,b=(a[0],this.options),c=a.find("video"),d=c[0],e=a.find(".controls .stop"),f=a.find(".controls .play");d.pause(),d.currentTime=0,f.html(b.playButton),e.attr("disabled","disabled"),a.data("played",!1),a.find(".stream-slider").data("slider").value(0),a.trigger("stop")},_play:function(){var a=this.element,b=(a[0],this.options),c=a.find("video"),d=c[0],e=a.find(".controls .play"),f=a.find(".controls .stop");d.paused?(e.html(b.pauseButton),d.play(),f.removeAttr("disabled"),a.data("played",!0),a.trigger("play")):(e.html(b.playButton),d.pause(),a.data("played",!1),a.trigger("pause"))},_addControls:function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n=this,o=this.element,p=o[0],q=this.options,r=o.find("video"),s=r[0];q.logo&&(b=$("<img/>").addClass("video-logo").appendTo(o),b.attr("src",q.logo)),a=$("<div/>").addClass("video-preloader").attr("data-role","preloader").attr("data-type","cycle").attr("data-style","color").appendTo(o),c=$("<div/>").addClass("controls").appendTo(o),c.addClass("position-"+q.controlsPosition),m=$("<div/>").addClass("stream-slider-wrapper").appendTo(c),j=$("<div/>").addClass("slider stream-slider").appendTo(m),j.slider({showHint:!0,animate:!1,markerColor:"bg-red",completeColor:"bg-cyan",onStartChange:function(){s.pause()},onChanged:function(a,b){s.seekable.length>0&&(s.currentTime=(o.data("duration")*a/100).toFixed(0)),o.data("played")&&s.currentTime>=0&&s.play()}}),j.data("slider").value(0),q.loopButton!==!1&&(d=$("<button/>").addClass("square-button small-button1 control-button loop no-phone").html(q.loopButton).appendTo(c),d.on("click",function(){d.toggleClass("active"),d.hasClass("active")?r.attr("loop","loop"):r.removeAttr("loop")})),q.playButton!==!1&&(e=$("<button/>").addClass("square-button small-button1 control-button play").html(q.playButton).appendTo(c),e.on("click",function(){n._play()})),q.stopButton!==!1&&(f=$("<button/>").addClass("square-button small-button1 control-button stop no-phone").html(q.stopButton).appendTo(c).attr("disabled","disabled"),f.on("click",function(){n._stop()})),k=$("<div/>").addClass("info-box no-small-phone").appendTo(c),k.html("00:00 / 00:00"),q.screenMoreButton!==!1&&(h=$("<button/>").addClass("square-button small-button1 control-button full").html(q.screenMoreButton).appendTo(c),h.on("click",function(){o.data("fullScreen",!o.data("fullScreen")),o.data("fullScreen")?h.html(q.screenLessButton):h.html(q.screenMoreButton),"window"===q.fullScreenMode?o.toggleClass("full-screen"):o.data("fullScreen")?p.requestFullscreen?p.requestFullscreen():p.msRequestFullscreen?p.msRequestFullscreen():p.mozRequestFullScreen?p.mozRequestFullScreen():p.webkitRequestFullscreen&&p.webkitRequestFullscreen():document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen(),o.data("fullScreen")?$(document).on("keyup.metro_video_player",function(a){27==a.keyCode&&(h.html(q.screenMoreButton),o.data("fullScreen",!1),o.hasClass("full-screen")&&o.removeClass("full-screen"))}):$(document).off("keyup.metro_video_player")})),l=$("<div/>").addClass("control-slider volume-slider-wrapper place-right").appendTo(c),i=$("<div/>").addClass("slider volume-slider").appendTo(l),i.slider({showHint:!0,animate:!1,markerColor:"bg-red",completeColor:"bg-green",onChange:function(a,b){s.volume=a/100,n._setupVolumeButton()}}),i.data("slider").value(100*s.volume),g=$("<button/>").addClass("square-button small-button1 control-button volume place-right").html(q.volumeLowButton).appendTo(c),g.on("click",function(){var a=o.find(".volume-slider").data("slider");o.data("muted",!o.data("muted")),o.data("muted")?(o.data("volume",s.volume),g.html(q.muteButton),a.value(0)):(s.volume=o.data("volume"),a.value(100*o.data("volume")),n._setupVolumeButton()),s.muted=o.data("muted")}),this._setupVolumeButton(),c.hide()},_setupVolumeButton:function(){var a=this.element,b=this.options,c=a.find("video"),d=c[0],e=a.find(".controls"),f=e.find(".volume"),g=d.volume;g>0&&g<.3?f.html(b.volumeLowButton):g>=.3&&g<.6?f.html(b.volumeMediumButton):g>=.6&&g<=1?f.html(b.volumeHighButton):f.html(b.muteButton)},_setOptionsFromDOM:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}})},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)},play:function(a,b){var c,d=this.element,e=(this.options,d.find("video")),f=e[0];this._stop(),e.find("source").remove(),e.removeAttr("src"),c=$("<source>").attr("src",a),void 0!=b&&c.attr("type",b),f.load(),c.appendTo(e),this._play()},stop:function(){this._stop()},pause:function(){var a=this.element,b=this.options,c=a.find("video"),d=c[0],e=a.find(".play");e.html(b.playButton),d.pause(),a.data("played",!1),a.trigger("pause")},resume:function(){var a=this.element,b=this.options,c=a.find("video"),d=c[0],e=a.find(".play"),f=a.find(".stop");e.html(b.pauseButton),d.play(),f.removeAttr("disabled"),a.data("played",!0),a.trigger("play")}}),$.widget("metro.window",{version:"3.0.0",options:{parent:"default",captionStyle:!1,contentStyle:!1,buttons:{btnMin:!1,btnMax:!1,btnClose:!1},title:!1,content:!1,icon:!1,type:"default",size:!1,onBtnMinClick:function(a){a.preventDefault()},onBtnMaxClick:function(a){a.preventDefault()},onBtnCloseClick:function(a){a.preventDefault()},onShow:function(a){a.preventDefault()},onHide:function(a){a.preventDefault()}},_create:function(){var a=this.element,b=this.options;$.each(a.data(),function(a,c){if(a in b)try{b[a]=$.parseJSON(c)}catch(d){b[a]=c}}),this._createWindow(),a.data("window",this)},_createWindow:function(){var a,b,c=this.element,d=this.options,e=c;e.addClass("window"),a=$("<div/>").addClass("window-caption"),b=$("<div/>").addClass("window-content"),(d.icon||d.title)&&a.appendTo(e),b.appendTo(e),"object"==typeof d.size&&$.each(d.size,function(a,c){b.css(a,c)}),d.captionStyle&&"object"==typeof d.captionStyle&&$.each(d.captionStyle,function(b,c){c.isColor()?a.css(b,c+" !important"):a.addClass(c)}),d.contentStyle&&"object"==typeof d.contentStyle&&$.each(d.contentStyle,function(a,c){c.isColor()?b.css(a,c+" !important"):b.addClass(c)}),e.appendTo("default"!==d.parent?d.parent:c.parent()),this.icon(),this.title(),this.buttons(),this.content()},icon:function(){var a=this.options,b=this.element.children(".window-caption"),c=b.find(".window-caption-icon");a.icon&&(0===c.length?$("<span/>").addClass("window-caption-icon").html(a.icon).appendTo(b):c.html(a.icon))},title:function(){var a=this.options,b=this.element.children(".window-caption"),c=b.find(".window-caption-title");a.title&&(0===c.length?$("<span/>").addClass("window-caption-title").html(a.title).appendTo(b):c.html(a.title))},buttons:function(){var a,b,c,d=this.options,f=this.element.children(".window-caption");if(0!==f.length&&d.buttons){var g=d.buttons.btnMin,h=d.buttons.btnMax,i=d.buttons.btnClose;if(g&&g!==!1)if(a=$("<span/>").addClass("btn-min").appendTo(f),"object"==typeof g&&a.css(g),"string"==typeof d.onBtnMinClick){var j=window[d.onBtnMinClick];a.on("click",j)}else a.on("click",d.onBtnMinClick(e));if(h&&h!==!1)if(b=$("<span/>").addClass("btn-max").appendTo(f),"object"==typeof h&&b.css(h),"string"==typeof d.onBtnMaxClick){var k=window[d.onBtnMaxClick];b.on("click",k)}else b.on("click",d.onBtnMaxClick(e));if(i&&i!==!1)if(c=$("<span/>").addClass("btn-close").appendTo(f),"object"==typeof i&&c.css(i),"string"==typeof d.onBtnCloseClick){var l=window[d.onBtnCloseClick];c.on("click",l)}else c.on("click",d.onBtnCloseClick(e))}},content:function(){var a=this.options,b=a.content,c=this.element.children(".window-content");if(b)if(b.isUrl()){if(b.indexOf("youtube")>-1){var d=$("<iframe>"),e=$("<div/>").addClass("video-container").appendTo(c);d.attr("src",b).attr("frameborder","0"),d.appendTo(e)}}else c.html(b)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.wizard",{version:"3.0.0",options:{stepper:!0,stepperType:"default",stepperClickable:!1,startPage:"default",finishStep:"default",locale:window.METRO_CURRENT_LOCALE,buttons:{cancel:!0,help:!0,prior:!0,next:!0,finish:!0},onCancel:function(a,b){},onHelp:function(a,b){},onPrior:function(a,b){return!0},onNext:function(a,b){return!0},onFinish:function(a,b){},onPage:function(a,b){},onStepClick:function(a){}},_stepper:void 0,_currentStep:0,_steps:void 0,_create:function(){var that=this,element=this.element,o=this.options,steps=element.find(".step");$.each(element.data(),function(a,b){if(a in o)try{o[a]=$.parseJSON(b)}catch(c){o[a]=b}}),this._steps=steps,o.stepper&&(this._stepper=this._createStepper(steps.length).insertBefore(element.find(".steps")).stepper({clickable:o.stepperClickable}).on("stepclick",function(e,s){
+if(that.stepTo(s),"function"==typeof o.onStepClick)o.onStepClick(s);else if("function"==typeof window[o.onStepClick])window[o.onStepClick](s);else{var result=eval("(function(){"+o.onStepClick+"})");result.call(s)}})),void 0!==element.data("locale")&&(o.locale=element.data("locale")),this._createEvents();var sp="default"!==o.startPage&&parseInt(o.startPage)>1?o.startPage:1;this.stepTo(sp),"string"==typeof o.onPage?window[o.onPage](this._currentStep+1,element):o.onPage(this._currentStep+1,element),element.data("wizard",this)},_createStepper:function(a){var b,c=this.options;return b=$("<div/>").addClass("stepper").attr("data-role","stepper").attr("data-steps",a),"default"!==c.stepperType&&b.addClass(c.stepperType),b},_createEvents:function(){var that=this,element=this.element,o=this.options;if(o.buttons){var actions=$("<div/>").addClass("actions").appendTo(element),group_left=$("<div/>").addClass("group-left").appendTo(actions),group_right=$("<div/>").addClass("group-right").appendTo(actions),cancel_button,help_button,prior_button,next_button,finish_button;o.buttons.cancel&&(cancel_button=$("<button type='button'/>").addClass("btn-cancel").html(window.METRO_LOCALES[o.locale].buttons[2]),"boolean"==typeof o.buttons.cancel?cancel_button.appendTo(group_left):(o.buttons.cancel.title&&cancel_button.html(o.buttons.cancel.title),o.buttons.cancel.cls&&cancel_button.addClass(o.buttons.cancel.cls),o.buttons.cancel.group&&"left"!==o.buttons.cancel.group?cancel_button.appendTo(group_right):cancel_button.appendTo(group_left)),cancel_button.on("click",function(){if("function"==typeof o.onCancel)o.onCancel(that._currentStep+1,element);else if("function"==typeof window[o.onCancel])window[o.onCancel](that._currentStep+1,element);else{var result=eval("(function(){"+o.onCancel+"})");result.call(that._currentStep+1,element)}})),o.buttons.help&&(help_button=$("<button type='button'/>").addClass("btn-help").html(window.METRO_LOCALES[o.locale].buttons[3]),"boolean"==typeof o.buttons.help?help_button.appendTo(group_right):(o.buttons.help.title&&help_button.html(o.buttons.help.title),o.buttons.help.cls&&help_button.addClass(o.buttons.help.cls),o.buttons.help.group&&"left"!==o.buttons.help.group?help_button.appendTo(group_right):help_button.appendTo(group_left)),help_button.on("click",function(){if("function"==typeof o.onHelp)o.onHelp(that._currentStep+1,element);else if("function"==typeof window[o.onHelp])window[o.onHelp](that._currentStep+1,element);else{var result=eval("(function(){"+o.onHelp+"})");result.call(that._currentStep+1,element)}})),o.buttons.prior&&(prior_button=$("<button type='button'/>").addClass("btn-prior").html(window.METRO_LOCALES[o.locale].buttons[4]),"boolean"==typeof o.buttons.prior?prior_button.appendTo(group_right):(o.buttons.prior.title&&prior_button.html(o.buttons.prior.title),o.buttons.prior.cls&&prior_button.addClass(o.buttons.prior.cls),o.buttons.prior.group&&"left"!==o.buttons.prior.group?prior_button.appendTo(group_right):prior_button.appendTo(group_left)),prior_button.on("click",function(){if("function"==typeof o.onPrior)o.onPrior(that._currentStep+1,element)&&that.prior();else if("function"==typeof window[o.onPrior])window[o.onPrior](that._currentStep+1,element)&&that.prior();else{var result=eval("(function(){"+o.onPrior+"})");result.call(that._currentStep+1,element)&&that.prior()}})),o.buttons.next&&(next_button=$("<button type='button'/>").addClass("btn-next").html(window.METRO_LOCALES[o.locale].buttons[5]),"boolean"==typeof o.buttons.next?next_button.appendTo(group_right):(o.buttons.next.title&&next_button.html(o.buttons.next.title),o.buttons.next.cls&&next_button.addClass(o.buttons.next.cls),o.buttons.next.group&&"left"!==o.buttons.next.group?next_button.appendTo(group_right):next_button.appendTo(group_left)),next_button.on("click",function(){if("function"==typeof o.onNext)o.onNext(that._currentStep+1,element)&&that.next();else if("function"==typeof window[o.onNext])window[o.onNext](that._currentStep+1,element)&&that.next();else{var result=eval("(function(){"+o.onNext+"})");result.call(that._currentStep+1,element)&&that.next()}})),o.buttons.finish&&(finish_button=$("<button type='button'/>").addClass("btn-finish").html(window.METRO_LOCALES[o.locale].buttons[6]),"boolean"==typeof o.buttons.finish?finish_button.appendTo(group_right):(o.buttons.finish.title&&finish_button.html(o.buttons.finish.title),o.buttons.finish.cls&&finish_button.addClass(o.buttons.finish.cls),o.buttons.finish.group&&"left"!==o.buttons.finish.group?finish_button.appendTo(group_right):finish_button.appendTo(group_left)),finish_button.on("click",function(){if("function"==typeof o.onFinish)o.onFinish(that._currentStep+1,element);else if("function"==typeof window[o.onFinish])window[o.onFinish](that._currentStep+1,element);else{var result=eval("(function(){"+o.onFinish+"})");result.call(that._currentStep+1,element)}}))}},next:function(){var element=this.element,that=this,o=this.options,new_step=this._currentStep+1;if(new_step===this._steps.length)return!1;if(this._currentStep=new_step,this._steps.hide(),$(this._steps[new_step]).show(),"function"==typeof o.onPage)o.onPage(that._currentStep+1,element);else if("function"==typeof window[o.onPage])window[o.onPage](that._currentStep+1,element);else{var result=eval("(function(){"+o.onPage+"})");result.call(that._currentStep+1,element)}void 0!==this._stepper&&this._stepper.stepper("stepTo",this._currentStep+1);var finish="default"===o.finishStep?this._steps.length-1:o.finishStep;return new_step===finish?this.element.find(".btn-finish").attr("disabled",!1):this.element.find(".btn-finish").attr("disabled",!0),new_step===this._steps.length-1?this.element.find(".btn-next").attr("disabled",!0):this.element.find(".btn-next").attr("disabled",!1),new_step>0&&this.element.find(".btn-prior").attr("disabled",!1),!0},prior:function(){var element=this.element,that=this,new_step=this._currentStep-1,o=this.options;if(new_step<0)return!1;if(this._currentStep=new_step,this._steps.hide(),$(this._steps[new_step]).show(),"function"==typeof o.onPage)o.onPage(that._currentStep+1,element);else if("function"==typeof window[o.onPage])window[o.onPage](that._currentStep+1,element);else{var result=eval("(function(){"+o.onPage+"})");result.call(that._currentStep+1,element)}void 0!==this._stepper&&this._stepper.stepper("stepTo",this._currentStep+1);var finish="default"===o.finishStep?this._steps.length-1:o.finishStep;return new_step===finish?this.element.find(".btn-finish").attr("disabled",!1):this.element.find(".btn-finish").attr("disabled",!0),0===new_step?this.element.find(".btn-prior").attr("disabled",!0):this.element.find(".btn-prior").attr("disabled",!1),new_step<finish&&this.element.find(".btn-next").attr("disabled",!1),!0},stepTo:function(step){var element=this.element,that=this,new_step=step-1,o=this.options;if(new_step<0)return!1;if(this._currentStep=new_step,this._steps.hide(),$(this._steps[new_step]).show(),"function"==typeof o.onPage)o.onPage(that._currentStep+1,element);else if("function"==typeof window[o.onPage])window[o.onPage](that._currentStep+1,element);else{var result=eval("(function(){"+o.onPage+"})");result.call(that._currentStep+1,element)}void 0!==this._stepper&&this._stepper.stepper("stepTo",step);var finish="default"===o.finishStep?this._steps.length-1:o.finishStep;return new_step===finish?this.element.find(".btn-finish").attr("disabled",!1):this.element.find(".btn-finish").attr("disabled",!0),this.element.find(".btn-next").attr("disabled",new_step>=finish),this.element.find(".btn-prior").attr("disabled",new_step<=0),!0},stepper:function(){return this._stepper},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.widget("metro.wizard2",{version:"3.0.0",options:{start:1,finish:"default",buttonLabels:{prev:"&lt;",next:"&gt;",finish:"OK",help:"?"},onPrior:function(a,b){return!0},onNext:function(a,b){return!0},onFinish:function(a,b){},onHelp:function(a,b){},onPage:function(a,b){}},_step:1,_steps:void 0,_create:function(){var a=this,b=this.element,c=this.options;$.each(b.data(),function(a,b){if(a in c)try{c[a]=$.parseJSON(b)}catch(d){c[a]=b}}),this._step=c.start,this._steps=b.children(".step"),this._height=0,this._width=0,"default"===c.finish&&(c.finish=this._steps.length),$.each(this._steps,function(b,c){$(c).outerHeight()>a._height&&(a._height=$(c).outerHeight()),$(c).hasClass("active")&&(a._step=b+1)}),this._width=b.innerWidth()-(24*(this._steps.length-1)+this._steps.length),b.children(".step").css({height:this._height+48}),$(window).resize(function(){a._width=b.innerWidth()-(24*(a._steps.length-1)+a._steps.length),a.step(a._step)}),this._createActionBar(),this.step(c.start),this._placeActionBar(),b.data("wizard2",this)},_createActionBar:function(){var that=this,element=this.element,o=this.options,bar=$("<div/>").addClass("action-bar").appendTo(element),btn_prev,btn_next,btn_help,btn_finish;btn_help=$("<button/>").html(o.buttonLabels.help).addClass("button cycle-button medium-button wiz-btn-help place-left").appendTo(bar),btn_finish=$("<button/>").html(o.buttonLabels.finish).addClass("button cycle-button medium-button wiz-btn-finish place-right").appendTo(bar),btn_next=$("<button/>").html(o.buttonLabels.next).addClass("button cycle-button medium-button wiz-btn-next place-right").appendTo(bar),btn_prev=$("<button/>").html(o.buttonLabels.prev).addClass("button cycle-button medium-button wiz-btn-prev place-right").appendTo(bar),btn_help.on("click",function(){if("function"==typeof o.onHelp)o.onHelp(that._step,that);else if("function"==typeof window[o.onHelp])window[o.onHelp](that._step,that);else{var result=eval("(function(){"+o.onHelp+"})");result.call(that._step,that)}}),btn_finish.on("click",function(){if("function"==typeof o.onFinish)o.onFinish(that._step,that);else if("function"==typeof window[o.onFinish])window[o.onFinish](that._step,that);else{var result=eval("(function(){"+o.onFinish+"})");result.call(that._step,that)}}),btn_prev.on("click",function(){if("function"==typeof o.onPrior)o.onPrior(that._step,element)&&that.prior();else if("function"==typeof window[o.onPrior])window[o.onPrior](that._step,element)&&that.prior();else{var result=eval("(function(){"+o.onPrior+"})");result.call(that._step,element)&&that.prior()}}),btn_next.on("click",function(){if("function"==typeof o.onNext)o.onNext(that._step,element)&&that.next();else if("function"==typeof window[o.onNext])window[o.onNext](that._step,element)&&that.next();else{var result=eval("(function(){"+o.onNext+"})");result.call(that._step,element)&&that.next()}})},_placeActionBar:function(){var a=this.element,b=(this.options,a.find(".action-bar")),c=a.find(".step.active"),d=c.position().left,e=c.innerWidth();b.css({left:d,width:e})},step:function(a){var b=this.options;this.element.children(".step").removeClass("active prev next"),$(this.element.children(".step")[a-1]).addClass("active").css("width",this._width),this.element.children(".step.active").prevAll().addClass("prev").css("width",0),this.element.children(".step.active").nextAll().addClass("next").css("width",0),this._placeActionBar(),1===a?this.element.find(".wiz-btn-prev").hide():this.element.find(".wiz-btn-prev").show(),a===this._steps.length?this.element.find(".wiz-btn-next").hide():this.element.find(".wiz-btn-next").show(),a!==b.finish?this.element.find(".wiz-btn-finish").hide():this.element.find(".wiz-btn-finish").show()},prior:function(){var a=this._step-1;return!(a<=0)&&(this._step=a,this.step(a),!0)},next:function(){var a=this._step+1;return!(a>this._steps.length)&&(this._step=a,this.step(a),!0)},_destroy:function(){},_setOption:function(a,b){this._super("_setOption",a,b)}}),$.Metro.init()});var fabric=fabric||{version:"1.6.7"};"undefined"!=typeof exports&&(exports.fabric=fabric),"undefined"!=typeof document&&"undefined"!=typeof window?(fabric.document=document,fabric.window=window,window.fabric=fabric):(fabric.document=require("jsdom").jsdom("<!DOCTYPE html><html><head></head><body></body></html>"),fabric.document.createWindow?fabric.window=fabric.document.createWindow():fabric.window=fabric.document.parentWindow),fabric.isTouchSupported="ontouchstart"in fabric.document.documentElement,fabric.isLikelyNode="undefined"!=typeof Buffer&&"undefined"==typeof window,fabric.SHARED_ATTRIBUTES=["display","transform","fill","fill-opacity","fill-rule","opacity","stroke","stroke-dasharray","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","id"],fabric.DPI=96,fabric.reNum="(?:[-+]?(?:\\d+|\\d*\\.\\d+)(?:e[-+]?\\d+)?)",fabric.fontPaths={},fabric.charWidthsCache={},fabric.devicePixelRatio=fabric.window.devicePixelRatio||fabric.window.webkitDevicePixelRatio||fabric.window.mozDevicePixelRatio||1,function(){function a(a,b){if(this.__eventListeners[a]){var c=this.__eventListeners[a];b?c[c.indexOf(b)]=!1:fabric.util.array.fill(c,!1)}}function b(a,b){if(this.__eventListeners||(this.__eventListeners={}),1===arguments.length)for(var c in a)this.on(c,a[c]);else this.__eventListeners[a]||(this.__eventListeners[a]=[]),this.__eventListeners[a].push(b);return this}function c(b,c){if(this.__eventListeners){if(0===arguments.length)for(b in this.__eventListeners)a.call(this,b);else if(1===arguments.length&&"object"==typeof arguments[0])for(var d in b)a.call(this,d,b[d]);else a.call(this,b,c);return this}}function d(a,b){if(this.__eventListeners){var c=this.__eventListeners[a];if(c){for(var d=0,e=c.length;d<e;d++)c[d]&&c[d].call(this,b||{});return this.__eventListeners[a]=c.filter(function(a){return a!==!1}),this}}}fabric.Observable={observe:b,stopObserving:c,fire:d,on:b,off:c,trigger:d}}(),fabric.Collection={_objects:[],add:function(){if(this._objects.push.apply(this._objects,arguments),this._onObjectAdded)for(var a=0,b=arguments.length;a<b;a++)this._onObjectAdded(arguments[a]);return this.renderOnAddRemove&&this.renderAll(),this},insertAt:function(a,b,c){var d=this.getObjects();return c?d[b]=a:d.splice(b,0,a),this._onObjectAdded&&this._onObjectAdded(a),this.renderOnAddRemove&&this.renderAll(),this},remove:function(){for(var a,b=this.getObjects(),c=!1,d=0,e=arguments.length;d<e;d++)a=b.indexOf(arguments[d]),a!==-1&&(c=!0,b.splice(a,1),this._onObjectRemoved&&this._onObjectRemoved(arguments[d]));return this.renderOnAddRemove&&c&&this.renderAll(),this},forEachObject:function(a,b){for(var c=this.getObjects(),d=0,e=c.length;d<e;d++)a.call(b,c[d],d,c);return this},getObjects:function(a){return"undefined"==typeof a?this._objects:this._objects.filter(function(b){return b.type===a})},item:function(a){return this.getObjects()[a]},isEmpty:function(){return 0===this.getObjects().length},size:function(){return this.getObjects().length},contains:function(a){return this.getObjects().indexOf(a)>-1},complexity:function(){return this.getObjects().reduce(function(a,b){return a+=b.complexity?b.complexity():0},0)}},function(a){var b=Math.sqrt,c=Math.atan2,d=Math.pow,e=Math.abs,f=Math.PI/180;fabric.util={removeFromArray:function(a,b){var c=a.indexOf(b);return c!==-1&&a.splice(c,1),a},getRandomInt:function(a,b){return Math.floor(Math.random()*(b-a+1))+a},degreesToRadians:function(a){return a*f},radiansToDegrees:function(a){return a/f},rotatePoint:function(a,b,c){a.subtractEquals(b);var d=fabric.util.rotateVector(a,c);return new fabric.Point(d.x,d.y).addEquals(b)},rotateVector:function(a,b){var c=Math.sin(b),d=Math.cos(b),e=a.x*d-a.y*c,f=a.x*c+a.y*d;return{x:e,y:f}},transformPoint:function(a,b,c){return c?new fabric.Point(b[0]*a.x+b[2]*a.y,b[1]*a.x+b[3]*a.y):new fabric.Point(b[0]*a.x+b[2]*a.y+b[4],b[1]*a.x+b[3]*a.y+b[5])},makeBoundingBoxFromPoints:function(a){var b=[a[0].x,a[1].x,a[2].x,a[3].x],c=fabric.util.array.min(b),d=fabric.util.array.max(b),e=Math.abs(c-d),f=[a[0].y,a[1].y,a[2].y,a[3].y],g=fabric.util.array.min(f),h=fabric.util.array.max(f),i=Math.abs(g-h);return{left:c,top:g,width:e,height:i}},invertTransform:function(a){var b=1/(a[0]*a[3]-a[1]*a[2]),c=[b*a[3],-b*a[1],-b*a[2],b*a[0]],d=fabric.util.transformPoint({x:a[4],y:a[5]},c,!0);return c[4]=-d.x,c[5]=-d.y,c},toFixed:function(a,b){return parseFloat(Number(a).toFixed(b))},parseUnit:function(a,b){var c=/\D{0,2}$/.exec(a),d=parseFloat(a);switch(b||(b=fabric.Text.DEFAULT_SVG_FONT_SIZE),c[0]){case"mm":return d*fabric.DPI/25.4;case"cm":return d*fabric.DPI/2.54;case"in":return d*fabric.DPI;case"pt":return d*fabric.DPI/72;case"pc":return d*fabric.DPI/72*12;case"em":return d*b;default:return d}},falseFunction:function(){return!1},getKlass:function(a,b){return a=fabric.util.string.camelize(a.charAt(0).toUpperCase()+a.slice(1)),fabric.util.resolveNamespace(b)[a]},resolveNamespace:function(b){if(!b)return fabric;var c,d=b.split("."),e=d.length,f=a||fabric.window;for(c=0;c<e;++c)f=f[d[c]];return f},loadImage:function(a,b,c,d){if(!a)return void(b&&b.call(c,a));var e=fabric.util.createImage();e.onload=function(){b&&b.call(c,e),e=e.onload=e.onerror=null},e.onerror=function(){fabric.log("Error loading "+e.src),b&&b.call(c,null,!0),e=e.onload=e.onerror=null},0!==a.indexOf("data")&&d&&(e.crossOrigin=d),e.src=a},enlivenObjects:function(a,b,c,d){function e(){++g===h&&b&&b(f)}a=a||[];var f=[],g=0,h=a.length;return h?void a.forEach(function(a,b){if(!a||!a.type)return void e();var g=fabric.util.getKlass(a.type,c);g.async?g.fromObject(a,function(c,g){g||(f[b]=c,d&&d(a,f[b])),e()}):(f[b]=g.fromObject(a),d&&d(a,f[b]),e())}):void(b&&b(f))},groupSVGElements:function(a,b,c){var d;return d=new fabric.PathGroup(a,b),"undefined"!=typeof c&&d.setSourcePath(c),d},populateWithProperties:function(a,b,c){if(c&&"[object Array]"===Object.prototype.toString.call(c))for(var d=0,e=c.length;d<e;d++)c[d]in a&&(b[c[d]]=a[c[d]])},drawDashedLine:function(a,d,e,f,g,h){var i=f-d,j=g-e,k=b(i*i+j*j),l=c(j,i),m=h.length,n=0,o=!0;for(a.save(),a.translate(d,e),a.moveTo(0,0),a.rotate(l),d=0;k>d;)d+=h[n++%m],d>k&&(d=k),a[o?"lineTo":"moveTo"](d,0),o=!o;a.restore()},createCanvasElement:function(a){return a||(a=fabric.document.createElement("canvas")),a.getContext||"undefined"==typeof G_vmlCanvasManager||G_vmlCanvasManager.initElement(a),a},createImage:function(){return fabric.isLikelyNode?new(require("canvas").Image):fabric.document.createElement("img")},createAccessors:function(a){var b,c,d,e,f,g=a.prototype;for(b=g.stateProperties.length;b--;)c=g.stateProperties[b],d=c.charAt(0).toUpperCase()+c.slice(1),e="set"+d,f="get"+d,g[f]||(g[f]=function(a){return new Function('return this.get("'+a+'")')}(c)),g[e]||(g[e]=function(a){return new Function("value",'return this.set("'+a+'", value)')}(c))},clipContext:function(a,b){b.save(),b.beginPath(),a.clipTo(b),b.clip()},multiplyTransformMatrices:function(a,b,c){return[a[0]*b[0]+a[2]*b[1],a[1]*b[0]+a[3]*b[1],a[0]*b[2]+a[2]*b[3],a[1]*b[2]+a[3]*b[3],c?0:a[0]*b[4]+a[2]*b[5]+a[4],c?0:a[1]*b[4]+a[3]*b[5]+a[5]]},qrDecompose:function(a){var e=c(a[1],a[0]),g=d(a[0],2)+d(a[1],2),h=b(g),i=(a[0]*a[3]-a[2]*a[1])/h,j=c(a[0]*a[2]+a[1]*a[3],g);return{angle:e/f,scaleX:h,scaleY:i,skewX:j/f,skewY:0,translateX:a[4],translateY:a[5]}},customTransformMatrix:function(a,b,c){var d=[1,0,e(Math.tan(c*f)),1],g=[e(a),0,0,e(b)];return fabric.util.multiplyTransformMatrices(g,d,!0)},resetObjectTransform:function(a){a.scaleX=1,a.scaleY=1,a.skewX=0,a.skewY=0,a.flipX=!1,a.flipY=!1,a.setAngle(0)},getFunctionBody:function(a){return(String(a).match(/function[^{]*\{([\s\S]*)\}/)||{})[1]},isTransparent:function(a,b,c,d){d>0&&(b>d?b-=d:b=0,c>d?c-=d:c=0);var e,f,g=!0,h=a.getImageData(b,c,2*d||1,2*d||1),i=h.data.length;for(e=3;e<i&&(f=h.data[e],g=f<=0,g!==!1);e+=4);return h=null,g},parsePreserveAspectRatioAttribute:function(a){var b,c="meet",d="Mid",e="Mid",f=a.split(" ");return f&&f.length&&(c=f.pop(),"meet"!==c&&"slice"!==c?(b=c,c="meet"):f.length&&(b=f.pop())),d="none"!==b?b.slice(1,4):"none",e="none"!==b?b.slice(5,8):"none",{meetOrSlice:c,alignX:d,alignY:e}},clearFabricFontCache:function(a){a?fabric.charWidthsCache[a]&&delete fabric.charWidthsCache[a]:fabric.charWidthsCache={}}}}("undefined"!=typeof exports?exports:this),function(){function a(a,d,f,g,i,j,k){var l=h.call(arguments);if(e[l])return e[l];var m=Math.PI,n=k*m/180,o=Math.sin(n),p=Math.cos(n),q=0,r=0;f=Math.abs(f),g=Math.abs(g);var s=-p*a*.5-o*d*.5,t=-p*d*.5+o*a*.5,u=f*f,v=g*g,w=t*t,x=s*s,y=u*v-u*w-v*x,z=0;if(y<0){var A=Math.sqrt(1-y/(u*v));f*=A,g*=A}else z=(i===j?-1:1)*Math.sqrt(y/(u*w+v*x));var B=z*f*t/g,C=-z*g*s/f,D=p*B-o*C+.5*a,E=o*B+p*C+.5*d,F=c(1,0,(s-B)/f,(t-C)/g),G=c((s-B)/f,(t-C)/g,(-s-B)/f,(-t-C)/g);0===j&&G>0?G-=2*m:1===j&&G<0&&(G+=2*m);for(var H=Math.ceil(Math.abs(G/m*2)),I=[],J=G/H,K=8/3*Math.sin(J/4)*Math.sin(J/4)/Math.sin(J/2),L=F+J,M=0;M<H;M++)I[M]=b(F,L,p,o,f,g,D,E,K,q,r),q=I[M][4],r=I[M][5],F=L,L+=J;return e[l]=I,I}function b(a,b,c,d,e,g,i,j,k,l,m){var n=h.call(arguments);if(f[n])return f[n];var o=Math.cos(a),p=Math.sin(a),q=Math.cos(b),r=Math.sin(b),s=c*e*q-d*g*r+i,t=d*e*q+c*g*r+j,u=l+k*(-c*e*p-d*g*o),v=m+k*(-d*e*p+c*g*o),w=s+k*(c*e*r+d*g*q),x=t+k*(d*e*r-c*g*q);return f[n]=[u,v,w,x,s,t],f[n]}function c(a,b,c,d){var e=Math.atan2(b,a),f=Math.atan2(d,c);return f>=e?f-e:2*Math.PI-(e-f)}function d(a,b,c,d,e,f,i,j){var k=h.call(arguments);if(g[k])return g[k];var l,m,n,o,p,q,r,s,t=Math.sqrt,u=Math.min,v=Math.max,w=Math.abs,x=[],y=[[],[]];m=6*a-12*c+6*e,l=-3*a+9*c-9*e+3*i,n=3*c-3*a;for(var z=0;z<2;++z)if(z>0&&(m=6*b-12*d+6*f,l=-3*b+9*d-9*f+3*j,n=3*d-3*b),w(l)<1e-12){if(w(m)<1e-12)continue;o=-n/m,0<o&&o<1&&x.push(o)}else r=m*m-4*n*l,r<0||(s=t(r),p=(-m+s)/(2*l),0<p&&p<1&&x.push(p),q=(-m-s)/(2*l),0<q&&q<1&&x.push(q));for(var A,B,C,D=x.length,E=D;D--;)o=x[D],C=1-o,A=C*C*C*a+3*C*C*o*c+3*C*o*o*e+o*o*o*i,y[0][D]=A,B=C*C*C*b+3*C*C*o*d+3*C*o*o*f+o*o*o*j,y[1][D]=B;y[0][E]=a,y[1][E]=b,y[0][E+1]=i,y[1][E+1]=j;var F=[{x:u.apply(null,y[0]),y:u.apply(null,y[1])},{x:v.apply(null,y[0]),y:v.apply(null,y[1])}];return g[k]=F,F}var e={},f={},g={},h=Array.prototype.join;fabric.util.drawArc=function(b,c,d,e){for(var f=e[0],g=e[1],h=e[2],i=e[3],j=e[4],k=e[5],l=e[6],m=[[],[],[],[]],n=a(k-c,l-d,f,g,i,j,h),o=0,p=n.length;o<p;o++)m[o][0]=n[o][0]+c,m[o][1]=n[o][1]+d,m[o][2]=n[o][2]+c,m[o][3]=n[o][3]+d,m[o][4]=n[o][4]+c,m[o][5]=n[o][5]+d,b.bezierCurveTo.apply(b,m[o])},fabric.util.getBoundsOfArc=function(b,c,e,f,g,h,i,j,k){for(var l,m=0,n=0,o=[],p=a(j-b,k-c,e,f,h,i,g),q=0,r=p.length;q<r;q++)l=d(m,n,p[q][0],p[q][1],p[q][2],p[q][3],p[q][4],p[q][5]),o.push({x:l[0].x+b,y:l[0].y+c}),o.push({x:l[1].x+b,y:l[1].y+c}),m=p[q][4],n=p[q][5];return o},fabric.util.getBoundsOfCurve=d}(),function(){function a(a,b){for(var c=f.call(arguments,2),d=[],e=0,g=a.length;e<g;e++)d[e]=c.length?a[e][b].apply(a[e],c):a[e][b].call(a[e]);return d}function b(a,b){return e(a,b,function(a,b){return a>=b})}function c(a,b){return e(a,b,function(a,b){return a<b})}function d(a,b){for(var c=a.length;c--;)a[c]=b;return a}function e(a,b,c){if(a&&0!==a.length){var d=a.length-1,e=b?a[d][b]:a[d];if(b)for(;d--;)c(a[d][b],e)&&(e=a[d][b]);else for(;d--;)c(a[d],e)&&(e=a[d]);return e}}var f=Array.prototype.slice;Array.prototype.indexOf||(Array.prototype.indexOf=function(a){if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>0&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&d!==Number.POSITIVE_INFINITY&&d!==Number.NEGATIVE_INFINITY&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);e<c;e++)if(e in b&&b[e]===a)return e;return-1}),Array.prototype.forEach||(Array.prototype.forEach=function(a,b){for(var c=0,d=this.length>>>0;c<d;c++)c in this&&a.call(b,this[c],c,this)}),Array.prototype.map||(Array.prototype.map=function(a,b){for(var c=[],d=0,e=this.length>>>0;d<e;d++)d in this&&(c[d]=a.call(b,this[d],d,this));return c}),Array.prototype.every||(Array.prototype.every=function(a,b){for(var c=0,d=this.length>>>0;c<d;c++)if(c in this&&!a.call(b,this[c],c,this))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(a,b){for(var c=0,d=this.length>>>0;c<d;c++)if(c in this&&a.call(b,this[c],c,this))return!0;return!1}),Array.prototype.filter||(Array.prototype.filter=function(a,b){for(var c,d=[],e=0,f=this.length>>>0;e<f;e++)e in this&&(c=this[e],a.call(b,c,e,this)&&d.push(c));return d}),Array.prototype.reduce||(Array.prototype.reduce=function(a){var b,c=this.length>>>0,d=0;if(arguments.length>1)b=arguments[1];else for(;;){if(d in this){b=this[d++];break}if(++d>=c)throw new TypeError}for(;d<c;d++)d in this&&(b=a.call(null,b,this[d],d,this));return b}),fabric.util.array={fill:d,invoke:a,min:c,max:b}}(),function(){function a(a,c,d){if(d)if(!fabric.isLikelyNode&&c instanceof Element)a=c;else if(c instanceof Array)a=c.map(function(a){return b(a,d)});else if(c instanceof Object)for(var e in c)a[e]=b(c[e],d);else a=c;else for(var e in c)a[e]=c[e];return a}function b(b,c){return a({},b,c)}fabric.util.object={extend:a,clone:b}}(),function(){function a(a){return a.replace(/-+(.)?/g,function(a,b){return b?b.toUpperCase():""})}function b(a,b){return a.charAt(0).toUpperCase()+(b?a.slice(1):a.slice(1).toLowerCase())}function c(a){return a.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\xA0]+/,"").replace(/[\s\xA0]+$/,"")}),fabric.util.string={camelize:a,capitalize:b,escapeXml:c}}(),function(){var a=Array.prototype.slice,b=Function.prototype.apply,c=function(){};Function.prototype.bind||(Function.prototype.bind=function(d){var e,f=this,g=a.call(arguments,1);return e=g.length?function(){return b.call(f,this instanceof c?this:d,g.concat(a.call(arguments)))}:function(){return b.call(f,this instanceof c?this:d,arguments)},c.prototype=this.prototype,e.prototype=new c,e})}(),function(){function a(){}function b(a){var b=this.constructor.superclass.prototype[a];return arguments.length>1?b.apply(this,d.call(arguments,1)):b.call(this)}function c(){function c(){this.initialize.apply(this,arguments)}var f=null,h=d.call(arguments,0);"function"==typeof h[0]&&(f=h.shift()),c.superclass=f,c.subclasses=[],f&&(a.prototype=f.prototype,c.prototype=new a,f.subclasses.push(c));for(var i=0,j=h.length;i<j;i++)g(c,h[i],f);return c.prototype.initialize||(c.prototype.initialize=e),c.prototype.constructor=c,c.prototype.callSuper=b,c}var d=Array.prototype.slice,e=function(){},f=function(){for(var a in{toString:1})if("toString"===a)return!1;return!0}(),g=function(a,b,c){for(var d in b)d in a.prototype&&"function"==typeof a.prototype[d]&&(b[d]+"").indexOf("callSuper")>-1?a.prototype[d]=function(a){return function(){var d=this.constructor.superclass;this.constructor.superclass=c;var e=b[a].apply(this,arguments);if(this.constructor.superclass=d,"initialize"!==a)return e}}(d):a.prototype[d]=b[d],f&&(b.toString!==Object.prototype.toString&&(a.prototype.toString=b.toString),b.valueOf!==Object.prototype.valueOf&&(a.prototype.valueOf=b.valueOf))};fabric.util.createClass=c}(),function(){function a(a){var b,c,d=Array.prototype.slice.call(arguments,1),e=d.length;for(c=0;c<e;c++)if(b=typeof a[d[c]],!/^(?:function|object|unknown)$/.test(b))return!1;return!0}function b(a,b){return{handler:b,wrappedHandler:c(a,b)}}function c(a,b){return function(c){b.call(g(a),c||fabric.window.event)}}function d(a,b){return function(c){if(p[a]&&p[a][b])for(var d=p[a][b],e=0,f=d.length;e<f;e++)d[e].call(this,c||fabric.window.event)}}function e(a){a||(a=fabric.window.event);var b=a.target||(typeof a.srcElement!==i?a.srcElement:null),c=fabric.util.getScrollLeftTop(b);return{x:q(a)+c.left,y:r(a)+c.top}}function f(a,b,c){var d="touchend"===a.type?"changedTouches":"touches";return a[d]&&a[d][0]?a[d][0][b]-(a[d][0][b]-a[d][0][c])||a[c]:a[c]}var g,h,i="unknown",j=function(){var a=0;return function(b){return b.__uniqueID||(b.__uniqueID="uniqueID__"+a++)}}();!function(){var a={};g=function(b){return a[b]},h=function(b,c){a[b]=c}}();var k,l,m=a(fabric.document.documentElement,"addEventListener","removeEventListener")&&a(fabric.window,"addEventListener","removeEventListener"),n=a(fabric.document.documentElement,"attachEvent","detachEvent")&&a(fabric.window,"attachEvent","detachEvent"),o={},p={};m?(k=function(a,b,c){a.addEventListener(b,c,!1)},l=function(a,b,c){a.removeEventListener(b,c,!1)}):n?(k=function(a,c,d){var e=j(a);h(e,a),o[e]||(o[e]={}),o[e][c]||(o[e][c]=[]);var f=b(e,d);o[e][c].push(f),a.attachEvent("on"+c,f.wrappedHandler)},l=function(a,b,c){var d,e=j(a);if(o[e]&&o[e][b])for(var f=0,g=o[e][b].length;f<g;f++)d=o[e][b][f],d&&d.handler===c&&(a.detachEvent("on"+b,d.wrappedHandler),o[e][b][f]=null)}):(k=function(a,b,c){var e=j(a);if(p[e]||(p[e]={}),!p[e][b]){p[e][b]=[];var f=a["on"+b];f&&p[e][b].push(f),a["on"+b]=d(e,b)}p[e][b].push(c)},l=function(a,b,c){var d=j(a);if(p[d]&&p[d][b])for(var e=p[d][b],f=0,g=e.length;f<g;f++)e[f]===c&&e.splice(f,1)}),fabric.util.addListener=k,fabric.util.removeListener=l;var q=function(a){return typeof a.clientX!==i?a.clientX:0},r=function(a){return typeof a.clientY!==i?a.clientY:0};fabric.isTouchSupported&&(q=function(a){return f(a,"pageX","clientX")},r=function(a){return f(a,"pageY","clientY")}),fabric.util.getPointer=e,fabric.util.object.extend(fabric.util,fabric.Observable)}(),function(){function a(a,b){var c=a.style;if(!c)return a;if("string"==typeof b)return a.style.cssText+=";"+b,b.indexOf("opacity")>-1?f(a,b.match(/opacity:\s*(\d?\.?\d*)/)[1]):a;for(var d in b)if("opacity"===d)f(a,b[d]);else{var e="float"===d||"cssFloat"===d?"undefined"==typeof c.styleFloat?"cssFloat":"styleFloat":d;c[e]=b[d]}return a}var b=fabric.document.createElement("div"),c="string"==typeof b.style.opacity,d="string"==typeof b.style.filter,e=/alpha\s*\(\s*opacity\s*=\s*([^\)]+)\)/,f=function(a){return a};c?f=function(a,b){return a.style.opacity=b,a}:d&&(f=function(a,b){var c=a.style;return a.currentStyle&&!a.currentStyle.hasLayout&&(c.zoom=1),e.test(c.filter)?(b=b>=.9999?"":"alpha(opacity="+100*b+")",c.filter=c.filter.replace(e,b)):c.filter+=" alpha(opacity="+100*b+")",a}),fabric.util.setStyle=a}(),function(){function a(a){return"string"==typeof a?fabric.document.getElementById(a):a}function b(a,b){var c=fabric.document.createElement(a);for(var d in b)"class"===d?c.className=b[d]:"for"===d?c.htmlFor=b[d]:c.setAttribute(d,b[d]);return c}function c(a,b){a&&(" "+a.className+" ").indexOf(" "+b+" ")===-1&&(a.className+=(a.className?" ":"")+b)}function d(a,c,d){return"string"==typeof c&&(c=b(c,d)),a.parentNode&&a.parentNode.replaceChild(c,a),c.appendChild(a),c}function e(a){for(var b=0,c=0,d=fabric.document.documentElement,e=fabric.document.body||{scrollLeft:0,scrollTop:0};a&&(a.parentNode||a.host)&&(a=a.parentNode||a.host,a===fabric.document?(b=e.scrollLeft||d.scrollLeft||0,c=e.scrollTop||d.scrollTop||0):(b+=a.scrollLeft||0,c+=a.scrollTop||0),1!==a.nodeType||"fixed"!==fabric.util.getElementStyle(a,"position")););return{left:b,top:c}}function f(a){var b,c,d=a&&a.ownerDocument,f={left:0,top:0},g={left:0,top:0},h={borderLeftWidth:"left",borderTopWidth:"top",paddingLeft:"left",paddingTop:"top"};if(!d)return g;for(var i in h)g[h[i]]+=parseInt(j(a,i),10)||0;return b=d.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(f=a.getBoundingClientRect()),c=e(a),{left:f.left+c.left-(b.clientLeft||0)+g.left,top:f.top+c.top-(b.clientTop||0)+g.top}}var g,h=Array.prototype.slice,i=function(a){return h.call(a,0)};try{g=i(fabric.document.childNodes)instanceof Array}catch(a){}g||(i=function(a){for(var b=new Array(a.length),c=a.length;c--;)b[c]=a[c];return b});var j;j=fabric.document.defaultView&&fabric.document.defaultView.getComputedStyle?function(a,b){var c=fabric.document.defaultView.getComputedStyle(a,null);return c?c[b]:void 0}:function(a,b){var c=a.style[b];return!c&&a.currentStyle&&(c=a.currentStyle[b]),c},function(){function a(a){return"undefined"!=typeof a.onselectstart&&(a.onselectstart=fabric.util.falseFunction),d?a.style[d]="none":"string"==typeof a.unselectable&&(a.unselectable="on"),a}function b(a){return"undefined"!=typeof a.onselectstart&&(a.onselectstart=null),d?a.style[d]="":"string"==typeof a.unselectable&&(a.unselectable=""),a}var c=fabric.document.documentElement.style,d="userSelect"in c?"userSelect":"MozUserSelect"in c?"MozUserSelect":"WebkitUserSelect"in c?"WebkitUserSelect":"KhtmlUserSelect"in c?"KhtmlUserSelect":"";
+fabric.util.makeElementUnselectable=a,fabric.util.makeElementSelectable=b}(),function(){function a(a,b){var c=fabric.document.getElementsByTagName("head")[0],d=fabric.document.createElement("script"),e=!0;d.onload=d.onreadystatechange=function(a){if(e){if("string"==typeof this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)return;e=!1,b(a||fabric.window.event),d=d.onload=d.onreadystatechange=null}},d.src=a,c.appendChild(d)}fabric.util.getScript=a}(),fabric.util.getById=a,fabric.util.toArray=i,fabric.util.makeElement=b,fabric.util.addClass=c,fabric.util.wrapElement=d,fabric.util.getScrollLeftTop=e,fabric.util.getElementOffset=f,fabric.util.getElementStyle=j}(),function(){function a(a,b){return a+(/\?/.test(a)?"&":"?")+b}function b(){}function c(c,e){e||(e={});var f=e.method?e.method.toUpperCase():"GET",g=e.onComplete||function(){},h=d(),i=e.body||e.parameters;return h.onreadystatechange=function(){4===h.readyState&&(g(h),h.onreadystatechange=b)},"GET"===f&&(i=null,"string"==typeof e.parameters&&(c=a(c,e.parameters))),h.open(f,c,!0),"POST"!==f&&"PUT"!==f||h.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),h.send(i),h}var d=function(){for(var a=[function(){return new ActiveXObject("Microsoft.XMLHTTP")},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml2.XMLHTTP.3.0")},function(){return new XMLHttpRequest}],b=a.length;b--;)try{var c=a[b]();if(c)return a[b]}catch(a){}}();fabric.util.request=c}(),fabric.log=function(){},fabric.warn=function(){},"undefined"!=typeof console&&["log","warn"].forEach(function(a){"undefined"!=typeof console[a]&&"function"==typeof console[a].apply&&(fabric[a]=function(){return console[a].apply(console,arguments)})}),function(){function a(a){b(function(c){a||(a={});var d,e=c||+new Date,f=a.duration||500,g=e+f,h=a.onChange||function(){},i=a.abort||function(){return!1},j=a.easing||function(a,b,c,d){return-c*Math.cos(a/d*(Math.PI/2))+c+b},k="startValue"in a?a.startValue:0,l="endValue"in a?a.endValue:100,m=a.byValue||l-k;a.onStart&&a.onStart(),function n(c){d=c||+new Date;var l=d>g?f:d-e;return i()?void(a.onComplete&&a.onComplete()):(h(j(l,k,m,f)),d>g?void(a.onComplete&&a.onComplete()):void b(n))}(e)})}function b(){return c.apply(fabric.window,arguments)}var c=fabric.window.requestAnimationFrame||fabric.window.webkitRequestAnimationFrame||fabric.window.mozRequestAnimationFrame||fabric.window.oRequestAnimationFrame||fabric.window.msRequestAnimationFrame||function(a){fabric.window.setTimeout(a,1e3/60)};fabric.util.animate=a,fabric.util.requestAnimFrame=b}(),function(){function a(a,b,c,d){return a<Math.abs(b)?(a=b,d=c/4):d=0===b&&0===a?c/(2*Math.PI)*Math.asin(1):c/(2*Math.PI)*Math.asin(b/a),{a:a,c:b,p:c,s:d}}function b(a,b,c){return a.a*Math.pow(2,10*(b-=1))*Math.sin((b*c-a.s)*(2*Math.PI)/a.p)}function c(a,b,c,d){return c*((a=a/d-1)*a*a+1)+b}function d(a,b,c,d){return a/=d/2,a<1?c/2*a*a*a+b:c/2*((a-=2)*a*a+2)+b}function e(a,b,c,d){return c*(a/=d)*a*a*a+b}function f(a,b,c,d){return-c*((a=a/d-1)*a*a*a-1)+b}function g(a,b,c,d){return a/=d/2,a<1?c/2*a*a*a*a+b:-c/2*((a-=2)*a*a*a-2)+b}function h(a,b,c,d){return c*(a/=d)*a*a*a*a+b}function i(a,b,c,d){return c*((a=a/d-1)*a*a*a*a+1)+b}function j(a,b,c,d){return a/=d/2,a<1?c/2*a*a*a*a*a+b:c/2*((a-=2)*a*a*a*a+2)+b}function k(a,b,c,d){return-c*Math.cos(a/d*(Math.PI/2))+c+b}function l(a,b,c,d){return c*Math.sin(a/d*(Math.PI/2))+b}function m(a,b,c,d){return-c/2*(Math.cos(Math.PI*a/d)-1)+b}function n(a,b,c,d){return 0===a?b:c*Math.pow(2,10*(a/d-1))+b}function o(a,b,c,d){return a===d?b+c:c*(-Math.pow(2,-10*a/d)+1)+b}function p(a,b,c,d){return 0===a?b:a===d?b+c:(a/=d/2,a<1?c/2*Math.pow(2,10*(a-1))+b:c/2*(-Math.pow(2,-10*--a)+2)+b)}function q(a,b,c,d){return-c*(Math.sqrt(1-(a/=d)*a)-1)+b}function r(a,b,c,d){return c*Math.sqrt(1-(a=a/d-1)*a)+b}function s(a,b,c,d){return a/=d/2,a<1?-c/2*(Math.sqrt(1-a*a)-1)+b:c/2*(Math.sqrt(1-(a-=2)*a)+1)+b}function t(c,d,e,f){var g=1.70158,h=0,i=e;if(0===c)return d;if(c/=f,1===c)return d+e;h||(h=.3*f);var j=a(i,e,h,g);return-b(j,c,f)+d}function u(b,c,d,e){var f=1.70158,g=0,h=d;if(0===b)return c;if(b/=e,1===b)return c+d;g||(g=.3*e);var i=a(h,d,g,f);return i.a*Math.pow(2,-10*b)*Math.sin((b*e-i.s)*(2*Math.PI)/i.p)+i.c+c}function v(c,d,e,f){var g=1.70158,h=0,i=e;if(0===c)return d;if(c/=f/2,2===c)return d+e;h||(h=f*(.3*1.5));var j=a(i,e,h,g);return c<1?-.5*b(j,c,f)+d:j.a*Math.pow(2,-10*(c-=1))*Math.sin((c*f-j.s)*(2*Math.PI)/j.p)*.5+j.c+d}function w(a,b,c,d,e){return void 0===e&&(e=1.70158),c*(a/=d)*a*((e+1)*a-e)+b}function x(a,b,c,d,e){return void 0===e&&(e=1.70158),c*((a=a/d-1)*a*((e+1)*a+e)+1)+b}function y(a,b,c,d,e){return void 0===e&&(e=1.70158),a/=d/2,a<1?c/2*(a*a*(((e*=1.525)+1)*a-e))+b:c/2*((a-=2)*a*(((e*=1.525)+1)*a+e)+2)+b}function z(a,b,c,d){return c-A(d-a,0,c,d)+b}function A(a,b,c,d){return(a/=d)<1/2.75?c*(7.5625*a*a)+b:a<2/2.75?c*(7.5625*(a-=1.5/2.75)*a+.75)+b:a<2.5/2.75?c*(7.5625*(a-=2.25/2.75)*a+.9375)+b:c*(7.5625*(a-=2.625/2.75)*a+.984375)+b}function B(a,b,c,d){return a<d/2?.5*z(2*a,0,c,d)+b:.5*A(2*a-d,0,c,d)+.5*c+b}fabric.util.ease={easeInQuad:function(a,b,c,d){return c*(a/=d)*a+b},easeOutQuad:function(a,b,c,d){return-c*(a/=d)*(a-2)+b},easeInOutQuad:function(a,b,c,d){return a/=d/2,a<1?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b},easeInCubic:function(a,b,c,d){return c*(a/=d)*a*a+b},easeOutCubic:c,easeInOutCubic:d,easeInQuart:e,easeOutQuart:f,easeInOutQuart:g,easeInQuint:h,easeOutQuint:i,easeInOutQuint:j,easeInSine:k,easeOutSine:l,easeInOutSine:m,easeInExpo:n,easeOutExpo:o,easeInOutExpo:p,easeInCirc:q,easeOutCirc:r,easeInOutCirc:s,easeInElastic:t,easeOutElastic:u,easeInOutElastic:v,easeInBack:w,easeOutBack:x,easeInOutBack:y,easeInBounce:z,easeOutBounce:A,easeInOutBounce:B}}(),function(a){"use strict";function b(a){return a in B?B[a]:a}function c(a,b,c,d){var e,f="[object Array]"===Object.prototype.toString.call(b);return"fill"!==a&&"stroke"!==a||"none"!==b?"strokeDashArray"===a?b=b.replace(/,/g," ").split(/\s+/).map(function(a){return parseFloat(a)}):"transformMatrix"===a?b=c&&c.transformMatrix?w(c.transformMatrix,q.parseTransformAttribute(b)):q.parseTransformAttribute(b):"visible"===a?(b="none"!==b&&"hidden"!==b,c&&c.visible===!1&&(b=!1)):"originX"===a?b="start"===b?"left":"end"===b?"right":"center":e=f?b.map(v):v(b,d):b="",!f&&isNaN(e)?b:e}function d(a){for(var b in C)if("undefined"!=typeof a[C[b]]&&""!==a[b]){if("undefined"==typeof a[b]){if(!q.Object.prototype[b])continue;a[b]=q.Object.prototype[b]}if(0!==a[b].indexOf("url(")){var c=new q.Color(a[b]);a[b]=c.setAlpha(u(c.getAlpha()*a[C[b]],2)).toRgba()}}return a}function e(a,b){for(var c,d,e=[],f=0;f<b.length;f++)c=b[f],d=a.getElementsByTagName(c),e=e.concat(Array.prototype.slice.call(d));return e}function f(a,d){var e,f;a.replace(/;\s*$/,"").split(";").forEach(function(a){var g=a.split(":");e=b(g[0].trim().toLowerCase()),f=c(e,g[1].trim()),d[e]=f})}function g(a,d){var e,f;for(var g in a)"undefined"!=typeof a[g]&&(e=b(g.toLowerCase()),f=c(e,a[g]),d[e]=f)}function h(a,b){var c={};for(var d in q.cssRules[b])if(i(a,d.split(" ")))for(var e in q.cssRules[b][d])c[e]=q.cssRules[b][d][e];return c}function i(a,b){var c,d=!0;return c=k(a,b.pop()),c&&b.length&&(d=j(a,b)),c&&d&&0===b.length}function j(a,b){for(var c,d=!0;a.parentNode&&1===a.parentNode.nodeType&&b.length;)d&&(c=b.pop()),a=a.parentNode,d=k(a,c);return 0===b.length}function k(a,b){var c,d=a.nodeName,e=a.getAttribute("class"),f=a.getAttribute("id");if(c=new RegExp("^"+d,"i"),b=b.replace(c,""),f&&b.length&&(c=new RegExp("#"+f+"(?![a-zA-Z\\-]+)","i"),b=b.replace(c,"")),e&&b.length){e=e.split(" ");for(var g=e.length;g--;)c=new RegExp("\\."+e[g]+"(?![a-zA-Z\\-]+)","i"),b=b.replace(c,"")}return 0===b.length}function l(a,b){var c;if(a.getElementById&&(c=a.getElementById(b)),c)return c;var d,e,f=a.getElementsByTagName("*");for(e=0;e<f.length;e++)if(d=f[e],b===d.getAttribute("id"))return d}function m(a){for(var b=e(a,["use","svg:use"]),c=0;b.length&&c<b.length;){var d,f,g,h,i,j=b[c],k=j.getAttribute("xlink:href").substr(1),m=j.getAttribute("x")||0,o=j.getAttribute("y")||0,p=l(a,k).cloneNode(!0),q=(p.getAttribute("transform")||"")+" translate("+m+", "+o+")",r=b.length;if(n(p),/^svg$/i.test(p.nodeName)){var s=p.ownerDocument.createElement("g");for(g=0,h=p.attributes,i=h.length;g<i;g++)f=h.item(g),s.setAttribute(f.nodeName,f.nodeValue);for(;p.firstChild;)s.appendChild(p.firstChild);p=s}for(g=0,h=j.attributes,i=h.length;g<i;g++)f=h.item(g),"x"!==f.nodeName&&"y"!==f.nodeName&&"xlink:href"!==f.nodeName&&("transform"===f.nodeName?q=f.nodeValue+" "+q:p.setAttribute(f.nodeName,f.nodeValue));p.setAttribute("transform",q),p.setAttribute("instantiated_by_use","1"),p.removeAttribute("id"),d=j.parentNode,d.replaceChild(p,j),b.length===r&&c++}}function n(a){var b,c,d,e,f=a.getAttribute("viewBox"),g=1,h=1,i=0,j=0,k=a.getAttribute("width"),l=a.getAttribute("height"),m=a.getAttribute("x")||0,n=a.getAttribute("y")||0,o=a.getAttribute("preserveAspectRatio")||"",p=!f||!y.test(a.nodeName)||!(f=f.match(D)),r=!k||!l||"100%"===k||"100%"===l,s=p&&r,t={},u="";if(t.width=0,t.height=0,t.toBeParsed=s,s)return t;if(p)return t.width=v(k),t.height=v(l),t;if(i=-parseFloat(f[1]),j=-parseFloat(f[2]),b=parseFloat(f[3]),c=parseFloat(f[4]),r?(t.width=b,t.height=c):(t.width=v(k),t.height=v(l),g=t.width/b,h=t.height/c),o=q.util.parsePreserveAspectRatioAttribute(o),"none"!==o.alignX&&(h=g=g>h?h:g),1===g&&1===h&&0===i&&0===j&&0===m&&0===n)return t;if((m||n)&&(u=" translate("+v(m)+" "+v(n)+") "),d=u+" matrix("+g+" 0 0 "+h+" "+i*g+" "+j*h+") ","svg"===a.nodeName){for(e=a.ownerDocument.createElement("g");a.firstChild;)e.appendChild(a.firstChild);a.appendChild(e)}else e=a,d=e.getAttribute("transform")+d;return e.setAttribute("transform",d),t}function o(a){var b=a.objects,c=a.options;return b=b.map(function(a){return q[s(a.type)].fromObject(a)}),{objects:b,options:c}}function p(a,b,c){b[c]&&b[c].toSVG&&a.push('\t<pattern x="0" y="0" id="',c,'Pattern" ','width="',b[c].source.width,'" height="',b[c].source.height,'" patternUnits="userSpaceOnUse">\n','\t\t<image x="0" y="0" ','width="',b[c].source.width,'" height="',b[c].source.height,'" xlink:href="',b[c].source.src,'"></image>\n\t</pattern>\n')}var q=a.fabric||(a.fabric={}),r=q.util.object.extend,s=q.util.string.capitalize,t=q.util.object.clone,u=q.util.toFixed,v=q.util.parseUnit,w=q.util.multiplyTransformMatrices,x=/^(path|circle|polygon|polyline|ellipse|rect|line|image|text)$/i,y=/^(symbol|image|marker|pattern|view|svg)$/i,z=/^(?:pattern|defs|symbol|metadata)$/i,A=/^(symbol|g|a|svg)$/i,B={cx:"left",x:"left",r:"radius",cy:"top",y:"top",display:"visible",visibility:"visible",transform:"transformMatrix","fill-opacity":"fillOpacity","fill-rule":"fillRule","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","stroke-dasharray":"strokeDashArray","stroke-linecap":"strokeLineCap","stroke-linejoin":"strokeLineJoin","stroke-miterlimit":"strokeMiterLimit","stroke-opacity":"strokeOpacity","stroke-width":"strokeWidth","text-decoration":"textDecoration","text-anchor":"originX"},C={stroke:"strokeOpacity",fill:"fillOpacity"};q.cssRules={},q.gradientDefs={},q.parseTransformAttribute=function(){function a(a,b){var c=b[0],d=3===b.length?b[1]:0,e=3===b.length?b[2]:0;a[0]=Math.cos(c),a[1]=Math.sin(c),a[2]=-Math.sin(c),a[3]=Math.cos(c),a[4]=d-(a[0]*d+a[2]*e),a[5]=e-(a[1]*d+a[3]*e)}function b(a,b){var c=b[0],d=2===b.length?b[1]:b[0];a[0]=c,a[3]=d}function c(a,b){a[2]=Math.tan(q.util.degreesToRadians(b[0]))}function d(a,b){a[1]=Math.tan(q.util.degreesToRadians(b[0]))}function e(a,b){a[4]=b[0],2===b.length&&(a[5]=b[1])}var f=[1,0,0,1,0,0],g=q.reNum,h="(?:\\s+,?\\s*|,\\s*)",i="(?:(skewX)\\s*\\(\\s*("+g+")\\s*\\))",j="(?:(skewY)\\s*\\(\\s*("+g+")\\s*\\))",k="(?:(rotate)\\s*\\(\\s*("+g+")(?:"+h+"("+g+")"+h+"("+g+"))?\\s*\\))",l="(?:(scale)\\s*\\(\\s*("+g+")(?:"+h+"("+g+"))?\\s*\\))",m="(?:(translate)\\s*\\(\\s*("+g+")(?:"+h+"("+g+"))?\\s*\\))",n="(?:(matrix)\\s*\\(\\s*("+g+")"+h+"("+g+")"+h+"("+g+")"+h+"("+g+")"+h+"("+g+")"+h+"("+g+")\\s*\\))",o="(?:"+n+"|"+m+"|"+l+"|"+k+"|"+i+"|"+j+")",p="(?:"+o+"(?:"+h+"*"+o+")*)",r="^\\s*(?:"+p+"?)\\s*$",s=new RegExp(r),t=new RegExp(o,"g");return function(g){var h=f.concat(),i=[];if(!g||g&&!s.test(g))return h;g.replace(t,function(g){var j=new RegExp(o).exec(g).filter(function(a){return!!a}),k=j[1],l=j.slice(2).map(parseFloat);switch(k){case"translate":e(h,l);break;case"rotate":l[0]=q.util.degreesToRadians(l[0]),a(h,l);break;case"scale":b(h,l);break;case"skewX":c(h,l);break;case"skewY":d(h,l);break;case"matrix":h=l}i.push(h.concat()),h=f.concat()});for(var j=i[0];i.length>1;)i.shift(),j=q.util.multiplyTransformMatrices(j,i[0]);return j}}();var D=new RegExp("^\\s*("+q.reNum+"+)\\s*,?\\s*("+q.reNum+"+)\\s*,?\\s*("+q.reNum+"+)\\s*,?\\s*("+q.reNum+"+)\\s*$");q.parseSVGDocument=function(){function a(a,b){for(;a&&(a=a.parentNode);)if(a.nodeName&&b.test(a.nodeName.replace("svg:",""))&&!a.getAttribute("instantiated_by_use"))return!0;return!1}return function(b,c,d){if(b){m(b);var e=new Date,f=q.Object.__uid++,g=n(b),h=q.util.toArray(b.getElementsByTagName("*"));if(g.svgUid=f,0===h.length&&q.isLikelyNode){h=b.selectNodes('//*[name(.)!="svg"]');for(var i=[],j=0,k=h.length;j<k;j++)i[j]=h[j];h=i}var l=h.filter(function(b){return n(b),x.test(b.nodeName.replace("svg:",""))&&!a(b,z)});if(!l||l&&!l.length)return void(c&&c([],{}));q.gradientDefs[f]=q.getGradientDefs(b),q.cssRules[f]=q.getCSSRules(b),q.parseElements(l,function(a){q.documentParsingTime=new Date-e,c&&c(a,g)},t(g),d)}}}();var E={has:function(a,b){b(!1)},get:function(){},set:function(){}},F=new RegExp("(normal|italic)?\\s*(normal|small-caps)?\\s*(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)?\\s*("+q.reNum+"(?:px|cm|mm|em|pt|pc|in)*)(?:\\/(normal|"+q.reNum+"))?\\s+(.*)");r(q,{parseFontDeclaration:function(a,b){var c=a.match(F);if(c){var d=c[1],e=c[3],f=c[4],g=c[5],h=c[6];d&&(b.fontStyle=d),e&&(b.fontWeight=isNaN(parseFloat(e))?e:parseFloat(e)),f&&(b.fontSize=v(f)),h&&(b.fontFamily=h),g&&(b.lineHeight="normal"===g?1:g)}},getGradientDefs:function(a){var b,c,d,f=["linearGradient","radialGradient","svg:linearGradient","svg:radialGradient"],g=e(a,f),h=0,i={},j={};for(h=g.length;h--;)b=g[h],d=b.getAttribute("xlink:href"),c=b.getAttribute("id"),d&&(j[c]=d.substr(1)),i[c]=b;for(c in j){var k=i[j[c]].cloneNode(!0);for(b=i[c];k.firstChild;)b.appendChild(k.firstChild)}return i},parseAttributes:function(a,e,f){if(a){var g,i,j={};"undefined"==typeof f&&(f=a.getAttribute("svgUid")),a.parentNode&&A.test(a.parentNode.nodeName)&&(j=q.parseAttributes(a.parentNode,e,f)),i=j&&j.fontSize||a.getAttribute("font-size")||q.Text.DEFAULT_SVG_FONT_SIZE;var k=e.reduce(function(d,e){return g=a.getAttribute(e),g&&(e=b(e),g=c(e,g,j,i),d[e]=g),d},{});return k=r(k,r(h(a,f),q.parseStyleAttribute(a))),k.font&&q.parseFontDeclaration(k.font,k),d(r(j,k))}},parseElements:function(a,b,c,d){new q.ElementsParser(a,b,c,d).parse()},parseStyleAttribute:function(a){var b={},c=a.getAttribute("style");return c?("string"==typeof c?f(c,b):g(c,b),b):b},parsePointsAttribute:function(a){if(!a)return null;a=a.replace(/,/g," ").trim(),a=a.split(/\s+/);var b,c,d=[];for(b=0,c=a.length;b<c;b+=2)d.push({x:parseFloat(a[b]),y:parseFloat(a[b+1])});return d},getCSSRules:function(a){for(var d,e=a.getElementsByTagName("style"),f={},g=0,h=e.length;g<h;g++){var i=e[g].textContent||e[g].text;i=i.replace(/\/\*[\s\S]*?\*\//g,""),""!==i.trim()&&(d=i.match(/[^{]*\{[\s\S]*?\}/g),d=d.map(function(a){return a.trim()}),d.forEach(function(a){for(var d=a.match(/([\s\S]*?)\s*\{([^}]*)\}/),e={},g=d[2].trim(),h=g.replace(/;$/,"").split(/\s*;\s*/),i=0,j=h.length;i<j;i++){var k=h[i].split(/\s*:\s*/),l=b(k[0]),m=c(l,k[1],k[0]);e[l]=m}a=d[1],a.split(",").forEach(function(a){a=a.replace(/^svg/i,"").trim(),""!==a&&(f[a]?q.util.object.extend(f[a],e):f[a]=q.util.object.clone(e))})}))}return f},loadSVGFromURL:function(a,b,c){function d(d){var e=d.responseXML;e&&!e.documentElement&&q.window.ActiveXObject&&d.responseText&&(e=new ActiveXObject("Microsoft.XMLDOM"),e.async="false",e.loadXML(d.responseText.replace(/<!DOCTYPE[\s\S]*?(\[[\s\S]*\])*?>/i,""))),e&&e.documentElement||b&&b(null),q.parseSVGDocument(e.documentElement,function(c,d){E.set(a,{objects:q.util.array.invoke(c,"toObject"),options:d}),b&&b(c,d)},c)}a=a.replace(/^\n\s*/,"").trim(),E.has(a,function(c){c?E.get(a,function(a){var c=o(a);b(c.objects,c.options)}):new q.util.request(a,{method:"get",onComplete:d})})},loadSVGFromString:function(a,b,c){a=a.trim();var d;if("undefined"!=typeof DOMParser){var e=new DOMParser;e&&e.parseFromString&&(d=e.parseFromString(a,"text/xml"))}else q.window.ActiveXObject&&(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(a.replace(/<!DOCTYPE[\s\S]*?(\[[\s\S]*\])*?>/i,"")));q.parseSVGDocument(d.documentElement,function(a,c){b(a,c)},c)},createSVGFontFacesMarkup:function(a){for(var b,c,d,e,f,g,h,i="",j={},k=q.fontPaths,l=0,m=a.length;l<m;l++)if(b=a[l],c=b.fontFamily,b.type.indexOf("text")!==-1&&!j[c]&&k[c]&&(j[c]=!0,b.styles)){d=b.styles;for(f in d){e=d[f];for(h in e)g=e[h],c=g.fontFamily,!j[c]&&k[c]&&(j[c]=!0)}}for(var n in j)i+=["\t\t@font-face {\n","\t\t\tfont-family: '",n,"';\n","\t\t\tsrc: url('",k[n],"');\n","\t\t}\n"].join("");return i&&(i=['\t<style type="text/css">',"<![CDATA[\n",i,"]]>","</style>\n"].join("")),i},createSVGRefElementsMarkup:function(a){var b=[];return p(b,a,"backgroundColor"),p(b,a,"overlayColor"),b.join("")}})}("undefined"!=typeof exports?exports:this),fabric.ElementsParser=function(a,b,c,d){this.elements=a,this.callback=b,this.options=c,this.reviver=d,this.svgUid=c&&c.svgUid||0},fabric.ElementsParser.prototype.parse=function(){this.instances=new Array(this.elements.length),this.numElements=this.elements.length,this.createObjects()},fabric.ElementsParser.prototype.createObjects=function(){for(var a=0,b=this.elements.length;a<b;a++)this.elements[a].setAttribute("svgUid",this.svgUid),function(a,b){setTimeout(function(){a.createObject(a.elements[b],b)},0)}(this,a)},fabric.ElementsParser.prototype.createObject=function(a,b){var c=fabric[fabric.util.string.capitalize(a.tagName.replace("svg:",""))];if(c&&c.fromElement)try{this._createObject(c,a,b)}catch(a){fabric.log(a)}else this.checkIfDone()},fabric.ElementsParser.prototype._createObject=function(a,b,c){if(a.async)a.fromElement(b,this.createCallback(c,b),this.options);else{var d=a.fromElement(b,this.options);this.resolveGradient(d,"fill"),this.resolveGradient(d,"stroke"),this.reviver&&this.reviver(b,d),this.instances[c]=d,this.checkIfDone()}},fabric.ElementsParser.prototype.createCallback=function(a,b){var c=this;return function(d){c.resolveGradient(d,"fill"),c.resolveGradient(d,"stroke"),c.reviver&&c.reviver(b,d),c.instances[a]=d,c.checkIfDone()}},fabric.ElementsParser.prototype.resolveGradient=function(a,b){var c=a.get(b);if(/^url\(/.test(c)){var d=c.slice(5,c.length-1);fabric.gradientDefs[this.svgUid][d]&&a.set(b,fabric.Gradient.fromElement(fabric.gradientDefs[this.svgUid][d],a))}},fabric.ElementsParser.prototype.checkIfDone=function(){0===--this.numElements&&(this.instances=this.instances.filter(function(a){return null!=a}),this.callback(this.instances))},function(a){"use strict";function b(a,b){this.x=a,this.y=b}var c=a.fabric||(a.fabric={});return c.Point?void c.warn("fabric.Point is already defined"):(c.Point=b,void(b.prototype={type:"point",constructor:b,add:function(a){return new b(this.x+a.x,this.y+a.y)},addEquals:function(a){return this.x+=a.x,this.y+=a.y,this},scalarAdd:function(a){return new b(this.x+a,this.y+a)},scalarAddEquals:function(a){return this.x+=a,this.y+=a,this},subtract:function(a){return new b(this.x-a.x,this.y-a.y)},subtractEquals:function(a){return this.x-=a.x,this.y-=a.y,this},scalarSubtract:function(a){return new b(this.x-a,this.y-a)},scalarSubtractEquals:function(a){return this.x-=a,this.y-=a,this},multiply:function(a){return new b(this.x*a,this.y*a)},multiplyEquals:function(a){return this.x*=a,this.y*=a,this},divide:function(a){return new b(this.x/a,this.y/a)},divideEquals:function(a){return this.x/=a,this.y/=a,this},eq:function(a){return this.x===a.x&&this.y===a.y},lt:function(a){return this.x<a.x&&this.y<a.y},lte:function(a){return this.x<=a.x&&this.y<=a.y},gt:function(a){return this.x>a.x&&this.y>a.y},gte:function(a){return this.x>=a.x&&this.y>=a.y},lerp:function(a,c){return"undefined"==typeof c&&(c=.5),c=Math.max(Math.min(1,c),0),new b(this.x+(a.x-this.x)*c,this.y+(a.y-this.y)*c)},distanceFrom:function(a){var b=this.x-a.x,c=this.y-a.y;return Math.sqrt(b*b+c*c)},midPointFrom:function(a){return this.lerp(a)},min:function(a){return new b(Math.min(this.x,a.x),Math.min(this.y,a.y))},max:function(a){return new b(Math.max(this.x,a.x),Math.max(this.y,a.y))},toString:function(){return this.x+","+this.y},setXY:function(a,b){return this.x=a,this.y=b,this},setX:function(a){return this.x=a,this},setY:function(a){return this.y=a,this},setFromPoint:function(a){return this.x=a.x,this.y=a.y,this},swap:function(a){var b=this.x,c=this.y;this.x=a.x,this.y=a.y,a.x=b,a.y=c},clone:function(){return new b(this.x,this.y)}}))}("undefined"!=typeof exports?exports:this),function(a){"use strict";function b(a){this.status=a,this.points=[]}var c=a.fabric||(a.fabric={});return c.Intersection?void c.warn("fabric.Intersection is already defined"):(c.Intersection=b,c.Intersection.prototype={constructor:b,appendPoint:function(a){return this.points.push(a),this},appendPoints:function(a){return this.points=this.points.concat(a),this}},c.Intersection.intersectLineLine=function(a,d,e,f){var g,h=(f.x-e.x)*(a.y-e.y)-(f.y-e.y)*(a.x-e.x),i=(d.x-a.x)*(a.y-e.y)-(d.y-a.y)*(a.x-e.x),j=(f.y-e.y)*(d.x-a.x)-(f.x-e.x)*(d.y-a.y);if(0!==j){var k=h/j,l=i/j;0<=k&&k<=1&&0<=l&&l<=1?(g=new b("Intersection"),g.appendPoint(new c.Point(a.x+k*(d.x-a.x),a.y+k*(d.y-a.y)))):g=new b}else g=new b(0===h||0===i?"Coincident":"Parallel");return g},c.Intersection.intersectLinePolygon=function(a,c,d){for(var e,f,g,h=new b,i=d.length,j=0;j<i;j++)e=d[j],f=d[(j+1)%i],g=b.intersectLineLine(a,c,e,f),h.appendPoints(g.points);return h.points.length>0&&(h.status="Intersection"),h},c.Intersection.intersectPolygonPolygon=function(a,c){for(var d=new b,e=a.length,f=0;f<e;f++){var g=a[f],h=a[(f+1)%e],i=b.intersectLinePolygon(g,h,c);d.appendPoints(i.points)}return d.points.length>0&&(d.status="Intersection"),d},void(c.Intersection.intersectPolygonRectangle=function(a,d,e){var f=d.min(e),g=d.max(e),h=new c.Point(g.x,f.y),i=new c.Point(f.x,g.y),j=b.intersectLinePolygon(f,h,a),k=b.intersectLinePolygon(h,g,a),l=b.intersectLinePolygon(g,i,a),m=b.intersectLinePolygon(i,f,a),n=new b;return n.appendPoints(j.points),n.appendPoints(k.points),n.appendPoints(l.points),n.appendPoints(m.points),n.points.length>0&&(n.status="Intersection"),n}))}("undefined"!=typeof exports?exports:this),function(a){"use strict";function b(a){a?this._tryParsingColor(a):this.setSource([0,0,0,1])}function c(a,b,c){return c<0&&(c+=1),c>1&&(c-=1),c<1/6?a+6*(b-a)*c:c<.5?b:c<2/3?a+(b-a)*(2/3-c)*6:a}var d=a.fabric||(a.fabric={});return d.Color?void d.warn("fabric.Color is already defined."):(d.Color=b,d.Color.prototype={_tryParsingColor:function(a){var c;a in b.colorNameMap&&(a=b.colorNameMap[a]),"transparent"===a&&(c=[255,255,255,0]),c||(c=b.sourceFromHex(a)),c||(c=b.sourceFromRgb(a)),c||(c=b.sourceFromHsl(a)),c||(c=[0,0,0,1]),c&&this.setSource(c)},_rgbToHsl:function(a,b,c){a/=255,b/=255,c/=255;var e,f,g,h=d.util.array.max([a,b,c]),i=d.util.array.min([a,b,c]);if(g=(h+i)/2,h===i)e=f=0;else{var j=h-i;switch(f=g>.5?j/(2-h-i):j/(h+i),h){case a:e=(b-c)/j+(b<c?6:0);break;case b:e=(c-a)/j+2;break;case c:e=(a-b)/j+4}e/=6}return[Math.round(360*e),Math.round(100*f),Math.round(100*g)]},getSource:function(){return this._source},setSource:function(a){this._source=a},toRgb:function(){var a=this.getSource();return"rgb("+a[0]+","+a[1]+","+a[2]+")"},toRgba:function(){var a=this.getSource();return"rgba("+a[0]+","+a[1]+","+a[2]+","+a[3]+")"},toHsl:function(){var a=this.getSource(),b=this._rgbToHsl(a[0],a[1],a[2]);return"hsl("+b[0]+","+b[1]+"%,"+b[2]+"%)"},toHsla:function(){var a=this.getSource(),b=this._rgbToHsl(a[0],a[1],a[2]);return"hsla("+b[0]+","+b[1]+"%,"+b[2]+"%,"+a[3]+")"},toHex:function(){var a,b,c,d=this.getSource();return a=d[0].toString(16),a=1===a.length?"0"+a:a,b=d[1].toString(16),b=1===b.length?"0"+b:b,c=d[2].toString(16),c=1===c.length?"0"+c:c,a.toUpperCase()+b.toUpperCase()+c.toUpperCase()},getAlpha:function(){return this.getSource()[3]},setAlpha:function(a){var b=this.getSource();return b[3]=a,this.setSource(b),this},toGrayscale:function(){var a=this.getSource(),b=parseInt((.3*a[0]+.59*a[1]+.11*a[2]).toFixed(0),10),c=a[3];return this.setSource([b,b,b,c]),this},toBlackWhite:function(a){var b=this.getSource(),c=(.3*b[0]+.59*b[1]+.11*b[2]).toFixed(0),d=b[3];return a=a||127,c=Number(c)<Number(a)?0:255,this.setSource([c,c,c,d]),this},overlayWith:function(a){a instanceof b||(a=new b(a));for(var c=[],d=this.getAlpha(),e=.5,f=this.getSource(),g=a.getSource(),h=0;h<3;h++)c.push(Math.round(f[h]*(1-e)+g[h]*e));return c[3]=d,this.setSource(c),this}},d.Color.reRGBa=/^rgba?\(\s*(\d{1,3}(?:\.\d+)?\%?)\s*,\s*(\d{1,3}(?:\.\d+)?\%?)\s*,\s*(\d{1,3}(?:\.\d+)?\%?)\s*(?:\s*,\s*(\d+(?:\.\d+)?)\s*)?\)$/,d.Color.reHSLa=/^hsla?\(\s*(\d{1,3})\s*,\s*(\d{1,3}\%)\s*,\s*(\d{1,3}\%)\s*(?:\s*,\s*(\d+(?:\.\d+)?)\s*)?\)$/,d.Color.reHex=/^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i,d.Color.colorNameMap={aqua:"#00FFFF",black:"#000000",blue:"#0000FF",fuchsia:"#FF00FF",gray:"#808080",grey:"#808080",green:"#008000",lime:"#00FF00",maroon:"#800000",navy:"#000080",olive:"#808000",orange:"#FFA500",purple:"#800080",red:"#FF0000",silver:"#C0C0C0",teal:"#008080",white:"#FFFFFF",yellow:"#FFFF00"},d.Color.fromRgb=function(a){return b.fromSource(b.sourceFromRgb(a))},d.Color.sourceFromRgb=function(a){var c=a.match(b.reRGBa);if(c){var d=parseInt(c[1],10)/(/%$/.test(c[1])?100:1)*(/%$/.test(c[1])?255:1),e=parseInt(c[2],10)/(/%$/.test(c[2])?100:1)*(/%$/.test(c[2])?255:1),f=parseInt(c[3],10)/(/%$/.test(c[3])?100:1)*(/%$/.test(c[3])?255:1);return[parseInt(d,10),parseInt(e,10),parseInt(f,10),c[4]?parseFloat(c[4]):1]}},d.Color.fromRgba=b.fromRgb,d.Color.fromHsl=function(a){return b.fromSource(b.sourceFromHsl(a))},d.Color.sourceFromHsl=function(a){var d=a.match(b.reHSLa);if(d){var e,f,g,h=(parseFloat(d[1])%360+360)%360/360,i=parseFloat(d[2])/(/%$/.test(d[2])?100:1),j=parseFloat(d[3])/(/%$/.test(d[3])?100:1);if(0===i)e=f=g=j;else{var k=j<=.5?j*(i+1):j+i-j*i,l=2*j-k;e=c(l,k,h+1/3),f=c(l,k,h),g=c(l,k,h-1/3)}return[Math.round(255*e),Math.round(255*f),Math.round(255*g),d[4]?parseFloat(d[4]):1]}},d.Color.fromHsla=b.fromHsl,d.Color.fromHex=function(a){return b.fromSource(b.sourceFromHex(a))},d.Color.sourceFromHex=function(a){if(a.match(b.reHex)){var c=a.slice(a.indexOf("#")+1),d=3===c.length||4===c.length,e=8===c.length||4===c.length,f=d?c.charAt(0)+c.charAt(0):c.substring(0,2),g=d?c.charAt(1)+c.charAt(1):c.substring(2,4),h=d?c.charAt(2)+c.charAt(2):c.substring(4,6),i=e?d?c.charAt(3)+c.charAt(3):c.substring(6,8):"FF";return[parseInt(f,16),parseInt(g,16),parseInt(h,16),parseFloat((parseInt(i,16)/255).toFixed(2))]}},void(d.Color.fromSource=function(a){var c=new b;return c.setSource(a),c}))}("undefined"!=typeof exports?exports:this),function(){function a(a){var b,c,d,e=a.getAttribute("style"),f=a.getAttribute("offset")||0;if(f=parseFloat(f)/(/%$/.test(f)?100:1),f=f<0?0:f>1?1:f,e){var g=e.split(/\s*;\s*/);""===g[g.length-1]&&g.pop();for(var h=g.length;h--;){var i=g[h].split(/\s*:\s*/),j=i[0].trim(),k=i[1].trim();"stop-color"===j?b=k:"stop-opacity"===j&&(d=k)}}return b||(b=a.getAttribute("stop-color")||"rgb(0,0,0)"),d||(d=a.getAttribute("stop-opacity")),b=new fabric.Color(b),c=b.getAlpha(),d=isNaN(parseFloat(d))?1:parseFloat(d),d*=c,{offset:f,color:b.toRgb(),opacity:d}}function b(a){return{x1:a.getAttribute("x1")||0,y1:a.getAttribute("y1")||0,x2:a.getAttribute("x2")||"100%",y2:a.getAttribute("y2")||0}}function c(a){return{x1:a.getAttribute("fx")||a.getAttribute("cx")||"50%",y1:a.getAttribute("fy")||a.getAttribute("cy")||"50%",r1:0,x2:a.getAttribute("cx")||"50%",y2:a.getAttribute("cy")||"50%",r2:a.getAttribute("r")||"50%"}}function d(a,b,c){var d,e=0,f=1,g="";for(var h in b)"Infinity"===b[h]?b[h]=1:"-Infinity"===b[h]&&(b[h]=0),d=parseFloat(b[h],10),f="string"==typeof b[h]&&/^\d+%$/.test(b[h])?.01:1,"x1"===h||"x2"===h||"r2"===h?(f*="objectBoundingBox"===c?a.width:1,e="objectBoundingBox"===c?a.left||0:0):"y1"!==h&&"y2"!==h||(f*="objectBoundingBox"===c?a.height:1,e="objectBoundingBox"===c?a.top||0:0),b[h]=d*f+e;if("ellipse"===a.type&&null!==b.r2&&"objectBoundingBox"===c&&a.rx!==a.ry){var i=a.ry/a.rx;g=" scale(1, "+i+")",b.y1&&(b.y1/=i),b.y2&&(b.y2/=i)}return g}fabric.Gradient=fabric.util.createClass({offsetX:0,offsetY:0,initialize:function(a){a||(a={});var b={};this.id=fabric.Object.__uid++,this.type=a.type||"linear",b={x1:a.coords.x1||0,y1:a.coords.y1||0,x2:a.coords.x2||0,y2:a.coords.y2||0},"radial"===this.type&&(b.r1=a.coords.r1||0,b.r2=a.coords.r2||0),this.coords=b,this.colorStops=a.colorStops.slice(),a.gradientTransform&&(this.gradientTransform=a.gradientTransform),this.offsetX=a.offsetX||this.offsetX,this.offsetY=a.offsetY||this.offsetY},addColorStop:function(a){for(var b in a){var c=new fabric.Color(a[b]);this.colorStops.push({offset:b,color:c.toRgb(),opacity:c.getAlpha()})}return this},toObject:function(){return{type:this.type,coords:this.coords,colorStops:this.colorStops,offsetX:this.offsetX,offsetY:this.offsetY,gradientTransform:this.gradientTransform?this.gradientTransform.concat():this.gradientTransform}},toSVG:function(a){var b,c,d=fabric.util.object.clone(this.coords);if(this.colorStops.sort(function(a,b){return a.offset-b.offset}),!a.group||"path-group"!==a.group.type)for(var e in d)"x1"===e||"x2"===e||"r2"===e?d[e]+=this.offsetX-a.width/2:"y1"!==e&&"y2"!==e||(d[e]+=this.offsetY-a.height/2);c='id="SVGID_'+this.id+'" gradientUnits="userSpaceOnUse"',this.gradientTransform&&(c+=' gradientTransform="matrix('+this.gradientTransform.join(" ")+')" '),"linear"===this.type?b=["<linearGradient ",c,' x1="',d.x1,'" y1="',d.y1,'" x2="',d.x2,'" y2="',d.y2,'">\n']:"radial"===this.type&&(b=["<radialGradient ",c,' cx="',d.x2,'" cy="',d.y2,'" r="',d.r2,'" fx="',d.x1,'" fy="',d.y1,'">\n']);for(var f=0;f<this.colorStops.length;f++)b.push("<stop ",'offset="',100*this.colorStops[f].offset+"%",'" style="stop-color:',this.colorStops[f].color,null!==this.colorStops[f].opacity?";stop-opacity: "+this.colorStops[f].opacity:";",'"/>\n');return b.push("linear"===this.type?"</linearGradient>\n":"</radialGradient>\n"),b.join("")},toLive:function(a,b){var c,d,e=fabric.util.object.clone(this.coords);if(this.type){if(b.group&&"path-group"===b.group.type)for(d in e)"x1"===d||"x2"===d?e[d]+=-this.offsetX+b.width/2:"y1"!==d&&"y2"!==d||(e[d]+=-this.offsetY+b.height/2);"linear"===this.type?c=a.createLinearGradient(e.x1,e.y1,e.x2,e.y2):"radial"===this.type&&(c=a.createRadialGradient(e.x1,e.y1,e.r1,e.x2,e.y2,e.r2));for(var f=0,g=this.colorStops.length;f<g;f++){var h=this.colorStops[f].color,i=this.colorStops[f].opacity,j=this.colorStops[f].offset;"undefined"!=typeof i&&(h=new fabric.Color(h).setAlpha(i).toRgba()),c.addColorStop(parseFloat(j),h)}return c}}}),fabric.util.object.extend(fabric.Gradient,{fromElement:function(e,f){var g,h,i,j=e.getElementsByTagName("stop"),k=e.getAttribute("gradientUnits")||"objectBoundingBox",l=e.getAttribute("gradientTransform"),m=[];g="linearGradient"===e.nodeName||"LINEARGRADIENT"===e.nodeName?"linear":"radial","linear"===g?h=b(e):"radial"===g&&(h=c(e));for(var n=j.length;n--;)m.push(a(j[n]));i=d(f,h,k);var o=new fabric.Gradient({type:g,coords:h,colorStops:m,offsetX:-f.left,offsetY:-f.top});return(l||""!==i)&&(o.gradientTransform=fabric.parseTransformAttribute((l||"")+i)),o},forObject:function(a,b){return b||(b={}),d(a,b.coords,"userSpaceOnUse"),new fabric.Gradient(b)}})}(),fabric.Pattern=fabric.util.createClass({repeat:"repeat",offsetX:0,offsetY:0,initialize:function(a){
+if(a||(a={}),this.id=fabric.Object.__uid++,a.source)if("string"==typeof a.source)if("undefined"!=typeof fabric.util.getFunctionBody(a.source))this.source=new Function(fabric.util.getFunctionBody(a.source));else{var b=this;this.source=fabric.util.createImage(),fabric.util.loadImage(a.source,function(a){b.source=a})}else this.source=a.source;a.repeat&&(this.repeat=a.repeat),a.offsetX&&(this.offsetX=a.offsetX),a.offsetY&&(this.offsetY=a.offsetY)},toObject:function(){var a;return"function"==typeof this.source?a=String(this.source):"string"==typeof this.source.src?a=this.source.src:"object"==typeof this.source&&this.source.toDataURL&&(a=this.source.toDataURL()),{source:a,repeat:this.repeat,offsetX:this.offsetX,offsetY:this.offsetY}},toSVG:function(a){var b="function"==typeof this.source?this.source():this.source,c=b.width/a.getWidth(),d=b.height/a.getHeight(),e=this.offsetX/a.getWidth(),f=this.offsetY/a.getHeight(),g="";return"repeat-x"!==this.repeat&&"no-repeat"!==this.repeat||(d=1),"repeat-y"!==this.repeat&&"no-repeat"!==this.repeat||(c=1),b.src?g=b.src:b.toDataURL&&(g=b.toDataURL()),'<pattern id="SVGID_'+this.id+'" x="'+e+'" y="'+f+'" width="'+c+'" height="'+d+'">\n<image x="0" y="0" width="'+b.width+'" height="'+b.height+'" xlink:href="'+g+'"></image>\n</pattern>\n'},toLive:function(a){var b="function"==typeof this.source?this.source():this.source;if(!b)return"";if("undefined"!=typeof b.src){if(!b.complete)return"";if(0===b.naturalWidth||0===b.naturalHeight)return""}return a.createPattern(b,this.repeat)}}),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.toFixed;return b.Shadow?void b.warn("fabric.Shadow is already defined."):(b.Shadow=b.util.createClass({color:"rgb(0,0,0)",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,initialize:function(a){"string"==typeof a&&(a=this._parseShadow(a));for(var c in a)this[c]=a[c];this.id=b.Object.__uid++},_parseShadow:function(a){var c=a.trim(),d=b.Shadow.reOffsetsAndBlur.exec(c)||[],e=c.replace(b.Shadow.reOffsetsAndBlur,"")||"rgb(0,0,0)";return{color:e.trim(),offsetX:parseInt(d[1],10)||0,offsetY:parseInt(d[2],10)||0,blur:parseInt(d[3],10)||0}},toString:function(){return[this.offsetX,this.offsetY,this.blur,this.color].join("px ")},toSVG:function(a){var d=40,e=40,f=b.Object.NUM_FRACTION_DIGITS,g=b.util.rotateVector({x:this.offsetX,y:this.offsetY},b.util.degreesToRadians(-a.angle)),h=20;return a.width&&a.height&&(d=100*c((Math.abs(g.x)+this.blur)/a.width,f)+h,e=100*c((Math.abs(g.y)+this.blur)/a.height,f)+h),a.flipX&&(g.x*=-1),a.flipY&&(g.y*=-1),'<filter id="SVGID_'+this.id+'" y="-'+e+'%" height="'+(100+2*e)+'%" x="-'+d+'%" width="'+(100+2*d)+'%" >\n\t<feGaussianBlur in="SourceAlpha" stdDeviation="'+c(this.blur?this.blur/2:0,f)+'"></feGaussianBlur>\n\t<feOffset dx="'+c(g.x,f)+'" dy="'+c(g.y,f)+'" result="oBlur" ></feOffset>\n\t<feFlood flood-color="'+this.color+'"/>\n\t<feComposite in2="oBlur" operator="in" />\n\t<feMerge>\n\t\t<feMergeNode></feMergeNode>\n\t\t<feMergeNode in="SourceGraphic"></feMergeNode>\n\t</feMerge>\n</filter>\n'},toObject:function(){if(this.includeDefaultValues)return{color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY,affectStroke:this.affectStroke};var a={},c=b.Shadow.prototype;return["color","blur","offsetX","offsetY","affectStroke"].forEach(function(b){this[b]!==c[b]&&(a[b]=this[b])},this),a}}),void(b.Shadow.reOffsetsAndBlur=/(?:\s|^)(-?\d+(?:px)?(?:\s?|$))?(-?\d+(?:px)?(?:\s?|$))?(\d+(?:px)?)?(?:\s?|$)(?:$|\s)/))}("undefined"!=typeof exports?exports:this),function(){"use strict";if(fabric.StaticCanvas)return void fabric.warn("fabric.StaticCanvas is already defined.");var a=fabric.util.object.extend,b=fabric.util.getElementOffset,c=fabric.util.removeFromArray,d=fabric.util.toFixed,e=new Error("Could not initialize `canvas` element");fabric.StaticCanvas=fabric.util.createClass({initialize:function(a,b){b||(b={}),this._initStatic(a,b)},backgroundColor:"",backgroundImage:null,overlayColor:"",overlayImage:null,includeDefaultValues:!0,stateful:!0,renderOnAddRemove:!0,clipTo:null,controlsAboveOverlay:!1,allowTouchScrolling:!1,imageSmoothingEnabled:!0,viewportTransform:[1,0,0,1,0,0],backgroundVpt:!0,overlayVpt:!0,onBeforeScaleRotate:function(){},enableRetinaScaling:!0,_initStatic:function(a,b){var c=fabric.StaticCanvas.prototype.renderAll.bind(this);this._objects=[],this._createLowerCanvas(a),this._initOptions(b),this._setImageSmoothing(),this.interactive||this._initRetinaScaling(),b.overlayImage&&this.setOverlayImage(b.overlayImage,c),b.backgroundImage&&this.setBackgroundImage(b.backgroundImage,c),b.backgroundColor&&this.setBackgroundColor(b.backgroundColor,c),b.overlayColor&&this.setOverlayColor(b.overlayColor,c),this.calcOffset()},_isRetinaScaling:function(){return 1!==fabric.devicePixelRatio&&this.enableRetinaScaling},getRetinaScaling:function(){return this._isRetinaScaling()?fabric.devicePixelRatio:1},_initRetinaScaling:function(){this._isRetinaScaling()&&(this.lowerCanvasEl.setAttribute("width",this.width*fabric.devicePixelRatio),this.lowerCanvasEl.setAttribute("height",this.height*fabric.devicePixelRatio),this.contextContainer.scale(fabric.devicePixelRatio,fabric.devicePixelRatio))},calcOffset:function(){return this._offset=b(this.lowerCanvasEl),this},setOverlayImage:function(a,b,c){return this.__setBgOverlayImage("overlayImage",a,b,c)},setBackgroundImage:function(a,b,c){return this.__setBgOverlayImage("backgroundImage",a,b,c)},setOverlayColor:function(a,b){return this.__setBgOverlayColor("overlayColor",a,b)},setBackgroundColor:function(a,b){return this.__setBgOverlayColor("backgroundColor",a,b)},_setImageSmoothing:function(){var a=this.getContext();a.imageSmoothingEnabled=a.imageSmoothingEnabled||a.webkitImageSmoothingEnabled||a.mozImageSmoothingEnabled||a.msImageSmoothingEnabled||a.oImageSmoothingEnabled,a.imageSmoothingEnabled=this.imageSmoothingEnabled},__setBgOverlayImage:function(a,b,c,d){return"string"==typeof b?fabric.util.loadImage(b,function(b){b&&(this[a]=new fabric.Image(b,d)),c&&c(b)},this,d&&d.crossOrigin):(d&&b.setOptions(d),this[a]=b,c&&c(b)),this},__setBgOverlayColor:function(a,b,c){if(b&&b.source){var d=this;fabric.util.loadImage(b.source,function(e){d[a]=new fabric.Pattern({source:e,repeat:b.repeat,offsetX:b.offsetX,offsetY:b.offsetY}),c&&c()})}else this[a]=b,c&&c();return this},_createCanvasElement:function(a){var b=fabric.util.createCanvasElement(a);if(b.style||(b.style={}),!b)throw e;if("undefined"==typeof b.getContext)throw e;return b},_initOptions:function(a){for(var b in a)this[b]=a[b];this.width=this.width||parseInt(this.lowerCanvasEl.width,10)||0,this.height=this.height||parseInt(this.lowerCanvasEl.height,10)||0,this.lowerCanvasEl.style&&(this.lowerCanvasEl.width=this.width,this.lowerCanvasEl.height=this.height,this.lowerCanvasEl.style.width=this.width+"px",this.lowerCanvasEl.style.height=this.height+"px",this.viewportTransform=this.viewportTransform.slice())},_createLowerCanvas:function(a){this.lowerCanvasEl=fabric.util.getById(a)||this._createCanvasElement(a),fabric.util.addClass(this.lowerCanvasEl,"lower-canvas"),this.interactive&&this._applyCanvasStyle(this.lowerCanvasEl),this.contextContainer=this.lowerCanvasEl.getContext("2d")},getWidth:function(){return this.width},getHeight:function(){return this.height},setWidth:function(a,b){return this.setDimensions({width:a},b)},setHeight:function(a,b){return this.setDimensions({height:a},b)},setDimensions:function(a,b){var c;b=b||{};for(var d in a)c=a[d],b.cssOnly||(this._setBackstoreDimension(d,a[d]),c+="px"),b.backstoreOnly||this._setCssDimension(d,c);return this._initRetinaScaling(),this._setImageSmoothing(),this.calcOffset(),b.cssOnly||this.renderAll(),this},_setBackstoreDimension:function(a,b){return this.lowerCanvasEl[a]=b,this.upperCanvasEl&&(this.upperCanvasEl[a]=b),this.cacheCanvasEl&&(this.cacheCanvasEl[a]=b),this[a]=b,this},_setCssDimension:function(a,b){return this.lowerCanvasEl.style[a]=b,this.upperCanvasEl&&(this.upperCanvasEl.style[a]=b),this.wrapperEl&&(this.wrapperEl.style[a]=b),this},getZoom:function(){return Math.sqrt(this.viewportTransform[0]*this.viewportTransform[3])},setViewportTransform:function(a){var b,c=this._activeGroup;this.viewportTransform=a;for(var d=0,e=this._objects.length;d<e;d++)b=this._objects[d],b.group||b.setCoords();return c&&c.setCoords(),this.renderAll(),this},zoomToPoint:function(a,b){var c=a,d=this.viewportTransform.slice(0);a=fabric.util.transformPoint(a,fabric.util.invertTransform(this.viewportTransform)),d[0]=b,d[3]=b;var e=fabric.util.transformPoint(a,d);return d[4]+=c.x-e.x,d[5]+=c.y-e.y,this.setViewportTransform(d)},setZoom:function(a){return this.zoomToPoint(new fabric.Point(0,0),a),this},absolutePan:function(a){var b=this.viewportTransform.slice(0);return b[4]=-a.x,b[5]=-a.y,this.setViewportTransform(b)},relativePan:function(a){return this.absolutePan(new fabric.Point(-a.x-this.viewportTransform[4],-a.y-this.viewportTransform[5]))},getElement:function(){return this.lowerCanvasEl},_onObjectAdded:function(a){this.stateful&&a.setupState(),a._set("canvas",this),a.setCoords(),this.fire("object:added",{target:a}),a.fire("added")},_onObjectRemoved:function(a){this.fire("object:removed",{target:a}),a.fire("removed"),delete a.canvas},clearContext:function(a){return a.clearRect(0,0,this.width,this.height),this},getContext:function(){return this.contextContainer},clear:function(){return this._objects.length=0,this.backgroundImage=null,this.overlayImage=null,this.backgroundColor="",this.overlayColor="",this._hasITextHandlers&&(this.off("selection:cleared",this._canvasITextSelectionClearedHanlder),this.off("object:selected",this._canvasITextSelectionClearedHanlder),this.off("mouse:up",this._mouseUpITextHandler),this._iTextInstances=null,this._hasITextHandlers=!1),this.clearContext(this.contextContainer),this.fire("canvas:cleared"),this.renderAll(),this},renderAll:function(){var a=this.contextContainer;return this.renderCanvas(a,this._objects),this},renderCanvas:function(a,b){this.clearContext(a),this.fire("before:render"),this.clipTo&&fabric.util.clipContext(this,a),this._renderBackground(a),a.save(),a.transform.apply(a,this.viewportTransform),this._renderObjects(a,b),a.restore(),!this.controlsAboveOverlay&&this.interactive&&this.drawControls(a),this.clipTo&&a.restore(),this._renderOverlay(a),this.controlsAboveOverlay&&this.interactive&&this.drawControls(a),this.fire("after:render")},_renderObjects:function(a,b){for(var c=0,d=b.length;c<d;++c)b[c]&&b[c].render(a)},_renderBackgroundOrOverlay:function(a,b){var c=this[b+"Color"];c&&(a.fillStyle=c.toLive?c.toLive(a):c,a.fillRect(c.offsetX||0,c.offsetY||0,this.width,this.height)),c=this[b+"Image"],c&&(this[b+"Vpt"]&&(a.save(),a.transform.apply(a,this.viewportTransform)),c.render(a),this[b+"Vpt"]&&a.restore())},_renderBackground:function(a){this._renderBackgroundOrOverlay(a,"background")},_renderOverlay:function(a){this._renderBackgroundOrOverlay(a,"overlay")},getCenter:function(){return{top:this.getHeight()/2,left:this.getWidth()/2}},centerObjectH:function(a){return this._centerObject(a,new fabric.Point(this.getCenter().left,a.getCenterPoint().y))},centerObjectV:function(a){return this._centerObject(a,new fabric.Point(a.getCenterPoint().x,this.getCenter().top))},centerObject:function(a){var b=this.getCenter();return this._centerObject(a,new fabric.Point(b.left,b.top))},viewportCenterObject:function(a){var b=this.getVpCenter();return this._centerObject(a,b)},viewportCenterObjectH:function(a){var b=this.getVpCenter();return this._centerObject(a,new fabric.Point(b.x,a.getCenterPoint().y)),this},viewportCenterObjectV:function(a){var b=this.getVpCenter();return this._centerObject(a,new fabric.Point(a.getCenterPoint().x,b.y))},getVpCenter:function(){var a=this.getCenter(),b=fabric.util.invertTransform(this.viewportTransform);return fabric.util.transformPoint({x:a.left,y:a.top},b)},_centerObject:function(a,b){return a.setPositionByOrigin(b,"center","center"),this.renderAll(),this},toDatalessJSON:function(a){return this.toDatalessObject(a)},toObject:function(a){return this._toObjectMethod("toObject",a)},toDatalessObject:function(a){return this._toObjectMethod("toDatalessObject",a)},_toObjectMethod:function(b,c){var d={objects:this._toObjects(b,c)};return a(d,this.__serializeBgOverlay(b,c)),fabric.util.populateWithProperties(this,d,c),d},_toObjects:function(a,b){return this.getObjects().filter(function(a){return!a.excludeFromExport}).map(function(c){return this._toObject(c,a,b)},this)},_toObject:function(a,b,c){var d;this.includeDefaultValues||(d=a.includeDefaultValues,a.includeDefaultValues=!1);var e=a[b](c);return this.includeDefaultValues||(a.includeDefaultValues=d),e},__serializeBgOverlay:function(a,b){var c={background:this.backgroundColor&&this.backgroundColor.toObject?this.backgroundColor.toObject(b):this.backgroundColor};return this.overlayColor&&(c.overlay=this.overlayColor.toObject?this.overlayColor.toObject(b):this.overlayColor),this.backgroundImage&&(c.backgroundImage=this._toObject(this.backgroundImage,a,b)),this.overlayImage&&(c.overlayImage=this._toObject(this.overlayImage,a,b)),c},svgViewportTransformation:!0,toSVG:function(a,b){a||(a={});var c=[];return this._setSVGPreamble(c,a),this._setSVGHeader(c,a),this._setSVGBgOverlayColor(c,"backgroundColor"),this._setSVGBgOverlayImage(c,"backgroundImage",b),this._setSVGObjects(c,b),this._setSVGBgOverlayColor(c,"overlayColor"),this._setSVGBgOverlayImage(c,"overlayImage",b),c.push("</svg>"),c.join("")},_setSVGPreamble:function(a,b){b.suppressPreamble||a.push('<?xml version="1.0" encoding="',b.encoding||"UTF-8",'" standalone="no" ?>\n','<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" ','"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')},_setSVGHeader:function(a,b){var c,e=b.width||this.width,f=b.height||this.height,g='viewBox="0 0 '+this.width+" "+this.height+'" ',h=fabric.Object.NUM_FRACTION_DIGITS;b.viewBox?g='viewBox="'+b.viewBox.x+" "+b.viewBox.y+" "+b.viewBox.width+" "+b.viewBox.height+'" ':this.svgViewportTransformation&&(c=this.viewportTransform,g='viewBox="'+d(-c[4]/c[0],h)+" "+d(-c[5]/c[3],h)+" "+d(this.width/c[0],h)+" "+d(this.height/c[3],h)+'" '),a.push("<svg ",'xmlns="http://www.w3.org/2000/svg" ','xmlns:xlink="http://www.w3.org/1999/xlink" ','version="1.1" ','width="',e,'" ','height="',f,'" ',this.backgroundColor&&!this.backgroundColor.toLive?'style="background-color: '+this.backgroundColor+'" ':null,g,'xml:space="preserve">\n',"<desc>Created with Fabric.js ",fabric.version,"</desc>\n","<defs>",fabric.createSVGFontFacesMarkup(this.getObjects()),fabric.createSVGRefElementsMarkup(this),"</defs>\n")},_setSVGObjects:function(a,b){for(var c,d=0,e=this.getObjects(),f=e.length;d<f;d++)c=e[d],c.excludeFromExport||this._setSVGObject(a,c,b)},_setSVGObject:function(a,b,c){a.push(b.toSVG(c))},_setSVGBgOverlayImage:function(a,b,c){this[b]&&this[b].toSVG&&a.push(this[b].toSVG(c))},_setSVGBgOverlayColor:function(a,b){this[b]&&this[b].source?a.push('<rect x="',this[b].offsetX,'" y="',this[b].offsetY,'" ','width="',"repeat-y"===this[b].repeat||"no-repeat"===this[b].repeat?this[b].source.width:this.width,'" height="',"repeat-x"===this[b].repeat||"no-repeat"===this[b].repeat?this[b].source.height:this.height,'" fill="url(#'+b+'Pattern)"',"></rect>\n"):this[b]&&"overlayColor"===b&&a.push('<rect x="0" y="0" ','width="',this.width,'" height="',this.height,'" fill="',this[b],'"',"></rect>\n")},sendToBack:function(a){if(!a)return this;var b,d,e,f=this._activeGroup;if(a===f)for(e=f._objects,b=e.length;b--;)d=e[b],c(this._objects,d),this._objects.unshift(d);else c(this._objects,a),this._objects.unshift(a);return this.renderAll&&this.renderAll()},bringToFront:function(a){if(!a)return this;var b,d,e,f=this._activeGroup;if(a===f)for(e=f._objects,b=0;b<e.length;b++)d=e[b],c(this._objects,d),this._objects.push(d);else c(this._objects,a),this._objects.push(a);return this.renderAll&&this.renderAll()},sendBackwards:function(a,b){if(!a)return this;var d,e,f,g,h,i=this._activeGroup;if(a===i)for(h=i._objects,d=0;d<h.length;d++)e=h[d],f=this._objects.indexOf(e),0!==f&&(g=f-1,c(this._objects,e),this._objects.splice(g,0,e));else f=this._objects.indexOf(a),0!==f&&(g=this._findNewLowerIndex(a,f,b),c(this._objects,a),this._objects.splice(g,0,a));return this.renderAll&&this.renderAll(),this},_findNewLowerIndex:function(a,b,c){var d;if(c){d=b;for(var e=b-1;e>=0;--e){var f=a.intersectsWithObject(this._objects[e])||a.isContainedWithinObject(this._objects[e])||this._objects[e].isContainedWithinObject(a);if(f){d=e;break}}}else d=b-1;return d},bringForward:function(a,b){if(!a)return this;var d,e,f,g,h,i=this._activeGroup;if(a===i)for(h=i._objects,d=h.length;d--;)e=h[d],f=this._objects.indexOf(e),f!==this._objects.length-1&&(g=f+1,c(this._objects,e),this._objects.splice(g,0,e));else f=this._objects.indexOf(a),f!==this._objects.length-1&&(g=this._findNewUpperIndex(a,f,b),c(this._objects,a),this._objects.splice(g,0,a));return this.renderAll&&this.renderAll(),this},_findNewUpperIndex:function(a,b,c){var d;if(c){d=b;for(var e=b+1;e<this._objects.length;++e){var f=a.intersectsWithObject(this._objects[e])||a.isContainedWithinObject(this._objects[e])||this._objects[e].isContainedWithinObject(a);if(f){d=e;break}}}else d=b+1;return d},moveTo:function(a,b){return c(this._objects,a),this._objects.splice(b,0,a),this.renderAll&&this.renderAll()},dispose:function(){return this.clear(),this},toString:function(){return"#<fabric.Canvas ("+this.complexity()+"): { objects: "+this.getObjects().length+" }>"}}),a(fabric.StaticCanvas.prototype,fabric.Observable),a(fabric.StaticCanvas.prototype,fabric.Collection),a(fabric.StaticCanvas.prototype,fabric.DataURLExporter),a(fabric.StaticCanvas,{EMPTY_JSON:'{"objects": [], "background": "white"}',supports:function(a){var b=fabric.util.createCanvasElement();if(!b||!b.getContext)return null;var c=b.getContext("2d");if(!c)return null;switch(a){case"getImageData":return"undefined"!=typeof c.getImageData;case"setLineDash":return"undefined"!=typeof c.setLineDash;case"toDataURL":return"undefined"!=typeof b.toDataURL;case"toDataURLWithQuality":try{return b.toDataURL("image/jpeg",0),!0}catch(a){}return!1;default:return null}}}),fabric.StaticCanvas.prototype.toJSON=fabric.StaticCanvas.prototype.toObject}(),fabric.BaseBrush=fabric.util.createClass({color:"rgb(0, 0, 0)",width:1,shadow:null,strokeLineCap:"round",strokeLineJoin:"round",strokeDashArray:null,setShadow:function(a){return this.shadow=new fabric.Shadow(a),this},_setBrushStyles:function(){var a=this.canvas.contextTop;a.strokeStyle=this.color,a.lineWidth=this.width,a.lineCap=this.strokeLineCap,a.lineJoin=this.strokeLineJoin,this.strokeDashArray&&fabric.StaticCanvas.supports("setLineDash")&&a.setLineDash(this.strokeDashArray)},_setShadow:function(){if(this.shadow){var a=this.canvas.contextTop;a.shadowColor=this.shadow.color,a.shadowBlur=this.shadow.blur,a.shadowOffsetX=this.shadow.offsetX,a.shadowOffsetY=this.shadow.offsetY}},_resetShadow:function(){var a=this.canvas.contextTop;a.shadowColor="",a.shadowBlur=a.shadowOffsetX=a.shadowOffsetY=0}}),function(){fabric.PencilBrush=fabric.util.createClass(fabric.BaseBrush,{initialize:function(a){this.canvas=a,this._points=[]},onMouseDown:function(a){this._prepareForDrawing(a),this._captureDrawingPath(a),this._render()},onMouseMove:function(a){this._captureDrawingPath(a),this.canvas.clearContext(this.canvas.contextTop),this._render()},onMouseUp:function(){this._finalizeAndAddPath()},_prepareForDrawing:function(a){var b=new fabric.Point(a.x,a.y);this._reset(),this._addPoint(b),this.canvas.contextTop.moveTo(b.x,b.y)},_addPoint:function(a){this._points.push(a)},_reset:function(){this._points.length=0,this._setBrushStyles(),this._setShadow()},_captureDrawingPath:function(a){var b=new fabric.Point(a.x,a.y);this._addPoint(b)},_render:function(){var a=this.canvas.contextTop,b=this.canvas.viewportTransform,c=this._points[0],d=this._points[1];a.save(),a.transform(b[0],b[1],b[2],b[3],b[4],b[5]),a.beginPath(),2===this._points.length&&c.x===d.x&&c.y===d.y&&(c.x-=.5,d.x+=.5),a.moveTo(c.x,c.y);for(var e=1,f=this._points.length;e<f;e++){var g=c.midPointFrom(d);a.quadraticCurveTo(c.x,c.y,g.x,g.y),c=this._points[e],d=this._points[e+1]}a.lineTo(c.x,c.y),a.stroke(),a.restore()},convertPointsToSVGPath:function(a){var b=[],c=new fabric.Point(a[0].x,a[0].y),d=new fabric.Point(a[1].x,a[1].y);b.push("M ",a[0].x," ",a[0].y," ");for(var e=1,f=a.length;e<f;e++){var g=c.midPointFrom(d);b.push("Q ",c.x," ",c.y," ",g.x," ",g.y," "),c=new fabric.Point(a[e].x,a[e].y),e+1<a.length&&(d=new fabric.Point(a[e+1].x,a[e+1].y))}return b.push("L ",c.x," ",c.y," "),b},createPath:function(a){var b=new fabric.Path(a,{fill:null,stroke:this.color,strokeWidth:this.width,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeDashArray:this.strokeDashArray,originX:"center",originY:"center"});return this.shadow&&(this.shadow.affectStroke=!0,b.setShadow(this.shadow)),b},_finalizeAndAddPath:function(){var a=this.canvas.contextTop;a.closePath();var b=this.convertPointsToSVGPath(this._points).join("");if("M 0 0 Q 0 0 0 0 L 0 0"===b)return void this.canvas.renderAll();var c=this.createPath(b);this.canvas.add(c),c.setCoords(),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderAll(),this.canvas.fire("path:created",{path:c})}})}(),fabric.CircleBrush=fabric.util.createClass(fabric.BaseBrush,{width:10,initialize:function(a){this.canvas=a,this.points=[]},drawDot:function(a){var b=this.addPoint(a),c=this.canvas.contextTop,d=this.canvas.viewportTransform;c.save(),c.transform(d[0],d[1],d[2],d[3],d[4],d[5]),c.fillStyle=b.fill,c.beginPath(),c.arc(b.x,b.y,b.radius,0,2*Math.PI,!1),c.closePath(),c.fill(),c.restore()},onMouseDown:function(a){this.points.length=0,this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(a)},onMouseMove:function(a){this.drawDot(a)},onMouseUp:function(){var a=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;for(var b=[],c=0,d=this.points.length;c<d;c++){var e=this.points[c],f=new fabric.Circle({radius:e.radius,left:e.x,top:e.y,originX:"center",originY:"center",fill:e.fill});this.shadow&&f.setShadow(this.shadow),b.push(f)}var g=new fabric.Group(b,{originX:"center",originY:"center"});g.canvas=this.canvas,this.canvas.add(g),this.canvas.fire("path:created",{path:g}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=a,this.canvas.renderAll()},addPoint:function(a){var b=new fabric.Point(a.x,a.y),c=fabric.util.getRandomInt(Math.max(0,this.width-20),this.width+20)/2,d=new fabric.Color(this.color).setAlpha(fabric.util.getRandomInt(0,100)/100).toRgba();return b.radius=c,b.fill=d,this.points.push(b),b}}),fabric.SprayBrush=fabric.util.createClass(fabric.BaseBrush,{width:10,density:20,dotWidth:1,dotWidthVariance:1,randomOpacity:!1,optimizeOverlapping:!0,initialize:function(a){this.canvas=a,this.sprayChunks=[]},onMouseDown:function(a){this.sprayChunks.length=0,this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.addSprayChunk(a),this.render()},onMouseMove:function(a){this.addSprayChunk(a),this.render()},onMouseUp:function(){var a=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;for(var b=[],c=0,d=this.sprayChunks.length;c<d;c++)for(var e=this.sprayChunks[c],f=0,g=e.length;f<g;f++){var h=new fabric.Rect({width:e[f].width,height:e[f].width,left:e[f].x+1,top:e[f].y+1,originX:"center",originY:"center",fill:this.color});this.shadow&&h.setShadow(this.shadow),b.push(h)}this.optimizeOverlapping&&(b=this._getOptimizedRects(b));var i=new fabric.Group(b,{originX:"center",originY:"center"});i.canvas=this.canvas,this.canvas.add(i),this.canvas.fire("path:created",{path:i}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=a,this.canvas.renderAll()},_getOptimizedRects:function(a){for(var b,c={},d=0,e=a.length;d<e;d++)b=a[d].left+""+a[d].top,c[b]||(c[b]=a[d]);var f=[];for(b in c)f.push(c[b]);return f},render:function(){var a=this.canvas.contextTop;a.fillStyle=this.color;var b=this.canvas.viewportTransform;a.save(),a.transform(b[0],b[1],b[2],b[3],b[4],b[5]);for(var c=0,d=this.sprayChunkPoints.length;c<d;c++){var e=this.sprayChunkPoints[c];"undefined"!=typeof e.opacity&&(a.globalAlpha=e.opacity),a.fillRect(e.x,e.y,e.width,e.width)}a.restore()},addSprayChunk:function(a){this.sprayChunkPoints=[];for(var b,c,d,e=this.width/2,f=0;f<this.density;f++){b=fabric.util.getRandomInt(a.x-e,a.x+e),c=fabric.util.getRandomInt(a.y-e,a.y+e),d=this.dotWidthVariance?fabric.util.getRandomInt(Math.max(1,this.dotWidth-this.dotWidthVariance),this.dotWidth+this.dotWidthVariance):this.dotWidth;var g=new fabric.Point(b,c);g.width=d,this.randomOpacity&&(g.opacity=fabric.util.getRandomInt(0,100)/100),this.sprayChunkPoints.push(g)}this.sprayChunks.push(this.sprayChunkPoints)}}),fabric.PatternBrush=fabric.util.createClass(fabric.PencilBrush,{getPatternSrc:function(){var a=20,b=5,c=fabric.document.createElement("canvas"),d=c.getContext("2d");return c.width=c.height=a+b,d.fillStyle=this.color,d.beginPath(),d.arc(a/2,a/2,a/2,0,2*Math.PI,!1),d.closePath(),d.fill(),c},getPatternSrcFunction:function(){return String(this.getPatternSrc).replace("this.color",'"'+this.color+'"')},getPattern:function(){return this.canvas.contextTop.createPattern(this.source||this.getPatternSrc(),"repeat")},_setBrushStyles:function(){this.callSuper("_setBrushStyles"),this.canvas.contextTop.strokeStyle=this.getPattern()},createPath:function(a){var b=this.callSuper("createPath",a),c=b._getLeftTopCoords().scalarAdd(b.strokeWidth/2);return b.stroke=new fabric.Pattern({source:this.source||this.getPatternSrcFunction(),offsetX:-c.x,offsetY:-c.y}),b}}),function(){var a=fabric.util.getPointer,b=fabric.util.degreesToRadians,c=fabric.util.radiansToDegrees,d=Math.atan2,e=Math.abs,f=fabric.StaticCanvas.supports("setLineDash"),g=.5;fabric.Canvas=fabric.util.createClass(fabric.StaticCanvas,{initialize:function(a,b){b||(b={}),this._initStatic(a,b),this._initInteractive(),this._createCacheCanvas()},uniScaleTransform:!1,uniScaleKey:"shiftKey",centeredScaling:!1,centeredRotation:!1,centeredKey:"altKey",altActionKey:"shiftKey",interactive:!0,selection:!0,selectionKey:"shiftKey",altSelectionKey:null,selectionColor:"rgba(100, 100, 255, 0.3)",selectionDashArray:[],selectionBorderColor:"rgba(255, 255, 255, 0.3)",selectionLineWidth:1,hoverCursor:"move",moveCursor:"move",defaultCursor:"default",freeDrawingCursor:"crosshair",rotationCursor:"crosshair",containerClass:"canvas-container",perPixelTargetFind:!1,targetFindTolerance:0,skipTargetFind:!1,isDrawingMode:!1,preserveObjectStacking:!1,snapAngle:0,snapThreshold:null,stopContextMenu:!1,fireRightClick:!1,_initInteractive:function(){this._currentTransform=null,this._groupSelector=null,this._initWrapperElement(),this._createUpperCanvas(),this._initEventListeners(),this._initRetinaScaling(),this.freeDrawingBrush=fabric.PencilBrush&&new fabric.PencilBrush(this),this.calcOffset()},_chooseObjectsToRender:function(){var a,b=this.getActiveGroup(),c=this.getActiveObject(),d=[],e=[];if(!b&&!c||this.preserveObjectStacking)d=this._objects;else{for(var f=0,g=this._objects.length;f<g;f++)a=this._objects[f],b&&b.contains(a)||a===c?e.push(a):d.push(a);b&&(b._set("_objects",e),d.push(b)),c&&d.push(c)}return d},renderAll:function(){!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1);var a=this.contextContainer;return this.renderCanvas(a,this._chooseObjectsToRender()),this},renderTop:function(){var a=this.contextTop;return this.clearContext(a),this.selection&&this._groupSelector&&this._drawSelection(a),this.fire("after:render"),this.contextTopDirty=!0,this},_resetCurrentTransform:function(){var a=this._currentTransform;a.target.set({scaleX:a.original.scaleX,scaleY:a.original.scaleY,skewX:a.original.skewX,skewY:a.original.skewY,left:a.original.left,top:a.original.top}),this._shouldCenterTransform(a.target)?"rotate"===a.action?this._setOriginToCenter(a.target):("center"!==a.originX&&("right"===a.originX?a.mouseXSign=-1:a.mouseXSign=1),"center"!==a.originY&&("bottom"===a.originY?a.mouseYSign=-1:a.mouseYSign=1),a.originX="center",a.originY="center"):(a.originX=a.original.originX,a.originY=a.original.originY)},containsPoint:function(a,b,c){var d,e=!0,f=c||this.getPointer(a,e);return d=b.group&&b.group===this.getActiveGroup()?this._normalizePointer(b.group,f):{x:f.x,y:f.y},b.containsPoint(d)||b._findTargetCorner(f)},_normalizePointer:function(a,b){var c=a.calcTransformMatrix(),d=fabric.util.invertTransform(c),e=this.viewportTransform,f=this.restorePointerVpt(b),g=fabric.util.transformPoint(f,d);return fabric.util.transformPoint(g,e)},isTargetTransparent:function(a,b,c){var d=a.hasBorders,e=a.transparentCorners,f=this.contextCache,g=a.selectionBackgroundColor;a.hasBorders=a.transparentCorners=!1,a.selectionBackgroundColor="",f.save(),f.transform.apply(f,this.viewportTransform),a.render(f),f.restore(),a.active&&a._renderControls(f),a.hasBorders=d,a.transparentCorners=e,a.selectionBackgroundColor=g;var h=fabric.util.isTransparent(f,b,c,this.targetFindTolerance);return this.clearContext(f),h},_shouldClearSelection:function(a,b){var c=this.getActiveGroup(),d=this.getActiveObject();return!b||b&&c&&!c.contains(b)&&c!==b&&!a[this.selectionKey]||b&&!b.evented||b&&!b.selectable&&d&&d!==b},_shouldCenterTransform:function(a){if(a){var b,c=this._currentTransform;return"scale"===c.action||"scaleX"===c.action||"scaleY"===c.action?b=this.centeredScaling||a.centeredScaling:"rotate"===c.action&&(b=this.centeredRotation||a.centeredRotation),b?!c.altKey:c.altKey}},_getOriginFromCorner:function(a,b){var c={x:a.originX,y:a.originY};return"ml"===b||"tl"===b||"bl"===b?c.x="right":"mr"!==b&&"tr"!==b&&"br"!==b||(c.x="left"),"tl"===b||"mt"===b||"tr"===b?c.y="bottom":"bl"!==b&&"mb"!==b&&"br"!==b||(c.y="top"),c},_getActionFromCorner:function(a,b,c){if(!b)return"drag";switch(b){case"mtr":return"rotate";case"ml":case"mr":return c[this.altActionKey]?"skewY":"scaleX";case"mt":case"mb":return c[this.altActionKey]?"skewX":"scaleY";default:return"scale"}},_setupCurrentTransform:function(a,c){if(c){var d=this.getPointer(a),e=c._findTargetCorner(this.getPointer(a,!0)),f=this._getActionFromCorner(c,e,a),g=this._getOriginFromCorner(c,e);this._currentTransform={target:c,action:f,corner:e,scaleX:c.scaleX,scaleY:c.scaleY,skewX:c.skewX,skewY:c.skewY,offsetX:d.x-c.left,offsetY:d.y-c.top,originX:g.x,originY:g.y,ex:d.x,ey:d.y,lastX:d.x,lastY:d.y,left:c.left,top:c.top,theta:b(c.angle),width:c.width*c.scaleX,mouseXSign:1,mouseYSign:1,shiftKey:a.shiftKey,altKey:a[this.centeredKey]},this._currentTransform.original={left:c.left,top:c.top,scaleX:c.scaleX,scaleY:c.scaleY,skewX:c.skewX,skewY:c.skewY,originX:g.x,originY:g.y},this._resetCurrentTransform()}},_translateObject:function(a,b){var c=this._currentTransform,d=c.target,e=a-c.offsetX,f=b-c.offsetY,g=!d.get("lockMovementX")&&d.left!==e,h=!d.get("lockMovementY")&&d.top!==f;return g&&d.set("left",e),h&&d.set("top",f),g||h},_changeSkewTransformOrigin:function(a,b,c){var d="originX",e={0:"center"},f=b.target.skewX,g="left",h="right",i="mt"===b.corner||"ml"===b.corner?1:-1,j=1;a=a>0?1:-1,"y"===c&&(f=b.target.skewY,g="top",h="bottom",d="originY"),e[-1]=g,e[1]=h,b.target.flipX&&(j*=-1),b.target.flipY&&(j*=-1),0===f?(b.skewSign=-i*a*j,b[d]=e[-a]):(f=f>0?1:-1,b.skewSign=f,b[d]=e[f*i*j])},_skewObject:function(a,b,c){var d=this._currentTransform,e=d.target,f=!1,g=e.get("lockSkewingX"),h=e.get("lockSkewingY");if(g&&"x"===c||h&&"y"===c)return!1;var i,j,k=e.getCenterPoint(),l=e.toLocalPoint(new fabric.Point(a,b),"center","center")[c],m=e.toLocalPoint(new fabric.Point(d.lastX,d.lastY),"center","center")[c],n=e._getTransformedDimensions();return this._changeSkewTransformOrigin(l-m,d,c),i=e.toLocalPoint(new fabric.Point(a,b),d.originX,d.originY)[c],j=e.translateToOriginPoint(k,d.originX,d.originY),f=this._setObjectSkew(i,d,c,n),d.lastX=a,d.lastY=b,
+e.setPositionByOrigin(j,d.originX,d.originY),f},_setObjectSkew:function(a,b,c,d){var e,f,g,h,i,j,k,l,m,n=b.target,o=!1,p=b.skewSign;return"x"===c?(h="y",i="Y",j="X",l=0,m=n.skewY):(h="x",i="X",j="Y",l=n.skewX,m=0),g=n._getTransformedDimensions(l,m),k=2*Math.abs(a)-g[c],k<=2?e=0:(e=p*Math.atan(k/n["scale"+j]/(g[h]/n["scale"+i])),e=fabric.util.radiansToDegrees(e)),o=n["skew"+j]!==e,n.set("skew"+j,e),0!==n["skew"+i]&&(f=n._getTransformedDimensions(),e=d[h]/f[h]*n["scale"+i],n.set("scale"+i,e)),o},_scaleObject:function(a,b,c){var d=this._currentTransform,e=d.target,f=e.get("lockScalingX"),g=e.get("lockScalingY"),h=e.get("lockScalingFlip");if(f&&g)return!1;var i=e.translateToOriginPoint(e.getCenterPoint(),d.originX,d.originY),j=e.toLocalPoint(new fabric.Point(a,b),d.originX,d.originY),k=e._getTransformedDimensions(),l=!1;return this._setLocalMouse(j,d),l=this._setObjectScale(j,d,f,g,c,h,k),e.setPositionByOrigin(i,d.originX,d.originY),l},_setObjectScale:function(a,b,c,d,e,f,g){var h,i,j,k,l=b.target,m=!1,n=!1,o=!1;return j=a.x*l.scaleX/g.x,k=a.y*l.scaleY/g.y,h=l.scaleX!==j,i=l.scaleY!==k,f&&j<=0&&j<l.scaleX&&(m=!0),f&&k<=0&&k<l.scaleY&&(n=!0),"equally"!==e||c||d?e?"x"!==e||l.get("lockUniScaling")?"y"!==e||l.get("lockUniScaling")||n||d||l.set("scaleY",k)&&(o=o||i):m||c||l.set("scaleX",j)&&(o=o||h):(m||c||l.set("scaleX",j)&&(o=o||h),n||d||l.set("scaleY",k)&&(o=o||i)):m||n||(o=this._scaleObjectEqually(a,l,b,g)),b.newScaleX=j,b.newScaleY=k,m||n||this._flipObject(b,e),o},_scaleObjectEqually:function(a,b,c,d){var e,f=a.y+a.x,g=d.y*c.original.scaleY/b.scaleY+d.x*c.original.scaleX/b.scaleX;return c.newScaleX=c.original.scaleX*f/g,c.newScaleY=c.original.scaleY*f/g,e=c.newScaleX!==b.scaleX||c.newScaleY!==b.scaleY,b.set("scaleX",c.newScaleX),b.set("scaleY",c.newScaleY),e},_flipObject:function(a,b){a.newScaleX<0&&"y"!==b&&("left"===a.originX?a.originX="right":"right"===a.originX&&(a.originX="left")),a.newScaleY<0&&"x"!==b&&("top"===a.originY?a.originY="bottom":"bottom"===a.originY&&(a.originY="top"))},_setLocalMouse:function(a,b){var c=b.target;"right"===b.originX?a.x*=-1:"center"===b.originX&&(a.x*=2*b.mouseXSign,a.x<0&&(b.mouseXSign=-b.mouseXSign)),"bottom"===b.originY?a.y*=-1:"center"===b.originY&&(a.y*=2*b.mouseYSign,a.y<0&&(b.mouseYSign=-b.mouseYSign)),e(a.x)>c.padding?a.x<0?a.x+=c.padding:a.x-=c.padding:a.x=0,e(a.y)>c.padding?a.y<0?a.y+=c.padding:a.y-=c.padding:a.y=0},_rotateObject:function(a,b){var e=this._currentTransform;if(e.target.get("lockRotation"))return!1;var f=d(e.ey-e.top,e.ex-e.left),g=d(b-e.top,a-e.left),h=c(g-f+e.theta),i=!0;if(h<0&&(h=360+h),h%=360,e.target.snapAngle>0){var j=e.target.snapAngle,k=e.target.snapThreshold||j,l=Math.ceil(h/j)*j,m=Math.floor(h/j)*j;Math.abs(h-m)<k?h=m:Math.abs(h-l)<k&&(h=l),e.target.angle===h&&(i=!1)}return e.target.angle=h,i},setCursor:function(a){this.upperCanvasEl.style.cursor=a},_resetObjectTransform:function(a){a.scaleX=1,a.scaleY=1,a.skewX=0,a.skewY=0,a.setAngle(0)},_drawSelection:function(a){var b=this._groupSelector,c=b.left,d=b.top,h=e(c),i=e(d);if(this.selectionColor&&(a.fillStyle=this.selectionColor,a.fillRect(b.ex-(c>0?0:-c),b.ey-(d>0?0:-d),h,i)),this.selectionLineWidth&&this.selectionBorderColor)if(a.lineWidth=this.selectionLineWidth,a.strokeStyle=this.selectionBorderColor,this.selectionDashArray.length>1&&!f){var j=b.ex+g-(c>0?0:h),k=b.ey+g-(d>0?0:i);a.beginPath(),fabric.util.drawDashedLine(a,j,k,j+h,k,this.selectionDashArray),fabric.util.drawDashedLine(a,j,k+i-1,j+h,k+i-1,this.selectionDashArray),fabric.util.drawDashedLine(a,j,k,j,k+i,this.selectionDashArray),fabric.util.drawDashedLine(a,j+h-1,k,j+h-1,k+i,this.selectionDashArray),a.closePath(),a.stroke()}else fabric.Object.prototype._setLineDash.call(this,a,this.selectionDashArray),a.strokeRect(b.ex+g-(c>0?0:h),b.ey+g-(d>0?0:i),h,i)},findTarget:function(a,b){if(!this.skipTargetFind){var c,d=!0,e=this.getPointer(a,d),f=this.getActiveGroup(),g=this.getActiveObject();if(f&&!b&&this._checkTarget(e,f))return this._fireOverOutEvents(f,a),f;if(g&&g._findTargetCorner(e))return this._fireOverOutEvents(g,a),g;if(g&&this._checkTarget(e,g)){if(!this.preserveObjectStacking)return this._fireOverOutEvents(g,a),g;c=g}this.targets=[];var h=this._searchPossibleTargets(this._objects,e);return a[this.altSelectionKey]&&h&&c&&h!==c&&(h=c),this._fireOverOutEvents(h,a),h}},_fireOverOutEvents:function(a,b){a?this._hoveredTarget!==a&&(this._hoveredTarget&&(this.fire("mouse:out",{target:this._hoveredTarget,e:b}),this._hoveredTarget.fire("mouseout")),this.fire("mouse:over",{target:a,e:b}),a.fire("mouseover"),this._hoveredTarget=a):this._hoveredTarget&&(this.fire("mouse:out",{target:this._hoveredTarget,e:b}),this._hoveredTarget.fire("mouseout"),this._hoveredTarget=null)},_checkTarget:function(a,b){if(b&&b.visible&&b.evented&&this.containsPoint(null,b,a)){if(!this.perPixelTargetFind&&!b.perPixelTargetFind||b.isEditing)return!0;var c=this.isTargetTransparent(b,a.x,a.y);if(!c)return!0}},_searchPossibleTargets:function(a,b){for(var c,d,e,f=a.length;f--;)if(this._checkTarget(b,a[f])){c=a[f],"group"===c.type&&c.subTargetCheck&&(d=this._normalizePointer(c,b),e=this._searchPossibleTargets(c._objects,d),e&&this.targets.push(e));break}return c},restorePointerVpt:function(a){return fabric.util.transformPoint(a,fabric.util.invertTransform(this.viewportTransform))},getPointer:function(b,c,d){d||(d=this.upperCanvasEl);var e,f=a(b),g=d.getBoundingClientRect(),h=g.width||0,i=g.height||0;return h&&i||("top"in g&&"bottom"in g&&(i=Math.abs(g.top-g.bottom)),"right"in g&&"left"in g&&(h=Math.abs(g.right-g.left))),this.calcOffset(),f.x=f.x-this._offset.left,f.y=f.y-this._offset.top,c||(f=this.restorePointerVpt(f)),e=0===h||0===i?{width:1,height:1}:{width:d.width/h,height:d.height/i},{x:f.x*e.width,y:f.y*e.height}},_createUpperCanvas:function(){var a=this.lowerCanvasEl.className.replace(/\s*lower-canvas\s*/,"");this.upperCanvasEl=this._createCanvasElement(),fabric.util.addClass(this.upperCanvasEl,"upper-canvas "+a),this.wrapperEl.appendChild(this.upperCanvasEl),this._copyCanvasStyle(this.lowerCanvasEl,this.upperCanvasEl),this._applyCanvasStyle(this.upperCanvasEl),this.contextTop=this.upperCanvasEl.getContext("2d")},_createCacheCanvas:function(){this.cacheCanvasEl=this._createCanvasElement(),this.cacheCanvasEl.setAttribute("width",this.width),this.cacheCanvasEl.setAttribute("height",this.height),this.contextCache=this.cacheCanvasEl.getContext("2d")},_initWrapperElement:function(){this.wrapperEl=fabric.util.wrapElement(this.lowerCanvasEl,"div",{"class":this.containerClass}),fabric.util.setStyle(this.wrapperEl,{width:this.getWidth()+"px",height:this.getHeight()+"px",position:"relative"}),fabric.util.makeElementUnselectable(this.wrapperEl)},_applyCanvasStyle:function(a){var b=this.getWidth()||a.width,c=this.getHeight()||a.height;fabric.util.setStyle(a,{position:"absolute",width:b+"px",height:c+"px",left:0,top:0}),a.width=b,a.height=c,fabric.util.makeElementUnselectable(a)},_copyCanvasStyle:function(a,b){b.style.cssText=a.style.cssText},getSelectionContext:function(){return this.contextTop},getSelectionElement:function(){return this.upperCanvasEl},_setActiveObject:function(a){this._activeObject&&this._activeObject.set("active",!1),this._activeObject=a,a.set("active",!0)},setActiveObject:function(a,b){return this._setActiveObject(a),this.renderAll(),this.fire("object:selected",{target:a,e:b}),a.fire("selected",{e:b}),this},getActiveObject:function(){return this._activeObject},_onObjectRemoved:function(a){this.getActiveObject()===a&&(this.fire("before:selection:cleared",{target:a}),this._discardActiveObject(),this.fire("selection:cleared",{target:a}),a.fire("deselected")),this.callSuper("_onObjectRemoved",a)},_discardActiveObject:function(){this._activeObject&&this._activeObject.set("active",!1),this._activeObject=null},discardActiveObject:function(a){var b=this._activeObject;return this.fire("before:selection:cleared",{target:b,e:a}),this._discardActiveObject(),this.fire("selection:cleared",{e:a}),b&&b.fire("deselected",{e:a}),this},_setActiveGroup:function(a){this._activeGroup=a,a&&a.set("active",!0)},setActiveGroup:function(a,b){return this._setActiveGroup(a),a&&(this.fire("object:selected",{target:a,e:b}),a.fire("selected",{e:b})),this},getActiveGroup:function(){return this._activeGroup},_discardActiveGroup:function(){var a=this.getActiveGroup();a&&a.destroy(),this.setActiveGroup(null)},discardActiveGroup:function(a){var b=this.getActiveGroup();return this.fire("before:selection:cleared",{e:a,target:b}),this._discardActiveGroup(),this.fire("selection:cleared",{e:a}),this},deactivateAll:function(){for(var a=this.getObjects(),b=0,c=a.length;b<c;b++)a[b].set("active",!1);return this._discardActiveGroup(),this._discardActiveObject(),this},deactivateAllWithDispatch:function(a){var b=this.getActiveGroup(),c=this.getActiveObject();return(c||b)&&this.fire("before:selection:cleared",{target:c||b,e:a}),this.deactivateAll(),(c||b)&&(this.fire("selection:cleared",{e:a,target:c}),c&&c.fire("deselected")),this},dispose:function(){this.callSuper("dispose");var a=this.wrapperEl;return this.removeListeners(),a.removeChild(this.upperCanvasEl),a.removeChild(this.lowerCanvasEl),delete this.upperCanvasEl,a.parentNode&&a.parentNode.replaceChild(this.lowerCanvasEl,this.wrapperEl),delete this.wrapperEl,this},clear:function(){return this.discardActiveGroup(),this.discardActiveObject(),this.clearContext(this.contextTop),this.callSuper("clear")},drawControls:function(a){var b=this.getActiveGroup();b?b._renderControls(a):this._drawObjectsControls(a)},_drawObjectsControls:function(a){for(var b=0,c=this._objects.length;b<c;++b)this._objects[b]&&this._objects[b].active&&this._objects[b]._renderControls(a)},_toObject:function(a,b,c){var d=this._realizeGroupTransformOnObject(a),e=this.callSuper("_toObject",a,b,c);return this._unwindGroupTransformOnObject(a,d),e},_realizeGroupTransformOnObject:function(a){var b=["angle","flipX","flipY","height","left","scaleX","scaleY","top","width"];if(a.group&&a.group===this.getActiveGroup()){var c={};return b.forEach(function(b){c[b]=a[b]}),this.getActiveGroup().realizeTransform(a),c}return null},_unwindGroupTransformOnObject:function(a,b){b&&a.set(b)},_setSVGObject:function(a,b,c){var d;d=this._realizeGroupTransformOnObject(b),this.callSuper("_setSVGObject",a,b,c),this._unwindGroupTransformOnObject(b,d)}});for(var h in fabric.StaticCanvas)"prototype"!==h&&(fabric.Canvas[h]=fabric.StaticCanvas[h]);fabric.isTouchSupported&&(fabric.Canvas.prototype._setCursorFromEvent=function(){}),fabric.Element=fabric.Canvas}(),function(){var a={mt:0,tr:1,mr:2,br:3,mb:4,bl:5,ml:6,tl:7},b=fabric.util.addListener,c=fabric.util.removeListener;fabric.util.object.extend(fabric.Canvas.prototype,{cursorMap:["n-resize","ne-resize","e-resize","se-resize","s-resize","sw-resize","w-resize","nw-resize"],_initEventListeners:function(){this._bindEvents(),b(fabric.window,"resize",this._onResize),b(this.upperCanvasEl,"mousedown",this._onMouseDown),b(this.upperCanvasEl,"mousemove",this._onMouseMove),b(this.upperCanvasEl,"mouseout",this._onMouseOut),b(this.upperCanvasEl,"mouseenter",this._onMouseEnter),b(this.upperCanvasEl,"wheel",this._onMouseWheel),b(this.upperCanvasEl,"contextmenu",this._onContextMenu),b(this.upperCanvasEl,"touchstart",this._onMouseDown),b(this.upperCanvasEl,"touchmove",this._onMouseMove),"undefined"!=typeof eventjs&&"add"in eventjs&&(eventjs.add(this.upperCanvasEl,"gesture",this._onGesture),eventjs.add(this.upperCanvasEl,"drag",this._onDrag),eventjs.add(this.upperCanvasEl,"orientation",this._onOrientationChange),eventjs.add(this.upperCanvasEl,"shake",this._onShake),eventjs.add(this.upperCanvasEl,"longpress",this._onLongPress))},_bindEvents:function(){this._onMouseDown=this._onMouseDown.bind(this),this._onMouseMove=this._onMouseMove.bind(this),this._onMouseUp=this._onMouseUp.bind(this),this._onResize=this._onResize.bind(this),this._onGesture=this._onGesture.bind(this),this._onDrag=this._onDrag.bind(this),this._onShake=this._onShake.bind(this),this._onLongPress=this._onLongPress.bind(this),this._onOrientationChange=this._onOrientationChange.bind(this),this._onMouseWheel=this._onMouseWheel.bind(this),this._onMouseOut=this._onMouseOut.bind(this),this._onMouseEnter=this._onMouseEnter.bind(this),this._onContextMenu=this._onContextMenu.bind(this)},removeListeners:function(){c(fabric.window,"resize",this._onResize),c(this.upperCanvasEl,"mousedown",this._onMouseDown),c(this.upperCanvasEl,"mousemove",this._onMouseMove),c(this.upperCanvasEl,"mouseout",this._onMouseOut),c(this.upperCanvasEl,"mouseenter",this._onMouseEnter),c(this.upperCanvasEl,"wheel",this._onMouseWheel),c(this.upperCanvasEl,"contextmenu",this._onContextMenu),c(this.upperCanvasEl,"touchstart",this._onMouseDown),c(this.upperCanvasEl,"touchmove",this._onMouseMove),"undefined"!=typeof eventjs&&"remove"in eventjs&&(eventjs.remove(this.upperCanvasEl,"gesture",this._onGesture),eventjs.remove(this.upperCanvasEl,"drag",this._onDrag),eventjs.remove(this.upperCanvasEl,"orientation",this._onOrientationChange),eventjs.remove(this.upperCanvasEl,"shake",this._onShake),eventjs.remove(this.upperCanvasEl,"longpress",this._onLongPress))},_onGesture:function(a,b){this.__onTransformGesture&&this.__onTransformGesture(a,b)},_onDrag:function(a,b){this.__onDrag&&this.__onDrag(a,b)},_onMouseWheel:function(a){this.__onMouseWheel(a)},_onMouseOut:function(a){var b=this._hoveredTarget;this.fire("mouse:out",{target:b,e:a}),this._hoveredTarget=null,b&&b.fire("mouseout",{e:a})},_onMouseEnter:function(a){this.findTarget(a)||(this.fire("mouse:over",{target:null,e:a}),this._hoveredTarget=null)},_onOrientationChange:function(a,b){this.__onOrientationChange&&this.__onOrientationChange(a,b)},_onShake:function(a,b){this.__onShake&&this.__onShake(a,b)},_onLongPress:function(a,b){this.__onLongPress&&this.__onLongPress(a,b)},_onContextMenu:function(a){return this.stopContextMenu&&(a.stopPropagation(),a.preventDefault()),!1},_onMouseDown:function(a){this.__onMouseDown(a),b(fabric.document,"touchend",this._onMouseUp),b(fabric.document,"touchmove",this._onMouseMove),c(this.upperCanvasEl,"mousemove",this._onMouseMove),c(this.upperCanvasEl,"touchmove",this._onMouseMove),"touchstart"===a.type?c(this.upperCanvasEl,"mousedown",this._onMouseDown):(b(fabric.document,"mouseup",this._onMouseUp),b(fabric.document,"mousemove",this._onMouseMove))},_onMouseUp:function(a){if(this.__onMouseUp(a),c(fabric.document,"mouseup",this._onMouseUp),c(fabric.document,"touchend",this._onMouseUp),c(fabric.document,"mousemove",this._onMouseMove),c(fabric.document,"touchmove",this._onMouseMove),b(this.upperCanvasEl,"mousemove",this._onMouseMove),b(this.upperCanvasEl,"touchmove",this._onMouseMove),"touchend"===a.type){var d=this;setTimeout(function(){b(d.upperCanvasEl,"mousedown",d._onMouseDown)},400)}},_onMouseMove:function(a){!this.allowTouchScrolling&&a.preventDefault&&a.preventDefault(),this.__onMouseMove(a)},_onResize:function(){this.calcOffset()},_shouldRender:function(a,b){var c=this.getActiveGroup()||this.getActiveObject();return!!(a&&(a.isMoving||a!==c)||!a&&c||!a&&!c&&!this._groupSelector||b&&this._previousPointer&&this.selection&&(b.x!==this._previousPointer.x||b.y!==this._previousPointer.y))},__onMouseUp:function(a){var b,c=!0,d=this._currentTransform,e=this._groupSelector,f=!e||0===e.left&&0===e.top;if(this.isDrawingMode&&this._isCurrentlyDrawing)return void this._onMouseUpInDrawingMode(a);d&&(this._finalizeCurrentTransform(),c=!d.actionPerformed),b=c?this.findTarget(a,!0):d.target;var g=this._shouldRender(b,this.getPointer(a));b||!f?this._maybeGroupObjects(a):(this._groupSelector=null,this._currentTransform=null),b&&(b.isMoving=!1),this._handleCursorAndEvent(a,b,"up"),b&&(b.__corner=0),g&&this.renderAll()},_handleCursorAndEvent:function(a,b,c){this._setCursorFromEvent(a,b),this._handleEvent(a,c,b?b:null)},_handleEvent:function(a,b,c){var d=void 0===typeof c?this.findTarget(a):c,e=this.targets||[],f={e:a,target:d,subTargets:e};this.fire("mouse:"+b,f),d&&d.fire("mouse"+b,f);for(var g=0;g<e.length;g++)e[g].fire("mouse"+b,f)},_finalizeCurrentTransform:function(){var a=this._currentTransform,b=a.target;b._scaling&&(b._scaling=!1),b.setCoords(),this._restoreOriginXY(b),(a.actionPerformed||this.stateful&&b.hasStateChanged())&&(this.fire("object:modified",{target:b}),b.fire("modified"))},_restoreOriginXY:function(a){if(this._previousOriginX&&this._previousOriginY){var b=a.translateToOriginPoint(a.getCenterPoint(),this._previousOriginX,this._previousOriginY);a.originX=this._previousOriginX,a.originY=this._previousOriginY,a.left=b.x,a.top=b.y,this._previousOriginX=null,this._previousOriginY=null}},_onMouseDownInDrawingMode:function(a){this._isCurrentlyDrawing=!0,this.discardActiveObject(a).renderAll(),this.clipTo&&fabric.util.clipContext(this,this.contextTop);var b=this.getPointer(a);this.freeDrawingBrush.onMouseDown(b),this._handleEvent(a,"down")},_onMouseMoveInDrawingMode:function(a){if(this._isCurrentlyDrawing){var b=this.getPointer(a);this.freeDrawingBrush.onMouseMove(b)}this.setCursor(this.freeDrawingCursor),this._handleEvent(a,"move")},_onMouseUpInDrawingMode:function(a){this._isCurrentlyDrawing=!1,this.clipTo&&this.contextTop.restore(),this.freeDrawingBrush.onMouseUp(),this._handleEvent(a,"up")},__onMouseDown:function(a){var b=this.findTarget(a),c=this.getPointer(a,!0),d="which"in a?3===a.which:2===a.button;if(d)return void(this.fireRightClick&&this._handleEvent(a,"down",b?b:null));if(this.isDrawingMode)return void this._onMouseDownInDrawingMode(a);if(!this._currentTransform){this._previousPointer=c;var e=this._shouldRender(b,c),f=this._shouldGroup(a,b);this._shouldClearSelection(a,b)?this._clearSelection(a,b,c):f&&(this._handleGrouping(a,b),b=this.getActiveGroup()),b&&(!b.selectable||!b.__corner&&f||(this._beforeTransform(a,b),this._setupCurrentTransform(a,b)),b!==this.getActiveGroup()&&b!==this.getActiveObject()&&(this.deactivateAll(),b.selectable&&this.setActiveObject(b,a))),this._handleEvent(a,"down",b?b:null),e&&this.renderAll()}},_beforeTransform:function(a,b){this.stateful&&b.saveState(),b._findTargetCorner(this.getPointer(a))&&this.onBeforeScaleRotate(b)},_clearSelection:function(a,b,c){this.deactivateAllWithDispatch(a),b&&b.selectable?this.setActiveObject(b,a):this.selection&&(this._groupSelector={ex:c.x,ey:c.y,top:0,left:0})},_setOriginToCenter:function(a){this._previousOriginX=this._currentTransform.target.originX,this._previousOriginY=this._currentTransform.target.originY;var b=a.getCenterPoint();a.originX="center",a.originY="center",a.left=b.x,a.top=b.y,this._currentTransform.left=a.left,this._currentTransform.top=a.top},_setCenterToOrigin:function(a){var b=a.translateToOriginPoint(a.getCenterPoint(),this._previousOriginX,this._previousOriginY);a.originX=this._previousOriginX,a.originY=this._previousOriginY,a.left=b.x,a.top=b.y,this._previousOriginX=null,this._previousOriginY=null},__onMouseMove:function(a){var b,c;if(this.isDrawingMode)return void this._onMouseMoveInDrawingMode(a);if(!("undefined"!=typeof a.touches&&a.touches.length>1)){var d=this._groupSelector;d?(c=this.getPointer(a,!0),d.left=c.x-d.ex,d.top=c.y-d.ey,this.renderTop()):this._currentTransform?this._transformObject(a):(b=this.findTarget(a),this._setCursorFromEvent(a,b)),this._handleEvent(a,"move",b?b:null)}},__onMouseWheel:function(a){this.fire("mouse:wheel",{e:a})},_transformObject:function(a){var b=this.getPointer(a),c=this._currentTransform;c.reset=!1,c.target.isMoving=!0,this._beforeScaleTransform(a,c),this._performTransformAction(a,c,b),c.actionPerformed&&this.renderAll()},_performTransformAction:function(a,b,c){var d=c.x,e=c.y,f=b.target,g=b.action,h=!1;"rotate"===g?(h=this._rotateObject(d,e))&&this._fire("rotating",f,a):"scale"===g?(h=this._onScale(a,b,d,e))&&this._fire("scaling",f,a):"scaleX"===g?(h=this._scaleObject(d,e,"x"))&&this._fire("scaling",f,a):"scaleY"===g?(h=this._scaleObject(d,e,"y"))&&this._fire("scaling",f,a):"skewX"===g?(h=this._skewObject(d,e,"x"))&&this._fire("skewing",f,a):"skewY"===g?(h=this._skewObject(d,e,"y"))&&this._fire("skewing",f,a):(h=this._translateObject(d,e),h&&(this._fire("moving",f,a),this.setCursor(f.moveCursor||this.moveCursor))),b.actionPerformed=h},_fire:function(a,b,c){this.fire("object:"+a,{target:b,e:c}),b.fire(a,{e:c})},_beforeScaleTransform:function(a,b){if("scale"===b.action||"scaleX"===b.action||"scaleY"===b.action){var c=this._shouldCenterTransform(b.target);(c&&("center"!==b.originX||"center"!==b.originY)||!c&&"center"===b.originX&&"center"===b.originY)&&(this._resetCurrentTransform(),b.reset=!0)}},_onScale:function(a,b,c,d){return!a[this.uniScaleKey]&&!this.uniScaleTransform||b.target.get("lockUniScaling")?(b.reset||"scale"!==b.currentAction||this._resetCurrentTransform(),b.currentAction="scaleEqually",this._scaleObject(c,d,"equally")):(b.currentAction="scale",this._scaleObject(c,d))},_setCursorFromEvent:function(a,b){if(!b)return this.setCursor(this.defaultCursor),!1;var c=b.hoverCursor||this.hoverCursor;if(b.selectable){var d=this.getActiveGroup(),e=b._findTargetCorner&&(!d||!d.contains(b))&&b._findTargetCorner(this.getPointer(a,!0));e?this._setCornerCursor(e,b,a):this.setCursor(c)}else this.setCursor(c);return!0},_setCornerCursor:function(b,c,d){if(b in a)this.setCursor(this._getRotatedCornerCursor(b,c,d));else{if("mtr"!==b||!c.hasRotatingPoint)return this.setCursor(this.defaultCursor),!1;this.setCursor(this.rotationCursor)}},_getRotatedCornerCursor:function(b,c,d){var e=Math.round(c.getAngle()%360/45);return e<0&&(e+=8),e+=a[b],d[this.altActionKey]&&a[b]%2===0&&(e+=2),e%=8,this.cursorMap[e]}})}(),function(){var a=Math.min,b=Math.max;fabric.util.object.extend(fabric.Canvas.prototype,{_shouldGroup:function(a,b){var c=this.getActiveObject();return a[this.selectionKey]&&b&&b.selectable&&(this.getActiveGroup()||c&&c!==b)&&this.selection},_handleGrouping:function(a,b){var c=this.getActiveGroup();(b!==c||(b=this.findTarget(a,!0)))&&(c?this._updateActiveGroup(b,a):this._createActiveGroup(b,a),this._activeGroup&&this._activeGroup.saveCoords())},_updateActiveGroup:function(a,b){var c=this.getActiveGroup();if(c.contains(a)){if(c.removeWithUpdate(a),a.set("active",!1),1===c.size())return this.discardActiveGroup(b),void this.setActiveObject(c.item(0))}else c.addWithUpdate(a);this.fire("selection:created",{target:c,e:b}),c.set("active",!0)},_createActiveGroup:function(a,b){if(this._activeObject&&a!==this._activeObject){var c=this._createGroup(a);c.addWithUpdate(),this.setActiveGroup(c),this._activeObject=null,this.fire("selection:created",{target:c,e:b})}a.set("active",!0)},_createGroup:function(a){var b=this.getObjects(),c=b.indexOf(this._activeObject)<b.indexOf(a),d=c?[this._activeObject,a]:[a,this._activeObject];return this._activeObject.isEditing&&this._activeObject.exitEditing(),new fabric.Group(d,{canvas:this})},_groupSelectedObjects:function(a){var b=this._collectObjects();1===b.length?this.setActiveObject(b[0],a):b.length>1&&(b=new fabric.Group(b.reverse(),{canvas:this}),b.addWithUpdate(),this.setActiveGroup(b,a),b.saveCoords(),this.fire("selection:created",{target:b}),this.renderAll())},_collectObjects:function(){for(var c,d=[],e=this._groupSelector.ex,f=this._groupSelector.ey,g=e+this._groupSelector.left,h=f+this._groupSelector.top,i=new fabric.Point(a(e,g),a(f,h)),j=new fabric.Point(b(e,g),b(f,h)),k=e===g&&f===h,l=this._objects.length;l--&&(c=this._objects[l],!(c&&c.selectable&&c.visible&&(c.intersectsWithRect(i,j)||c.isContainedWithinRect(i,j)||c.containsPoint(i)||c.containsPoint(j))&&(c.set("active",!0),d.push(c),k))););return d},_maybeGroupObjects:function(a){this.selection&&this._groupSelector&&this._groupSelectedObjects(a);var b=this.getActiveGroup();b&&(b.setObjectsCoords().setCoords(),b.isMoving=!1,this.setCursor(this.defaultCursor)),this._groupSelector=null,this._currentTransform=null}})}(),function(){var a=fabric.StaticCanvas.supports("toDataURLWithQuality");fabric.util.object.extend(fabric.StaticCanvas.prototype,{toDataURL:function(a){a||(a={});var b=a.format||"png",c=a.quality||1,d=a.multiplier||1,e={left:a.left||0,top:a.top||0,width:a.width||0,height:a.height||0};return this.__toDataURLWithMultiplier(b,c,e,d)},__toDataURLWithMultiplier:function(a,b,c,d){var e=this.getWidth(),f=this.getHeight(),g=(c.width||this.getWidth())*d,h=(c.height||this.getHeight())*d,i=this.getZoom(),j=i*d,k=this.viewportTransform,l=(k[4]-c.left)*d,m=(k[5]-c.top)*d,n=[j,0,0,j,l,m],o=this.interactive;this.viewportTransform=n,this.interactive&&(this.interactive=!1),e!==g||f!==h?this.setDimensions({width:g,height:h}):this.renderAll();var p=this.__toDataURL(a,b,c);return o&&(this.interactive=o),this.viewportTransform=k,this.setDimensions({width:e,height:f}),p},__toDataURL:function(b,c){var d=this.contextContainer.canvas;"jpg"===b&&(b="jpeg");var e=a?d.toDataURL("image/"+b,c):d.toDataURL("image/"+b);return e},toDataURLWithMultiplier:function(a,b,c){return this.toDataURL({format:a,multiplier:b,quality:c})}})}(),fabric.util.object.extend(fabric.StaticCanvas.prototype,{loadFromDatalessJSON:function(a,b,c){return this.loadFromJSON(a,b,c)},loadFromJSON:function(a,b,c){if(a){var d="string"==typeof a?JSON.parse(a):fabric.util.object.clone(a);this.clear();var e=this;return this._enlivenObjects(d.objects,function(){e._setBgOverlay(d,function(){delete d.objects,delete d.backgroundImage,delete d.overlayImage,delete d.background,delete d.overlay;for(var a in d)e[a]=d[a];b&&b()})},c),this}},_setBgOverlay:function(a,b){var c=this,d={backgroundColor:!1,overlayColor:!1,backgroundImage:!1,overlayImage:!1};if(!(a.backgroundImage||a.overlayImage||a.background||a.overlay))return void(b&&b());var e=function(){d.backgroundImage&&d.overlayImage&&d.backgroundColor&&d.overlayColor&&(c.renderAll(),b&&b())};this.__setBgOverlay("backgroundImage",a.backgroundImage,d,e),this.__setBgOverlay("overlayImage",a.overlayImage,d,e),this.__setBgOverlay("backgroundColor",a.background,d,e),this.__setBgOverlay("overlayColor",a.overlay,d,e),e()},__setBgOverlay:function(a,b,c,d){var e=this;return b?void("backgroundImage"===a||"overlayImage"===a?fabric.Image.fromObject(b,function(b){e[a]=b,c[a]=!0,d&&d()}):this["set"+fabric.util.string.capitalize(a,!0)](b,function(){c[a]=!0,d&&d()})):void(c[a]=!0)},_enlivenObjects:function(a,b,c){var d=this;if(!a||0===a.length)return void(b&&b());var e=this.renderOnAddRemove;this.renderOnAddRemove=!1,fabric.util.enlivenObjects(a,function(a){a.forEach(function(a,b){d.insertAt(a,b)}),d.renderOnAddRemove=e,b&&b()},null,c)},_toDataURL:function(a,b){this.clone(function(c){b(c.toDataURL(a))})},_toDataURLWithMultiplier:function(a,b,c){this.clone(function(d){c(d.toDataURLWithMultiplier(a,b))})},clone:function(a,b){var c=JSON.stringify(this.toJSON(b));this.cloneWithoutData(function(b){b.loadFromJSON(c,function(){a&&a(b)})})},cloneWithoutData:function(a){var b=fabric.document.createElement("canvas");b.width=this.getWidth(),b.height=this.getHeight();var c=new fabric.Canvas(b);c.clipTo=this.clipTo,this.backgroundImage?(c.setBackgroundImage(this.backgroundImage.src,function(){c.renderAll(),a&&a(c)}),c.backgroundImageOpacity=this.backgroundImageOpacity,c.backgroundImageStretch=this.backgroundImageStretch):a&&a(c)}}),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.util.toFixed,e=b.util.string.capitalize,f=b.util.degreesToRadians,g=b.StaticCanvas.supports("setLineDash");b.Object||(b.Object=b.util.createClass({type:"object",originX:"left",originY:"top",top:0,left:0,width:0,height:0,scaleX:1,scaleY:1,flipX:!1,flipY:!1,opacity:1,angle:0,skewX:0,skewY:0,cornerSize:13,transparentCorners:!0,hoverCursor:null,moveCursor:null,padding:0,borderColor:"rgba(102,153,255,0.75)",borderDashArray:null,cornerColor:"rgba(102,153,255,0.5)",cornerStrokeColor:null,cornerStyle:"rect",cornerDashArray:null,centeredScaling:!1,centeredRotation:!0,fill:"rgb(0,0,0)",fillRule:"nonzero",globalCompositeOperation:"source-over",backgroundColor:"",selectionBackgroundColor:"",stroke:null,strokeWidth:1,strokeDashArray:null,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:10,shadow:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,transformMatrix:null,minScaleLimit:.01,selectable:!0,evented:!0,visible:!0,hasControls:!0,hasBorders:!0,hasRotatingPoint:!0,rotatingPointOffset:40,perPixelTargetFind:!1,includeDefaultValues:!0,clipTo:null,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockUniScaling:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,excludeFromExport:!1,stateProperties:"top left width height scaleX scaleY flipX flipY originX originY transformMatrix stroke strokeWidth strokeDashArray strokeLineCap strokeLineJoin strokeMiterLimit angle opacity fill fillRule globalCompositeOperation shadow clipTo visible backgroundColor skewX skewY".split(" "),initialize:function(a){a&&this.setOptions(a)},_initGradient:function(a){!a.fill||!a.fill.colorStops||a.fill instanceof b.Gradient||this.set("fill",new b.Gradient(a.fill)),!a.stroke||!a.stroke.colorStops||a.stroke instanceof b.Gradient||this.set("stroke",new b.Gradient(a.stroke))},_initPattern:function(a){!a.fill||!a.fill.source||a.fill instanceof b.Pattern||this.set("fill",new b.Pattern(a.fill)),!a.stroke||!a.stroke.source||a.stroke instanceof b.Pattern||this.set("stroke",new b.Pattern(a.stroke))},_initClipping:function(a){if(a.clipTo&&"string"==typeof a.clipTo){var c=b.util.getFunctionBody(a.clipTo);"undefined"!=typeof c&&(this.clipTo=new Function("ctx",c))}},setOptions:function(a){for(var b in a)this.set(b,a[b]);this._initGradient(a),this._initPattern(a),this._initClipping(a)},transform:function(a,b){this.group&&!this.group._transformDone&&this.group===this.canvas._activeGroup&&this.group.transform(a);var c=b?this._getLeftTopCoords():this.getCenterPoint();a.translate(c.x,c.y),a.rotate(f(this.angle)),a.scale(this.scaleX*(this.flipX?-1:1),this.scaleY*(this.flipY?-1:1)),a.transform(1,0,Math.tan(f(this.skewX)),1,0,0),a.transform(1,Math.tan(f(this.skewY)),0,1,0,0)},toObject:function(a){var c=b.Object.NUM_FRACTION_DIGITS,e={type:this.type,originX:this.originX,originY:this.originY,left:d(this.left,c),top:d(this.top,c),width:d(this.width,c),height:d(this.height,c),fill:this.fill&&this.fill.toObject?this.fill.toObject():this.fill,stroke:this.stroke&&this.stroke.toObject?this.stroke.toObject():this.stroke,strokeWidth:d(this.strokeWidth,c),strokeDashArray:this.strokeDashArray?this.strokeDashArray.concat():this.strokeDashArray,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeMiterLimit:d(this.strokeMiterLimit,c),scaleX:d(this.scaleX,c),scaleY:d(this.scaleY,c),angle:d(this.getAngle(),c),flipX:this.flipX,flipY:this.flipY,opacity:d(this.opacity,c),shadow:this.shadow&&this.shadow.toObject?this.shadow.toObject():this.shadow,visible:this.visible,clipTo:this.clipTo&&String(this.clipTo),backgroundColor:this.backgroundColor,fillRule:this.fillRule,globalCompositeOperation:this.globalCompositeOperation,transformMatrix:this.transformMatrix?this.transformMatrix.concat():this.transformMatrix,skewX:d(this.skewX,c),skewY:d(this.skewY,c)};return b.util.populateWithProperties(this,e,a),this.includeDefaultValues||(e=this._removeDefaultValues(e)),e},toDatalessObject:function(a){return this.toObject(a)},_removeDefaultValues:function(a){var c=b.util.getKlass(a.type).prototype,d=c.stateProperties;return d.forEach(function(b){a[b]===c[b]&&delete a[b];var d="[object Array]"===Object.prototype.toString.call(a[b])&&"[object Array]"===Object.prototype.toString.call(c[b]);d&&0===a[b].length&&0===c[b].length&&delete a[b]}),a},toString:function(){return"#<fabric."+e(this.type)+">"},get:function(a){return this[a]},getObjectScaling:function(){var a=this.scaleX,b=this.scaleY;if(this.group){var c=this.group.getObjectScaling();a*=c.scaleX,b*=c.scaleY}return{scaleX:a,scaleY:b}},_setObject:function(a){for(var b in a)this._set(b,a[b])},set:function(a,b){return"object"==typeof a?this._setObject(a):"function"==typeof b&&"clipTo"!==a?this._set(a,b(this.get(a))):this._set(a,b),this},_set:function(a,c){var d="scaleX"===a||"scaleY"===a;
+return d&&(c=this._constrainScale(c)),"scaleX"===a&&c<0?(this.flipX=!this.flipX,c*=-1):"scaleY"===a&&c<0?(this.flipY=!this.flipY,c*=-1):"shadow"!==a||!c||c instanceof b.Shadow||(c=new b.Shadow(c)),this[a]=c,"width"!==a&&"height"!==a||(this.minScaleLimit=Math.min(.1,1/Math.max(this.width,this.height))),this},setOnGroup:function(){},toggle:function(a){var b=this.get(a);return"boolean"==typeof b&&this.set(a,!b),this},setSourcePath:function(a){return this.sourcePath=a,this},getViewportTransform:function(){return this.canvas&&this.canvas.viewportTransform?this.canvas.viewportTransform:[1,0,0,1,0,0]},render:function(a,c){0===this.width&&0===this.height||!this.visible||(a.save(),this._setupCompositeOperation(a),this.drawSelectionBackground(a),c||this.transform(a),this._setOpacity(a),this._setShadow(a),this._renderBackground(a),this._setStrokeStyles(a),this._setFillStyles(a),this.transformMatrix&&a.transform.apply(a,this.transformMatrix),this.clipTo&&b.util.clipContext(this,a),this._render(a,c),this.clipTo&&a.restore(),a.restore())},_renderBackground:function(a){this.backgroundColor&&(a.fillStyle=this.backgroundColor,a.fillRect(-this.width/2,-this.height/2,this.width,this.height),this._removeShadow(a))},_setOpacity:function(a){this.group&&this.group._setOpacity(a),a.globalAlpha*=this.opacity},_setStrokeStyles:function(a){this.stroke&&(a.lineWidth=this.strokeWidth,a.lineCap=this.strokeLineCap,a.lineJoin=this.strokeLineJoin,a.miterLimit=this.strokeMiterLimit,a.strokeStyle=this.stroke.toLive?this.stroke.toLive(a,this):this.stroke)},_setFillStyles:function(a){this.fill&&(a.fillStyle=this.fill.toLive?this.fill.toLive(a,this):this.fill)},_setLineDash:function(a,b,c){b&&(1&b.length&&b.push.apply(b,b),g?a.setLineDash(b):c&&c(a))},_renderControls:function(a,c){if(!(!this.active||c||this.group&&this.group!==this.canvas.getActiveGroup())){var d,e=this.getViewportTransform(),g=this.calcTransformMatrix();g=b.util.multiplyTransformMatrices(e,g),d=b.util.qrDecompose(g),a.save(),a.translate(d.translateX,d.translateY),a.lineWidth=1*this.borderScaleFactor,a.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1,this.group&&this.group===this.canvas.getActiveGroup()?(a.rotate(f(d.angle)),this.drawBordersInGroup(a,d)):(a.rotate(f(this.angle)),this.drawBorders(a)),this.drawControls(a),a.restore()}},_setShadow:function(a){if(this.shadow){var c=this.canvas&&this.canvas.viewportTransform[0]||1,d=this.canvas&&this.canvas.viewportTransform[3]||1,e=this.getObjectScaling();this.canvas&&this.canvas._isRetinaScaling()&&(c*=b.devicePixelRatio,d*=b.devicePixelRatio),a.shadowColor=this.shadow.color,a.shadowBlur=this.shadow.blur*(c+d)*(e.scaleX+e.scaleY)/4,a.shadowOffsetX=this.shadow.offsetX*c*e.scaleX,a.shadowOffsetY=this.shadow.offsetY*d*e.scaleY}},_removeShadow:function(a){this.shadow&&(a.shadowColor="",a.shadowBlur=a.shadowOffsetX=a.shadowOffsetY=0)},_renderFill:function(a){if(this.fill){if(a.save(),this.fill.gradientTransform){var b=this.fill.gradientTransform;a.transform.apply(a,b)}this.fill.toLive&&a.translate(-this.width/2+this.fill.offsetX||0,-this.height/2+this.fill.offsetY||0),"evenodd"===this.fillRule?a.fill("evenodd"):a.fill(),a.restore()}},_renderStroke:function(a){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(a),a.save(),this._setLineDash(a,this.strokeDashArray,this._renderDashedStroke),this.stroke.gradientTransform){var b=this.stroke.gradientTransform;a.transform.apply(a,b)}this.stroke.toLive&&a.translate(-this.width/2+this.stroke.offsetX||0,-this.height/2+this.stroke.offsetY||0),a.stroke(),a.restore()}},clone:function(a,c){return this.constructor.fromObject?this.constructor.fromObject(this.toObject(c),a):new b.Object(this.toObject(c))},cloneAsImage:function(a,c){var d=this.toDataURL(c);return b.util.loadImage(d,function(c){a&&a(new b.Image(c))}),this},toDataURL:function(a){a||(a={});var c=b.util.createCanvasElement(),d=this.getBoundingRect();c.width=d.width,c.height=d.height,b.util.wrapElement(c,"div");var e=new b.StaticCanvas(c,{enableRetinaScaling:a.enableRetinaScaling});"jpg"===a.format&&(a.format="jpeg"),"jpeg"===a.format&&(e.backgroundColor="#fff");var f={active:this.get("active"),left:this.getLeft(),top:this.getTop()};this.set("active",!1),this.setPositionByOrigin(new b.Point(e.getWidth()/2,e.getHeight()/2),"center","center");var g=this.canvas;e.add(this);var h=e.toDataURL(a);return this.set(f).setCoords(),this.canvas=g,e.dispose(),e=null,h},isType:function(a){return this.type===a},complexity:function(){return 0},toJSON:function(a){return this.toObject(a)},setGradient:function(a,c){c||(c={});var d={colorStops:[]};d.type=c.type||(c.r1||c.r2?"radial":"linear"),d.coords={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2},(c.r1||c.r2)&&(d.coords.r1=c.r1,d.coords.r2=c.r2),c.gradientTransform&&(d.gradientTransform=c.gradientTransform);for(var e in c.colorStops){var f=new b.Color(c.colorStops[e]);d.colorStops.push({offset:e,color:f.toRgb(),opacity:f.getAlpha()})}return this.set(a,b.Gradient.forObject(this,d))},setPatternFill:function(a){return this.set("fill",new b.Pattern(a))},setShadow:function(a){return this.set("shadow",a?new b.Shadow(a):null)},setColor:function(a){return this.set("fill",a),this},setAngle:function(a){var b=("center"!==this.originX||"center"!==this.originY)&&this.centeredRotation;return b&&this._setOriginToCenter(),this.set("angle",a),b&&this._resetOrigin(),this},centerH:function(){return this.canvas&&this.canvas.centerObjectH(this),this},viewportCenterH:function(){return this.canvas&&this.canvas.viewportCenterObjectH(this),this},centerV:function(){return this.canvas&&this.canvas.centerObjectV(this),this},viewportCenterV:function(){return this.canvas&&this.canvas.viewportCenterObjectV(this),this},center:function(){return this.canvas&&this.canvas.centerObject(this),this},viewportCenter:function(){return this.canvas&&this.canvas.viewportCenterObject(this),this},remove:function(){return this.canvas&&this.canvas.remove(this),this},getLocalPointer:function(a,c){c=c||this.canvas.getPointer(a);var d=new b.Point(c.x,c.y),e=this._getLeftTopCoords();return this.angle&&(d=b.util.rotatePoint(d,e,b.util.degreesToRadians(-this.angle))),{x:d.x-e.x,y:d.y-e.y}},_setupCompositeOperation:function(a){this.globalCompositeOperation&&(a.globalCompositeOperation=this.globalCompositeOperation)}}),b.util.createAccessors(b.Object),b.Object.prototype.rotate=b.Object.prototype.setAngle,c(b.Object.prototype,b.Observable),b.Object.NUM_FRACTION_DIGITS=2,b.Object.__uid=0)}("undefined"!=typeof exports?exports:this),function(){var a=fabric.util.degreesToRadians,b={left:-.5,center:0,right:.5},c={top:-.5,center:0,bottom:.5};fabric.util.object.extend(fabric.Object.prototype,{translateToGivenOrigin:function(a,d,e,f,g){var h,i,j,k=a.x,l=a.y;return"string"==typeof d?d=b[d]:d-=.5,"string"==typeof f?f=b[f]:f-=.5,h=f-d,"string"==typeof e?e=c[e]:e-=.5,"string"==typeof g?g=c[g]:g-=.5,i=g-e,(h||i)&&(j=this._getTransformedDimensions(),k=a.x+h*j.x,l=a.y+i*j.y),new fabric.Point(k,l)},translateToCenterPoint:function(b,c,d){var e=this.translateToGivenOrigin(b,c,d,"center","center");return this.angle?fabric.util.rotatePoint(e,b,a(this.angle)):e},translateToOriginPoint:function(b,c,d){var e=this.translateToGivenOrigin(b,"center","center",c,d);return this.angle?fabric.util.rotatePoint(e,b,a(this.angle)):e},getCenterPoint:function(){var a=new fabric.Point(this.left,this.top);return this.translateToCenterPoint(a,this.originX,this.originY)},getPointByOrigin:function(a,b){var c=this.getCenterPoint();return this.translateToOriginPoint(c,a,b)},toLocalPoint:function(b,c,d){var e,f,g=this.getCenterPoint();return e="undefined"!=typeof c&&"undefined"!=typeof d?this.translateToGivenOrigin(g,"center","center",c,d):new fabric.Point(this.left,this.top),f=new fabric.Point(b.x,b.y),this.angle&&(f=fabric.util.rotatePoint(f,g,-a(this.angle))),f.subtractEquals(e)},setPositionByOrigin:function(a,b,c){var d=this.translateToCenterPoint(a,b,c),e=this.translateToOriginPoint(d,this.originX,this.originY);this.set("left",e.x),this.set("top",e.y)},adjustPosition:function(c){var d,e,f=a(this.angle),g=this.getWidth(),h=Math.cos(f)*g,i=Math.sin(f)*g;d="string"==typeof this.originX?b[this.originX]:this.originX-.5,e="string"==typeof c?b[c]:c-.5,this.left+=h*(e-d),this.top+=i*(e-d),this.setCoords(),this.originX=c},_setOriginToCenter:function(){this._originalOriginX=this.originX,this._originalOriginY=this.originY;var a=this.getCenterPoint();this.originX="center",this.originY="center",this.left=a.x,this.top=a.y},_resetOrigin:function(){var a=this.translateToOriginPoint(this.getCenterPoint(),this._originalOriginX,this._originalOriginY);this.originX=this._originalOriginX,this.originY=this._originalOriginY,this.left=a.x,this.top=a.y,this._originalOriginX=null,this._originalOriginY=null},_getLeftTopCoords:function(){return this.translateToOriginPoint(this.getCenterPoint(),"left","top")}})}(),function(){function a(a){return[new fabric.Point(a.tl.x,a.tl.y),new fabric.Point(a.tr.x,a.tr.y),new fabric.Point(a.br.x,a.br.y),new fabric.Point(a.bl.x,a.bl.y)]}var b=fabric.util.degreesToRadians,c=fabric.util.multiplyTransformMatrices;fabric.util.object.extend(fabric.Object.prototype,{oCoords:null,intersectsWithRect:function(b,c){var d=a(this.oCoords),e=fabric.Intersection.intersectPolygonRectangle(d,b,c);return"Intersection"===e.status},intersectsWithObject:function(b){var c=fabric.Intersection.intersectPolygonPolygon(a(this.oCoords),a(b.oCoords));return"Intersection"===c.status||b.isContainedWithinObject(this)||this.isContainedWithinObject(b)},isContainedWithinObject:function(b){for(var c=a(this.oCoords),d=0;d<4;d++)if(!b.containsPoint(c[d]))return!1;return!0},isContainedWithinRect:function(a,b){var c=this.getBoundingRect();return c.left>=a.x&&c.left+c.width<=b.x&&c.top>=a.y&&c.top+c.height<=b.y},containsPoint:function(a){this.oCoords||this.setCoords();var b=this._getImageLines(this.oCoords),c=this._findCrossPoints(a,b);return 0!==c&&c%2===1},_getImageLines:function(a){return{topline:{o:a.tl,d:a.tr},rightline:{o:a.tr,d:a.br},bottomline:{o:a.br,d:a.bl},leftline:{o:a.bl,d:a.tl}}},_findCrossPoints:function(a,b){var c,d,e,f,g,h,i=0;for(var j in b)if(h=b[j],!(h.o.y<a.y&&h.d.y<a.y||h.o.y>=a.y&&h.d.y>=a.y||(h.o.x===h.d.x&&h.o.x>=a.x?g=h.o.x:(c=0,d=(h.d.y-h.o.y)/(h.d.x-h.o.x),e=a.y-c*a.x,f=h.o.y-d*h.o.x,g=-(e-f)/(c-d)),g>=a.x&&(i+=1),2!==i)))break;return i},getBoundingRectWidth:function(){return this.getBoundingRect().width},getBoundingRectHeight:function(){return this.getBoundingRect().height},getBoundingRect:function(){return this.oCoords||this.setCoords(),fabric.util.makeBoundingBoxFromPoints([this.oCoords.tl,this.oCoords.tr,this.oCoords.br,this.oCoords.bl])},getWidth:function(){return this._getTransformedDimensions().x},getHeight:function(){return this._getTransformedDimensions().y},_constrainScale:function(a){return Math.abs(a)<this.minScaleLimit?a<0?-this.minScaleLimit:this.minScaleLimit:a},scale:function(a){return a=this._constrainScale(a),a<0&&(this.flipX=!this.flipX,this.flipY=!this.flipY,a*=-1),this.scaleX=a,this.scaleY=a,this.setCoords(),this},scaleToWidth:function(a){var b=this.getBoundingRect().width/this.getWidth();return this.scale(a/this.width/b)},scaleToHeight:function(a){var b=this.getBoundingRect().height/this.getHeight();return this.scale(a/this.height/b)},setCoords:function(){var a=b(this.angle),c=this.getViewportTransform(),d=this._calculateCurrentDimensions(),e=d.x,f=d.y;e<0&&(e=Math.abs(e));var g=Math.sin(a),h=Math.cos(a),i=e>0?Math.atan(f/e):0,j=e/Math.cos(i)/2,k=Math.cos(i+a)*j,l=Math.sin(i+a)*j,m=fabric.util.transformPoint(this.getCenterPoint(),c),n=new fabric.Point(m.x-k,m.y-l),o=new fabric.Point(n.x+e*h,n.y+e*g),p=new fabric.Point(n.x-f*g,n.y+f*h),q=new fabric.Point(m.x+k,m.y+l),r=new fabric.Point((n.x+p.x)/2,(n.y+p.y)/2),s=new fabric.Point((o.x+n.x)/2,(o.y+n.y)/2),t=new fabric.Point((q.x+o.x)/2,(q.y+o.y)/2),u=new fabric.Point((q.x+p.x)/2,(q.y+p.y)/2),v=new fabric.Point(s.x+g*this.rotatingPointOffset,s.y-h*this.rotatingPointOffset);return this.oCoords={tl:n,tr:o,br:q,bl:p,ml:r,mt:s,mr:t,mb:u,mtr:v},this._setCornerCoords&&this._setCornerCoords(),this},_calcRotateMatrix:function(){if(this.angle){var a=b(this.angle),c=Math.cos(a),d=Math.sin(a);return[c,d,-d,c,0,0]}return[1,0,0,1,0,0]},calcTransformMatrix:function(){var a=this.getCenterPoint(),b=[1,0,0,1,a.x,a.y],d=this._calcRotateMatrix(),e=this._calcDimensionsTransformMatrix(this.skewX,this.skewY,!0),f=this.group?this.group.calcTransformMatrix():[1,0,0,1,0,0];return f=c(f,b),f=c(f,d),f=c(f,e)},_calcDimensionsTransformMatrix:function(a,d,e){var f=[1,0,Math.tan(b(a)),1],g=[1,Math.tan(b(d)),0,1],h=this.scaleX*(e&&this.flipX?-1:1),i=this.scaleY*(e&&this.flipY?-1:1),j=[h,0,0,i],k=c(j,f,!0);return c(k,g,!0)}})}(),fabric.util.object.extend(fabric.Object.prototype,{sendToBack:function(){return this.group?fabric.StaticCanvas.prototype.sendToBack.call(this.group,this):this.canvas.sendToBack(this),this},bringToFront:function(){return this.group?fabric.StaticCanvas.prototype.bringToFront.call(this.group,this):this.canvas.bringToFront(this),this},sendBackwards:function(a){return this.group?fabric.StaticCanvas.prototype.sendBackwards.call(this.group,this,a):this.canvas.sendBackwards(this,a),this},bringForward:function(a){return this.group?fabric.StaticCanvas.prototype.bringForward.call(this.group,this,a):this.canvas.bringForward(this,a),this},moveTo:function(a){return this.group?fabric.StaticCanvas.prototype.moveTo.call(this.group,this,a):this.canvas.moveTo(this,a),this}}),function(){function a(a,b){if(b){if(b.toLive)return a+": url(#SVGID_"+b.id+"); ";var c=new fabric.Color(b),d=a+": "+c.toRgb()+"; ",e=c.getAlpha();return 1!==e&&(d+=a+"-opacity: "+e.toString()+"; "),d}return a+": none; "}fabric.util.object.extend(fabric.Object.prototype,{getSvgStyles:function(b){var c=this.fillRule,d=this.strokeWidth?this.strokeWidth:"0",e=this.strokeDashArray?this.strokeDashArray.join(" "):"none",f=this.strokeLineCap?this.strokeLineCap:"butt",g=this.strokeLineJoin?this.strokeLineJoin:"miter",h=this.strokeMiterLimit?this.strokeMiterLimit:"4",i="undefined"!=typeof this.opacity?this.opacity:"1",j=this.visible?"":" visibility: hidden;",k=b?"":this.getSvgFilter(),l=a("fill",this.fill),m=a("stroke",this.stroke);return[m,"stroke-width: ",d,"; ","stroke-dasharray: ",e,"; ","stroke-linecap: ",f,"; ","stroke-linejoin: ",g,"; ","stroke-miterlimit: ",h,"; ",l,"fill-rule: ",c,"; ","opacity: ",i,";",k,j].join("")},getSvgFilter:function(){return this.shadow?"filter: url(#SVGID_"+this.shadow.id+");":""},getSvgId:function(){return this.id?'id="'+this.id+'" ':""},getSvgTransform:function(){if(this.group&&"path-group"===this.group.type)return"";var a=fabric.util.toFixed,b=this.getAngle(),c=this.getSkewX()%360,d=this.getSkewY()%360,e=this.getCenterPoint(),f=fabric.Object.NUM_FRACTION_DIGITS,g="path-group"===this.type?"":"translate("+a(e.x,f)+" "+a(e.y,f)+")",h=0!==b?" rotate("+a(b,f)+")":"",i=1===this.scaleX&&1===this.scaleY?"":" scale("+a(this.scaleX,f)+" "+a(this.scaleY,f)+")",j=0!==c?" skewX("+a(c,f)+")":"",k=0!==d?" skewY("+a(d,f)+")":"",l="path-group"===this.type?this.width:0,m=this.flipX?" matrix(-1 0 0 1 "+l+" 0) ":"",n="path-group"===this.type?this.height:0,o=this.flipY?" matrix(1 0 0 -1 0 "+n+")":"";return[g,h,i,m,o,j,k].join("")},getSvgTransformMatrix:function(){return this.transformMatrix?" matrix("+this.transformMatrix.join(" ")+") ":""},_createBaseSVGMarkup:function(){var a=[];return this.fill&&this.fill.toLive&&a.push(this.fill.toSVG(this,!1)),this.stroke&&this.stroke.toLive&&a.push(this.stroke.toSVG(this,!1)),this.shadow&&a.push(this.shadow.toSVG(this)),a}})}(),function(){function a(a,b,d){var e={},f=!0;d.forEach(function(b){e[b]=a[b]}),c(a[b],e,f)}function b(a,c){if(!fabric.isLikelyNode&&a instanceof Element)return a===c;if(a instanceof Array){if(a.length!==c.length)return!1;var d=c.concat().sort(),e=a.concat().sort();return!e.some(function(a,c){return!b(d[c],a)})}if(a instanceof Object){for(var f in a)if(!b(a[f],c[f]))return!1;return!0}return a===c}var c=fabric.util.object.extend;fabric.util.object.extend(fabric.Object.prototype,{hasStateChanged:function(){return!b(this.originalState,this)},saveState:function(b){return a(this,"originalState",this.stateProperties),b&&b.stateProperties&&a(this,"originalState",b.stateProperties),this},setupState:function(a){return this.originalState={},this.saveState(a),this}})}(),function(){var a=fabric.util.degreesToRadians,b=function(){return"undefined"!=typeof G_vmlCanvasManager};fabric.util.object.extend(fabric.Object.prototype,{_controlsVisibility:null,_findTargetCorner:function(a){if(!this.hasControls||!this.active)return!1;var b,c,d=a.x,e=a.y;this.__corner=0;for(var f in this.oCoords)if(this.isControlVisible(f)&&("mtr"!==f||this.hasRotatingPoint)&&(!this.get("lockUniScaling")||"mt"!==f&&"mr"!==f&&"mb"!==f&&"ml"!==f)&&(c=this._getImageLines(this.oCoords[f].corner),b=this._findCrossPoints({x:d,y:e},c),0!==b&&b%2===1))return this.__corner=f,f;return!1},_setCornerCoords:function(){var b,c,d=this.oCoords,e=a(45-this.angle),f=.707106*this.cornerSize,g=f*Math.cos(e),h=f*Math.sin(e);for(var i in d)b=d[i].x,c=d[i].y,d[i].corner={tl:{x:b-h,y:c-g},tr:{x:b+g,y:c-h},bl:{x:b-g,y:c+h},br:{x:b+h,y:c+g}}},_getNonTransformedDimensions:function(){var a=this.strokeWidth,b=this.width,c=this.height,d=!0,e=!0;return"line"===this.type&&"butt"===this.strokeLineCap&&(e=b,d=c),e&&(c+=c<0?-a:a),d&&(b+=b<0?-a:a),{x:b,y:c}},_getTransformedDimensions:function(a,b){"undefined"==typeof a&&(a=this.skewX),"undefined"==typeof b&&(b=this.skewY);var c,d,e=this._getNonTransformedDimensions(),f=e.x/2,g=e.y/2,h=[{x:-f,y:-g},{x:f,y:-g},{x:-f,y:g},{x:f,y:g}],i=this._calcDimensionsTransformMatrix(a,b,!1);for(c=0;c<h.length;c++)h[c]=fabric.util.transformPoint(h[c],i);return d=fabric.util.makeBoundingBoxFromPoints(h),{x:d.width,y:d.height}},_calculateCurrentDimensions:function(){var a=this.getViewportTransform(),b=this._getTransformedDimensions(),c=b.x,d=b.y,e=fabric.util.transformPoint(new fabric.Point(c,d),a,!0);return e.scalarAdd(2*this.padding)},drawSelectionBackground:function(b){if(!this.selectionBackgroundColor||this.group||!this.active)return this;b.save();var c=this.getCenterPoint(),d=this._calculateCurrentDimensions(),e=this.canvas.viewportTransform;return b.translate(c.x,c.y),b.scale(1/e[0],1/e[3]),b.rotate(a(this.angle)),b.fillStyle=this.selectionBackgroundColor,b.fillRect(-d.x/2,-d.y/2,d.x,d.y),b.restore(),this},drawBorders:function(a){if(!this.hasBorders)return this;var b=this._calculateCurrentDimensions(),c=1/this.borderScaleFactor,d=b.x+c,e=b.y+c;if(a.save(),a.strokeStyle=this.borderColor,this._setLineDash(a,this.borderDashArray,null),a.strokeRect(-d/2,-e/2,d,e),this.hasRotatingPoint&&this.isControlVisible("mtr")&&!this.get("lockRotation")&&this.hasControls){var f=-e/2;a.beginPath(),a.moveTo(0,f),a.lineTo(0,f-this.rotatingPointOffset),a.closePath(),a.stroke()}return a.restore(),this},drawBordersInGroup:function(a,b){if(!this.hasBorders)return this;var c=this._getNonTransformedDimensions(),d=fabric.util.customTransformMatrix(b.scaleX,b.scaleY,b.skewX),e=fabric.util.transformPoint(c,d),f=1/this.borderScaleFactor,g=e.x+f+2*this.padding,h=e.y+f+2*this.padding;return a.save(),this._setLineDash(a,this.borderDashArray,null),a.strokeStyle=this.borderColor,a.strokeRect(-g/2,-h/2,g,h),a.restore(),this},drawControls:function(a){if(!this.hasControls)return this;var b=this._calculateCurrentDimensions(),c=b.x,d=b.y,e=this.cornerSize,f=-(c+e)/2,g=-(d+e)/2,h=this.transparentCorners?"stroke":"fill";return a.save(),a.strokeStyle=a.fillStyle=this.cornerColor,this.transparentCorners||(a.strokeStyle=this.cornerStrokeColor),this._setLineDash(a,this.cornerDashArray,null),this._drawControl("tl",a,h,f,g),this._drawControl("tr",a,h,f+c,g),this._drawControl("bl",a,h,f,g+d),this._drawControl("br",a,h,f+c,g+d),this.get("lockUniScaling")||(this._drawControl("mt",a,h,f+c/2,g),this._drawControl("mb",a,h,f+c/2,g+d),this._drawControl("mr",a,h,f+c,g+d/2),this._drawControl("ml",a,h,f,g+d/2)),this.hasRotatingPoint&&this._drawControl("mtr",a,h,f+c/2,g-this.rotatingPointOffset),a.restore(),this},_drawControl:function(a,c,d,e,f){if(this.isControlVisible(a)){var g=this.cornerSize,h=!this.transparentCorners&&this.cornerStrokeColor;switch(this.cornerStyle){case"circle":c.beginPath(),c.arc(e+g/2,f+g/2,g/2,0,2*Math.PI,!1),c[d](),h&&c.stroke();break;default:b()||this.transparentCorners||c.clearRect(e,f,g,g),c[d+"Rect"](e,f,g,g),h&&c.strokeRect(e,f,g,g)}}},isControlVisible:function(a){return this._getControlsVisibility()[a]},setControlVisible:function(a,b){return this._getControlsVisibility()[a]=b,this},setControlsVisibility:function(a){a||(a={});for(var b in a)this.setControlVisible(b,a[b]);return this},_getControlsVisibility:function(){return this._controlsVisibility||(this._controlsVisibility={tl:!0,tr:!0,br:!0,bl:!0,ml:!0,mt:!0,mr:!0,mb:!0,mtr:!0}),this._controlsVisibility}})}(),fabric.util.object.extend(fabric.StaticCanvas.prototype,{FX_DURATION:500,fxCenterObjectH:function(a,b){b=b||{};var c=function(){},d=b.onComplete||c,e=b.onChange||c,f=this;return fabric.util.animate({startValue:a.get("left"),endValue:this.getCenter().left,duration:this.FX_DURATION,onChange:function(b){a.set("left",b),f.renderAll(),e()},onComplete:function(){a.setCoords(),d()}}),this},fxCenterObjectV:function(a,b){b=b||{};var c=function(){},d=b.onComplete||c,e=b.onChange||c,f=this;return fabric.util.animate({startValue:a.get("top"),endValue:this.getCenter().top,duration:this.FX_DURATION,onChange:function(b){a.set("top",b),f.renderAll(),e()},onComplete:function(){a.setCoords(),d()}}),this},fxRemove:function(a,b){b=b||{};var c=function(){},d=b.onComplete||c,e=b.onChange||c,f=this;return fabric.util.animate({startValue:a.get("opacity"),endValue:0,duration:this.FX_DURATION,onStart:function(){a.set("active",!1)},onChange:function(b){a.set("opacity",b),f.renderAll(),e()},onComplete:function(){f.remove(a),d()}}),this}}),fabric.util.object.extend(fabric.Object.prototype,{animate:function(){if(arguments[0]&&"object"==typeof arguments[0]){var a,b,c=[];for(a in arguments[0])c.push(a);for(var d=0,e=c.length;d<e;d++)a=c[d],b=d!==e-1,this._animate(a,arguments[0][a],arguments[1],b)}else this._animate.apply(this,arguments);return this},_animate:function(a,b,c,d){var e,f=this;b=b.toString(),c=c?fabric.util.object.clone(c):{},~a.indexOf(".")&&(e=a.split("."));var g=e?this.get(e[0])[e[1]]:this.get(a);"from"in c||(c.from=g),b=~b.indexOf("=")?g+parseFloat(b.replace("=","")):parseFloat(b),fabric.util.animate({startValue:c.from,endValue:b,byValue:c.by,easing:c.easing,duration:c.duration,abort:c.abort&&function(){return c.abort.call(f)},onChange:function(b){e?f[e[0]][e[1]]=b:f.set(a,b),d||c.onChange&&c.onChange()},onComplete:function(){d||(f.setCoords(),c.onComplete&&c.onComplete())}})}}),function(a){"use strict";function b(a,b){var c=a.origin,d=a.axis1,e=a.axis2,f=a.dimension,g=b.nearest,h=b.center,i=b.farthest;return function(){switch(this.get(c)){case g:return Math.min(this.get(d),this.get(e));case h:return Math.min(this.get(d),this.get(e))+.5*this.get(f);case i:return Math.max(this.get(d),this.get(e))}}}var c=a.fabric||(a.fabric={}),d=c.util.object.extend,e={x1:1,x2:1,y1:1,y2:1},f=c.StaticCanvas.supports("setLineDash");return c.Line?void c.warn("fabric.Line is already defined"):(c.Line=c.util.createClass(c.Object,{type:"line",x1:0,y1:0,x2:0,y2:0,initialize:function(a,b){b=b||{},a||(a=[0,0,0,0]),this.callSuper("initialize",b),this.set("x1",a[0]),this.set("y1",a[1]),this.set("x2",a[2]),this.set("y2",a[3]),this._setWidthHeight(b)},_setWidthHeight:function(a){a||(a={}),this.width=Math.abs(this.x2-this.x1),this.height=Math.abs(this.y2-this.y1),this.left="left"in a?a.left:this._getLeftToOriginX(),this.top="top"in a?a.top:this._getTopToOriginY()},_set:function(a,b){return this.callSuper("_set",a,b),"undefined"!=typeof e[a]&&this._setWidthHeight(),this},_getLeftToOriginX:b({origin:"originX",axis1:"x1",axis2:"x2",dimension:"width"},{nearest:"left",center:"center",farthest:"right"}),_getTopToOriginY:b({origin:"originY",axis1:"y1",axis2:"y2",dimension:"height"},{nearest:"top",center:"center",farthest:"bottom"}),_render:function(a,b){if(a.beginPath(),b){var c=this.getCenterPoint();a.translate(c.x-this.strokeWidth/2,c.y-this.strokeWidth/2)}if(!this.strokeDashArray||this.strokeDashArray&&f){var d=this.calcLinePoints();a.moveTo(d.x1,d.y1),a.lineTo(d.x2,d.y2)}a.lineWidth=this.strokeWidth;var e=a.strokeStyle;a.strokeStyle=this.stroke||a.fillStyle,this.stroke&&this._renderStroke(a),a.strokeStyle=e},_renderDashedStroke:function(a){var b=this.calcLinePoints();a.beginPath(),c.util.drawDashedLine(a,b.x1,b.y1,b.x2,b.y2,this.strokeDashArray),a.closePath()},toObject:function(a){return d(this.callSuper("toObject",a),this.calcLinePoints())},calcLinePoints:function(){var a=this.x1<=this.x2?-1:1,b=this.y1<=this.y2?-1:1,c=a*this.width*.5,d=b*this.height*.5,e=a*this.width*-.5,f=b*this.height*-.5;return{x1:c,x2:e,y1:d,y2:f}},toSVG:function(a){var b=this._createBaseSVGMarkup(),c={x1:this.x1,x2:this.x2,y1:this.y1,y2:this.y2};return this.group&&"path-group"===this.group.type||(c=this.calcLinePoints()),b.push("<line ",this.getSvgId(),'x1="',c.x1,'" y1="',c.y1,'" x2="',c.x2,'" y2="',c.y2,'" style="',this.getSvgStyles(),'" transform="',this.getSvgTransform(),this.getSvgTransformMatrix(),'"/>\n'),a?a(b.join("")):b.join("")},complexity:function(){return 1}}),c.Line.ATTRIBUTE_NAMES=c.SHARED_ATTRIBUTES.concat("x1 y1 x2 y2".split(" ")),c.Line.fromElement=function(a,b){var e=c.parseAttributes(a,c.Line.ATTRIBUTE_NAMES),f=[e.x1||0,e.y1||0,e.x2||0,e.y2||0];return new c.Line(f,d(e,b))},void(c.Line.fromObject=function(a,b){var d=[a.x1,a.y1,a.x2,a.y2],e=new c.Line(d,a);return b&&b(e),e}))}("undefined"!=typeof exports?exports:this),function(a){"use strict";function b(a){return"radius"in a&&a.radius>=0}var c=a.fabric||(a.fabric={}),d=Math.PI,e=c.util.object.extend;return c.Circle?void c.warn("fabric.Circle is already defined."):(c.Circle=c.util.createClass(c.Object,{type:"circle",radius:0,startAngle:0,endAngle:2*d,initialize:function(a){a=a||{},this.callSuper("initialize",a),this.set("radius",a.radius||0),this.startAngle=a.startAngle||this.startAngle,this.endAngle=a.endAngle||this.endAngle},_set:function(a,b){return this.callSuper("_set",a,b),"radius"===a&&this.setRadius(b),this},toObject:function(a){return this.callSuper("toObject",["radius","startAngle","endAngle"].concat(a))},toSVG:function(a){var b=this._createBaseSVGMarkup(),c=0,e=0,f=(this.endAngle-this.startAngle)%(2*d);if(0===f)this.group&&"path-group"===this.group.type&&(c=this.left+this.radius,e=this.top+this.radius),b.push("<circle ",this.getSvgId(),'cx="'+c+'" cy="'+e+'" ','r="',this.radius,'" style="',this.getSvgStyles(),'" transform="',this.getSvgTransform()," ",this.getSvgTransformMatrix(),'"/>\n');else{var g=Math.cos(this.startAngle)*this.radius,h=Math.sin(this.startAngle)*this.radius,i=Math.cos(this.endAngle)*this.radius,j=Math.sin(this.endAngle)*this.radius,k=f>d?"1":"0";b.push('<path d="M '+g+" "+h," A "+this.radius+" "+this.radius," 0 ",+k+" 1"," "+i+" "+j,'" style="',this.getSvgStyles(),'" transform="',this.getSvgTransform()," ",this.getSvgTransformMatrix(),'"/>\n')}return a?a(b.join("")):b.join("")},_render:function(a,b){a.beginPath(),a.arc(b?this.left+this.radius:0,b?this.top+this.radius:0,this.radius,this.startAngle,this.endAngle,!1),this._renderFill(a),this._renderStroke(a)},getRadiusX:function(){return this.get("radius")*this.get("scaleX")},getRadiusY:function(){return this.get("radius")*this.get("scaleY")},setRadius:function(a){return this.radius=a,this.set("width",2*a).set("height",2*a)},complexity:function(){return 1}}),c.Circle.ATTRIBUTE_NAMES=c.SHARED_ATTRIBUTES.concat("cx cy r".split(" ")),c.Circle.fromElement=function(a,d){d||(d={});var f=c.parseAttributes(a,c.Circle.ATTRIBUTE_NAMES);if(!b(f))throw new Error("value of `r` attribute is required and can not be negative");f.left=f.left||0,f.top=f.top||0;var g=new c.Circle(e(f,d));return g.left-=g.radius,g.top-=g.radius,g},void(c.Circle.fromObject=function(a,b){var d=new c.Circle(a);return b&&b(d),d}))}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={});return b.Triangle?void b.warn("fabric.Triangle is already defined"):(b.Triangle=b.util.createClass(b.Object,{type:"triangle",initialize:function(a){a=a||{},this.callSuper("initialize",a),this.set("width",a.width||100).set("height",a.height||100)},_render:function(a){var b=this.width/2,c=this.height/2;a.beginPath(),a.moveTo(-b,c),a.lineTo(0,-c),a.lineTo(b,c),a.closePath(),this._renderFill(a),this._renderStroke(a)},_renderDashedStroke:function(a){var c=this.width/2,d=this.height/2;a.beginPath(),b.util.drawDashedLine(a,-c,d,0,-d,this.strokeDashArray),b.util.drawDashedLine(a,0,-d,c,d,this.strokeDashArray),b.util.drawDashedLine(a,c,d,-c,d,this.strokeDashArray),a.closePath()},toSVG:function(a){var b=this._createBaseSVGMarkup(),c=this.width/2,d=this.height/2,e=[-c+" "+d,"0 "+-d,c+" "+d].join(",");return b.push("<polygon ",this.getSvgId(),'points="',e,'" style="',this.getSvgStyles(),'" transform="',this.getSvgTransform(),'"/>'),a?a(b.join("")):b.join("")},complexity:function(){return 1}}),void(b.Triangle.fromObject=function(a,c){var d=new b.Triangle(a);return c&&c(d),d}))}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=2*Math.PI,d=b.util.object.extend;return b.Ellipse?void b.warn("fabric.Ellipse is already defined."):(b.Ellipse=b.util.createClass(b.Object,{type:"ellipse",rx:0,ry:0,initialize:function(a){a=a||{},this.callSuper("initialize",a),this.set("rx",a.rx||0),this.set("ry",a.ry||0)},_set:function(a,b){switch(this.callSuper("_set",a,b),a){case"rx":this.rx=b,this.set("width",2*b);break;case"ry":this.ry=b,this.set("height",2*b)}return this},getRx:function(){return this.get("rx")*this.get("scaleX")},getRy:function(){return this.get("ry")*this.get("scaleY")},toObject:function(a){return this.callSuper("toObject",["rx","ry"].concat(a))},toSVG:function(a){var b=this._createBaseSVGMarkup(),c=0,d=0;return this.group&&"path-group"===this.group.type&&(c=this.left+this.rx,d=this.top+this.ry),b.push("<ellipse ",this.getSvgId(),'cx="',c,'" cy="',d,'" ','rx="',this.rx,'" ry="',this.ry,'" style="',this.getSvgStyles(),'" transform="',this.getSvgTransform(),this.getSvgTransformMatrix(),'"/>\n'),a?a(b.join("")):b.join("")},_render:function(a,b){a.beginPath(),a.save(),a.transform(1,0,0,this.ry/this.rx,0,0),a.arc(b?this.left+this.rx:0,b?(this.top+this.ry)*this.rx/this.ry:0,this.rx,0,c,!1),a.restore(),this._renderFill(a),this._renderStroke(a)},complexity:function(){return 1}}),b.Ellipse.ATTRIBUTE_NAMES=b.SHARED_ATTRIBUTES.concat("cx cy rx ry".split(" ")),b.Ellipse.fromElement=function(a,c){c||(c={});var e=b.parseAttributes(a,b.Ellipse.ATTRIBUTE_NAMES);e.left=e.left||0,e.top=e.top||0;var f=new b.Ellipse(d(e,c));return f.top-=f.ry,f.left-=f.rx,f},void(b.Ellipse.fromObject=function(a,c){var d=new b.Ellipse(a);return c&&c(d),d}))}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend;if(b.Rect)return void b.warn("fabric.Rect is already defined");var d=b.Object.prototype.stateProperties.concat();d.push("rx","ry","x","y"),b.Rect=b.util.createClass(b.Object,{stateProperties:d,type:"rect",rx:0,ry:0,strokeDashArray:null,initialize:function(a){a=a||{},this.callSuper("initialize",a),this._initRxRy()},_initRxRy:function(){this.rx&&!this.ry?this.ry=this.rx:this.ry&&!this.rx&&(this.rx=this.ry)},_render:function(a,b){if(1===this.width&&1===this.height)return void a.fillRect(-.5,-.5,1,1);var c=this.rx?Math.min(this.rx,this.width/2):0,d=this.ry?Math.min(this.ry,this.height/2):0,e=this.width,f=this.height,g=b?this.left:-this.width/2,h=b?this.top:-this.height/2,i=0!==c||0!==d,j=.4477152502;a.beginPath(),a.moveTo(g+c,h),a.lineTo(g+e-c,h),i&&a.bezierCurveTo(g+e-j*c,h,g+e,h+j*d,g+e,h+d),a.lineTo(g+e,h+f-d),i&&a.bezierCurveTo(g+e,h+f-j*d,g+e-j*c,h+f,g+e-c,h+f),
+a.lineTo(g+c,h+f),i&&a.bezierCurveTo(g+j*c,h+f,g,h+f-j*d,g,h+f-d),a.lineTo(g,h+d),i&&a.bezierCurveTo(g,h+j*d,g+j*c,h,g+c,h),a.closePath(),this._renderFill(a),this._renderStroke(a)},_renderDashedStroke:function(a){var c=-this.width/2,d=-this.height/2,e=this.width,f=this.height;a.beginPath(),b.util.drawDashedLine(a,c,d,c+e,d,this.strokeDashArray),b.util.drawDashedLine(a,c+e,d,c+e,d+f,this.strokeDashArray),b.util.drawDashedLine(a,c+e,d+f,c,d+f,this.strokeDashArray),b.util.drawDashedLine(a,c,d+f,c,d,this.strokeDashArray),a.closePath()},toObject:function(a){return this.callSuper("toObject",["rx","ry"].concat(a))},toSVG:function(a){var b=this._createBaseSVGMarkup(),c=this.left,d=this.top;return this.group&&"path-group"===this.group.type||(c=-this.width/2,d=-this.height/2),b.push("<rect ",this.getSvgId(),'x="',c,'" y="',d,'" rx="',this.get("rx"),'" ry="',this.get("ry"),'" width="',this.width,'" height="',this.height,'" style="',this.getSvgStyles(),'" transform="',this.getSvgTransform(),this.getSvgTransformMatrix(),'"/>\n'),a?a(b.join("")):b.join("")},complexity:function(){return 1}}),b.Rect.ATTRIBUTE_NAMES=b.SHARED_ATTRIBUTES.concat("x y rx ry width height".split(" ")),b.Rect.fromElement=function(a,d){if(!a)return null;d=d||{};var e=b.parseAttributes(a,b.Rect.ATTRIBUTE_NAMES);e.left=e.left||0,e.top=e.top||0;var f=new b.Rect(c(d?b.util.object.clone(d):{},e));return f.visible=f.visible&&f.width>0&&f.height>0,f},b.Rect.fromObject=function(a,c){var d=new b.Rect(a);return c&&c(d),d}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={});return b.Polyline?void b.warn("fabric.Polyline is already defined"):(b.Polyline=b.util.createClass(b.Object,{type:"polyline",points:null,minX:0,minY:0,initialize:function(a,c){return b.Polygon.prototype.initialize.call(this,a,c)},_calcDimensions:function(){return b.Polygon.prototype._calcDimensions.call(this)},toObject:function(a){return b.Polygon.prototype.toObject.call(this,a)},toSVG:function(a){return b.Polygon.prototype.toSVG.call(this,a)},_render:function(a,c){b.Polygon.prototype.commonRender.call(this,a,c)&&(this._renderFill(a),this._renderStroke(a))},_renderDashedStroke:function(a){var c,d;a.beginPath();for(var e=0,f=this.points.length;e<f;e++)c=this.points[e],d=this.points[e+1]||c,b.util.drawDashedLine(a,c.x,c.y,d.x,d.y,this.strokeDashArray)},complexity:function(){return this.get("points").length}}),b.Polyline.ATTRIBUTE_NAMES=b.SHARED_ATTRIBUTES.concat(),b.Polyline.fromElement=function(a,c){if(!a)return null;c||(c={});var d=b.parsePointsAttribute(a.getAttribute("points")),e=b.parseAttributes(a,b.Polyline.ATTRIBUTE_NAMES);return new b.Polyline(d,b.util.object.extend(e,c))},void(b.Polyline.fromObject=function(a,c){var d=new b.Polyline(a.points,a);return c&&c(d),d}))}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.util.array.min,e=b.util.array.max,f=b.util.toFixed;return b.Polygon?void b.warn("fabric.Polygon is already defined"):(b.Polygon=b.util.createClass(b.Object,{type:"polygon",points:null,minX:0,minY:0,initialize:function(a,b){b=b||{},this.points=a||[],this.callSuper("initialize",b),this._calcDimensions(),"top"in b||(this.top=this.minY),"left"in b||(this.left=this.minX),this.pathOffset={x:this.minX+this.width/2,y:this.minY+this.height/2}},_calcDimensions:function(){var a=this.points,b=d(a,"x"),c=d(a,"y"),f=e(a,"x"),g=e(a,"y");this.width=f-b||0,this.height=g-c||0,this.minX=b||0,this.minY=c||0},toObject:function(a){return c(this.callSuper("toObject",a),{points:this.points.concat()})},toSVG:function(a){for(var b,c=[],d=this._createBaseSVGMarkup(),e=0,g=this.points.length;e<g;e++)c.push(f(this.points[e].x,2),",",f(this.points[e].y,2)," ");return this.group&&"path-group"===this.group.type||(b=" translate("+-this.pathOffset.x+", "+-this.pathOffset.y+") "),d.push("<",this.type," ",this.getSvgId(),'points="',c.join(""),'" style="',this.getSvgStyles(),'" transform="',this.getSvgTransform(),b," ",this.getSvgTransformMatrix(),'"/>\n'),a?a(d.join("")):d.join("")},_render:function(a,b){this.commonRender(a,b)&&(this._renderFill(a),(this.stroke||this.strokeDashArray)&&(a.closePath(),this._renderStroke(a)))},commonRender:function(a,b){var c,d=this.points.length;if(!d||isNaN(this.points[d-1].y))return!1;b||a.translate(-this.pathOffset.x,-this.pathOffset.y),a.beginPath(),a.moveTo(this.points[0].x,this.points[0].y);for(var e=0;e<d;e++)c=this.points[e],a.lineTo(c.x,c.y);return!0},_renderDashedStroke:function(a){b.Polyline.prototype._renderDashedStroke.call(this,a),a.closePath()},complexity:function(){return this.points.length}}),b.Polygon.ATTRIBUTE_NAMES=b.SHARED_ATTRIBUTES.concat(),b.Polygon.fromElement=function(a,d){if(!a)return null;d||(d={});var e=b.parsePointsAttribute(a.getAttribute("points")),f=b.parseAttributes(a,b.Polygon.ATTRIBUTE_NAMES);return new b.Polygon(e,c(f,d))},void(b.Polygon.fromObject=function(a,c){var d=new b.Polygon(a.points,a);return c&&c(d),d}))}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.array.min,d=b.util.array.max,e=b.util.object.extend,f=Object.prototype.toString,g=b.util.drawArc,h={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},i={m:"l",M:"L"};return b.Path?void b.warn("fabric.Path is already defined"):(b.Path=b.util.createClass(b.Object,{type:"path",path:null,minX:0,minY:0,initialize:function(a,b){b=b||{},this.setOptions(b),a||(a=[]);var c="[object Array]"===f.call(a);this.path=c?a:a.match&&a.match(/[mzlhvcsqta][^mzlhvcsqta]*/gi),this.path&&(c||(this.path=this._parsePath()),this._setPositionDimensions(b),b.sourcePath&&this.setSourcePath(b.sourcePath))},_setPositionDimensions:function(a){var b=this._parseDimensions();this.minX=b.left,this.minY=b.top,this.width=b.width,this.height=b.height,"undefined"==typeof a.left&&(this.left=b.left+("center"===this.originX?this.width/2:"right"===this.originX?this.width:0)),"undefined"==typeof a.top&&(this.top=b.top+("center"===this.originY?this.height/2:"bottom"===this.originY?this.height:0)),this.pathOffset=this.pathOffset||{x:this.minX+this.width/2,y:this.minY+this.height/2}},_renderPathCommands:function(a){var b,c,d,e=null,f=0,h=0,i=0,j=0,k=0,l=0,m=-this.pathOffset.x,n=-this.pathOffset.y;this.group&&"path-group"===this.group.type&&(m=0,n=0),a.beginPath();for(var o=0,p=this.path.length;o<p;++o){switch(b=this.path[o],b[0]){case"l":i+=b[1],j+=b[2],a.lineTo(i+m,j+n);break;case"L":i=b[1],j=b[2],a.lineTo(i+m,j+n);break;case"h":i+=b[1],a.lineTo(i+m,j+n);break;case"H":i=b[1],a.lineTo(i+m,j+n);break;case"v":j+=b[1],a.lineTo(i+m,j+n);break;case"V":j=b[1],a.lineTo(i+m,j+n);break;case"m":i+=b[1],j+=b[2],f=i,h=j,a.moveTo(i+m,j+n);break;case"M":i=b[1],j=b[2],f=i,h=j,a.moveTo(i+m,j+n);break;case"c":c=i+b[5],d=j+b[6],k=i+b[3],l=j+b[4],a.bezierCurveTo(i+b[1]+m,j+b[2]+n,k+m,l+n,c+m,d+n),i=c,j=d;break;case"C":i=b[5],j=b[6],k=b[3],l=b[4],a.bezierCurveTo(b[1]+m,b[2]+n,k+m,l+n,i+m,j+n);break;case"s":c=i+b[3],d=j+b[4],null===e[0].match(/[CcSs]/)?(k=i,l=j):(k=2*i-k,l=2*j-l),a.bezierCurveTo(k+m,l+n,i+b[1]+m,j+b[2]+n,c+m,d+n),k=i+b[1],l=j+b[2],i=c,j=d;break;case"S":c=b[3],d=b[4],null===e[0].match(/[CcSs]/)?(k=i,l=j):(k=2*i-k,l=2*j-l),a.bezierCurveTo(k+m,l+n,b[1]+m,b[2]+n,c+m,d+n),i=c,j=d,k=b[1],l=b[2];break;case"q":c=i+b[3],d=j+b[4],k=i+b[1],l=j+b[2],a.quadraticCurveTo(k+m,l+n,c+m,d+n),i=c,j=d;break;case"Q":c=b[3],d=b[4],a.quadraticCurveTo(b[1]+m,b[2]+n,c+m,d+n),i=c,j=d,k=b[1],l=b[2];break;case"t":c=i+b[1],d=j+b[2],null===e[0].match(/[QqTt]/)?(k=i,l=j):(k=2*i-k,l=2*j-l),a.quadraticCurveTo(k+m,l+n,c+m,d+n),i=c,j=d;break;case"T":c=b[1],d=b[2],null===e[0].match(/[QqTt]/)?(k=i,l=j):(k=2*i-k,l=2*j-l),a.quadraticCurveTo(k+m,l+n,c+m,d+n),i=c,j=d;break;case"a":g(a,i+m,j+n,[b[1],b[2],b[3],b[4],b[5],b[6]+i+m,b[7]+j+n]),i+=b[6],j+=b[7];break;case"A":g(a,i+m,j+n,[b[1],b[2],b[3],b[4],b[5],b[6]+m,b[7]+n]),i=b[6],j=b[7];break;case"z":case"Z":i=f,j=h,a.closePath()}e=b}},_render:function(a){this._renderPathCommands(a),this._renderFill(a),this._renderStroke(a)},toString:function(){return"#<fabric.Path ("+this.complexity()+'): { "top": '+this.top+', "left": '+this.left+" }>"},toObject:function(a){var b=e(this.callSuper("toObject",["sourcePath","pathOffset"].concat(a)),{path:this.path.map(function(a){return a.slice()})});return b},toDatalessObject:function(a){var b=this.toObject(a);return this.sourcePath&&(b.path=this.sourcePath),delete b.sourcePath,b},toSVG:function(a){for(var b=[],c=this._createBaseSVGMarkup(),d="",e=0,f=this.path.length;e<f;e++)b.push(this.path[e].join(" "));var g=b.join(" ");return this.group&&"path-group"===this.group.type||(d=" translate("+-this.pathOffset.x+", "+-this.pathOffset.y+") "),c.push("<path ",this.getSvgId(),'d="',g,'" style="',this.getSvgStyles(),'" transform="',this.getSvgTransform(),d,this.getSvgTransformMatrix(),'" stroke-linecap="round" ',"/>\n"),a?a(c.join("")):c.join("")},complexity:function(){return this.path.length},_parsePath:function(){for(var a,b,c,d,e,f=[],g=[],j=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi,k=0,l=this.path.length;k<l;k++){for(a=this.path[k],d=a.slice(1).trim(),g.length=0;c=j.exec(d);)g.push(c[0]);e=[a.charAt(0)];for(var m=0,n=g.length;m<n;m++)b=parseFloat(g[m]),isNaN(b)||e.push(b);var o=e[0],p=h[o.toLowerCase()],q=i[o]||o;if(e.length-1>p)for(var r=1,s=e.length;r<s;r+=p)f.push([o].concat(e.slice(r,r+p))),o=q;else f.push(e)}return f},_parseDimensions:function(){for(var a,e,f,g,h=[],i=[],j=null,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=this.path.length;q<r;++q){switch(a=this.path[q],a[0]){case"l":m+=a[1],n+=a[2],g=[];break;case"L":m=a[1],n=a[2],g=[];break;case"h":m+=a[1],g=[];break;case"H":m=a[1],g=[];break;case"v":n+=a[1],g=[];break;case"V":n=a[1],g=[];break;case"m":m+=a[1],n+=a[2],k=m,l=n,g=[];break;case"M":m=a[1],n=a[2],k=m,l=n,g=[];break;case"c":e=m+a[5],f=n+a[6],o=m+a[3],p=n+a[4],g=b.util.getBoundsOfCurve(m,n,m+a[1],n+a[2],o,p,e,f),m=e,n=f;break;case"C":m=a[5],n=a[6],o=a[3],p=a[4],g=b.util.getBoundsOfCurve(m,n,a[1],a[2],o,p,m,n);break;case"s":e=m+a[3],f=n+a[4],null===j[0].match(/[CcSs]/)?(o=m,p=n):(o=2*m-o,p=2*n-p),g=b.util.getBoundsOfCurve(m,n,o,p,m+a[1],n+a[2],e,f),o=m+a[1],p=n+a[2],m=e,n=f;break;case"S":e=a[3],f=a[4],null===j[0].match(/[CcSs]/)?(o=m,p=n):(o=2*m-o,p=2*n-p),g=b.util.getBoundsOfCurve(m,n,o,p,a[1],a[2],e,f),m=e,n=f,o=a[1],p=a[2];break;case"q":e=m+a[3],f=n+a[4],o=m+a[1],p=n+a[2],g=b.util.getBoundsOfCurve(m,n,o,p,o,p,e,f),m=e,n=f;break;case"Q":o=a[1],p=a[2],g=b.util.getBoundsOfCurve(m,n,o,p,o,p,a[3],a[4]),m=a[3],n=a[4];break;case"t":e=m+a[1],f=n+a[2],null===j[0].match(/[QqTt]/)?(o=m,p=n):(o=2*m-o,p=2*n-p),g=b.util.getBoundsOfCurve(m,n,o,p,o,p,e,f),m=e,n=f;break;case"T":e=a[1],f=a[2],null===j[0].match(/[QqTt]/)?(o=m,p=n):(o=2*m-o,p=2*n-p),g=b.util.getBoundsOfCurve(m,n,o,p,o,p,e,f),m=e,n=f;break;case"a":g=b.util.getBoundsOfArc(m,n,a[1],a[2],a[3],a[4],a[5],a[6]+m,a[7]+n),m+=a[6],n+=a[7];break;case"A":g=b.util.getBoundsOfArc(m,n,a[1],a[2],a[3],a[4],a[5],a[6],a[7]),m=a[6],n=a[7];break;case"z":case"Z":m=k,n=l}j=a,g.forEach(function(a){h.push(a.x),i.push(a.y)}),h.push(m),i.push(n)}var s=c(h)||0,t=c(i)||0,u=d(h)||0,v=d(i)||0,w=u-s,x=v-t,y={left:s,top:t,width:w,height:x};return y}}),b.Path.fromObject=function(a,c){var d;return"string"!=typeof a.path?(d=new b.Path(a.path,a),c&&c(d),d):void b.loadSVGFromURL(a.path,function(e){var f=a.path;d=e[0],delete a.path,b.util.object.extend(d,a),d.setSourcePath(f),c&&c(d)})},b.Path.ATTRIBUTE_NAMES=b.SHARED_ATTRIBUTES.concat(["d"]),b.Path.fromElement=function(a,c,d){var f=b.parseAttributes(a,b.Path.ATTRIBUTE_NAMES);c&&c(new b.Path(f.d,e(f,d)))},void(b.Path.async=!0))}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.util.array.invoke,e=b.Object.prototype.toObject;return b.PathGroup?void b.warn("fabric.PathGroup is already defined"):(b.PathGroup=b.util.createClass(b.Path,{type:"path-group",fill:"",initialize:function(a,b){b=b||{},this.paths=a||[];for(var c=this.paths.length;c--;)this.paths[c].group=this;b.toBeParsed&&(this.parseDimensionsFromPaths(b),delete b.toBeParsed),this.setOptions(b),this.setCoords(),b.sourcePath&&this.setSourcePath(b.sourcePath)},parseDimensionsFromPaths:function(a){for(var c,d,e,f,g,h,i=[],j=[],k=this.paths.length;k--;){e=this.paths[k],f=e.height+e.strokeWidth,g=e.width+e.strokeWidth,c=[{x:e.left,y:e.top},{x:e.left+g,y:e.top},{x:e.left,y:e.top+f},{x:e.left+g,y:e.top+f}],h=this.paths[k].transformMatrix;for(var l=0;l<c.length;l++)d=c[l],h&&(d=b.util.transformPoint(d,h,!1)),i.push(d.x),j.push(d.y)}a.width=Math.max.apply(null,i),a.height=Math.max.apply(null,j)},render:function(a){if(this.visible){a.save(),this.transformMatrix&&a.transform.apply(a,this.transformMatrix),this.transform(a),this._setShadow(a),this.clipTo&&b.util.clipContext(this,a),a.translate(-this.width/2,-this.height/2);for(var c=0,d=this.paths.length;c<d;++c)this.paths[c].render(a,!0);this.clipTo&&a.restore(),a.restore()}},_set:function(a,b){if("fill"===a&&b&&this.isSameColor())for(var c=this.paths.length;c--;)this.paths[c]._set(a,b);return this.callSuper("_set",a,b)},toObject:function(a){var b=c(e.call(this,["sourcePath"].concat(a)),{paths:d(this.getObjects(),"toObject",a)});return b},toDatalessObject:function(a){var b=this.toObject(a);return this.sourcePath&&(b.paths=this.sourcePath),b},toSVG:function(a){var b=this.getObjects(),c=this.getPointByOrigin("left","top"),d="translate("+c.x+" "+c.y+")",e=this._createBaseSVGMarkup();e.push("<g ",this.getSvgId(),'style="',this.getSvgStyles(),'" ','transform="',this.getSvgTransformMatrix(),d,this.getSvgTransform(),'" ',">\n");for(var f=0,g=b.length;f<g;f++)e.push("\t",b[f].toSVG(a));return e.push("</g>\n"),a?a(e.join("")):e.join("")},toString:function(){return"#<fabric.PathGroup ("+this.complexity()+"): { top: "+this.top+", left: "+this.left+" }>"},isSameColor:function(){var a=this.getObjects()[0].get("fill")||"";return"string"==typeof a&&(a=a.toLowerCase(),this.getObjects().every(function(b){var c=b.get("fill")||"";return"string"==typeof c&&c.toLowerCase()===a}))},complexity:function(){return this.paths.reduce(function(a,b){return a+(b&&b.complexity?b.complexity():0)},0)},getObjects:function(){return this.paths}}),b.PathGroup.fromObject=function(a,c){"string"==typeof a.paths?b.loadSVGFromURL(a.paths,function(d){var e=a.paths;delete a.paths;var f=b.util.groupSVGElements(d,a,e);c(f)}):b.util.enlivenObjects(a.paths,function(d){delete a.paths,c(new b.PathGroup(d,a))})},void(b.PathGroup.async=!0))}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.util.array.min,e=b.util.array.max,f=b.util.array.invoke;if(!b.Group){var g={lockMovementX:!0,lockMovementY:!0,lockRotation:!0,lockScalingX:!0,lockScalingY:!0,lockUniScaling:!0};b.Group=b.util.createClass(b.Object,b.Collection,{type:"group",strokeWidth:0,subTargetCheck:!1,initialize:function(a,b,c){b=b||{},this._objects=[],c&&this.callSuper("initialize",b),this._objects=a||[];for(var d=this._objects.length;d--;)this._objects[d].group=this;this.originalState={},b.originX&&(this.originX=b.originX),b.originY&&(this.originY=b.originY),c?this._updateObjectsCoords(!0):(this._calcBounds(),this._updateObjectsCoords(),this.callSuper("initialize",b)),this.setCoords(),this.saveCoords()},_updateObjectsCoords:function(a){for(var b=this._objects.length;b--;)this._updateObjectCoords(this._objects[b],a)},_updateObjectCoords:function(a,b){if(a.__origHasControls=a.hasControls,a.hasControls=!1,!b){var c=a.getLeft(),d=a.getTop(),e=this.getCenterPoint();a.set({originalLeft:c,originalTop:d,left:c-e.x,top:d-e.y}),a.setCoords()}},toString:function(){return"#<fabric.Group: ("+this.complexity()+")>"},addWithUpdate:function(a){return this._restoreObjectsState(),b.util.resetObjectTransform(this),a&&(this._objects.push(a),a.group=this,a._set("canvas",this.canvas)),this.forEachObject(this._setObjectActive,this),this._calcBounds(),this._updateObjectsCoords(),this},_setObjectActive:function(a){a.set("active",!0),a.group=this},removeWithUpdate:function(a){return this._restoreObjectsState(),b.util.resetObjectTransform(this),this.forEachObject(this._setObjectActive,this),this.remove(a),this._calcBounds(),this._updateObjectsCoords(),this},_onObjectAdded:function(a){a.group=this,a._set("canvas",this.canvas)},_onObjectRemoved:function(a){delete a.group,a.set("active",!1)},delegatedProperties:{fill:!0,stroke:!0,strokeWidth:!0,fontFamily:!0,fontWeight:!0,fontSize:!0,fontStyle:!0,lineHeight:!0,textDecoration:!0,textAlign:!0,backgroundColor:!0},_set:function(a,b){var c=this._objects.length;if(this.delegatedProperties[a]||"canvas"===a)for(;c--;)this._objects[c].set(a,b);else for(;c--;)this._objects[c].setOnGroup(a,b);this.callSuper("_set",a,b)},toObject:function(a){return c(this.callSuper("toObject",a),{objects:f(this._objects,"toObject",a)})},render:function(a){if(this.visible){a.save(),this.transformMatrix&&a.transform.apply(a,this.transformMatrix),this.transform(a),this._setShadow(a),this.clipTo&&b.util.clipContext(this,a),this._transformDone=!0;for(var c=0,d=this._objects.length;c<d;c++)this._renderObject(this._objects[c],a);this.clipTo&&a.restore(),a.restore(),this._transformDone=!1}},_renderControls:function(a,b){this.callSuper("_renderControls",a,b);for(var c=0,d=this._objects.length;c<d;c++)this._objects[c]._renderControls(a)},_renderObject:function(a,b){if(a.visible){var c=a.hasRotatingPoint;a.hasRotatingPoint=!1,a.render(b),a.hasRotatingPoint=c}},_restoreObjectsState:function(){return this._objects.forEach(this._restoreObjectState,this),this},realizeTransform:function(a){var c=a.calcTransformMatrix(),d=b.util.qrDecompose(c),e=new b.Point(d.translateX,d.translateY);return a.scaleX=d.scaleX,a.scaleY=d.scaleY,a.skewX=d.skewX,a.skewY=d.skewY,a.angle=d.angle,a.flipX=!1,a.flipY=!1,a.setPositionByOrigin(e,"center","center"),a},_restoreObjectState:function(a){return this.realizeTransform(a),a.setCoords(),a.hasControls=a.__origHasControls,delete a.__origHasControls,a.set("active",!1),delete a.group,this},destroy:function(){return this._restoreObjectsState()},saveCoords:function(){return this._originalLeft=this.get("left"),this._originalTop=this.get("top"),this},hasMoved:function(){return this._originalLeft!==this.get("left")||this._originalTop!==this.get("top")},setObjectsCoords:function(){return this.forEachObject(function(a){a.setCoords()}),this},_calcBounds:function(a){for(var b,c,d,e=[],f=[],g=["tr","br","bl","tl"],h=0,i=this._objects.length,j=g.length;h<i;++h)for(b=this._objects[h],b.setCoords(),d=0;d<j;d++)c=g[d],e.push(b.oCoords[c].x),f.push(b.oCoords[c].y);this.set(this._getBounds(e,f,a))},_getBounds:function(a,c,f){var g=b.util.invertTransform(this.getViewportTransform()),h=b.util.transformPoint(new b.Point(d(a),d(c)),g),i=b.util.transformPoint(new b.Point(e(a),e(c)),g),j={width:i.x-h.x||0,height:i.y-h.y||0};return f||(j.left=h.x||0,j.top=h.y||0,"center"===this.originX&&(j.left+=j.width/2),"right"===this.originX&&(j.left+=j.width),"center"===this.originY&&(j.top+=j.height/2),"bottom"===this.originY&&(j.top+=j.height)),j},toSVG:function(a){var b=this._createBaseSVGMarkup();b.push("<g ",this.getSvgId(),'transform="',this.getSvgTransform(),this.getSvgTransformMatrix(),'" style="',this.getSvgFilter(),'">\n');for(var c=0,d=this._objects.length;c<d;c++)b.push("\t",this._objects[c].toSVG(a));return b.push("</g>\n"),a?a(b.join("")):b.join("")},get:function(a){if(a in g){if(this[a])return this[a];for(var b=0,c=this._objects.length;b<c;b++)if(this._objects[b][a])return!0;return!1}return a in this.delegatedProperties?this._objects[0]&&this._objects[0].get(a):this[a]}}),b.Group.fromObject=function(a,c){b.util.enlivenObjects(a.objects,function(d){delete a.objects,c&&c(new b.Group(d,a,(!0)))})},b.Group.async=!0}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=fabric.util.object.extend;if(a.fabric||(a.fabric={}),a.fabric.Image)return void fabric.warn("fabric.Image is already defined.");var c=fabric.Object.prototype.stateProperties.concat();c.push("alignX","alignY","meetOrSlice"),fabric.Image=fabric.util.createClass(fabric.Object,{type:"image",crossOrigin:"",alignX:"none",alignY:"none",meetOrSlice:"meet",strokeWidth:0,_lastScaleX:1,_lastScaleY:1,minimumScaleTrigger:.5,stateProperties:c,initialize:function(a,b,c){b||(b={}),this.filters=[],this.resizeFilters=[],this.callSuper("initialize",b),this._initElement(a,b,c)},getElement:function(){return this._element},setElement:function(a,b,c){var d,e;return this._element=a,this._originalElement=a,this._initConfig(c),0===this.resizeFilters.length?d=b:(e=this,d=function(){e.applyFilters(b,e.resizeFilters,e._filteredEl||e._originalElement,!0)}),0!==this.filters.length?this.applyFilters(d):d&&d(this),this},setCrossOrigin:function(a){return this.crossOrigin=a,this._element.crossOrigin=a,this},getOriginalSize:function(){var a=this.getElement();return{width:a.width,height:a.height}},_stroke:function(a){if(this.stroke&&0!==this.strokeWidth){var b=this.width/2,c=this.height/2;a.beginPath(),a.moveTo(-b,-c),a.lineTo(b,-c),a.lineTo(b,c),a.lineTo(-b,c),a.lineTo(-b,-c),a.closePath()}},_renderDashedStroke:function(a){var b=-this.width/2,c=-this.height/2,d=this.width,e=this.height;a.save(),this._setStrokeStyles(a),a.beginPath(),fabric.util.drawDashedLine(a,b,c,b+d,c,this.strokeDashArray),fabric.util.drawDashedLine(a,b+d,c,b+d,c+e,this.strokeDashArray),fabric.util.drawDashedLine(a,b+d,c+e,b,c+e,this.strokeDashArray),fabric.util.drawDashedLine(a,b,c+e,b,c,this.strokeDashArray),a.closePath(),a.restore()},toObject:function(a){var c=[],d=[],e=1,f=1;this.filters.forEach(function(a){a&&("Resize"===a.type&&(e*=a.scaleX,f*=a.scaleY),c.push(a.toObject()))}),this.resizeFilters.forEach(function(a){a&&d.push(a.toObject())});var g=b(this.callSuper("toObject",["crossOrigin","alignX","alignY","meetOrSlice"].concat(a)),{src:this.getSrc(),filters:c,resizeFilters:d});return g.width/=e,g.height/=f,g},toSVG:function(a){var b=this._createBaseSVGMarkup(),c=-this.width/2,d=-this.height/2,e="none",f=!0;if(this.group&&"path-group"===this.group.type&&(c=this.left,d=this.top),"none"!==this.alignX&&"none"!==this.alignY&&(e="x"+this.alignX+"Y"+this.alignY+" "+this.meetOrSlice),b.push('<g transform="',this.getSvgTransform(),this.getSvgTransformMatrix(),'">\n',"<image ",this.getSvgId(),'xlink:href="',this.getSvgSrc(f),'" x="',c,'" y="',d,'" style="',this.getSvgStyles(),'" width="',this.width,'" height="',this.height,'" preserveAspectRatio="',e,'"',"></image>\n"),this.stroke||this.strokeDashArray){var g=this.fill;this.fill=null,b.push("<rect ",'x="',c,'" y="',d,'" width="',this.width,'" height="',this.height,'" style="',this.getSvgStyles(),'"/>\n'),this.fill=g}return b.push("</g>\n"),a?a(b.join("")):b.join("")},getSrc:function(a){var b=a?this._element:this._originalElement;return b?fabric.isLikelyNode?b._src:b.src:this.src||""},setSrc:function(a,b,c){fabric.util.loadImage(a,function(a){return this.setElement(a,b,c)},this,c&&c.crossOrigin)},toString:function(){return'#<fabric.Image: { src: "'+this.getSrc()+'" }>'},applyFilters:function(a,b,c,d){if(b=b||this.filters,c=c||this._originalElement){var e,f,g=fabric.util.createImage(),h=this.canvas?this.canvas.getRetinaScaling():fabric.devicePixelRatio,i=this.minimumScaleTrigger/h,j=this;if(0===b.length)return this._element=c,a&&a(this),c;var k=fabric.util.createCanvasElement();return k.width=c.width,k.height=c.height,k.getContext("2d").drawImage(c,0,0,c.width,c.height),b.forEach(function(a){a&&(d?(e=j.scaleX<i?j.scaleX:1,f=j.scaleY<i?j.scaleY:1,e*h<1&&(e*=h),f*h<1&&(f*=h)):(e=a.scaleX,f=a.scaleY),a.applyTo(k,e,f),d||"Resize"!==a.type||(j.width*=a.scaleX,j.height*=a.scaleY))}),g.width=k.width,g.height=k.height,fabric.isLikelyNode?(g.src=k.toBuffer(void 0,fabric.Image.pngCompression),j._element=g,!d&&(j._filteredEl=g),a&&a(j)):(g.onload=function(){j._element=g,!d&&(j._filteredEl=g),a&&a(j),g.onload=k=null},g.src=k.toDataURL("image/png")),k}},_render:function(a,b){var c,d,e,f=this._findMargins();c=b?this.left:-this.width/2,d=b?this.top:-this.height/2,"slice"===this.meetOrSlice&&(a.beginPath(),a.rect(c,d,this.width,this.height),a.clip()),this.isMoving===!1&&this.resizeFilters.length&&this._needsResize()?(this._lastScaleX=this.scaleX,this._lastScaleY=this.scaleY,e=this.applyFilters(null,this.resizeFilters,this._filteredEl||this._originalElement,!0)):e=this._element,e&&a.drawImage(e,c+f.marginX,d+f.marginY,f.width,f.height),this._stroke(a),this._renderStroke(a)},_needsResize:function(){return this.scaleX!==this._lastScaleX||this.scaleY!==this._lastScaleY},_findMargins:function(){var a,b,c=this.width,d=this.height,e=0,f=0;return"none"===this.alignX&&"none"===this.alignY||(a=[this.width/this._element.width,this.height/this._element.height],b="meet"===this.meetOrSlice?Math.min.apply(null,a):Math.max.apply(null,a),c=this._element.width*b,d=this._element.height*b,"Mid"===this.alignX&&(e=(this.width-c)/2),"Max"===this.alignX&&(e=this.width-c),"Mid"===this.alignY&&(f=(this.height-d)/2),"Max"===this.alignY&&(f=this.height-d)),{width:c,height:d,marginX:e,marginY:f}},_resetWidthHeight:function(){var a=this.getElement();this.set("width",a.width),this.set("height",a.height)},_initElement:function(a,b,c){this.setElement(fabric.util.getById(a),c,b),fabric.util.addClass(this.getElement(),fabric.Image.CSS_CANVAS)},_initConfig:function(a){a||(a={}),this.setOptions(a),this._setWidthHeight(a),this._element&&this.crossOrigin&&(this._element.crossOrigin=this.crossOrigin)},_initFilters:function(a,b){a&&a.length?fabric.util.enlivenObjects(a,function(a){b&&b(a)},"fabric.Image.filters"):b&&b()},_setWidthHeight:function(a){this.width="width"in a?a.width:this.getElement()?this.getElement().width||0:0,this.height="height"in a?a.height:this.getElement()?this.getElement().height||0:0},complexity:function(){return 1}}),fabric.Image.CSS_CANVAS="canvas-img",fabric.Image.prototype.getSvgSrc=fabric.Image.prototype.getSrc,fabric.Image.fromObject=function(a,b){fabric.util.loadImage(a.src,function(c){fabric.Image.prototype._initFilters.call(a,a.filters,function(d){a.filters=d||[],fabric.Image.prototype._initFilters.call(a,a.resizeFilters,function(d){return a.resizeFilters=d||[],new fabric.Image(c,a,b)})})},null,a.crossOrigin)},fabric.Image.fromURL=function(a,b,c){fabric.util.loadImage(a,function(a){b&&b(new fabric.Image(a,c))},null,c&&c.crossOrigin)},fabric.Image.ATTRIBUTE_NAMES=fabric.SHARED_ATTRIBUTES.concat("x y width height preserveAspectRatio xlink:href".split(" ")),fabric.Image.fromElement=function(a,c,d){var e,f=fabric.parseAttributes(a,fabric.Image.ATTRIBUTE_NAMES);f.preserveAspectRatio&&(e=fabric.util.parsePreserveAspectRatioAttribute(f.preserveAspectRatio),b(f,e)),fabric.Image.fromURL(f["xlink:href"],c,b(d?fabric.util.object.clone(d):{},f))},fabric.Image.async=!0,fabric.Image.pngCompression=1}("undefined"!=typeof exports?exports:this),fabric.util.object.extend(fabric.Object.prototype,{_getAngleValueForStraighten:function(){var a=this.getAngle()%360;return a>0?90*Math.round((a-1)/90):90*Math.round(a/90)},straighten:function(){return this.setAngle(this._getAngleValueForStraighten()),this},fxStraighten:function(a){a=a||{};var b=function(){},c=a.onComplete||b,d=a.onChange||b,e=this;return fabric.util.animate({startValue:this.get("angle"),endValue:this._getAngleValueForStraighten(),duration:this.FX_DURATION,onChange:function(a){e.setAngle(a),d()},onComplete:function(){e.setCoords(),c()},onStart:function(){e.set("active",!1)}}),this}}),fabric.util.object.extend(fabric.StaticCanvas.prototype,{straightenObject:function(a){return a.straighten(),this.renderAll(),this},fxStraightenObject:function(a){return a.fxStraighten({onChange:this.renderAll.bind(this)}),this}}),fabric.Image.filters=fabric.Image.filters||{},fabric.Image.filters.BaseFilter=fabric.util.createClass({type:"BaseFilter",initialize:function(a){a&&this.setOptions(a)},setOptions:function(a){for(var b in a)this[b]=a[b]},toObject:function(){return{type:this.type}},toJSON:function(){return this.toObject()}}),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.Brightness=e(d.BaseFilter,{type:"Brightness",initialize:function(a){a=a||{},this.brightness=a.brightness||0},applyTo:function(a){for(var b=a.getContext("2d"),c=b.getImageData(0,0,a.width,a.height),d=c.data,e=this.brightness,f=0,g=d.length;f<g;f+=4)d[f]+=e,d[f+1]+=e,d[f+2]+=e;b.putImageData(c,0,0)},toObject:function(){return c(this.callSuper("toObject"),{brightness:this.brightness})}}),b.Image.filters.Brightness.fromObject=function(a){return new b.Image.filters.Brightness(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.Convolute=e(d.BaseFilter,{type:"Convolute",initialize:function(a){a=a||{},this.opaque=a.opaque,this.matrix=a.matrix||[0,0,0,0,1,0,0,0,0]},applyTo:function(a){for(var b,c,d,e,f,g,h,i,j,k=this.matrix,l=a.getContext("2d"),m=l.getImageData(0,0,a.width,a.height),n=Math.round(Math.sqrt(k.length)),o=Math.floor(n/2),p=m.data,q=m.width,r=m.height,s=l.createImageData(q,r),t=s.data,u=this.opaque?1:0,v=0;v<r;v++)for(var w=0;w<q;w++){f=4*(v*q+w),b=0,c=0,d=0,e=0;for(var x=0;x<n;x++)for(var y=0;y<n;y++)h=v+x-o,g=w+y-o,h<0||h>r||g<0||g>q||(i=4*(h*q+g),j=k[x*n+y],b+=p[i]*j,c+=p[i+1]*j,d+=p[i+2]*j,e+=p[i+3]*j);t[f]=b,t[f+1]=c,t[f+2]=d,t[f+3]=e+u*(255-e)}l.putImageData(s,0,0)},toObject:function(){return c(this.callSuper("toObject"),{opaque:this.opaque,matrix:this.matrix})}}),b.Image.filters.Convolute.fromObject=function(a){return new b.Image.filters.Convolute(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.GradientTransparency=e(d.BaseFilter,{type:"GradientTransparency",initialize:function(a){a=a||{},this.threshold=a.threshold||100},applyTo:function(a){for(var b=a.getContext("2d"),c=b.getImageData(0,0,a.width,a.height),d=c.data,e=this.threshold,f=d.length,g=0,h=d.length;g<h;g+=4)d[g+3]=e+255*(f-g)/f;b.putImageData(c,0,0)},toObject:function(){return c(this.callSuper("toObject"),{threshold:this.threshold})}}),b.Image.filters.GradientTransparency.fromObject=function(a){return new b.Image.filters.GradientTransparency(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.Image.filters,d=b.util.createClass;c.Grayscale=d(c.BaseFilter,{type:"Grayscale",applyTo:function(a){for(var b,c=a.getContext("2d"),d=c.getImageData(0,0,a.width,a.height),e=d.data,f=d.width*d.height*4,g=0;g<f;)b=(e[g]+e[g+1]+e[g+2])/3,e[g]=b,e[g+1]=b,e[g+2]=b,g+=4;c.putImageData(d,0,0)}}),b.Image.filters.Grayscale.fromObject=function(){return new b.Image.filters.Grayscale}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.Image.filters,d=b.util.createClass;c.Invert=d(c.BaseFilter,{type:"Invert",applyTo:function(a){var b,c=a.getContext("2d"),d=c.getImageData(0,0,a.width,a.height),e=d.data,f=e.length;for(b=0;b<f;b+=4)e[b]=255-e[b],e[b+1]=255-e[b+1],e[b+2]=255-e[b+2];c.putImageData(d,0,0)}}),b.Image.filters.Invert.fromObject=function(){return new b.Image.filters.Invert}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.Mask=e(d.BaseFilter,{type:"Mask",initialize:function(a){a=a||{},this.mask=a.mask,this.channel=[0,1,2,3].indexOf(a.channel)>-1?a.channel:0},applyTo:function(a){if(this.mask){var c,d=a.getContext("2d"),e=d.getImageData(0,0,a.width,a.height),f=e.data,g=this.mask.getElement(),h=b.util.createCanvasElement(),i=this.channel,j=e.width*e.height*4;h.width=a.width,h.height=a.height,h.getContext("2d").drawImage(g,0,0,a.width,a.height);var k=h.getContext("2d").getImageData(0,0,a.width,a.height),l=k.data;for(c=0;c<j;c+=4)f[c+3]=l[c+i];d.putImageData(e,0,0)}},toObject:function(){return c(this.callSuper("toObject"),{
+mask:this.mask.toObject(),channel:this.channel})}}),b.Image.filters.Mask.fromObject=function(a,c){b.util.loadImage(a.mask.src,function(d){a.mask=new b.Image(d,a.mask),c&&c(new b.Image.filters.Mask(a))})},b.Image.filters.Mask.async=!0}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.Noise=e(d.BaseFilter,{type:"Noise",initialize:function(a){a=a||{},this.noise=a.noise||0},applyTo:function(a){for(var b,c=a.getContext("2d"),d=c.getImageData(0,0,a.width,a.height),e=d.data,f=this.noise,g=0,h=e.length;g<h;g+=4)b=(.5-Math.random())*f,e[g]+=b,e[g+1]+=b,e[g+2]+=b;c.putImageData(d,0,0)},toObject:function(){return c(this.callSuper("toObject"),{noise:this.noise})}}),b.Image.filters.Noise.fromObject=function(a){return new b.Image.filters.Noise(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.Pixelate=e(d.BaseFilter,{type:"Pixelate",initialize:function(a){a=a||{},this.blocksize=a.blocksize||4},applyTo:function(a){var b,c,d,e,f,g,h,i=a.getContext("2d"),j=i.getImageData(0,0,a.width,a.height),k=j.data,l=j.height,m=j.width;for(c=0;c<l;c+=this.blocksize)for(d=0;d<m;d+=this.blocksize){b=4*c*m+4*d,e=k[b],f=k[b+1],g=k[b+2],h=k[b+3];for(var n=c,o=c+this.blocksize;n<o;n++)for(var p=d,q=d+this.blocksize;p<q;p++)b=4*n*m+4*p,k[b]=e,k[b+1]=f,k[b+2]=g,k[b+3]=h}i.putImageData(j,0,0)},toObject:function(){return c(this.callSuper("toObject"),{blocksize:this.blocksize})}}),b.Image.filters.Pixelate.fromObject=function(a){return new b.Image.filters.Pixelate(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.RemoveWhite=e(d.BaseFilter,{type:"RemoveWhite",initialize:function(a){a=a||{},this.threshold=a.threshold||30,this.distance=a.distance||20},applyTo:function(a){for(var b,c,d,e=a.getContext("2d"),f=e.getImageData(0,0,a.width,a.height),g=f.data,h=this.threshold,i=this.distance,j=255-h,k=Math.abs,l=0,m=g.length;l<m;l+=4)b=g[l],c=g[l+1],d=g[l+2],b>j&&c>j&&d>j&&k(b-c)<i&&k(b-d)<i&&k(c-d)<i&&(g[l+3]=0);e.putImageData(f,0,0)},toObject:function(){return c(this.callSuper("toObject"),{threshold:this.threshold,distance:this.distance})}}),b.Image.filters.RemoveWhite.fromObject=function(a){return new b.Image.filters.RemoveWhite(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.Image.filters,d=b.util.createClass;c.Sepia=d(c.BaseFilter,{type:"Sepia",applyTo:function(a){var b,c,d=a.getContext("2d"),e=d.getImageData(0,0,a.width,a.height),f=e.data,g=f.length;for(b=0;b<g;b+=4)c=.3*f[b]+.59*f[b+1]+.11*f[b+2],f[b]=c+100,f[b+1]=c+50,f[b+2]=c+255;d.putImageData(e,0,0)}}),b.Image.filters.Sepia.fromObject=function(){return new b.Image.filters.Sepia}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.Image.filters,d=b.util.createClass;c.Sepia2=d(c.BaseFilter,{type:"Sepia2",applyTo:function(a){var b,c,d,e,f=a.getContext("2d"),g=f.getImageData(0,0,a.width,a.height),h=g.data,i=h.length;for(b=0;b<i;b+=4)c=h[b],d=h[b+1],e=h[b+2],h[b]=(.393*c+.769*d+.189*e)/1.351,h[b+1]=(.349*c+.686*d+.168*e)/1.203,h[b+2]=(.272*c+.534*d+.131*e)/2.14;f.putImageData(g,0,0)}}),b.Image.filters.Sepia2.fromObject=function(){return new b.Image.filters.Sepia2}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.Tint=e(d.BaseFilter,{type:"Tint",initialize:function(a){a=a||{},this.color=a.color||"#000000",this.opacity="undefined"!=typeof a.opacity?a.opacity:new b.Color(this.color).getAlpha()},applyTo:function(a){var c,d,e,f,g,h,i,j,k,l=a.getContext("2d"),m=l.getImageData(0,0,a.width,a.height),n=m.data,o=n.length;for(k=new b.Color(this.color).getSource(),d=k[0]*this.opacity,e=k[1]*this.opacity,f=k[2]*this.opacity,j=1-this.opacity,c=0;c<o;c+=4)g=n[c],h=n[c+1],i=n[c+2],n[c]=d+g*j,n[c+1]=e+h*j,n[c+2]=f+i*j;l.putImageData(m,0,0)},toObject:function(){return c(this.callSuper("toObject"),{color:this.color,opacity:this.opacity})}}),b.Image.filters.Tint.fromObject=function(a){return new b.Image.filters.Tint(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.Multiply=e(d.BaseFilter,{type:"Multiply",initialize:function(a){a=a||{},this.color=a.color||"#000000"},applyTo:function(a){var c,d,e=a.getContext("2d"),f=e.getImageData(0,0,a.width,a.height),g=f.data,h=g.length;for(d=new b.Color(this.color).getSource(),c=0;c<h;c+=4)g[c]*=d[0]/255,g[c+1]*=d[1]/255,g[c+2]*=d[2]/255;e.putImageData(f,0,0)},toObject:function(){return c(this.callSuper("toObject"),{color:this.color})}}),b.Image.filters.Multiply.fromObject=function(a){return new b.Image.filters.Multiply(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric,c=b.Image.filters,d=b.util.createClass;c.Blend=d(c.BaseFilter,{type:"Blend",initialize:function(a){a=a||{},this.color=a.color||"#000",this.image=a.image||!1,this.mode=a.mode||"multiply",this.alpha=a.alpha||1},applyTo:function(a){var c,d,e,f,g,h,i,j,k,l,m=a.getContext("2d"),n=m.getImageData(0,0,a.width,a.height),o=n.data,p=!1;if(this.image){p=!0;var q=b.util.createCanvasElement();q.width=this.image.width,q.height=this.image.height;var r=new b.StaticCanvas(q);r.add(this.image);var s=r.getContext("2d");l=s.getImageData(0,0,r.width,r.height).data}else l=new b.Color(this.color).getSource(),c=l[0]*this.alpha,d=l[1]*this.alpha,e=l[2]*this.alpha;for(var t=0,u=o.length;t<u;t+=4)switch(f=o[t],g=o[t+1],h=o[t+2],p&&(c=l[t]*this.alpha,d=l[t+1]*this.alpha,e=l[t+2]*this.alpha),this.mode){case"multiply":o[t]=f*c/255,o[t+1]=g*d/255,o[t+2]=h*e/255;break;case"screen":o[t]=1-(1-f)*(1-c),o[t+1]=1-(1-g)*(1-d),o[t+2]=1-(1-h)*(1-e);break;case"add":o[t]=Math.min(255,f+c),o[t+1]=Math.min(255,g+d),o[t+2]=Math.min(255,h+e);break;case"diff":case"difference":o[t]=Math.abs(f-c),o[t+1]=Math.abs(g-d),o[t+2]=Math.abs(h-e);break;case"subtract":i=f-c,j=g-d,k=h-e,o[t]=i<0?0:i,o[t+1]=j<0?0:j,o[t+2]=k<0?0:k;break;case"darken":o[t]=Math.min(f,c),o[t+1]=Math.min(g,d),o[t+2]=Math.min(h,e);break;case"lighten":o[t]=Math.max(f,c),o[t+1]=Math.max(g,d),o[t+2]=Math.max(h,e)}m.putImageData(n,0,0)},toObject:function(){return{color:this.color,image:this.image,mode:this.mode,alpha:this.alpha}}}),b.Image.filters.Blend.fromObject=function(a){return new b.Image.filters.Blend(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=Math.pow,d=Math.floor,e=Math.sqrt,f=Math.abs,g=Math.max,h=Math.round,i=Math.sin,j=Math.ceil,k=b.Image.filters,l=b.util.createClass;k.Resize=l(k.BaseFilter,{type:"Resize",resizeType:"hermite",scaleX:0,scaleY:0,lanczosLobes:3,applyTo:function(a,b,c){if(1!==b||1!==c){this.rcpScaleX=1/b,this.rcpScaleY=1/c;var d,e=a.width,f=a.height,g=h(e*b),i=h(f*c);"sliceHack"===this.resizeType&&(d=this.sliceByTwo(a,e,f,g,i)),"hermite"===this.resizeType&&(d=this.hermiteFastResize(a,e,f,g,i)),"bilinear"===this.resizeType&&(d=this.bilinearFiltering(a,e,f,g,i)),"lanczos"===this.resizeType&&(d=this.lanczosResize(a,e,f,g,i)),a.width=g,a.height=i,a.getContext("2d").putImageData(d,0,0)}},sliceByTwo:function(a,c,e,f,h){var i,j=a.getContext("2d"),k=.5,l=.5,m=1,n=1,o=!1,p=!1,q=c,r=e,s=b.util.createCanvasElement(),t=s.getContext("2d");for(f=d(f),h=d(h),s.width=g(f,c),s.height=g(h,e),f>c&&(k=2,m=-1),h>e&&(l=2,n=-1),i=j.getImageData(0,0,c,e),a.width=g(f,c),a.height=g(h,e),j.putImageData(i,0,0);!o||!p;)c=q,e=r,f*m<d(q*k*m)?q=d(q*k):(q=f,o=!0),h*n<d(r*l*n)?r=d(r*l):(r=h,p=!0),i=j.getImageData(0,0,c,e),t.putImageData(i,0,0),j.clearRect(0,0,q,r),j.drawImage(s,0,0,c,e,0,0,q,r);return j.getImageData(0,0,f,h)},lanczosResize:function(a,b,g,h,k){function l(a){return function(b){if(b>a)return 0;if(b*=Math.PI,f(b)<1e-16)return 1;var c=b/a;return i(b)*i(c)/b/c}}function m(a){var i,j,l,n,o,C,D,E,F,G,H;for(A.x=(a+.5)*t,B.x=d(A.x),i=0;i<k;i++){for(A.y=(i+.5)*u,B.y=d(A.y),o=0,C=0,D=0,E=0,F=0,j=B.x-x;j<=B.x+x;j++)if(!(j<0||j>=b)){G=d(1e3*f(j-A.x)),z[G]||(z[G]={});for(var I=B.y-y;I<=B.y+y;I++)I<0||I>=g||(H=d(1e3*f(I-A.y)),z[G][H]||(z[G][H]=s(e(c(G*v,2)+c(H*w,2))/1e3)),l=z[G][H],l>0&&(n=4*(I*b+j),o+=l,C+=l*q[n],D+=l*q[n+1],E+=l*q[n+2],F+=l*q[n+3]))}n=4*(i*h+a),r[n]=C/o,r[n+1]=D/o,r[n+2]=E/o,r[n+3]=F/o}return++a<h?m(a):p}var n=a.getContext("2d"),o=n.getImageData(0,0,b,g),p=n.getImageData(0,0,h,k),q=o.data,r=p.data,s=l(this.lanczosLobes),t=this.rcpScaleX,u=this.rcpScaleY,v=2/this.rcpScaleX,w=2/this.rcpScaleY,x=j(t*this.lanczosLobes/2),y=j(u*this.lanczosLobes/2),z={},A={},B={};return m(0)},bilinearFiltering:function(a,b,c,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s,t=0,u=this.rcpScaleX,v=this.rcpScaleY,w=a.getContext("2d"),x=4*(b-1),y=w.getImageData(0,0,b,c),z=y.data,A=w.getImageData(0,0,e,f),B=A.data;for(m=0;m<f;m++)for(n=0;n<e;n++)for(k=d(u*n),l=d(v*m),o=u*n-k,p=v*m-l,s=4*(l*b+k),q=0;q<4;q++)g=z[s+q],h=z[s+4+q],i=z[s+x+q],j=z[s+x+4+q],r=g*(1-o)*(1-p)+h*o*(1-p)+i*p*(1-o)+j*o*p,B[t++]=r;return A},hermiteFastResize:function(a,b,c,g,h){for(var i=this.rcpScaleX,k=this.rcpScaleY,l=j(i/2),m=j(k/2),n=a.getContext("2d"),o=n.getImageData(0,0,b,c),p=o.data,q=n.getImageData(0,0,g,h),r=q.data,s=0;s<h;s++)for(var t=0;t<g;t++){for(var u=4*(t+s*g),v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=(s+.5)*k,D=d(s*k);D<(s+1)*k;D++)for(var E=f(C-(D+.5))/m,F=(t+.5)*i,G=E*E,H=d(t*i);H<(t+1)*i;H++){var I=f(F-(H+.5))/l,J=e(G+I*I);J>1&&J<-1||(v=2*J*J*J-3*J*J+1,v>0&&(I=4*(H+D*b),B+=v*p[I+3],x+=v,p[I+3]<255&&(v=v*p[I+3]/250),y+=v*p[I],z+=v*p[I+1],A+=v*p[I+2],w+=v))}r[u]=y/w,r[u+1]=z/w,r[u+2]=A/w,r[u+3]=B/x}return q},toObject:function(){return{type:this.type,scaleX:this.scaleX,scaleY:this.scaleY,resizeType:this.resizeType,lanczosLobes:this.lanczosLobes}}}),b.Image.filters.Resize.fromObject=function(a){return new b.Image.filters.Resize(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.ColorMatrix=e(d.BaseFilter,{type:"ColorMatrix",initialize:function(a){a||(a={}),this.matrix=a.matrix||[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]},applyTo:function(a){var b,c,d,e,f,g=a.getContext("2d"),h=g.getImageData(0,0,a.width,a.height),i=h.data,j=i.length,k=this.matrix;for(b=0;b<j;b+=4)c=i[b],d=i[b+1],e=i[b+2],f=i[b+3],i[b]=c*k[0]+d*k[1]+e*k[2]+f*k[3]+k[4],i[b+1]=c*k[5]+d*k[6]+e*k[7]+f*k[8]+k[9],i[b+2]=c*k[10]+d*k[11]+e*k[12]+f*k[13]+k[14],i[b+3]=c*k[15]+d*k[16]+e*k[17]+f*k[18]+k[19];g.putImageData(h,0,0)},toObject:function(){return c(this.callSuper("toObject"),{type:this.type,matrix:this.matrix})}}),b.Image.filters.ColorMatrix.fromObject=function(a){return new b.Image.filters.ColorMatrix(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.Contrast=e(d.BaseFilter,{type:"Contrast",initialize:function(a){a=a||{},this.contrast=a.contrast||0},applyTo:function(a){for(var b=a.getContext("2d"),c=b.getImageData(0,0,a.width,a.height),d=c.data,e=259*(this.contrast+255)/(255*(259-this.contrast)),f=0,g=d.length;f<g;f+=4)d[f]=e*(d[f]-128)+128,d[f+1]=e*(d[f+1]-128)+128,d[f+2]=e*(d[f+2]-128)+128;b.putImageData(c,0,0)},toObject:function(){return c(this.callSuper("toObject"),{contrast:this.contrast})}}),b.Image.filters.Contrast.fromObject=function(a){return new b.Image.filters.Contrast(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.extend,d=b.Image.filters,e=b.util.createClass;d.Saturate=e(d.BaseFilter,{type:"Saturate",initialize:function(a){a=a||{},this.saturate=a.saturate||0},applyTo:function(a){for(var b,c=a.getContext("2d"),d=c.getImageData(0,0,a.width,a.height),e=d.data,f=.01*-this.saturate,g=0,h=e.length;g<h;g+=4)b=Math.max(e[g],e[g+1],e[g+2]),e[g]+=b!==e[g]?(b-e[g])*f:0,e[g+1]+=b!==e[g+1]?(b-e[g+1])*f:0,e[g+2]+=b!==e[g+2]?(b-e[g+2])*f:0;c.putImageData(d,0,0)},toObject:function(){return c(this.callSuper("toObject"),{saturate:this.saturate})}}),b.Image.filters.Saturate.fromObject=function(a){return new b.Image.filters.Saturate(a)}}("undefined"!=typeof exports?exports:this),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.clone,d=b.util.toFixed,e=b.Object.NUM_FRACTION_DIGITS,f=2;if(b.Text)return void b.warn("fabric.Text is already defined");var g=b.Object.prototype.stateProperties.concat();g.push("fontFamily","fontWeight","fontSize","text","textDecoration","textAlign","fontStyle","lineHeight","textBackgroundColor"),b.Text=b.util.createClass(b.Object,{_dimensionAffectingProps:{fontSize:!0,fontWeight:!0,fontFamily:!0,fontStyle:!0,lineHeight:!0,text:!0,charSpacing:!0,textAlign:!0,strokeWidth:!1},_reNewline:/\r?\n/,_reSpacesAndTabs:/[ \t\r]+/g,type:"text",fontSize:40,fontWeight:"normal",fontFamily:"Times New Roman",textDecoration:"",textAlign:"left",fontStyle:"",lineHeight:1.16,textBackgroundColor:"",stateProperties:g,stroke:null,shadow:null,_fontSizeFraction:.25,_fontSizeMult:1.13,charSpacing:0,initialize:function(a,b){b=b||{},this.text=a,this.__skipDimension=!0,this.setOptions(b),this.__skipDimension=!1,this._initDimensions()},_initDimensions:function(a){this.__skipDimension||(a||(a=b.util.createCanvasElement().getContext("2d"),this._setTextStyles(a)),this._textLines=this._splitTextIntoLines(),this._clearCache(),this.width=this._getTextWidth(a)||this.cursorWidth||f,this.height=this._getTextHeight(a))},toString:function(){return"#<fabric.Text ("+this.complexity()+'): { "text": "'+this.text+'", "fontFamily": "'+this.fontFamily+'" }>'},_render:function(a){this.clipTo&&b.util.clipContext(this,a),this._setOpacity(a),this._setShadow(a),this._setupCompositeOperation(a),this._renderTextBackground(a),this._setStrokeStyles(a),this._setFillStyles(a),this._renderText(a),this._renderTextDecoration(a),this.clipTo&&a.restore()},_renderText:function(a){this._renderTextFill(a),this._renderTextStroke(a)},_setTextStyles:function(a){a.textBaseline="alphabetic",a.font=this._getFontDeclaration()},_getTextHeight:function(){return this._getHeightOfSingleLine()+(this._textLines.length-1)*this._getHeightOfLine()},_getTextWidth:function(a){for(var b=this._getLineWidth(a,0),c=1,d=this._textLines.length;c<d;c++){var e=this._getLineWidth(a,c);e>b&&(b=e)}return b},_getNonTransformedDimensions:function(){return{x:this.width,y:this.height}},_renderChars:function(a,b,c,d,e){var f,g,h=a.slice(0,-4);if(this[h].toLive){var i=-this.width/2+this[h].offsetX||0,j=-this.height/2+this[h].offsetY||0;b.save(),b.translate(i,j),d-=i,e-=j}if(0!==this.charSpacing){var k=this._getWidthOfCharSpacing();c=c.split("");for(var l=0,m=c.length;l<m;l++)f=c[l],g=b.measureText(f).width+k,b[a](f,d,e),d+=g>0?g:0}else b[a](c,d,e);this[h].toLive&&b.restore()},_renderTextLine:function(a,b,c,d,e,f){e-=this.fontSize*this._fontSizeFraction;var g=this._getLineWidth(b,f);if("justify"!==this.textAlign||this.width<g)return void this._renderChars(a,b,c,d,e,f);for(var h,i=c.split(/\s+/),j=0,k=this._getWidthOfWords(b,i.join(" "),f,0),l=this.width-k,m=i.length-1,n=m>0?l/m:0,o=0,p=0,q=i.length;p<q;p++){for(;" "===c[j]&&j<c.length;)j++;h=i[p],this._renderChars(a,b,h,d+o,e,f,j),o+=this._getWidthOfWords(b,h,f,j)+n,j+=h.length}},_getWidthOfWords:function(a,b){var c,d,e=a.measureText(b).width;return 0!==this.charSpacing&&(c=b.split("").length,d=c*this._getWidthOfCharSpacing(),e+=d),e>0?e:0},_getLeftOffset:function(){return-this.width/2},_getTopOffset:function(){return-this.height/2},isEmptyStyles:function(){return!0},_renderTextCommon:function(a,b){for(var c=0,d=this._getLeftOffset(),e=this._getTopOffset(),f=0,g=this._textLines.length;f<g;f++){var h=this._getHeightOfLine(a,f),i=h/this.lineHeight,j=this._getLineWidth(a,f),k=this._getLineLeftOffset(j);this._renderTextLine(b,a,this._textLines[f],d+k,e+c+i,f),c+=h}},_renderTextFill:function(a){!this.fill&&this.isEmptyStyles()||this._renderTextCommon(a,"fillText")},_renderTextStroke:function(a){(this.stroke&&0!==this.strokeWidth||!this.isEmptyStyles())&&(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(a),a.save(),this._setLineDash(a,this.strokedashArray),a.beginPath(),this._renderTextCommon(a,"strokeText"),a.closePath(),a.restore())},_getHeightOfLine:function(){return this._getHeightOfSingleLine()*this.lineHeight},_getHeightOfSingleLine:function(){return this.fontSize*this._fontSizeMult},_renderTextBackground:function(a){this._renderBackground(a),this._renderTextLinesBackground(a)},_renderTextLinesBackground:function(a){if(this.textBackgroundColor){var b,c,d,e=0;a.fillStyle=this.textBackgroundColor;for(var f=0,g=this._textLines.length;f<g;f++)b=this._getHeightOfLine(a,f),c=this._getLineWidth(a,f),c>0&&(d=this._getLineLeftOffset(c),a.fillRect(this._getLeftOffset()+d,this._getTopOffset()+e,c,b/this.lineHeight)),e+=b;this._removeShadow(a)}},_getLineLeftOffset:function(a){return"center"===this.textAlign?(this.width-a)/2:"right"===this.textAlign?this.width-a:0},_clearCache:function(){this.__lineWidths=[],this.__lineHeights=[]},_shouldClearCache:function(){var a=!1;if(this._forceClearCache)return this._forceClearCache=!1,!0;for(var b in this._dimensionAffectingProps)this["__"+b]!==this[b]&&(this["__"+b]=this[b],a=!0);return a},_getLineWidth:function(a,b){if(this.__lineWidths[b])return this.__lineWidths[b]===-1?this.width:this.__lineWidths[b];var c,d,e=this._textLines[b];return c=""===e?0:this._measureLine(a,b),this.__lineWidths[b]=c,c&&"justify"===this.textAlign&&(d=e.split(/\s+/),d.length>1&&(this.__lineWidths[b]=-1)),c},_getWidthOfCharSpacing:function(){return 0!==this.charSpacing?this.fontSize*this.charSpacing/1e3:0},_measureLine:function(a,b){var c,d,e=this._textLines[b],f=a.measureText(e).width,g=0;return 0!==this.charSpacing&&(c=e.split("").length,g=(c-1)*this._getWidthOfCharSpacing()),d=f+g,d>0?d:0},_renderTextDecoration:function(a){function b(b){var e,f,g,h,i,j,k,l=0;for(e=0,f=d._textLines.length;e<f;e++){for(i=d._getLineWidth(a,e),j=d._getLineLeftOffset(i),k=d._getHeightOfLine(a,e),g=0,h=b.length;g<h;g++)a.fillRect(d._getLeftOffset()+j,l+(d._fontSizeMult-1+b[g])*d.fontSize-c,i,d.fontSize/15);l+=k}}if(this.textDecoration){var c=this.height/2,d=this,e=[];this.textDecoration.indexOf("underline")>-1&&e.push(.85),this.textDecoration.indexOf("line-through")>-1&&e.push(.43),this.textDecoration.indexOf("overline")>-1&&e.push(-.12),e.length>0&&b(e)}},_getFontDeclaration:function(){return[b.isLikelyNode?this.fontWeight:this.fontStyle,b.isLikelyNode?this.fontStyle:this.fontWeight,this.fontSize+"px",b.isLikelyNode?'"'+this.fontFamily+'"':this.fontFamily].join(" ")},render:function(a,b){this.visible&&(a.save(),this._setTextStyles(a),this._shouldClearCache()&&this._initDimensions(a),this.drawSelectionBackground(a),b||this.transform(a),this.transformMatrix&&a.transform.apply(a,this.transformMatrix),this.group&&"path-group"===this.group.type&&a.translate(this.left,this.top),this._render(a),a.restore())},_splitTextIntoLines:function(){return this.text.split(this._reNewline)},toObject:function(a){var b=["text","fontSize","fontWeight","fontFamily","fontStyle","lineHeight","textDecoration","textAlign","textBackgroundColor","charSpacing"].concat(a);return this.callSuper("toObject",b)},toSVG:function(a){this.ctx||(this.ctx=b.util.createCanvasElement().getContext("2d"));var c=this._createBaseSVGMarkup(),d=this._getSVGLeftTopOffsets(this.ctx),e=this._getSVGTextAndBg(d.textTop,d.textLeft);return this._wrapSVGTextAndBg(c,e),a?a(c.join("")):c.join("")},_getSVGLeftTopOffsets:function(a){var b=this._getHeightOfLine(a,0),c=-this.width/2,d=0;return{textLeft:c+(this.group&&"path-group"===this.group.type?this.left:0),textTop:d+(this.group&&"path-group"===this.group.type?-this.top:0),lineTop:b}},_wrapSVGTextAndBg:function(a,b){var c=!0,d=this.getSvgFilter(),e=""===d?"":' style="'+d+'"';a.push("\t<g ",this.getSvgId(),'transform="',this.getSvgTransform(),this.getSvgTransformMatrix(),'"',e,">\n",b.textBgRects.join(""),"\t\t<text ",this.fontFamily?'font-family="'+this.fontFamily.replace(/"/g,"'")+'" ':"",this.fontSize?'font-size="'+this.fontSize+'" ':"",this.fontStyle?'font-style="'+this.fontStyle+'" ':"",this.fontWeight?'font-weight="'+this.fontWeight+'" ':"",this.textDecoration?'text-decoration="'+this.textDecoration+'" ':"",'style="',this.getSvgStyles(c),'" >\n',b.textSpans.join(""),"\t\t</text>\n","\t</g>\n")},_getSVGTextAndBg:function(a,b){var c=[],d=[],e=0;this._setSVGBg(d);for(var f=0,g=this._textLines.length;f<g;f++)this.textBackgroundColor&&this._setSVGTextLineBg(d,f,b,a,e),this._setSVGTextLineText(f,c,e,b,a,d),e+=this._getHeightOfLine(this.ctx,f);return{textSpans:c,textBgRects:d}},_setSVGTextLineText:function(a,c,f,g,h){var i=this.fontSize*(this._fontSizeMult-this._fontSizeFraction)-h+f-this.height/2;return"justify"===this.textAlign?void this._setSVGTextLineJustifed(a,c,i,g):void c.push('\t\t\t<tspan x="',d(g+this._getLineLeftOffset(this._getLineWidth(this.ctx,a)),e),'" ','y="',d(i,e),'" ',this._getFillAttributes(this.fill),">",b.util.string.escapeXml(this._textLines[a]),"</tspan>\n")},_setSVGTextLineJustifed:function(a,c,f,g){var h=b.util.createCanvasElement().getContext("2d");this._setTextStyles(h);var i,j,k=this._textLines[a],l=k.split(/\s+/),m=this._getWidthOfWords(h,l.join("")),n=this.width-m,o=l.length-1,p=o>0?n/o:0,q=this._getFillAttributes(this.fill);for(g+=this._getLineLeftOffset(this._getLineWidth(h,a)),a=0,j=l.length;a<j;a++)i=l[a],c.push('\t\t\t<tspan x="',d(g,e),'" ','y="',d(f,e),'" ',q,">",b.util.string.escapeXml(i),"</tspan>\n"),g+=this._getWidthOfWords(h,i)+p},_setSVGTextLineBg:function(a,b,c,f,g){a.push("\t\t<rect ",this._getFillAttributes(this.textBackgroundColor),' x="',d(c+this._getLineLeftOffset(this._getLineWidth(this.ctx,b)),e),'" y="',d(g-this.height/2,e),'" width="',d(this._getLineWidth(this.ctx,b),e),'" height="',d(this._getHeightOfLine(this.ctx,b)/this.lineHeight,e),'"></rect>\n')},_setSVGBg:function(a){this.backgroundColor&&a.push("\t\t<rect ",this._getFillAttributes(this.backgroundColor),' x="',d(-this.width/2,e),'" y="',d(-this.height/2,e),'" width="',d(this.width,e),'" height="',d(this.height,e),'"></rect>\n')},_getFillAttributes:function(a){var c=a&&"string"==typeof a?new b.Color(a):"";return c&&c.getSource()&&1!==c.getAlpha()?'opacity="'+c.getAlpha()+'" fill="'+c.setAlpha(1).toRgb()+'"':'fill="'+a+'"'},_set:function(a,b){this.callSuper("_set",a,b),a in this._dimensionAffectingProps&&(this._initDimensions(),this.setCoords())},complexity:function(){return 1}}),b.Text.ATTRIBUTE_NAMES=b.SHARED_ATTRIBUTES.concat("x y dx dy font-family font-style font-weight font-size text-decoration text-anchor".split(" ")),b.Text.DEFAULT_SVG_FONT_SIZE=16,b.Text.fromElement=function(a,c){if(!a)return null;var d=b.parseAttributes(a,b.Text.ATTRIBUTE_NAMES);c=b.util.object.extend(c?b.util.object.clone(c):{},d),c.top=c.top||0,c.left=c.left||0,"dx"in d&&(c.left+=d.dx),"dy"in d&&(c.top+=d.dy),"fontSize"in c||(c.fontSize=b.Text.DEFAULT_SVG_FONT_SIZE),c.originX||(c.originX="left");var e="";"textContent"in a?e=a.textContent:"firstChild"in a&&null!==a.firstChild&&"data"in a.firstChild&&null!==a.firstChild.data&&(e=a.firstChild.data),e=e.replace(/^\s+|\s+$|\n+/g,"").replace(/\s+/g," ");var f=new b.Text(e,c),g=f.getHeight()/f.height,h=(f.height+f.strokeWidth)*f.lineHeight-f.height,i=h*g,j=f.getHeight()+i,k=0;return"left"===f.originX&&(k=f.getWidth()/2),"right"===f.originX&&(k=-f.getWidth()/2),f.set({left:f.getLeft()+k,top:f.getTop()-j/2+f.fontSize*(.18+f._fontSizeFraction)/f.lineHeight}),f},b.Text.fromObject=function(a,d){var e=new b.Text(a.text,c(a));return d&&d(e),e},b.util.createAccessors(b.Text)}("undefined"!=typeof exports?exports:this),function(){var a=fabric.util.object.clone;fabric.IText=fabric.util.createClass(fabric.Text,fabric.Observable,{type:"i-text",selectionStart:0,selectionEnd:0,selectionColor:"rgba(17,119,255,0.3)",isEditing:!1,editable:!0,editingBorderColor:"rgba(102,153,255,0.25)",cursorWidth:2,cursorColor:"#333",cursorDelay:1e3,cursorDuration:600,styles:null,caching:!0,_reSpace:/\s|\n/,_currentCursorOpacity:0,_selectionDirection:null,_abortCursorAnimation:!1,__widthOfSpace:[],initialize:function(a,b){this.styles=b?b.styles||{}:{},this.callSuper("initialize",a,b),this.initBehavior()},_clearCache:function(){this.callSuper("_clearCache"),this.__widthOfSpace=[]},isEmptyStyles:function(){if(!this.styles)return!0;var a=this.styles;for(var b in a)for(var c in a[b])for(var d in a[b][c])return!1;return!0},setSelectionStart:function(a){a=Math.max(a,0),this._updateAndFire("selectionStart",a)},setSelectionEnd:function(a){a=Math.min(a,this.text.length),this._updateAndFire("selectionEnd",a)},_updateAndFire:function(a,b){this[a]!==b&&(this._fireSelectionChanged(),this[a]=b),this._updateTextarea()},_fireSelectionChanged:function(){this.fire("selection:changed"),this.canvas&&this.canvas.fire("text:selection:changed",{target:this})},getSelectionStyles:function(a,b){if(2===arguments.length){for(var c=[],d=a;d<b;d++)c.push(this.getSelectionStyles(d));return c}var e=this.get2DCursorLocation(a),f=this._getStyleDeclaration(e.lineIndex,e.charIndex);return f||{}},setSelectionStyles:function(a){if(this.selectionStart===this.selectionEnd)this._extendStyles(this.selectionStart,a);else for(var b=this.selectionStart;b<this.selectionEnd;b++)this._extendStyles(b,a);return this._forceClearCache=!0,this},_extendStyles:function(a,b){var c=this.get2DCursorLocation(a);this._getLineStyle(c.lineIndex)||this._setLineStyle(c.lineIndex,{}),this._getStyleDeclaration(c.lineIndex,c.charIndex)||this._setStyleDeclaration(c.lineIndex,c.charIndex,{}),fabric.util.object.extend(this._getStyleDeclaration(c.lineIndex,c.charIndex),b)},render:function(a,b){this.clearContextTop(),this.callSuper("render",a,b)},_render:function(a){this.callSuper("_render",a),this.ctx=a,this.cursorOffsetCache={},this.renderCursorOrSelection()},clearContextTop:function(){if(this.active&&this.isEditing&&this.canvas&&this.canvas.contextTop){var a=this.canvas.contextTop;a.save(),a.transform.apply(a,this.canvas.viewportTransform),this.transform(a),this.transformMatrix&&a.transform.apply(a,this.transformMatrix),this._clearTextArea(a),a.restore()}},renderCursorOrSelection:function(){if(this.active&&this.isEditing){var a,b,c=this.text.split("");this.canvas&&this.canvas.contextTop?(b=this.canvas.contextTop,b.save(),b.transform.apply(b,this.canvas.viewportTransform),this.transform(b),this.transformMatrix&&b.transform.apply(b,this.transformMatrix),this._clearTextArea(b)):(b=this.ctx,b.save()),this.selectionStart===this.selectionEnd?(a=this._getCursorBoundaries(c,"cursor"),this.renderCursor(a,b)):(a=this._getCursorBoundaries(c,"selection"),this.renderSelection(c,a,b)),b.restore()}},_clearTextArea:function(a){var b=this.width+4,c=this.height+4;a.clearRect(-b/2,-c/2,b,c)},get2DCursorLocation:function(a){"undefined"==typeof a&&(a=this.selectionStart);for(var b=this._textLines.length,c=0;c<b;c++){if(a<=this._textLines[c].length)return{lineIndex:c,charIndex:a};a-=this._textLines[c].length+1}return{lineIndex:c-1,charIndex:this._textLines[c-1].length<a?this._textLines[c-1].length:a}},getCurrentCharStyle:function(a,b){var c=this._getStyleDeclaration(a,0===b?0:b-1);return{fontSize:c&&c.fontSize||this.fontSize,fill:c&&c.fill||this.fill,textBackgroundColor:c&&c.textBackgroundColor||this.textBackgroundColor,textDecoration:c&&c.textDecoration||this.textDecoration,fontFamily:c&&c.fontFamily||this.fontFamily,fontWeight:c&&c.fontWeight||this.fontWeight,fontStyle:c&&c.fontStyle||this.fontStyle,stroke:c&&c.stroke||this.stroke,strokeWidth:c&&c.strokeWidth||this.strokeWidth}},getCurrentCharFontSize:function(a,b){var c=this._getStyleDeclaration(a,0===b?0:b-1);return c&&c.fontSize?c.fontSize:this.fontSize},getCurrentCharColor:function(a,b){var c=this._getStyleDeclaration(a,0===b?0:b-1);return c&&c.fill?c.fill:this.cursorColor},_getCursorBoundaries:function(a,b){var c=Math.round(this._getLeftOffset()),d=this._getTopOffset(),e=this._getCursorBoundariesOffsets(a,b);return{left:c,top:d,leftOffset:e.left+e.lineLeft,topOffset:e.top}},_getCursorBoundariesOffsets:function(a,b){if(this.cursorOffsetCache&&"top"in this.cursorOffsetCache)return this.cursorOffsetCache;for(var c,d=0,e=0,f=0,g=0,h=0,i=0;i<this.selectionStart;i++)"\n"===a[i]?(h=0,g+=this._getHeightOfLine(this.ctx,e),e++,f=0):(h+=this._getWidthOfChar(this.ctx,a[i],e,f),f++),d=this._getLineLeftOffset(this._getLineWidth(this.ctx,e));return"cursor"===b&&(g+=(1-this._fontSizeFraction)*this._getHeightOfLine(this.ctx,e)/this.lineHeight-this.getCurrentCharFontSize(e,f)*(1-this._fontSizeFraction)),0!==this.charSpacing&&f===this._textLines[e].length&&(h-=this._getWidthOfCharSpacing()),c={top:g,left:h>0?h:0,lineLeft:d},this.cursorOffsetCache=c,this.cursorOffsetCache},renderCursor:function(a,b){var c=this.get2DCursorLocation(),d=c.lineIndex,e=c.charIndex,f=this.getCurrentCharFontSize(d,e),g=0===d&&0===e?this._getLineLeftOffset(this._getLineWidth(b,d)):a.leftOffset,h=this.scaleX*this.canvas.getZoom(),i=this.cursorWidth/h;b.fillStyle=this.getCurrentCharColor(d,e),b.globalAlpha=this.__isMousedown?1:this._currentCursorOpacity,b.fillRect(a.left+g-i/2,a.top+a.topOffset,i,f)},renderSelection:function(a,b,c){c.fillStyle=this.selectionColor;for(var d=this.get2DCursorLocation(this.selectionStart),e=this.get2DCursorLocation(this.selectionEnd),f=d.lineIndex,g=e.lineIndex,h=f;h<=g;h++){var i=this._getLineLeftOffset(this._getLineWidth(c,h))||0,j=this._getHeightOfLine(this.ctx,h),k=0,l=0,m=this._textLines[h];if(h===f){for(var n=0,o=m.length;n<o;n++)n>=d.charIndex&&(h!==g||n<e.charIndex)&&(l+=this._getWidthOfChar(c,m[n],h,n)),n<d.charIndex&&(i+=this._getWidthOfChar(c,m[n],h,n));n===m.length&&(l-=this._getWidthOfCharSpacing())}else if(h>f&&h<g)l+=this._getLineWidth(c,h)||5;else if(h===g){for(var p=0,q=e.charIndex;p<q;p++)l+=this._getWidthOfChar(c,m[p],h,p);e.charIndex===m.length&&(l-=this._getWidthOfCharSpacing())}k=j,(this.lineHeight<1||h===g&&this.lineHeight>1)&&(j/=this.lineHeight),c.fillRect(b.left+i,b.top+b.topOffset,l>0?l:0,j),b.topOffset+=k}},_renderChars:function(a,b,c,d,e,f,g){if(this.isEmptyStyles())return this._renderCharsFast(a,b,c,d,e);g=g||0;var h,i,j=this._getHeightOfLine(b,f),k="";b.save(),e-=j/this.lineHeight*this._fontSizeFraction;for(var l=g,m=c.length+g;l<=m;l++)h=h||this.getCurrentCharStyle(f,l),i=this.getCurrentCharStyle(f,l+1),(this._hasStyleChanged(h,i)||l===m)&&(this._renderChar(a,b,f,l-1,k,d,e,j),k="",h=i),k+=c[l-g];b.restore()},_renderCharsFast:function(a,b,c,d,e){"fillText"===a&&this.fill&&this.callSuper("_renderChars",a,b,c,d,e),"strokeText"===a&&(this.stroke&&this.strokeWidth>0||this.skipFillStrokeCheck)&&this.callSuper("_renderChars",a,b,c,d,e)},_renderChar:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r=this._getStyleDeclaration(c,d);if(r?(j=this._getHeightOfChar(b,e,c,d),l=r.stroke,k=r.fill,n=r.textDecoration):j=this.fontSize,l=(l||this.stroke)&&"strokeText"===a,k=(k||this.fill)&&"fillText"===a,r&&b.save(),i=this._applyCharStylesGetWidth(b,e,c,d,r||null),n=n||this.textDecoration,r&&r.textBackgroundColor&&this._removeShadow(b),0!==this.charSpacing){p=this._getWidthOfCharSpacing(),o=e.split(""),i=0;for(var s,t=0,u=o.length;t<u;t++)s=o[t],k&&b.fillText(s,f+i,g),l&&b.strokeText(s,f+i,g),q=b.measureText(s).width+p,i+=q>0?q:0}else k&&b.fillText(e,f,g),l&&b.strokeText(e,f,g);(n||""!==n)&&(m=this._fontSizeFraction*h/this.lineHeight,this._renderCharDecoration(b,n,f,g,m,i,j)),r&&b.restore(),b.translate(i,0)},_hasStyleChanged:function(a,b){return a.fill!==b.fill||a.fontSize!==b.fontSize||a.textBackgroundColor!==b.textBackgroundColor||a.textDecoration!==b.textDecoration||a.fontFamily!==b.fontFamily||a.fontWeight!==b.fontWeight||a.fontStyle!==b.fontStyle||a.stroke!==b.stroke||a.strokeWidth!==b.strokeWidth},_renderCharDecoration:function(a,b,c,d,e,f,g){if(b){var h,i,j=g/15,k={underline:d+g/10,
+"line-through":d-g*(this._fontSizeFraction+this._fontSizeMult-1)+j,overline:d-(this._fontSizeMult-this._fontSizeFraction)*g},l=["underline","line-through","overline"];for(h=0;h<l.length;h++)i=l[h],b.indexOf(i)>-1&&a.fillRect(c,k[i],f,j)}},_renderTextLine:function(a,b,c,d,e,f){this.isEmptyStyles()||(e+=this.fontSize*(this._fontSizeFraction+.03)),this.callSuper("_renderTextLine",a,b,c,d,e,f)},_renderTextDecoration:function(a){if(this.isEmptyStyles())return this.callSuper("_renderTextDecoration",a)},_renderTextLinesBackground:function(a){this.callSuper("_renderTextLinesBackground",a);for(var b,c,d,e,f,g,h=0,i=this._getLeftOffset(),j=this._getTopOffset(),k=0,l=this._textLines.length;k<l;k++)if(b=this._getHeightOfLine(a,k),e=this._textLines[k],""!==e&&this.styles&&this._getLineStyle(k)){c=this._getLineWidth(a,k),d=this._getLineLeftOffset(c);for(var m=0,n=e.length;m<n;m++)g=this._getStyleDeclaration(k,m),g&&g.textBackgroundColor&&(f=e[m],a.fillStyle=g.textBackgroundColor,a.fillRect(i+d+this._getWidthOfCharsAt(a,k,m),j+h,this._getWidthOfChar(a,f,k,m),b/this.lineHeight));h+=b}else h+=b},_getCacheProp:function(a,b){return a+b.fontSize+b.fontWeight+b.fontStyle},_getFontCache:function(a){return fabric.charWidthsCache[a]||(fabric.charWidthsCache[a]={}),fabric.charWidthsCache[a]},_applyCharStylesGetWidth:function(b,c,d,e,f){var g,h,i,j=f||this._getStyleDeclaration(d,e),k=a(j);if(this._applyFontStyles(k),i=this._getFontCache(k.fontFamily),h=this._getCacheProp(c,k),!j&&i[h]&&this.caching)return i[h];"string"==typeof k.shadow&&(k.shadow=new fabric.Shadow(k.shadow));var l=k.fill||this.fill;return b.fillStyle=l.toLive?l.toLive(b,this):l,k.stroke&&(b.strokeStyle=k.stroke&&k.stroke.toLive?k.stroke.toLive(b,this):k.stroke),b.lineWidth=k.strokeWidth||this.strokeWidth,b.font=this._getFontDeclaration.call(k),k.shadow&&(k.scaleX=this.scaleX,k.scaleY=this.scaleY,k.canvas=this.canvas,k.getObjectScaling=this.getObjectScaling,this._setShadow.call(k,b)),this.caching&&i[h]?i[h]:(g=b.measureText(c).width,this.caching&&(i[h]=g),g)},_applyFontStyles:function(a){a.fontFamily||(a.fontFamily=this.fontFamily),a.fontSize||(a.fontSize=this.fontSize),a.fontWeight||(a.fontWeight=this.fontWeight),a.fontStyle||(a.fontStyle=this.fontStyle)},_getStyleDeclaration:function(b,c,d){return d?this.styles[b]&&this.styles[b][c]?a(this.styles[b][c]):{}:this.styles[b]&&this.styles[b][c]?this.styles[b][c]:null},_setStyleDeclaration:function(a,b,c){this.styles[a][b]=c},_deleteStyleDeclaration:function(a,b){delete this.styles[a][b]},_getLineStyle:function(a){return this.styles[a]},_setLineStyle:function(a,b){this.styles[a]=b},_deleteLineStyle:function(a){delete this.styles[a]},_getWidthOfChar:function(a,b,c,d){if(!this._isMeasuring&&"justify"===this.textAlign&&this._reSpacesAndTabs.test(b))return this._getWidthOfSpace(a,c);a.save();var e=this._applyCharStylesGetWidth(a,b,c,d);return 0!==this.charSpacing&&(e+=this._getWidthOfCharSpacing()),a.restore(),e>0?e:0},_getHeightOfChar:function(a,b,c){var d=this._getStyleDeclaration(b,c);return d&&d.fontSize?d.fontSize:this.fontSize},_getWidthOfCharsAt:function(a,b,c){var d,e,f=0;for(d=0;d<c;d++)e=this._textLines[b][d],f+=this._getWidthOfChar(a,e,b,d);return f},_measureLine:function(a,b){this._isMeasuring=!0;var c=this._getWidthOfCharsAt(a,b,this._textLines[b].length);return 0!==this.charSpacing&&(c-=this._getWidthOfCharSpacing()),this._isMeasuring=!1,c>0?c:0},_getWidthOfSpace:function(a,b){if(this.__widthOfSpace[b])return this.__widthOfSpace[b];var c=this._textLines[b],d=this._getWidthOfWords(a,c,b,0),e=this.width-d,f=c.length-c.replace(this._reSpacesAndTabs,"").length,g=Math.max(e/f,a.measureText(" ").width);return this.__widthOfSpace[b]=g,g},_getWidthOfWords:function(a,b,c,d){for(var e=0,f=0;f<b.length;f++){var g=b[f];g.match(/\s/)||(e+=this._getWidthOfChar(a,g,c,f+d))}return e},_getHeightOfLine:function(a,b){if(this.__lineHeights[b])return this.__lineHeights[b];for(var c=this._textLines[b],d=this._getHeightOfChar(a,b,0),e=1,f=c.length;e<f;e++){var g=this._getHeightOfChar(a,b,e);g>d&&(d=g)}return this.__lineHeights[b]=d*this.lineHeight*this._fontSizeMult,this.__lineHeights[b]},_getTextHeight:function(a){for(var b,c=0,d=0,e=this._textLines.length;d<e;d++)b=this._getHeightOfLine(a,d),c+=d===e-1?b/this.lineHeight:b;return c},toObject:function(b){return fabric.util.object.extend(this.callSuper("toObject",b),{styles:a(this.styles,!0)})}}),fabric.IText.fromObject=function(b,c){var d=new fabric.IText(b.text,a(b));return c&&c(d),d}}(),function(){var a=fabric.util.object.clone;fabric.util.object.extend(fabric.IText.prototype,{initBehavior:function(){this.initAddedHandler(),this.initRemovedHandler(),this.initCursorSelectionHandlers(),this.initDoubleClickSimulation(),this.mouseMoveHandler=this.mouseMoveHandler.bind(this)},initSelectedHandler:function(){this.on("selected",function(){var a=this;setTimeout(function(){a.selected=!0},100)})},initAddedHandler:function(){var a=this;this.on("added",function(){var b=a.canvas;b&&(b._hasITextHandlers||(b._hasITextHandlers=!0,a._initCanvasHandlers(b)),b._iTextInstances=b._iTextInstances||[],b._iTextInstances.push(a))})},initRemovedHandler:function(){var a=this;this.on("removed",function(){var b=a.canvas;b&&(b._iTextInstances=b._iTextInstances||[],fabric.util.removeFromArray(b._iTextInstances,a),0===b._iTextInstances.length&&(b._hasITextHandlers=!1,a._removeCanvasHandlers(b)))})},_initCanvasHandlers:function(a){a._canvasITextSelectionClearedHanlder=function(){fabric.IText.prototype.exitEditingOnOthers(a)}.bind(this),a._mouseUpITextHandler=function(){a._iTextInstances&&a._iTextInstances.forEach(function(a){a.__isMousedown=!1})}.bind(this),a.on("selection:cleared",a._canvasITextSelectionClearedHanlder),a.on("object:selected",a._canvasITextSelectionClearedHanlder),a.on("mouse:up",a._mouseUpITextHandler)},_removeCanvasHandlers:function(a){a.off("selection:cleared",a._canvasITextSelectionClearedHanlder),a.off("object:selected",a._canvasITextSelectionClearedHanlder),a.off("mouse:up",a._mouseUpITextHandler)},_tick:function(){this._currentTickState=this._animateCursor(this,1,this.cursorDuration,"_onTickComplete")},_animateCursor:function(a,b,c,d){var e;return e={isAborted:!1,abort:function(){this.isAborted=!0}},a.animate("_currentCursorOpacity",b,{duration:c,onComplete:function(){e.isAborted||a[d]()},onChange:function(){a.canvas&&a.selectionStart===a.selectionEnd&&a.renderCursorOrSelection()},abort:function(){return e.isAborted}}),e},_onTickComplete:function(){var a=this;this._cursorTimeout1&&clearTimeout(this._cursorTimeout1),this._cursorTimeout1=setTimeout(function(){a._currentTickCompleteState=a._animateCursor(a,0,this.cursorDuration/2,"_tick")},100)},initDelayedCursor:function(a){var b=this,c=a?0:this.cursorDelay;this.abortCursorAnimation(),this._currentCursorOpacity=1,this._cursorTimeout2=setTimeout(function(){b._tick()},c)},abortCursorAnimation:function(){var a=this._currentTickState||this._currentTickCompleteState;this._currentTickState&&this._currentTickState.abort(),this._currentTickCompleteState&&this._currentTickCompleteState.abort(),clearTimeout(this._cursorTimeout1),clearTimeout(this._cursorTimeout2),this._currentCursorOpacity=0,a&&this.canvas&&this.canvas.clearContext(this.canvas.contextTop||this.ctx)},selectAll:function(){this.selectionStart=0,this.selectionEnd=this.text.length,this._fireSelectionChanged(),this._updateTextarea()},getSelectedText:function(){return this.text.slice(this.selectionStart,this.selectionEnd)},findWordBoundaryLeft:function(a){var b=0,c=a-1;if(this._reSpace.test(this.text.charAt(c)))for(;this._reSpace.test(this.text.charAt(c));)b++,c--;for(;/\S/.test(this.text.charAt(c))&&c>-1;)b++,c--;return a-b},findWordBoundaryRight:function(a){var b=0,c=a;if(this._reSpace.test(this.text.charAt(c)))for(;this._reSpace.test(this.text.charAt(c));)b++,c++;for(;/\S/.test(this.text.charAt(c))&&c<this.text.length;)b++,c++;return a+b},findLineBoundaryLeft:function(a){for(var b=0,c=a-1;!/\n/.test(this.text.charAt(c))&&c>-1;)b++,c--;return a-b},findLineBoundaryRight:function(a){for(var b=0,c=a;!/\n/.test(this.text.charAt(c))&&c<this.text.length;)b++,c++;return a+b},getNumNewLinesInSelectedText:function(){for(var a=this.getSelectedText(),b=0,c=0,d=a.length;c<d;c++)"\n"===a[c]&&b++;return b},searchWordBoundary:function(a,b){for(var c=this._reSpace.test(this.text.charAt(a))?a-1:a,d=this.text.charAt(c),e=/[ \n\.,;!\?\-]/;!e.test(d)&&c>0&&c<this.text.length;)c+=b,d=this.text.charAt(c);return e.test(d)&&"\n"!==d&&(c+=1===b?0:1),c},selectWord:function(a){a=a||this.selectionStart;var b=this.searchWordBoundary(a,-1),c=this.searchWordBoundary(a,1);this.selectionStart=b,this.selectionEnd=c,this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()},selectLine:function(a){a=a||this.selectionStart;var b=this.findLineBoundaryLeft(a),c=this.findLineBoundaryRight(a);this.selectionStart=b,this.selectionEnd=c,this._fireSelectionChanged(),this._updateTextarea()},enterEditing:function(a){if(!this.isEditing&&this.editable)return this.canvas&&this.exitEditingOnOthers(this.canvas),this.isEditing=!0,this.initHiddenTextarea(a),this.hiddenTextarea.focus(),this._updateTextarea(),this._saveEditingProps(),this._setEditingProps(),this._textBeforeEdit=this.text,this._tick(),this.fire("editing:entered"),this.canvas?(this.canvas.fire("text:editing:entered",{target:this}),this.initMouseMoveHandler(),this.canvas.renderAll(),this):this},exitEditingOnOthers:function(a){a._iTextInstances&&a._iTextInstances.forEach(function(a){a.selected=!1,a.isEditing&&a.exitEditing()})},initMouseMoveHandler:function(){this.canvas.on("mouse:move",this.mouseMoveHandler)},mouseMoveHandler:function(a){if(this.__isMousedown&&this.isEditing){var b=this.getSelectionStartFromPointer(a.e),c=this.selectionStart,d=this.selectionEnd;b!==this.__selectionStartOnMouseDown&&(b>this.__selectionStartOnMouseDown?(this.selectionStart=this.__selectionStartOnMouseDown,this.selectionEnd=b):(this.selectionStart=b,this.selectionEnd=this.__selectionStartOnMouseDown),this.selectionStart===c&&this.selectionEnd===d||(this._fireSelectionChanged(),this._updateTextarea(),this.renderCursorOrSelection()))}},_setEditingProps:function(){this.hoverCursor="text",this.canvas&&(this.canvas.defaultCursor=this.canvas.moveCursor="text"),this.borderColor=this.editingBorderColor,this.hasControls=this.selectable=!1,this.lockMovementX=this.lockMovementY=!0},_updateTextarea:function(){if(this.hiddenTextarea&&!this.inCompositionMode&&(this.cursorOffsetCache={},this.hiddenTextarea.value=this.text,this.hiddenTextarea.selectionStart=this.selectionStart,this.hiddenTextarea.selectionEnd=this.selectionEnd,this.selectionStart===this.selectionEnd)){var a=this._calcTextareaPosition();this.hiddenTextarea.style.left=a.left,this.hiddenTextarea.style.top=a.top,this.hiddenTextarea.style.fontSize=a.fontSize}},_calcTextareaPosition:function(){if(!this.canvas)return{x:1,y:1};var a=this.text.split(""),b=this._getCursorBoundaries(a,"cursor"),c=this.get2DCursorLocation(),d=c.lineIndex,e=c.charIndex,f=this.getCurrentCharFontSize(d,e),g=0===d&&0===e?this._getLineLeftOffset(this._getLineWidth(this.ctx,d)):b.leftOffset,h=this.calcTransformMatrix(),i={x:b.left+g,y:b.top+b.topOffset+f},j=this.canvas.upperCanvasEl,k=j.width-f,l=j.height-f;return i=fabric.util.transformPoint(i,h),i=fabric.util.transformPoint(i,this.canvas.viewportTransform),i.x<0&&(i.x=0),i.x>k&&(i.x=k),i.y<0&&(i.y=0),i.y>l&&(i.y=l),i.x+=this.canvas._offset.left,i.y+=this.canvas._offset.top,{left:i.x+"px",top:i.y+"px",fontSize:f}},_saveEditingProps:function(){this._savedProps={hasControls:this.hasControls,borderColor:this.borderColor,lockMovementX:this.lockMovementX,lockMovementY:this.lockMovementY,hoverCursor:this.hoverCursor,defaultCursor:this.canvas&&this.canvas.defaultCursor,moveCursor:this.canvas&&this.canvas.moveCursor}},_restoreEditingProps:function(){this._savedProps&&(this.hoverCursor=this._savedProps.overCursor,this.hasControls=this._savedProps.hasControls,this.borderColor=this._savedProps.borderColor,this.lockMovementX=this._savedProps.lockMovementX,this.lockMovementY=this._savedProps.lockMovementY,this.canvas&&(this.canvas.defaultCursor=this._savedProps.defaultCursor,this.canvas.moveCursor=this._savedProps.moveCursor))},exitEditing:function(){var a=this._textBeforeEdit!==this.text;return this.selected=!1,this.isEditing=!1,this.selectable=!0,this.selectionEnd=this.selectionStart,this.hiddenTextarea&&this.canvas&&this.hiddenTextarea.parentNode.removeChild(this.hiddenTextarea),this.hiddenTextarea=null,this.abortCursorAnimation(),this._restoreEditingProps(),this._currentCursorOpacity=0,this.fire("editing:exited"),a&&this.fire("modified"),this.canvas&&(this.canvas.off("mouse:move",this.mouseMoveHandler),this.canvas.fire("text:editing:exited",{target:this}),a&&this.canvas.fire("object:modified",{target:this})),this},_removeExtraneousStyles:function(){for(var a in this.styles)this._textLines[a]||delete this.styles[a]},_removeCharsFromTo:function(a,b){for(;b!==a;)this._removeSingleCharAndStyle(a+1),b--;this.selectionStart=a,this.selectionEnd=a},_removeSingleCharAndStyle:function(a){var b="\n"===this.text[a-1],c=b?a:a-1;this.removeStyleObject(b,c),this.text=this.text.slice(0,a-1)+this.text.slice(a),this._textLines=this._splitTextIntoLines()},insertChars:function(a,b){var c;if(this.selectionEnd-this.selectionStart>1&&this._removeCharsFromTo(this.selectionStart,this.selectionEnd),!b&&this.isEmptyStyles())return void this.insertChar(a,!1);for(var d=0,e=a.length;d<e;d++)b&&(c=fabric.copiedTextStyle[d]),this.insertChar(a[d],d<e-1,c)},insertChar:function(a,b,c){var d="\n"===this.text[this.selectionStart];this.text=this.text.slice(0,this.selectionStart)+a+this.text.slice(this.selectionEnd),this._textLines=this._splitTextIntoLines(),this.insertStyleObjects(a,d,c),this.selectionStart+=a.length,this.selectionEnd=this.selectionStart,b||(this._updateTextarea(),this.setCoords(),this._fireSelectionChanged(),this.fire("changed"),this.canvas&&this.canvas.fire("text:changed",{target:this}),this.canvas&&this.canvas.renderAll())},insertNewlineStyleObject:function(b,c,d){this.shiftLineStyles(b,1),this.styles[b+1]||(this.styles[b+1]={});var e={},f={};if(this.styles[b]&&this.styles[b][c-1]&&(e=this.styles[b][c-1]),d)f[0]=a(e),this.styles[b+1]=f;else{for(var g in this.styles[b])parseInt(g,10)>=c&&(f[parseInt(g,10)-c]=this.styles[b][g],delete this.styles[b][g]);this.styles[b+1]=f}this._forceClearCache=!0},insertCharStyleObject:function(b,c,d){var e=this.styles[b],f=a(e);0!==c||d||(c=1);for(var g in f){var h=parseInt(g,10);h>=c&&(e[h+1]=f[h],f[h-1]||delete e[h])}this.styles[b][c]=d||a(e[c-1]),this._forceClearCache=!0},insertStyleObjects:function(a,b,c){var d=this.get2DCursorLocation(),e=d.lineIndex,f=d.charIndex;this._getLineStyle(e)||this._setLineStyle(e,{}),"\n"===a?this.insertNewlineStyleObject(e,f,b):this.insertCharStyleObject(e,f,c)},shiftLineStyles:function(b,c){var d=a(this.styles);for(var e in this.styles){var f=parseInt(e,10);f>b&&(this.styles[f+c]=d[f],d[f-c]||delete this.styles[f])}},removeStyleObject:function(a,b){var c=this.get2DCursorLocation(b),d=c.lineIndex,e=c.charIndex;this._removeStyleObject(a,c,d,e)},_getTextOnPreviousLine:function(a){return this._textLines[a-1]},_removeStyleObject:function(b,c,d,e){if(b){var f=this._getTextOnPreviousLine(c.lineIndex),g=f?f.length:0;this.styles[d-1]||(this.styles[d-1]={});for(e in this.styles[d])this.styles[d-1][parseInt(e,10)+g]=this.styles[d][e];this.shiftLineStyles(c.lineIndex,-1)}else{var h=this.styles[d];h&&delete h[e];var i=a(h);for(var j in i){var k=parseInt(j,10);k>=e&&0!==k&&(h[k-1]=i[k],delete h[k])}}},insertNewline:function(){this.insertChars("\n")},setSelectionStartEndWithShift:function(a,b,c){c<=a?(b===a?this._selectionDirection="left":"right"===this._selectionDirection&&(this._selectionDirection="left",this.selectionEnd=a),this.selectionStart=c):c>a&&c<b?"right"===this._selectionDirection?this.selectionEnd=c:this.selectionStart=c:(b===a?this._selectionDirection="right":"left"===this._selectionDirection&&(this._selectionDirection="right",this.selectionStart=b),this.selectionEnd=c)},setSelectionInBoundaries:function(){var a=this.text.length;this.selectionStart>a?this.selectionStart=a:this.selectionStart<0&&(this.selectionStart=0),this.selectionEnd>a?this.selectionEnd=a:this.selectionEnd<0&&(this.selectionEnd=0)}})}(),fabric.util.object.extend(fabric.IText.prototype,{initDoubleClickSimulation:function(){this.__lastClickTime=+new Date,this.__lastLastClickTime=+new Date,this.__lastPointer={},this.on("mousedown",this.onMouseDown.bind(this))},onMouseDown:function(a){this.__newClickTime=+new Date;var b=this.canvas.getPointer(a.e);this.isTripleClick(b)?(this.fire("tripleclick",a),this._stopEvent(a.e)):this.isDoubleClick(b)&&(this.fire("dblclick",a),this._stopEvent(a.e)),this.__lastLastClickTime=this.__lastClickTime,this.__lastClickTime=this.__newClickTime,this.__lastPointer=b,this.__lastIsEditing=this.isEditing,this.__lastSelected=this.selected},isDoubleClick:function(a){return this.__newClickTime-this.__lastClickTime<500&&this.__lastPointer.x===a.x&&this.__lastPointer.y===a.y&&this.__lastIsEditing},isTripleClick:function(a){return this.__newClickTime-this.__lastClickTime<500&&this.__lastClickTime-this.__lastLastClickTime<500&&this.__lastPointer.x===a.x&&this.__lastPointer.y===a.y},_stopEvent:function(a){a.preventDefault&&a.preventDefault(),a.stopPropagation&&a.stopPropagation()},initCursorSelectionHandlers:function(){this.initSelectedHandler(),this.initMousedownHandler(),this.initMouseupHandler(),this.initClicks()},initClicks:function(){this.on("dblclick",function(a){this.selectWord(this.getSelectionStartFromPointer(a.e))}),this.on("tripleclick",function(a){this.selectLine(this.getSelectionStartFromPointer(a.e))})},initMousedownHandler:function(){this.on("mousedown",function(a){if(this.editable){var b=this.canvas.getPointer(a.e);this.__mousedownX=b.x,this.__mousedownY=b.y,this.__isMousedown=!0,this.selected&&this.setCursorByClick(a.e),this.isEditing&&(this.__selectionStartOnMouseDown=this.selectionStart,this.selectionStart===this.selectionEnd&&this.abortCursorAnimation(),this.renderCursorOrSelection())}})},_isObjectMoved:function(a){var b=this.canvas.getPointer(a);return this.__mousedownX!==b.x||this.__mousedownY!==b.y},initMouseupHandler:function(){this.on("mouseup",function(a){this.__isMousedown=!1,this.editable&&!this._isObjectMoved(a.e)&&(this.__lastSelected&&!this.__corner&&(this.enterEditing(a.e),this.selectionStart===this.selectionEnd?this.initDelayedCursor(!0):this.renderCursorOrSelection()),this.selected=!0)})},setCursorByClick:function(a){var b=this.getSelectionStartFromPointer(a),c=this.selectionStart,d=this.selectionEnd;a.shiftKey?this.setSelectionStartEndWithShift(c,d,b):(this.selectionStart=b,this.selectionEnd=b),this._fireSelectionChanged(),this._updateTextarea()},getSelectionStartFromPointer:function(a){for(var b,c,d=this.getLocalPointer(a),e=0,f=0,g=0,h=0,i=0,j=this._textLines.length;i<j;i++){c=this._textLines[i],g+=this._getHeightOfLine(this.ctx,i)*this.scaleY;var k=this._getLineWidth(this.ctx,i),l=this._getLineLeftOffset(k);f=l*this.scaleX;for(var m=0,n=c.length;m<n;m++){if(e=f,f+=this._getWidthOfChar(this.ctx,c[m],i,this.flipX?n-m:m)*this.scaleX,!(g<=d.y||f<=d.x))return this._getNewSelectionStartFromOffset(d,e,f,h+i,n);h++}if(d.y<g)return this._getNewSelectionStartFromOffset(d,e,f,h+i-1,n)}if("undefined"==typeof b)return this.text.length},_getNewSelectionStartFromOffset:function(a,b,c,d,e){var f=a.x-b,g=c-a.x,h=g>f?0:1,i=d+h;return this.flipX&&(i=e-i),i>this.text.length&&(i=this.text.length),i}}),fabric.util.object.extend(fabric.IText.prototype,{initHiddenTextarea:function(){this.hiddenTextarea=fabric.document.createElement("textarea"),this.hiddenTextarea.setAttribute("autocapitalize","off");var a=this._calcTextareaPosition();this.hiddenTextarea.style.cssText="position: absolute; top: "+a.top+"; left: "+a.left+"; opacity: 0; width: 0px; height: 0px; z-index: -999;",fabric.document.body.appendChild(this.hiddenTextarea),fabric.util.addListener(this.hiddenTextarea,"keydown",this.onKeyDown.bind(this)),fabric.util.addListener(this.hiddenTextarea,"keyup",this.onKeyUp.bind(this)),fabric.util.addListener(this.hiddenTextarea,"input",this.onInput.bind(this)),fabric.util.addListener(this.hiddenTextarea,"copy",this.copy.bind(this)),fabric.util.addListener(this.hiddenTextarea,"cut",this.cut.bind(this)),fabric.util.addListener(this.hiddenTextarea,"paste",this.paste.bind(this)),fabric.util.addListener(this.hiddenTextarea,"compositionstart",this.onCompositionStart.bind(this)),fabric.util.addListener(this.hiddenTextarea,"compositionupdate",this.onCompositionUpdate.bind(this)),fabric.util.addListener(this.hiddenTextarea,"compositionend",this.onCompositionEnd.bind(this)),!this._clickHandlerInitialized&&this.canvas&&(fabric.util.addListener(this.canvas.upperCanvasEl,"click",this.onClick.bind(this)),this._clickHandlerInitialized=!0)},_keysMap:{8:"removeChars",9:"exitEditing",27:"exitEditing",13:"insertNewline",33:"moveCursorUp",34:"moveCursorDown",35:"moveCursorRight",36:"moveCursorLeft",37:"moveCursorLeft",38:"moveCursorUp",39:"moveCursorRight",40:"moveCursorDown",46:"forwardDelete"},_ctrlKeysMapUp:{67:"copy",88:"cut"},_ctrlKeysMapDown:{65:"selectAll"},onClick:function(){this.hiddenTextarea&&this.hiddenTextarea.focus()},onKeyDown:function(a){if(this.isEditing){if(a.keyCode in this._keysMap)this[this._keysMap[a.keyCode]](a);else{if(!(a.keyCode in this._ctrlKeysMapDown&&(a.ctrlKey||a.metaKey)))return;this[this._ctrlKeysMapDown[a.keyCode]](a)}a.stopImmediatePropagation(),a.preventDefault(),this.canvas&&this.canvas.renderAll()}},onKeyUp:function(a){return!this.isEditing||this._copyDone?void(this._copyDone=!1):void(a.keyCode in this._ctrlKeysMapUp&&(a.ctrlKey||a.metaKey)&&(this[this._ctrlKeysMapUp[a.keyCode]](a),a.stopImmediatePropagation(),a.preventDefault(),this.canvas&&this.canvas.renderAll()))},onInput:function(a){if(this.isEditing&&!this.inCompositionMode){var b,c,d,e=this.selectionStart||0,f=this.selectionEnd||0,g=this.text.length,h=this.hiddenTextarea.value.length;h>g?(d="left"===this._selectionDirection?f:e,b=h-g,c=this.hiddenTextarea.value.slice(d,d+b)):(b=h-g+f-e,c=this.hiddenTextarea.value.slice(e,e+b)),this.insertChars(c),a.stopPropagation()}},onCompositionStart:function(){this.inCompositionMode=!0,this.prevCompositionLength=0,this.compositionStart=this.selectionStart},onCompositionEnd:function(){this.inCompositionMode=!1},onCompositionUpdate:function(a){var b=a.data;this.selectionStart=this.compositionStart,this.selectionEnd=this.selectionEnd===this.selectionStart?this.compositionStart+this.prevCompositionLength:this.selectionEnd,this.insertChars(b,!1),this.prevCompositionLength=b.length},forwardDelete:function(a){if(this.selectionStart===this.selectionEnd){if(this.selectionStart===this.text.length)return;this.moveCursorRight(a)}this.removeChars(a)},copy:function(a){if(this.selectionStart!==this.selectionEnd){var b=this.getSelectedText(),c=this._getClipboardData(a);c&&c.setData("text",b),fabric.copiedText=b,fabric.copiedTextStyle=this.getSelectionStyles(this.selectionStart,this.selectionEnd),a.stopImmediatePropagation(),a.preventDefault(),this._copyDone=!0}},paste:function(a){var b=null,c=this._getClipboardData(a),d=!0;c?(b=c.getData("text").replace(/\r/g,""),fabric.copiedTextStyle&&fabric.copiedText===b||(d=!1)):b=fabric.copiedText,b&&this.insertChars(b,d),a.stopImmediatePropagation(),a.preventDefault()},cut:function(a){this.selectionStart!==this.selectionEnd&&(this.copy(a),this.removeChars(a))},_getClipboardData:function(a){return a&&a.clipboardData||fabric.window.clipboardData},_getWidthBeforeCursor:function(a,b){for(var c,d=this._textLines[a].slice(0,b),e=this._getLineWidth(this.ctx,a),f=this._getLineLeftOffset(e),g=0,h=d.length;g<h;g++)c=d[g],f+=this._getWidthOfChar(this.ctx,c,a,g);return f},getDownCursorOffset:function(a,b){var c=this._getSelectionForOffset(a,b),d=this.get2DCursorLocation(c),e=d.lineIndex;if(e===this._textLines.length-1||a.metaKey||34===a.keyCode)return this.text.length-c;var f=d.charIndex,g=this._getWidthBeforeCursor(e,f),h=this._getIndexOnLine(e+1,g),i=this._textLines[e].slice(f);return i.length+h+2},_getSelectionForOffset:function(a,b){return a.shiftKey&&this.selectionStart!==this.selectionEnd&&b?this.selectionEnd:this.selectionStart},getUpCursorOffset:function(a,b){var c=this._getSelectionForOffset(a,b),d=this.get2DCursorLocation(c),e=d.lineIndex;if(0===e||a.metaKey||33===a.keyCode)return-c;var f=d.charIndex,g=this._getWidthBeforeCursor(e,f),h=this._getIndexOnLine(e-1,g),i=this._textLines[e].slice(0,f);return-this._textLines[e-1].length+h-i.length},_getIndexOnLine:function(a,b){for(var c,d=this._getLineWidth(this.ctx,a),e=this._textLines[a],f=this._getLineLeftOffset(d),g=f,h=0,i=0,j=e.length;i<j;i++){var k=e[i],l=this._getWidthOfChar(this.ctx,k,a,i);if(g+=l,g>b){c=!0;var m=g-l,n=g,o=Math.abs(m-b),p=Math.abs(n-b);h=p<o?i:i-1;break}}return c||(h=e.length-1),h},moveCursorDown:function(a){this.selectionStart>=this.text.length&&this.selectionEnd>=this.text.length||this._moveCursorUpOrDown("Down",a)},moveCursorUp:function(a){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorUpOrDown("Up",a)},_moveCursorUpOrDown:function(a,b){var c="get"+a+"CursorOffset",d=this[c](b,"right"===this._selectionDirection);b.shiftKey?this.moveCursorWithShift(d):this.moveCursorWithoutShift(d),0!==d&&(this.setSelectionInBoundaries(),this.abortCursorAnimation(),this._currentCursorOpacity=1,this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())},moveCursorWithShift:function(a){var b="left"===this._selectionDirection?this.selectionStart+a:this.selectionEnd+a;return this.setSelectionStartEndWithShift(this.selectionStart,this.selectionEnd,b),0!==a},moveCursorWithoutShift:function(a){return a<0?(this.selectionStart+=a,this.selectionEnd=this.selectionStart):(this.selectionEnd+=a,this.selectionStart=this.selectionEnd),0!==a},moveCursorLeft:function(a){0===this.selectionStart&&0===this.selectionEnd||this._moveCursorLeftOrRight("Left",a)},_move:function(a,b,c){var d;if(a.altKey)d=this["findWordBoundary"+c](this[b]);else{if(!a.metaKey&&35!==a.keyCode&&36!==a.keyCode)return this[b]+="Left"===c?-1:1,!0;d=this["findLineBoundary"+c](this[b])}if(void 0!==typeof d&&this[b]!==d)return this[b]=d,!0},_moveLeft:function(a,b){return this._move(a,b,"Left")},_moveRight:function(a,b){return this._move(a,b,"Right")},moveCursorLeftWithoutShift:function(a){var b=!0;return this._selectionDirection="left",this.selectionEnd===this.selectionStart&&0!==this.selectionStart&&(b=this._moveLeft(a,"selectionStart")),this.selectionEnd=this.selectionStart,b},moveCursorLeftWithShift:function(a){return"right"===this._selectionDirection&&this.selectionStart!==this.selectionEnd?this._moveLeft(a,"selectionEnd"):0!==this.selectionStart?(this._selectionDirection="left",this._moveLeft(a,"selectionStart")):void 0},moveCursorRight:function(a){this.selectionStart>=this.text.length&&this.selectionEnd>=this.text.length||this._moveCursorLeftOrRight("Right",a)},_moveCursorLeftOrRight:function(a,b){var c="moveCursor"+a+"With";this._currentCursorOpacity=1,c+=b.shiftKey?"Shift":"outShift",this[c](b)&&(this.abortCursorAnimation(),this.initDelayedCursor(),this._fireSelectionChanged(),this._updateTextarea())},moveCursorRightWithShift:function(a){return"left"===this._selectionDirection&&this.selectionStart!==this.selectionEnd?this._moveRight(a,"selectionStart"):this.selectionEnd!==this.text.length?(this._selectionDirection="right",this._moveRight(a,"selectionEnd")):void 0},moveCursorRightWithoutShift:function(a){var b=!0;return this._selectionDirection="right",this.selectionStart===this.selectionEnd?(b=this._moveRight(a,"selectionStart"),this.selectionEnd=this.selectionStart):this.selectionStart=this.selectionEnd,b},removeChars:function(a){this.selectionStart===this.selectionEnd?this._removeCharsNearCursor(a):this._removeCharsFromTo(this.selectionStart,this.selectionEnd),this.setSelectionEnd(this.selectionStart),this._removeExtraneousStyles(),this.canvas&&this.canvas.renderAll(),this.setCoords(),this.fire("changed"),this.canvas&&this.canvas.fire("text:changed",{target:this})},_removeCharsNearCursor:function(a){if(0!==this.selectionStart)if(a.metaKey){var b=this.findLineBoundaryLeft(this.selectionStart);this._removeCharsFromTo(b,this.selectionStart),this.setSelectionStart(b)}else if(a.altKey){var c=this.findWordBoundaryLeft(this.selectionStart);this._removeCharsFromTo(c,this.selectionStart),this.setSelectionStart(c)}else this._removeSingleCharAndStyle(this.selectionStart),this.setSelectionStart(this.selectionStart-1)}}),function(){var a=fabric.util.toFixed,b=fabric.Object.NUM_FRACTION_DIGITS;fabric.util.object.extend(fabric.IText.prototype,{_setSVGTextLineText:function(a,b,c,d,e,f){this._getLineStyle(a)?this._setSVGTextLineChars(a,b,c,d,f):fabric.Text.prototype._setSVGTextLineText.call(this,a,b,c,d,e)},_setSVGTextLineChars:function(a,b,c,d,e){for(var f=this._textLines[a],g=0,h=this._getLineLeftOffset(this._getLineWidth(this.ctx,a))-this.width/2,i=this._getSVGLineTopOffset(a),j=this._getHeightOfLine(this.ctx,a),k=0,l=f.length;k<l;k++){var m=this._getStyleDeclaration(a,k)||{};b.push(this._createTextCharSpan(f[k],m,h,i.lineTop+i.offset,g));var n=this._getWidthOfChar(this.ctx,f[k],a,k);m.textBackgroundColor&&e.push(this._createTextCharBg(m,h,i.lineTop,j,n,g)),g+=n}},_getSVGLineTopOffset:function(a){for(var b=0,c=0,d=0;d<a;d++)b+=this._getHeightOfLine(this.ctx,d);return c=this._getHeightOfLine(this.ctx,d),{lineTop:b,offset:(this._fontSizeMult-this._fontSizeFraction)*c/(this.lineHeight*this._fontSizeMult)}},_createTextCharBg:function(c,d,e,f,g,h){return['\t\t<rect fill="',c.textBackgroundColor,'" x="',a(d+h,b),'" y="',a(e-this.height/2,b),'" width="',a(g,b),'" height="',a(f/this.lineHeight,b),'"></rect>\n'].join("")},_createTextCharSpan:function(c,d,e,f,g){var h=this.getSvgStyles.call(fabric.util.object.extend({visible:!0,fill:this.fill,stroke:this.stroke,type:"text",getSvgFilter:fabric.Object.prototype.getSvgFilter},d));return['\t\t\t<tspan x="',a(e+g,b),'" y="',a(f-this.height/2,b),'" ',d.fontFamily?'font-family="'+d.fontFamily.replace(/"/g,"'")+'" ':"",d.fontSize?'font-size="'+d.fontSize+'" ':"",d.fontStyle?'font-style="'+d.fontStyle+'" ':"",d.fontWeight?'font-weight="'+d.fontWeight+'" ':"",d.textDecoration?'text-decoration="'+d.textDecoration+'" ':"",'style="',h,'">',fabric.util.string.escapeXml(c),"</tspan>\n"].join("")}})}(),function(a){"use strict";var b=a.fabric||(a.fabric={}),c=b.util.object.clone;b.Textbox=b.util.createClass(b.IText,b.Observable,{type:"textbox",minWidth:20,dynamicMinWidth:2,__cachedLines:null,lockScalingY:!0,lockScalingFlip:!0,initialize:function(a,c){this.ctx=b.util.createCanvasElement().getContext("2d"),this.callSuper("initialize",a,c),this.setControlsVisibility(b.Textbox.getTextboxControlVisibility()),this._dimensionAffectingProps.width=!0},_initDimensions:function(a){this.__skipDimension||(a||(a=b.util.createCanvasElement().getContext("2d"),this._setTextStyles(a)),this.dynamicMinWidth=0,this._textLines=this._splitTextIntoLines(),this.dynamicMinWidth>this.width&&this._set("width",this.dynamicMinWidth),this._clearCache(),this.height=this._getTextHeight(a))},_generateStyleMap:function(){for(var a=0,b=0,c=0,d={},e=0;e<this._textLines.length;e++)"\n"===this.text[c]&&e>0?(b=0,c++,a++):" "===this.text[c]&&e>0&&(b++,c++),d[e]={line:a,offset:b},c+=this._textLines[e].length,b+=this._textLines[e].length;return d},_getStyleDeclaration:function(a,b,c){if(this._styleMap){var d=this._styleMap[a];if(!d)return c?{}:null;a=d.line,b=d.offset+b}return this.callSuper("_getStyleDeclaration",a,b,c)},_setStyleDeclaration:function(a,b,c){var d=this._styleMap[a];a=d.line,b=d.offset+b,this.styles[a][b]=c},_deleteStyleDeclaration:function(a,b){var c=this._styleMap[a];a=c.line,b=c.offset+b,delete this.styles[a][b]},_getLineStyle:function(a){var b=this._styleMap[a];return this.styles[b.line];
+},_setLineStyle:function(a,b){var c=this._styleMap[a];this.styles[c.line]=b},_deleteLineStyle:function(a){var b=this._styleMap[a];delete this.styles[b.line]},_wrapText:function(a,b){var c,d=b.split(this._reNewline),e=[];for(c=0;c<d.length;c++)e=e.concat(this._wrapLine(a,d[c],c));return e},_measureText:function(a,b,c,d){var e=0;d=d||0;for(var f=0,g=b.length;f<g;f++)e+=this._getWidthOfChar(a,b[f],c,f+d);return e},_wrapLine:function(a,b,c){for(var d=0,e=[],f="",g=b.split(" "),h="",i=0,j=" ",k=0,l=0,m=0,n=!0,o=this._getWidthOfCharSpacing(),p=0;p<g.length;p++)h=g[p],k=this._measureText(a,h,c,i),i+=h.length,d+=l+k-o,d>=this.width&&!n?(e.push(f),f="",d=k,n=!0):d+=o,n||(f+=j),f+=h,l=this._measureText(a,j,c,i),i++,n=!1,k>m&&(m=k);return p&&e.push(f),m>this.dynamicMinWidth&&(this.dynamicMinWidth=m-o),e},_splitTextIntoLines:function(){var a=this.textAlign;this.ctx.save(),this._setTextStyles(this.ctx),this.textAlign="left";var b=this._wrapText(this.ctx,this.text);return this.textAlign=a,this.ctx.restore(),this._textLines=b,this._styleMap=this._generateStyleMap(),b},setOnGroup:function(a,b){"scaleX"===a&&(this.set("scaleX",Math.abs(1/b)),this.set("width",this.get("width")*b/("undefined"==typeof this.__oldScaleX?1:this.__oldScaleX)),this.__oldScaleX=b)},get2DCursorLocation:function(a){"undefined"==typeof a&&(a=this.selectionStart);for(var b=this._textLines.length,c=0,d=0;d<b;d++){var e=this._textLines[d],f=e.length;if(a<=c+f)return{lineIndex:d,charIndex:a-c};c+=f,"\n"!==this.text[c]&&" "!==this.text[c]||c++}return{lineIndex:b-1,charIndex:this._textLines[b-1].length}},_getCursorBoundariesOffsets:function(a,b){for(var c=0,d=0,e=this.get2DCursorLocation(),f=this._textLines[e.lineIndex].split(""),g=this._getLineLeftOffset(this._getLineWidth(this.ctx,e.lineIndex)),h=0;h<e.charIndex;h++)d+=this._getWidthOfChar(this.ctx,f[h],e.lineIndex,h);for(h=0;h<e.lineIndex;h++)c+=this._getHeightOfLine(this.ctx,h);return"cursor"===b&&(c+=(1-this._fontSizeFraction)*this._getHeightOfLine(this.ctx,e.lineIndex)/this.lineHeight-this.getCurrentCharFontSize(e.lineIndex,e.charIndex)*(1-this._fontSizeFraction)),{top:c,left:d,lineLeft:g}},getMinWidth:function(){return Math.max(this.minWidth,this.dynamicMinWidth)},toObject:function(a){return this.callSuper("toObject",["minWidth"].concat(a))}}),b.Textbox.fromObject=function(a,d){var e=new b.Textbox(a.text,c(a));return d&&d(e),e},b.Textbox.getTextboxControlVisibility=function(){return{tl:!1,tr:!1,br:!1,bl:!1,ml:!0,mt:!1,mr:!0,mb:!1,mtr:!0}}}("undefined"!=typeof exports?exports:this),function(){var a=fabric.Canvas.prototype._setObjectScale;fabric.Canvas.prototype._setObjectScale=function(b,c,d,e,f,g,h){var i=c.target;if(!(i instanceof fabric.Textbox))return a.call(fabric.Canvas.prototype,b,c,d,e,f,g,h);var j=i.width*(b.x/c.scaleX/(i.width+i.strokeWidth));return j>=i.getMinWidth()?(i.set("width",j),!0):void 0},fabric.Group.prototype._refreshControlsVisibility=function(){if("undefined"!=typeof fabric.Textbox)for(var a=this._objects.length;a--;)if(this._objects[a]instanceof fabric.Textbox)return void this.setControlsVisibility(fabric.Textbox.getTextboxControlVisibility())};var b=fabric.util.object.clone;fabric.util.object.extend(fabric.Textbox.prototype,{_removeExtraneousStyles:function(){for(var a in this._styleMap)this._textLines[a]||delete this.styles[this._styleMap[a].line]},insertCharStyleObject:function(a,b,c){var d=this._styleMap[a];a=d.line,b=d.offset+b,fabric.IText.prototype.insertCharStyleObject.apply(this,[a,b,c])},insertNewlineStyleObject:function(a,b,c){var d=this._styleMap[a];a=d.line,b=d.offset+b,fabric.IText.prototype.insertNewlineStyleObject.apply(this,[a,b,c])},shiftLineStyles:function(a,c){var d=b(this.styles),e=this._styleMap[a];a=e.line;for(var f in this.styles){var g=parseInt(f,10);g>a&&(this.styles[g+c]=d[g],d[g-c]||delete this.styles[g])}},_getTextOnPreviousLine:function(a){for(var b=this._textLines[a-1];this._styleMap[a-2]&&this._styleMap[a-2].line===this._styleMap[a-1].line;)b=this._textLines[a-2]+b,a--;return b},removeStyleObject:function(a,b){var c=this.get2DCursorLocation(b),d=this._styleMap[c.lineIndex],e=d.line,f=d.offset+c.charIndex;this._removeStyleObject(a,c,e,f)}})}(),function(){var a=fabric.IText.prototype._getNewSelectionStartFromOffset;fabric.IText.prototype._getNewSelectionStartFromOffset=function(b,c,d,e,f){e=a.call(this,b,c,d,e,f);for(var g=0,h=0,i=0;i<this._textLines.length&&(g+=this._textLines[i].length,!(g+h>=e));i++)"\n"!==this.text[g+h]&&" "!==this.text[g+h]||h++;return e-i+h}}(),function(){function request(a,b,c){var d=URL.parse(a);d.port||(d.port=0===d.protocol.indexOf("https:")?443:80);var e=0===d.protocol.indexOf("https:")?HTTPS:HTTP,f=e.request({hostname:d.hostname,port:d.port,path:d.path,method:"GET"},function(a){var d="";b&&a.setEncoding(b),a.on("end",function(){c(d)}),a.on("data",function(b){200===a.statusCode&&(d+=b)})});f.on("error",function(a){a.errno===process.ECONNREFUSED?fabric.log("ECONNREFUSED: connection refused to "+d.hostname+":"+d.port):fabric.log(a.message),c(null)}),f.end()}function requestFs(a,b){var c=require("fs");c.readFile(a,function(a,c){if(a)throw fabric.log(a),a;b(c)})}if("undefined"==typeof document||"undefined"==typeof window){var DOMParser=require("xmldom").DOMParser,URL=require("url"),HTTP=require("http"),HTTPS=require("https"),Canvas=require("canvas"),Image=require("canvas").Image;fabric.util.loadImage=function(a,b,c){function d(d){d?(e.src=new Buffer(d,"binary"),e._src=a,b&&b.call(c,e)):(e=null,b&&b.call(c,null,!0))}var e=new Image;a&&(a instanceof Buffer||0===a.indexOf("data"))?(e.src=e._src=a,b&&b.call(c,e)):a&&0!==a.indexOf("http")?requestFs(a,d):a?request(a,"binary",d):b&&b.call(c,a)},fabric.loadSVGFromURL=function(a,b,c){a=a.replace(/^\n\s*/,"").replace(/\?.*$/,"").trim(),0!==a.indexOf("http")?requestFs(a,function(a){fabric.loadSVGFromString(a.toString(),b,c)}):request(a,"",function(a){fabric.loadSVGFromString(a,b,c)})},fabric.loadSVGFromString=function(a,b,c){var d=(new DOMParser).parseFromString(a);fabric.parseSVGDocument(d.documentElement,function(a,c){b&&b(a,c)},c)},fabric.util.getScript=function(url,callback){request(url,"",function(body){eval(body),callback&&callback()})},fabric.createCanvasForNode=function(a,b,c,d){d=d||c;var e=fabric.document.createElement("canvas"),f=new Canvas(a||600,b||600,d),g=new Canvas(a||600,b||600,d);e.style={},e.width=f.width,e.height=f.height,c=c||{},c.nodeCanvas=f,c.nodeCacheCanvas=g;var h=fabric.Canvas||fabric.StaticCanvas,i=new h(e,c);return i.nodeCanvas=f,i.nodeCacheCanvas=g,i.contextContainer=f.getContext("2d"),i.contextCache=g.getContext("2d"),i.Font=Canvas.Font,i};var originaInitStatic=fabric.StaticCanvas.prototype._initStatic;fabric.StaticCanvas.prototype._initStatic=function(a,b){a=a||fabric.document.createElement("canvas"),this.nodeCanvas=new Canvas(a.width,a.height),this.nodeCacheCanvas=new Canvas(a.width,a.height),originaInitStatic.call(this,a,b),this.contextContainer=this.nodeCanvas.getContext("2d"),this.contextCache=this.nodeCacheCanvas.getContext("2d"),this.Font=Canvas.Font},fabric.StaticCanvas.prototype.createPNGStream=function(){return this.nodeCanvas.createPNGStream()},fabric.StaticCanvas.prototype.createJPEGStream=function(a){return this.nodeCanvas.createJPEGStream(a)},fabric.StaticCanvas.prototype._initRetinaScaling=function(){if(this._isRetinaScaling())return this.lowerCanvasEl.setAttribute("width",this.width*fabric.devicePixelRatio),this.lowerCanvasEl.setAttribute("height",this.height*fabric.devicePixelRatio),this.nodeCanvas.width=this.width*fabric.devicePixelRatio,this.nodeCanvas.height=this.height*fabric.devicePixelRatio,this.contextContainer.scale(fabric.devicePixelRatio,fabric.devicePixelRatio),this},fabric.Canvas&&(fabric.Canvas.prototype._initRetinaScaling=fabric.StaticCanvas.prototype._initRetinaScaling);var origSetBackstoreDimension=fabric.StaticCanvas.prototype._setBackstoreDimension;fabric.StaticCanvas.prototype._setBackstoreDimension=function(a,b){return origSetBackstoreDimension.call(this,a,b),this.nodeCanvas[a]=b,this},fabric.Canvas&&(fabric.Canvas.prototype._setBackstoreDimension=fabric.StaticCanvas.prototype._setBackstoreDimension)}}(),function(){"use strict";angular.module("ngAside",["ui.bootstrap.modal"])}(),function(){"use strict";angular.module("ngAside").factory("$aside",["$uibModal",function(a){var b=this.defaults={placement:"left"},c={open:function(c){var d=angular.extend({},b,c);["left","right","bottom","top"].indexOf(d.placement)===-1&&(d.placement=b.placement);var e=["left","right"].indexOf(d.placement)===-1?"vertical":"horizontal";return d.windowClass="ng-aside "+e+" "+d.placement+(d.windowClass?" "+d.windowClass:""),delete d.placement,a.open(d)}},d=angular.extend({},a,c);return d}])}(),function(){var a=[].slice;!function(b,c){"use strict";var d;return d=function(){function a(a,c){null==c&&(c={}),this.$element=b(a),this.options=b.extend({},b.fn.bootstrapSwitch.defaults,{state:this.$element.is(":checked"),size:this.$element.data("size"),animate:this.$element.data("animate"),disabled:this.$element.is(":disabled"),readonly:this.$element.is("[readonly]"),indeterminate:this.$element.data("indeterminate"),inverse:this.$element.data("inverse"),radioAllOff:this.$element.data("radio-all-off"),onColor:this.$element.data("on-color"),offColor:this.$element.data("off-color"),onText:this.$element.data("on-text"),offText:this.$element.data("off-text"),labelText:this.$element.data("label-text"),handleWidth:this.$element.data("handle-width"),labelWidth:this.$element.data("label-width"),baseClass:this.$element.data("base-class"),wrapperClass:this.$element.data("wrapper-class")},c),this.$wrapper=b("<div>",{"class":function(a){return function(){var b;return b=[""+a.options.baseClass].concat(a._getClasses(a.options.wrapperClass)),b.push(a.options.state?""+a.options.baseClass+"-on":""+a.options.baseClass+"-off"),null!=a.options.size&&b.push(""+a.options.baseClass+"-"+a.options.size),a.options.disabled&&b.push(""+a.options.baseClass+"-disabled"),a.options.readonly&&b.push(""+a.options.baseClass+"-readonly"),a.options.indeterminate&&b.push(""+a.options.baseClass+"-indeterminate"),a.options.inverse&&b.push(""+a.options.baseClass+"-inverse"),a.$element.attr("id")&&b.push(""+a.options.baseClass+"-id-"+a.$element.attr("id")),b.join(" ")}}(this)()}),this.$container=b("<div>",{"class":""+this.options.baseClass+"-container"}),this.$on=b("<span>",{html:this.options.onText,"class":""+this.options.baseClass+"-handle-on "+this.options.baseClass+"-"+this.options.onColor}),this.$off=b("<span>",{html:this.options.offText,"class":""+this.options.baseClass+"-handle-off "+this.options.baseClass+"-"+this.options.offColor}),this.$label=b("<span>",{html:this.options.labelText,"class":""+this.options.baseClass+"-label"}),this.$element.on("init.bootstrapSwitch",function(b){return function(){return b.options.onInit.apply(a,arguments)}}(this)),this.$element.on("switchChange.bootstrapSwitch",function(b){return function(){return b.options.onSwitchChange.apply(a,arguments)}}(this)),this.$container=this.$element.wrap(this.$container).parent(),this.$wrapper=this.$container.wrap(this.$wrapper).parent(),this.$element.before(this.options.inverse?this.$off:this.$on).before(this.$label).before(this.options.inverse?this.$on:this.$off),this.options.indeterminate&&this.$element.prop("indeterminate",!0),this._init(),this._elementHandlers(),this._handleHandlers(),this._labelHandlers(),this._formHandler(),this._externalLabelHandler(),this.$element.trigger("init.bootstrapSwitch")}return a.prototype._constructor=a,a.prototype.state=function(a,b){return"undefined"==typeof a?this.options.state:this.options.disabled||this.options.readonly?this.$element:this.options.state&&!this.options.radioAllOff&&this.$element.is(":radio")?this.$element:(this.options.indeterminate&&this.indeterminate(!1),a=!!a,this.$element.prop("checked",a).trigger("change.bootstrapSwitch",b),this.$element)},a.prototype.toggleState=function(a){return this.options.disabled||this.options.readonly?this.$element:this.options.indeterminate?(this.indeterminate(!1),this.state(!0)):this.$element.prop("checked",!this.options.state).trigger("change.bootstrapSwitch",a)},a.prototype.size=function(a){return"undefined"==typeof a?this.options.size:(null!=this.options.size&&this.$wrapper.removeClass(""+this.options.baseClass+"-"+this.options.size),a&&this.$wrapper.addClass(""+this.options.baseClass+"-"+a),this._width(),this._containerPosition(),this.options.size=a,this.$element)},a.prototype.animate=function(a){return"undefined"==typeof a?this.options.animate:(a=!!a,a===this.options.animate?this.$element:this.toggleAnimate())},a.prototype.toggleAnimate=function(){return this.options.animate=!this.options.animate,this.$wrapper.toggleClass(""+this.options.baseClass+"-animate"),this.$element},a.prototype.disabled=function(a){return"undefined"==typeof a?this.options.disabled:(a=!!a,a===this.options.disabled?this.$element:this.toggleDisabled())},a.prototype.toggleDisabled=function(){return this.options.disabled=!this.options.disabled,this.$element.prop("disabled",this.options.disabled),this.$wrapper.toggleClass(""+this.options.baseClass+"-disabled"),this.$element},a.prototype.readonly=function(a){return"undefined"==typeof a?this.options.readonly:(a=!!a,a===this.options.readonly?this.$element:this.toggleReadonly())},a.prototype.toggleReadonly=function(){return this.options.readonly=!this.options.readonly,this.$element.prop("readonly",this.options.readonly),this.$wrapper.toggleClass(""+this.options.baseClass+"-readonly"),this.$element},a.prototype.indeterminate=function(a){return"undefined"==typeof a?this.options.indeterminate:(a=!!a,a===this.options.indeterminate?this.$element:this.toggleIndeterminate())},a.prototype.toggleIndeterminate=function(){return this.options.indeterminate=!this.options.indeterminate,this.$element.prop("indeterminate",this.options.indeterminate),this.$wrapper.toggleClass(""+this.options.baseClass+"-indeterminate"),this._containerPosition(),this.$element},a.prototype.inverse=function(a){return"undefined"==typeof a?this.options.inverse:(a=!!a,a===this.options.inverse?this.$element:this.toggleInverse())},a.prototype.toggleInverse=function(){var a,b;return this.$wrapper.toggleClass(""+this.options.baseClass+"-inverse"),b=this.$on.clone(!0),a=this.$off.clone(!0),this.$on.replaceWith(a),this.$off.replaceWith(b),this.$on=a,this.$off=b,this.options.inverse=!this.options.inverse,this.$element},a.prototype.onColor=function(a){var b;return b=this.options.onColor,"undefined"==typeof a?b:(null!=b&&this.$on.removeClass(""+this.options.baseClass+"-"+b),this.$on.addClass(""+this.options.baseClass+"-"+a),this.options.onColor=a,this.$element)},a.prototype.offColor=function(a){var b;return b=this.options.offColor,"undefined"==typeof a?b:(null!=b&&this.$off.removeClass(""+this.options.baseClass+"-"+b),this.$off.addClass(""+this.options.baseClass+"-"+a),this.options.offColor=a,this.$element)},a.prototype.onText=function(a){return"undefined"==typeof a?this.options.onText:(this.$on.html(a),this._width(),this._containerPosition(),this.options.onText=a,this.$element)},a.prototype.offText=function(a){return"undefined"==typeof a?this.options.offText:(this.$off.html(a),this._width(),this._containerPosition(),this.options.offText=a,this.$element)},a.prototype.labelText=function(a){return"undefined"==typeof a?this.options.labelText:(this.$label.html(a),this._width(),this.options.labelText=a,this.$element)},a.prototype.handleWidth=function(a){return"undefined"==typeof a?this.options.handleWidth:(this.options.handleWidth=a,this._width(),this._containerPosition(),this.$element)},a.prototype.labelWidth=function(a){return"undefined"==typeof a?this.options.labelWidth:(this.options.labelWidth=a,this._width(),this._containerPosition(),this.$element)},a.prototype.baseClass=function(a){return this.options.baseClass},a.prototype.wrapperClass=function(a){return"undefined"==typeof a?this.options.wrapperClass:(a||(a=b.fn.bootstrapSwitch.defaults.wrapperClass),this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(" ")),this.$wrapper.addClass(this._getClasses(a).join(" ")),this.options.wrapperClass=a,this.$element)},a.prototype.radioAllOff=function(a){return"undefined"==typeof a?this.options.radioAllOff:(a=!!a,a===this.options.radioAllOff?this.$element:(this.options.radioAllOff=a,this.$element))},a.prototype.onInit=function(a){return"undefined"==typeof a?this.options.onInit:(a||(a=b.fn.bootstrapSwitch.defaults.onInit),this.options.onInit=a,this.$element)},a.prototype.onSwitchChange=function(a){return"undefined"==typeof a?this.options.onSwitchChange:(a||(a=b.fn.bootstrapSwitch.defaults.onSwitchChange),this.options.onSwitchChange=a,this.$element)},a.prototype.destroy=function(){var a;return a=this.$element.closest("form"),a.length&&a.off("reset.bootstrapSwitch").removeData("bootstrap-switch"),this.$container.children().not(this.$element).remove(),this.$element.unwrap().unwrap().off(".bootstrapSwitch").removeData("bootstrap-switch"),this.$element},a.prototype._width=function(){var a,b;return a=this.$on.add(this.$off),a.add(this.$label).css("width",""),b="auto"===this.options.handleWidth?Math.max(this.$on.width(),this.$off.width()):this.options.handleWidth,a.width(b),this.$label.width(function(a){return function(c,d){return"auto"!==a.options.labelWidth?a.options.labelWidth:d<b?b:d}}(this)),this._handleWidth=this.$on.outerWidth(),this._labelWidth=this.$label.outerWidth(),this.$container.width(2*this._handleWidth+this._labelWidth),this.$wrapper.width(this._handleWidth+this._labelWidth)},a.prototype._containerPosition=function(a,b){if(null==a&&(a=this.options.state),this.$container.css("margin-left",function(b){return function(){var c;return c=[0,"-"+b._handleWidth+"px"],b.options.indeterminate?"-"+b._handleWidth/2+"px":a?b.options.inverse?c[1]:c[0]:b.options.inverse?c[0]:c[1]}}(this)),b)return setTimeout(function(){return b()},50)},a.prototype._init=function(){var a,b;return a=function(a){return function(){return a._width(),a._containerPosition(null,function(){if(a.options.animate)return a.$wrapper.addClass(""+a.options.baseClass+"-animate")})}}(this),this.$wrapper.is(":visible")?a():b=c.setInterval(function(d){return function(){if(d.$wrapper.is(":visible"))return a(),c.clearInterval(b)}}(this),50)},a.prototype._elementHandlers=function(){return this.$element.on({"change.bootstrapSwitch":function(a){return function(c,d){var e;if(c.preventDefault(),c.stopImmediatePropagation(),e=a.$element.is(":checked"),a._containerPosition(e),e!==a.options.state)return a.options.state=e,a.$wrapper.toggleClass(""+a.options.baseClass+"-off").toggleClass(""+a.options.baseClass+"-on"),d?void 0:(a.$element.is(":radio")&&b("[name='"+a.$element.attr("name")+"']").not(a.$element).prop("checked",!1).trigger("change.bootstrapSwitch",!0),a.$element.trigger("switchChange.bootstrapSwitch",[e]))}}(this),"focus.bootstrapSwitch":function(a){return function(b){return b.preventDefault(),a.$wrapper.addClass(""+a.options.baseClass+"-focused")}}(this),"blur.bootstrapSwitch":function(a){return function(b){return b.preventDefault(),a.$wrapper.removeClass(""+a.options.baseClass+"-focused")}}(this),"keydown.bootstrapSwitch":function(a){return function(b){if(b.which&&!a.options.disabled&&!a.options.readonly)switch(b.which){case 37:return b.preventDefault(),b.stopImmediatePropagation(),a.state(!1);case 39:return b.preventDefault(),b.stopImmediatePropagation(),a.state(!0)}}}(this)})},a.prototype._handleHandlers=function(){return this.$on.on("click.bootstrapSwitch",function(a){return function(b){return b.preventDefault(),b.stopPropagation(),a.state(!1),a.$element.trigger("focus.bootstrapSwitch")}}(this)),this.$off.on("click.bootstrapSwitch",function(a){return function(b){return b.preventDefault(),b.stopPropagation(),a.state(!0),a.$element.trigger("focus.bootstrapSwitch")}}(this))},a.prototype._labelHandlers=function(){return this.$label.on({"mousedown.bootstrapSwitch touchstart.bootstrapSwitch":function(a){return function(b){if(!(a._dragStart||a.options.disabled||a.options.readonly))return b.preventDefault(),b.stopPropagation(),a._dragStart=(b.pageX||b.originalEvent.touches[0].pageX)-parseInt(a.$container.css("margin-left"),10),a.options.animate&&a.$wrapper.removeClass(""+a.options.baseClass+"-animate"),a.$element.trigger("focus.bootstrapSwitch")}}(this),"mousemove.bootstrapSwitch touchmove.bootstrapSwitch":function(a){return function(b){var c;if(null!=a._dragStart&&(b.preventDefault(),c=(b.pageX||b.originalEvent.touches[0].pageX)-a._dragStart,!(c<-a._handleWidth||c>0)))return a._dragEnd=c,a.$container.css("margin-left",""+a._dragEnd+"px")}}(this),"mouseup.bootstrapSwitch touchend.bootstrapSwitch":function(a){return function(b){var c;if(a._dragStart)return b.preventDefault(),a.options.animate&&a.$wrapper.addClass(""+a.options.baseClass+"-animate"),a._dragEnd?(c=a._dragEnd>-(a._handleWidth/2),a._dragEnd=!1,a.state(a.options.inverse?!c:c)):a.state(!a.options.state),a._dragStart=!1}}(this),"mouseleave.bootstrapSwitch":function(a){return function(b){return a.$label.trigger("mouseup.bootstrapSwitch")}}(this)})},a.prototype._externalLabelHandler=function(){var a;return a=this.$element.closest("label"),a.on("click",function(b){return function(c){if(c.preventDefault(),c.stopImmediatePropagation(),c.target===a[0])return b.toggleState()}}(this))},a.prototype._formHandler=function(){var a;if(a=this.$element.closest("form"),!a.data("bootstrap-switch"))return a.on("reset.bootstrapSwitch",function(){return c.setTimeout(function(){return a.find("input").filter(function(){return b(this).data("bootstrap-switch")}).each(function(){return b(this).bootstrapSwitch("state",this.checked)})},1)}).data("bootstrap-switch",!0)},a.prototype._getClasses=function(a){var c,d,e,f;if(!b.isArray(a))return[""+this.options.baseClass+"-"+a];for(d=[],e=0,f=a.length;e<f;e++)c=a[e],d.push(""+this.options.baseClass+"-"+c);return d},a}(),b.fn.bootstrapSwitch=function(){var c,e,f;return e=arguments[0],c=2<=arguments.length?a.call(arguments,1):[],f=this,this.each(function(){var a,g;if(a=b(this),g=a.data("bootstrap-switch"),g||a.data("bootstrap-switch",g=new d(this,e)),"string"==typeof e)return f=g[e].apply(g,c)}),f},b.fn.bootstrapSwitch.Constructor=d,b.fn.bootstrapSwitch.defaults={state:!0,size:null,animate:!0,disabled:!1,readonly:!1,indeterminate:!1,inverse:!1,radioAllOff:!1,onColor:"primary",offColor:"default",onText:"ON",offText:"OFF",labelText:"&nbsp;",handleWidth:"auto",labelWidth:"auto",baseClass:"bootstrap-switch",wrapperClass:"wrapper",onInit:function(){},onSwitchChange:function(){}}}(window.jQuery,window)}.call(this),function(){"use strict";angular.module("frapontillo.bootstrap-switch",[]),angular.module("frapontillo.bootstrap-switch").directive("bsSwitch",["$parse","$timeout",function(a,b){return{restrict:"A",require:"ngModel",link:function(c,d,e,f){var g=!1,h=function(){if("radio"===e.type)return e.value||a(e.ngValue)(c)||!0;var b=a(e.ngTrueValue)(c);return angular.isUndefined(b)&&(b=!0),b},i=function(a){return c.$eval(a)===!0},j=function(a){return a===!0||"true"===a||!a},k=function(a){return a?a:void 0},l=function(a){return angular.isUndefined(a)?angular.noop:function(){c.$evalAsync(a)}},m=function(a){var b={switchRadioOff:j,switchActive:function(a){return!j(a)},switchAnimate:j,switchLabel:function(a){return a?a:"&nbsp;"},switchIcon:function(a){if(a)return"<span class='"+a+"'></span>"},switchWrapper:function(a){return a||"wrapper"},switchInverse:i,switchReadonly:i,switchChange:l},c=b[a]||k;return c(e[a])},n=function(a,b,c){if(g){var d=m(c);a.bootstrapSwitch(b,d)}},o=function(){n(d,"disabled","switchActive")},p=function(){if(!g){var a=f.$modelValue===h();g=!g,d.bootstrapSwitch({radioAllOff:m("switchRadioOff"),disabled:m("switchActive"),state:a,onText:m("switchOnText"),offText:m("switchOffText"),onColor:m("switchOnColor"),offColor:m("switchOffColor"),animate:m("switchAnimate"),size:m("switchSize"),labelText:m(e.switchLabel?"switchLabel":"switchIcon"),wrapperClass:m("switchWrapper"),handleWidth:m("switchHandleWidth"),labelWidth:m("switchLabelWidth"),inverse:m("switchInverse"),readonly:m("switchReadonly")}),"radio"===e.type?f.$setViewValue(f.$modelValue):f.$setViewValue(a)}},q=m("switchChange"),r=function(){e.$observe("switchActive",function(a){var c=j(a);c?o():b(o)}),f.$render=function(){p();var a=f.$modelValue;void 0!==a&&null!==a?d.bootstrapSwitch("state",a===h(),!0):(d.bootstrapSwitch("indeterminate",!0,!0),f.$setViewValue(void 0)),q()};var a={switchRadioOff:"radioAllOff",switchOnText:"onText",switchOffText:"offText",switchOnColor:"onColor",switchOffColor:"offColor",switchAnimate:"animate",switchSize:"size",switchLabel:"labelText",switchIcon:"labelText",switchWrapper:"wrapperClass",switchHandleWidth:"handleWidth",switchLabelWidth:"labelWidth",switchInverse:"inverse",switchReadonly:"readonly"},c=function(a,b){return function(){e.$observe(a,function(){n(d,b[a],a)})}};for(var g in a)e.$observe(g,c(g,a))},s=function(){"radio"===e.type?d.on("change.bootstrapSwitch",function(a){f.$modelValue===f.$viewValue&&a.target.checked!==$(a.target).bootstrapSwitch("state")&&(a.target.checked?f.$setViewValue(h()):h()===f.$viewValue&&f.$setViewValue(void 0),q())}):d.on("switchChange.bootstrapSwitch",function(a){f.$setViewValue(a.target.checked),q()})};s(),r(),c.$on("$destroy",function(){d.bootstrapSwitch("destroy")})}}}]).directive("bsSwitch",function(){return{restrict:"E",require:"ngModel",template:"<input bs-switch>",replace:!0}})}(),function(){"use strict";angular.module("base64",[]).constant("$base64",function(){function a(a,b){var c=f.indexOf(a.charAt(b));if(c==-1)throw"Cannot decode base64";return c}function b(b){b=""+b;var c,d,f,g=b.length;if(0==g)return b;if(g%4!=0)throw"Cannot decode base64";c=0,b.charAt(g-1)==e&&(c=1,b.charAt(g-2)==e&&(c=2),g-=4);var h=[];for(d=0;d<g;d+=4)f=a(b,d)<<18|a(b,d+1)<<12|a(b,d+2)<<6|a(b,d+3),h.push(String.fromCharCode(f>>16,f>>8&255,255&f));switch(c){case 1:f=a(b,d)<<18|a(b,d+1)<<12|a(b,d+2)<<6,h.push(String.fromCharCode(f>>16,f>>8&255));break;case 2:f=a(b,d)<<18|a(b,d+1)<<12,h.push(String.fromCharCode(f>>16))}return h.join("")}function c(a,b){var c=a.charCodeAt(b);if(c>255)throw"INVALID_CHARACTER_ERR: DOM Exception 5";return c}function d(a){if(1!=arguments.length)throw"SyntaxError: Not enough arguments";var b,d,g=[];a=""+a;var h=a.length-a.length%3;if(0==a.length)return a;for(b=0;b<h;b+=3)d=c(a,b)<<16|c(a,b+1)<<8|c(a,b+2),g.push(f.charAt(d>>18)),g.push(f.charAt(d>>12&63)),g.push(f.charAt(d>>6&63)),g.push(f.charAt(63&d));switch(a.length-h){case 1:d=c(a,b)<<16,g.push(f.charAt(d>>18)+f.charAt(d>>12&63)+e+e);break;case 2:d=c(a,b)<<16|c(a,b+1)<<8,g.push(f.charAt(d>>18)+f.charAt(d>>12&63)+f.charAt(d>>6&63)+e)}return g.join("")}var e="=",f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";return{encode:d,decode:b}}())}(),function(a,b){"use strict";if("function"==typeof define&&define.amd)define(["angular"],b);else if("object"==typeof module&&module.exports){var c=angular||require("angular");c&&c.module||"undefined"==typeof angular||(c=angular),module.exports=b(c)}else b(a.angular)}(this,function(a){"use strict";var b=a.module("rzModule",[]).factory("RzSliderOptions",function(){var b={floor:0,ceil:null,step:1,precision:0,minRange:null,maxRange:null,pushRange:!1,minLimit:null,maxLimit:null,id:null,translate:null,getLegend:null,stepsArray:null,bindIndexForStepsArray:!1,draggableRange:!1,draggableRangeOnly:!1,showSelectionBar:!1,showSelectionBarEnd:!1,showSelectionBarFromValue:null,showOuterSelectionBars:!1,hidePointerLabels:!1,hideLimitLabels:!1,autoHideLimitLabels:!0,readOnly:!1,disabled:!1,interval:350,showTicks:!1,showTicksValues:!1,ticksArray:null,ticksTooltip:null,ticksValuesTooltip:null,vertical:!1,getSelectionBarColor:null,getTickColor:null,getPointerColor:null,keyboardSupport:!0,scale:1,enforceStep:!0,enforceRange:!1,noSwitching:!1,onlyBindHandles:!1,onStart:null,onChange:null,onEnd:null,rightToLeft:!1,reversedControls:!1,boundPointerLabels:!0,mergeRangeLabelsIfSame:!1,customTemplateScope:null,logScale:!1,customValueToPosition:null,customPositionToValue:null,selectionBarGradient:null,ariaLabel:null,ariaLabelledBy:null,ariaLabelHigh:null,ariaLabelledByHigh:null},c={},d={};return d.options=function(b){a.extend(c,b)},d.getOptions=function(d){return a.extend({},b,c,d)},d}).factory("rzThrottle",["$timeout",function(a){return function(b,c,d){var e,f,g,h=Date.now||function(){return(new Date).getTime()},i=null,j=0;d=d||{};var k=function(){j=h(),i=null,g=b.apply(e,f),e=f=null};return function(){var l=h(),m=c-(l-j);return e=this,f=arguments,m<=0?(a.cancel(i),i=null,j=l,g=b.apply(e,f),e=f=null):i||d.trailing===!1||(i=a(k,m)),g}}}]).factory("RzSlider",["$timeout","$document","$window","$compile","RzSliderOptions","rzThrottle",function(b,c,d,e,f,g){var h=function(a,b){this.scope=a,this.lowValue=0,this.highValue=0,this.sliderElem=b,this.range=void 0!==this.scope.rzSliderModel&&void 0!==this.scope.rzSliderHigh,this.dragging={active:!1,value:0,difference:0,position:0,lowLimit:0,highLimit:0},this.positionProperty="left",this.dimensionProperty="width",this.handleHalfDim=0,this.maxPos=0,this.precision=0,this.step=1,this.tracking="",this.minValue=0,this.maxValue=0,this.valueRange=0,this.intermediateTicks=!1,this.initHasRun=!1,this.firstKeyDown=!1,this.internalChange=!1,this.cmbLabelShown=!1,this.currentFocusElement=null,this.fullBar=null,this.selBar=null,this.minH=null,this.maxH=null,this.flrLab=null,this.ceilLab=null,this.minLab=null,this.maxLab=null,this.cmbLab=null,this.ticks=null,this.init()};return h.prototype={init:function(){var b,c,e=this,f=function(){e.calcViewDimensions()};this.applyOptions(),this.syncLowValue(),this.range&&this.syncHighValue(),this.initElemHandles(),this.manageElementsStyle(),this.setDisabledState(),this.calcViewDimensions(),this.setMinAndMax(),this.addAccessibility(),this.updateCeilLab(),this.updateFloorLab(),this.initHandles(),this.manageEventsBindings(),this.scope.$on("reCalcViewDimensions",f),a.element(d).on("resize",f),this.initHasRun=!0,b=g(function(){e.onLowHandleChange()},e.options.interval),c=g(function(){e.onHighHandleChange()},e.options.interval),this.scope.$on("rzSliderForceRender",function(){e.resetLabelsValue(),b(),e.range&&c(),e.resetSlider()}),this.scope.$watchCollection("rzSliderOptions()",function(a,b){a!==b&&(e.applyOptions(),e.syncLowValue(),e.range&&e.syncHighValue(),e.resetSlider())}),this.scope.$watch("rzSliderModel",function(a,c){e.internalChange||a!==c&&b()}),this.scope.$watch("rzSliderHigh",function(a,b){e.internalChange||a!==b&&(null!=a&&c(),(e.range&&null==a||!e.range&&null!=a)&&(e.applyOptions(),e.resetSlider()))}),this.scope.$on("$destroy",function(){e.unbindEvents(),a.element(d).off("resize",f),e.currentFocusElement=null})},findStepIndex:function(b){for(var c=0,d=0;d<this.options.stepsArray.length;d++){var e=this.options.stepsArray[d];if(e===b){c=d;break}if(a.isDate(e)){if(e.getTime()===b.getTime()){c=d;break}}else if(a.isObject(e)&&(a.isDate(e.value)&&e.value.getTime()===b.getTime()||e.value===b)){c=d;break}}return c},syncLowValue:function(){this.options.stepsArray?this.options.bindIndexForStepsArray?this.lowValue=this.scope.rzSliderModel:this.lowValue=this.findStepIndex(this.scope.rzSliderModel):this.lowValue=this.scope.rzSliderModel},syncHighValue:function(){this.options.stepsArray?this.options.bindIndexForStepsArray?this.highValue=this.scope.rzSliderHigh:this.highValue=this.findStepIndex(this.scope.rzSliderHigh):this.highValue=this.scope.rzSliderHigh},getStepValue:function(b){var c=this.options.stepsArray[b];return a.isDate(c)?c:a.isObject(c)?c.value:c},applyLowValue:function(){this.options.stepsArray?this.options.bindIndexForStepsArray?this.scope.rzSliderModel=this.lowValue:this.scope.rzSliderModel=this.getStepValue(this.lowValue):this.scope.rzSliderModel=this.lowValue},applyHighValue:function(){this.options.stepsArray?this.options.bindIndexForStepsArray?this.scope.rzSliderHigh=this.highValue:this.scope.rzSliderHigh=this.getStepValue(this.highValue):this.scope.rzSliderHigh=this.highValue;
+},onLowHandleChange:function(){this.syncLowValue(),this.range&&this.syncHighValue(),this.setMinAndMax(),this.updateLowHandle(this.valueToPosition(this.lowValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCmbLabel()},onHighHandleChange:function(){this.syncLowValue(),this.syncHighValue(),this.setMinAndMax(),this.updateHighHandle(this.valueToPosition(this.highValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateCmbLabel(),this.updateAriaAttributes()},applyOptions:function(){var b;b=this.scope.rzSliderOptions?this.scope.rzSliderOptions():{},this.options=f.getOptions(b),this.options.step<=0&&(this.options.step=1),this.range=void 0!==this.scope.rzSliderModel&&void 0!==this.scope.rzSliderHigh,this.options.draggableRange=this.range&&this.options.draggableRange,this.options.draggableRangeOnly=this.range&&this.options.draggableRangeOnly,this.options.draggableRangeOnly&&(this.options.draggableRange=!0),this.options.showTicks=this.options.showTicks||this.options.showTicksValues||!!this.options.ticksArray,this.scope.showTicks=this.options.showTicks,(a.isNumber(this.options.showTicks)||this.options.ticksArray)&&(this.intermediateTicks=!0),this.options.showSelectionBar=this.options.showSelectionBar||this.options.showSelectionBarEnd||null!==this.options.showSelectionBarFromValue,this.options.stepsArray?this.parseStepsArray():(this.options.translate?this.customTrFn=this.options.translate:this.customTrFn=function(a){return String(a)},this.getLegend=this.options.getLegend),this.options.vertical&&(this.positionProperty="bottom",this.dimensionProperty="height"),this.options.customTemplateScope&&(this.scope.custom=this.options.customTemplateScope)},parseStepsArray:function(){this.options.floor=0,this.options.ceil=this.options.stepsArray.length-1,this.options.step=1,this.options.translate?this.customTrFn=this.options.translate:this.customTrFn=function(a){return this.options.bindIndexForStepsArray?this.getStepValue(a):a},this.getLegend=function(b){var c=this.options.stepsArray[b];return a.isObject(c)?c.legend:null}},resetSlider:function(){this.manageElementsStyle(),this.addAccessibility(),this.setMinAndMax(),this.updateCeilLab(),this.updateFloorLab(),this.unbindEvents(),this.manageEventsBindings(),this.setDisabledState(),this.calcViewDimensions(),this.refocusPointerIfNeeded()},refocusPointerIfNeeded:function(){this.currentFocusElement&&(this.onPointerFocus(this.currentFocusElement.pointer,this.currentFocusElement.ref),this.focusElement(this.currentFocusElement.pointer))},initElemHandles:function(){a.forEach(this.sliderElem.children(),function(b,c){var d=a.element(b);switch(c){case 0:this.leftOutSelBar=d;break;case 1:this.rightOutSelBar=d;break;case 2:this.fullBar=d;break;case 3:this.selBar=d;break;case 4:this.minH=d;break;case 5:this.maxH=d;break;case 6:this.flrLab=d;break;case 7:this.ceilLab=d;break;case 8:this.minLab=d;break;case 9:this.maxLab=d;break;case 10:this.cmbLab=d;break;case 11:this.ticks=d}},this),this.selBar.rzsp=0,this.minH.rzsp=0,this.maxH.rzsp=0,this.flrLab.rzsp=0,this.ceilLab.rzsp=0,this.minLab.rzsp=0,this.maxLab.rzsp=0,this.cmbLab.rzsp=0},manageElementsStyle:function(){this.range?this.maxH.css("display",""):this.maxH.css("display","none"),this.alwaysHide(this.flrLab,this.options.showTicksValues||this.options.hideLimitLabels),this.alwaysHide(this.ceilLab,this.options.showTicksValues||this.options.hideLimitLabels);var a=this.options.showTicksValues&&!this.intermediateTicks;this.alwaysHide(this.minLab,a||this.options.hidePointerLabels),this.alwaysHide(this.maxLab,a||!this.range||this.options.hidePointerLabels),this.alwaysHide(this.cmbLab,a||!this.range||this.options.hidePointerLabels),this.alwaysHide(this.selBar,!this.range&&!this.options.showSelectionBar),this.alwaysHide(this.leftOutSelBar,!this.range||!this.options.showOuterSelectionBars),this.alwaysHide(this.rightOutSelBar,!this.range||!this.options.showOuterSelectionBars),this.range&&this.options.showOuterSelectionBars&&this.fullBar.addClass("rz-transparent"),this.options.vertical&&this.sliderElem.addClass("rz-vertical"),this.options.draggableRange?this.selBar.addClass("rz-draggable"):this.selBar.removeClass("rz-draggable"),this.intermediateTicks&&this.options.showTicksValues&&this.ticks.addClass("rz-ticks-values-under")},alwaysHide:function(a,b){a.rzAlwaysHide=b,b?this.hideEl(a):this.showEl(a)},manageEventsBindings:function(){this.options.disabled||this.options.readOnly?this.unbindEvents():this.bindEvents()},setDisabledState:function(){this.options.disabled?this.sliderElem.attr("disabled","disabled"):this.sliderElem.attr("disabled",null)},resetLabelsValue:function(){this.minLab.rzsv=void 0,this.maxLab.rzsv=void 0},initHandles:function(){this.updateLowHandle(this.valueToPosition(this.lowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.highValue)),this.updateSelectionBar(),this.range&&this.updateCmbLabel(),this.updateTicksScale()},translateFn:function(a,b,c,d){d=void 0===d||d;var e="",f=!1,g=b.hasClass("no-label-injection");d?(this.options.stepsArray&&!this.options.bindIndexForStepsArray&&(a=this.getStepValue(a)),e=String(this.customTrFn(a,this.options.id,c))):e=String(a),(void 0===b.rzsv||b.rzsv.length!==e.length||b.rzsv.length>0&&0===b.rzsd)&&(f=!0,b.rzsv=e),g||b.html(e),this.scope[c+"Label"]=e,f&&this.getDimension(b)},setMinAndMax:function(){if(this.step=+this.options.step,this.precision=+this.options.precision,this.minValue=this.options.floor,this.options.logScale&&0===this.minValue)throw Error("Can't use floor=0 with logarithmic scale");this.options.enforceStep&&(this.lowValue=this.roundStep(this.lowValue),this.range&&(this.highValue=this.roundStep(this.highValue))),null!=this.options.ceil?this.maxValue=this.options.ceil:this.maxValue=this.options.ceil=this.range?this.highValue:this.lowValue,this.options.enforceRange&&(this.lowValue=this.sanitizeValue(this.lowValue),this.range&&(this.highValue=this.sanitizeValue(this.highValue))),this.applyLowValue(),this.range&&this.applyHighValue(),this.valueRange=this.maxValue-this.minValue},addAccessibility:function(){this.minH.attr("role","slider"),this.updateAriaAttributes(),!this.options.keyboardSupport||this.options.readOnly||this.options.disabled?this.minH.attr("tabindex",""):this.minH.attr("tabindex","0"),this.options.vertical&&this.minH.attr("aria-orientation","vertical"),this.options.ariaLabel?this.minH.attr("aria-label",this.options.ariaLabel):this.options.ariaLabelledBy&&this.minH.attr("aria-labelledby",this.options.ariaLabelledBy),this.range&&(this.maxH.attr("role","slider"),!this.options.keyboardSupport||this.options.readOnly||this.options.disabled?this.maxH.attr("tabindex",""):this.maxH.attr("tabindex","0"),this.options.vertical&&this.maxH.attr("aria-orientation","vertical"),this.options.ariaLabelHigh?this.maxH.attr("aria-label",this.options.ariaLabelHigh):this.options.ariaLabelledByHigh&&this.maxH.attr("aria-labelledby",this.options.ariaLabelledByHigh))},updateAriaAttributes:function(){this.minH.attr({"aria-valuenow":this.scope.rzSliderModel,"aria-valuetext":this.customTrFn(this.scope.rzSliderModel,this.options.id,"model"),"aria-valuemin":this.minValue,"aria-valuemax":this.maxValue}),this.range&&this.maxH.attr({"aria-valuenow":this.scope.rzSliderHigh,"aria-valuetext":this.customTrFn(this.scope.rzSliderHigh,this.options.id,"high"),"aria-valuemin":this.minValue,"aria-valuemax":this.maxValue})},calcViewDimensions:function(){var a=this.getDimension(this.minH);if(this.handleHalfDim=a/2,this.barDimension=this.getDimension(this.fullBar),this.maxPos=this.barDimension-a,this.getDimension(this.sliderElem),this.sliderElem.rzsp=this.sliderElem[0].getBoundingClientRect()[this.positionProperty],this.initHasRun){this.updateFloorLab(),this.updateCeilLab(),this.initHandles();var c=this;b(function(){c.updateTicksScale()})}},updateTicksScale:function(){if(this.options.showTicks){var a=this.options.ticksArray||this.getTicksArray(),b=this.options.vertical?"translateY":"translateX",c=this;this.options.rightToLeft&&a.reverse(),this.scope.ticks=a.map(function(a){var d=c.valueToPosition(a);c.options.vertical&&(d=c.maxPos-d);var e=b+"("+Math.round(d)+"px)",f={selected:c.isTickSelected(a),style:{"-webkit-transform":e,"-moz-transform":e,"-o-transform":e,"-ms-transform":e,transform:e}};if(f.selected&&c.options.getSelectionBarColor&&(f.style["background-color"]=c.getSelectionBarColor()),!f.selected&&c.options.getTickColor&&(f.style["background-color"]=c.getTickColor(a)),c.options.ticksTooltip&&(f.tooltip=c.options.ticksTooltip(a),f.tooltipPlacement=c.options.vertical?"right":"top"),c.options.showTicksValues!==!0&&a%c.options.showTicksValues!==0||(f.value=c.getDisplayValue(a,"tick-value"),c.options.ticksValuesTooltip&&(f.valueTooltip=c.options.ticksValuesTooltip(a),f.valueTooltipPlacement=c.options.vertical?"right":"top")),c.getLegend){var g=c.getLegend(a,c.options.id);g&&(f.legend=g)}return f})}},getTicksArray:function(){var a=this.step,b=[];this.intermediateTicks&&(a=this.options.showTicks);for(var c=this.minValue;c<=this.maxValue;c+=a)b.push(c);return b},isTickSelected:function(a){if(!this.range)if(null!==this.options.showSelectionBarFromValue){var b=this.options.showSelectionBarFromValue;if(this.lowValue>b&&a>=b&&a<=this.lowValue)return!0;if(this.lowValue<b&&a<=b&&a>=this.lowValue)return!0}else if(this.options.showSelectionBarEnd){if(a>=this.lowValue)return!0}else if(this.options.showSelectionBar&&a<=this.lowValue)return!0;return!!(this.range&&a>=this.lowValue&&a<=this.highValue)},updateFloorLab:function(){this.translateFn(this.minValue,this.flrLab,"floor"),this.getDimension(this.flrLab);var a=this.options.rightToLeft?this.barDimension-this.flrLab.rzsd:0;this.setPosition(this.flrLab,a)},updateCeilLab:function(){this.translateFn(this.maxValue,this.ceilLab,"ceil"),this.getDimension(this.ceilLab);var a=this.options.rightToLeft?0:this.barDimension-this.ceilLab.rzsd;this.setPosition(this.ceilLab,a)},updateHandles:function(a,b){"lowValue"===a?this.updateLowHandle(b):this.updateHighHandle(b),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCmbLabel()},getHandleLabelPos:function(a,b){var c=this[a].rzsd,d=b-c/2+this.handleHalfDim,e=this.barDimension-c;return this.options.boundPointerLabels?this.options.rightToLeft&&"minLab"===a||!this.options.rightToLeft&&"maxLab"===a?Math.min(d,e):Math.min(Math.max(d,0),e):d},updateLowHandle:function(a){if(this.setPosition(this.minH,a),this.translateFn(this.lowValue,this.minLab,"model"),this.setPosition(this.minLab,this.getHandleLabelPos("minLab",a)),this.options.getPointerColor){var b=this.getPointerColor("min");this.scope.minPointerStyle={backgroundColor:b}}this.options.autoHideLimitLabels&&this.shFloorCeil()},updateHighHandle:function(a){if(this.setPosition(this.maxH,a),this.translateFn(this.highValue,this.maxLab,"high"),this.setPosition(this.maxLab,this.getHandleLabelPos("maxLab",a)),this.options.getPointerColor){var b=this.getPointerColor("max");this.scope.maxPointerStyle={backgroundColor:b}}this.options.autoHideLimitLabels&&this.shFloorCeil()},shFloorCeil:function(){if(!this.options.hidePointerLabels){var a=!1,b=!1,c=this.isLabelBelowFloorLab(this.minLab),d=this.isLabelAboveCeilLab(this.minLab),e=this.isLabelAboveCeilLab(this.maxLab),f=this.isLabelBelowFloorLab(this.cmbLab),g=this.isLabelAboveCeilLab(this.cmbLab);if(c?(a=!0,this.hideEl(this.flrLab)):(a=!1,this.showEl(this.flrLab)),d?(b=!0,this.hideEl(this.ceilLab)):(b=!1,this.showEl(this.ceilLab)),this.range){var h=this.cmbLabelShown?g:e,i=this.cmbLabelShown?f:c;h?this.hideEl(this.ceilLab):b||this.showEl(this.ceilLab),i?this.hideEl(this.flrLab):a||this.showEl(this.flrLab)}}},isLabelBelowFloorLab:function(a){var b=this.options.rightToLeft,c=a.rzsp,d=a.rzsd,e=this.flrLab.rzsp,f=this.flrLab.rzsd;return b?c+d>=e-2:c<=e+f+2},isLabelAboveCeilLab:function(a){var b=this.options.rightToLeft,c=a.rzsp,d=a.rzsd,e=this.ceilLab.rzsp,f=this.ceilLab.rzsd;return b?c<=e+f+2:c+d>=e-2},updateSelectionBar:function(){var a=0,b=0,c=this.options.rightToLeft?!this.options.showSelectionBarEnd:this.options.showSelectionBarEnd,d=this.options.rightToLeft?this.maxH.rzsp+this.handleHalfDim:this.minH.rzsp+this.handleHalfDim;if(this.range)b=Math.abs(this.maxH.rzsp-this.minH.rzsp),a=d;else if(null!==this.options.showSelectionBarFromValue){var e=this.options.showSelectionBarFromValue,f=this.valueToPosition(e),g=this.options.rightToLeft?this.lowValue<=e:this.lowValue>e;g?(b=this.minH.rzsp-f,a=f+this.handleHalfDim):(b=f-this.minH.rzsp,a=this.minH.rzsp+this.handleHalfDim)}else c?(b=Math.abs(this.maxPos-this.minH.rzsp)+this.handleHalfDim,a=this.minH.rzsp+this.handleHalfDim):(b=this.minH.rzsp+this.handleHalfDim,a=0);if(this.setDimension(this.selBar,b),this.setPosition(this.selBar,a),this.range&&this.options.showOuterSelectionBars&&(this.options.rightToLeft?(this.setDimension(this.rightOutSelBar,a),this.setPosition(this.rightOutSelBar,0),this.setDimension(this.leftOutSelBar,this.getDimension(this.fullBar)-(a+b)),this.setPosition(this.leftOutSelBar,a+b)):(this.setDimension(this.leftOutSelBar,a),this.setPosition(this.leftOutSelBar,0),this.setDimension(this.rightOutSelBar,this.getDimension(this.fullBar)-(a+b)),this.setPosition(this.rightOutSelBar,a+b))),this.options.getSelectionBarColor){var h=this.getSelectionBarColor();this.scope.barStyle={backgroundColor:h}}else if(this.options.selectionBarGradient){var i=null!==this.options.showSelectionBarFromValue?this.valueToPosition(this.options.showSelectionBarFromValue):0,j=i-a>0^c,k=this.options.vertical?j?"bottom":"top":j?"left":"right";this.scope.barStyle={backgroundImage:"linear-gradient(to "+k+", "+this.options.selectionBarGradient.from+" 0%,"+this.options.selectionBarGradient.to+" 100%)"},this.options.vertical?(this.scope.barStyle.backgroundPosition="center "+(i+b+a+(j?-this.handleHalfDim:0))+"px",this.scope.barStyle.backgroundSize="100% "+(this.barDimension-this.handleHalfDim)+"px"):(this.scope.barStyle.backgroundPosition=i-a+(j?this.handleHalfDim:0)+"px center",this.scope.barStyle.backgroundSize=this.barDimension-this.handleHalfDim+"px 100%")}},getSelectionBarColor:function(){return this.range?this.options.getSelectionBarColor(this.scope.rzSliderModel,this.scope.rzSliderHigh):this.options.getSelectionBarColor(this.scope.rzSliderModel)},getPointerColor:function(a){return"max"===a?this.options.getPointerColor(this.scope.rzSliderHigh,a):this.options.getPointerColor(this.scope.rzSliderModel,a)},getTickColor:function(a){return this.options.getTickColor(a)},updateCmbLabel:function(){var a=null;if(a=this.options.rightToLeft?this.minLab.rzsp-this.minLab.rzsd-10<=this.maxLab.rzsp:this.minLab.rzsp+this.minLab.rzsd+10>=this.maxLab.rzsp){var b=this.getDisplayValue(this.lowValue,"model"),c=this.getDisplayValue(this.highValue,"high"),d="";d=this.options.mergeRangeLabelsIfSame&&b===c?b:this.options.rightToLeft?c+" - "+b:b+" - "+c,this.translateFn(d,this.cmbLab,"cmb",!1);var e=this.options.boundPointerLabels?Math.min(Math.max(this.selBar.rzsp+this.selBar.rzsd/2-this.cmbLab.rzsd/2,0),this.barDimension-this.cmbLab.rzsd):this.selBar.rzsp+this.selBar.rzsd/2-this.cmbLab.rzsd/2;this.setPosition(this.cmbLab,e),this.cmbLabelShown=!0,this.hideEl(this.minLab),this.hideEl(this.maxLab),this.showEl(this.cmbLab)}else this.cmbLabelShown=!1,this.updateHighHandle(this.valueToPosition(this.highValue)),this.updateLowHandle(this.valueToPosition(this.lowValue)),this.showEl(this.maxLab),this.showEl(this.minLab),this.hideEl(this.cmbLab);this.options.autoHideLimitLabels&&this.shFloorCeil()},getDisplayValue:function(a,b){return this.options.stepsArray&&!this.options.bindIndexForStepsArray&&(a=this.getStepValue(a)),this.customTrFn(a,this.options.id,b)},roundStep:function(a,b){var c=b?b:this.step,d=parseFloat((a-this.minValue)/c).toPrecision(12);d=Math.round(+d)*c;var e=(this.minValue+d).toFixed(this.precision);return+e},hideEl:function(a){return a.css({visibility:"hidden"})},showEl:function(a){return a.rzAlwaysHide?a:a.css({visibility:"visible"})},setPosition:function(a,b){a.rzsp=b;var c={};return c[this.positionProperty]=Math.round(b)+"px",a.css(c),b},getDimension:function(a){var b=a[0].getBoundingClientRect();return this.options.vertical?a.rzsd=(b.bottom-b.top)*this.options.scale:a.rzsd=(b.right-b.left)*this.options.scale,a.rzsd},setDimension:function(a,b){a.rzsd=b;var c={};return c[this.dimensionProperty]=Math.round(b)+"px",a.css(c),b},sanitizeValue:function(a){return Math.min(Math.max(a,this.minValue),this.maxValue)},valueToPosition:function(a){var b=this.linearValueToPosition;this.options.customValueToPosition?b=this.options.customValueToPosition:this.options.logScale&&(b=this.logValueToPosition),a=this.sanitizeValue(a);var c=b(a,this.minValue,this.maxValue)||0;return this.options.rightToLeft&&(c=1-c),c*this.maxPos},linearValueToPosition:function(a,b,c){var d=c-b;return(a-b)/d},logValueToPosition:function(a,b,c){a=Math.log(a),b=Math.log(b),c=Math.log(c);var d=c-b;return(a-b)/d},positionToValue:function(a){var b=a/this.maxPos;this.options.rightToLeft&&(b=1-b);var c=this.linearPositionToValue;return this.options.customPositionToValue?c=this.options.customPositionToValue:this.options.logScale&&(c=this.logPositionToValue),c(b,this.minValue,this.maxValue)||0},linearPositionToValue:function(a,b,c){return a*(c-b)+b},logPositionToValue:function(a,b,c){b=Math.log(b),c=Math.log(c);var d=a*(c-b)+b;return Math.exp(d)},getEventAttr:function(a,b){return void 0===a.originalEvent?a[b]:a.originalEvent[b]},getEventXY:function(a,b){var c=this.options.vertical?"clientY":"clientX";if(void 0!==a[c])return a[c];var d=this.getEventAttr(a,"touches");if(void 0!==b)for(var e=0;e<d.length;e++)if(d[e].identifier===b)return d[e][c];return d[0][c]},getEventPosition:function(a,b){var c=this.sliderElem.rzsp,d=0;return d=this.options.vertical?-this.getEventXY(a,b)+c:this.getEventXY(a,b)-c,d*this.options.scale-this.handleHalfDim},getEventNames:function(a){var b={moveEvent:"",endEvent:""};return this.getEventAttr(a,"touches")?(b.moveEvent="touchmove",b.endEvent="touchend"):(b.moveEvent="mousemove",b.endEvent="mouseup"),b},getNearestHandle:function(a){if(!this.range)return this.minH;var b=this.getEventPosition(a),c=Math.abs(b-this.minH.rzsp),d=Math.abs(b-this.maxH.rzsp);return c<d?this.minH:c>d?this.maxH:this.options.rightToLeft?b>this.minH.rzsp?this.minH:this.maxH:b<this.minH.rzsp?this.minH:this.maxH},focusElement:function(a){var b=0;a[b].focus()},bindEvents:function(){var b,c,d;this.options.draggableRange?(b="rzSliderDrag",c=this.onDragStart,d=this.onDragMove):(b="lowValue",c=this.onStart,d=this.onMove),this.options.onlyBindHandles||(this.selBar.on("mousedown",a.bind(this,c,null,b)),this.selBar.on("mousedown",a.bind(this,d,this.selBar))),this.options.draggableRangeOnly?(this.minH.on("mousedown",a.bind(this,c,null,b)),this.maxH.on("mousedown",a.bind(this,c,null,b))):(this.minH.on("mousedown",a.bind(this,this.onStart,this.minH,"lowValue")),this.range&&this.maxH.on("mousedown",a.bind(this,this.onStart,this.maxH,"highValue")),this.options.onlyBindHandles||(this.fullBar.on("mousedown",a.bind(this,this.onStart,null,null)),this.fullBar.on("mousedown",a.bind(this,this.onMove,this.fullBar)),this.ticks.on("mousedown",a.bind(this,this.onStart,null,null)),this.ticks.on("mousedown",a.bind(this,this.onTickClick,this.ticks)))),this.options.onlyBindHandles||(this.selBar.on("touchstart",a.bind(this,c,null,b)),this.selBar.on("touchstart",a.bind(this,d,this.selBar))),this.options.draggableRangeOnly?(this.minH.on("touchstart",a.bind(this,c,null,b)),this.maxH.on("touchstart",a.bind(this,c,null,b))):(this.minH.on("touchstart",a.bind(this,this.onStart,this.minH,"lowValue")),this.range&&this.maxH.on("touchstart",a.bind(this,this.onStart,this.maxH,"highValue")),this.options.onlyBindHandles||(this.fullBar.on("touchstart",a.bind(this,this.onStart,null,null)),this.fullBar.on("touchstart",a.bind(this,this.onMove,this.fullBar)),this.ticks.on("touchstart",a.bind(this,this.onStart,null,null)),this.ticks.on("touchstart",a.bind(this,this.onTickClick,this.ticks)))),this.options.keyboardSupport&&(this.minH.on("focus",a.bind(this,this.onPointerFocus,this.minH,"lowValue")),this.range&&this.maxH.on("focus",a.bind(this,this.onPointerFocus,this.maxH,"highValue")))},unbindEvents:function(){this.minH.off(),this.maxH.off(),this.fullBar.off(),this.selBar.off(),this.ticks.off()},onStart:function(b,d,e){var f,g,h=this.getEventNames(e);e.preventDefault(),this.calcViewDimensions(),b?this.tracking=d:(b=this.getNearestHandle(e),this.tracking=b===this.minH?"lowValue":"highValue"),b.addClass("rz-active"),this.options.keyboardSupport&&this.focusElement(b),f=a.bind(this,this.dragging.active?this.onDragMove:this.onMove,b),g=a.bind(this,this.onEnd,f),c.on(h.moveEvent,f),c.on(h.endEvent,g),this.endHandlerToBeRemovedOnEnd=g,this.callOnStart();var i=this.getEventAttr(e,"changedTouches");i&&(this.touchId||(this.isDragging=!0,this.touchId=i[0].identifier))},onMove:function(b,c,d){var e,f=this.getEventAttr(c,"changedTouches");if(f)for(var g=0;g<f.length;g++)if(f[g].identifier===this.touchId){e=f[g];break}if(!f||e){var h,i=this.getEventPosition(c,e?e.identifier:void 0),j=this.options.rightToLeft?this.minValue:this.maxValue,k=this.options.rightToLeft?this.maxValue:this.minValue;i<=0?h=k:i>=this.maxPos?h=j:(h=this.positionToValue(i),h=d&&a.isNumber(this.options.showTicks)?this.roundStep(h,this.options.showTicks):this.roundStep(h)),this.positionTrackingHandle(h)}},onEnd:function(a,b){var d=this.getEventAttr(b,"changedTouches");if(!d||d[0].identifier===this.touchId){this.isDragging=!1,this.touchId=null,this.options.keyboardSupport||(this.minH.removeClass("rz-active"),this.maxH.removeClass("rz-active"),this.tracking=""),this.dragging.active=!1;var e=this.getEventNames(b);c.off(e.moveEvent,a),c.off(e.endEvent,this.endHandlerToBeRemovedOnEnd),this.endHandlerToBeRemovedOnEnd=null,this.callOnEnd()}},onTickClick:function(a,b){this.onMove(a,b,!0)},onPointerFocus:function(b,c){this.tracking=c,b.one("blur",a.bind(this,this.onPointerBlur,b)),b.on("keydown",a.bind(this,this.onKeyboardEvent)),b.on("keyup",a.bind(this,this.onKeyUp)),this.firstKeyDown=!0,b.addClass("rz-active"),this.currentFocusElement={pointer:b,ref:c}},onKeyUp:function(){this.firstKeyDown=!0,this.callOnEnd()},onPointerBlur:function(a){a.off("keydown"),a.off("keyup"),a.removeClass("rz-active"),this.isDragging||(this.tracking="",this.currentFocusElement=null)},getKeyActions:function(a){var b=a+this.step,c=a-this.step,d=a+this.valueRange/10,e=a-this.valueRange/10;this.options.reversedControls&&(b=a-this.step,c=a+this.step,d=a-this.valueRange/10,e=a+this.valueRange/10);var f={UP:b,DOWN:c,LEFT:c,RIGHT:b,PAGEUP:d,PAGEDOWN:e,HOME:this.options.reversedControls?this.maxValue:this.minValue,END:this.options.reversedControls?this.minValue:this.maxValue};return this.options.rightToLeft&&(f.LEFT=b,f.RIGHT=c,this.options.vertical&&(f.UP=c,f.DOWN=b)),f},onKeyboardEvent:function(a){var c=this[this.tracking],d=a.keyCode||a.which,e={38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"},f=this.getKeyActions(c),g=e[d],h=f[g];if(null!=h&&""!==this.tracking){a.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.callOnStart());var i=this;b(function(){var a=i.roundStep(i.sanitizeValue(h));if(i.options.draggableRangeOnly){var b,c,d=i.highValue-i.lowValue;"lowValue"===i.tracking?(b=a,c=a+d,c>i.maxValue&&(c=i.maxValue,b=c-d)):(c=a,b=a-d,b<i.minValue&&(b=i.minValue,c=b+d)),i.positionTrackingBar(b,c)}else i.positionTrackingHandle(a)})}},onDragStart:function(a,b,c){var d=this.getEventPosition(c);this.dragging={active:!0,value:this.positionToValue(d),difference:this.highValue-this.lowValue,lowLimit:this.options.rightToLeft?this.minH.rzsp-d:d-this.minH.rzsp,highLimit:this.options.rightToLeft?d-this.maxH.rzsp:this.maxH.rzsp-d},this.onStart(a,b,c)},getValue:function(a,b,c,d){var e=this.options.rightToLeft,f=null;return f="min"===a?c?d?e?this.minValue:this.maxValue-this.dragging.difference:e?this.maxValue-this.dragging.difference:this.minValue:e?this.positionToValue(b+this.dragging.lowLimit):this.positionToValue(b-this.dragging.lowLimit):c?d?e?this.minValue+this.dragging.difference:this.maxValue:e?this.maxValue:this.minValue+this.dragging.difference:e?this.positionToValue(b+this.dragging.lowLimit)+this.dragging.difference:this.positionToValue(b-this.dragging.lowLimit)+this.dragging.difference,this.roundStep(f)},onDragMove:function(a,b){var c,d,e,f,g,h,i,j,k=this.getEventPosition(b);if(this.options.rightToLeft?(e=this.dragging.lowLimit,f=this.dragging.highLimit,i=this.maxH,j=this.minH):(e=this.dragging.highLimit,f=this.dragging.lowLimit,i=this.minH,j=this.maxH),g=k<=f,h=k>=this.maxPos-e,g){if(0===i.rzsp)return;c=this.getValue("min",k,!0,!1),d=this.getValue("max",k,!0,!1)}else if(h){if(j.rzsp===this.maxPos)return;d=this.getValue("max",k,!0,!0),c=this.getValue("min",k,!0,!0)}else c=this.getValue("min",k,!1),d=this.getValue("max",k,!1);this.positionTrackingBar(c,d)},positionTrackingBar:function(a,b){null!=this.options.minLimit&&a<this.options.minLimit&&(a=this.options.minLimit,b=a+this.dragging.difference),null!=this.options.maxLimit&&b>this.options.maxLimit&&(b=this.options.maxLimit,a=b-this.dragging.difference),this.lowValue=a,this.highValue=b,this.applyLowValue(),this.range&&this.applyHighValue(),this.applyModel(!0),this.updateHandles("lowValue",this.valueToPosition(a)),this.updateHandles("highValue",this.valueToPosition(b))},positionTrackingHandle:function(a){var b=!1;a=this.applyMinMaxLimit(a),this.range&&(this.options.pushRange?(a=this.applyPushRange(a),b=!0):(this.options.noSwitching&&("lowValue"===this.tracking&&a>this.highValue?a=this.applyMinMaxRange(this.highValue):"highValue"===this.tracking&&a<this.lowValue&&(a=this.applyMinMaxRange(this.lowValue))),a=this.applyMinMaxRange(a),"lowValue"===this.tracking&&a>this.highValue?(this.lowValue=this.highValue,this.applyLowValue(),this.applyModel(),this.updateHandles(this.tracking,this.maxH.rzsp),this.updateAriaAttributes(),this.tracking="highValue",this.minH.removeClass("rz-active"),this.maxH.addClass("rz-active"),this.options.keyboardSupport&&this.focusElement(this.maxH),b=!0):"highValue"===this.tracking&&a<this.lowValue&&(this.highValue=this.lowValue,this.applyHighValue(),this.applyModel(),this.updateHandles(this.tracking,this.minH.rzsp),this.updateAriaAttributes(),this.tracking="lowValue",this.maxH.removeClass("rz-active"),this.minH.addClass("rz-active"),this.options.keyboardSupport&&this.focusElement(this.minH),b=!0))),this[this.tracking]!==a&&(this[this.tracking]=a,"lowValue"===this.tracking?this.applyLowValue():this.applyHighValue(),this.applyModel(),this.updateHandles(this.tracking,this.valueToPosition(a)),this.updateAriaAttributes(),b=!0),b&&this.applyModel(!0)},applyMinMaxLimit:function(a){return null!=this.options.minLimit&&a<this.options.minLimit?this.options.minLimit:null!=this.options.maxLimit&&a>this.options.maxLimit?this.options.maxLimit:a},applyMinMaxRange:function(a){var b="lowValue"===this.tracking?this.highValue:this.lowValue,c=Math.abs(a-b);return null!=this.options.minRange&&c<this.options.minRange?"lowValue"===this.tracking?this.highValue-this.options.minRange:this.lowValue+this.options.minRange:null!=this.options.maxRange&&c>this.options.maxRange?"lowValue"===this.tracking?this.highValue-this.options.maxRange:this.lowValue+this.options.maxRange:a},applyPushRange:function(a){var b="lowValue"===this.tracking?this.highValue-a:a-this.lowValue,c=null!==this.options.minRange?this.options.minRange:this.options.step,d=this.options.maxRange;return b<c?("lowValue"===this.tracking?(this.highValue=Math.min(a+c,this.maxValue),a=this.highValue-c,this.applyHighValue(),this.updateHandles("highValue",this.valueToPosition(this.highValue))):(this.lowValue=Math.max(a-c,this.minValue),a=this.lowValue+c,this.applyLowValue(),this.updateHandles("lowValue",this.valueToPosition(this.lowValue))),this.updateAriaAttributes()):null!==d&&b>d&&("lowValue"===this.tracking?(this.highValue=a+d,this.applyHighValue(),this.updateHandles("highValue",this.valueToPosition(this.highValue))):(this.lowValue=a-d,this.applyLowValue(),this.updateHandles("lowValue",this.valueToPosition(this.lowValue))),this.updateAriaAttributes()),a},applyModel:function(a){this.internalChange=!0,this.scope.$apply(),a&&this.callOnChange(),this.internalChange=!1},callOnStart:function(){if(this.options.onStart){var a=this,b="lowValue"===this.tracking?"min":"max";this.scope.$evalAsync(function(){a.options.onStart(a.options.id,a.scope.rzSliderModel,a.scope.rzSliderHigh,b)})}},callOnChange:function(){if(this.options.onChange){var a=this,b="lowValue"===this.tracking?"min":"max";this.scope.$evalAsync(function(){a.options.onChange(a.options.id,a.scope.rzSliderModel,a.scope.rzSliderHigh,b)})}},callOnEnd:function(){if(this.options.onEnd){var a=this,b="lowValue"===this.tracking?"min":"max";this.scope.$evalAsync(function(){a.options.onEnd(a.options.id,a.scope.rzSliderModel,a.scope.rzSliderHigh,b)})}this.scope.$emit("slideEnded")}},h}]).directive("rzslider",["RzSlider",function(a){return{restrict:"AE",replace:!0,scope:{rzSliderModel:"=?",rzSliderHigh:"=?",rzSliderOptions:"&?",rzSliderTplUrl:"@"},templateUrl:function(a,b){return b.rzSliderTplUrl||"rzSliderTpl.html"},link:function(b,c){b.slider=new a(b,c)}}}]);return b.run(["$templateCache",function(a){a.put("rzSliderTpl.html",'<div class=rzslider><span class="rz-bar-wrapper rz-left-out-selection"><span class=rz-bar></span></span> <span class="rz-bar-wrapper rz-right-out-selection"><span class=rz-bar></span></span> <span class=rz-bar-wrapper><span class=rz-bar></span></span> <span class=rz-bar-wrapper><span class="rz-bar rz-selection" ng-style=barStyle></span></span> <span class="rz-pointer rz-pointer-min" ng-style=minPointerStyle></span> <span class="rz-pointer rz-pointer-max" ng-style=maxPointerStyle></span> <span class="rz-bubble rz-limit rz-floor"></span> <span class="rz-bubble rz-limit rz-ceil"></span> <span class="rz-bubble rz-model-value"></span> <span class="rz-bubble rz-model-high"></span> <span class=rz-bubble></span><ul ng-show=showTicks class=rz-ticks><li ng-repeat="t in ticks track by $index" class=rz-tick ng-class="{\'rz-selected\': t.selected}" ng-style=t.style ng-attr-uib-tooltip="{{ t.tooltip }}" ng-attr-tooltip-placement={{t.tooltipPlacement}} ng-attr-tooltip-append-to-body="{{ t.tooltip ? true : undefined}}"><span ng-if="t.value != null" class=rz-tick-value ng-attr-uib-tooltip="{{ t.valueTooltip }}" ng-attr-tooltip-placement={{t.valueTooltipPlacement}}>{{ t.value }}</span> <span ng-if="t.legend != null" class=rz-tick-legend>{{ t.legend }}</span></li></ul></div>')}]),b.name}),function(a,b,c){"use strict";function d(b){if(this.support=!("undefined"==typeof File||"undefined"==typeof Blob||"undefined"==typeof FileList||!Blob.prototype.slice&&!Blob.prototype.webkitSlice&&!Blob.prototype.mozSlice),this.support){this.supportDirectory=/Chrome/.test(a.navigator.userAgent)||/Firefox/.test(a.navigator.userAgent)||/Edge/.test(a.navigator.userAgent),this.files=[],this.defaults={chunkSize:1048576,forceChunkSize:!1,simultaneousUploads:3,singleFile:!1,fileParameterName:"file",progressCallbacksInterval:500,speedSmoothingFactor:.1,query:{},headers:{},withCredentials:!1,preprocess:null,method:"multipart",testMethod:"GET",uploadMethod:"POST",prioritizeFirstAndLastChunk:!1,allowDuplicateUploads:!1,target:"/",testChunks:!0,generateUniqueIdentifier:null,maxChunkRetries:0,chunkRetryInterval:null,permanentErrors:[404,413,415,500,501],successStatuses:[200,201,202],onDropStopPropagation:!1,initFileFn:null,readFileFn:f},this.opts={},this.events={};var c=this;this.onDrop=function(a){c.opts.onDropStopPropagation&&a.stopPropagation(),a.preventDefault();var b=a.dataTransfer;b.items&&b.items[0]&&b.items[0].webkitGetAsEntry?c.webkitReadDataTransfer(a):c.addFiles(b.files,a)},this.preventEvent=function(a){a.preventDefault()},this.opts=d.extend({},this.defaults,b||{})}}function e(a,b,d){this.flowObj=a,this.bytes=null,this.file=b,this.name=b.fileName||b.name,
+this.size=b.size,this.relativePath=b.relativePath||b.webkitRelativePath||this.name,this.uniqueIdentifier=d===c?a.generateUniqueIdentifier(b):d,this.chunks=[],this.paused=!1,this.error=!1,this.averageSpeed=0,this.currentSpeed=0,this._lastProgressCallback=Date.now(),this._prevUploadedSize=0,this._prevProgress=0,this.bootstrap()}function f(a,b,c,d,e){var f="slice";a.file.slice?f="slice":a.file.mozSlice?f="mozSlice":a.file.webkitSlice&&(f="webkitSlice"),e.readFinished(a.file[f](b,c,d))}function g(a,b,c){this.flowObj=a,this.fileObj=b,this.offset=c,this.tested=!1,this.retries=0,this.pendingRetry=!1,this.preprocessState=0,this.readState=0,this.loaded=0,this.total=0,this.chunkSize=this.flowObj.opts.chunkSize,this.startByte=this.offset*this.chunkSize,this.computeEndByte=function(){var a=Math.min(this.fileObj.size,(this.offset+1)*this.chunkSize);return this.fileObj.size-a<this.chunkSize&&!this.flowObj.opts.forceChunkSize&&(a=this.fileObj.size),a},this.endByte=this.computeEndByte(),this.xhr=null;var d=this;this.event=function(a,b){b=Array.prototype.slice.call(arguments),b.unshift(d),d.fileObj.chunkEvent.apply(d.fileObj,b)},this.progressHandler=function(a){a.lengthComputable&&(d.loaded=a.loaded,d.total=a.total),d.event("progress",a)},this.testHandler=function(a){var b=d.status(!0);"error"===b?(d.event(b,d.message()),d.flowObj.uploadNextChunk()):"success"===b?(d.tested=!0,d.event(b,d.message()),d.flowObj.uploadNextChunk()):d.fileObj.paused||(d.tested=!0,d.send())},this.doneHandler=function(a){var b=d.status();if("success"===b||"error"===b)delete this.data,d.event(b,d.message()),d.flowObj.uploadNextChunk();else{d.event("retry",d.message()),d.pendingRetry=!0,d.abort(),d.retries++;var c=d.flowObj.opts.chunkRetryInterval;null!==c?setTimeout(function(){d.send()},c):d.send()}}}function h(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}function i(a,b){return"function"==typeof a&&(b=Array.prototype.slice.call(arguments),a=a.apply(null,b.slice(1))),a}function j(a,b){setTimeout(a.bind(b),0)}function k(a,b){return l(arguments,function(b){b!==a&&l(b,function(b,c){a[c]=b})}),a}function l(a,b,c){if(a){var d;if("undefined"!=typeof a.length){for(d=0;d<a.length;d++)if(b.call(c,a[d],d)===!1)return}else for(d in a)if(a.hasOwnProperty(d)&&b.call(c,a[d],d)===!1)return}}var m=a.navigator.msPointerEnabled;d.prototype={on:function(a,b){a=a.toLowerCase(),this.events.hasOwnProperty(a)||(this.events[a]=[]),this.events[a].push(b)},off:function(a,b){a!==c?(a=a.toLowerCase(),b!==c?this.events.hasOwnProperty(a)&&h(this.events[a],b):delete this.events[a]):this.events={}},fire:function(a,b){b=Array.prototype.slice.call(arguments),a=a.toLowerCase();var c=!1;return this.events.hasOwnProperty(a)&&l(this.events[a],function(a){c=a.apply(this,b.slice(1))===!1||c},this),"catchall"!=a&&(b.unshift("catchAll"),c=this.fire.apply(this,b)===!1||c),!c},webkitReadDataTransfer:function(a){function b(a){a.readEntries(function(f){f.length?(g+=f.length,l(f,function(a){if(a.isFile){var e=a.fullPath;a.file(function(a){c(a,e)},d)}else a.isDirectory&&b(a.createReader())}),b(a)):e()},d)}function c(a,b){a.relativePath=b.substring(1),h.push(a),e()}function d(a){throw a}function e(){0==--g&&f.addFiles(h,a)}var f=this,g=a.dataTransfer.items.length,h=[];l(a.dataTransfer.items,function(a){var d=a.webkitGetAsEntry();return d?void(d.isFile?c(a.getAsFile(),d.fullPath):b(d.createReader())):void e()})},generateUniqueIdentifier:function(a){var b=this.opts.generateUniqueIdentifier;if("function"==typeof b)return b(a);var c=a.relativePath||a.webkitRelativePath||a.fileName||a.name;return a.size+"-"+c.replace(/[^0-9a-zA-Z_-]/gim,"")},uploadNextChunk:function(a){var b=!1;if(this.opts.prioritizeFirstAndLastChunk&&(l(this.files,function(a){return!a.paused&&a.chunks.length&&"pending"===a.chunks[0].status()?(a.chunks[0].send(),b=!0,!1):!a.paused&&a.chunks.length>1&&"pending"===a.chunks[a.chunks.length-1].status()?(a.chunks[a.chunks.length-1].send(),b=!0,!1):void 0}),b))return b;if(l(this.files,function(a){if(a.paused||l(a.chunks,function(a){if("pending"===a.status())return a.send(),b=!0,!1}),b)return!1}),b)return!0;var c=!1;return l(this.files,function(a){if(!a.isComplete())return c=!0,!1}),c||a||j(function(){this.fire("complete")},this),!1},assignBrowse:function(a,c,d,e){a instanceof Element&&(a=[a]),l(a,function(a){var f;"INPUT"===a.tagName&&"file"===a.type?f=a:(f=b.createElement("input"),f.setAttribute("type","file"),k(f.style,{visibility:"hidden",position:"absolute",width:"1px",height:"1px"}),a.appendChild(f),a.addEventListener("click",function(){f.click()},!1)),this.opts.singleFile||d||f.setAttribute("multiple","multiple"),c&&f.setAttribute("webkitdirectory","webkitdirectory"),l(e,function(a,b){f.setAttribute(b,a)});var g=this;f.addEventListener("change",function(a){a.target.value&&(g.addFiles(a.target.files,a),a.target.value="")},!1)},this)},assignDrop:function(a){"undefined"==typeof a.length&&(a=[a]),l(a,function(a){a.addEventListener("dragover",this.preventEvent,!1),a.addEventListener("dragenter",this.preventEvent,!1),a.addEventListener("drop",this.onDrop,!1)},this)},unAssignDrop:function(a){"undefined"==typeof a.length&&(a=[a]),l(a,function(a){a.removeEventListener("dragover",this.preventEvent),a.removeEventListener("dragenter",this.preventEvent),a.removeEventListener("drop",this.onDrop)},this)},isUploading:function(){var a=!1;return l(this.files,function(b){if(b.isUploading())return a=!0,!1}),a},_shouldUploadNext:function(){var a=0,b=!0,c=this.opts.simultaneousUploads;return l(this.files,function(d){l(d.chunks,function(d){if("uploading"===d.status()&&(a++,a>=c))return b=!1,!1})}),b&&a},upload:function(){var a=this._shouldUploadNext();if(a!==!1){this.fire("uploadStart");for(var b=!1,c=1;c<=this.opts.simultaneousUploads-a;c++)b=this.uploadNextChunk(!0)||b;b||j(function(){this.fire("complete")},this)}},resume:function(){l(this.files,function(a){a.isComplete()||a.resume()})},pause:function(){l(this.files,function(a){a.pause()})},cancel:function(){for(var a=this.files.length-1;a>=0;a--)this.files[a].cancel()},progress:function(){var a=0,b=0;return l(this.files,function(c){a+=c.progress()*c.size,b+=c.size}),b>0?a/b:0},addFile:function(a,b){this.addFiles([a],b)},addFiles:function(a,b){var c=[];l(a,function(a){if((!m||m&&a.size>0)&&(a.size%4096!==0||"."!==a.name&&"."!==a.fileName)){var d=this.generateUniqueIdentifier(a);if(this.opts.allowDuplicateUploads||!this.getFromUniqueIdentifier(d)){var f=new e(this,a,d);this.fire("fileAdded",f,b)&&c.push(f)}}},this),this.fire("filesAdded",c,b)&&(l(c,function(a){this.opts.singleFile&&this.files.length>0&&this.removeFile(this.files[0]),this.files.push(a)},this),this.fire("filesSubmitted",c,b))},removeFile:function(a){for(var b=this.files.length-1;b>=0;b--)this.files[b]===a&&(this.files.splice(b,1),a.abort(),this.fire("fileRemoved",a))},getFromUniqueIdentifier:function(a){var b=!1;return l(this.files,function(c){c.uniqueIdentifier===a&&(b=c)}),b},getSize:function(){var a=0;return l(this.files,function(b){a+=b.size}),a},sizeUploaded:function(){var a=0;return l(this.files,function(b){a+=b.sizeUploaded()}),a},timeRemaining:function(){var a=0,b=0;return l(this.files,function(c){c.paused||c.error||(a+=c.size-c.sizeUploaded(),b+=c.averageSpeed)}),a&&!b?Number.POSITIVE_INFINITY:a||b?Math.floor(a/b):0}},e.prototype={measureSpeed:function(){var a=Date.now()-this._lastProgressCallback;if(a){var b=this.flowObj.opts.speedSmoothingFactor,c=this.sizeUploaded();this.currentSpeed=Math.max((c-this._prevUploadedSize)/a*1e3,0),this.averageSpeed=b*this.currentSpeed+(1-b)*this.averageSpeed,this._prevUploadedSize=c}},chunkEvent:function(a,b,c){switch(b){case"progress":if(Date.now()-this._lastProgressCallback<this.flowObj.opts.progressCallbacksInterval)break;this.measureSpeed(),this.flowObj.fire("fileProgress",this,a),this.flowObj.fire("progress"),this._lastProgressCallback=Date.now();break;case"error":this.error=!0,this.abort(!0),this.flowObj.fire("fileError",this,c,a),this.flowObj.fire("error",c,this,a);break;case"success":if(this.error)return;this.measureSpeed(),this.flowObj.fire("fileProgress",this,a),this.flowObj.fire("progress"),this._lastProgressCallback=Date.now(),this.isComplete()&&(this.currentSpeed=0,this.averageSpeed=0,this.flowObj.fire("fileSuccess",this,c,a));break;case"retry":this.flowObj.fire("fileRetry",this,a)}},pause:function(){this.paused=!0,this.abort()},resume:function(){this.paused=!1,this.flowObj.upload()},abort:function(a){this.currentSpeed=0,this.averageSpeed=0;var b=this.chunks;a&&(this.chunks=[]),l(b,function(a){"uploading"===a.status()&&(a.abort(),this.flowObj.uploadNextChunk())},this)},cancel:function(){this.flowObj.removeFile(this)},retry:function(){this.bootstrap(),this.flowObj.upload()},bootstrap:function(){"function"==typeof this.flowObj.opts.initFileFn&&this.flowObj.opts.initFileFn(this),this.abort(!0),this.error=!1,this._prevProgress=0;for(var a=this.flowObj.opts.forceChunkSize?Math.ceil:Math.floor,b=Math.max(a(this.size/this.flowObj.opts.chunkSize),1),c=0;c<b;c++)this.chunks.push(new g(this.flowObj,this,c))},progress:function(){if(this.error)return 1;if(1===this.chunks.length)return this._prevProgress=Math.max(this._prevProgress,this.chunks[0].progress()),this._prevProgress;var a=0;l(this.chunks,function(b){a+=b.progress()*(b.endByte-b.startByte)});var b=a/this.size;return this._prevProgress=Math.max(this._prevProgress,b>.9999?1:b),this._prevProgress},isUploading:function(){var a=!1;return l(this.chunks,function(b){if("uploading"===b.status())return a=!0,!1}),a},isComplete:function(){var a=!1;return l(this.chunks,function(b){var c=b.status();if("pending"===c||"uploading"===c||"reading"===c||1===b.preprocessState||1===b.readState)return a=!0,!1}),!a},sizeUploaded:function(){var a=0;return l(this.chunks,function(b){a+=b.sizeUploaded()}),a},timeRemaining:function(){if(this.paused||this.error)return 0;var a=this.size-this.sizeUploaded();return a&&!this.averageSpeed?Number.POSITIVE_INFINITY:a||this.averageSpeed?Math.floor(a/this.averageSpeed):0},getType:function(){return this.file.type&&this.file.type.split("/")[1]},getExtension:function(){return this.name.substr((~-this.name.lastIndexOf(".")>>>0)+2).toLowerCase()}},g.prototype={getParams:function(){return{flowChunkNumber:this.offset+1,flowChunkSize:this.flowObj.opts.chunkSize,flowCurrentChunkSize:this.endByte-this.startByte,flowTotalSize:this.fileObj.size,flowIdentifier:this.fileObj.uniqueIdentifier,flowFilename:this.fileObj.name,flowRelativePath:this.fileObj.relativePath,flowTotalChunks:this.fileObj.chunks.length}},getTarget:function(a,b){return a+=a.indexOf("?")<0?"?":"&",a+b.join("&")},test:function(){this.xhr=new XMLHttpRequest,this.xhr.addEventListener("load",this.testHandler,!1),this.xhr.addEventListener("error",this.testHandler,!1);var a=i(this.flowObj.opts.testMethod,this.fileObj,this),b=this.prepareXhrRequest(a,!0);this.xhr.send(b)},preprocessFinished:function(){this.endByte=this.computeEndByte(),this.preprocessState=2,this.send()},readFinished:function(a){this.readState=2,this.bytes=a,this.send()},send:function(){var a=this.flowObj.opts.preprocess,b=this.flowObj.opts.readFileFn;if("function"==typeof a)switch(this.preprocessState){case 0:return this.preprocessState=1,void a(this);case 1:return}switch(this.readState){case 0:return this.readState=1,void b(this.fileObj,this.startByte,this.endByte,this.fileObj.file.type,this);case 1:return}if(this.flowObj.opts.testChunks&&!this.tested)return void this.test();this.loaded=0,this.total=0,this.pendingRetry=!1,this.xhr=new XMLHttpRequest,this.xhr.upload.addEventListener("progress",this.progressHandler,!1),this.xhr.addEventListener("load",this.doneHandler,!1),this.xhr.addEventListener("error",this.doneHandler,!1);var c=i(this.flowObj.opts.uploadMethod,this.fileObj,this),d=this.prepareXhrRequest(c,!1,this.flowObj.opts.method,this.bytes);this.xhr.send(d)},abort:function(){var a=this.xhr;this.xhr=null,a&&a.abort()},status:function(a){return 1===this.readState?"reading":this.pendingRetry||1===this.preprocessState?"uploading":this.xhr?this.xhr.readyState<4?"uploading":this.flowObj.opts.successStatuses.indexOf(this.xhr.status)>-1?"success":this.flowObj.opts.permanentErrors.indexOf(this.xhr.status)>-1||!a&&this.retries>=this.flowObj.opts.maxChunkRetries?"error":(this.abort(),"pending"):"pending"},message:function(){return this.xhr?this.xhr.responseText:""},progress:function(){if(this.pendingRetry)return 0;var a=this.status();return"success"===a||"error"===a?1:"pending"===a?0:this.total>0?this.loaded/this.total:0},sizeUploaded:function(){var a=this.endByte-this.startByte;return"success"!==this.status()&&(a=this.progress()*a),a},prepareXhrRequest:function(a,b,c,d){var e=i(this.flowObj.opts.query,this.fileObj,this,b);e=k(e,this.getParams());var f=i(this.flowObj.opts.target,this.fileObj,this,b),g=null;if("GET"===a||"octet"===c){var h=[];l(e,function(a,b){h.push([encodeURIComponent(b),encodeURIComponent(a)].join("="))}),f=this.getTarget(f,h),g=d||null}else g=new FormData,l(e,function(a,b){g.append(b,a)}),"undefined"!=typeof d&&g.append(this.flowObj.opts.fileParameterName,d,this.fileObj.file.name);return this.xhr.open(a,f,!0),this.xhr.withCredentials=this.flowObj.opts.withCredentials,l(i(this.flowObj.opts.headers,this.fileObj,this,b),function(a,b){this.xhr.setRequestHeader(b,a)},this),g}},d.evalOpts=i,d.extend=k,d.each=l,d.FlowFile=e,d.FlowChunk=g,d.version="2.13.0","object"==typeof module&&module&&"object"==typeof module.exports?module.exports=d:(a.Flow=d,"function"==typeof define&&define.amd&&define("flow",[],function(){return d}))}(window,document),angular.module("flow.provider",[]).provider("flowFactory",function(){"use strict";this.defaults={},this.factory=function(a){return new Flow(a)},this.events=[],this.on=function(a,b){this.events.push([a,b])},this.$get=function(){var a=this.factory,b=this.defaults,c=this.events;return{create:function(d){var e=a(angular.extend({},b,d));return angular.forEach(c,function(a){e.on(a[0],a[1])}),e}}}}),angular.module("flow.init",["flow.provider"]).controller("flowCtrl",["$scope","$attrs","$parse","flowFactory",function(a,b,c,d){var e=angular.extend({},a.$eval(b.flowInit)),f=a.$eval(b.flowObject)||d.create(e),g=function(b){var c=Array.prototype.slice.call(arguments);c.shift();var d=a.$broadcast.apply(a,["flow::"+b,f].concat(c));if({progress:1,filesSubmitted:1,fileSuccess:1,fileError:1,complete:1}[b]&&a.$applyAsync(),d.defaultPrevented)return!1};f.on("catchAll",g),a.$on("$destroy",function(){f.off("catchAll",g)}),a.$flow=f,b.hasOwnProperty("flowName")&&(c(b.flowName).assign(a,f),a.$on("$destroy",function(){c(b.flowName).assign(a)}))}]).directive("flowInit",[function(){return{scope:!0,controller:"flowCtrl"}}]),angular.module("flow.btn",["flow.init"]).directive("flowBtn",[function(){return{restrict:"EA",scope:!1,require:"^flowInit",link:function(a,b,c){var d=c.hasOwnProperty("flowDirectory"),e=c.hasOwnProperty("flowSingleFile"),f=c.hasOwnProperty("flowAttrs")&&a.$eval(c.flowAttrs);a.$flow.assignBrowse(b,d,e,f)}}}]),angular.module("flow.dragEvents",["flow.init"]).directive("flowPreventDrop",function(){return{scope:!1,link:function(a,b,c){b.bind("drop dragover",function(a){a.preventDefault()})}}}).directive("flowDragEnter",["$timeout",function(a){return{scope:!1,link:function(b,c,d){function e(a){var b=!1,c=a.dataTransfer||a.originalEvent.dataTransfer;return angular.forEach(c&&c.types,function(a){"Files"===a&&(b=!0)}),b}var f,g=!1;c.bind("dragover",function(c){e(c)&&(g||(b.$apply(d.flowDragEnter),g=!0),a.cancel(f),c.preventDefault())}),c.bind("dragleave drop",function(c){a.cancel(f),f=a(function(){b.$eval(d.flowDragLeave),f=null,g=!1},100)})}}}]),angular.module("flow.drop",["flow.init"]).directive("flowDrop",function(){return{scope:!1,require:"^flowInit",link:function(a,b,c){function d(){a.$flow.assignDrop(b)}function e(){a.$flow.unAssignDrop(b)}c.flowDropEnabled?a.$watch(c.flowDropEnabled,function(a){a?d():e()}):d()}}}),!function(a){"use strict";function b(a){return a.charAt(0).toUpperCase()+a.slice(1)}var c=a.module("flow.events",["flow.init"]),d={fileSuccess:["$file","$message"],fileProgress:["$file"],fileAdded:["$file","$event"],filesAdded:["$files","$event"],filesSubmitted:["$files","$event"],fileRetry:["$file"],fileRemoved:["$file"],fileError:["$file","$message"],uploadStart:[],complete:[],progress:[],error:["$message","$file"]};a.forEach(d,function(d,e){var f="flow"+b(e);"flowUploadStart"==f&&(f="flowUploadStarted"),c.directive(f,[function(){return{require:"^flowInit",controller:["$scope","$attrs",function(b,c){b.$on("flow::"+e,function(){var e=Array.prototype.slice.call(arguments),g=e.shift();if(b.$flow===e.shift()){var h={};a.forEach(d,function(a,b){h[a]=e[b]}),b.$eval(c[f],h)===!1&&g.preventDefault()}})}]}}])})}(angular),angular.module("flow.img",["flow.init"]).directive("flowImg",[function(){return{scope:!1,require:"^flowInit",link:function(a,b,c){var d=c.flowImg;a.$watch(d,function(b){if(b){var d=new FileReader;d.readAsDataURL(b.file),d.onload=function(b){a.$apply(function(){c.$set("src",b.target.result)})}}})}}}]),angular.module("flow.transfers",["flow.init"]).directive("flowTransfers",[function(){return{scope:!0,require:"^flowInit",link:function(a){a.transfers=a.$flow.files}}}]),angular.module("flow",["flow.provider","flow.init","flow.events","flow.btn","flow.drop","flow.transfers","flow.img","flow.dragEvents"]),window.Q=function(a,b,c){"use strict";function d(a,b,c){if(a.hasChildren()){var e=a._fw||a.getChildren();if(e){e=e._k7||e;for(var f=0,g=e.length;g>f;f++)if(b.call(c,e[f])===!1||d(e[f],b,c)===!1)return!1;return!0}}}function e(a){if(!a.hasChildren())return a instanceof wh?a:null;for(var b,c=a._fw._k7,d=c.length-1;d>=0;){if(b=c[d],b=e(b))return b;d--}return null}function f(a,b,c,d){return d?g(a,b,c):h(a,b,c)}function g(a,b,c){a=a._k7||a;for(var d,e=0,f=a.length;f>e;e++)if(d=a[e],d.hasChildren()&&!g(d.children,b,c)||b.call(c,d)===!1)return!1;return!0}function h(a,b,c){a=a._k7||a;for(var d,e=0,f=a.length;f>e;e++)if(d=a[e],b.call(c,d)===!1||d.hasChildren()&&!h(d.children,b,c))return!1;return!0}function i(a,b,c,d){return d?j(a,b,c):k(a,b,c)}function j(a,b,c){a=a._k7||a;for(var d,e=a.length,f=e-1;f>=0;f--)if(d=a[f],d.hasChildren()&&!j(d.children,b,c)||b.call(c,d)===!1)return!1;return!0}function k(a,b,c){a=a._k7||a;for(var d,e=a.length,f=e-1;f>=0;f--)if(d=a[f],b.call(c,d)===!1||d.hasChildren()&&!k(d.children,b,c))return!1;return!0}function l(a,b,c){for(var d,e=(a._k7||a).slice(0);e.length;){d=e[0],e=e.splice(1);var f=b.call(c,d);if(f===!1)return!1;if(d.hasChildren()){var g=d.children;g=g._k7||g,e=e.concat(g)}}return!0}function m(a,b,c){for(var d,e=(a._k7||a).slice(0);e.length;){d=e[e.length-1],e=e.splice(0,e.length-1);var f=b.call(c,d);if(f===!1)return!1;if(d.hasChildren()){var g=d.children;g=g._k7||g,e=e.concat(g)}}return!0}function n(a,b){function c(a,c){for(var d=a.length,e=c.length,f=d+e,g=new Array(f),h=0,i=0,j=0;f>j;)g[j++]=h===d?c[i++]:i===e||b(a[h],c[i])<=0?a[h++]:c[i++];return g}function d(a){var b=a.length,e=Math.ceil(b/2);return 1>=b?a:c(d(a.slice(0,e)),d(a.slice(e)))}return d(a)}function o(a,b,c,d){a instanceof Se&&(a=a._k7);for(var e=0,f=(a._k7||a).length;f>e;e++){var g=b.call(c,a[e],e,d);if(g===!1)return!1}return!0}function p(a,b,c){for(var d=a instanceof Se,e=a._k7||a,f=0,g=e.length;g>f;f++){var h=e[f];b.call(c,h)&&(d?a.remove(h):a.splice(f,1),f--,g--)}}function q(a,b,c,d){a instanceof Se&&(a=a._k7);for(var e=(a._k7||a).length-1;e>=0;e--){var f=b.call(c,a[e],e,d);if(f===!1)return!1}return!0}function r(a){if(a.clone instanceof Function)return a.clone(!0);var b,c=[];return o(a,function(a){b=a&&a.clone instanceof Function?a.clone():a,c.push(b)},this),c}function s(a,b,d){d===c||0>d?a.push(b):a.splice(d,0,b)}function t(a,b){var c=a.indexOf(b);return!(0>c||c>=a.length)&&a.splice(c,1)}function u(a,b){var c=!1;return o(a,function(a){return b==a?(c=!0,!1):void 0}),c}function v(a,b){var c=a;for(var d in b)if(b.__lookupGetter__){var e=b.__lookupGetter__(d),f=b.__lookupSetter__(d);e||f?(e&&c.__defineGetter__(d,e),f&&c.__defineSetter__(d,f)):c[d]=b[d]}else c[d]=b[d];return c}function w(a,b,c){if(!(a instanceof Function))throw new Error("subclass must be type of Function");var d=null;"object"==typeof b&&(d=b,b=a,a=function(){b.apply(this,arguments)});var e=a.prototype,f=function(){};return f.prototype=b.prototype,a.prototype=new f,a.superclass=b.prototype,a.superclass.constructor=b,v(a.prototype,e),d&&v(a.prototype,d),c&&v(a.prototype,c),a.prototype["class"]=a,a}function x(a,b,c){return y(a,b,"constructor",c)}function y(a,b,c,d){var e=b.superclass;if(e){var f=e[c];return f?f.apply(a,d):void 0}}function z(a,b,c,d){if("constructor"==c)return A(a,b,d);if(b.super_ instanceof Function){var e=b.super_.prototype[c];return e instanceof Function?e.apply(a,d):void 0}}function A(a,b,c){return b.super_ instanceof Function?b.super_.apply(a,c):void 0}function B(a,b){return a.super_=b,a.prototype=Object.create(b.prototype,{super_:{value:b,enumerable:!1},constructor:{value:a,enumerable:!1}}),a}function C(a,b,c){if(!(a instanceof Function)&&a instanceof Object){b=a["super"];var d;return a.hasOwnProperty("constructor")?(d=a.constructor,delete a.constructor):d=b?function(){b.apply(this,arguments)}:function(){},C(d,b,a)}if(b&&!(b instanceof Function)&&b instanceof Object)return C(a,b["super"],b);if(b&&B(a,b),c){var e=a.prototype;for(var f in c)e[f]=c[f]}return a}function D(a,b,d,e,f){if(e)return void Object.defineProperty(a,b,{value:d,enumerable:!0});var g={configurable:!0,enumerable:!0},h="$"+b;d!==c&&(a[h]=d),g.get=function(){return this[h]},g.set=function(a){var c=this[h];if(c==a)return!1;var d=new kf(this,b,a,c);return!!this.beforeEvent(d)&&(this[h]=a,f&&f.call(this,a,c),this.onEvent(d),!0)},Object.defineProperty(a,b,g)}function E(a,b){for(var c=0,d=b.length;d>c;c++){var e=b[c];D(a,e.name||e,e.defaultValue||e.value,e.readOnly,e.onSetting)}}function F(a,b,c){return b instanceof Object?a=a.bind(b):b&&!c&&(c=parseInt(b)),b&&!c&&(c=parseInt(b)),c?setTimeout(a,c):setTimeout(a)}function G(b,c){return c&&(b=b.bind(c)),a.requestAnimationFrame(b)}function H(a,b){return a.className=b,a}function I(a,b){if(!a.hasOwnProperty("classList")){var c=a.getAttribute("class");if(!c)return H(a,b);for(var d=c.split(" "),e=0,f=d.length;f>e;e++)if(d[e]==b)return;return c+=" "+b,H(a,c)}a.classList.add(b)}function J(a,b){if(!a.hasOwnProperty("classList")){var c=a.getAttribute("class");if(!c||!c.indexOf(b))return;for(var d="",e=c.split(" "),f=0,g=e.length;g>f;f++)e[f]!=b&&(d+=e[f]+" ");return H(a,d)}a.classList.remove(b)}function K(a){return!isNaN(a)&&a instanceof Number||"number"==typeof a}function L(a){return a!==c&&(a instanceof String||"string"==typeof a)}function M(a){return a!==c&&(a instanceof Boolean||"boolean"==typeof a)}function N(a){return Array.isArray(a)}function O(b){b||(b=a.event),b.preventDefault?b.preventDefault():b.returnValue=!1}function P(b){b||(b=a.event),b.stopPropagation?b.stopPropagation():b.cancelBubble||(b.cancelBubble=!0)}function Q(a){O(a),P(a)}function R(a){return Math.floor(Math.random()*a)}function S(){return Math.random()>=.5}function T(a){var b=!0;for(var c in a){b=!1;break}return b}function U(a){if(a&&a>0&&1>a){var b=Math.floor(16777215*Math.random());return"rgba("+(b>>16&255)+","+(b>>8&255)+","+(255&b)+","+a.toFixed(2)+")"}return X(Math.floor(16777215*Math.random()))}function V(a){return a>0?Math.floor(a):Math.ceil(a)}function W(a){return a>0?Math.ceil(a):Math.floor(a)}function X(a){return 16777216>a?"#"+("000000"+a.toString(16)).slice(-6):"rgba("+(a>>16&255)+","+(a>>8&255)+","+(255&a)+","+((a>>24&255)/255).toFixed(2)+")"}function Y(a,b,c){"object"!=typeof c||c.hasOwnProperty("enumerable")||(c.enumerable=!0),Object.defineProperty(a,b,c)}function Z(a,b){for(var c in b)if("_"!=c[0]){var d=b[c];"object"!=typeof d||d.hasOwnProperty("enumerable")||(d.enumerable=!0)}Object.defineProperties(a,b)}function $(b,c){c||(c=a);for(var d=b.split("."),e=0,f=d.length;f>e;e++){var g=d[e];c=c[g]}return c}function _(a){return a instanceof MouseEvent||a instanceof Object&&a.touches!==c}function aa(b){a.console&&console.log(b)}function ba(b){a.console&&console.trace(b)}function ca(b){a.console&&console.error(b)}function da(a,b,c){var d,e,f;0==a._mw?(d=-1,f=0,e=b):0==a._mz?(d=0,f=1,e=c):(d=-1/a._mw,e=(a._mw-d)*b+a._mx,f=1);var g=new Xe;return g._mw=d,g._mx=e,g._mz=f,g._mv=b,g._mt=c,g._l6=Math.atan2(d,f),g._mzos=Math.cos(g._l6),g._sin=Math.sin(g._l6),g}function ea(a,b,c,d,e){var f,g;b>d?f=-1:d>b&&(f=1),c>e?g=-1:e>c&&(g=1);var h,i;if(!f)return i=0>g?a.y:a.bottom,{x:b,y:i};if(!g)return h=0>f?a.x:a.right,{x:h,y:c};var j=(c-e)/(b-d),k=c-j*b,l=0>f?b-a.x:b-a.right,m=0>g?c-a.y:c-a.bottom;return Math.abs(j)>=Math.abs(m/l)?(i=0>g?a.y:a.bottom,h=(i-k)/j):(h=0>f?a.x:a.right,i=j*h+k),{x:h,y:i}}function fa(a,b,c,d,e,f,g,h){return!(0>=g||0>=h||0>=c||0>=d)&&(g+=e,h+=f,c+=a,d+=b,(e>g||g>a)&&(f>h||h>b)&&(a>c||c>e)&&(b>d||d>f))}function ga(a,b,c,d,e,f){return e>=a&&a+c>=e&&f>=b&&b+d>=f}function ha(a,b,c,d,e,f,g,h,i){return i&&(a-=i,b-=i,c+=i+i,d+=i+i),e>=a&&f>=b&&a+c>=e+g&&b+d>=f+h}function ia(a,b,c,d,e,f,g,h){var i=a;i+=c;var j=b;j+=d;var k=e;k+=g;var l=f;return l+=h,e>a&&(a=e),f>b&&(b=f),i>k&&(i=k),j>l&&(j=l),i-=a,j-=b,0>i||0>j?null:new Ze(a,b,i,j)}function ja(a,b,d){if(L(a)&&(a=_e.fromString(a)),!a)return{x:0,y:0};if(a.x!==c)return{x:a.x,y:a.y};var e,f,g=a.horizontalPosition,h=a.verticalPosition;switch(g){case af:e=0;break;case cf:e=b;break;default:e=b/2}switch(h){case df:f=0;break;case ff:f=d;break;default:f=d/2}return{x:e,y:f}}function ka(a,b,c){a.children.add(b,c),a.onChildAdd(b,c)}function la(a,b){a._fw&&(a._fw.remove(b),a.onChildRemove(b))}function ma(a){return a.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(a,b){return b.toUpperCase()})}function na(a){return a.replace(/[A-Z]/g,function(a){return"-"+a.toLowerCase()}).replace(/^ms-/,"-ms-")}function oa(a,b){var c=a.style;if(!c)return!1;var d,e;for(d in b)b.hasOwnProperty(d)&&(e=Af(d))&&(c[e]=b[d]);return a}function pa(a){var b,c,d="";for(b in a)a.hasOwnProperty(b)&&(c=Af(b))&&(d+=na(c)+":"+a[b]+";");return d?d.substring(0,d.length-1):d}function qa(a,b,c){(b=Af(b))&&(a.style[b]=c)}function ra(a,b){return!!yf&&(b&&!L(b)&&(b=pa(b)),yf.insertRule?void yf.insertRule(a+"{"+b+"}",0):void(yf.addRule&&yf.addRule(a,b,0)))}function sa(b,c){b.touches&&(b=b.changedTouches&&b.changedTouches.length?b.changedTouches[0]:b.touches[0]);var d=c.getBoundingClientRect(),e=b.clientX||0,f=b.clientY||0;return Pe&&Ke&&(a.pageXOffset&&e==b.pageX&&(e-=a.pageXOffset),a.pageYOffset&&f==b.pageY&&(f-=a.pageYOffset)),{x:e-d.left,y:f-d.top}}function ta(a,b,c){this._m1=a,this._scope=c,this._handler=b,this._dragPoints=new va,this._install()}function ua(a){return Le&&a.metaKey||!Le&&a.ctrlKey}function va(){this.points=[]}function wa(a,b,c,d,e){ya(a,function(d){if(b){var e=d.responseXML;if(!e)return void(c||eg)("'"+a+"' XML format error.");b(e)}},c,d,e)}function xa(a,b,c,d,e){ya(a,function(d){if(b){var e,f=d.responseText;if(!f)return(c||eg)("'"+a+"' JSON format error."),e=new Error("'"+a+"' JSON format error."),b(f,e);try{f=JSON.parse(f)}catch(g){(c||eg)(g),e=g}b(f,e)}},c,d,e)}function ya(a,b,c,d,e){(c===!1||d===!1)&&(e=!1);try{var f=new XMLHttpRequest,g=encodeURI(a);if(e!==!1){var h;h=g.indexOf("?")>0?"&":"?",g+=h+"__time="+Date.now()}f.open("GET",g),f.onreadystatechange=function(){return 4==f.readyState?f.status&&200!=f.status?void(c||eg)("'"+a+"' load error"):void(b&&b(f)):void 0},f.send(d)}catch(i){(c||eg)("'"+a+"' load error",i)}}function fa(a,b,c,d,e,f,g,h){return!(0>=g||0>=h||0>=c||0>=d)&&(g+=e,h+=f,c+=a,d+=b,(e>g||g>a)&&(f>h||h>b)&&(a>c||c>e)&&(b>d||d>f))}function ha(a,b,c,d,e,f,g,h){return e>=a&&f>=b&&a+c>=e+g&&b+d>=f+h}function za(a,b,c){return a instanceof Object&&a.x?Ba(a,b,0,0):Aa(a,b,c,0,0)}function Aa(a,b,c,d,e){var f=Math.sin(c),g=Math.cos(c),h=a-d,i=b-e;return a=h*g-i*f+d,b=h*f+i*g+e,new Ve(a,b,c)}function Ba(a,b,c,d){c=c||0,d=d||0;var e=Math.sin(b),f=Math.cos(b),g=a.x-c,h=a.y-d;return a.x=g*f-h*e+c,a.y=g*e+h*f+d,a}function Ca(a,b,c){return Da(a,b,c,0,0)}function Da(a,b,c,d,e){var f=Aa(a.x,a.y,b,d,e),g=Aa(a.x+a.width,a.y,b,d,e),h=Aa(a.x+a.width,a.y+a.height,b,d,e),i=Aa(a.x,a.y+a.height,b,d,e);return c?c.clear():c=new Ze,c.addPoint(f),c.addPoint(g),c.addPoint(h),c.addPoint(i),c}function Ea(a,b){var c=this.ratio||1;this.style.width=a+"px",this.style.height=b+"px",this.width=a*c,this.height=b*c}function Fa(a){var b=a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||a.backingStorePixelRatio||1;return hg/b}function Ga(a,c,d){var e=b.createElement("canvas");if(e.g=e.getContext("2d"),a!==!0&&!d)return a&&c&&(e.width=a,e.height=c),e;var f=e.g;return f.ratio=e.ratio=Fa(f),e.setSize=Ea,f._l8=function(){this.canvas.width=this.canvas.width},a&&c&&e.setSize(a,c),e}function Ha(a,b){return ig||(ig=Ga()),a&&b&&(ig.width=a,ig.height=b),ig.g}function Ia(a,b,c){return(c||Re.FONT_STYLE)+" "+(b||Re.FONT_SIZE)+"px "+(a||Re.FONT_FAMILY)}function Ja(a,b,c,d,e,f,g,h,i,j){if(a.save(),a.translate(c,d),jg&&kg>g){var k=g/kg;a.scale(k,k),g=kg,j=null}i||(i=Re.LINE_HEIGHT),g||(g=Re.FONT_SIZE),i*=g,a.font=j||Ia(f,g,h),a.textAlign=e,a.textBaseline="middle";for(var l=i/2,m=b.split("\n"),n=0,o=m.length;o>n;n++){var p=m[n];a.fillText(p,0,l),l+=i}a.restore()}function Ka(a,b,c,d,e,f){if(!a)return{width:0,height:0};if(b||(b=Re.FONT_SIZE),jg&&kg>b){var g=b/kg,h=Ka(a,kg,c,d,e);return h.width*=g,h.height*=g,h}var i=Ha();i.font=f||Ia(c,b,d),e||(e=Re.LINE_HEIGHT);for(var j=b*e,k=0,l=0,m=a.split("\n"),n=0,o=m.length;o>n;n++){var p=m[n];k=Math.max(i.measureText(p).width,k),l+=j}return{width:k,height:l}}function La(a,b,c,d,e){var f;if(De)try{f=a.getImageData(b,c,d,e)}catch(g){}else f=a.getImageData(b,c,d,e);return f}function Ma(a){return Math.log(a+Math.sqrt(a*a+1))}function Na(a,b){b=b||a(1);var c=1/b,d=.5*c,e=Math.min(1,b/100);return function(f){if(0>=f)return 0;if(f>=b)return 1;for(var g=f*c,h=0;h++<10;){var i=a(g),j=f-i;if(Math.abs(j)<=e)return g;g+=j*d}return g}}function Oa(a,b,c){var d=1-a,e=d*d*b[0]+2*d*a*b[2]+a*a*b[4],f=d*d*b[1]+2*d*a*b[3]+a*a*b[5];if(c){var g=(b[0]+b[4]-2*b[2])*a+b[2]-b[0],h=(b[1]+b[5]-2*b[3])*a+b[3]-b[1];return{x:e,y:f,rotate:Math.atan2(h,g)}}return{t:a,x:e,y:f}}function Pa(a,b,c){var d=a-2*b+c;return 0!=d?(a-b)/d:-1}function Qa(a,b){b.add(a[4],a[5]);var c=Pa(a[0],a[2],a[4]);if(c>0&&1>c){var d=Oa(c,a);b.add(d.x,d.y)}var e=Pa(a[1],a[3],a[5]);if(e>0&&1>e){var d=Oa(e,a);b.add(d.x,d.y)}return b}function Ra(a,b){return Math.abs(a-b)<1e-7}function Sa(a){if(Ra(a[1],a[3])&&(Ra(a[0],a[2])||Ra(a[1],a[5]))){var b=a[0],c=a[1],d=a[4],e=a[5],f=Math.sqrt(lg(b,c,d,e));return function(a){return f*a}}var g=a[0],h=a[2],i=a[4],j=g-2*h+i,k=2*h-2*g;g=a[1],h=a[3],i=a[5];var l=g-2*h+i,m=2*h-2*g,n=4*(j*j+l*l),o=4*(j*k+l*m),p=k*k+m*m,f=4*n*p-o*o,q=1/f,r=.125*Math.pow(n,-1.5),s=2*Math.sqrt(n),t=(f*Ma(o/Math.sqrt(f))+2*Math.sqrt(n)*o*Math.sqrt(p))*r;return function(a){var b=o+2*a*n,c=b/Math.sqrt(f),d=b*b*q;return(f*Math.log(c+Math.sqrt(d+1))+s*b*Math.sqrt(p+a*o+a*a*n))*r-t}}function Ta(a,b,c){var d=1-a,e=b[0],f=b[2],g=b[4],h=b[6],i=e*d*d*d+3*f*a*d*d+3*g*a*a*d+h*a*a*a;if(c)var j=3*a*a*h+(6*a-9*a*a)*g+(9*a*a-12*a+3)*f+(-3*a*a+6*a-3)*e;e=b[1],f=b[3],g=b[5],h=b[7];var k=e*d*d*d+3*f*a*d*d+3*g*a*a*d+h*a*a*a;if(c){var l=3*a*a*h+(6*a-9*a*a)*g+(9*a*a-12*a+3)*f+(-3*a*a+6*a-3)*e;return{x:i,y:k,rotate:Math.atan2(l,j)}}return{x:i,y:k}}function Ua(a,b,c,d){var e=-a+3*b-3*c+d;if(0==e)return[(a-b)/(2*c-4*b+2*a)];var f=2*a-4*b+2*c,g=b-a,h=f*f-4*e*g;return 0>h?void 0:0==h?[-f/(2*e)]:(h=Math.sqrt(h),[(h-f)/(2*e),(-h-f)/(2*e)])}function Va(a,b){b.add(a[6],a[7]);var c=Ua(a[0],a[2],a[4],a[6]);if(c)for(var d=0;d<c.length;d++){var e=c[d];if(!(0>=e||e>=1)){var f=Ta(e,a);b.add(f.x,f.y)}}if(c=Ua(a[1],a[3],a[5],a[7]))for(var d=0;d<c.length;d++){var e=c[d];if(!(0>=e||e>=1)){var f=Ta(e,a);b.add(f.x,f.y)}}}function Wa(a){var b={x:a[0],y:a[1]},c={x:a[2],y:a[3]},d={x:a[4],y:a[5]},e={x:a[6],y:a[7]},f=b.x-0,g=b.y-0,h=c.x-0,i=c.y-0,j=d.x-0,k=d.y-0,l=e.x-0,m=e.y-0,n=3*(-f+3*h-3*j+l),o=6*(f-2*h+j),p=3*(-f+h),q=3*(-g+3*i-3*k+m),r=6*(g-2*i+k),s=3*(-g+i),t=function(a){
+var b=n*a*a+o*a+p,c=q*a*a+r*a+s;return Math.sqrt(b*b+c*c)},u=(t(0)+4*t(.5)+t(1))/6;return u}function Xa(a,b){function c(a,b,c,d){var e=-a+3*b-3*c+d,f=2*a-4*b+2*c,g=b-a;return function(a){return 3*(e*a*a+f*a+g)}}function d(a,b){var c=e(a),d=f(a);return Math.sqrt(c*c+d*d)*b}var e=c(a[0],a[2],a[4],a[6]),f=c(a[1],a[3],a[5],a[7]);b=b||100;var g=1/b;return function(a){if(!a)return 0;for(var b,c=0,e=0;;){if(b=c+g,b>=a)return e+=d(c,b-c);e+=d(c,g),c=b}}}function Ya(a,b,c){return lg(b,c,a.cx,a.cy)<=a._squareR+mg}function Za(a,b,c,d){return c=c||$a(a,b),new _a((a.x+b.x)/2,(a.y+b.y)/2,c/2,a,b,null,d)}function $a(a,b){return We(a.x,a.y,b.x,b.y)}function _a(a,b,c,d,e,f,g){this.cx=a,this.cy=b,this.r=c,this._squareR=c*c,this.p1=d,this.p2=e,this.p3=f,this._otherPoint=g}function ab(a,b,c,d){this.cx=a,this.cy=b,this.width=c,this.height=d}function bb(a){var b=a[0],c=a[1],d=a[2],e=_a._mzreateCircle(b,c,d);return db(a,b,c,d,e)}function cb(a,b){b=b||eb(a);for(var c,d=b.width/b.height,e=[],f=a.length,g=0;f>g;g++)c=a[g],e.push({x:c.x,y:c.y*d});var h=bb(e);return h?new ab(h.cx,h.cy/d,2*h.r,2*h.r/d):void 0}function db(a,b,c,d,e){for(var f,g,h=a.length,i=e._squareR,j=0;h>j;j++)if(f=a[j],f!=b&&f!=c&&f!=d){var k=lg(e.cx,e.cy,f.x,f.y);k-mg>i&&(i=k,g=f)}if(!g)return e;var l,m=_a._mzreateCircle(g,b,c),n=_a._mzreateCircle(g,b,d),o=_a._mzreateCircle(g,d,c);return Ya(m,d.x,d.y)&&(l=m),Ya(n,c.x,c.y)&&(!l||l.r>n.r)&&(l=n),Ya(o,b.x,b.y)&&(!l||l.r>o.r)&&(l=o),b=l.p1,c=l.p2,d=l.p3||l._otherPoint,db(a,b,c,d,l)}function eb(a){for(var b,c=a.length,d=new Ze,e=0;c>e;e++)b=a[e],d.add(b.x,b.y);return d}function fb(a,b,c,d,e){this._6n&&this.validate();var f=e?this.getBounds(e):this.bounds,g=c/f.width,h=a-g*f.x,i=d/f.height,j=b-i*f.y,k=this._h3,l=[];return o(k,function(a){var b=a.clone(),c=b.points;if(c&&c.length){for(var d=c.length,e=[],f=0;d>f;f++){var k=c[f];f++;var m=c[f];k=g*k+h,m=i*m+j,e.push(k),e.push(m)}b.points=e}l.push(b)},this),new Rg(l)}function gb(a,b,c,d,e,f){if(e=e||0,c=c||0,!e&&!f)return!1;if(!d){var g=this.getBounds(e);if(!g.intersectsPoint(a,b,c))return!1}var h=Math.round(2*c)||1,i=Ha(h,h),j=(i.canvas,-a+c),k=-b+c;if(i.setTransform(1,0,0,1,j,k),!i.isPointInStroke){this._lt(i),e&&i.stroke(),f&&i.fill();var l=La(i,0,0,h,h);if(!l)return!1;l=l.data;for(var m=l.length/4;m>0;){if(l[4*m-1]>Qg)return!0;--m}return!1}return i.lineWidth=(e||0)+2*c,this._lt(i),!(!e||!i.isPointInStroke(c,c))||!!f&&i.isPointInPath(c,c)}function hb(a,b,c){if(!this._jf)return null;var d=this._h3;if(d.length<2)return null;c===!1&&(a+=this._jf);var e=d[0];if(0>=a)return Bd(e.points[0],e.points[1],d[1].points[0],d[1].points[1],a,b);if(a>=this._jf){e=d[d.length-1];var f,g,h=e.points,i=h.length,j=h[i-2],k=h[i-1];if(i>=4)f=h[i-4],g=h[i-3];else{e=d[d.length-2];var l=e.lastPoint;f=l.x,g=l.y}return Bd(j,k,j+j-f,k+k-g,a-this._jf,b)}for(var m,n=0,o=1,i=d.length;i>o;o++)if(m=d[o],m._jf){if(!(n+m._jf<a)){var p,l=e.lastPoint;if(m.type==Ng){var q=m.points;p=ib(a-n,m,l.x,l.y,q[0],q[1],q[2],q[3],m._r)}else{if(!m._lf)return Bd(l.x,l.y,m.points[0],m.points[1],a-n,b);var r=Na(m._lf,m._jf)(a-n),q=m.points;p=m.type==Mg&&6==q.length?Ta(r,[l.x,l.y].concat(q),!0):Oa(r,[l.x,l.y].concat(q),!0)}return b&&(p.x-=b*Math.sin(p.rotate||0),p.y+=b*Math.cos(p.rotate||0)),p}n+=m._jf,e=m}else e=m}function ib(a,b,c,d,e,f,g,h){if(a<=b._l1)return Bd(c,d,e,f,a,a);if(a>=b._jf)return a-=b._jf,Bd(b._p2x,b._p2y,g,h,a,a);if(a-=b._l1,b._o){var i=a/b._r;b._CCW&&(i=-i);var j=Aa(b._p1x,b._p1y,i,b._o.x,b._o.y);return j.rotate+=b._mw1||0,j.rotate+=Math.PI,j}return Bd(b._p1x,b._p1y,b._p2x,b._p2y,a,a)}function da(a,b,c){var d,e,f;0==a._mw?(d=-1,f=0,e=b):0==a._mz?(d=0,f=1,e=c):(d=-1/a._mw,e=(a._mw-d)*b+a._mx,f=1);var g=new Xe;return g._mw=d,g._mx=e,g._mz=f,g._mv=b,g._mt=c,g}function jb(a){return a%=2*Math.PI,0>a&&(a+=2*Math.PI),a}function kb(a,b,c,d,e,f,g,h){var i=We(b,c,d,e),j=We(d,e,f,g);if(!i||!j)return a._d=0,a._r=0,a._l1=i,a._l2=j,a._jf=0;var k=mb(d,e,b,c),l=mb(d,e,f,g);a._mw1=k,a._mw2=l;var m=k-l;m=jb(m),m>Math.PI&&(m=2*Math.PI-m,a._CCW=!0);var n=Math.PI-m,o=Math.tan(m/2),p=h/o,q=Math.min(i,j);p>q&&(p=q,h=o*p);var r,s=d+Math.cos(k)*p,t=e+Math.sin(k)*p,u=d+Math.cos(l)*p,v=e+Math.sin(l)*p,w=new Xe(b,c,d,e),x=new Xe(d,e,f,g),y=da(w,s,t),z=da(x,u,v),A=y._3t(z),B=Math.atan2(t-A.y,s-A.x),C=Math.atan2(v-A.y,u-A.x);r=a._CCW?C:B;for(var D,E=0;4>E;){var F=E*Te;if(jb(F-r)<=n){var G,H;if(D?D++:D=1,0==E?(G=A.x+h,H=A.y):1==E?(G=A.x,H=A.y+h):2==E?(G=A.x-h,H=A.y):(G=A.x,H=A.y-h),a["$boundaryPoint"+D]={x:G,y:H},2==D)break}E++}return a._p1x=s,a._p1y=t,a._p2x=u,a._p2y=v,a._o=A,a._d=p,a._r=h,a._l1=i-p,a._l2=j-p,a._jf=a._l1+n*h}function lb(a,b,c,d,e,f,g){var h=mb(c,d,a,b),i=mb(c,d,e,f),j=h-i;return g?j:(0>j&&(j=-j),j>Math.PI&&(j-=Math.PI),j)}function mb(a,b,c,d){return Math.atan2(d-b,c-a)}function nb(a){var b=og.exec(a);if(b)return b[1];var c=a.lastIndexOf(".");return c>=0&&c<a.length-1?a.substring(c+1):void 0}function ob(a){if(!a)return null;if(a instanceof Rg)return vg;if(a.draw instanceof Function)return ug;if(L(a)){var b=nb(a);if(b){if(!De&&pg.test(b))return tg;if(qg.test(b))return sg}return rg}}function pb(a,b,c){if(this._m3=ob(a),!this._m3)throw new Error("the image format is not supported",a);this._lr=a,this._mwo=b,this._9s=c,this.width=b||Re.IMAGE_WIDTH,this.height=c||Re.IMAGE_HEIGHT,this._jj={}}function qb(a,b,c,d){return b?(zg[a]=new pb(b,c,d),a):void delete zg[a]}function rb(a){if(a._le)return a._le;var b=L(a);if(!b&&!a.name)return a._le=new pb(a);var c=a.name||a;return c in zg?zg[c]:zg[c]=new pb(a)}function sb(a){return a in zg}function tb(a,b,c){c=c||{};var d=a.getBounds(c.lineWidth);if(!d.width||!d.height)return!1;var e=b.getContext("2d"),f=b.ratio||1,g=c.scaleMode||"full.uniform",h=/full/i.test(g),i=/uniform/i.test(g),j=1,k=1;if(h){var l=b.width,m=b.height,n=c.padding,o=0,p=0;if(n){var q,r,s,t;K(n)?q=r=s=t=n:(q=n.top||0,r=n.bottom||0,s=n.left||0,t=n.right||0),l-=s+t,m-=q+r,o+=s,p+=q}j=l/d.width,k=m/d.height,i&&(j>k?(o+=(l-k*d.width)/2,j=k):k>j&&(p+=(m-j*d.height)/2,k=j)),(o||p)&&e.translate(o,p)}e.translate(-d.x*j,-d.y*k),a.draw(e,f,c,j,k,!0)}function ub(a,b,c){var d=rb(a);return d?(d.validate(),(d._m3==tg||d._6e())&&d._mwq(function(a){a.source&&(this.width=this.width,tb(a.source,this,c))},b),void tb(d,b,c)):(fg.error("draw image error - "+a),!1)}function vb(a,b,d,e){var f=a.length;if(f&&!(0>f)){e=e||1;for(var g,h,i,j=[],k=0;k++<f;)if(g=a.getLocation(k,0),g&&We(b,d,g.x,g.y)<=e){h=k,i=g.rotate;break}if(h!==c){for(var g,l,m,n=0,k=0,o=a._h3.length;o>k;k++){if(g=a._h3[k],!l&&(n+=g._jf||0,n>h))if(l=!0,g.type==Kg||g.type==Og)j.push(new Pg(Kg,[b,d]));else{var p=Math.max(10,g._jf/6),q=p*Math.sin(i),r=p*Math.cos(i);if(g.type==Mg){var s=g.points[0],t=g.points[1];if(m){var u=new Xe(b,d,b+r,d+q),v=u._3t(new Xe(m.lastPoint.x,m.lastPoint.y,g.points[0],g.points[1]));v.x!==c&&(s=v.x,t=v.y)}j.push(new Pg(Mg,[s,t,b-r,d-q,b,d]))}else j.push(new Pg(Lg,[b-r,d-q,b,d]));if(g.points)if(g.type==Mg){g.points[0]=b+r,g.points[1]=d+q;var u=new Xe(b,d,b+r,d+q),v=u._3t(new Xe(g.points[2],g.points[3],g.points[4],g.points[5]));v.x!==c&&(g.points[2]=v.x,g.points[3]=v.y)}else if(g.type==Lg){g.type=Mg,g.points=[b+r,d+q].concat(g.points);var u=new Xe(b,d,b+r,d+q),v=u._3t(new Xe(g.points[2],g.points[3],g.points[4],g.points[5]));v.x!==c&&(g.points[2]=v.x,g.points[3]=v.y)}else g.type==Kg&&(g.type=Lg,g.points=[b+r,d+q].concat(g.points),k==o-1&&(g.invalidTerminal=!0))}j.push(g),m=g}return j}}}function wb(a){var b=a.width,c=a.height,d=La(a.g,0,0,b,c);return d?yb(d.data,b,c):void 0}function xb(a,b,c){this._17(a,b,c)}function yb(a,b,c){return new xb(a,b,c)}function zb(a){if("#"==a[0]){if(a=a.substring(1),3==a.length)a=a[0]+a[0]+a[1]+a[1]+a[2]+a[2];else if(6!=a.length)return;return a=parseInt(a,16),[a>>16&255,a>>8&255,255&a]}if(/^rgb/i.test(a)){var b=a.indexOf("("),c=a.indexOf(")");if(0>b||b>c)return;if(a=a.substring(b+1,c),a=a.split(","),a.length<3)return;var d=parseInt(a[0]),e=parseInt(a[1]),f=parseInt(a[2]),g=3==a.length?255:parseInt(a[3]);return[d,e,f,g]}}function Ab(a,b,c){return c||(c=Re.BLEND_MODE),c==gg.BLEND_MODE_MULTIPLY?a*b:c==gg.BLEND_MODE_DARKEN?Math.min(a,b):c==gg.BLEND_MODE_COLOR_BURN?1-(1-b)/a:c==gg.BLEND_MODE_LINEAR_BURN?a+b-1:c==gg.BLEND_MODE_LIGHTEN?Math.max(a,b):c==gg.BLEND_MODE_SCREEN?a+b-a*b:b}function Bb(a,b,c){var d=zb(b);if(!d)return void fg.error("color error, ["+b+"]");var e=La(a.g,0,0,a.width,a.height);if(e){var f=e.data;if(c instanceof Function)f=c(a,f,d)||f;else{var g=d[0]/255,h=d[1]/255,i=d[2]/255;if(c==gg.BLEND_MODE_GRAY)for(var j=0,k=f.length;k>j;j+=4){var l=77*f[j]+151*f[j+1]+28*f[j+2]>>8;f[j]=l*g|0,f[j+1]=l*h|0,f[j+2]=l*i|0}else for(var j=0,k=f.length;k>j;j+=4)f[j]=255*Ab(g,f[j]/255,c)|0,f[j+1]=255*Ab(h,f[j+1]/255,c)|0,f[j+2]=255*Ab(i,f[j+2]/255,c)|0}var a=Ga(a.width,a.height);return a.g.putImageData(e,0,0),a}}function Cb(a,b,c,d){return 1>c&&(c=1),Db(a-c,b-c,2*c,2*c,d)}function Db(a,b,c,d,e){c=Math.round(c)||1,d=Math.round(d)||1;var f=Ha(c,d);f.setTransform(1,0,0,1,-a,-b),e.draw(f);var g=La(f,0,0,c,d);if(!g)return!1;g=g.data;for(var h=g.length/4;h-- >0;)if(g[4*h-1]>Qg)return!0;return!1}function Eb(a,b,c,d,e,f){a-=e.$x,b-=e.$y;var g=e._gh.intersection(a,b,c,d);if(!g)return!1;a=g.x*f,b=g.y*f,c=g.width*f,d=g.height*f,c=Math.round(c)||1,d=Math.round(d)||1;var h=Ha(),i=h.canvas;i.width<c||i.height<d?(i.width=c,i.height=d):(h.setTransform(1,0,0,1,0,0),h.clearRect(0,0,c,d)),h.setTransform(1,0,0,1,-a-e.$x*f,-b-e.$y*f),h.scale(f,f),e._jr(h,1);var j=La(h,0,0,c,d);if(!j)return!1;j=j.data;for(var k=j.length/4;k-- >0;)if(j[4*k-1]>Qg)return!0;return!1}function Fb(a,b,c,d,e,f,g,h,i){if(ga(a,b,c,d,h,i))return null;var j,k,l,m=new Pg(Kg,[a+c-e,b]),n=new Pg(Lg,[a+c,b,a+c,b+f]),o=new Pg(Kg,[a+c,b+d-f]),p=new Pg(Lg,[a+c,b+d,a+c-e,b+d]),q=new Pg(Kg,[a+e,b+d]),r=new Pg(Lg,[a,b+d,a,b+d-f]),s=new Pg(Kg,[a,b+f]),t=new Pg(Lg,[a,b,a+e,b]),u=(new Pg(Og),[m,n,o,p,q,r,s,t]),v=new Ze(a+e,b+f,c-e-e,d-f-f);a>h?(j=af,l=5):h>a+c?(j=cf,l=1):(j=bf,l=0),b>i?(k=df,j==af&&(l=7)):i>b+d?(k=ff,j==cf?l=3:j==bf&&(l=4)):(k=ef,j==af?l=6:j==cf&&(l=2));var w=Lb(l,a,b,c,d,e,f,g,h,i,v),x=w[0],y=w[1],z=new Rg,A=z._h3;A.push(new Pg(Jg,[x.x,x.y])),A.push(new Pg(Kg,[h,i])),A.push(new Pg(Kg,[y.x,y.y])),y._m8&&(A.push(y._m8),y._m8NO++);for(var B=y._m8NO%8,C=x._m8NO;A.push(u[B]),++B,B%=8,B!=C;);return x._m8&&A.push(x._m8),z.closePath(),z}function Gb(a,b,d,e,f,g,h,i,j,k,l,m,n,o){var p=new Xe(m,n,d,e),q=new Xe(b[0],b[1],b[4],b[5]),r=q._3t(p,l),s=r[0],t=r[1];if(s._rest!==c){s._m8NO=(a-1)%8,t._m8NO=(a+1)%8;var u=s._rest;7==a?(s.y=g+k+Math.min(o.height,u),t.x=f+j+Math.min(o.width,u)):5==a?(s.x=f+j+Math.min(o.width,u),t.y=g+i-k-Math.min(o.height,u)):3==a?(s.y=g+i-k-Math.min(o.height,u),t.x=f+h-j-Math.min(o.width,u)):1==a&&(s.x=f+h-j-Math.min(o.width,u),t.y=g+k+Math.min(o.height,u))}else{p._mk(p._mv,p._mt,s.x,s.y),s=p._$e(b),p._mk(p._mv,p._mt,t.x,t.y),t=p._$e(b);var v=Mb(b,[s,t]),w=v[0],x=v[2];s._m8NO=a,t._m8NO=a,s._m8=new Pg(Lg,w.slice(2)),t._m8=new Pg(Lg,x.slice(2))}return[s,t]}function Hb(a,b,c,d,e,f,g,h,i,j){var k,l;if(i-h>=b+f)k={y:c,x:i-h},k._m8NO=0;else{k={y:c+g,x:Math.max(b,i-h)};var m=[b,c+g,b,c,b+f,c],n=new Xe(i,j,k.x,k.y);if(k=n._$e(m)){N(k)&&(k=k[0].t>k[1].t?k[0]:k[1]);var o=Mb(m,[k]);o=o[0],o&&(k._m8=new Pg(Lg,o.slice(2))),k._m8NO=7}else k={y:c,x:b+f},k._m8NO=0}if(b+d-f>=i+h)l={y:c,x:i+h},l._m8NO=0;else{l={y:c+g,x:Math.min(b+d,i+h)};var p=[b+d-f,c,b+d,c,b+d,c+g],n=new Xe(i,j,l.x,l.y);if(l=n._$e(p)){N(l)&&(l=l[0].t<l[1].t?l[0]:l[1]);var o=Mb(p,[l]);o&&o[o.length-1]&&(l._m8=new Pg(Lg,o[o.length-1].slice(2))),l._m8NO=1}else l={y:c,x:b+d-f},l._m8NO=0}return[k,l]}function Ib(a,b,c,d,e,f,g,h,i,j){var k,l;if(j-h>=c+g)k={x:b+d,y:j-h},k._m8NO=2;else{k={x:b+d-f,y:Math.max(c,j-h)};var m=[b+d-f,c,b+d,c,b+d,c+g],n=new Xe(i,j,k.x,k.y);if(k=n._$e(m)){N(k)&&(k=k[0].t>k[1].t?k[0]:k[1]);var o=Mb(m,[k]);o=o[0],o&&(k._m8=new Pg(Lg,o.slice(2))),k._m8NO=1}else k={x:b+d,y:c+g},k._m8NO=2}if(c+e-g>=j+h)l={x:b+d,y:j+h},l._m8NO=2;else{l={x:b+d-f,y:Math.min(c+e,j+h)};var p=[b+d,c+e-g,b+d,c+e,b+d-f,c+e],n=new Xe(i,j,l.x,l.y);if(l=n._$e(p)){N(l)&&(l=l[0].t<l[1].t?l[0]:l[1]);var o=Mb(p,[l]);o[1]&&(l._m8=new Pg(Lg,o[1].slice(2))),l._m8NO=3}else l={x:b+d,y:c+e-g},l._m8NO=2}return[k,l]}function Jb(a,b,c,d,e,f,g,h,i,j){var k,l;if(i-h>=b+f)l={y:c+e,x:i-h},l._m8NO=4;else{l={y:c+e-g,x:Math.max(b,i-h)};var m=[b+f,c+e,b,c+e,b,c+e-g],n=new Xe(i,j,l.x,l.y);if(l=n._$e(m)){N(l)&&(l=l[0].t<l[1].t?l[0]:l[1]);var o=Mb(m,[l]);o=o[o.length-1],o&&(l._m8=new Pg(Lg,o.slice(2))),l._m8NO=5}else l={y:c+e,x:b+f},l._m8NO=4}if(b+d-f>=i+h)k={y:c+e,x:i+h},k._m8NO=4;else{k={y:c+e-g,x:Math.min(b+d,i+h)};var p=[b+d,c+e-g,b+d,c+e,b+d-f,c+e],n=new Xe(i,j,k.x,k.y);if(k=n._$e(p)){N(k)&&(k=k[0].t>k[1].t?k[0]:k[1]);var o=Mb(p,[k]);o[0]&&(k._m8=new Pg(Lg,o[0].slice(2))),k._m8NO=3}else k={y:c+e,x:b+d-f},k._m8NO=4}return[k,l]}function Kb(a,b,c,d,e,f,g,h,i,j){var k,l;if(j-h>=c+g)l={x:b,y:j-h},l._m8NO=6;else{l={x:b+f,y:Math.max(c,j-h)};var m=[b,c+g,b,c,b+f,c],n=new Xe(i,j,l.x,l.y);if(l=n._$e(m)){N(l)&&(l=l[0].t<l[1].t?l[0]:l[1]);var o=Mb(m,[l]);o=o[o.length-1],o&&(l._m8=new Pg(Lg,o.slice(2)))}else l={x:b,y:c+g};l._m8NO=7}if(c+e-g>=j+h)k={x:b,y:j+h},k._m8NO=6;else{k={x:b+f,y:Math.min(c+e,j+h)};var p=[b+f,c+e,b,c+e,b,c+e-g],n=new Xe(i,j,k.x,k.y);if(k=n._$e(p)){N(k)&&(k=k[0].t>k[1].t?k[0]:k[1]);var o=Mb(p,[k]);o[0]&&(k._m8=new Pg(Lg,o[0].slice(2))),k._m8NO=5}else k={x:b,y:c+e-g},k._m8NO=6}return[k,l]}function Lb(a,b,c,d,e,f,g,h,i,j,k){var l=h/2;switch(a){case 7:var m=[b,c+g,b,c,b+f,c],n=b+f,o=c+g;return Gb(a,m,n,o,b,c,d,e,f,g,h,i,j,k);case 5:return m=[b+f,c+e,b,c+e,b,c+e-g],n=b+f,o=c+e-g,Gb(a,m,n,o,b,c,d,e,f,g,h,i,j,k);case 3:return m=[b+d,c+e-g,b+d,c+e,b+d-f,c+e],n=b+d-f,o=c+e-g,Gb(a,m,n,o,b,c,d,e,f,g,h,i,j,k);case 1:return m=[b+d-f,c,b+d,c,b+d,c+g],n=b+d-f,o=c+g,Gb(a,m,n,o,b,c,d,e,f,g,h,i,j,k);case 0:return Hb(a,b,c,d,e,f,g,l,i,j,k);case 2:return Ib(a,b,c,d,e,f,g,l,i,j,k);case 4:return Jb(a,b,c,d,e,f,g,l,i,j,k);case 6:return Kb(a,b,c,d,e,f,g,l,i,j,k)}}function Mb(a,b){for(var d,e,f,g,h,i,j=a[0],k=a[1],l=a[2],m=a[3],n=a[4],o=a[5],p=[],q=0;q<b.length;q++)h=b[q],i=h.t,0!=i&&1!=i?(d=j+(l-j)*i,e=k+(m-k)*i,f=l+(n-l)*i,g=m+(o-m)*i,p.push([j,k,d,e,h.x,h.y]),j=h.x,k=h.y,l=f,m=g):p.push(null);return f!==c&&p.push([h.x,h.y,f,g,n,o]),p}function Nb(a){return this.$layoutByAnchorPoint&&this._mx1&&(a.x-=this._mx1.x,a.y-=this._mx1.y),this.$rotate&&Ba(a,this.$rotate),a.x+=this.$offsetX||0,a.y+=this.$offsetY||0,this.$rotatable&&this.$_hostRotate?Ba(a,this.$_hostRotate):a}function Ob(a){return this.$rotatable&&this.$_hostRotate&&Ba(a,-this.$_hostRotate),a.x-=this.$offsetX||0,a.y-=this.$offsetY||0,this.$rotate&&Ba(a,-this.$rotate),this.$layoutByAnchorPoint&&this._mx1&&(a.x+=this._mx1.x,a.y+=this._mx1.y),a}function Pb(){var a=this.$invalidateSize;this.$invalidateSize&&(this.$invalidateSize=!1,this.$invalidateAnchorPoint=!0,this._86.setByRect(this._ju),this.$padding&&this._86.grow(this.$padding),this.$border&&this._86.grow(this.$border));var b=this._$q();if(b)var c=this.showPointer&&this.$pointerWidth;return this.$invalidateAnchorPoint&&this.$layoutByAnchorPoint&&(this.$invalidateAnchorPoint=!1,c&&(a=!0),this._mx1=ja(this.$anchorPosition,this._86.width,this._86.height),this._mx1.x+=this._86.x,this._mx1.y+=this._86.y),b?(a&&(this._mxackgroundGradientInvalidateFlag=!0,Qb.call(this,c)),this._mxackgroundGradientInvalidateFlag&&(this._mxackgroundGradientInvalidateFlag=!1,this._mxackgroundGradient=this.backgroundGradient&&this._lvShape&&this._lvShape.bounds?Ag.prototype.generatorGradient.call(this.backgroundGradient,this._lvShape.bounds):null),a):(this.__mdPointer=!1,a)}function Qb(a){var b=this._86.x+this.$border/2,c=this._86.y+this.$border/2,d=this._86.width-this.$border,e=this._86.height-this.$border,f=0,g=0;if(this.$borderRadius&&(K(this.$borderRadius)?f=g=this.$borderRadius:(f=this.$borderRadius.x||0,g=this.$borderRadius.y||0),f=Math.min(f,d/2),g=Math.min(g,e/2)),a&&(this._pointerX=this._mx1.x-this.$offsetX+this.$pointerX,this._pointerY=this._mx1.y-this.$offsetY+this.$pointerY,!this._86.intersectsPoint(this._pointerX,this._pointerY))){var h=new Tg(b,c,d,e,f,g,this.$pointerWidth,this._pointerX,this._pointerY);return this._lvShape=h._m8,this._lvShape.bounds.set(b,c,d,e),void(this.__mdPointer=!0)}this._lvShape&&this._lvShape.clear(),this._lvShape=yh.getRect(b,c,d,e,f,g,this._lvShape),this._lvShape.bounds.set(b,c,d,e)}function Rb(a,b,c,d){return d&&(a.width<0||a.height<0)?(a.x=b,a.y=c,void(a.width=a.height=0)):(b<a.x?(a.width+=a.x-b,a.x=b):b>a.x+a.width&&(a.width=b-a.x),void(c<a.y?(a.height+=a.y-c,a.y=c):c>a.y+a.height&&(a.height=c-a.y)))}function Sb(a,b,d){var e,f=a.position,g=a.layoutByPath===c?this.layoutByPath:a.layoutByPath;return this.$data instanceof Rg&&g?(e=ng._mx4(f,this.$data,this.lineWidth,b,d),e.x*=this._k1,e.y*=this._k3):(e=ja(f,this._86.width,this._86.height),e.x+=this._86.x,e.y+=this._86.y),Nb.call(this,e)}function Tb(a,b){if(b)if(b._86.isEmpty())a.$x=b.$x,a.$y=b.$y;else{var c=Sb.call(b,a);a.$x=c.x,a.$y=c.y,a._hostRotate=c.rotate}else a.$x=0,a.$y=0;a.$invalidateRotate&&Wg.call(a)}function Ub(a){if(a.lineDash===c){var b,d;if(a.setLineDash)b=a.getLineDash,d=a.setLineDash;else{var e;if(a.mozDash!==c)e="mozDash";else{if(a.webkitLineDash===c)return!1;e="webkitLineDash"}d=function(a){this[e]=a},b=function(){return this[e]}}Y(a,"lineDash",{get:function(){return b.call(this)},set:function(a){d.call(this,a)}})}if(a.lineDashOffset===c){var f;if(a.mozDashOffset!==c)f="mozDashOffset";else{if(a.webkitLineDashOffset===c)return;f="webkitLineDashOffset"}Y(a,"lineDashOffset",{get:function(){return this[f]},set:function(a){this[f]=a}})}}function Vb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n=function(a){return function(b){a(b)}},o=function(){g=null,h=null,i=j,j=null,k=null},p=function(a){f=a,l||(l=Ga()),l.width=f.width,l.height=f.height,b.width=f.width,b.height=f.height},q=function(a){r(),o(),g=a.transparencyGiven?a.transparencyIndex:null,h=10*a.delayTime,j=a.disposalMethod},r=function(){if(k){var a=k.getImageData(0,0,f.width,f.height),c={data:a,_pixels:yb(a.data,f.width,f.height),delay:h};e.call(b,c)}},s=function(a){k||(k=l.getContext("2d"));var b=a.lctFlag?a.lct:f.gct,c=k.getImageData(a.leftPos,a.topPos,a.width,a.height);a.pixels.forEach(function(a,d){g!==a?(c.data[4*d+0]=b[a][0],c.data[4*d+1]=b[a][1],c.data[4*d+2]=b[a][2],c.data[4*d+3]=255):(2===i||3===i)&&(c.data[4*d+3]=0)}),k.clearRect(0,0,f.width,f.height),k.putImageData(c,a.leftPos,a.topPos)},t=function(){},u={hdr:n(p),gce:n(q),com:n(t),app:{NETSCAPE:n(t)},img:n(s,!0),eof:function(){r(),c.call(b)}},v=new XMLHttpRequest;De||v.overrideMimeType("text/plain; charset=x-user-defined"),v.onload=function(){m=new _g(v.responseText);try{bh(m,u)}catch(a){d.call(b,"parse")}},v.onerror=function(){d.call(b,"xhr")},v.open("GET",a,!0),v.send()}function Wb(a){var b=Ga(!0);return Ub(b.g),b.onselectstart=function(){return!1},a.appendChild(b),b.className=eh,b}function n(a,b){function c(a,c){for(var d=a.length,e=c.length,f=d+e,g=new Array(f),h=0,i=0,j=0;f>j;)g[j++]=h===d?c[i++]:i===e||b(a[h],c[i])<=0?a[h++]:c[i++];return g}function d(a){var b=a.length,e=Math.ceil(b/2);return 1>=b?a:c(d(a.slice(0,e)),d(a.slice(e)))}return d(a)}function Xb(a){a.width=a.width}function Yb(a){kh||(kh="imageSmoothingEnabled"in CanvasRenderingContext2D.prototype?"imageSmoothingEnabled":"mozImageSmoothingEnabled"in CanvasRenderingContext2D.prototype?"mozImageSmoothingEnabled":"msImageSmoothingEnabled"in CanvasRenderingContext2D.prototype?"msImageSmoothingEnabled":"webkitImageSmoothingEnabled"in CanvasRenderingContext2D.prototype?"webkitImageSmoothingEnabled":"imageSmoothingEnabled"),a[kh]=!1}function Zb(a,b,c,d,e){d=W(b+d)-(b=V(b)),e=W(c+e)-(c=V(c)),a.clearRect(b,c,d,e),a.rect(b,c,d,e)}function V(a){return Math.floor(a)}function W(a){return Math.ceil(a)}function $b(a){var b=[];return a.forEach(function(a){b.push(-a)}),b}function _b(a){return a%=oh,0>a&&(a+=oh),a}function ac(a,b,c,d,e,f,g,h){var i=((a*d-b*c)*(e-g)-(a-c)*(e*h-f*g))/((a-c)*(f-h)-(b-d)*(e-g)),j=((a*d-b*c)*(f-h)-(b-d)*(e*h-f*g))/((a-c)*(f-h)-(b-d)*(e-g));if(isNaN(i)||isNaN(j))return!1;if(a>=c){if(!(i>=c&&a>=i))return!1}else if(!(i>=a&&c>=i))return!1;if(b>=d){if(!(j>=d&&b>=j))return!1}else if(!(j>=b&&d>=j))return!1;if(e>=g){if(!(i>=g&&e>=i))return!1}else if(!(i>=e&&g>=i))return!1;if(f>=h){if(!(j>=h&&f>=j))return!1}else if(!(j>=f&&h>=j))return!1;return!0}function bc(a,b){for(var c=0,d=a.length;d>c;){for(var e=a[c],f=a[(c+1)%d],g=0;4>g;){var h=b[g],i=b[(g+1)%d];if(ac(e[0],e[1],f[0],f[1],h[0],h[1],i[0],i[1]))return!0;g++}c++}return!1}function cc(a,b,c,d){return[a*d-b*c,a*c+b*d]}function dc(a){return a.parent?(a=a.parent,a._dy?a._dy:a instanceof zh&&a._gk===!1?a:null):null}function ec(a,b,c){if(c=c||b.toAgent,c==a)return!1;var d=a.getEdgeBundle(c);return d||(d=new Si(a,c),a._linkedNodes[c.id]=d),d._j0(b,a)}function fc(a,b,c){if(c=c||b.toAgent,c==a)return!1;var d=a.getEdgeBundle(c);return d?d._mzb(b,a):void 0}function gc(a,b,d){return d===c&&(d=b.toAgent),d!=a?(a._7z||(a._7z=new Se),a._7z.add(b)!==!1&&void a._mw8++):void 0}function hc(a,b,c){return!(!a._7z||a._7z.remove(b)===!1)&&(a._mw8--,void fc(a,b,c))}function ic(a,b){return b.fromAgent!=a?(a._9k||(a._9k=new Se),a._9k.add(b)!==!1&&void a._mxk++):void 0}function jc(a,b){return!(!a._9k||a._9k.remove(b)===!1)&&(a._mxk--,void fc(b.fromAgent,b,a))}function kc(a,b){if(b===c&&(b=a instanceof vh),b){if(a.isInvalid())return null;var d=kc(a.from,!1);if(a.isLooped())return d;for(var e=kc(a.to,!1);null!=d&&null!=e;){if(d==e)return d;if(d.isDescendantOf(e))return e;if(e.isDescendantOf(d))return d;d=kc(d,!1),e=kc(e,!1)}return null}for(var f=a.parent;null!=f;){if(f._io())return f;f=f.parent}return null}function lc(a,b,c){a._io()&&a.hasChildren()&&a.children.forEach(function(a){a instanceof wh&&b.add(a)&&lc(a,b,c)},this),a.hasFollowers()&&a._es.forEach(function(a){(null==c||c.accept(a))&&b.add(a)&&lc(a,b,c)})}function mc(a,b){b.parent?b.parent.setChildIndex(b,b.parent.childrenCount-1):a.roots.setIndex(b,a.roots.length-1)}function nc(a,b){if(b instanceof vh)return void(b.isInvalid()||pc(a,b));for(mc(a,b);b=b.parent;)mc(a,b)}function oc(a,b){if(b instanceof vh)return void(b.isInvalid()||pc(a,b));for(mc(a,b);b=b.parent;)mc(a,b)}function pc(a,b){var c=b.fromAgent;if(b.isLooped())mc(a,c);else{var d=b.toAgent;mc(a,c),mc(a,d)}}function qc(a,b){return a._mw8++,a._gx?(b._im=a._is,a._is._in=b,void(a._is=b)):(a._gx=b,void(a._is=b))}function rc(a,b){a._mw8--,a._is==b&&(a._is=b._im),b._im?b._im._in=b._in:a._gx=b._in,b._in&&(b._in._im=b._im),b._im=null,b._in=null,fc(a,b,b.$to)}function sc(a,b){return a._mxk++,a._iq?(b._kk=a._jt,a._jt._kn=b,void(a._jt=b)):(a._iq=b,void(a._jt=b))}function tc(a,b){a._mxk--,a._jt==b&&(a._jt=b._kk),b._kk?b._kk._kn=b._kn:a._iq=b._kn,b._kn&&(b._kn._kk=b._kk),b._kk=null,b._kn=null}function uc(a,b){return b=b||new Se,a.forEachEdge(function(a){b.add({id:a.id,edge:a,fromAgent:a.$from._dy,toAgent:a.$to._dy})}),a.forEachChild(function(a){a instanceof wh&&uc(a,b)}),b}function vc(a,b,c){return xc(a,b,c)!==!1&&wc(a,b,c)}function wc(a,b,c){if(a._gx)for(var d=a._gx;d;){if(b.call(c,d)===!1)return!1;d=d._in}}function xc(a,b,c){if(a._iq)for(var d=a._iq;d;){if(b.call(c,d)===!1)return!1;d=d._kn}}function yc(a,b,d,e,f,g,h){return g||h?(g=g||0,h=h===c?g:h||0,g=Math.min(g,e/2),h=Math.min(h,f/2),a.moveTo(b+g,d),a.lineTo(b+e-g,d),a.quadTo(b+e,d,b+e,d+h),a.lineTo(b+e,d+f-h),a.quadTo(b+e,d+f,b+e-g,d+f),a.lineTo(b+g,d+f),a.quadTo(b,d+f,b,d+f-h),a.lineTo(b,d+h),a.quadTo(b,d,b+g,d),a.closePath(),a):(a.moveTo(b,d),a.lineTo(b+e,d),a.lineTo(b+e,d+f),a.lineTo(b,d+f),a.closePath(),a)}function zc(a,b){var c=b.r||1,d=b.cx||0,e=b.cy||0,f=c*Math.tan(Math.PI/8),g=c*Math.sin(Math.PI/4);a.moveTo(d+c,e),a.quadTo(d+c,e+f,d+g,e+g),a.quadTo(d+f,e+c,d,e+c),a.quadTo(d-f,e+c,d-g,e+g),a.quadTo(d-c,e+f,d-c,e),a.quadTo(d-c,e-f,d-g,e-g),a.quadTo(d-f,e-c,d,e-c),a.quadTo(d+f,e-c,d+g,e-g),a.quadTo(d+c,e-f,d+c,e)}function Ac(a,b,c,d,e){b instanceof ab&&(d=b.width,e=b.height,c=b.cy-e/2,b=b.cx-d/2);var f=.5522848,g=d/2*f,h=e/2*f,i=b+d,j=c+e,k=b+d/2,l=c+e/2;return a.moveTo(b,l),a.curveTo(b,l-h,k-g,c,k,c),a.curveTo(k+g,c,i,l-h,i,l),a.curveTo(i,l+h,k+g,j,k,j),a.curveTo(k-g,j,b,l+h,b,l),a}function Bc(a,b,c,d,e){var f=2*d,g=2*e,h=b+d/2,i=c+e/2;return a.moveTo(h-f/4,i-g/12),a.lineTo(b+.306*d,c+.579*e),a.lineTo(h-f/6,i+g/4),a.lineTo(b+d/2,c+.733*e),a.lineTo(h+f/6,i+g/4),a.lineTo(b+.693*d,c+.579*e),a.lineTo(h+f/4,i-g/12),a.lineTo(b+.611*d,c+.332*e),a.lineTo(h+0,i-g/4),a.lineTo(b+.388*d,c+.332*e),a.closePath(),a}function Cc(a,b,c,d,e){return a.moveTo(b,c),a.lineTo(b+d,c+e/2),a.lineTo(b,c+e),a.closePath(),a}function Dc(a,b,c,d,e){return a.moveTo(b,c+e/2),a.lineTo(b+d/2,c),a.lineTo(b+d,c+e/2),a.lineTo(b+d/2,c+e),a.closePath(),a}function Ec(a,b,c,d,e,f){return a.moveTo(b,c),a.lineTo(b+d,c+e/2),a.lineTo(b,c+e),f||(a.lineTo(b+.25*d,c+e/2),a.closePath()),a}function Fc(a,b,c,d,e){if(!a||3>a)throw new Error("edge number must greater than 2");a=0|a,d=d||50,e=e||0,b=b||0,c=c||0;for(var f,g,h=0,i=2*Math.PI/a,j=new Rg;a>h;)f=b+d*Math.cos(e),g=c+d*Math.sin(e),h?j.lineTo(f,g):j.moveTo(f,g),++h,e+=i;return j.closePath(),j}function Gc(){var a=new Rg;return a.moveTo(75,40),a.curveTo(75,37,70,25,50,25),a.curveTo(20,25,20,62.5,20,62.5),a.curveTo(20,80,40,102,75,120),a.curveTo(110,102,130,80,130,62.5),a.curveTo(130,62.5,130,25,100,25),a.curveTo(85,25,75,37,75,40),a}function Hc(){var a=new Rg;return a.moveTo(20,0),a.lineTo(80,0),a.lineTo(100,100),a.lineTo(0,100),a.closePath(),a}function Ic(){var a=new Rg;return a.moveTo(100,0),a.lineTo(100,80),a.lineTo(0,100),a.lineTo(0,20),a.closePath(),a}function Jc(){var a=new Rg;return a.moveTo(20,0),a.lineTo(100,0),a.lineTo(80,100),a.lineTo(0,100),a.closePath(),a}function Kc(){var a=new Rg;return a.moveTo(43,23),a.lineTo(28,10),a.lineTo(37,2),a.lineTo(63,31),a.lineTo(37,59),a.lineTo(28,52),a.lineTo(44,38),a.lineTo(3,38),a.lineTo(3,23),a.closePath(),a}function Lc(){var a=new Rg;return a.moveTo(1,8),a.lineTo(7,2),a.lineTo(32,26),a.lineTo(7,50),a.lineTo(1,44),a.lineTo(18,26),a.closePath(),a.moveTo(27,8),a.lineTo(33,2),a.lineTo(57,26),a.lineTo(33,50),a.lineTo(27,44),a.lineTo(44,26),a.closePath(),a}function Mc(){var a=new Rg;return a.moveTo(0,15),a.lineTo(23,15),a.lineTo(23,1),a.lineTo(47,23),a.lineTo(23,43),a.lineTo(23,29),a.lineTo(0,29),a.closePath(),a}function Nc(){var a=new Rg;return a.moveTo(0,21),a.lineTo(30,21),a.lineTo(19,0),a.lineTo(25,0),a.lineTo(47,25),a.lineTo(25,48),a.lineTo(19,48),a.lineTo(30,28),a.lineTo(0,28),a.closePath(),a}function Oc(){var a=new Rg;return a.moveTo(0,0),a.lineTo(34,24),a.lineTo(0,48),a.lineTo(14,24),a.closePath(),a}function Pc(){var a=new Rg;return a.moveTo(20,0),a.lineTo(34,14),a.lineTo(20,28),a.lineTo(22,18),a.lineTo(1,25),a.lineTo(10,14),a.lineTo(1,3),a.lineTo(22,10),a.closePath(),a}function Qc(){var a=new Rg;return a.moveTo(4,18),a.lineTo(45,18),a.lineTo(37,4),a.lineTo(83,25),a.lineTo(37,46),a.lineTo(45,32),a.lineTo(4,32),a.closePath(),a}function Rc(){var a=new Rg;return a.moveTo(17,11),a.lineTo(27,11),a.lineTo(42,27),a.lineTo(27,42),a.lineTo(17,42),a.lineTo(28,30),a.lineTo(4,30),a.lineTo(4,23),a.lineTo(28,23),a.closePath(),a}function Sc(){yh.register(gg.SHAPE_CIRCLE,Ac(new Rg,0,0,100,100)),yh.register(gg.SHAPE_RECT,yc(new Rg,0,0,100,100)),yh.register(gg.SHAPE_ROUNDRECT,yc(new Rg,0,0,100,100,20,20)),yh.register(gg.SHAPE_STAR,Bc(new Rg,0,0,100,100)),yh.register(gg.SHAPE_TRIANGLE,Cc(new Rg,0,0,100,100)),yh.register(gg.SHAPE_PENTAGON,Fc(5)),yh.register(gg.SHAPE_HEXAGON,Fc(6)),yh.register(gg.SHAPE_DIAMOND,Dc(new Rg,0,0,100,100)),yh.register(gg.SHAPE_HEART,Gc()),yh.register(gg.SHAPE_TRAPEZIUM,Hc()),yh.register(gg.SHAPE_RHOMBUS,Ic()),yh.register(gg.SHAPE_PARALLELOGRAM,Jc());var a=new Rg;a.moveTo(20,0),a.lineTo(40,0),a.lineTo(40,20),a.lineTo(60,20),a.lineTo(60,40),a.lineTo(40,40),a.lineTo(40,60),a.lineTo(20,60),a.lineTo(20,40),a.lineTo(0,40),a.lineTo(0,20),a.lineTo(20,20),a.closePath(),yh.register(gg.SHAPE_CROSS,a),yh.register(gg.SHAPE_ARROW_STANDARD,Ec(new Rg,0,0,100,100)),yh.register(gg.SHAPE_ARROW_1,Kc()),yh.register(gg.SHAPE_ARROW_2,Lc()),yh.register(gg.SHAPE_ARROW_3,Mc()),yh.register(gg.SHAPE_ARROW_4,Nc()),yh.register(gg.SHAPE_ARROW_5,Oc()),yh.register(gg.SHAPE_ARROW_6,Pc()),yh.register(gg.SHAPE_ARROW_7,Qc()),yh.register(gg.SHAPE_ARROW_8,Rc()),yh.register(gg.SHAPE_ARROW_OPEN,Ec(new Rg,0,0,100,100,!0))}function Tc(){x(this,Tc,arguments),this.busLayout=!0}function Uc(){x(this,Uc),this._$u=new qf}function Vc(){if(this._gk===!0){var a=this._7z,b=this._9k;if(a)for(a=a._k7;a.length;){var c=a[0];hc(this,c,c.toAgent)}if(b)for(b=b._k7;b.length;){var c=b[0];jc(this,c,c.fromAgent)}return void this.forEachChild(function(a){a._io()&&Vc.call(a)})}var d=uc(this);d.forEach(function(a){a=a.edge;var b=a.$from,c=a.$to,d=b.isDescendantOf(this),e=c.isDescendantOf(this);d&&!e?(gc(this,a),ec(this,a)):e&&!d&&(ic(this,a),ec(a.fromAgent,a,this))},this)}function Wc(){x(this,Wc,arguments),this.$image=null}function Xc(a,b,c,d){return a[b]=c,d?{get:function(){return this[b]},set:function(a){if(a!==this[b]){this[b]=a,!this._mwl,this._1i=!0;for(var c=d.length;--c>=0;)this[d[c]]=!0}}}:{get:function(){return this[b]},set:function(a){a!==this[b]&&(this[b]=a)}}}function Yc(a,b){var c={},d={};for(var e in b){var f=b[e];f.validateFlags&&f.validateFlags.forEach(function(a,b,c){c[b]="$invalidate"+a,d[a]=!0}),c[e]=Xc(a,"$"+e,f.value,f.validateFlags)}for(var g in d)a["$invalidate"+g]=!0;Object.defineProperties(a,c)}function Zc(a,b,c,d){if(Array.isArray(b))for(var e=b.length;--e>=0;)Zc(a,b[e],c,d);else{var f=b.target;if(f){if(f instanceof Ah||(f=a[f]),!f)return}else f=a;if(d||(d=a.getProperty(b.property,c)),b.bindingProperty&&(f[b.bindingProperty]=d),b.callback){var g=b.callback;g instanceof Function||(g=a[g]),g instanceof Function&&g.call(a,d,f)}}}function $c(){Bh.forEach(function(a){this[a]={}},this)}function _c(a,b,c,d){return d==gg.PROPERTY_TYPE_ACCESSOR?void(a[c]=b):d==gg.PROPERTY_TYPE_CLIENT?void a.set(c,b):d==gg.PROPERTY_TYPE_STYLE&&void a.setStyle(c,b)}function ad(){x(this,ad,arguments)}function bd(){x(this,bd,arguments)}function cd(a,b,c,d){var e=dd(a,b,c,d),f=[];if(hd(a))ed(e,b,c,f,d.getStyle(Ch.EDGE_EXTEND));else{rd(a,b,c,f,e,d);var g=fd(a,d),h=g?md(a,e,b,c,d.getStyle(Ch.EDGE_SPLIT_PERCENT)):d.getStyle(Ch.EDGE_SPLIT_VALUE);0==h&&(e=!e)}return f}function dd(a,b,c){if(null!=a){if(a==gg.EDGE_TYPE_ELBOW_HORIZONTAL||a==gg.EDGE_TYPE_ORTHOGONAL_HORIZONTAL||a==gg.EDGE_TYPE_HORIZONTAL_VERTICAL||a==gg.EDGE_TYPE_EXTEND_LEFT||a==gg.EDGE_TYPE_EXTEND_RIGHT)return!0;if(a==gg.EDGE_TYPE_ELBOW_VERTICAL||a==gg.EDGE_TYPE_ORTHOGONAL_VERTICAL||a==gg.EDGE_TYPE_VERTICAL_HORIZONTAL||a==gg.EDGE_TYPE_EXTEND_TOP||a==gg.EDGE_TYPE_EXTEND_BOTTOM)return!1}var d=kd(b,c),e=ld(b,c);return d>=e}function ed(a,b,c,d,e){a?wd(b,c,d,e):xd(b,c,d,e)}function fd(a,b){return b.getStyle(Ch.EDGE_SPLIT_BY_PERCENT)}function gd(a){return null!=a&&(a==gg.EDGE_TYPE_EXTEND_TOP||a==gg.EDGE_TYPE_EXTEND_LEFT||a==gg.EDGE_TYPE_EXTEND_BOTTOM||a==gg.EDGE_TYPE_EXTEND_RIGHT)}function hd(a){return a&&(a==gg.EDGE_TYPE_ELBOW||a==gg.EDGE_TYPE_ELBOW_HORIZONTAL||a==gg.EDGE_TYPE_ELBOW_VERTICAL)}function id(a,b,c,d,e){if(a==gg.EDGE_TYPE_HORIZONTAL_VERTICAL||a==gg.EDGE_TYPE_VERTICAL_HORIZONTAL)return new Ve(d.x+d.width/2,d.y+d.height/2);var f;if(gd(a)){var g=Math.min(c.y,d.y),h=Math.min(c.x,d.x),i=Math.max(c.bottom,d.bottom),j=Math.max(c.right,d.right);if(f=e.getStyle(Ch.EDGE_EXTEND),a==gg.EDGE_TYPE_EXTEND_TOP)return new Ve((h+j)/2,g-f);if(a==gg.EDGE_TYPE_EXTEND_LEFT)return new Ve(h-f,(g+i)/2);if(a==gg.EDGE_TYPE_EXTEND_BOTTOM)return new Ve((h+j)/2,i+f);if(a==gg.EDGE_TYPE_EXTEND_RIGHT)return new Ve(j+f,(g+i)/2)}var k=fd(a,e);if(f=k?md(a,b,c,d,e.getStyle(Ch.EDGE_SPLIT_PERCENT)):e.getStyle(Ch.EDGE_SPLIT_VALUE),f==Number.NEGATIVE_INFINITY||f==Number.POSITIVE_INFINITY)return new Ve(d.x+d.width/2,d.y+d.height/2);if(0==f)return new Ve(c.x+c.width/2,c.y+c.height/2);if(b){var l=c.x+c.right<d.x+d.right;return new Ve(pd(l,f,c.x,c.width),c.y+c.height/2)}var m=c.y+c.bottom<d.y+d.bottom;return new Ve(c.x+c.width/2,pd(m,f,c.y,c.height))}function jd(a,b,c,d){var e=Math.max(b,d)-Math.min(a,c);return e-(b-a+d-c)}function kd(a,b){var c=Math.max(a.x+a.width,b.x+b.width)-Math.min(a.x,b.x);
+return c-a.width-b.width}function ld(a,b){var c=Math.max(a.y+a.height,b.y+b.height)-Math.min(a.y,b.y);return c-a.height-b.height}function md(a,b,c,d,e){var f=nd(e,b,c,d,null);return f*e}function nd(a,b,c,d){return b?od(a,c.x,c.right,d.x,d.right):od(a,c.y,c.bottom,d.y,d.bottom)}function od(a,b,c,d,e){var f=jd(b,c,d,e),g=d+e>b+c;if(f>0){if(1==a)return f+(e-d)/2;if(a>=0&&1>a)return f;if(0>a)return g?d-b:c-e}return Math.abs(g&&a>0||!g&&0>a?c-e:b-d)}function pd(a,b,c,d){return a==b>0?c+d+Math.abs(b):c-Math.abs(b)}function qd(a,b){var c=a.length;if(!(3>c)){var d=b.getStyle(Ch.EDGE_CORNER);if(d!=gg.EDGE_CORNER_NONE){var e=b.getStyle(Ch.EDGE_CORNER_RADIUS),f=0,g=0;e&&(K(e)?f=g=e:(f=e.x||0,g=e.y||0));for(var h,i,j,k,l=a[0],m=a[1],n=null,o=2;c>o;o++){var p=a[o],q=m.x-l.x,r=m.y-l.y,u=p.x-m.x,v=p.y-m.y,w=!q||q>-mg&&mg>q,x=!r||r>-mg&&mg>r,y=!u||u>-mg&&mg>u,z=!v||v>-mg&&mg>v,A=x;(w&&z||x&&y)&&(A?(h=Math.min(2==o?Math.abs(q):Math.abs(q)/2,f),i=Math.min(o==c-1?Math.abs(v):Math.abs(v)/2,g),j=new Ve(m.x-(q>0?h:-h),m.y),k=new Ve(m.x,m.y+(v>0?i:-i))):(h=Math.min(o==c-1?Math.abs(u):Math.abs(u)/2,f),i=Math.min(2==o?Math.abs(r):Math.abs(r)/2,g),j=new Ve(m.x,m.y-(r>0?i:-i)),k=new Ve(m.x+(u>0?h:-h),m.y)),t(a,m),o--,c--,(j.x!=l.x||j.y!=l.y)&&(s(a,j,o),o++,c++),d==gg.EDGE_CORNER_BEVEL?(s(a,k,o),o++,c++):d==gg.EDGE_CORNER_ROUND&&(s(a,[m,k],o),o++,c++)),l=m,m=p}null!=n&&k.x==m.x&&k.y==m.y&&t(a,m)}}}function rd(a,b,c,d,e,f){var g=f.getStyle(Ch.EDGE_CONTROL_POINT),h=null==g;if(null!=g){var i=(new Ze).union(b).union(c);i.intersects(g)||(e=sd(g.x,g.y,i.y,i.x,i.bottom,i.right))}else g=id(a,e,b,c,f);e?vd(b,c,g,d,h):ud(b,c,g,d,h)}function sd(a,b,c,d,e,f){return!(c>b&&c-b>d-a&&c-b>a-f||b>e&&b-e>d-a&&b-e>a-f)}function td(a,b,c){return b>=a.x&&b<=a.right&&c>=a.y&&c<=a.bottom}function ud(a,b,c,d,e){var f=Math.max(a.y,b.y),g=Math.min(a.y+a.height,b.y+b.height),h=null!=c?c.y:g+(f-g)/2,i=a.x+a.width/2,j=b.x+b.width/2;if(0==e&&null!=c&&(c.x>=a.x&&c.x<=a.x+a.width&&(i=c.x),c.x>=b.x&&c.x<=b.x+b.width&&(j=c.x)),td(b,i,h)||td(a,i,h)||d.push(new Ve(i,h)),td(b,j,h)||td(a,j,h)||d.push(new Ve(j,h)),0==d.length)if(null!=c)td(b,c.x,h)||td(a,c.x,h)||d.push(new Ve(c.x,h));else{var k=Math.max(a.x,b.x),l=Math.min(a.x+a.width,b.x+b.width);d.push(new Ve(k+(l-k)/2,h))}}function vd(a,b,c,d,e){var f=Math.max(a.x,b.x),g=Math.min(a.x+a.width,b.x+b.width),h=null!=c?c.x:g+(f-g)/2,i=a.y+a.height/2,j=b.y+b.height/2;if(0==e&&null!=c&&(c.y>=a.y&&c.y<=a.y+a.height&&(i=c.y),c.y>=b.y&&c.y<=b.y+b.height&&(j=c.y)),td(b,h,i)||td(a,h,i)||d.push(new Ve(h,i)),td(b,h,j)||td(a,h,j)||d.push(new Ve(h,j)),0==d.length)if(null!=c)td(b,h,c.y)||td(a,h,c.y)||d.push(new Ve(h,c.y));else{var k=Math.max(a.y,b.y),l=Math.min(a.y+a.height,b.y+b.height);d.push(new Ve(h,k+(l-k)/2))}}function wd(a,b,c,d){var e=b.x+b.width<a.x,f=a.x+a.width<b.x,g=e?a.x:a.x+a.width,h=a.y+a.height/2,i=f?b.x:b.x+b.width,j=b.y+b.height/2,k=d,l=e?-k:k,m=new Ve(g+l,h);l=f?-k:k;var n=new Ve(i+l,j);if(e==f){var o=e?Math.min(g,i)-d:Math.max(g,i)+d;c.push(new Ve(o,h)),c.push(new Ve(o,j))}else if(m.x<n.x==e){var p=h+(j-h)/2;c.push(m),c.push(new Ve(m.x,p)),c.push(new Ve(n.x,p)),c.push(n)}else c.push(m),c.push(n)}function xd(a,b,c,d){var e=b.y+b.height<a.y,f=a.y+a.height<b.y,g=a.x+a.width/2,h=e?a.y:a.y+a.height,i=b.x+b.width/2,j=f?b.y:b.y+b.height,k=d,l=e?-k:k,m=new Ve(g,h+l);l=f?-k:k;var n=new Ve(i,j+l);if(e==f){var o=e?Math.min(h,j)-d:Math.max(h,j)+d;c.push(new Ve(g,o)),c.push(new Ve(i,o))}else if(m.y<n.y==e){var p=g+(i-g)/2;c.push(m),c.push(new Ve(p,m.y)),c.push(new Ve(p,n.y)),c.push(n)}else c.push(m),c.push(n)}function yd(a){return a==gg.EDGE_TYPE_ORTHOGONAL||a==gg.EDGE_TYPE_ORTHOGONAL_HORIZONTAL||a==gg.EDGE_TYPE_HORIZONTAL_VERTICAL||a==gg.EDGE_TYPE_ORTHOGONAL_VERTICAL||a==gg.EDGE_TYPE_VERTICAL_HORIZONTAL||a==gg.EDGE_TYPE_EXTEND_TOP||a==gg.EDGE_TYPE_EXTEND_LEFT||a==gg.EDGE_TYPE_EXTEND_BOTTOM||a==gg.EDGE_TYPE_EXTEND_RIGHT||a==gg.EDGE_TYPE_ELBOW||a==gg.EDGE_TYPE_ELBOW_HORIZONTAL||a==gg.EDGE_TYPE_ELBOW_VERTICAL}function zd(a,b){var c,d;b&&b.width&&b.height?(c=b.width,d=b.height):c=d=isNaN(b)?Re.ARROW_SIZE:b;var e=yh.getShape(a,-c,-d/2,c,d);return e||(e=new Rg,e.moveTo(-c,-d/2),e.lineTo(0,0),e.lineTo(-c,d/2)),e}function Ad(a,b){var c=Math.sin(b),d=Math.cos(b),e=a.x,f=a.y;return a.x=e*d-f*c,a.y=e*c+f*d,a}function Bd(a,b,c,d,e,f){var g=Math.atan2(d-b,c-a),h=new Ve(e,f);return h.rotate=g,Ad(h,g),h.x+=a,h.y+=b,h}function Cd(a,b,d,e,f){b=ea(e,b.x,b.y,d.x,d.y),d=ea(f,d.x,d.y,b.x,b.y);var g=Math.PI/2+Math.atan2(d.y-b.y,d.x-b.x),h=a*Math.cos(g),i=a*Math.sin(g),j=d.x-b.x,k=d.y-b.y,l=b.x+.25*j,m=b.y+.25*k,n=b.x+.75*j,o=b.y+.75*k;return[new Pg(Mg,[l+h,m+i,n+h,o+i,c,c])]}function Dd(a,b,d){if(s(a,new Pg(Jg,[b.x,b.y]),0),d){if(a.length>1){var e=a[a.length-1];if(Lg==e.type&&(e.invalidTerminal||e.points[2]===c||null===e.points[2]))return e.points[2]=d.x,e.points[3]=d.y,void(e.invalidTerminal=!0);if(Mg==e.type&&(e.invalidTerminal||e.points[4]===c||null===e.points[4]))return e.points[4]=d.x,e.points[5]=d.y,void(e.invalidTerminal=!0)}a.push(new Pg(Kg,[d.x,d.y]))}}function Ed(a,b,c,d,e,f,g,h){return b.hasPathSegments()?void(c._h3=b._mw5.toDatas()):d==e?void a.drawLoopedEdge(c,d,f,g):void a.drawEdge(c,d,e,f,g,h)}function Fd(a,b,c,d,e){var f=d==e,g=a.graph.getUI(d),h=f?g:a.graph.getUI(e);if(g&&h){var i=b.edgeType,j=g.bodyBounds.clone(),k=f?j:h.bodyBounds.clone(),l=a.getStyle(Ch.EDGE_FROM_OFFSET),m=a.getStyle(Ch.EDGE_TO_OFFSET);l&&(j.x+=l.x||0,j.y+=l.y||0),m&&(k.x+=m.x||0,k.y+=m.y||0);var n=b.hasPathSegments();if(!f&&!i&&!n){var o=d.busLayout,p=e.busLayout;if(o!=p){var q,r,s,t,u=b.angle;o?(q=g,r=j,s=h,t=k):(q=h,r=k,s=g,t=j);var v=Ld(r,q,o,s,t,u);if(v&&2==v.length){var w=v[0],x=v[1];return c.moveTo(w.x,w.y),x.x==w.x&&x.y==w.y&&(x.y+=.01),c.lineTo(x.x,x.y),void(c._6n=!0)}}}Ed(a,b,c,g,h,i,j,k),(!f||n)&&Gd(a,b,c,g,h,i,j,k),c._6n=!0}}function Gd(a,b,d,e,f,g,h,i){var j=h.center,k=i.center,l=a.fromAtEdge,m=a.toAtEdge;if(!l&&!m)return void Dd(d._h3,j,k);var n=d._h3;if(n.length){if(l){var o=n[0],p=o.firstPoint;h.contains(p.x,p.y)&&(o.type==Mg?(j=p,p={x:o.points[2],y:o.points[3]},o.points=o.points.slice(2),o.type=Lg):o.type==Lg&&(j=p,p={x:o.points[0],y:o.points[1]},o.points=o.points.slice(2),o.type=Kg)),Hd(e,h,p,j,c,c)}if(m){var q,r=n[n.length-1],s=r.lastPoint,t=r.points.length,u=s.x===c||s.y===c;t>=4&&(u||i.contains(s.x,s.y))&&(u||(k=s),q=!0,s={x:r.points[t-4],y:r.points[t-3]},i.contains(s.x,s.y)&&(k=s,t>=6?(s={x:r.points[t-6],y:r.points[t-5]},r.points=r.points.slice(0,4),r.type=Lg):1==n.length?(s={x:j.x,y:j.y},r.points=r.points.slice(0,2),r.type=Kg):(r=n[n.length-2],s=r.lastPoint))),Hd(f,i,s,k,c,c),q&&(t=r.points.length,r.points[t-2]=k.x,r.points[t-1]=k.y,k=null)}}else{var v=Math.atan2(k.y-j.y,k.x-j.x),w=Math.cos(v),x=Math.sin(v);l&&Hd(e,h,k,j,w,x),m&&Hd(f,i,j,k,-w,-x)}Dd(d._h3,j,k)}function Hd(a,b,d,e,f,g){if(f===c){var h=Math.atan2(d.y-e.y,d.x-e.x);f=Math.cos(h),g=Math.sin(h)}for(d={x:d.x,y:d.y},b.contains(d.x,d.y)||(d=ea(b,e.x,e.y,d.x,d.y));;){if(!b.contains(d.x,d.y))return e;if(a.hitTest(d.x-f,d.y-g,Re.LOOKING_EDGE_ENDPOINT_TOLERANCE)){e.x=d.x-f/2,e.y=d.y-g/2;break}d.x-=f,d.y-=g}return e}function Id(a,b,c,d,e,f,g,h){if(b.hasPathSegments())return b._mw5;var i=b.edgeType;if(yd(i)){var j=cd(i,c,d,a,e,f);if(!j||!j.length)return null;s(j,g,0),j.push(h),i!=gg.EDGE_TYPE_ELBOW&&qd(j,a);for(var k=[],l=j.length,m=1;l-1>m;m++){var n=j[m];k.push(N(n)?new Pg(Lg,[n[0].x,n[0].y,n[1].x,n[1].y]):new Pg(Kg,[n.x,n.y]))}return k}if(b.$bundleEnabled){var o=a._1z();if(!o)return;return Cd(o,g,h,c,d)}}function Jd(a,b,c){var d=a.getStyle(Ch.EDGE_LOOPED_EXTAND),e=a._1z(),f=d+.2*e,g=b.x+b.width-f,h=b.y,i=b.x+b.width,j=b.y+f;d+=e;var k=.707,l=-.707,m=b.x+b.width,n=b.y,o=m+k*d,p=n+l*d,q={x:g,y:h},r={x:o,y:p},s={x:i,y:j},t=q.x,u=r.x,v=s.x,w=q.y,x=r.y,y=s.y,z=((y-w)*(x*x-w*w+u*u-t*t)+(x-w)*(w*w-y*y+t*t-v*v))/(2*(u-t)*(y-w)-2*(v-t)*(x-w)),A=((v-t)*(u*u-t*t+x*x-w*w)+(u-t)*(t*t-v*v+w*w-y*y))/(2*(x-w)*(v-t)-2*(y-w)*(u-t)),f=Math.sqrt((t-z)*(t-z)+(w-A)*(w-A)),B=Math.atan2(q.y-A,q.x-z),C=Math.atan2(s.y-A,s.x-z),D=C-B;return 0>D&&(D+=2*Math.PI),Kd(z,A,B,D,f,f,!0,c)}function Kd(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s;if(Math.abs(d)>2*Math.PI&&(d=2*Math.PI),m=Math.ceil(Math.abs(d)/(Math.PI/4)),i=d/m,j=i,k=c,m>0){n=a+Math.cos(k)*e,o=b+Math.sin(k)*f,moveTo?h.moveTo(n,o):h.lineTo(n,o);for(var t=0;m>t;t++)k+=j,l=k-j/2,p=a+Math.cos(k)*e,q=b+Math.sin(k)*f,r=a+Math.cos(l)*(e/Math.cos(j/2)),s=b+Math.sin(l)*(f/Math.cos(j/2)),h.quadTo(r,s,p,q)}}function Ld(a,b,d,e,f,g){var h=f.cx,i=f.cy,j=h<a.x,k=h>a.right,l=i<a.y,m=i>a.bottom,n=a.cx,o=a.cy,p=j||k,q=l||m,r=g===c||null===g;r&&(g=Math.atan2(i-o,h-n),p||q||(g+=Math.PI));var s=Math.cos(g),t=Math.sin(g),u=Nd(b,a,{x:h,y:i},-s,-t);u||(g=Math.atan2(i-o,h-n),p||q||(g+=Math.PI),s=Math.cos(g),t=Math.sin(g),u=Nd(b,a,{x:h,y:i},-s,-t)||{x:n,y:o});var v=Nd(e,f,{x:u.x,y:u.y},-u.perX||s,-u.perY||t,!1)||{x:h,y:i};return d?[u,v]:[v,u]}function Md(a,b,c,d,e,f){var g=b<a.x,h=b>a.right,i=c<a.y,j=c>a.bottom;if(g&&d>0){var k=a.x-b,l=c+k*e/d;if(l>=a.y&&l<=a.bottom)return{x:a.x,y:l,perX:d,perY:e}}if(h&&0>d){var k=a.right-b,l=c+k*e/d;if(l>=a.y&&l<=a.bottom)return{x:a.right,y:l,perX:d,perY:e}}if(i&&e>0){var m=a.y-c,n=b+m*d/e;if(n>=a.x&&n<=a.right)return{x:n,y:a.y,perX:d,perY:e}}if(j&&0>e){var m=a.bottom-c,n=b+m*d/e;if(n>=a.x&&n<=a.right)return{x:n,y:a.bottom,perX:d,perY:e}}return f!==!1?Md(a,b,c,-d,-e,!1):void 0}function Nd(a,b,c,d,e,f){if(!b.contains(c.x,c.y)){if(c=Md(b,c.x,c.y,d,e,f),!c)return;return Od(a,b,c,c.perX,c.perY)}return f===!1?Od(a,b,c,d,e):Od(a,b,{x:c.x,y:c.y,perX:d,perY:e},d,e)||Od(a,b,c,-d,-e)}function Od(a,b,c,d,e){for(;;){if(!b.contains(c.x,c.y))return;if(a.hitTest(c.x+d,c.y+e))break;c.x+=d,c.y+=e}return c}function Pd(a){return sb(a)?a:a.match(/.(gif|jpg|jpeg|png)$/gi)?a:(a=$(a),a instanceof Object&&a.draw?a:void 0)}function Qd(a){for(var b=a.parent;b;){if(b.enableSubNetwork)return b;b=b.parent}return null}function Rd(){x(this,Rd,arguments)}function Sd(a,c,d,e,f,g,h){var i=b.createElement("div");i.className="Q-Graph-Nav-Button",oa(i,Uh),c&&oa(i,c);var j=b.createElement("img");return g&&(Pe&&(j.ontouchstart=g),Hf||(j.onclick=g)),j.name=h,j.src=d,oa(j,Vh),f&&oa(j,f),e&&qa(j,"transform","rotate(180deg)"),i._img=j,i.appendChild(j),a.appendChild(i),i}function Td(a,c){this._navPane=b.createElement("div"),this._navPane.className="Q-Graph-Nav",oa(this._navPane,{"background-color":"rgba(0, 0, 0, 0)",overflow:"hidden","user-select":"none",position:"relative"}),this._top=Sd(this._navPane,{width:"100%"},Re.NAVIGATION_IMAGE_TOP,!1,null,c,"top"),this._left=Sd(this._navPane,{height:"100%"},Re.NAVIGATION_IMAGE_LEFT,!1,Wh,c,"left"),this._right=Sd(this._navPane,{height:"100%",right:"0px"},Re.NAVIGATION_IMAGE_LEFT,!0,Wh,c,"right"),this._mxottom=Sd(this._navPane,{width:"100%",bottom:"0px"},Re.NAVIGATION_IMAGE_TOP,!0,null,c,"bottom"),a.appendChild(this._navPane)}function Ud(a,b){if(!Re.NAVIGATION_IMAGE_LEFT){var c=Ga(20,40),d=c.g;d.scale(d.ratio,d.ratio),d.moveTo(16,4),d.lineTo(4,20),d.lineTo(16,36),d.lineWidth=3,d.lineCap="round",d.lineJoin="round",d.strokeStyle="#FFF",d.shadowColor="#888",d.shadowBlur=5,d.stroke(),Re.NAVIGATION_IMAGE_LEFT=c.toDataURL();var e=Ga(c.height,c.width,!1);e.g.translate(e.width,0),e.g.rotate(Math.PI/2),e.g.drawImage(c,0,0),Re.NAVIGATION_IMAGE_TOP=e.toDataURL()}this._mxaseCanvas=a;var f=function(b){Q(b);var c,d,e=b.target,f=e.name;if("left"==f)c=1;else if("right"==f)c=-1;else if("top"==f)d=1;else{if("bottom"!=f)return;d=-1}Pe&&(e.className="hover",setTimeout(function(){e.className=""},100)),Q(b),a._l0._mwi(c,d)};Td.call(this,b,f),this._3f(b.clientWidth,b.clientHeight)}function Vd(a,b){this._mxaseCanvas=a,this.init(b,a)}function Wd(){x(this,Wd,arguments)}function Xd(a,b){this._mxaseCanvas=a,this._jh=Wb(b),this.g=this._jh.g,this._mwe=new Se}function Yd(a){var b=a.selectionModel,c=[];return a.graphModel.forEach(function(b){a.isVisible(b)&&a.isSelectable(b)&&c.push(b)}),b.set(c)}function Zd(a,b,c){var d=a.bounds;c=c||d,b=b||1;var e=null;e&&c.width*c.height*b*b>e&&(b=Math.sqrt(e/c.width/c.height));var f=Ga();Ub(f.g),f.width=c.width*b,f.height=c.height*b,a._8h._hu(f.g,b,c);var g=null;try{g=f.toDataURL("image/png")}catch(h){fg.error(h)}return{canvas:f,data:g,width:f.width,height:f.height}}function $d(a){this.graph=a,this.topCanvas=a.topCanvas}function _d(a,b){this.interactions=a,this.defaultCursor=b||"default"}function ae(){x(this,ae,arguments)}function be(a,b){if(!a)return b;var d={};for(var e in a)d[e]=a[e];for(var e in b)d[e]===c&&(d[e]=b[e]);return d}function ce(){x(this,ce,arguments)}function de(){x(this,de,arguments)}function ee(){x(this,ee,arguments)}function fe(){x(this,fe,arguments)}function ge(b,c,d){b+=a.pageXOffset,c+=a.pageYOffset;var e=d.getBoundingClientRect();return{x:b+e.left,y:c+e.top}}function he(a,b,c){var d=a.offsetWidth,e=a.offsetHeight;a.style.left=b-d/2+"px",a.style.top=c-e/2+"px"}function ie(a){var c=b.createElement("canvas"),d=c.getContext("2d"),e=getComputedStyle(a,null),f=e.font;f||(f=e.fontStyle+" "+e.fontSize+" "+e.fontFamily),d.font=f;var g=a.value,h=g.split("\n"),i=parseInt(e.fontSize),j=0,k=0;return fg.forEach(h,function(a){var b=d.measureText(a).width;b>j&&(j=b),k+=1.2*i}),{width:j,height:k}}function je(a,c){if("number"==typeof a.selectionStart&&"number"==typeof a.selectionEnd){var d=a.value,e=a.selectionStart;a.value=d.slice(0,e)+c+d.slice(a.selectionEnd),a.selectionEnd=a.selectionStart=e+c.length}else if("undefined"!=typeof b.selection){var f=b.selection.createRange();f.text=c,f.collapse(!1),f.select()}}function ke(b){if(De){var c=a.scrollX||a.pageXOffset,d=a.scrollY||a.pageYOffset;return b.select(),void a.scrollTo(c,d)}b.select()}function le(){}function me(a){this.graph=a,this.topCanvas=a.topCanvas,this.handlerSize=Pe?8:5}function ne(a){return a.type==Lg||a.type==Mg}function oe(a){this.graph=a,this.topCanvas=a.topCanvas,this.handlerSize=Pe?8:4,this._rotateHandleLength=Pe?30:20}function pe(a,b){var c=new Ze;return c.addPoint(Nb.call(a,{x:b.x,y:b.y})),c.addPoint(Nb.call(a,{x:b.x+b.width,y:b.y})),c.addPoint(Nb.call(a,{x:b.x+b.width,y:b.y+b.height})),c.addPoint(Nb.call(a,{x:b.x,y:b.y+b.height})),c}function qe(a){a%=2*Math.PI;var b=Math.round(a/Zh);return 0==b||4==b?"ew-resize":1==b||5==b?"nwse-resize":2==b||6==b?"ns-resize":"nesw-resize"}function re(c,d,e){var f=b.documentElement,g=new fg.Rect(a.pageXOffset,a.pageYOffset,f.clientWidth-2,f.clientHeight-2),h=c.offsetWidth,i=c.offsetHeight;d+h>g.x+g.width&&(d=g.x+g.width-h),e+i>g.y+g.height&&(e=g.y+g.height-i),d<g.x&&(d=g.x),e<g.y&&(e=g.y),c.style.left=d+"px",c.style.top=e+"px"}function se(a,b,c,d,e){this.source=a,this.type="interaction",this.kind=b,this.event=c,this.data=d,this.datas=e}function te(a){this._4u={},this._l0=a,this._l0._1k.addListener(this._mw0,this),this.currentMode=gg.INTERACTION_MODE_DEFAULT}function ue(a){return a>=100&&200>a}function ve(a){return a==qi||a==yi||a==xi||a==ti||a==Bi||a==Ci}function we(){var a,b,c={},d=[],e=0,f={},g=0;this.graph.forEach(function(h){if(this.isLayoutable(h))if(h instanceof wh){var i={node:h,id:h.id,x:h.x,y:h.y};for(this.appendNodeInfo&&this.appendNodeInfo(h,i),c[h.id]=i,d.push(i),e++,b=h.parent;b instanceof zh;){a||(a={});var j=a[b.id];j||(j=a[b.id]={id:b.id,children:[]}),j.children.push(i),b=b.parent}}else if(h instanceof vh&&!h.isLooped()&&h.fromAgent&&h.toAgent){var i={edge:h};f[h.id]=i,g++}},this);var h={};for(var i in f){var j=f[i],k=j.edge,l=k.fromAgent,m=k.toAgent,n=l.id+"-"+m.id,o=m.id+"-"+l.id;if(c[l.id]&&c[m.id]&&!h[n]&&!h[o]){var p=c[l.id],q=c[m.id];j.from=p,j.to=q,h[n]=j,this.appendEdgeInfo&&this.appendEdgeInfo(k,j)}else delete f[i],g--}return{groups:a,nodesArray:d,nodes:c,nodeCount:e,edges:f,edgeCount:g,minEnergy:this.minEnergyFunction(e,g)}}function xe(a){this.graph=a,this.currentMovingNodes={}}function ye(){x(this,ye,arguments)}function ze(a,b,c,d,e){d?a.forEachEdge(function(d){var f=d.otherNode(a);f!=c&&f._marker!=e&&b(f,a)},this,!0):a.forEachOutEdge(function(d){var f=d.toAgent;f!=c&&f._marker!=e&&b(f,a)})}var Ae=0;if(a.navigator){var Be=navigator.userAgent,Ce=/opera/i.test(Be),De=!Ce&&/msie/i.test(Be),Ee=/rv:11.0/i.test(Be),Fe=/MSIE 10./i.test(Be);if(Ee&&(De=!0),/msie\s[6,7,8]/i.test(Be))throw new Error("your browser is not supported");var Ge=/webkit|khtml/i.test(Be),He=!Ge&&/gecko/i.test(Be),Ie=/firefox\//i.test(Be),Je=/Chrome\//i.test(Be),Ke=!Je&&/Safari\//i.test(Be),Le=/Macintosh;/i.test(Be),Me=/(iPad|iPhone|iPod)/g.test(Be),Ne=/Android/g.test(Be),Oe=/Windows Phone/g.test(Be),Pe=(Me||Ne||Oe)&&"ontouchstart"in a,Qe=Be.match(/AppleWebKit\/([0-9\.]*)/);if(Qe&&Qe.length>1){parseFloat(Qe[1])}Ne&&parseFloat(Be.match(/Android\s([0-9\.]*)/)[1])}a.requestAnimationFrame||(a.requestAnimationFrame=a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(b){return a.setTimeout(function(){b()},1e3/60)}),a.cancelAnimationFrame||(a.cancelAnimationFrame=a.webkitCancelAnimationFrame||a.mozCancelAnimationFrame||a.oCancelAnimationFrame||a.msCancelAnimationFrame||function(b){return a.clearTimeout(b)});var Re={SELECTION_TOLERANCE:Pe?5:2,LABEL_COLOR:"#333"};Z(Re,{FONT_STYLE:{get:function(){return this._fontStyle||(this._fontStyle="normal")},set:function(a){this._fontStyle!=a&&(this._fontStyle=a,this._fontChanged=!0)}},FONT_SIZE:{get:function(){return this._fontSize||(this._fontSize=12)},set:function(a){this._fontSize!=a&&(this._fontSize=a,this._fontChanged=!0)}},FONT_FAMILY:{get:function(){return this._fontFamily||(this._fontFamily="Verdana,helvetica,arial,sans-serif")},set:function(a){this._fontFamily!=a&&(this._fontFamily=a,this._fontChanged=!0)}},FONT:{get:function(){return(this._fontChanged||this._fontChanged===c)&&(this._fontChanged=!1,this._font=this.FONT_STYLE+" "+this.FONT_SIZE+"px "+this.FONT_FAMILY),this._font}}});var Se=function(a){this._k7=[],this._lw={},a&&this.add(a)};Se.prototype={_k7:null,_lw:null,get:function(a){return this.getByIndex(a)},getById:function(a){return this._lw[a]},getByIndex:function(a){return this._k7[a]},forEach:function(a,b,c){return o(this._k7,a,b,c)},forEachReverse:function(a,b,c){return q(this._k7,a,b,c)},size:function(){return this._k7.length},contains:function(a){return this.containsById(a.id)},containsById:function(a){return this._lw.hasOwnProperty(a)},setIndex:function(a,b){var c=this._k7.indexOf(a);if(0>c)throw new Error("'"+a.id+"' not exist");return c!=b&&(this._k7.splice(c,1),this._k7.splice(b,0,a),!0)},setIndexAfter:function(a,b){var c=this._k7.indexOf(a);if(0>c)throw new Error("'"+a.id+"' not exist");return c==b?b:c==b+1?b+1:(c>b&&(b+=1),this._k7.splice(c,1),this._k7.splice(b,0,a),b)},setIndexBefore:function(a,b){var c=this._k7.indexOf(a);if(0>c)throw new Error("'"+a.id+"' not exist");return c==b?b:c==b-1?b-1:(b>c&&(b-=1),this._k7.splice(c,1),this._k7.splice(b,0,a),b)},indexOf:function(a){return this._k7.indexOf(a)},getIndexById:function(a){var b=this.getById(a);return b?this._k7.indexOf(b):-1},add:function(a,b){return N(a)?this._g0(a,b):this._ky(a,b)},addFirst:function(a){return this.add(a,0)},_g0:function(a,b){if(0==a.length)return!1;var d=!1,e=b>=0;a=a._k7||a;for(var f=0,g=a.length;g>f;f++){var h=a[f];null!==h&&h!==c&&this._ky(h,b,!0)&&(d=!0,e&&b++)}return d},_ky:function(a,b){var d=a.id;return d!==c&&!this.containsById(d)&&(s(this._k7,a,b),this._lw[d]=a,a)},remove:function(a){return N(a)?this._mxc(a):a.id?this._g2(a.id,a):this.removeById(a)},_mxc:function(a){if(0==a.length)return!1;var b=!1;a=a._k7||a;for(var d=0,e=a.length;e>d;d++){var f=a[d];if(null!==f&&f!==c){f.id===c&&(f=this._lw[f]);var g=f.id;this._g2(g,f,!0)&&(b=!0)}}return b},_g2:function(a,b){return!(a===c||!this.containsById(a))&&((null===b||b===c)&&(b=this.getById(a)),delete this._lw[a],t(this._k7,b),!0)},removeById:function(a){var b=this._lw[a];return!!b&&this._g2(a,b)},set:function(a){if(!a||0==a)return void this.clear();if(this.isEmpty()||!N(a))return this.clear(),this.add(a);var b=[],c={},d=0;if(o(a,function(a){this._lw[a.id]?(c[a.id]=a,d++):b.push(a)},this),d!=this.length){var e=[];this.forEach(function(a){c[a.id]||e.push(a)},this),e.length&&this._mxc(e)}return b.length&&this._g0(b),!0},clear:function(){return!this.isEmpty()&&(this._k7.length=0,this._lw={},!0)},toDatas:function(){return this._k7.slice(0)},isEmpty:function(){return 0==this._k7.length},valueOf:function(){return this._k7.length},clone:function(a){var b=new Se;return b.add(a?r(this._k7):this.toDatas()),b}},Z(Se.prototype,{datas:{get:function(){return this._k7}},random:{get:function(){return this._k7&&this._k7.length?this._k7[R(this._k7.length)]:null}},length:{get:function(){return this._k7?this._k7.length:0}}});var Te=(2*Math.PI,.5*Math.PI),Ue=function(a,b){b=b.toUpperCase();for(var c=De?a.firstChild:a.firstElementChild;c&&(1!=c.nodeType||c.tagName&&c.tagName.toUpperCase()!=b);)c=De?c.nextSibling:c.nextElementSibling;return c&&1==c.nodeType&&c.tagName&&c.tagName.toUpperCase()==b?c:null},Ve=function(a,b,c){a instanceof Ve&&(b=a.y,a=a.x,c=a.rotate),this.set(a,b,c)},We=function(a,b,c,d){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)};Ve.prototype={x:0,y:0,rotate:c,set:function(a,b,c){this.x=a||0,this.y=b||0,this.rotate=c||0},negate:function(){this.x=-this.x,this.y=-this.y},offset:function(a,b){this.x+=a,this.y+=b},equals:function(a){return this.x==a.x&&this.y==a.y},distanceTo:function(a){return We(this.x,this.y,a.x,a.y)},toString:function(){return"Point("+this.x+", "+this.y+")"},clone:function(){return new Ve(this.x,this.y)}},Object.defineProperty(Ve.prototype,"distance",{get:function(){return Math.sqrt(this.x*this.x+this.y*this.y)}});var Xe=function(a,b,d,e){a!==c&&this._mk(a,b,d,e)};Xe.prototype={_mv:null,_mt:null,_mr:null,_mp:null,_mw:null,_mx:null,_mz:1,_mk:function(a,b,c,d){this._mv=a,this._mt=b,this._mr=c,this._mp=d,a==c?(this._mw=-1,this._mz=0,this._mx=a):(this._mw=(b-d)/(a-c),this._mx=b-this._mw*a,this._mz=1),this._l6=Math.atan2(this._mp-this._mt,this._mr-this._mv),this._mzos=Math.cos(this._l6),this._sin=Math.sin(this._l6)},_dw:function(a){return 0==this._mz?Number.NaN:this._mw*a+this._mx},_du:function(a){return 0==this._mw?Number.NaN:(a-this._mx)/this._mw},_$e:function(a){var b,c,d,e,f,g=a[0],h=a[2],i=a[4],j=a[1],k=a[3],l=a[5],m=this._mw,n=this._mx,o=this._mz;if(0==o?(d=Math.sqrt((-m*m*g-m*n)*i+m*m*h*h+2*m*n*h-m*n*g),e=-m*h+m*g,f=m*i-2*m*h+m*g):(d=Math.sqrt((-j+m*g+n)*l+k*k+(-2*m*h-2*n)*k+(m*i+n)*j+(-m*m*g-m*n)*i+m*m*h*h+2*m*n*h-m*n*g),e=-k+j+m*h-m*g,f=l-2*k+j-m*i+2*m*h-m*g),0!=f){b=(d+e)/f,c=(-d+e)/f;var p,q;return b>=0&&1>=b&&(p=Oa(b,a)),c>=0&&1>=c&&(q=Oa(c,a)),p&&q?[p,q]:p?p:q?q:void 0}},_3t:function(a,b,c){if(this._mw==a._mw||0==this._mz&&0==a._mz)return null;var d,e;if(d=0==this._mz?this._mx:0==a._mz?a._mx:(a._mx-this._mx)/(this._mw-a._mw),e=0==this._mw?this._mx:0==a._mw?a._mx:this._mz?this._mw*d+this._mx:a._mw*d+a._mx,!b)return{x:d,y:e};var f,g,h;if(c)f=-b/2,g=-f;else{f=-We(this._mv,this._mt,d,e),g=We(this._mr,this._mp,d,e);var i=-f+g;if(i>b){var j=b/i;f*=j,g*=j}else h=(b-i)/2}var k=this._76(d,e,f),l=this._76(d,e,g);return h&&(k._rest=h,l._rest=h),[k,l]},_76:function(a,b,c){return 0==this._mz?{x:a,y:b+c}:{x:a+c*this._mzos,y:b+c*this._sin}}};var Ye=function(a,b){this.width=a,this.height=b};Ye.prototype={width:0,height:0,isEmpty:function(){return this.width<=0||this.height<=0},clone:function(){return new Ye(this.width,this.height)},toString:function(){return"Size("+this.width+", "+this.height+")"}};var Ze=function(a,b,d,e){a instanceof Object&&!K(a)&&(b=a.y,d=a.width,e=a.height,a=a.x),d===c&&(d=-1),e===c&&(e=-1),this.x=a||0,this.y=b||0,this.width=d,this.height=e};Ze.prototype={x:0,y:0,width:-1,height:-1,setByRect:function(a){this.x=a.x||0,this.y=a.y||0,this.width=a.width||0,this.height=a.height||0},set:function(a,b,c,d){this.x=a||0,this.y=b||0,this.width=c||0,this.height=d||0},offset:function(a,b){return this.x+=a,this.y+=b,this},contains:function(a,b){return a instanceof Ze?ha(this.x,this.y,this.width,this.height,a.x,a.y,a.width,a.height,b):a>=this.x&&a<=this.x+this.width&&b>=this.y&&b<=this.y+this.height},intersectsPoint:function(a,b,c){return!(this.width<=0&&this.height<=0)&&(c?this.intersectsRect(a-c,b-c,2*c,2*c):a>=this.x&&a<=this.x+this.width&&b>=this.y&&b<=this.y+this.height)},intersectsRect:function(a,b,c,d){return fa(this.x,this.y,this.width,this.height,a,b,c,d)},intersects:function(a,b){return K(a.width)?this.intersectsRect(a.x,a.y,a.width,a.height):this.intersectsPoint(a,b)},intersection:function(a,b,c,d){var e=this.x,f=this.y,g=e;g+=this.width;var h=f;h+=this.height;var i=a;i+=c;var j=b;return j+=d,a>e&&(e=a),b>f&&(f=b),g>i&&(g=i),h>j&&(h=j),g-=e,h-=f,0>g||0>h?null:new Ze(e,f,g,h)},addPoint:function(a){this.add(a.x,a.y)},add:function(a,b){if(K(a.width))return this.addRect(a.x,a.y,a.width,a.height);if(K(a.x)&&(b=a.y,a=a.x),this.width<0||this.height<0)return this.x=a,this.y=b,void(this.width=this.height=0);var c=this.x,d=this.y,e=this.width,f=this.height;e+=c,f+=d,c>a&&(c=a),d>b&&(d=b),a>e&&(e=a),b>f&&(f=b),e-=c,f-=d,e>Number.MAX_VALUE&&(e=Number.MAX_VALUE),f>Number.MAX_VALUE&&(f=Number.MAX_VALUE),this.set(c,d,e,f)},addRect:function(a,b,c,d){var e=this.width,f=this.height;(0>e||0>f)&&this.set(a,b,c,d);var g=c,h=d;if(!(0>g||0>h)){var i=this.x,j=this.y;e+=i,f+=j;var k=a,l=b;g+=k,h+=l,i>k&&(i=k),j>l&&(j=l),g>e&&(e=g),h>f&&(f=h),e-=i,f-=j,e>Number.MAX_VALUE&&(e=Number.MAX_VALUE),f>Number.MAX_VALUE&&(f=Number.MAX_VALUE),this.set(i,j,e,f)}},shrink:function(a,b,c,d){return K(a)?1==arguments.length?d=b=c=a||0:2==arguments.length?(c=a||0,d=b||0):(a=a||0,b=b||0,c=c||0,d=d||0):(b=a.left||0,c=a.bottom||0,d=a.right||0,a=a.top||0),this.x+=b,this.y+=a,this.width-=b+d,this.height-=a+c,this},grow:function(a,b,c,d){return K(a)?1==arguments.length?d=b=c=a||0:2==arguments.length?(c=a||0,d=b||0):(a=a||0,b=b||0,c=c||0,d=d||0):(b=a.left||0,c=a.bottom||0,d=a.right||0,a=a.top||0),this.x-=b,this.y-=a,this.width+=b+d,this.height+=a+c,this},scale:function(a){return this.x*=a,this.y*=a,this.width*=a,this.height*=a,this},isEmpty:function(){return this.width<=0&&this.height<=0},toString:function(){return this.x+" , "+this.y+" , "+this.width+" , "+this.height},union:function(a){var b=this.width,c=this.height;if(0>b||0>c)return new Ze(a.x,a.y,a.width,a.height);var d=a.width,e=a.height;if(0>d||0>e)return new Ze(this.x,this.y,this.width,this.height);var f=this.x,g=this.y;b+=f,c+=g;var h=a.x,i=a.y;return d+=h,e+=i,f>h&&(f=h),g>i&&(g=i),d>b&&(b=d),e>c&&(c=e),b-=f,c-=g,b>Number.MAX_VALUE&&(b=Number.MAX_VALUE),c>Number.MAX_VALUE&&(c=Number.MAX_VALUE),new Ze(f,g,b,c)},clear:function(){this.set(0,0,-1,-1)},equals:function(a){return a&&this.x==a.x&&this.y==a.y&&this.width==a.width&&this.height==a.height},clone:function(a,b){return new Ze(this.x+(a||0),this.y+(b||0),this.width,this.height)},toArray:function(){return[this.x,this.y,this.width,this.height]},getIntersectionPoint:function(a,b,c,d){return ea(this,a,b,c,d)}},w(Ze,Ye),Ze.equals=function(a,b){return a==b||a&&b&&a.x==b.x&&a.y==b.y&&a.width==b.width&&a.height==b.height},Z(Ze.prototype,{left:{get:function(){return this.x}},top:{get:function(){return this.y}},bottom:{get:function(){return this.y+this.height}},right:{get:function(){return this.x+this.width}},cx:{get:function(){return this.x+this.width/2}},cy:{get:function(){return this.y+this.height/2}},center:{get:function(){return new Ve(this.cx,this.cy)}}}),Ze.intersects=fa,Ze.intersection=ia,Ze.intersectsPoint=ga;var $e=function(a,b,c,d){1==arguments.length?b=c=d=a:2==arguments.length&&(c=a,d=b),this.set(a,b,c,d)};$e.prototype={top:0,bottom:0,left:0,right:0,set:function(a,b,c,d){this.top=a||0,this.left=b||0,this.bottom=c||0,this.right=d||0},clone:function(){return new $e(this.top,this.left,this.bottom,this.right)},equals:function(a){return a&&this.top==a.top&&this.bottom==a.bottom&&this.left==a.left&&this.right==a.right}};var _e=function(a,b){this.horizontalPosition=a,this.verticalPosition=b};_e.prototype={verticalPosition:!1,horizontalPosition:!1,toString:function(){return(this.horizontalPosition||"")+(this.verticalPosition||"")}},Y(_e.prototype,"sortName",{get:function(){return(this.horizontalPosition||"")+(this.verticalPosition||"")}});var af="l",bf="c",cf="r",df="t",ef="m",ff="b";_e.LEFT_TOP=new _e(af,df),_e.LEFT_MIDDLE=new _e(af,ef),_e.LEFT_BOTTOM=new _e(af,ff),_e.CENTER_TOP=new _e(bf,df),_e.CENTER_MIDDLE=new _e(bf,ef),_e.CENTER_BOTTOM=new _e(bf,ff),_e.RIGHT_TOP=new _e(cf,df),_e.RIGHT_MIDDLE=new _e(cf,ef),_e.RIGHT_BOTTOM=new _e(cf,ff);var gf=[_e.LEFT_TOP,_e.LEFT_MIDDLE,_e.LEFT_BOTTOM,_e.CENTER_TOP,_e.CENTER_MIDDLE,_e.CENTER_BOTTOM,_e.RIGHT_TOP,_e.RIGHT_MIDDLE,_e.RIGHT_BOTTOM];Y(_e,"random",{get:function(){return gf[R(gf.length)]}}),_e.fromString=function(a){for(var b in _e){var c=_e[b];if(c&&"random"!=b&&c instanceof _e&&c.toString()==a)return c}};var hf=function(a,b,c,d,e){this.set(a,b,c,d),this.radius=e};hf.prototype={radius:0,classify:function(a,b,c,d){return b>a?0:b+d>a?1:c-d>a?2:c>a?3:4},intersectsRect:function(a,b,c,d){if(y(this,hf,"intersectsRect",arguments)===!1)return!1;var e=this.x,f=this.y,g=e+this.width,h=f+this.height,i=2*radius,j=2*radius,k=Math.min(this.width,Math.abs(i))/2,l=Math.min(this.height,Math.abs(j))/2,m=this.classify(a,e,g,k),n=this.classify(a+c,e,g,k),o=this.classify(b,f,h,l),p=this.classify(b+d,f,h,l);return 2==m||2==n||2==o||2==p||(2>m&&n>2||2>o&&p>2||(a=1==n?a=a+c-(e+k):a-=g-k,b=1==p?b=b+d-(f+l):b-=h-l,a/=k,b/=l,1>=a*a+b*b))},intersectsPoint:function(a,b){if(y(this,hf,"intersectsPoint",arguments)===!1)return!1;var c=this.x,d=this.y,e=c+this.width,f=d+this.height;if(c>a||d>b||a>=e||b>=f)return!1;var g=2*radius,h=2*radius,i=Math.min(this.width,Math.abs(g))/2,j=Math.min(this.height,Math.abs(h))/2;return a>=(c+=i)&&a<(c=e-i)||(b>=(d+=j)&&b<(d=f-j)||(a=(a-c)/i,b=(b-d)/j,1>=a*a+b*b))},clone:function(){return new hf(this.x,this.y,this.width,this.height,this.radius)}},w(hf,Ze);var jf=function(a,b,c,d){this.source=a,this.type=b,this.kind=c,this.value=d};jf.prototype={source:null,type:null,kind:null,value:null,toString:function(){return"source: "+this.source+", type: "+this.type+", kind: "+this.kind}};var kf=function(a,b,c,d,e){this.source=a,this.kind=b,this.oldValue=d,this.value=c,this.propertyType=e};kf.prototype={type:"property.change",propertyType:null,toString:function(){return"source: "+this.source+", type: "+this.type+", propertyName: "+this.kind+", oldValue: "+this.oldValue+", value: "+this.value}},w(kf,jf),Y(kf.prototype,"propertyName",{get:function(){return this.kind},set:function(a){this.kind=a}});var lf=function(a,b,c){this.source=a,this.oldValue=a.parent,this.value=b,this.newIndex=c,this.oldValue&&(this.oldIndex=this.oldValue.getChildIndex(a))};lf.prototype={kind:"parent"},w(lf,kf);var mf=function(a,b){this.source=a,this.value=b};mf.prototype.kind="child.add",w(mf,kf);var nf=function(a,b){this.source=a,this.value=b};nf.prototype.kind="child.remove",w(nf,kf);var of=function(a,b,c,d){this.source=b,this.oldValue=c,this.value=d,this.parent=a,this.child=b,this.oldIndex=c,this.newIndex=d};of.prototype.kind="child.index",w(of,kf);var pf=function(){};pf.prototype={listener:null,beforeEvent:function(a){return null==this.listener||!this.listener.beforeEvent||this.listener.beforeEvent(a)},onEvent:function(a){null!=this.listener&&this.listener.onEvent&&this.listener.onEvent(a)}};var qf=function(){x(this,qf,arguments),this.events={},this.listeners=[]},rf=function(a,b){this.listener=a,this.scope=b,a instanceof Function?this.onEvent=a:(this.onEvent=a.onEvent,this.beforeEvent=a.beforeEvent),this.equals=function(a){return a&&this.listener==a.listener&&this.scope==a.scope}};rf.prototype={equals:function(a){return a&&this.listener==a.listener&&this.scope==a.scope},destroy:function(){delete this.scope,delete this.listener}},qf.prototype={listeners:null,_mz0:function(){return this.listeners&&this.listeners.length>0},_7d:function(a,b){return a instanceof qf?a:new rf(a,b)},_mwh:function(a,b){if(a instanceof qf)return this.listeners.indexOf(a);for(var c=this.listeners,d=0,e=c.length;e>d;d++){var f=c[d];if(f.listener==a&&f.scope==b)return d}return-1},contains:function(a,b){return this._mwh(a,b)>=0},addListener:function(a,b){return!this.contains(a,b)&&void this.listeners.push(this._7d(a,b));
+},removeListener:function(a,b){var c=this._mwh(a,b);c>=0&&this.listeners.splice(c,1)},on:function(a,b){this.addListener(a,b)},un:function(a,b,c){this.removeListener(a,b,c)},onEvent:function(a){return!!this.listeners&&void o(this.listeners,function(b){b.onEvent&&(b.scope?b.onEvent.call(b.scope,a):b.onEvent(a))},this)},beforeEvent:function(a){return!this.listeners||o(this.listeners,function(b){return!b.beforeEvent||(b.scope?b.beforeEvent.call(b.scope,a):b.beforeEvent(a))},this)},_e9:function(a){return this.beforeEvent(a)!==!1&&(this.onEvent(a),!0)},clear:function(){this.listeners=[]},destroy:function(){this.clear()}},w(qf,pf);var sf={onEvent:function(){},beforeEvent:function(){}},tf=function(a,b,c,d,e){this.source=a,this.type="list",this.kind=b,this.data=c,this.index=d,this.oldIndex=e};tf.prototype={index:-1,oldIndex:-1,toString:function(){return"source: "+this.source+", type: "+this.type+", kind: "+this.kind+", data: "+this.data+", index: "+this.index+", oldIndex: "+this.oldIndex}},w(tf,jf),tf.KIND_ADD="add",tf.KIND_REMOVE="remove",tf.KIND_CLEAR="clear",tf.KIND_INDEX_CHANGE="index.change";var uf=function(){this.id=++Ae,this._mzj={}};uf.prototype={_mzj:null,id:null,get:function(a){return this._mzj[a]},set:function(a,b){var c=this.get(a);if(c===b)return!1;var d=new kf(this,a,b,c);return d.propertyType=gg.PROPERTY_TYPE_CLIENT,this._mwn(a,b,d,this._mzj)},_mwn:function(a,b,d,e){return this.beforeEvent(d)!==!1&&(e||(e=this._mzj),b===c?delete e[a]:e[a]=b,this.onEvent(d),!0)},remove:function(a){this.set(a,null)},valueOf:function(){return this.id},toString:function(){return this.id},_e1:function(a,b){if(b===c&&(b=-1),this==a||a==this._k5)return!1;if(a&&this==a._k5&&!a._e1(null))return!1;var d=new lf(this,a,b);if(!this.beforeEvent(d))return!1;var e,f,g=this._k5;return!(a&&(e=new mf(a,this),!a.beforeEvent(e)))&&(!(null!=g&&(f=new nf(g,this),!g.beforeEvent(f)))&&(this._k5=a,null!=a&&ka(a,this,b),null!=g&&la(g,this),this.onEvent(d),null!=a&&a.onEvent(e),null!=g&&g.onEvent(f),this.onParentChanged(g,a),!0))},addChild:function(a,b){var c=a._e1(this,b);return c&&this.onChildAdd(a,b),c},onChildAdd:function(){},removeChild:function(a){if(!this._fw||!this._fw.contains(a))return!1;var b=a._e1(null);return this.onChildRemove(a),b},onChildRemove:function(){},toChildren:function(){return this._fw?this._fw.toDatas():null},clearChildren:function(){if(this._fw&&this._fw.length){var a=this.toChildren();o(a,function(a){a._e1(null)},this),this.onChildrenClear(a)}},forEachChild:function(a,b){return!!this.hasChildren()&&this._fw.forEach(a,b)},onChildrenClear:function(){},getChildIndex:function(a){return this._fw&&this._fw.length?this._fw.indexOf(a):-1},setChildIndex:function(a,b){if(!this._fw||!this._fw.length)return!1;var c=this._fw.indexOf(a);if(0>c||c==b)return!1;var d=new of(this,a,c,b);return this.beforeEvent(d)!==!1&&(this._fw.remove(a)&&this._fw.add(a,b),this.onEvent(d),!0)},hasChildren:function(){return this._fw&&this._fw.length>0},getChildAt:function(a){return null==this._fw?null:this._fw._k7[a]},isDescendantOf:function(a){if(!a.hasChildren())return!1;for(var b=this.parent;null!=b;){if(a==b)return!0;b=b.parent}return!1},onParentChanged:function(){},firePropertyChangeEvent:function(a,b,c,d){this.onEvent(new kf(this,a,b,c,d))}},w(uf,pf),Z(uf.prototype,{childrenCount:{get:function(){return this._fw?this._fw.length:0}},children:{get:function(){return this._fw||(this._fw=new Se),this._fw}},parent:{get:function(){return this._k5},set:function(a){this._e1(a,-1)}},properties:{get:function(){return this._mzj},set:function(a){this._mzj!=a&&(this._mzj=a)}}});var vf=function(){this._k7=[],this._lw={},this._1k=new qf};vf.prototype={beforeEvent:function(a){return null==this._1k||!this._1k.beforeEvent||this._1k.beforeEvent(a)},onEvent:function(a){return this._1k instanceof Function?void this._1k(a):void(null!=this._1k&&this._1k.onEvent&&this._1k.onEvent(a))},_1k:null,setIndex:function(a,b){if(!this.contains(a))throw new Error("'"+a.getId()+"' not exist");var c=this.indexOf(a);if(c==b)return!1;var d=new tf(this,tf.KIND_INDEX_CHANGE,a,b,c);return this.beforeEvent(d)!==!1&&(this._k7.remove(a)>=0&&this._k7.add(b,a),this.onEvent(d),!0)},_g0:function(a,b){if(0==a.length)return!1;var d=!1,e=b>=0,f=new tf(this,tf.KIND_ADD,a,b);if(this.beforeEvent(f)===!1)return!1;var g=[];a=a._k7||a;for(var h=0,i=a.length;i>h;h++){var j=a[h];null!==j&&j!==c&&this._ky(j,b,!0)&&(g.push(j),d=!0,e&&b++)}return f.data=g,this.onEvent(f),d},_ky:function(a,b,c){if(this.accept(a)===!1)return!1;if(c)return y(this,vf,"_ky",arguments);var d=new tf(this,tf.KIND_ADD,a,b);return this.beforeEvent(d)!==!1&&(!!y(this,vf,"_ky",arguments)&&(this._kz(a,d),a))},_kz:function(a,b){this.onEvent(b)},_mxc:function(a){if(0==a.length)return!1;var b=new tf(this,tf.KIND_REMOVE,a);if(this.beforeEvent(b)===!1)return!1;var d=[],e=!1;a=a._k7||a;for(var f=0,g=a.length;g>f;f++){var h=a[f];if(null!==h&&h!==c){var i=h.id||h;h.id===c&&(h=null),this._g2(i,h,!0)&&(d.push(h),e=!0)}}return b.data=d,this.onEvent(b),e},_g2:function(a,b,c){if(c)return y(this,vf,"_g2",arguments);var d=new tf(this,tf.KIND_REMOVE,b);return this.beforeEvent(d)!==!1&&(!!y(this,vf,"_g2",arguments)&&(this.onEvent(d),!0))},clear:function(){if(this.isEmpty())return!1;var a=new tf(this,tf.KIND_CLEAR,this.toDatas());return this.beforeEvent(a)!==!1&&(!!y(this,vf,"clear")&&(this.onEvent(a),!0))},accept:function(a){return!this.filter||this.filter(a)!==!1}},w(vf,Se),Y(vf.prototype,"listChangeDispatcher",{get:function(){return this._1k}});var wf=function(){x(this,wf,arguments),this.selectionChangeDispatcher=new qf,this._selectionModel=new xf(this),this._selectionModel._1k=this.selectionChangeDispatcher,this.dataChangeDispatcher=new qf,this.dataChangeDispatcher.addListener({beforeEvent:this.beforeDataPropertyChange,onEvent:this.onDataPropertyChanged},this),this.parentChangeDispatcher=new qf,this.childIndexChangeDispatcher=new qf,this.$roots=new Se;var a=this;this.$roots.setIndex=function(b,c){if(!a.$roots.contains(b))throw new Error("'"+b.id+"' not exist");var d=a.$roots._k7.indexOf(b);if(d==c)return!1;a.$roots._k7.splice(d,1),a.$roots._k7.splice(c,0,b),a._mzcIndexFlag=!0;var e=new of(a,b,d,c);return a._22(e),!0}};wf.prototype={selectionModel:null,selectionChangeDispatcher:null,dataChangeDispatcher:null,parentChangeDispatcher:null,roots:null,_kz:function(a,b){a.listener=this.dataChangeDispatcher,a.parent||this.$roots.add(a),this.onEvent(b)},_g2:function(a,b){if(y(this,wf,"_g2",arguments)){if(b instanceof vh)b.disconnect();else if(b instanceof wh){var c=b.getEdges();this.remove(c)}var d=b.parent;return null==d?this.$roots.remove(b):(d.removeChild(b),d.__6n=!0),b.hasChildren()&&this.remove(b.toChildren()),b.listener=null,!0}return!1},_5r:function(a){var b=a.source;this.contains(b)&&(null==b.parent?this.$roots.add(b):null==a.oldValue&&this.$roots.remove(b),this.parentChangeDispatcher.onEvent(a))},_22:function(a){this.childIndexChangeDispatcher.onEvent(a)},beforeDataPropertyChange:function(a){return!(a instanceof lf)||this.parentChangeDispatcher.beforeEvent(a)},onDataPropertyChanged:function(a){return a instanceof lf?(this._mzcIndexFlag=!0,a.source._mzcIndexFlag=!0,void this._5r(a)):void(a instanceof of&&(this._mzcIndexFlag=!0,a.source._mzcIndexFlag=!0,this._22(a)))},toRoots:function(){return this.$roots.toDatas()},_gq:function(a){var b,c=a._k5;b=c?c._fw:this.$roots;var d=b.indexOf(a);if(0>d)throw new Error("data '"+a+"' not exist in the box");return 0==d?c:b.getByIndex(d-1)},_gs:function(a){var b,c=a._k5;b=c?c._fw:this.$roots;var d=b.indexOf(a);if(0>d)throw new Error("data '"+a+"' not exist in the box");return d==b.length-1?c?this._gs(c):null:b.getByIndex(d+1)},forEachByDepthFirst:function(a,b,c){return!!this.$roots.length&&f(this.$roots,a,b,c)},forEachByDepthFirstReverse:function(a,b,c){return!!this.$roots.length&&i(this.$roots,a,b,c)},forEachByBreadthFirst:function(a,b){return!!this.$roots.length&&l(this.$roots,a,b)},forEachByBreadthFirstReverse:function(a,b){return!!this.$roots.length&&m(this.$roots,a,b)},clear:function(){return!!y(this,wf,"clear")&&(this.$roots.clear(),this.selectionModel.clear(),!0)}},w(wf,vf),Z(wf.prototype,{selectionModel:{get:function(){return this._selectionModel}},roots:{get:function(){return this.$roots}}});var xf=function(a){x(this,xf),this.box=a,this._mxoxChangeListener={onEvent:function(a){tf.KIND_REMOVE==a.kind?null!=a.data?this.remove(a.data):null!=a.datas&&this.remove(a.datas):tf.KIND_CLEAR==a.kind&&this.clear()}},this.box.listChangeDispatcher.addListener(this._mxoxChangeListener,this)};xf.prototype={box:null,isSelected:function(a){return this.containsById(a.id||a)},select:function(a){return this.add(a)},unselect:function(a){return this.remove(a)},reverseSelect:function(a){return this.contains(a)?this.remove(a):this.add(a)},accept:function(a){return this.box.contains(a)}},w(xf,vf);var yf=null,zf=null,Af=function(){if(!b.createElement)return function(a){return a};var a=b.createElement("div"),d=a.style,e={};return function(a){if(e[a])return e[a];var b=ma(a);return d[b]!==c||zf&&d[b=ma(zf+b)]!==c?(e[a]=b,b):a}}(),Bf={};!function(){if(!b.head)return!1;for(var d=b.head,e="Webkit Moz O ms Khtml".split(" "),f=0;f<e.length;f++)if(d.style[e[f]+"Transform"]!==c){zf="-"+e[f].toLowerCase()+"-";break}var g=b.createElement("style");a.createPopup||g.appendChild(b.createTextNode("")),g.type="text/css",g.id="qunee-styles",d.appendChild(g),yf=g.sheet;var h,i;for(var j in Bf){var k=Bf[j];h=j,i="";for(var l in k)i+=Af(l)+":"+k[l]+";\n";ra(h,i)}}();var Cf=function(a,b,c,d,e){if(e){var f=function(a){f.handle.call(f.scope,a)};return f.scope=e,f.handle=c,a.addEventListener(b,f,d),f}return a.addEventListener(b,c,d),c},Df=function(a,b,c){a.removeEventListener(b,c)};if(Re.DOUBLE_CLICK_INTERVAL_TIME=200,Re.LONG_PRESS_INTERVAL=800,a.navigator&&navigator.userAgent){var Ef,Ff=/mobile|tablet|ip(ad|hone|od)|android/i,Gf="ontouchstart"in a,Hf=Gf&&Ff.test(navigator.userAgent);if(Hf)Ef="touchstart,touchmove,touchend,touchcancel";else{var If="onmousewheel"in a?"mousewheel":"DOMMouseScroll";Ef="contextmenu,mousedown,mouseup,click,dblclick,mousemove,keydown,keyup,"+If,Gf&&(Ef+=",touchstart,touchmove,touchend,touchcancel")}Ef=Ef.split(/[\s,]+/);var Jf=function(b){return a.TouchEvent&&b instanceof a.TouchEvent},Kf=function(){return Re.DOUBLE_CLICK_INTERVAL_TIME},Lf=function(){return Re.LONG_PRESS_INTERVAL},O=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},P=function(a){a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},Q=function(a){O(a),P(a)},Mf=function(a){return a.defaultPrevented||a.returnValue===!1},Nf=function(a){Tf._mzurrentItem&&Tf._mzurrentItem._onWindowMouseMove(a)},Of=function(a){if(Tf._mzurrentItem){var b=Tf._mzurrentItem;b._onWindowMouseUp(a),Pf(null)}},Pf=function(a){Tf._mzurrentItem!=a&&(Tf._mzurrentItem&&(Tf._mzurrentItem.__dragging=!1),Tf._mzurrentItem=a)},Qf=function(b,c){Ef.forEach(function(a){b.addEventListener(a,c,!1)}),Pe||Tf._mwl||(Tf._mwl=!0,a.addEventListener("mousemove",Nf,!0),a.addEventListener("mouseup",Of,!0))},Rf=function(a,b){Ef.forEach(function(c){a.removeEventListener(c,b,!1)})},Sf=function(a){return a.touches?{timeStamp:a.timeStamp,x:a.cx,y:a.cy}:{timeStamp:a.timeStamp,x:a.clientX,y:a.clientY}};ta.prototype={_install:function(){this.__mwction||(this.__mwction=function(a){this._mwction(a)}.bind(this),Qf(this._m1,this.__mwction))},_uninstall:function(){this.__mwction&&Rf(this._m1,this.__mwction)},_mwction:function(a){a=this._toQEvent(a);var b=a.type;this._handleEvent(a,b)===!1&&this._onEvent(a,"on"+b)},_mzancelLongPressTimer:function(){this.__longPressTimer&&(clearTimeout(this.__longPressTimer),this.__longPressTimer=null)},__laLongPress:function(a){this.__onLongPressFunction||(this.__onLongPressFunction=function(){this._laEvent&&(this.__mzancelClick=!0,this._laEvent.button?this._onEvent(this._laEvent,"onlongpress2"):this._onEvent(this._laEvent,"onlongpress"))}.bind(this)),this._mzancelLongPressTimer(),this.__longPressTimer=setTimeout(this.__onLongPressFunction,Lf(a))},__fixTouchEvent:function(a){for(var b,c,d=0,e=0,f=a.touches.length,g=0;f>g;){var h=a.touches[g++],i=h.clientX,j=h.clientY;if(2==g){var k=c[0]-i,l=c[1]-j;b=Math.sqrt(k*k+l*l)}c=[i,j],d+=i,e+=j}a.cx=d/f,a.cy=e/f,a.center={x:a.cx,y:a.cy,clientX:a.cx,clientY:a.cy},a.distance=b},__touchCountChange:function(a){this._dragPoints.clear(),this._mw2=Sf(a)},_handleTouchEvent:function(a,b){switch(b){case"touchstart":P(a),this.__fixTouchEvent(a),this.__touchCountChange(a);var c=a.touches.length;this._laEvent||(this._laEvent=a,this._onstart(a),this.__mzancelClick=!1,this.__laLongPress(a)),1==c&&(this.__laMulTouchEvent=null),c>=2&&!this.__laMulTouchEvent&&(this.__laMulTouchEvent={cx:a.cx,cy:a.cy,distance:a.distance});break;case"touchmove":Q(a),this.__fixTouchEvent(a);var c=a.touches.length;if(c>=2&&this.__laMulTouchEvent){var d=this.__laMulTouchEvent.distance;a._scale=a.distance/d,a.dScale=this.__laMulTouchEvent.prevScale?a._scale/this.__laMulTouchEvent.prevScale:a._scale,this.__laMulTouchEvent.prevScale=a._scale,this.__pinching||(this.__pinching=!0,this._onEvent(a,"startpinch"))}this.__dragging||(this.__dragging=!0,this._ladrag(a)),this._ondrag(a),this.__pinching&&this._onEvent(a,"onpinch");break;case"touchend":Q(a);var c=a.touches.length;c&&(this.__fixTouchEvent(a),this.__touchCountChange(a)),1>=c&&(this.__pinching&&(this.__pinching=!1,this._onEvent(a,"endpinch")),this.__laMulTouchEvent=null),0==c&&(this.__dragging?(this._enddrag(a),this.__dragging=!1):a.timeStamp-this._laEvent.timeStamp<.8*Kf(a)&&this.__onclick(this._laEvent),this._onrelease(a));break;case"touchcancel":this.__dragging=!1,this.__pinching=!1,this.__laMulTouchEvent=null}return!1},_handleEvent:function(a,b){if(Jf(a))return this._handleTouchEvent(a,b);if("mousedown"==b)P(a),Pf(this),this._mw2=Sf(a),this._laEvent||(this._laEvent=a,this._onstart(a)),this.__mzancelClick=!1,this.__laLongPress(a);else if("mouseup"==b)Pf(),this._onrelease(a);else if("click"==b){if(this._delayClickEvent)return this.__onclick(a),!0}else if("dblclick"==b){if(this._delayClickEvent)return!0}else{if("contextmenu"==b)return this._onEvent(a,"oncontextmenu"),this._laEvent&&Mf(a)&&Pf(this),!0;if(b==If){var d=a.wheelDelta;if(d!==c?!Ke&&d%120?d%12||(d/=12):d/=120:d===c&&(d=-a.detail),!d)return;return a.delta=d,this._onEvent(a,"onmousewheel")}}return!1},_onEvent:function(a,b){if(this._handler){var c=this._handler;if(b=b||a.type,c instanceof Function)return c(a,b);if(!(c.accept instanceof Function&&c.accept(b,a)===!1))return c.onevent instanceof Function&&c.onevent(b,a,this._scope||this._m1),c[b]instanceof Function?c[b].call(c,a,this._scope||this._m1):void 0}},_toQEvent:function(a){return a},_onWindowMouseUp:function(a){this.__dragging&&(Q(a),this.__dragging=!1,a=this._toQEvent(a),this._enddrag(a),this._onrelease(a),this._onEvent(a,"onmouseup"))},_laDragDistance:4,_onWindowMouseMove:function(a){if(this._laEvent){if(Q(a),!this.__dragging){var b=this._laEvent.screenX-a.screenX,c=this._laEvent.screenY-a.screenY;if(b*b+c*c<this._laDragDistance)return;this.__dragging=!0,this._ladrag(a)}this._ondrag(this._toQEvent(a))}},_delayClickEvent:!0,__onclick:function(a){if(!this.__mzancelClick){var b=Kf(a);this.__mzlickTimer?this.__dblclicked||(clearTimeout(this.__mzlickTimer),this.__mzlickTimer=null,this._onEvent(a,"ondblclick"),this.__dblclicked=!0):(this.__dblclicked=!1,this.__mzlickTimer=setTimeout(function(a){this.__mzlickTimer=null,this.__dblclicked||this._onEvent(a,"onclick")}.bind(this,a,b),b))}},_onstart:function(a){a.button?this._onEvent(a,"onstart2"):this._onEvent(a,"onstart")},_onrelease:function(a){this._laEvent&&(this._mzancelLongPressTimer(),a.button?this._onEvent(a,"onrelease2"):this._onEvent(a,"onrelease"),this._laEvent=null,this._mw2=null)},_mwppendDragInfo:function(a){var b=this._mw2;this._mw2=Sf(a),this._dragPoints.add(b,this._mw2,a)},_ladrag:function(){this.__mzancelClick=!0,this._mzancelLongPressTimer(),this._laEvent.button?this._onEvent(this._laEvent,"startdrag2"):this._onEvent(this._laEvent,"startdrag")},_ondrag:function(a){this._mwppendDragInfo(a),this._laEvent.button?this._onEvent(a,"ondrag2"):this._onEvent(a,"ondrag")},_enddrag:function(a){if(a.timeStamp-this._mw2.timeStamp<100){var b=this._dragPoints.getCurrentSpeed();b&&(a.vx=b.x,a.vy=b.y)}this._laEvent.button?this._onEvent(a,"enddrag2"):this._onEvent(a,"enddrag"),this._dragPoints.clear()},_ib:function(){this._l8Status()},_l8Status:function(){Tf._mzurrentItem==this&&delete Tf._mzurrentItem,this._mzancelLongPressTimer(),delete this._mw2,this._laEvent&&(delete this._laEvent.getData,delete this._laEvent.getUI,delete this._laEvent)}};var Tf=C(function(a){this._l0=a,ta.apply(this,[a.canvasPanel,null,a])},{"super":ta,_mgData:function(a){return this._l0.getElementByMouseEvent(a)},_lp:function(a){return this._l0.getUIByMouseEvent(a)},_toQEvent:function(b){return(b instanceof MouseEvent||a.TouchEvent&&b instanceof a.TouchEvent)&&(b.getData=this._mgData.bind(this,b),b.getUI=this._lp.bind(this,b)),b},_onElementRemoved:function(a){this._izListeners(function(b){b.onElementRemoved instanceof Function&&b.onElementRemoved(a,this._l0)})},_onElementClear:function(){this._izListeners(function(a){a.onClear instanceof Function&&a.onClear(this._l0)})},_ib:function(a){this._25s&&this._ibInteractions(this._25s,a),this._mzustomInteractionListeners&&this._ibInteractions(this._mzustomInteractionListeners,a),this._l8Status()},_l0:null,_25s:null,_mzustomInteractionListeners:null,_mkInteraction:function(a){return this._25s!=a&&(this._25s&&this._25s.length&&this._ibInteractions(this._25s),void(this._25s=a))},_mnCustomInteractionListener:function(a){this._mzustomInteractionListeners||(this._mzustomInteractionListeners=[]),this._mzustomInteractionListeners.push(a)},_ktCustomInteractionListener:function(a){this._mzustomInteractionListeners&&0!=this._mzustomInteractionListeners.length&&t(this._mzustomInteractionListeners,a)},_onEvent:function(a,b,c){this._l0[b]instanceof Function&&this._l0[b].call(this._l0,a,c),this._25s&&this.__onEvent(a,b,this._25s,c),this._mzustomInteractionListeners&&this.__onEvent(a,b,this._mzustomInteractionListeners,c)},_izListeners:function(a){this._25s&&o(this._25s,a,this),this._mzustomInteractionListeners&&o(this._mzustomInteractionListeners,a,this)},__onEvent:function(a,b,c,d){if(!N(c))return void this.__handleEvent(a,b,c,d);for(var e=0;e<c.length;e++){var f=c[e];this.__handleEvent(a,b,f,d)}},__handleEvent:function(a,b,c,d){if(!(c.accept instanceof Function&&c.accept(b,a,this._l0,d)===!1)){c.onevent instanceof Function&&c.onevent(b,a,this._l0,d);var e=c[b];e instanceof Function&&e.call(c,a,this._l0,d)}},_ibInteraction:function(a){a.destroy instanceof Function&&a.destroy.call(a,this._l0)},_ibInteractions:function(a,b){if(!N(a))return void this._ibInteraction(a,b);for(var c=0;c<a.length;c++){var d=a[c];d&&this._ibInteraction(d,b)}}})}va.prototype={limitCount:10,points:null,add:function(a,b,c){0==this.points.length&&(this._laX=a.x,this._laY=a.y);var d=b.timeStamp-a.timeStamp||1;c.interval=d;var e=b.x-a.x,f=b.y-a.y;c.dx=e,c.dy=f,c.startX=this._laX,c.startY=this._laY,c.totalDeltaX=b.x-this._laX,c.totalDeltaY=b.y-this._laY,this.points.splice(0,0,{interval:d,dx:e,dy:f}),this.points.length>this.limitCount&&this.points.pop()},getCurrentSpeed:function(){if(!this.points.length)return null;for(var a=0,b=0,c=0,d=0,e=this.points.length;e>d;d++){var f=this.points[d],g=f.interval;if(g>150){a=0;break}if(a+=g,b+=f.dx,c+=f.dy,a>300)break}return 0==a||0==b&&0==c?null:{x:b/a,y:c/a}},clear:function(){this.points=[]}};var Uf,Vf,Wf,Xf;Ge?(Uf="-webkit-zoom-in",Vf="-webkit-zoom-out",Wf="-webkit-grab",Xf="-webkit-grabbing"):He?(Uf="-moz-zoom-in",Vf="-moz-zoom-out",Wf="-moz-grab",Xf="-moz-grabbing"):(Uf="crosshair",Vf="crosshair",Wf="default",Xf="move");var Yf="url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFVJREFUeNpi/P//PwMlgBGfAYyMIOn/jGQZANIMoskyAKYZGeAyiGgX4PIOSWGAzRBGUmMBw1CqGUBMlA1yA4gxhKhYwBnfpKQDqqREquRGYgBAgAEAD8h/4adTIzwAAAAASUVORK5CYII=) 8 8,crosshair",Zf=Math.PI,$f=Math.pow,_f=Math.sin,ag=1.70158,bg={swing:function(a){return-Math.cos(a*Zf)/2+.5},easeNone:function(a){return a},easeIn:function(a){return a*a},easeOut:function(a){return(2-a)*a},easeBoth:function(a){return(a*=2)<1?.5*a*a:.5*(1- --a*(a-2))},easeInStrong:function(a){return a*a*a*a},easeOutStrong:function(a){return 1- --a*a*a*a},easeBothStrong:function(a){return(a*=2)<1?.5*a*a*a*a:.5*(2-(a-=2)*a*a*a)},elasticIn:function(a){var b=.3,c=b/4;return 0===a||1===a?a:-($f(2,10*(a-=1))*_f(2*(a-c)*Zf/b))},elasticOut:function(a){var b=.3,c=b/4;return 0===a||1===a?a:$f(2,-10*a)*_f(2*(a-c)*Zf/b)+1},elasticBoth:function(a){var b=.45,c=b/4;return 0===a||2===(a*=2)?a:1>a?-.5*$f(2,10*(a-=1))*_f(2*(a-c)*Zf/b):$f(2,-10*(a-=1))*_f(2*(a-c)*Zf/b)*.5+1},backIn:function(a){return 1===a&&(a-=.001),a*a*((ag+1)*a-ag)},backOut:function(a){return(a-=1)*a*((ag+1)*a+ag)+1},backBoth:function(a){return(a*=2)<1?.5*a*a*(((ag*=1.525)+1)*a-ag):.5*((a-=2)*a*(((ag*=1.525)+1)*a+ag)+2)},bounceIn:function(a){return 1-bg.bounceOut(1-a)},bounceOut:function(a){var b,c=7.5625;return b=1/2.75>a?c*a*a:2/2.75>a?c*(a-=1.5/2.75)*a+.75:2.5/2.75>a?c*(a-=2.25/2.75)*a+.9375:c*(a-=2.625/2.75)*a+.984375},bounceBoth:function(a){return.5>a?.5*bg.bounceIn(2*a):.5*bg.bounceOut(2*a-1)+.5}},cg=function(a){this._jd=a};cg.prototype={_jd:null,_8j:function(){this._mzallback instanceof Function&&(this._mzallback(),this._mzallback=null)},_la:function(a){var b=Date.now();this._m0(),this._mzallback=a,this._requestID=requestAnimationFrame(function c(){var a=Date.now(),d=a-b;return!d||this._jd&&this._jd(d)!==!1?(b=a,void(this._requestID=requestAnimationFrame(c.bind(this)))):void this._m0()}.bind(this))},_6u:function(){},_m0:function(){return!!this._requestID&&(this._6u(),this._8j(),a.cancelAnimationFrame(this._requestID),void delete this._requestID)},_et:function(){return null!=this._requestID}};var dg=function(a,b,c,d){this._onStep=a,this._scope=b||this,this._3k=d,c&&c>0&&(this._iy=c)};dg.prototype={_iy:1e3,_3k:null,_ek:0,_m0:function(){return this._ek=0,this._dn=0,y(this,dg,"_m0")},_dn:0,_jd:function(a){if(this._ek+=a,this._ek>=this._iy)return this._onStep.call(this._scope,1,(1-this._dn)*this._iy,a,this._iy),!1;var b=this._ek/this._iy;return this._3k&&(b=this._3k(b)),this._onStep.call(this._scope,b,(b-this._dn)*this._iy,a,this._iy)!==!1&&void(this._dn=b)}},w(dg,cg);var eg=function(a){ca(a)},fg={version:"0.0",extend:w,doSuperConstructor:x,doSuper:y,createFunction:function(a,b){return b.bind(a)},setClass:H,appendClass:I,removeClass:J,forEach:o,forEachReverse:q,isNumber:K,isString:L,isBoolean:M,isArray:N,eventPreventDefault:O,eventStopPropagation:P,stopEvent:Q,callLater:F,nextFrame:G,forEachChild:d,forEachByDepthFirst:f,forEachByDepthFirstReverse:i,forEachByBreadthFirst:l,randomInt:R,randomBool:S,randomColor:U,addEventListener:Cf,getFirstElementChildByTagName:Ue};fg.isTouchSupport=Pe,fg.isIOS=Me,fg.intersectsPoint=ga,fg.containsRect=ha,fg.Rect=Ze,fg.Size=Ye,fg.Point=Ve,fg.Insets=$e,fg.Event=jf,fg.PropertyChangeEvent=kf,fg.ListEvent=tf,fg.Handler=pf,fg.Dispatcher=qf,fg.Position=_e,fg.Data=uf,fg.SelectionModel=xf,fg.DataModel=wf,fg.IListener=sf,fg.loadURL=ya,fg.loadXML=wa,fg.loadJSON=xa,fg.isMetaKey=ua,fg.calculateDistance=We,fg.HashList=Se,fg.DragSupport=ta,fg.alert=function(a){alert(a)},fg.prompt=function(a,b,c,d){var e=prompt(a,b);return e!=b&&c?c.call(d,e):e},fg.confirm=function(a,b,c){var d=confirm(a);return d&&b?b.call(c):d},fg.addCSSRule=ra;var gg={IMAGE_ADJUST_FLIP:"flip",IMAGE_ADJUST_MIRROR:"mirror",SELECTION_TYPE_BORDER_RECT:"border.rect",SELECTION_TYPE_BORDER:"border",SELECTION_TYPE_SHADOW:"shadow",NS_SVG:"http://www.w3.org/2000/svg",PROPERTY_TYPE_ACCESSOR:0,PROPERTY_TYPE_STYLE:1,PROPERTY_TYPE_CLIENT:2,EDGE_TYPE_DEFAULT:null,EDGE_TYPE_ELBOW:"elbow",EDGE_TYPE_ELBOW_HORIZONTAL:"elbow.H",EDGE_TYPE_ELBOW_VERTICAL:"elbow.V",EDGE_TYPE_ORTHOGONAL:"orthogonal",EDGE_TYPE_ORTHOGONAL_HORIZONTAL:"orthogonal.H",EDGE_TYPE_ORTHOGONAL_VERTICAL:"orthogonal.V",EDGE_TYPE_HORIZONTAL_VERTICAL:"orthogonal.H.V",EDGE_TYPE_VERTICAL_HORIZONTAL:"orthogonal.V.H",EDGE_TYPE_EXTEND_TOP:"extend.top",EDGE_TYPE_EXTEND_LEFT:"extend.left",EDGE_TYPE_EXTEND_BOTTOM:"extend.bottom",EDGE_TYPE_EXTEND_RIGHT:"extend.right",EDGE_TYPE_ZIGZAG:"zigzag",EDGE_CORNER_NONE:"none",EDGE_CORNER_ROUND:"round",EDGE_CORNER_BEVEL:"bevel",GROUP_TYPE_RECT:"rect",GROUP_TYPE_CIRCLE:"circle",GROUP_TYPE_ELLIPSE:"ELLIPSE",SHAPE_CIRCLE:"oval",SHAPE_RECT:"rect",SHAPE_ROUNDRECT:"roundrect",SHAPE_STAR:"star",SHAPE_TRIANGLE:"triangle",SHAPE_HEXAGON:"hexagon",SHAPE_PENTAGON:"pentagon",SHAPE_TRAPEZIUM:"trapezium",SHAPE_RHOMBUS:"rhombus",SHAPE_PARALLELOGRAM:"parallelogram",SHAPE_HEART:"heart",SHAPE_DIAMOND:"diamond",SHAPE_CROSS:"cross",SHAPE_ARROW_STANDARD:"arrow.standard",SHAPE_ARROW_1:"arrow.1",SHAPE_ARROW_2:"arrow.2",SHAPE_ARROW_3:"arrow.3",SHAPE_ARROW_4:"arrow.4",SHAPE_ARROW_5:"arrow.5",SHAPE_ARROW_6:"arrow.6",SHAPE_ARROW_7:"arrow.7",SHAPE_ARROW_8:"arrow.8",SHAPE_ARROW_OPEN:"arrow.open"};gg.LINE_CAP_TYPE_BUTT="butt",gg.LINE_CAP_TYPE_ROUND="round",gg.LINE_CAP_TYPE_SQUARE="square",gg.LINE_JOIN_TYPE_BEVEL="bevel",gg.LINE_JOIN_TYPE_ROUND="round",gg.LINE_JOIN_TYPE_MITER="miter",Re.SELECTION_TYPE=gg.SELECTION_TYPE_SHADOW,Re.SELECTION_TOLERANCE=Hf?8:3,Re.SELECTION_BORDER=2,Re.SELECTION_SHADOW_BLUR=7,Re.SELECTION_COLOR=X(3422561023),Re.SELECTION_TYPE=gg.SELECTION_TYPE_SHADOW,Re.BORDER_RADIUS=10,Re.POINTER_WIDTH=10,Re.ARROW_SIZE=10,Re.IMAGE_MAX_SIZE=200,Re.LINE_HEIGHT=1.2;var hg=a.devicePixelRatio||1;1>hg&&(hg=1);var ig;fg.createCanvas=Ga;var jg=Je&&!Pe,kg=9,lg=function(a,b,c,d){var e=a-c,f=b-d;return e*e+f*f};_a.prototype={equals:function(a){return this.cx==a.cx&&this.cy==a.cy&&this.r==a.r}},_a._mzreateCircle=function(a,b,c){if(!c)return Za(a,b);var d=lg(a.x,a.y,b.x,b.y),e=lg(a.x,a.y,c.x,c.y),f=lg(c.x,c.y,b.x,b.y);if(d+mg>=e+f)return Za(a,b,0,c);if(e+mg>=d+f)return Za(a,c,0,b);if(f+mg>=d+e)return Za(b,c,0,a);var g;Math.abs(c.y-b.y)<1e-4&&(g=a,a=b,b=g),g=c.x*(a.y-b.y)+a.x*(b.y-c.y)+b.x*(-a.y+c.y);var h=(c.x*c.x*(a.y-b.y)+(a.x*a.x+(a.y-b.y)*(a.y-c.y))*(b.y-c.y)+b.x*b.x*(-a.y+c.y))/(2*g),i=(b.y+c.y)/2-(c.x-b.x)/(c.y-b.y)*(h-(b.x+c.x)/2);return new _a(h,i,We(h,i,a.x,a.y),a,b,c)};var mg=.01,ng={_mx4:function(a,b,d,e,f){if(L(a)&&(a=_e.fromString(a)),!a)return{x:0,y:0};var g=0,h=0,i=b._jf;if(d=d||0,a.x===c){var j=a.horizontalPosition,k=a.verticalPosition,l=!0;switch(j){case cf:l=!1;break;case bf:g+=i/2}switch(k){case df:h-=d/2;break;case ff:h+=d/2}}else g=a.x,h=a.y,Math.abs(g)>0&&Math.abs(g)<1&&(g*=i);f&&null!=e&&(h+=e.y,g+=Math.abs(e.x)<1?e.x*i:e.x);var m=hb.call(b,g,h,l);return m?(f||null==e||m.offset(e),m):{x:0,y:0}},_lt:function(a,b){var c=b.type,d=b.points;switch(c){case Ng:a.arcTo(d[0],d[1],d[2],d[3],b._r);break;case Jg:a.moveTo(d[0],d[1]);break;case Kg:a.lineTo(d[0],d[1]);break;case Lg:a.quadraticCurveTo(d[0],d[1],d[2],d[3]);break;case Mg:a.bezierCurveTo(d[0],d[1],d[2],d[3],d[4],d[5]);break;case Og:a.closePath()}},_60:function(a,b,c,d){var e=b.type;if(e!=Jg&&e!=Og){var f=c.lastPoint,g=b.points;switch(c.type==Jg&&a.add(f.x,f.y),e){case Ng:kb(b,f.x,f.y,g[0],g[1],g[2],g[3],g[4]),a.add(g[0],g[1]),a.add(b._p1x,b._p1y),a.add(b._p2x,b._p2y),b.$boundaryPoint1&&a.add(b.$boundaryPoint1.x,b.$boundaryPoint1.y),b.$boundaryPoint2&&a.add(b.$boundaryPoint2.x,b.$boundaryPoint2.y);break;case Kg:a.add(g[0],g[1]);break;case Lg:Qa([f.x,f.y].concat(g),a);break;case Mg:Va([f.x,f.y].concat(g),a);break;case Og:d&&a.add(d.points[0],d.points[1])}}},_5z:function(a,b,c){var d=a.type;if(d==Jg)return 0;var e=b.lastPoint,f=a.points;switch(d==Mg&&4==f.length&&(d=Lg),d){case Kg:return We(f[0],f[1],e.x,e.y);case Ng:return a._jf;case Lg:var g=Sa([e.x,e.y].concat(f));return a._lf=g,g(1);case Mg:var g=Xa([e.x,e.y].concat(f));return a._lf=g,g(1)||Wa([e.x,e.y].concat(f));case Og:if(e&&c)return a.points=c.points,We(c.points[0],c.points[1],e.x,e.y)}return 0}},og=/^data:image\/(\w+);base64,/i,pg=/^gif/i,qg=/^svg/i,rg=10,sg=11,tg=12,ug=20,vg=30;Re.IMAGE_WIDTH=50,Re.IMAGE_HEIGHT=30,Re.MAX_CACHE_PIXELS=1e6;var wg=1,xg=2,yg=3;pb.prototype={_jw:0,_6n:!0,_le:null,_jh:null,_lr:null,_m3:null,_mwo:c,_9s:c,_6e:function(){return this._jw==wg},getBounds:function(a){return this._m3==vg?this._lr.getBounds(a):(this._6n&&this._g3(),this)},validate:function(){this._6n&&this._g3()},_g3:function(){if(this._6n=!1,this._m3==vg)return this._lr.validate(),void this.setByRect(this._lr.bounds);if(this._m3==ug)return void this._9p();if(this._jw!=wg)try{this._e3()}catch(a){this._jw=yg,fg.error(a)}},_51:function(){this._e9(),this._dispatcher.clear(),delete this._dispatcher},_ik:function(a){this._le&&this._le.parentNode&&this._le.parentNode.removeChild(this._le),this._jw=yg,fg.error("Image load error - "+this._lr),this._pixels=null,this._jh=null,this._le=null,a!==!1&&this._51()},_e3:function(){var a=this._lr;if(this._jw=wg,this._dispatcher=new qf,this._m3==tg){for(var c in Yg)this[c]=Yg[c];return void Vb(this._lr,this,this._dh,this._ik,this._fi)}this._le||(this._le=b.createElement("img"),De&&(this._le.style.visibility="hidden",b.body.appendChild(this._le))),this._le.src=a,this._le.width&&(this.width=this._le.width,this.height=this._le.height),this._le.onload=De?function(a){setTimeout(this._8u.bind(this,a),100)}.bind(this):this._8u.bind(this),this._le.onerror=this._ik.bind(this)},_8u:function(){this._jw=xg;var a=this._le.width,b=this._le.height;if(this._le.parentNode&&this._le.parentNode.removeChild(this._le),!a||!b)return void this._ik();this.width=a,this.height=b;var c=this._em();c.width=a,c.height=b,c.g.drawImage(this._le,0,0,a,b),this._pixels=De&&this._m3==sg?null:wb(c),this._51()},_9p:function(){var a=this._lr;if(!(a.draw instanceof Function))return void this._ik(!1);if(a.cacheable===!1&&a.width&&a.height)return this.width=a.width,void(this.height=a.height);var b=a.width||Re.IMAGE_MAX_SIZE,c=a.height||Re.IMAGE_MAX_SIZE,d=this._em();d.width=b,d.height=c;var e=d.g;a.draw(e);var f=La(e,0,0,b,c);if(f){var g=yb(f.data,b,c);this.x=g._x,this.y=g._y,this.width=g._width,this.height=g._height,d.width=this.width,d.height=this.height,e.putImageData(f,-this.x,-this.y),this._pixels=g}},_em:function(){return this._jh||(this._jh=Ga())},_6d:function(a,b,c,d,e,f){b.save(),b.rect(0,0,d,e),b.fillStyle=f||"#CCC",b.fill(),b.clip(),b.textAlign="center",b.textBaseline="middle",b.fillStyle="#888";var g=6*(b.canvas.ratio||1);b.font="normal "+g+"px Verdana,helvetica,arial,sans-serif",b.strokeStyle="#FFF",b.lineWidth=1,b.strokeText(a,d/2+.5,e/2+.5),b.strokeStyle="#000",b.strokeText(a,d/2-.5,e/2-.5),b.fillText(a,d/2,e/2),b.restore()},draw:function(a,b,c,d,e,f){if(this.width&&this.height){b=b||1,d=d||1,e=e||1;var g=this.width*d,h=this.height*e;if(f&&c.shadowColor&&(a.shadowColor=c.shadowColor,a.shadowBlur=(c.shadowBlur||0)*b,a.shadowOffsetX=(c.shadowOffsetX||0)*b,a.shadowOffsetY=(c.shadowOffsetY||0)*b),this._jw==wg)return this._6d("Loading...",a,b,g,h,c.renderColor);if(this._jw==yg)return this._6d("Error...",a,b,g,h,c.renderColor);if(this._m3==vg)return a.scale(d,e),void this._lr.draw(a,b,c);var i=this._gy(b,d,e);return i?((this.x||this.y)&&a.translate(this.x*d,this.y*e),a.scale(d/i.scale,e/i.scale),void i._lt(a,c.renderColor,c.renderColorBlendMode)):void this._jo(a,b,d,e,this.width*d,this.height*e,c)}},_jo:function(a,b,c,d,e,f,g){if(this._m3==ug)return 1!=c&&1!=d&&a.scale(c,d),void this._lr.draw(a,g);if(this._le){if(!Ie)return void a.drawImage(this._le,0,0,e,f);var c=b*e/this.width,d=b*f/this.height;a.scale(1/c,1/d),a.drawImage(this._le,0,0,e*c,f*d)}},_jj:null,_gy:function(a,b,c){if(this._m3==ug&&this._lr.cacheable===!1)return null;if(this._m3==rg||(a*=Math.max(b,c))<=1)return this._defaultCache||(this._defaultCache=this._h2(this._jh||this._le,1)),this._defaultCache;var d=this._jj.maxScale||0;if(a=Math.ceil(a),d>=a){for(var e=a,f=this._jj[e];!f&&++e<=d;)f=this._jj[e];if(f)return f}a%2&&a++;var g=this.width*a,h=this.height*a;if(g*h>Re.MAX_CACHE_PIXELS)return null;var i=Ga(g,h);return(this.x||this.y)&&i.g.translate(-this.x*a,-this.y*a),this._jo(i.g,1,a,a,g,h),
+this._h2(i,a)},_h2:function(a,b){var c=new Sg(a,b);return this._jj[b]=c,this._jj.maxScale=b,c},hitTest:function(a,b,c){if(this._m3==vg)return this._lr.hitTest.apply(this._lr,arguments);if(!(this._pixels||this._le&&this._le._pixels))return!0;var d=this._pixels||this._le._pixels;return d._iu(a,b,c)},_e9:function(){this._dispatcher&&this._dispatcher.onEvent(new jf(this,"image","load",this._le))},_mwq:function(a,b){this._dispatcher&&this._dispatcher.addListener(a,b)},_68:function(a,b){this._dispatcher&&this._dispatcher.removeListener(a,b)},_dj:function(a){this._jj={},(a||this.width*this.height>1e5)&&(this._le=null,this._jh=null)}},w(pb,Ze);var zg={};fg.drawImage=ub,fg.registerImage=qb,fg.hasImage=sb,fg.getAllImages=function(){var a=[];for(var b in zg)a.push(b);return a};var Ag=function(a,b,c,d,e,f){this.type=a,this.colors=b,this.positions=c,this.angle=d||0,this.tx=e||0,this.ty=f||0};gg.GRADIENT_TYPE_RADIAL="r",gg.GRADIENT_TYPE_LINEAR="l",Ag.prototype={type:null,colors:null,positions:null,angle:null,tx:0,ty:0,position:_e.CENTER_MIDDLE,isEmpty:function(){return null==this.colors||0==this.colors.length},_6a:function(){var a=this.colors.length;if(1==a)return[0];for(var b=[],c=1/(a-1),d=0;a>d;d++)b.push(c*d);return this.positions||(this.positions=b),b},generatorGradient:function(a){if(null==this.colors||0==this.colors.length)return null;var b,c=Ha();if(this.type==gg.GRADIENT_TYPE_LINEAR){var d=this.angle;d>Math.PI&&(d-=Math.PI);var e;if(d<=Math.PI/2){var f=Math.atan2(a.height,a.width),g=Math.sqrt(a.width*a.width+a.height*a.height),h=f-d;e=Math.cos(h)*g}else{var f=Math.atan2(a.width,a.height),g=Math.sqrt(a.width*a.width+a.height*a.height),h=f-(d-Math.PI/2);e=Math.cos(h)*g}var i=e/2,j=i*Math.cos(d),k=i*Math.sin(d),l=a.x+a.width/2-j,m=a.y+a.height/2-k,n=a.x+a.width/2+j,o=a.y+a.height/2+k;b=c.createLinearGradient(l,m,n,o)}else{if(!(this.type=gg.GRADIENT_TYPE_RADIAL))return null;var p=ja(this.position,a.width,a.height);p.x+=a.x,p.y+=a.y,this.tx&&(p.x+=Math.abs(this.tx)<1?a.width*this.tx:this.tx),this.ty&&(p.y+=Math.abs(this.ty)<1?a.height*this.ty:this.ty);var q=We(p.x,p.y,a.x,a.y);q=Math.max(q,We(p.x,p.y,a.x,a.y+a.height)),q=Math.max(q,We(p.x,p.y,a.x+a.width,a.y+a.height)),q=Math.max(q,We(p.x,p.y,a.x+a.width,a.y)),b=c.createRadialGradient(p.x,p.y,0,p.x,p.y,q)}var r=this.colors,s=this.positions;s&&s.length==r.length||(s=this._6a());for(var t=0,u=r.length;u>t;t++)b.addColorStop(s[t],r[t]);return b}};var Bg=new Ag(gg.GRADIENT_TYPE_LINEAR,[X(2332033023),X(1154272460),X(1154272460),X(1442840575)],[.1,.3,.7,.9],Math.PI/2),Cg=new Ag(gg.GRADIENT_TYPE_LINEAR,[X(2332033023),X(1154272460),X(1154272460),X(1442840575)],[.1,.3,.7,.9],0),Dg=(new Ag(gg.GRADIENT_TYPE_LINEAR,[X(1154272460),X(1442840575)],[.1,.9],0),new Ag(gg.GRADIENT_TYPE_RADIAL,[X(2298478591),X(1156509422),X(1720223880),X(1147561574)],[.1,.3,.7,.9],0,(-.3),(-.3))),Eg=[X(0),X(4294901760),X(4294967040),X(4278255360),X(4278250239),X(4278190992),X(4294901958),X(0)],Fg=[0,.12,.28,.45,.6,.75,.8,1],Gg=new Ag(gg.GRADIENT_TYPE_LINEAR,Eg,Fg),Hg=new Ag(gg.GRADIENT_TYPE_LINEAR,Eg,Fg,Math.PI/2),Ig=new Ag(gg.GRADIENT_TYPE_RADIAL,Eg,Fg);Ag.LINEAR_GRADIENT_VERTICAL=Bg,Ag.LINEAR_GRADIENT_HORIZONTAL=Cg,Ag.RADIAL_GRADIENT=Dg,Ag.RAINBOW_LINEAR_GRADIENT=Gg,Ag.RAINBOW_LINEAR_GRADIENT_VERTICAL=Hg,Ag.RAINBOW_RADIAL_GRADIENT=Ig;var Jg="m",Kg="l",Lg="q",Mg="c",Ng="a",Og="z";gg.SEGMENT_MOVE_TO=Jg,gg.SEGMENT_LINE_TO=Kg,gg.SEGMENT_QUAD_TO=Lg,gg.SEGMENT_CURVE_TO=Mg,gg.SEGMENT_ARC_TO=Ng,gg.SEGMENT_CLOSE=Og;var Pg=function(a,b){this.id=++Ae,N(a)?this.points=a:(this.type=a,this.points=b)};Pg.prototype={toJSON:function(){var a={type:this.type,points:this.points};return this.invalidTerminal&&(a.invalidTerminal=!0),a},parseJSON:function(a){this.type=a.type,this.points=a.points,this.invalidTerminal=a.invalidTerminal},points:null,type:Kg,clone:function(){return new Pg(this.type,this.points?r(this.points):null)},move:function(a,b){if(this.points)for(var c=0,d=this.points.length;d>c;c++){var e=this.points[c];fg.isNumber(e)&&(this.points[c]+=c%2==0?a:b)}}},Z(Pg.prototype,{lastPoint:{get:function(){return this.type==Ng?{x:this._p2x,y:this._p2y}:{x:this.points[this.points.length-2],y:this.points[this.points.length-1]}}},firstPoint:{get:function(){return{x:this.points[0],y:this.points[1]}}}}),fg.PathSegment=Pg;var Qg=0,Rg=function(a){this.bounds=new Ze,this._h3=a||[]};Rg.prototype={toJSON:function(){var a=[];return this._h3.forEach(function(b){a.push(b.toJSON())}),a},parseJSON:function(a){var b=this._h3;a.forEach(function(a){b.push(new Pg(a.type,a.points))})},clear:function(){this._h3.length=0,this.bounds.clear(),this._jf=0,this._6n=!0},_e2:!0,_6s:function(a,b){this._e2&&0===this._h3.length&&a!=Jg&&this._h3.push(new Pg(Jg,[0,0])),this._h3.push(new Pg(a,b)),this._6n=!0},add:function(a){this._h3.push(a),this._6n=!0},removePathSegment:function(a){return!(a>=this._h3.length)&&(this._h3.splice(a,1),void(this._6n=!0))},moveTo:function(a,b){this._6s(Jg,[a,b])},lineTo:function(a,b){this._6s(Kg,[a,b])},quadTo:function(a,b,c,d){this._6s(Lg,[a,b,c,d])},curveTo:function(a,b,c,d,e,f){this._6s(Mg,[a,b,c,d,e,f])},arcTo:function(a,b,c,d,e){this._6s(Ng,[a,b,c,d,e])},closePath:function(){this._6s(Og)},_89:function(a,b,c,d,e){if(d.selectionColor){if(c==gg.SELECTION_TYPE_SHADOW){if(!d.selectionShadowBlur)return;return a.shadowColor=d.selectionColor,a.shadowBlur=d.selectionShadowBlur*b,a.shadowOffsetX=(d.selectionShadowOffsetX||0)*b,void(a.shadowOffsetY=(d.selectionShadowOffsetY||0)*b)}if(c==gg.SELECTION_TYPE_BORDER){if(!d.selectionBorder)return;a.strokeStyle=d.selectionColor,a.lineWidth=d.selectionBorder+(e.lineWidth||0),this._lt(a),a.stroke()}}},_6n:!0,_h3:null,_jf:0,lineCap:"butt",lineJoin:"round",draw:function(a,b,c,d,e){a.lineCap=c.lineCap||this.lineCap,a.lineJoin=c.lineJoin||this.lineJoin,d&&(e||(e=c),this._89(a,b,e.selectionType,e,c)),c.outlineStyle&&(this._lt(a),a.lineWidth=c.lineWidth+2*(c.outline||0),a.strokeStyle=c.outlineStyle,a.stroke()),a.lineWidth=0,this._lt(a),c.fillColor&&(a.fillStyle=c.renderColor||c.fillColor,a.fill()),c.fillGradient&&(a.fillStyle=c._fillGradient||c.fillGradient,a.fill()),c.lineWidth&&(a.lineWidth=c.lineWidth,c.lineDash&&(a.lineDash=c.lineDash,a.lineDashOffset=c.lineDashOffset),a.strokeStyle=c.renderColor||c.strokeStyle,a.stroke(),a.lineDash=[])},_lt:function(a){a.beginPath();for(var b,c,d=0,e=this._h3.length;e>d;d++)b=this._h3[d],ng._lt(a,b,c),c=b},invalidate:function(){this._6n=!0},validate:function(){if(this._6n=!1,this.bounds.clear(),this._jf=0,0!=this._h3.length)for(var a,b,c=this._h3,d=1,e=c[0],f=e,g=c.length;g>d;d++)a=c[d],a.type==Jg?f=a:(ng._60(this.bounds,a,e,f),b=ng._5z(a,e,f),a._jf=b,this._jf+=b),e=a},getBounds:function(a,b){if(this._6n&&this.validate(),b=b||new Ze,a){var c=a/2;b.set(this.bounds.x-c,this.bounds.y-c,this.bounds.width+a,this.bounds.height+a)}else b.set(this.bounds.x,this.bounds.y,this.bounds.width,this.bounds.height);return b},hitTest:function(a,b,c,d,e,f){return gb.call(this,a,b,c,d,e,f)},toSegments:function(){return[].concat(this._h3)},generator:function(a,b,c,d,e){return fb.call(this,a,b,c,d,e)},getLocation:function(a,b){return hb.call(this,a,b||0)}},Z(Rg.prototype,{segments:{get:function(){return this._h3},set:function(a){this.clear(),this._h3=a}},length:{get:function(){return this._6n&&this.validate(),this._jf}},_empty:{get:function(){return 0==this._h3.length}}}),xb.prototype={_17:function(a,b){var c,d,e,f,g,h=a.length,i=0,j=0;for(g=0;h>g;g+=4)if(a[g+3]>0){c=(g+4)/b/4|0;break}for(g=h-4;g>=0;g-=4)if(a[g+3]>0){d=(g+4)/b/4|0;break}for(i=0;b>i;i++){for(j=c;d>j;j++)if(a[j*b*4+4*i+3]>0){e=i;break}if(e>=0)break}for(i=b-1;i>=0;i--){for(j=c;d>j;j++)if(a[j*b*4+4*i+3]>0){f=i;break}if(f>=0)break}this._x=e,this._y=c,this._width=f-e+1,this._height=d-c+1,this._ju=new Ze(e,c,this._width,this._height),this._pixelSize=this._width*this._height,this._originalPixelsWidth=b,this._originalPixels=a},_fl:function(a,b){return this._originalPixels[4*(a+this._x+(this._y+b)*this._originalPixelsWidth)+3]},_iu:function(a,b,c){(!c||1>=c)&&(c=1),c=0|c,a=Math.round(a-this._x)-c,b=Math.round(b-this._y)-c,c+=c;for(var d=a,e=b;b+c>e;){for(var d=a;a+c>d;){if(this._fl(d,e))return!0;++d}++e}return!1}},gg.BLEND_MODE_DARKEN="darken",gg.BLEND_MODE_MULTIPLY="multiply",gg.BLEND_MODE_COLOR_BURN="color.burn",gg.BLEND_MODE_LINEAR_BURN="linear.burn",gg.BLEND_MODE_LIGHTEN="lighten",gg.BLEND_MODE_SCREEN="screen",gg.BLEND_MODE_GRAY="gray",Re.BLEND_MODE=gg.BLEND_MODE_LINEAR_BURN;var Sg=function(a,b,c){this._jh=a,this.scale=b||1,a instanceof Image&&(c=!1),this._ii=c};Sg.prototype={scale:1,_jh:null,_jj:null,_ii:!0,_lt:function(a,b,c){if(!b||this._ii===!1)return void a.drawImage(this._jh,0,0);this._jj||(this._jj={});var d=b+c,e=this._jj[d];if(e||(e=Bb(this._jh,b,c),e||(this._ii=!1),this._jj[d]=e||this._jh),e)if(De)try{a.drawImage(e,0,0)}catch(f){}else a.drawImage(e,0,0)}};var Tg=function(a,b,c,d,e,f,g,h,i){this._m8=Fb(a,b,c,d,e,f,g,h,i)},Ug={server:{draw:function(a){a.save(),a.translate(0,0),a.beginPath(),a.moveTo(0,0),a.lineTo(40,0),a.lineTo(40,40),a.lineTo(0,40),a.closePath(),a.clip(),a.translate(0,0),a.translate(0,0),a.scale(1,1),a.translate(0,0),a.strokeStyle="rgba(0,0,0,0)",a.lineCap="butt",a.lineJoin="miter",a.miterLimit=4,a.save(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.restore(),a.save();var b=a.createLinearGradient(6.75,3.9033,30.5914,27.7447);b.addColorStop(.0493,"#1C6B9D"),b.addColorStop(.0689,"#186493"),b.addColorStop(.0939,"#145E8B"),b.addColorStop(.129,"#115B87"),b.addColorStop(.2266,"#115A85"),b.addColorStop(.2556,"#125C89"),b.addColorStop(.2869,"#176291"),b.addColorStop(.3194,"#1D6C9F"),b.addColorStop(.3525,"#2479B0"),b.addColorStop(.3695,"#2881BB"),b.addColorStop(.5025,"#1F6FA2"),b.addColorStop(.9212,"#115A86"),b.addColorStop(1,"#004063"),a.fillStyle=b,a.beginPath(),a.moveTo(25.677,4.113),a.bezierCurveTo(25.361,2.4410000000000007,23.364,2.7940000000000005,22.14,2.7990000000000004),a.bezierCurveTo(19.261,2.813,16.381,2.8260000000000005,13.502,2.8400000000000003),a.bezierCurveTo(12.185,2.846,10.699000000000002,2.652,9.393,2.8790000000000004),a.bezierCurveTo(9.19,2.897,8.977,2.989,8.805,3.094),a.bezierCurveTo(8.084999999999999,3.5109999999999997,7.436999999999999,4.1259999999999994,6.776,4.63),a.bezierCurveTo(5.718999999999999,5.436,4.641,6.22,3.6029999999999998,7.05),a.bezierCurveTo(4.207,6.5889999999999995,21.601999999999997,36.579,21.028,37.307),a.bezierCurveTo(22.019,36.063,23.009999999999998,34.819,24.000999999999998,33.575),a.bezierCurveTo(24.587999999999997,32.84,25.589999999999996,31.995000000000005,25.593999999999998,30.983000000000004),a.bezierCurveTo(25.595999999999997,30.489000000000004,25.598,29.994000000000003,25.601,29.500000000000004),a.bezierCurveTo(25.612,26.950000000000003,25.622,24.400000000000006,25.633,21.85),a.bezierCurveTo(25.657,16.318,25.680999999999997,10.786000000000001,25.704,5.253),a.bezierCurveTo(25.706,4.885,25.749,4.478,25.677,4.113),a.bezierCurveTo(25.67,4.077,25.697,4.217,25.677,4.113),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.save(),a.fillStyle="#2e8ece",a.beginPath(),a.moveTo(19.763,6.645),a.bezierCurveTo(20.002000000000002,6.643999999999999,20.23,6.691999999999999,20.437,6.778),a.bezierCurveTo(20.644000000000002,6.864999999999999,20.830000000000002,6.991,20.985,7.146999999999999),a.bezierCurveTo(21.14,7.302999999999999,21.266,7.488999999999999,21.352999999999998,7.696999999999999),a.bezierCurveTo(21.438999999999997,7.903999999999999,21.487,8.133,21.487,8.372),a.lineTo(21.398,36.253),a.bezierCurveTo(21.397,36.489,21.349,36.713,21.262,36.917),a.bezierCurveTo(21.174,37.121,21.048000000000002,37.305,20.893,37.458),a.bezierCurveTo(20.738,37.611,20.553,37.734,20.348,37.818999999999996),a.bezierCurveTo(20.141,37.903999999999996,19.916,37.95099999999999,19.679,37.949),a.lineTo(4.675,37.877),a.bezierCurveTo(4.4399999999999995,37.876000000000005,4.216,37.827000000000005,4.012,37.741),a.bezierCurveTo(3.8089999999999997,37.653999999999996,3.6249999999999996,37.528999999999996,3.4719999999999995,37.376),a.bezierCurveTo(3.3179999999999996,37.221,3.1939999999999995,37.037,3.1079999999999997,36.833999999999996),a.bezierCurveTo(3.022,36.629999999999995,2.9739999999999998,36.406,2.9739999999999998,36.172),a.lineTo(2.924,8.431),a.bezierCurveTo(2.923,8.192,2.971,7.964,3.057,7.758),a.bezierCurveTo(3.143,7.552,3.267,7.365,3.4219999999999997,7.209),a.bezierCurveTo(3.5769999999999995,7.052999999999999,3.76,6.925,3.965,6.837),a.bezierCurveTo(4.17,6.749,4.396,6.701,4.633,6.7),a.lineTo(19.763,6.645),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.save(),a.fillStyle="#efefef",a.beginPath(),a.arc(12.208,26.543,2.208,0,6.283185307179586,!0),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#2e8ece",a.beginPath(),a.arc(12.208,26.543,1.876,0,6.283185307179586,!0),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#efefef",a.beginPath(),a.moveTo(19.377,17.247),a.bezierCurveTo(19.377,17.724,18.991999999999997,18.108999999999998,18.516,18.108999999999998),a.lineTo(5.882,18.108999999999998),a.bezierCurveTo(5.404999999999999,18.108999999999998,5.02,17.723,5.02,17.247),a.lineTo(5.02,11.144),a.bezierCurveTo(5.02,10.666,5.406,10.281,5.882,10.281),a.lineTo(18.516,10.281),a.bezierCurveTo(18.993,10.281,19.377,10.666,19.377,11.144),a.lineTo(19.377,17.247),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.save(),a.fillStyle="#2e8ece",a.beginPath(),a.moveTo(18.536,13.176),a.bezierCurveTo(18.536,13.518,18.261000000000003,13.794,17.919,13.794),a.lineTo(6.479,13.794),a.bezierCurveTo(6.1370000000000005,13.794,5.861,13.518,5.861,13.176),a.lineTo(5.861,11.84),a.bezierCurveTo(5.861,11.498,6.137,11.221,6.479,11.221),a.lineTo(17.918,11.221),a.bezierCurveTo(18.259999999999998,11.221,18.535,11.497,18.535,11.84),a.lineTo(18.535,13.176),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#2e8ece",a.beginPath(),a.moveTo(18.536,16.551),a.bezierCurveTo(18.536,16.892999999999997,18.261000000000003,17.168999999999997,17.919,17.168999999999997),a.lineTo(6.479,17.168999999999997),a.bezierCurveTo(6.1370000000000005,17.168999999999997,5.861,16.892999999999997,5.861,16.551),a.lineTo(5.861,15.215999999999998),a.bezierCurveTo(5.861,14.872999999999998,6.137,14.596999999999998,6.479,14.596999999999998),a.lineTo(17.918,14.596999999999998),a.bezierCurveTo(18.259999999999998,14.596999999999998,18.535,14.872999999999998,18.535,15.215999999999998),a.lineTo(18.535,16.551),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.restore()}},exchanger2:{draw:function(a){a.save(),a.translate(0,0),a.beginPath(),a.moveTo(0,0),a.lineTo(40,0),a.lineTo(40,40),a.lineTo(0,40),a.closePath(),a.clip(),a.translate(0,0),a.translate(0,0),a.scale(1,1),a.translate(0,0),a.strokeStyle="rgba(0,0,0,0)",a.lineCap="butt",a.lineJoin="miter",a.miterLimit=4,a.save(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.restore(),a.save();var b=a.createLinearGradient(.4102,24.3613,39.5898,24.3613);b.addColorStop(0,"#1C6B9D"),b.addColorStop(.0788,"#115A85"),b.addColorStop(.2046,"#135D89"),b.addColorStop(.3649,"#186494"),b.addColorStop(.5432,"#1F70A4"),b.addColorStop(.6798,"#257AB2"),b.addColorStop(.7462,"#2377AD"),b.addColorStop(.8508,"#1E6DA0"),b.addColorStop(.98,"#125C89"),b.addColorStop(1,"#105984"),a.fillStyle=b,a.beginPath(),a.moveTo(.41,16.649),a.bezierCurveTo(.633,19.767,.871,20.689,1.094,23.807000000000002),a.bezierCurveTo(1.29,26.548000000000002,3.324,28.415000000000003,5.807,29.711000000000002),a.bezierCurveTo(10.582,32.202000000000005,16.477,32.806000000000004,21.875999999999998,32.523),a.bezierCurveTo(26.929,32.258,32.806,31.197000000000003,36.709999999999994,27.992000000000004),a.bezierCurveTo(38.30499999999999,26.728000000000005,38.83599999999999,25.103000000000005,38.998999999999995,23.161000000000005),a.bezierCurveTo(39.589,16.135000000000005,39.589,16.135000000000005,39.589,16.135000000000005),a.bezierCurveTo(39.589,16.135000000000005,3.26,16.647,.41,16.649),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.save(),a.fillStyle="#2e8ece",a.beginPath(),a.moveTo(16.4,25.185),a.bezierCurveTo(12.807999999999998,24.924999999999997,9.139,24.238,5.857999999999999,22.705),a.bezierCurveTo(3.175999999999999,21.450999999999997,-.32200000000000095,18.971999999999998,.544999999999999,15.533999999999999),a.bezierCurveTo(1.3499999999999992,12.335999999999999,4.987999999999999,10.495999999999999,7.807999999999999,9.428999999999998),a.bezierCurveTo(11.230999999999998,8.133999999999999,14.911999999999999,7.519999999999999,18.558,7.345999999999998),a.bezierCurveTo(22.233,7.169999999999998,25.966,7.437999999999998,29.548000000000002,8.300999999999998),a.bezierCurveTo(32.673,9.052999999999999,36.192,10.296,38.343,12.814999999999998),a.bezierCurveTo(40.86600000000001,15.768999999999998,39.208000000000006,19.066999999999997,36.406000000000006,21.043999999999997),a.bezierCurveTo(33.566,23.046999999999997,30.055000000000007,24.071999999999996,26.670000000000005,24.676999999999996),a.bezierCurveTo(23.289,25.28,19.824,25.436,16.4,25.185),a.bezierCurveTo(13.529,24.977,19.286,25.396,16.4,25.185),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.save(),a.save(),a.save(),a.save(),a.save(),a.fillStyle="#f7f8f8",a.beginPath(),a.moveTo(5.21,21.754),a.lineTo(8.188,17.922),a.lineTo(9.53,18.75),a.lineTo(15.956,16.004),a.lineTo(18.547,17.523),a.lineTo(12.074,20.334),a.lineTo(13.464,21.204),a.lineTo(5.21,21.754),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.restore(),a.save(),a.save(),a.save(),a.fillStyle="#f7f8f8",a.beginPath(),a.moveTo(17.88,14.61),a.lineTo(9.85,13.522),a.lineTo(11.703,12.757),a.lineTo(7.436,10.285),a.lineTo(10.783,8.942),a.lineTo(15.091,11.357),a.lineTo(16.88,10.614),a.lineTo(17.88,14.61),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.save(),a.save(),a.fillStyle="#f7f8f8",a.beginPath(),a.moveTo(17.88,14.61),a.lineTo(9.85,13.522),a.lineTo(11.703,12.757),a.lineTo(7.436,10.285),a.lineTo(10.783,8.942),a.lineTo(15.091,11.357),a.lineTo(16.88,10.614),a.lineTo(17.88,14.61),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.restore(),a.save(),a.save(),a.save(),a.fillStyle="#f7f8f8",a.beginPath(),a.moveTo(23.556,15.339),a.lineTo(20.93,13.879),a.lineTo(26.953,11.304),a.lineTo(25.559,10.567),a.lineTo(33.251,9.909),a.lineTo(31.087,13.467),a.lineTo(29.619,12.703),a.lineTo(23.556,15.339),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.restore(),a.save(),a.save(),a.save(),a.fillStyle="#f7f8f8",a.beginPath(),a.moveTo(30.028,23.383),a.lineTo(24.821,20.366),a.lineTo(22.915,21.227),a.lineTo(21.669,16.762),a.lineTo(30.189,17.942),a.lineTo(28.33,18.782),a.lineTo(33.579,21.725),a.lineTo(30.028,23.383),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.save(),a.save(),a.fillStyle="#f7f8f8",a.beginPath(),a.moveTo(30.028,23.383),a.lineTo(24.821,20.366),a.lineTo(22.915,21.227),a.lineTo(21.669,16.762),a.lineTo(30.189,17.942),a.lineTo(28.33,18.782),a.lineTo(33.579,21.725),a.lineTo(30.028,23.383),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.restore(),a.restore(),a.restore(),a.restore()}},exchanger:{draw:function(a){a.save(),a.translate(0,0),a.beginPath(),a.moveTo(0,0),a.lineTo(40,0),a.lineTo(40,40),a.lineTo(0,40),a.closePath(),a.clip(),a.translate(0,0),a.translate(0,0),a.scale(1,1),a.translate(0,0),a.strokeStyle="rgba(0,0,0,0)",a.lineCap="butt",a.lineJoin="miter",a.miterLimit=4,a.save(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.restore(),a.save();var b=a.createLinearGradient(.2095,20.7588,39.4941,20.7588);b.addColorStop(0,"#6A6969"),b.addColorStop(.0788,"#4F4C4B"),b.addColorStop(.352,"#545252"),b.addColorStop(.6967,"#646262"),b.addColorStop(.8916,"#6F6E6F"),b.addColorStop(.9557,"#4C4948"),b.addColorStop(1,"#494645"),a.fillStyle=b,a.beginPath(),a.moveTo(39.449,12.417),a.lineTo(39.384,9.424),a.bezierCurveTo(39.384,9.424,.7980000000000018,22.264,.3710000000000022,23.024),a.bezierCurveTo(-.026999999999997804,23.733,.4240000000000022,24.903000000000002,.5190000000000022,25.647000000000002),a.bezierCurveTo(.7240000000000022,27.244000000000003,.9240000000000023,28.841,1.1350000000000022,30.437),a.bezierCurveTo(1.3220000000000023,31.843,2.7530000000000023,32.094,3.9620000000000024,32.094),a.bezierCurveTo(8.799000000000003,32.092,13.636000000000003,32.091,18.473000000000003,32.089),a.bezierCurveTo(23.515,32.086999999999996,28.556000000000004,32.086,33.598,32.083999999999996),a.bezierCurveTo(34.859,32.083999999999996,36.286,31.979999999999997,37.266,31.081999999999997),a.bezierCurveTo(37.537,30.820999999999998,37.655,30.535999999999998,37.699999999999996,30.229999999999997),a.lineTo(37.711,30.316999999999997),a.lineTo(39.281,16.498999999999995),a.bezierCurveTo(39.281,16.498999999999995,39.467999999999996,15.126999999999995,39.489,14.666999999999994),a.bezierCurveTo(39.515,14.105,39.449,12.417,39.449,12.417),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.save(),a.save(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.save(),a.restore(),a.restore(),a.save();var b=a.createLinearGradient(19.8052,7.7949,19.8052,24.7632);b.addColorStop(0,"#7D7D7D"),b.addColorStop(.1455,"#808080"),b.addColorStop(.2975,"#888888"),b.addColorStop(.4527,"#939293"),b.addColorStop(.6099,"#9E9D9D"),b.addColorStop(.7687,"#A7A5A4"),b.addColorStop(.9268,"#A9A6A5"),b.addColorStop(.9754,"#A7A4A3"),b.addColorStop(1,"#FFFFFF"),a.fillStyle=b,a.beginPath(),a.moveTo(33.591,24.763),a.bezierCurveTo(23.868000000000002,24.754,14.145,24.746000000000002,4.423000000000002,24.738000000000003),a.bezierCurveTo(3.140000000000002,24.737000000000002,-.48799999999999777,24.838000000000005,.3520000000000021,22.837000000000003),a.bezierCurveTo(1.292000000000002,20.594000000000005,2.2330000000000023,18.351000000000003,3.1730000000000023,16.108000000000004),a.bezierCurveTo(4.113000000000002,13.865000000000006,5.054000000000002,11.623000000000005,5.994000000000002,9.380000000000004),a.bezierCurveTo(6.728000000000002,7.629000000000005,9.521000000000003,7.885000000000004,11.156000000000002,7.880000000000004),a.bezierCurveTo(16.974000000000004,7.861000000000004,22.793000000000003,7.843000000000004,28.612000000000002,7.825000000000005),a.bezierCurveTo(30.976000000000003,7.818000000000005,33.341,7.810000000000005,35.707,7.803000000000004),a.bezierCurveTo(36.157000000000004,7.802000000000004,36.609,7.787000000000004,37.06,7.804000000000005),a.bezierCurveTo(37.793,7.833000000000005,39.389,7.875000000000004,39.385000000000005,9.424000000000005),a.bezierCurveTo(39.38400000000001,9.647000000000006,39.31,10.138000000000005,39.27700000000001,10.359000000000005),a.bezierCurveTo(38.81900000000001,13.361000000000004,38.452000000000005,15.764000000000006,37.99400000000001,18.766000000000005),a.bezierCurveTo(37.806000000000004,19.998000000000005,37.61800000000001,21.230000000000004,37.43000000000001,22.462000000000007),a.bezierCurveTo(37.151,24.271,35.264,24.77,33.591,24.763),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.restore(),a.save(),a.save(),a.save(),a.fillStyle="#f7f8f8",a.beginPath(),a.moveTo(10.427,19.292),a.lineTo(5.735,16.452),a.lineTo(12.58,13.8),a.lineTo(12.045,15.07),a.lineTo(20.482,15.072),a.lineTo(19.667,17.887),a.lineTo(11.029,17.851),a.lineTo(10.427,19.292),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.save(),a.save(),a.fillStyle="#f7f8f8",a.beginPath(),a.moveTo(13.041,13.042),a.lineTo(8.641,10.73),a.lineTo(14.82,8.474),a.lineTo(14.373,9.537),a.lineTo(22.102,9.479),a.lineTo(21.425,11.816),a.lineTo(13.54,11.85),a.lineTo(13.041,13.042),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.save(),a.save(),a.fillStyle="#f7f8f8",a.beginPath(),a.moveTo(29.787,16.049),a.lineTo(29.979,14.704),a.lineTo(21.51,14.706),a.lineTo(22.214,12.147),a.lineTo(30.486,12.116),a.lineTo(30.653,10.926),a.lineTo(36.141,13.4),a.lineTo(29.787,16.049),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.save(),a.save(),a.fillStyle="#f7f8f8",a.beginPath(),a.moveTo(28.775,23.14),a.lineTo(29.011,21.49),a.lineTo(19.668,21.405),a.lineTo(20.523,18.295),a.lineTo(29.613,18.338),a.lineTo(29.815,16.898),a.lineTo(35.832,19.964),a.lineTo(28.775,23.14),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.restore(),a.restore()}},cloud:{draw:function(a){a.save(),a.beginPath(),a.moveTo(0,0),a.lineTo(90.75,0),a.lineTo(90.75,62.125),a.lineTo(0,62.125),a.closePath(),a.clip(),a.strokeStyle="rgba(0,0,0,0)",a.lineCap="butt",a.lineJoin="miter",a.miterLimit=4,a.save();var b=a.createLinearGradient(44.0054,6.4116,44.0054,51.3674);b.addColorStop(0,"rgba(159, 160, 160, 0.7)"),b.addColorStop(.9726,"#E9EAEA"),a.fillStyle=b,a.beginPath(),a.moveTo(57.07,20.354),a.bezierCurveTo(57.037,20.354,57.006,20.358,56.974000000000004,20.358),a.bezierCurveTo(54.461000000000006,14.308,48.499,10.049000000000001,41.538000000000004,10.049000000000001),a.bezierCurveTo(33.801,10.049000000000001,27.309000000000005,15.316000000000003,25.408000000000005,22.456000000000003),a.bezierCurveTo(18.988000000000007,23.289,14.025000000000006,28.765000000000004,14.025000000000006,35.413000000000004),a.bezierCurveTo(14.025000000000006,42.635000000000005,19.880000000000006,48.49,27.102000000000004,48.49),a.bezierCurveTo(29.321000000000005,48.49,31.407000000000004,47.933,33.237,46.961),a.bezierCurveTo(34.980000000000004,49.327,37.78,50.867999999999995,40.945,50.867999999999995),a.bezierCurveTo(43.197,50.867999999999995,45.261,50.086,46.896,48.785999999999994),a.bezierCurveTo(49.729,50.78699999999999,53.244,51.98799999999999,57.07,51.98799999999999),a.bezierCurveTo(66.412,51.98799999999999,73.986,44.90699999999999,73.986,36.17099999999999),a.bezierCurveTo(73.986,27.436,66.413,20.354,57.07,20.354),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore()}},node:{width:60,height:100,draw:function(a){a.save(),a.translate(0,0),a.beginPath(),a.moveTo(0,0),a.lineTo(40,0),a.lineTo(40,40),a.lineTo(0,40),a.closePath(),a.clip(),a.translate(0,0),a.translate(0,0),a.scale(1,1),a.translate(0,0),a.strokeStyle="rgba(0,0,0,0)",a.lineCap="butt",a.lineJoin="miter",a.miterLimit=4,a.save(),a.fillStyle="#9fa0a0",a.beginPath(),a.moveTo(13.948,31.075),a.lineTo(25.914,31.075),a.quadraticCurveTo(25.914,31.075,25.914,31.075),a.lineTo(25.914,34.862),a.quadraticCurveTo(25.914,34.862,25.914,34.862),a.lineTo(13.948,34.862),a.quadraticCurveTo(13.948,34.862,13.948,34.862),a.lineTo(13.948,31.075),a.quadraticCurveTo(13.948,31.075,13.948,31.075),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#c9caca",a.beginPath(),a.moveTo(29.679,35.972),a.bezierCurveTo(29.679,36.675000000000004,29.110999999999997,37.244,28.407999999999998,37.244),a.lineTo(11.456,37.244),a.bezierCurveTo(10.751999999999999,37.244,10.183,36.675,10.183,35.972),a.lineTo(10.183,36.136),a.bezierCurveTo(10.183,35.431000000000004,10.751999999999999,34.863,11.456,34.863),a.lineTo(28.407,34.863),a.bezierCurveTo(29.11,34.863,29.678,35.431,29.678,36.136),a.lineTo(29.678,35.972),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#c9caca",a.beginPath(),a.moveTo(.196,29.346),a.bezierCurveTo(.196,30.301,.9690000000000001,31.075,1.925,31.075),a.lineTo(37.936,31.075),a.bezierCurveTo(38.891,31.075,39.665,30.301,39.665,29.346),a.lineTo(39.665,27.174),a.lineTo(.196,27.174),a.lineTo(.196,29.346),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#3e3a39",a.beginPath(),a.moveTo(37.937,3.884),a.lineTo(1.926,3.884),a.bezierCurveTo(.97,3.884,.19699999999999984,4.657,.19699999999999984,5.614),a.lineTo(.19699999999999984,27.12),a.lineTo(39.666000000000004,27.12),a.lineTo(39.666000000000004,5.615),a.bezierCurveTo(39.665,4.657,38.892,3.884,37.937,3.884),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.save(),a.restore(),a.save(),a.restore(),a.restore(),a.save();var b=a.createLinearGradient(6.9609,2.9341,32.9008,28.874);b.addColorStop(0,"#B2CBEA"),b.addColorStop(1,"#2E8ECE"),a.fillStyle=b,a.beginPath(),a.moveTo(35.788,6.39),a.lineTo(4.074,6.39),a.bezierCurveTo(3.315,6.39,2.702,7.003,2.702,7.763),a.lineTo(2.702,24.616),a.lineTo(37.159,24.616),a.lineTo(37.159,7.763),a.bezierCurveTo(37.159,7.003,36.546,6.39,35.788,6.39),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore()}},group:{draw:function(a){a.save(),a.translate(0,0),a.beginPath(),a.moveTo(0,0),a.lineTo(47.75,0),a.lineTo(47.75,40),a.lineTo(0,40),a.closePath(),a.clip(),a.translate(0,0),a.translate(0,0),a.scale(1,1),a.translate(0,0),a.strokeStyle="rgba(0,0,0,0)",a.lineCap="butt",a.lineJoin="miter",a.miterLimit=4,a.save(),a.save(),a.fillStyle="#9fa0a0",a.beginPath(),a.moveTo(10.447,26.005),a.lineTo(18.847,26.005),a.quadraticCurveTo(18.847,26.005,18.847,26.005),a.lineTo(18.847,28.663),a.quadraticCurveTo(18.847,28.663,18.847,28.663),a.lineTo(10.447,28.663),a.quadraticCurveTo(10.447,28.663,10.447,28.663),a.lineTo(10.447,26.005),a.quadraticCurveTo(10.447,26.005,10.447,26.005),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#c9caca",a.beginPath(),a.moveTo(21.491,29.443),a.bezierCurveTo(21.491,29.935000000000002,21.094,30.338,20.597,30.338),a.lineTo(8.698,30.338),a.bezierCurveTo(8.201,30.338,7.8020000000000005,29.936,7.8020000000000005,29.443),a.lineTo(7.8020000000000005,29.557000000000002),a.bezierCurveTo(7.8020000000000005,29.063000000000002,8.201,28.662000000000003,8.698,28.662000000000003),a.lineTo(20.597,28.662000000000003),a.bezierCurveTo(21.093,28.662000000000003,21.491,29.062,21.491,29.557000000000002),a.lineTo(21.491,29.443),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#c9caca",a.beginPath(),a.moveTo(.789,24.79),a.bezierCurveTo(.789,25.461,1.334,26.005,2.0060000000000002,26.005),a.lineTo(27.289,26.005),a.bezierCurveTo(27.961000000000002,26.005,28.504,25.461,28.504,24.79),a.lineTo(28.504,23.267),a.lineTo(.789,23.267),a.lineTo(.789,24.79),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#3e3a39",a.beginPath(),a.moveTo(27.289,6.912),a.lineTo(2.006,6.912),a.bezierCurveTo(1.3339999999999996,6.912,.7889999999999997,7.455,.7889999999999997,8.126),a.lineTo(.7889999999999997,23.227),a.lineTo(28.503999999999998,23.227),a.lineTo(28.503999999999998,8.126),a.bezierCurveTo(28.504,7.455,27.961,6.912,27.289,6.912),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.save(),a.restore(),a.save(),a.restore(),a.restore(),a.save();var b=a.createLinearGradient(5.54,6.2451,23.7529,24.458);b.addColorStop(0,"#B2CBEA"),b.addColorStop(1,"#2E8ECE"),a.fillStyle=b,a.beginPath(),a.moveTo(25.78,8.671),a.lineTo(3.514,8.671),a.bezierCurveTo(2.9819999999999998,8.671,2.549,9.101999999999999,2.549,9.635),a.lineTo(2.549,21.466),a.lineTo(26.743,21.466),a.lineTo(26.743,9.636),a.bezierCurveTo(26.743,9.102,26.312,8.671,25.78,8.671),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.save(),a.save(),a.fillStyle="#9fa0a0",a.beginPath(),a.moveTo(27.053,33.602),a.lineTo(36.22,33.602),a.quadraticCurveTo(36.22,33.602,36.22,33.602),a.lineTo(36.22,36.501),a.quadraticCurveTo(36.22,36.501,36.22,36.501),a.lineTo(27.053,36.501),a.quadraticCurveTo(27.053,36.501,27.053,36.501),a.lineTo(27.053,33.602),a.quadraticCurveTo(27.053,33.602,27.053,33.602),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#c9caca",a.beginPath(),a.moveTo(39.104,37.352),a.bezierCurveTo(39.104,37.891,38.67,38.327,38.13,38.327),a.lineTo(25.143,38.327),a.bezierCurveTo(24.602,38.327,24.166,37.891,24.166,37.352),a.lineTo(24.166,37.477999999999994),a.bezierCurveTo(24.166,36.937,24.602,36.501,25.143,36.501),a.lineTo(38.131,36.501),a.bezierCurveTo(38.671,36.501,39.105,36.937,39.105,37.477999999999994),
+a.lineTo(39.105,37.352),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#c9caca",a.beginPath(),a.moveTo(16.514,32.275),a.bezierCurveTo(16.514,33.004999999999995,17.107,33.601,17.839,33.601),a.lineTo(45.433,33.601),a.bezierCurveTo(46.166,33.601,46.758,33.005,46.758,32.275),a.lineTo(46.758,30.607999999999997),a.lineTo(16.514,30.607999999999997),a.lineTo(16.514,32.275),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#3e3a39",a.beginPath(),a.moveTo(45.433,12.763),a.lineTo(17.839,12.763),a.bezierCurveTo(17.107,12.763,16.514,13.356,16.514,14.089),a.lineTo(16.514,30.57),a.lineTo(46.757999999999996,30.57),a.lineTo(46.757999999999996,14.088),a.bezierCurveTo(46.758,13.356,46.166,12.763,45.433,12.763),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.save(),a.restore(),a.save(),a.restore(),a.restore(),a.save(),b=a.createLinearGradient(21.6973,12.0352,41.5743,31.9122),b.addColorStop(0,"#B2CBEA"),b.addColorStop(1,"#2E8ECE"),a.fillStyle=b,a.beginPath(),a.moveTo(43.785,14.683),a.lineTo(19.486,14.683),a.bezierCurveTo(18.903000000000002,14.683,18.433,15.153,18.433,15.735),a.lineTo(18.433,28.649),a.lineTo(44.837,28.649),a.lineTo(44.837,15.734),a.bezierCurveTo(44.838,15.153,44.367,14.683,43.785,14.683),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.save(),a.globalAlpha=.5,a.beginPath(),a.moveTo(23.709,36.33),a.lineTo(4.232,36.33),a.lineTo(4.232,27.199),a.lineTo(5.304,27.199),a.lineTo(5.304,35.259),a.lineTo(23.709,35.259),a.lineTo(23.709,36.33),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore()}},subnetwork:{draw:function(a){a.save(),a.translate(0,0),a.beginPath(),a.moveTo(0,0),a.lineTo(60.75,0),a.lineTo(60.75,42.125),a.lineTo(0,42.125),a.closePath(),a.clip(),a.translate(0,.26859504132231393),a.scale(.6694214876033058,.6694214876033058),a.translate(0,0),a.strokeStyle="rgba(0,0,0,0)",a.lineCap="butt",a.lineJoin="miter",a.miterLimit=4,a.save(),a.save(),a.restore(),a.save(),a.restore(),a.restore(),a.save();var b=a.createLinearGradient(43.6724,-2.7627,43.6724,59.3806);b.addColorStop(0,"rgba(159, 160, 160, 0.7)"),b.addColorStop(.9726,"#E9EAEA"),a.fillStyle=b,a.beginPath(),a.moveTo(61.732,16.509),a.bezierCurveTo(61.686,16.509,61.644,16.515,61.599,16.515),a.bezierCurveTo(58.126,8.152000000000001,49.884,2.2650000000000006,40.262,2.2650000000000006),a.bezierCurveTo(29.567,2.2650000000000006,20.594,9.545000000000002,17.966,19.415),a.bezierCurveTo(9.09,20.566,2.229,28.136,2.229,37.326),a.bezierCurveTo(2.229,47.309,10.322,55.403000000000006,20.306,55.403000000000006),a.bezierCurveTo(23.374000000000002,55.403000000000006,26.257,54.633,28.787,53.28900000000001),a.bezierCurveTo(31.197,56.56000000000001,35.067,58.69000000000001,39.442,58.69000000000001),a.bezierCurveTo(42.555,58.69000000000001,45.408,57.60900000000001,47.669,55.81200000000001),a.bezierCurveTo(51.586,58.57800000000001,56.443999999999996,60.238000000000014,61.732,60.238000000000014),a.bezierCurveTo(74.64699999999999,60.238000000000014,85.116,50.45000000000002,85.116,38.37400000000001),a.bezierCurveTo(85.116,26.298,74.646,16.509,61.732,16.509),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.save(),a.fillStyle="#9fa0a0",a.beginPath(),a.moveTo(34.966,44.287),a.lineTo(45.112,44.287),a.quadraticCurveTo(45.112,44.287,45.112,44.287),a.lineTo(45.112,47.497),a.quadraticCurveTo(45.112,47.497,45.112,47.497),a.lineTo(34.966,47.497),a.quadraticCurveTo(34.966,47.497,34.966,47.497),a.lineTo(34.966,44.287),a.quadraticCurveTo(34.966,44.287,34.966,44.287),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#727171",a.beginPath(),a.moveTo(48.306,48.439),a.bezierCurveTo(48.306,49.034,47.824999999999996,49.52,47.226,49.52),a.lineTo(32.854,49.52),a.bezierCurveTo(32.253,49.52,31.771,49.034000000000006,31.771,48.439),a.lineTo(31.771,48.578),a.bezierCurveTo(31.771,47.981,32.253,47.497,32.854,47.497),a.lineTo(47.226,47.497),a.bezierCurveTo(47.824999999999996,47.497,48.306,47.98,48.306,48.578),a.lineTo(48.306,48.439),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#b5b5b6",a.beginPath(),a.moveTo(23.302,42.82),a.bezierCurveTo(23.302,43.63,23.96,44.287,24.772,44.287),a.lineTo(55.308,44.287),a.bezierCurveTo(56.12,44.287,56.775,43.629999999999995,56.775,42.82),a.lineTo(56.775,40.98),a.lineTo(23.302,40.98),a.lineTo(23.302,42.82),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.fillStyle="#3e3a39",a.beginPath(),a.moveTo(55.307,21.229),a.lineTo(24.771,21.229),a.bezierCurveTo(23.959,21.229,23.301000000000002,21.884,23.301000000000002,22.695),a.lineTo(23.301000000000002,40.933),a.lineTo(56.774,40.933),a.lineTo(56.774,22.695),a.bezierCurveTo(56.774,21.884,56.119,21.229,55.307,21.229),a.closePath(),a.fill(),a.stroke(),a.restore(),a.save(),a.save(),a.restore(),a.save(),a.restore(),a.restore(),a.save(),b=a.createLinearGradient(29.04,20.4219,51.0363,42.4181),b.addColorStop(0,"#B2CBEA"),b.addColorStop(1,"#2E8ECE"),a.fillStyle=b,a.beginPath(),a.moveTo(53.485,23.353),a.lineTo(26.592,23.353),a.bezierCurveTo(25.948999999999998,23.353,25.427,23.873,25.427,24.517000000000003),a.lineTo(25.427,38.807),a.lineTo(54.647,38.807),a.lineTo(54.647,24.517000000000003),a.bezierCurveTo(54.648,23.873,54.127,23.353,53.485,23.353),a.closePath(),a.fill(),a.stroke(),a.restore(),a.restore(),a.restore()}}};for(var Vg in Ug)qb("Q-"+Vg,Ug[Vg]);var Wg=function(){this.$invalidateRotate=!1;var a=this._gh;a.clear();var b=this.$border||0,c=this._86.x+b/2,d=this._86.y+b/2,e=this._86.width-b,f=this._86.height-b,g=Nb.call(this,{x:c,y:d});Rb(a,g.x,g.y,!0),g=Nb.call(this,{x:c+e,y:d}),Rb(a,g.x,g.y),g=Nb.call(this,{x:c+e,y:d+f}),Rb(a,g.x,g.y),g=Nb.call(this,{x:c,y:d+f}),Rb(a,g.x,g.y),this.__mdPointer&&(g=Nb.call(this,{x:this._pointerX,y:this._pointerY}),Rb(a,g.x,g.y)),b&&a.grow(b/2)},Xg=20,Yg={_ho:!1,_jm:null,_di:0,_li:-1,_lj:null,_fi:function(a){this._jm||(this._jm=[],this._jw=xg),this._jm.push(a),this._ey(),this._la()},_la:function(){if(!this._lj){var a=this;this._lj=setTimeout(function b(){return a._ey()!==!1?void(a._lj=setTimeout(b,a._hp())):void delete a._lj},this._hp())}},_hp:function(){return Math.max(Xg,this._jm[this._li].delay)},_ey:function(){return this._gi(this._li+1)},_gi:function(a){if(this._ho)a%=this._di;else if(a>=this._jm.length)return!1;if(this._li==a)return!1;this._li=a;var b=this._jm[this._li],c=b._mzache;return c||(b._mzache=c=Ga(this.width,this.height),c.g.putImageData(b.data,0,0),c._pixels=b._pixels),this._le=c,this.$invalidateSize=!0,this._e9()},_dh:function(){return this._jm?(this._ho=!0,this._di=this._jm.length,1==this._di?this._e9():void this._la()):void this._ik()},_m0:function(){this._lj&&(clearTimeout(this._lj),delete this._lj)},_e9:function(){var a=this._dispatcher.listeners;if(!a||!a.length)return!1;for(var b=new jf(this,"image","load",this._le),c=0,d=a.length;d>c;c++){var e=a[c];e.scope._k5&&e.scope._k5._ibed?(a.splice(c,1),c--,d--):e.onEvent.call(e.scope,b)}return a.length>0},_mwq:function(a,b){this._dispatcher.addListener(a,b),this._ho&&!this._lj&&this._la()},_68:function(a,b){this._dispatcher.removeListener(a,b),this._dispatcher._mz0()||this._m0()},_ib:function(){this._m0(),this._dispatcher.clear()},_gy:function(){var a=this._le._mxufferedImage;return a||(this._le._mxufferedImage=a=new Sg(this._le,1)),a}},Zg=function(a){return a.reduce(function(a,b){return 2*a+b},0)},$g=function(a){for(var b=[],c=7;c>=0;c--)b.push(!!(a&1<<c));return b},_g=function(a){this.data=a,this.len=this.data.length,this.pos=0,this.readByte=function(){if(this.pos>=this.data.length)throw new Error("Attempted to read past end of stream.");return 255&a.charCodeAt(this.pos++)},this.readBytes=function(a){for(var b=[],c=0;a>c;c++)b.push(this.readByte());return b},this.read=function(a){for(var b="",c=0;a>c;c++)b+=String.fromCharCode(this.readByte());return b},this.readUnsigned=function(){var a=this.readBytes(2);return(a[1]<<8)+a[0]}},ah=function(a,b){for(var c,d,e=0,f=function(a){for(var c=0,d=0;a>d;d++)b.charCodeAt(e>>3)&1<<(7&e)&&(c|=1<<d),e++;return c},g=[],h=1<<a,i=h+1,j=a+1,k=[],l=function(){k=[],j=a+1;for(var b=0;h>b;b++)k[b]=[b];k[h]=[],k[i]=null};;)if(d=c,c=f(j),c!==h){if(c===i)break;if(c<k.length)d!==h&&k.push(k[d].concat(k[c][0]));else{if(c!==k.length)throw new Error("Invalid LZW code.");k.push(k[d].concat(k[d][0]))}g.push.apply(g,k[c]),k.length===1<<j&&12>j&&j++}else l();return g},bh=function(a,b){b||(b={});var c=function(b){for(var c=[],d=0;b>d;d++)c.push(a.readBytes(3));return c},d=function(){var b,c;c="";do b=a.readByte(),c+=a.read(b);while(0!==b);return c},e=function(){var d={};if(d.sig=a.read(3),d.ver=a.read(3),"GIF"!==d.sig)throw new Error("Not a GIF file.");d.width=a.readUnsigned(),d.height=a.readUnsigned();var e=$g(a.readByte());d.gctFlag=e.shift(),d.colorRes=Zg(e.splice(0,3)),d.sorted=e.shift(),d.gctSize=Zg(e.splice(0,3)),d.bgColor=a.readByte(),d.pixelAspectRatio=a.readByte(),d.gctFlag&&(d.gct=c(1<<d.gctSize+1)),b.hdr&&b.hdr(d)},f=function(c){var e=function(c){var d=(a.readByte(),$g(a.readByte()));c.reserved=d.splice(0,3),c.disposalMethod=Zg(d.splice(0,3)),c.userInput=d.shift(),c.transparencyGiven=d.shift(),c.delayTime=a.readUnsigned(),c.transparencyIndex=a.readByte(),c.terminator=a.readByte(),b.gce&&b.gce(c)},f=function(a){a.comment=d(),b.com&&b.com(a)},g=function(c){a.readByte(),c.ptHeader=a.readBytes(12),c.ptData=d(),b.pte&&b.pte(c)},h=function(c){var e=function(c){a.readByte(),c.unknown=a.readByte(),c.iterations=a.readUnsigned(),c.terminator=a.readByte(),b.app&&b.app.NETSCAPE&&b.app.NETSCAPE(c)},f=function(a){a.appData=d(),b.app&&b.app[a.identifier]&&b.app[a.identifier](a)};switch(a.readByte(),c.identifier=a.read(8),c.authCode=a.read(3),c.identifier){case"NETSCAPE":e(c);break;default:f(c)}},i=function(a){a.data=d(),b.unknown&&b.unknown(a)};switch(c.label=a.readByte(),c.label){case 249:c.extType="gce",e(c);break;case 254:c.extType="com",f(c);break;case 1:c.extType="pte",g(c);break;case 255:c.extType="app",h(c);break;default:c.extType="unknown",i(c)}},g=function(e){var f=function(a,b){for(var c=new Array(a.length),d=a.length/b,e=function(d,e){var f=a.slice(e*b,(e+1)*b);c.splice.apply(c,[d*b,b].concat(f))},f=[0,4,2,1],g=[8,8,4,2],h=0,i=0;4>i;i++)for(var j=f[i];d>j;j+=g[i])e(j,h),h++;return c};e.leftPos=a.readUnsigned(),e.topPos=a.readUnsigned(),e.width=a.readUnsigned(),e.height=a.readUnsigned();var g=$g(a.readByte());e.lctFlag=g.shift(),e.interlaced=g.shift(),e.sorted=g.shift(),e.reserved=g.splice(0,2),e.lctSize=Zg(g.splice(0,3)),e.lctFlag&&(e.lct=c(1<<e.lctSize+1)),e.lzwMinCodeSize=a.readByte();var h=d();e.pixels=ah(e.lzwMinCodeSize,h),e.interlaced&&(e.pixels=f(e.pixels,e.width)),b.img&&b.img(e)},h=function(){var c={};switch(c.sentinel=a.readByte(),String.fromCharCode(c.sentinel)){case"!":c.type="ext",f(c);break;case",":c.type="img",g(c);break;case";":c.type="eof",b.eof&&b.eof(c);break;default:throw new Error("Unknown block: 0x"+c.sentinel.toString(16))}"eof"!==c.type&&setTimeout(h,0)},i=function(){e(),setTimeout(h,0)};i()},ch="";b.addEventListener&&b.addEventListener("keydown",function(a){if(a.ctrlKey&&a.shiftKey&&a.altKey&&73==a.keyCode){var b=fg.name+"\nVersion - "+fg.version+"\nPublish Date - "+fg.publishDate+"\n"+fg.about+"\n"+fg.copyright+ch;fg.alert(b)}},!1),ch="\nLicensed to: "+decodeURIComponent("%E5%8D%8E%E8%80%80(%E4%B8%AD%E5%9B%BD)%E7%A7%91%E6%8A%80-Array%20AVX(%E7%BD%91%E7%BB%9C%E8%99%9A%E6%8B%9F%E5%8C%96%E5%B9%B3%E5%8F%B0)");var dh={position:"absolute",userSelect:"none",outline:"none",transformOrigin:"0 0","-webkit-tap-highlight-color":"rgba(0,0,0,0)"},eh="Q-Canvas";ra("."+eh,dh);var fh={width:"100%",height:"100%",position:"relative",overflow:"hidden",textAlign:"left",outline:"none",tapHighlightColor:"rgba(0,0,0,0)",userSelect:"none"},gh="Q-CanvasPanel";ra("."+gh,fh);var hh="Q-Graph",ih={overflow:"hidden","text-align":"left","-webkit-tap-highlight-color":"rgba(0,0,0,0)",outline:"none"};ra("."+hh,ih);var jh=C(function(a){this._mz6=new lh,this._mm=new Se,this._90=[],this._de=[],this._ltingList=[],this._91={},this.bounds=new Ze,this._jy=new qh,this._viewport=new rh,this._jy.listener=function(a){this._7j(a)}.bind(this),this._d4(),this.setParent(a)},{_mxp:null,_jh:null,_mm:null,_de:null,_jy:null,_mzc:function(a){return a?(this._6ns||(this._6ns={}),!this._6ns[a]&&(this._6ns[a]=!0,void this.invalidate())):this.invalidate()},_9e:function(a){return this._6ns&&this._6ns[a]},isInvalidate:function(){return this._6n},clear:function(){this._mm.clear(),this._de.length=0,this._91={},this._mwl=!1,this.invalidate()},_74:function(){this._mzc("size"),this._2h()},_2h:function(){this._mzc("viewport")},invalidate:function(a){(a||!this._6n)&&(this._6n=!0,this._m0||(this._jringID=requestAnimationFrame(this._g3.bind(this))))},_79:function(a){return this._m0=a,a?void(this._jringID&&(cancelAnimationFrame(this._jringID),this._jringID=null)):void(this._6n&&this.invalidate(!0))},_g3:function(){this._jringID=null,this._6n=!1;var a=this._mwl;this._mwl||(this._dd(),this._mwl=!0),this._d7(!a),this._37(),this._jr(),this._2e()},_d7:function(a){this._mx2=a||this.fullRefresh,(a||this._6ns.size)&&this._9c(),(a||this._6ns.matrix)&&this._7p(),this._mx5(a),this._4e(a),this._6ns={}},_37:function(){this._de.length=0;var a=this._viewport;if(this._mm.forEach(function(b){if(b.__id!==!1){var c=this._mxz(b);a.intersects(c.x,c.y,c.width,c.height)&&this._de.push(b)}},this),this._de=this._i7(this._de),!this._mx2){var b=this._mz6;this._ltingList.length=0,b._mxr(this._viewport),b._iw()||this._de.forEach(function(a){var c=this._mxz(a);b._f3(c.x,c.y,c.width,c.height)&&this._ltingList.push(a)},this)}},_i7:function(a){return Je?a=n(a,this._9u):a.sort(this._9u),a},_9u:function(a,b){return a=a.zIndex||0,b=b.zIndex||0,a-b},_mxz:function(a){return a.boundingBox},_jr:function(){if(this._mx2)return this._ea(),this._6l(!0),void this.render(this._mztx,this._de);this._6l(this._mxuffer);var a=this._mz6,b=this._mztx;b.save(),this._mxuffer&&(Yb(b),b.drawImage(this._mxuffer.canvas,this._mxuffer.x,this._mxuffer.y)),a._kl(b,this._eg.bind(this)),this._ea(),this.render(b,this._ltingList),b.restore()},_6l:function(a){this._mzcCanvasSizeFlag?(this._mzcCanvasSizeFlag=!1,this._jh.setSize(this._width,this._height)):a&&Xb(this._jh)},_9c:function(){var a=this.width,b=this.height;return(this._width!=a||this._height!=b)&&(this._width=a,this._height=b,void(this._mzcCanvasSizeFlag=!0))},_4e:function(a){if(!a&&!this._6ns.viewport)return!1;var b=this._jy.reverseTransform([0,0]),c=this.scale,d=this._width/c,e=this._height/c,f=this.rotate,g=this._viewport;if(g.x==b[0]&&g.y==b[1]&&g.width==d&&g.height==e&&g.rotate==f)return!1;var h=g.toJSON();return this._viewport.set(b[0],b[1],d,e,f,c),this._3f(this._viewport,h,a),!0},_3f:function(a,b,c){this._mx2||c||(this._mxuffer=this._hi(b,a))},_7j:function(){if(this._mwl){if(this._m0){var a;this._mzurrentMatrix?this._mzurrentMatrix.transMatrix=a=nh.mul([],this._jy.m,nh.invert([],this._mzurrentMatrix.m)):a=this._jy.m,this._5f(a)}this._mzc("matrix"),this._2h()}},_5f:function(a){this.__mzssMatrix=a,sh.setStyle(this._jh,"transform",a?"matrix("+a.join(",")+")":"")},_7p:function(){var a=this._mzurrentMatrix;if(this._mzurrentMatrix={tx:this._jy.m[4],ty:this._jy.m[5],m:this._jy.m.slice(),scale:this._jy._he(),rotate:this._jy._eu()},this.__mzssMatrix&&this._5f(null),!this._mx2){if(this._2q(this._mzurrentMatrix,a),!a||a.scale!=this._mzurrentMatrix.scale)return this._7l(this._mzurrentMatrix.scale,a?a.scale:null),void(this._mx2=!0);if(!a||a.rotate!=this._mzurrentMatrix.rotate)return this._5u(this._mzurrentMatrix.rotate,a?a.rotate:null),void(this._mx2=!0);var b=a.m[4]-this._mzurrentMatrix.m[4],c=a.m[5]-this._mzurrentMatrix.m[5],d=this.ratio;b*=d,c*=d;var e=1e-4;(Math.abs(b-Math.round(b))>e||Math.abs(c-Math.round(c))>e)&&(this._mx2=!0)}},_7q:function(){var a=this.bounds,b=a.clone();a.clear(),this._mm.forEach(function(b){b.__id!==!1&&a.add(this._mxz(b))},this),a.equals(b)||this._3h(a,b)},_3h:function(){},_mwl:!1,_dd:function(){},_9j:function(a){var b=a.ratio;a.scale(b,b),a.transform.apply(a,this._jy.m)},render:function(a,b){b&&b.length&&(a.save(),this._9j(a),b.forEach(function(b){if(a.save(),b.visible!==!1)try{b.render(a)}catch(c){console.error(c)}a.restore()},this),a.restore())},setParent:function(a){L(a)&&(a=b.getElementById(a)),this._ml!=a&&(this._ml&&this._mxp&&(J(this._ml,hh),this._ml.removeChild(this._mxp)),this._ml=a,this._ml&&(I(this._ml,hh),this._ml.appendChild(this._7u()),this._74()))},_7u:function(){return this._mxp||this._d4(),this._mxp},_d4:function(){var a=Ga(!0);Ub(a.g),a.className=eh;var c=b.createElement("div");return c.className=gh,c.appendChild(a),c.tabIndex=0,this._jh=a,this._mxp=c,this._mztx=this._jh.getContext("2d"),a},toLogical:function(a,b){return a instanceof Object&&(_(a)&&(a=this._8s(a)),Array.isArray(a)?(b=a[1]||0,a=a[0]||0):(b=a.y||0,a=a.x||0)),this._jy.reverseTransform([a,b])},toCanvas:function(a,b){return this._jy.transform([a,b])},_8s:function(a){return sa(a,this._mxp)},_ff:function(a,b,c){if(a.hitTest instanceof Function)return a.hitTest(b,c);var d=this._mxz(a);return d?c?Ze.intersects(d.x,d.y,d.width,d.height,b[0]-c,b[1]-c,c+c,c+c):Ze.intersects(d.x,d.y,d.width,d.height,b[0],b[1]):a},hitTest:function(a,b){return this._93(a,b)},_93:function(a,b){b=this._9l(b),a=this.toLogical(a);for(var c,d=this._de.length;--d>=0;)if(c=this._de[d],this._ff(c,a,b))return c},_9l:function(a){return(a===c||null===a)&&(a=Re.SELECTION_TOLERANCE),a?a/this.scale:0},getUIByMouseEvent:function(a,b){if(a.uiId)return this._mm.getById(a.uiId);var c=this._93(a,b);return a.uiId=c?c.id:-1,c},_91:null,invalidateUI:function(a){this._91[a.id]=a,this.invalidate()},_9n:function(a){a.validate instanceof Function&&a.validate(this)},_dc:function(a,b){a.__ju&&this._hg(a.__ju);var c=a.__id;if(a.__id=this._f1(a,b),!a.__id)return c;var d=a.__ju;this._9n(a);var e=this._mxz(a);a.__ju={x:e.x,y:e.y,width:e.width,height:e.height};var f=a.__id!==c||!Ze.equals(d,e);return f&&a.__ju&&this._hg(a.__ju),f},_f1:function(a){return a.visible!==!1},_$v:function(a){this._mm.forEach(function(b){this._dc(b,a)},this),this._91={},this._7q()},_mx5:function(a){var b=this.scale;if(a)return this._$v(b);var c=this._mzcBoundsFlag;this._mzcBoundsFlag=!1;for(var d in this._91){var e=this._91[d];c?this._dc(e,b):c=this._dc(e,b)}this._91={},c&&this._7q()},_90:null,_2e:function(){if(!this._90.length)return!1;var a=this._90;this._90=[],a.forEach(function(a){try{var b=a.call,c=a.scope,d=a.delay;c instanceof Object?b=b.bind(c):c&&!d&&(d=parseInt(c)),d?setTimeout(b,d):b()}catch(e){}},this),this._6n&&this._g3()},_fg:function(a,b,c){this._90.push({call:a,scope:b,delay:c}),this._6n||this._2e()},_4c:function(a,b){for(var c=this._de,d=0,e=c.length;e>d;d++)if(a.call(b,c[d])===!1)return!1},_fj:function(a,b){this._mm.forEach(a,b)},_$z:function(a,b){for(var c=this._de,d=c.length-1;d>=0;d--)if(a.call(b,c[d])===!1)return!1},_4a:function(a,b){this._mm.forEachReverse(a,b)},_4k:function(){return this.bounds},_hn:function(a,b,c){a/=this.scale||1,this._kc(a,b,c)},_kc:function(a,b,d){if(this._mwl&&(b===c||null===b)){var e=this.toLogical(this.width/2,this.height/2);b=e[0]||0,d=e[1]||0}return this._jy.scale(a,[b||0,d||0])},_fn:function(a,b){this._jy.translate([a,b],!0)},_mww:function(a,b,c,d){if(c==this.scale&&d!==!1){var e=this.ratio;e!=(0|e)&&(a=Math.round(a*e)/e,b=Math.round(b*e)/e)}this._jy.translateTo([a,b],c)},_ke:function(a,b){return this._kc(this._e0,a,b)},_i4:function(a,b){return this._kc(1/this._e0,a,b)},_1p:function(){var a=this._4k();if(!a.isEmpty()){var b=this.width/a.width,c=this.height/a.height,d=Math.min(b,c);return d=Math.max(this._hk,Math.min(this._hm,d)),{scale:d,cx:a.cx,cy:a.cy}}},_e0:1.3,_hm:10,_hk:.1,_mx2:!1,_7l:function(){},_5u:function(){},_2q:function(){},_ea:function(){this._mxuffer=null,this._mz6._l8()},_eg:function(a){var b=this._jy,c=this._jh.ratio,d=this.scale,e=b._eu();if(!e){var f=b.transform([a[0],a[1]]);return f[0]*=c,f[1]*=c,c*=d,f[2]=a[2]*c,f[3]=a[3]*c,f}var g=new Ze,h=b.transform([a[0],a[1]]);return g.add(h[0],h[1]),h=b.transform([a[0]+a[2],a[1]]),g.add(h[0],h[1]),h=b.transform([a[0],a[1]+a[3]]),g.add(h[0],h[1]),h=b.transform([a[0]+a[2],a[1]+a[3]]),g.add(h[0],h[1]),[g.x*c,g.y*c,g.width*c,g.height*c]},_hi:function(a,c){var d=c._3l(a.x,a.y,a.width,a.height);if(d){var e=this._jh,f=this.scale*this.ratio,g=this._mz6,h={},i=1e-6;d.x>i&&(h.left=c._4o(0,0,d.x,c.height,f)),c.width-d.right>i&&(h.right=c._4o(d.right,0,c.width-d.right,c.height,f)),d.y>i&&(h.top=c._4o(d.x,0,d.width,d.y,f)),c.height-d.bottom>i&&(h.bottom=c._4o(d.x,d.bottom,d.width,c.height-d.bottom,f)),T(h)||g._4h(h);var j=c._if(a.x,a.y),k=(j[0]-d.x)*f,l=(j[1]-d.y)*f,m=d.width*f,n=d.height*f;k=Math.round(k),l=Math.round(l),m=Math.round(m),n=Math.round(n);var o=this._mxackCanvas;return o||(o=this._mxackCanvas=b.createElement("canvas"),o.g=o.getContext("2d")),o.width=m,o.height=n,Yb(o.g),o.g.drawImage(e,k,l),k=j[0]*f-k,l=j[1]*f-l,{x:k,y:l,canvas:o}}},_lv:function(a,b,c,d){this._mz6._mn(a,b,c,d)},_hg:function(a){this._mz6._i5(a)}});Object.defineProperties(jh.prototype,{width:{get:function(){return this._mxp.clientWidth}},height:{get:function(){return this._mxp.clientHeight}},rotate:{get:function(){return this._jy._eu()}},tx:{get:function(){return this._jy._8y()[0]}},ty:{get:function(){return this._jy._8y()[1]}},ratio:{get:function(){return this._jh?this._jh.ratio:void 0}},scale:{get:function(){return this._jy._he()},set:function(a){this._hn(a)}},renderScale:{get:function(){return this.scale*this.ratio}},uis:{get:function(){return this._mm}},length:{get:function(){return this._mm.length}},viewportBounds:{get:function(){return this._viewport.getGlobalBounds()}}});var kh,lh=C({constructor:function(){this._i1=[],this._ju=new Ze,this._i2=De?20:50},_i2:20,_i1:null,_ly:!1,_ju:null,_l8:function(){this._ly=!1,this._i1.length=0,this._viewportClips=null,this._ju.clear()},_iw:function(){return 0==this._i1.length&&!this._viewportClips},_mn:function(a,b,c,d){0>=c||0>=d||this._i1.push([a,b,c,d])},_i5:function(a){this._mn(a.x,a.y,a.width,a.height)},_4h:function(a){var b=this._ju;for(var c in a){var d=a[c],e=d.getGlobalBounds();b.add(e)}this._viewportClips=a},_mxr:function(a,b){for(var c=[],d=this._i1,e=0,f=d.length;f>e;e++){var g=d[e];a.intersects(g[0],g[1],g[2],g[3])&&(c.push(g),this._ju.addRect(g[0],g[1],g[2],g[3]))}this._i1=c,this._ly=b||c.length>=this._i2},_f3:function(a,b,c,d){if(!this._ju.intersectsRect(a,b,c,d))return!1;if(this._ly)return!0;if(this._viewportClips){var e=this._viewportClips;for(var f in e)if(e[f].intersects(a,b,c,d))return!0}for(var g,h=0,i=this._i1.length;i>h;h++)if(g=this._i1[h],Ze.intersects(a,b,c,d,g[0],g[1],g[2],g[3]))return!0;return!1},_kl:function(a,b){if(this._iw())return!1;if(a.beginPath(),this._ly){var c=b([this._ju.x,this._ju.y,this._ju.width,this._ju.height]);return Zb(a,c[0],c[1],c[2],c[3]),void a.clip()}if(this._viewportClips)for(var d in this._viewportClips){var c=this._viewportClips[d].canvasBounds;Zb(a,c[0],c[1],c[2],c[3])}for(var e=this._i1,f=0,g=e.length;g>f;f++){var c=b(e[f]);Zb(a,c[0],c[1],c[2],c[3])}a.clip()}});lh._toIntRect=function(a,b,c,d){return a instanceof Object&&(b=a.y,c=a.width,d=a.height,a=a.x),c=W(a+c)-(a=V(a)),d=W(b+d)-(b=V(b)),[a,b,c,d]},lh._mzu=V,lh._g1=W,gg.NAVIGATION_BUTTON="navigation.button",gg.NAVIGATION_SCROLLBAR="navigation.scrollbar",Re.NAVIGATION_TYPE=gg.NAVIGATION_SCROLLBAR;var mh=C({_jr:function(){z(this,mh,"_jr",arguments),this._topCanvas._jr()},_9u:function(a,b){return a=a.$data.zIndex||0,b=b.$data.zIndex||0,a-b},"super":jh,constructor:function(a,c){this._l0=a,L(c)&&(c=b.getElementById(c)),c&&c.tagName||(c=b.createElement("div")),A(this,mh,[c]),this._topCanvas=new Xd(this,this._mxp),this._hx=[],this._l0._$a.addListener(this._1h,this),this._l0._1k.addListener(this._mw0,this),this._l0._15.addListener(this._72,this),this._l0._$m.addListener(this._33,this),this._l0._$o.addListener(this._3q,this),this._mxg={},this._3v(Re.NAVIGATION_TYPE,!0)},_5f:function(a){z(this,mh,"_5f",arguments),this._topCanvas._5f(a)},_hz:function(a){return a.id||(a=this._mm.getById(a)),!!a&&(this._mm.remove(a),a.destroy(),a.__ju&&this._hg(a.__ju),void(this._mzcBoundsFlag=!0))},_hy:function(){this._mm.forEach(function(a){a.destroy()}),this._mm.clear()},_f1:function(a,b){var c=a.data||a;return c._$s&&(c._$s=!1,c._id=this._5a(c,b)),c._id!==!1},_5a:function(a,b){return!!this._3e(a,b)&&(!this._l0._idFilter||this._l0._idFilter(a,b)!==!1)},_9v:function(a){return this._l0._3n==Qd(a)},_3e:function(a,b){if(a.visible===!1)return!1;if(!(a instanceof vh))return this._l0._3n==Qd(a)&&!a._dy;var c=a.fromAgent,d=a.toAgent;if(!c||!d)return!1;if(c==d&&!a.isLooped())return!1;if(a.isBundleEnabled()){var e=a.getEdgeBundle(!0);if(e&&!e._f1(a,b))return!1}var f=this._f1(c,b),g=this._f1(d,b);return!(!f||!g)},_mxz:function(a){return a._mwl?{x:a.$x+a.uiBounds.x,y:a.$y+a.uiBounds.y,width:a.uiBounds.width,height:a.uiBounds.height}:void 0},_2f:function(a){var b=this._lp(a);if(b){var c=this._mxz(b);if(c)return new Ze(c)}},_ff:function(a,b,c){return a.hitTest(b[0],b[1],c)},hitTest:function(a,b){var c=z(this,mh,"hitTest",arguments);if(c){a=this.toLogical(a),b=this._9l(b);var d=c.hitTest(a[0],a[1],b,!0);if(d instanceof Ah)return d}return c},_3g:function(a){return this.getUIByMouseEvent(a)},_6l:function(){z(this,mh,"_6l",arguments),this._topCanvas._j1(this.width,this.height)},_ll:1,_de:null,_99:null,_97:null,_mm:null,_ml:null,_jh:null,_mz6:null,_6n:!1,_mwl:!1,_jy:null,_4c:function(a,b){for(var c=this._de,d=0,e=c.length;e>d;d++)if(a.call(b,c[d])===!1)return!1},_fj:function(a,b){this._mm.forEach(a,b)},_$z:function(a,b){for(var c=this._de,d=c.length-1;d>=0;d--)if(a.call(b,c[d])===!1)return!1},_4a:function(a,b){this._mm.forEachReverse(a,b)},_3f:function(a){z(this,mh,"_3f",arguments),this._viewportChanged={value:a}},_dd:function(){this._4e(!0),this._originAdjusted||(this._originAdjusted=!0,this._l0&&this._l0.originAtCenter&&this._jy.translateTo([this.width/2,this.height/2]))},_g3:function(){if(!this._ibed&&this._6n){if(this._jringID=null,this._6n=!1,this._mwl&&this._l0&&this._l0._$s&&(this._l0._$s=!1,this._l0.forEach(function(a){a.invalidateVisibility(!0)})),z(this,mh,"_g3",arguments),this._97Changed){this._7h&&this._7h._jq();var a=this._97Changed.value,b=this._97Changed.old;this._97Changed=null,this._l0._4s(new kf(this._l0,"element.bounds",a,b))}this._viewportChanged&&(this._viewportChanged=!1,this._7h&&this._7h._3f&&this._7h._3f(this._viewport.width*this._viewport.scale,this._viewport.height*this._viewport.scale),this._l0._4s(new kf(this._l0,"viewport",this._viewport)))}},_hx:null,_dc:function(a){var b=a.$data;if(!a._1i&&!b._6n&&!b._$s)return!1;var c=a.$invalidateSize;return c=z(this,mh,"_dc",arguments)||c},_9n:function(a){var b=a.$data;b.__4v&&(b.__4v=!1,a._4v()),b.__6n&&b._io()&&(a._53(),b.__6n=!1),(a._1i||b._6n)&&(b._6n=!1,a.validate())},_hv:function(a,b){var c=a.ratio;a.scale(c,c),a.transform.apply(a,this._jy.m);for(var d=this.renderScale,e=[],f=0,g=b.length;g>f;f++){var h=b[f];h._jr(a,d),h._kb&&h._kb.length&&e.push(h)}if(e.length)for(f=0,g=e.length;g>f;f++)e[f]._9i(a,d)},render:function(a,b){if(b.length){if(a.save(),De)try{this._hv(a,b)}catch(c){}else this._hv(a,b);a.restore()}},_hu:function(a,b,c){a.save(),a.translate(-c.x*b,-c.y*b),a.scale(b,b);var d,e,f=this._mm._k7.slice();f=this._i7(f);for(var g=[],h=0,i=f.length;i>h;h++)d=f[h],d.__id&&(e=this._mxz(d),c.intersectsRect(e.x,e.y,e.width,e.height)&&(d._jr(a,b),d._kb&&d._kb.length&&g.push(d)));if(g.length)for(h=0,i=g.length;i>h;h++)g[h]._9i(a,b);a.restore()},_12:function(){},_1l:function(){for(var a,b,c=this._mm._k7,d=new Ze,e=c.length-1;e>=0;e--)a=c[e],a._id&&(b=a.uiBounds,d.addRect(a.$x+b.x,a.$y+b.y,b.width,b.height));var f=this._97;this._97=d,d.equals(f)||this._12(f,d)},_64:function(){this._de.length=0,this._99={}},_ln:function(){this._l8()},_ib:function(){this._l8(),this._ibed=!0,this._6n=!1,this._topCanvas.clear(),this._90.length=0,this._7h&&(this._7h._ib(),delete this._7h)},_lp:function(a){return this._mm.getById(a.id||a)},_$g:function(a){return this._e8(a)},_hs:function(a,b){var c=this.toCanvas(a,b);return{x:c[0],y:c[1]}},_e8:function(a,b){var c=this.toLogical(a,b);return{x:c[0],y:c[1]}},_$i:null,_3q:function(a){var b=a.source,c=a.data;if(c)if(this._mwl){var d,e;if(N(c))for(var f=0,g=c.length;g>f;f++)e=c[f].id,d=this._mm.getById(e),d&&(d.selected=b.containsById(e),d.invalidateRender());else{if(e=c.id,d=this._mm.getById(e),!d)return;d.selected=b.containsById(e),d.invalidateRender()}this._mzc()}else{this._$i||(this._$i={});var d,e;if(N(c))for(var f=0,g=c.length;g>f;f++)e=c[f].id,this._$i[e]=!0;else e=c.id,this._$i[e]=!0}},_l0:null,_d9:function(a){var b=a.uiClass;return b?new b(a,this._l0):void 0},_1h:function(a){if(!this._mwl)return!1;var b=a.source,c=a.kind;"enableSubNetwork"==c&&this._l0.invalidateVisibility(),"uiClass"==c?(this._hz(b.id),this._kz(b)):"expanded"==c&&b._io()&&a.value&&this._56(b);var d=this._mm.getById(b.id);d&&d._mwl&&d.onPropertyChange(a)&&this._mzc()},_3s:function(a){var b=this._lp(a);b&&(b.invalidateData(),this._mzc())},_mw0:function(a){if(!this._mwl)return!1;switch(a.kind){case tf.KIND_ADD:this._kz(a.data);break;case tf.KIND_REMOVE:this._hq(a.data);break;case tf.KIND_CLEAR:this._ig(a.data)}},_l8:function(){this._mxg={},this._hy(),this.clear()},_mxg:null,_kz:function(a){var b=this._d9(a);b&&(this._mm.add(b),this._mwl&&(this._mxg[a.id]=a),this._mzc())},_hq:function(a){if(Array.isArray(a)){for(var b,c=[],d=0,e=a.length;e>d;d++)b=a[d].id,c.push(b),delete this._mxg[b];a=c}else a=a.id,delete this._mxg[a],a=[a];a.forEach(function(a){this._hz(a)},this),this._mzc()},_ig:function(){this._l8()},_72:function(a){return!!this._mwl&&void(a.source instanceof wh&&!this._mxg[a.source.id]&&(a.oldValue&&(this._3s(a.oldValue),a.oldValue.__6n=!0),a.value&&(this._3s(a.value),a.value.__6n=!0),this._56(a.source)))},_33:function(a){return!!this._mwl&&void(a.source instanceof wh&&!this._mxg[a.source.id]&&this._56(a.source))},_34:function(a){if(a._edgeBundleInvalidateFlag){var b=a.getEdgeBundle(!0);if(!b)return a._edgeBundleInvalidateFlag=!1,void a.validateEdgeBundle();b._g3(this._l0),b._mxm(function(a){a.validateEdgeBundle()})}},_$v:function(a){var b,c=(this._l0,this._l0.graphModel),d=this._mm,e=[],f=1;if(c.forEachByDepthFirst(function(a){return a instanceof vh?(this._34(a),void e.push(a)):(b=this._d9(a),void(b&&(d.add(b),a.__li=f++)))},this),d.length)for(var g=d._k7,f=g.length-1;f>=0;f--)b=g[f],this._3x(b,b.$data,a);for(var h,f=0,i=e.length;i>f;f++)if(h=e[f],b=this._d9(h)){this._3x(b,h,a),d.add(b);var j=h.fromAgent,k=h.toAgent,l=j.__li||0;j!=k&&(l=Math.max(l,k.__li||0)),h.__li=l}if(e.length&&d._k7.sort(function(a,b){return a.$data.__li-b.$data.__li}),this._$i){var m=c.selectionModel;for(var n in this._$i)if(m.containsById(n)){var b=d.getById(n);b&&(b.selected=!0)}this._$i=null}this._7q()},_mx5:function(a,b){if(a)return this._$v();var c=this._mzcBoundsFlag;this._mzcBoundsFlag=!1;for(var d in this._mxg){var e=this._mxg[d];e instanceof wh?this._56(e):this._66(e)}this._mxg={};for(var f,g,h=this._mm._k7,i=[],j=h.length-1;j>=0;j--)f=h[j],g=f.$data,g instanceof vh?(this._34(g),i.push(f)):this._3x(f,g,b)&&!c&&(c=!0);if(i.length)for(var j=0,k=i.length;k>j;j++)f=i[j],this._3x(f,f.$data,b)&&!c&&(c=!0);c&&this._7q()},_3x:function(a,b,c){if(b instanceof vh)return b.__4v&&(b.__4v=!1,a._4v()),this._dc(a,c);if(b.__6n&&b._io()&&(a._53(),b.__6n=!1),this._dc(a,c)){var d=this._44(b);return d&&(d.__6n=!0),b.hasEdge()&&b.forEachEdge(function(a){a.__4v=!0},this),!0}},_35:function(a,b){var c=a.fromAgent,d=a.toAgent,e=b.getIndexById(c.id);if(c==d)return e;var f=b.getIndexById(d.id);return Math.max(e,f)},_31:function(a,b){var c=this.graphModel._h7(a);return c?b.getIndexById(c.id):0},_56:function(a){var b=this._mm,c=b.getById(a.id);if(!c)throw new Error("UI '"+a.name+"' not found");var e=this._31(a,b),f=[c];a.hasChildren()&&d(a,function(a){a instanceof wh&&(c=b.getById(a.id),c&&f.push(c))},this),this._41(b,e,f)},_66:function(a){var b=this._mm.getById(a.id);if(b){var c=this._35(a,this._mm);this._mm.setIndexBefore(b,c)}},_41:function(a,b,c){function d(a){e.add(a)}var e=new Se;o(c,function(c){b=a.setIndexAfter(c,b),
+c.$data.forEachEdge(d)},this),0!=e.length&&e.forEach(this._66,this)},_94:function(a){return a.getEdgeBundle(!0)},_44:function(a){var b=kc(a);return b&&b.expanded?b:null},_7f:null,_7h:null,_3v:function(a,b){return!(!b&&a==this._7f)&&(this._7f=a,this._7h&&(this._7h._ib(),delete this._7h),a==gg.NAVIGATION_SCROLLBAR?void(this._7h=new Vd(this,this._mxp)):a==gg.NAVIGATION_BUTTON?void(this._7h=new Ud(this,this._mxp)):void 0)},_2q:function(a,b){this._7h&&this._7h._jq(),this._l0._4s(new kf(this._l0,"transform",a,b))},_7l:function(a,b){this._l0._4s(new kf(this._l0,"scale",a,b))},_3h:function(a,b){this._97Changed={value:a,old:b}},_7n:function(){this._74()}});Object.defineProperties(mh.prototype,{_viewportBounds:{get:function(){return this.viewportBounds}},_scale:{get:function(){return this.scale},set:function(a){this._hn(a)}},_tx:{get:function(){return this.tx}},_ty:{get:function(){return this.ty}},graphModel:{get:function(){return this._l0._l0Model}}});var nh={};nh.create=function(){return[1,0,0,1,0,0]},nh.invert=function(a,b){var c=b[0],d=b[1],e=b[2],f=b[3],g=b[4],h=b[5],i=c*f-d*e;return i?(i=1/i,a[0]=f*i,a[1]=-d*i,a[2]=-e*i,a[3]=c*i,a[4]=(e*h-f*g)*i,a[5]=(d*g-c*h)*i,a):null},nh.multiply=function(a,b,c){var d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5],j=c[0],k=c[1],l=c[2],m=c[3],n=c[4],o=c[5];return a[0]=d*j+f*k,a[1]=e*j+g*k,a[2]=d*l+f*m,a[3]=e*l+g*m,a[4]=d*n+f*o+h,a[5]=e*n+g*o+i,a},nh.mul=nh.multiply,nh.rotate=function(a,b,c){var d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5],j=Math.sin(c),k=Math.cos(c);return a[0]=d*k+f*j,a[1]=e*k+g*j,a[2]=d*-j+f*k,a[3]=e*-j+g*k,a[4]=h,a[5]=i,a},nh.scale=function(a,b,c){var d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5],j=c[0],k=c[1];return a[0]=d*j,a[1]=e*j,a[2]=f*k,a[3]=g*k,a[4]=h,a[5]=i,a},nh.translate=function(a,b,c){var d=b[0],e=b[1],f=b[2],g=b[3],h=b[4],i=b[5],j=c[0],k=c[1];return a[0]=d,a[1]=e,a[2]=f,a[3]=g,a[4]=d*j+f*k+h,a[5]=e*j+g*k+i,a},nh.transform=function(a,b){var c=b[0],d=b[1];return[c*a[0]+d*a[2]+a[4],c*a[1]+d*a[3]+a[5]]},nh.reverseTransform=function(a,b){return nh.transform(nh.invert([],a),b)};var oh=Math.PI+Math.PI,ph=K,qh=C({equals:function(a){if(!a||!Array.isArray(a))return!1;for(var b=this.m,c=0;c<b.length;){if(b[c]!=a[c])return!1;++c}return!0},constructor:function(a){this.m=a||nh.create(),this.im=[]},listener:null,_6n:!0,invalidate:function(){return this._6n=!0,(!this._mxackM||!this.equals(this._mxackM))&&(this.listener&&this.listener({target:this,kind:"invalidate"}),this._mxackM=this.m.slice(),this)},validate:function(){return this._6n=!1,nh.invert(this.im,this.m),this},translate:function(a,b){return ph(a)&&(a=[arguments[0],arguments[1]],b=arguments[2]),b!==!1?(this.m[4]+=a[0],this.m[5]+=a[1],this.invalidate()):(nh.translate(this.m,this.m,a),this.invalidate())},translateTo:function(a,b){return ph(a)&&(a=[arguments[0],arguments[1]],b=arguments[2]),b&&(b/=this._he(),nh.scale(this.m,this.m,[b,b])),this.m[4]=a[0],this.m[5]=a[1],this.invalidate()},scale:function(a,b){return"number"==typeof a&&(a=[a,a]),b?(nh.translate(this.m,this.m,b),nh.scale(this.m,this.m,a),nh.translate(this.m,this.m,$b(b))):nh.scale(this.m,this.m,a),this.invalidate()},rotate:function(a,b){return b?(nh.translate(this.m,this.m,b),nh.rotate(this.m,this.m,a),nh.translate(this.m,this.m,$b(b))):nh.rotate(this.m,this.m,a),this.invalidate()},transform:function(a){return nh.transform(this.m,a)},reverseTransform:function(a){return nh.transform(this._4n(),a)},toString:function(){return"matrix("+this.m.join(",")+")"},_4n:function(){return this._6n&&this.validate(),this.im},_eo:function(){var a=this.m[0],b=this.m[1],c=this.m[2],d=this.m[3];return[Math.sqrt(a*a+c*c),Math.sqrt(b*b+d*d)]},_he:function(){var a=this.m[0],b=this.m[2];return Math.sqrt(a*a+b*b)},_8y:function(){return[this.m[4],this.m[5]]},_d1:function(){var a=this.m[0],b=this.m[1],c=this.m[2],d=this.m[3];return[_b(Math.atan2(b,d)),_b(Math.atan2(-c,a))]},_eu:function(){return _b(Math.atan2(this.m[1],this.m[3]))}}),rh=C({constructor:function(){},x:0,y:0,width:0,height:0,rotate:0,set:function(a,b,c,d,e,f){return this.x=a,this.y=b,this.width=c,this.height=d,this.rotate=e,this._mzos=Math.cos(e),this._sin=Math.sin(e),this.scale=f,this._globalBounds=null,this},_if:function(a,b){return a-=this.x,b-=this.y,this.rotate?cc(a,b,this._sin,this._mzos):[a,b]},_8w:function(a){var b=new Ze;return b.add(this._if(a.x,a.y)),b.add(this._if(a.x+a.width,a.y)),b.add(this._if(a.x,a.y+a.height)),b.add(this._if(a.x+a.width,a.y+a.height)),b},_hd:function(a,b){if(this.rotate){var c=cc(a,b,Math.sin(-this.rotate),Math.cos(-this.rotate));a=c[0],b=c[1]}return[this.x+a,this.y+b]},_5n:function(a,b){var c=this._if(a,b);return a=c[0],b=c[1],a>=0&&b>=0&&a<=this.width&&b<=this.height},intersects:function(a,b,c,d){if(!this.rotate)return Ze.intersects(this.x,this.y,this.width,this.height,a,b,c,d);if(!c||!d)return this._5n(a,b);var e=this.getGlobalBounds();if(!e.intersects(a,b,c,d))return!1;for(var f=e.points,g=0;g<f.length;){var h=f[g];if(Ze.intersectsPoint(a,b,c,d,h[0],h[1]))return!0;g++}var i=[[a,b],[a+c,b],[a,b+d],[a+c,b+d]];for(g=0;g<i.length;){var h=i[g];if(this._5n(h[0],h[1]))return!0;g++}return bc(f,i)},getGlobalBounds:function(){return this._globalBounds||(this._globalBounds=this._7x(0,0,this.width,this.height)),this._globalBounds},_7x:function(a,b,c,d){if(!this.rotate)return new Ze(this.x+a,this.y+b,c,d);var e=[],f=new Ze,g=this._hd(a,b);return e.push(g),f.add(g[0],g[1]),g=this._hd(a+c,b),e.push(g),f.add(g[0],g[1]),g=this._hd(a,b+d),e.push(g),f.add(g[0],g[1]),g=this._hd(a+c,b+d),e.push(g),f.add(g[0],g[1]),f.points=e,f},_4o:function(a,b,c,d,e){var f;if(this.rotate){var g=this._hd(a,b);f=(new rh).set(g[0],g[1],c,d,this.rotate,this.scale)}else f=(new rh).set(this.x+a,this.y+b,c,d,0,this.scale);return f.canvasBounds=[Math.round(e*a),Math.round(e*b),Math.round(e*c),Math.round(e*d)],f},_3l:function(a,b,c,d){if(!this.rotate){var e=Ze.intersection(this.x,this.y,this.width,this.height,a,b,c,d);return e&&e.offset(-this.x,-this.y),e}var f=this._if(a,b);return a=f[0],b=f[1],Ze.intersection(0,0,this.width,this.height,f[0],f[1],c,d)},equals:function(a){return this.x==a.x&&this.y==a.y&&this.width==a.width&&this.height==a.height&&this.rotate==a.rotate},toString:function(){return this.x+","+this.y+","+this.width+","+this.height+","+this.rotate},toJSON:function(){return{x:this.x,y:this.y,width:this.width,height:this.height,rotate:this.rotate,scale:this.scale}}}),sh={setStyle:qa,setStyles:oa,addRule:ra,pre:Af},th=function(a,b,c,d){this.source=a,this.kind=b,this.oldValue=d,this.value=c,this.propertyType=gg.PROPERTY_TYPE_STYLE};w(th,kf);var uh=function(a){this.id=++Ae,this._mzj={},this._jk={},a&&(this.$name=a)};uh.prototype={_jk:null,getStyle:function(a){return this._jk[a]},setStyle:function(a,b){var c=this._jk[a];return!(c===b||c&&b&&c.equals&&c.equals(b))&&this._mwn(a,b,new th(this,a,b,c),this._jk)},putStyles:function(a,b){for(var c in a){var d=a[c];b?this._jk[c]=d:this.setStyle(c,d)}},_$s:!0,invalidateVisibility:function(a){this._$s=!0,a||(this instanceof wh&&this.hasEdge()&&this.forEachEdge(function(a){a._$s=!0}),this._io()&&this.hasChildren()&&this.forEachChild(function(a){a.invalidateVisibility()}))},onParentChanged:function(){this.invalidateVisibility()},_io:function(){return!this._3z&&this instanceof zh},invalidate:function(){this.onEvent(new jf(this,"ui","invalidate"))},_mzm:null,addUI:function(a,b){if(this._mzm||(this._mzm=new Se),a.id||(a.id=++Ae),this._mzm.containsById(a.id))return!1;var c={id:a.id,ui:a,bindingProperties:b};this._mzm.add(c);var d=new jf(this,"ui","add",c);return this.onEvent(d)},removeUI:function(a){if(!this._mzm)return!1;var b=this._mzm.getById(a.id);return!!b&&(this._mzm.remove(b),void this.onEvent(new jf(this,"ui","remove",b)))},toString:function(){return this.$name||this.id},type:"Q.Element",_3z:!1,_id:!0},w(uh,uf),E(uh.prototype,["uiClass","name","zIndex","tooltip"]),Z(uh.prototype,{enableSubNetwork:{get:function(){return this._3z},set:function(a){if(this._3z!=a){var b=this._3z;this._3z=a,this instanceof wh&&this._11(),this.onEvent(new kf(this,"enableSubNetwork",a,b))}}},bindingUIs:{get:function(){return this._mzm}},styles:{get:function(){return this._jk},set:function(a){if(this._jk!=a){for(var b in this._jk)b in a||(a[b]=c);this.putStyles(a),this._jk=a}}}});var vh=function(a,b,c){this.id=++Ae,this._mzj={},this._jk={},c&&(this.$name=c),this.$from=a,this.$to=b,this.connect()};vh.prototype={$uiClass:ad,_kk:null,_im:null,_kn:null,_in:null,_f9:!1,type:"Q.Edge",otherNode:function(a){return a==this.from?this.to:a==this.to?this.from:void 0},connect:function(){if(this._f9)return!1;if(!this.$from||!this.$to)return!1;if(this._f9=!0,this.$from==this.$to)return void this.$from._i3(this);sc(this.$to,this),qc(this.$from,this),ec(this.$from,this,this.$to);var a=this.fromAgent,b=this.toAgent;if(a!=b){var c;this.$from._dy&&(gc(a,this,b),c=!0),this.$to._dy&&(ic(b,this,a),c=!0),c&&ec(a,this,b)}},disconnect:function(){if(!this._f9)return!1;if(this._f9=!1,this.$from==this.$to)return void this.$from._mzl(this);rc(this.$from,this),tc(this.$to,this),fc(this.$from,this,this.$to);var a=this.fromAgent,b=this.toAgent;if(a!=b){var c;this.$from._dy&&(hc(a,this,b),c=!0),this.$to._dy&&(jc(b,this,a),c=!0),c&&fc(a,this,b)}},isConnected:function(){return this._f9},isInvalid:function(){return!this.$from||!this.$to},isLooped:function(){return this.$from==this.$to},getEdgeBundle:function(a){return a?this._2j():this.isLooped()?this.$from._45:this.$from.getEdgeBundle(this.$to)},hasEdgeBundle:function(){var a=this.getEdgeBundle(!0);return a&&a.edges.length>1},_2j:function(){var a=this.fromAgent,b=this.toAgent;return a==b?this.$from._dy||this.$to._dy?null:this.$from._45:this.fromAgent.getEdgeBundle(this.toAgent)},_mw5:null,hasPathSegments:function(){return this._mw5&&!this._mw5.isEmpty()},isBundleEnabled:function(){return this.bundleEnabled&&!this.hasPathSegments()},firePathChange:function(a){this.onEvent(new kf(this,"path.segment",a))},addPathSegment:function(a,b,c){var d=new Pg(b||Kg,a);this._mw5||(this._mw5=new Se),this._mw5.add(d,c),this.firePathChange(d)},addPathSegement:function(){return fg.log('change "edge.addPathSegement(...)" to "edge.addPathSegment(...)"'),this.addPathSegment.apply(this,arguments)},removePathSegmentByIndex:function(a){if(!this._mw5)return!1;var b=this._mw5.getByIndex(a);b&&(this._mw5.remove(b),this.firePathChange(b))},removePathSegment:function(a){return!!this._mw5&&(this._mw5.remove(a),void this.firePathChange(a))},movePathSegment:function(a,b,c){if(!this._mw5)return!1;if(a=a||0,b=b||0,fg.isNumber(c)){var d=this._mw5.getByIndex(c);return!!d&&(d.move(a,b),void this.firePathChange())}o(function(c){c.move(a,b)}),this.firePathChange()},move:function(a,b){return!!this._mw5&&(this._mw5.forEach(function(c){c.move(a,b)},this),void this.firePathChange())},validateEdgeBundle:function(){}},w(vh,uh),Z(vh.prototype,{pathSegments:{get:function(){return this._mw5},set:function(a){fg.isArray(a)&&(a=new Se(a)),this._mw5=a,this.firePathChange()}},from:{get:function(){return this.$from},set:function(a){if(this.$from!=a){var b=new kf(this,"from",a,this.$from);this.beforeEvent(b)!==!1&&(this.disconnect(),this.$from=a,this.connect(),this.onEvent(b))}}},to:{get:function(){return this.$to},set:function(a){if(this.$to!=a){var b=new kf(this,"to",a,this.$to);this.beforeEvent(b)!==!1&&(this.disconnect(),this.$to=a,this.connect(),this.onEvent(b))}}},fromAgent:{get:function(){return this.$from?this.$from._dy||this.$from:null}},toAgent:{get:function(){return this.$to?this.$to._dy||this.$to:null}}}),E(vh.prototype,["edgeType",{name:"bundleEnabled",value:!0},"angle"]);var wh=function(a,b,c){2==arguments.length&&K(a)&&(c=b,b=a,a=null),this.id=++Ae,this._mzj={},this._jk={},a&&(this.$name=a),this.$image="Q-node",this.$anchorPosition=_e.CENTER_MIDDLE,this.$location={x:b||0,y:c||0},this._linkedNodes={}};wh.prototype={$uiClass:bd,_dy:null,forEachEdge:function(a,b,c){return!(!c&&this._l2&&this._l2.forEach(a,b)===!1)&&vc(this,a,b)},forEachOutEdge:function(a,b){return wc(this,a,b)},forEachInEdge:function(a,b){return xc(this,a,b)},getEdges:function(){var a=[];return this.forEachEdge(function(b){a.push(b)}),a},_iq:null,_gx:null,_jt:null,_is:null,_mxk:0,_mw8:0,hasInEdge:function(){return null!=this._iq},hasOutEdge:function(){return null!=this._gx},hasEdge:function(){return null!=this._iq||null!=this._gx||this.hasLoops()},linkedWith:function(a){return a.from==this||a.to==this||a.fromAgent==this||a.toAgent==this},hasEdgeWith:function(a){var b=this.getEdgeBundle(a);return b&&b.edges.length>0},_l2:null,_45:null,hasLoops:function(){return this._l2&&this._l2.length>0},_i3:function(a){return this._l2||(this._l2=new Se,this._45=new Si(this,this,this._l2)),this._45._j0(a)},_mzl:function(a){return this._45?this._45._mzb(a):void 0},getEdgeBundle:function(a){return a==this?this._45:this._linkedNodes[a.id]||a._linkedNodes[this.id]},_6q:function(){return this._9k&&this._9k.length},_52:function(){return this._7z&&this._7z.length},_mw9:function(){return this._6q()||this._52()},_7z:null,_9k:null,_mzp:function(){var a=this._dy,b=dc(this);if(a!=b){var c=uc(this);this._mwc(b),c.forEach(function(a){var b=a.fromAgent,c=a.toAgent,a=a.edge,d=a.$from._dy,e=a.$to._dy;b!=c&&(b&&hc(b,a,c||a.$to),c&&jc(c,a,b||a.$from)),d!=e&&(d&&gc(d,a,e||a.$to),e&&ic(e,a,d||a.$from),ec(d||a.$from,a,e||a.$to))},this)}},onParentChanged:function(){this.invalidateVisibility(),this._mzp()},_82:null,_11:function(){var a;if(this._3z?a=null:(a=this._dy,a||this._gk!==!1||(a=this)),this._82==a)return!1;if(this._82=a,this._fw&&this._fw._k7.length)for(var b,c=this._fw._k7,d=0,e=c.length;e>d;d++)b=c[d],b instanceof wh&&b._mwc(a)},setLocation:function(a,b){if(this.$location&&this.$location.x==a&&this.$location.y==b)return!1;var c;c=this.$location?{x:this.$location.x,y:this.$location.y}:this.$location;var d=new kf(this,"location",c,{x:a,y:b});return this.beforeEvent(d)!==!1&&(this.$location?(this.$location.x=a,this.$location.y=b):this.$location=new Ve(a,b),this.onEvent(d),!0)},_es:null,addFollower:function(a){return null!=a&&(a.host=this)},removeFollower:function(a){return!(!this._es||!this._es.contains(a))&&(a.host=null)},hasFollowers:function(){return this._es&&!this._es.isEmpty()},toFollowers:function(){return this.hasFollowers()?this._es.toDatas():null},clearFollowers:function(){this.hasFollowers()&&(this.toFollowers(),o(this.toFollowers(),function(a){a.host=null}))},getFollowerIndex:function(a){return this._es&&this._es.contains(a)?this._es.indexOf(a):-1},setFollowerIndex:function(a,b){return this._es&&this._es.contains(a)?void this._es.setIndex(a,b):-1},getFollowerCount:function(){return this._es?this._es.length:0},_mwa:function(){return this._es?this._es:(this._es=new Se,this._es)},isFollow:function(a){if(!a||!this._host)return!1;for(var b=this._host;b;){if(b==a)return!0;b=b._host}return!1},_mwc:function(a){return a!=this._dy&&(this._dy=a,this.invalidateVisibility(),void this._11())},type:"Q.Node"},w(wh,uh),Z(wh.prototype,{loops:{get:function(){return this._l2}},edgeCount:{get:function(){return this._mxk+this._mw8}},agentNode:{get:function(){return this._dy||this}},host:{set:function(a){if(this==a||a==this._host)return!1;var b=new kf(this,"host",this._host,a);if(!1===this.beforeEvent(b))return!1;var c=null,d=null,e=this._host;if(null!=a&&(c=new kf(a,"follower.add",null,this),!1===a.beforeEvent(c)))return!1;if(null!=e&&(d=new kf(e,"follower.remove",null,this),!1===e.beforeEvent(d)))return!1;if(this._host=a,null!=a){var f=a._mwa();f.add(this)}if(null!=e){var f=e._mwa();f.remove(this)}return this.onEvent(b),null!=a&&a.onEvent(c),null!=e&&e.onEvent(d),!0},get:function(){return this._host}}}),E(wh.prototype,["location","size","image","rotate","anchorPosition"]),Z(wh.prototype,{x:{get:function(){return this.location.x},set:function(a){a!=this.location.x&&(this.location=new Ve(a,this.location.y))}},y:{get:function(){return this.location.y},set:function(a){a!=this.location.y&&(this.location=new Ve(this.location.x,a))}}});var xh=function(a,b){a instanceof Rg&&(b=a,a=c),x(this,xh,[a]),this.path=b||new Rg,this.anchorPosition=null,this.uiClass=Wd,Re.SHAPENODE_STYLES||(Re.SHAPENODE_STYLES={},Re.SHAPENODE_STYLES[Ch.ARROW_TO]=!1),this.putStyles(Re.SHAPENODE_STYLES)};xh.prototype={$uiClass:Wd,type:"Q.ShapeNode",moveTo:function(a,b){this.path.moveTo(a,b),this.firePathChange()},lineTo:function(a,b){this.path.lineTo(a,b),this.firePathChange()},quadTo:function(a,b,c,d){this.path.quadTo(a,b,c,d),this.firePathChange()},curveTo:function(a,b,c,d,e,f){this.path.curveTo(a,b,c,d,e,f),this.firePathChange()},arcTo:function(a,b,c,d,e){this.path.arcTo(a,b,c,d,e),this.firePathChange()},closePath:function(){this.path.closePath(),this.firePathChange()},clear:function(){this.path.clear(),this.firePathChange()},removePathSegmentByIndex:function(a){this.path.removePathSegment(a)!==!1&&this.firePathChange()},firePathChange:function(){this.path._6n=!0,this.onEvent(new kf(this,"path.segment"))}},w(xh,wh),Z(xh.prototype,{path:{get:function(){return this.image},set:function(a){this.image=a}},pathSegments:{get:function(){return this.path.segments},set:function(a){this.path.segments=a||[],this.firePathChange()}},length:{get:function(){return this.path.length}}}),fg.ShapeNode=xh;var yh={_jz:{},register:function(a,b){yh._jz[a]=b},getShape:function(a,b,d,e,f,g){e===c&&(e=b,f=d,b=0,d=0),e||(e=50),f||(f=50);var h=yh._jz[a];return h?h.generator instanceof Function?h.generator(b,d,e,f,g):h:void 0},getRect:function(a,b,c,d,e,f,g){return a instanceof Object&&"width"in a&&(b=a.y,c=a.width,d=a.height,e=a.rx,f=a.ry,g=a.path,a=a.x),yc(g||new Rg,a,b,c,d,e,f)},getAllShapes:function(a,b,c,d,e){var f={};for(var g in yh._jz){var h=yh.getShape(g,a,b,c,d,e);h&&(f[g]=h)}return f},createRegularShape:function(a,b,c,d,e){return Fc(a,b,c,d,e)}};Sc(),Tc.prototype={type:"Q.Bus"},w(Tc,xh),fg.Bus=Tc,Uc.prototype={_h7:function(a){var b,c=a._k5;b=c?c._fw:this.$roots;var d=b.indexOf(a);if(0>d)throw new Error("data '"+a+"' not exist in the box");for(;d>=0;){if(0==d)return c instanceof wh?c:null;d-=1;var f=b.getByIndex(d);if(f=e(f))return f}return null},forEachNode:function(a,b){this.forEach(function(c){return!(c instanceof wh&&a.call(b,c)===!1)&&void 0})},_3n:null},w(Uc,wf),Z(Uc.prototype,{propertyChangeDispatcher:{get:function(){return this._$u}},currentSubNetwork:{get:function(){return this._3n},set:function(a){if(a&&!a.enableSubNetwork&&(a=null),this._3n!=a){var b=this._3n;this._3n=a,this._$u.onEvent(new kf(this,"currentSubNetwork",a,b))}}}}),Re.GROUP_TYPE=gg.GROUP_TYPE_RECT,Re.GROUP_PADDING=5,Re.GROUP_EXPANDED=!0,Re.GROUP_MIN_SIZE={width:60,height:60};var zh=function(a,b,d){x(this,zh,arguments),(b===c||d===c)&&(this.$location.invalidateFlag=!0),this.$groupType=Re.GROUP_TYPE,this.$padding=Re.GROUP_PADDING,this.$image=Ug.group,this.$minSize=Re.GROUP_MIN_SIZE,this.expanded=Re.GROUP_EXPANDED};zh.prototype={type:"Q.Group",$uiClass:Rd,_mwj:function(){return!this._gk&&!this._dy},forEachOutEdge:function(a,b,c){return wc(this,a,b)!==!1&&(!c&&this._mwj()&&this._7z?this._7z.forEach(a,b):void 0)},forEachInEdge:function(a,b,c){return xc(this,a,b)!==!1&&(!c&&this._mwj()&&this._9k?this._9k.forEach(a,b):void 0)},forEachEdge:function(a,b,c){return y(this,zh,"forEachEdge",arguments)!==!1&&(c||c||!this._mwj()?void 0:(!this._9k||this._9k.forEach(a,b)!==!1)&&(this._7z?this._7z.forEach(a,b):void 0))},hasInEdge:function(a){return a?null!=this._iq:null!=this._iq||this._6q()},hasOutEdge:function(a){return a?null!=this._gx:null!=this._gx||this._52()},hasEdge:function(a){return a?null!=this._iq||null!=this._gx:null!=this._iq||null!=this._gx||this._mw9()}},w(zh,wh),Z(zh.prototype,{expanded:{get:function(){return this._gk},set:function(a){if(this._gk!=a){var b=new kf(this,"expanded",a,this._gk);this.beforeEvent(b)!==!1&&(this._gk=a,this._11(),this.onEvent(b),this._dy||Vc.call(this))}}}}),E(zh.prototype,["minSize","groupType","padding","groupImage"]),fg.Group=zh,Wc.prototype.type="Q.Text",w(Wc,wh),fg.Text=Wc;var Ah=function(a){this._ju=new Ze,this._86=new Ze,this._gh=new Ze,this.id=++Ae,a&&(this.data=a)};Ah.prototype={invalidate:function(){this.invalidateData()},_1i:!0,_ju:null,_86:null,_gh:null,_mwl:!1,_k1:1,_k3:1,_id:!0,_87:0,_69:0,_k5:null,_mx1:null,borderColor:"#444",borderLineDash:null,borderLineDashOffset:null,syncSelection:!0,syncSelectionStyles:!0,_19:function(){this.$anchorPoint=ja(this.anchorPosition,this._87,this._69)},setMeasuredBounds:function(a,b,c,d){return a instanceof Object&&(c=a.x,d=a.y,b=a.height,a=a.width),(this._ju.width!=a||this._ju.height!=b||this._ju.x!=c||this._ju.y!=d)&&void this._ju.set(c||0,d||0,a||0,b||0)},initialize:function(){},measure:function(){},draw:function(){},_89:function(a,b,c){c.selectionType==gg.SELECTION_TYPE_SHADOW?(a.shadowColor=c.selectionColor,a.shadowBlur=c.selectionShadowBlur*b,a.shadowOffsetX=(c.selectionShadowOffsetX||0)*b,a.shadowOffsetY=(c.selectionShadowOffsetY||0)*b):this._1x(a,b,c)},_1x:function(a,b,c){var d=c.selectionBorder||0;c.selectionBackgroundColor&&(a.fillStyle=c.selectionBackgroundColor,a.fillRect(this._86.x-d/2,this._86.y-d/2,this._86.width+d,this._86.height+d)),a.strokeStyle=c.selectionColor,a.lineWidth=d,a.strokeRect(this._86.x-d/2,this._86.y-d/2,this._86.width+d,this._86.height+d)},_jr:function(a,b,c,d){if(!this._id)return!1;if(this.syncSelection||(c=this.selected),(c&&!this.syncSelectionStyles||!d)&&(d=this),a.save(),1!=this.$alpha&&(a.globalAlpha=this.$alpha),a.translate(this.$x,this.$y),this.$rotatable&&this.$_hostRotate&&a.rotate(this.$_hostRotate),(this.offsetX||this.offsetY)&&a.translate(this.offsetX,this.offsetY),this.$rotate&&a.rotate(this.$rotate),this.$layoutByAnchorPoint&&this._mx1&&a.translate(-this._mx1.x,-this._mx1.y),this.shadowColor&&(a.shadowColor=this.shadowColor,a.shadowBlur=this.shadowBlur*b,a.shadowOffsetX=this.shadowOffsetX*b,a.shadowOffsetY=this.shadowOffsetY*b),c&&d.selectionType==gg.SELECTION_TYPE_BORDER_RECT&&(this._1x(a,b,d),c=!1),this._$q()&&this._lvShape&&!this._lvShape._empty){this._lvShape.validate();var e={lineWidth:this.$border,strokeStyle:this.borderColor,lineDash:this.borderLineDash,lineDashOffset:this.borderLineDashOffset,fillColor:this.$backgroundColor,fillGradient:this._mxackgroundGradient,lineCap:"butt",lineJoin:"round"};this._lvShape.draw(a,b,e,c,d),c=!1,a.shadowColor="rgba(0,0,0,0)"}a.beginPath(),this.draw(a,b,c,d),a.restore()},invalidateData:function(){this.$invalidateData=!0,this.$invalidateSize=!0,this._1i=!0},invalidateSize:function(){this.$invalidateSize=!0,this._1i=!0},invalidateRender:function(){this._1i=!0},_5a:function(){},_$q:function(){return this.$backgroundColor||this.$backgroundGradient||this.$border},_43:function(){return this.$backgroundColor||this.$backgroundGradient},doValidate:function(){return this.$invalidateData&&(this.$invalidateData=!1,this.measure()!==!1&&(this.$invalidateSize=!0)),this.$invalidateSize&&this.validateSize&&this.validateSize(),Pb.call(this)?(this.$invalidateRotate=!0,this.onBoundsChanged&&this.onBoundsChanged(),!0):this.$invalidateLocation?(this.$invalidateRotate=!0,this.$invalidateLocation=!1,!0):void 0},validate:function(){var a=this._id;return this.$invalidateVisibility&&(this.$invalidateVisibility=!1,this._id=this.$visible,!this._id||(this.$data||this.$showEmpty)&&this._5a()!==!1||(this._id=!1)),this._id?(this._1i=!1,this._mwl||(this.initialize(),this._mwl=!0),this.doValidate()):a!=this._id},_if:function(a,b){return a-=this.$x,b-=this.$y,Ob.call(this,{x:a,y:b})},hitTest:function(a,b,c,d){if(a-=this.$x,b-=this.$y,!this._gh.intersectsPoint(a,b,c))return!1;var e=Ob.call(this,{x:a,y:b});return a=e.x,b=e.y,!(d||!this._$q()||!this._lvShape||!this._lvShape.hitTest(a,b,c,!1,this.$border,this.$backgroundColor||this.$backgroundGradient))||this.doHitTest(a,b,c)},doHitTest:function(a,b,c){return this._ju.intersectsPoint(a,b,c)},hitTestByBounds:function(a,b,c,d){var e=this._if(a,b);return!(d||!this._$q()||!this._lvShape||!this._lvShape.hitTest(a,b,c,!1,this.$border,this.$backgroundColor||this.$backgroundGradient))||this._ju.intersectsPoint(e.x,e.y,c)},onDataChanged:function(){this.$invalidateData=!0,this._1i=!0,this.$invalidateVisibility=!0},getBounds:function(){var a=this._gh.clone();return a.offset(this.x,this.y),this.parent&&(this.parent.rotate&&Ca(a,this.parent.rotate,a),a.offset(this.parent.x||0,this.parent.y||0)),a},destroy:function(){this._ibed=!0},_e4:!1},Z(Ah.prototype,{originalBounds:{get:function(){return this._ju}},data:{get:function(){return this.$data},set:function(a){if(this.$data!=a){var b=this.$data;this.$data=a,this.onDataChanged(a,b)}}},parent:{get:function(){return this._k5}},showOnTop:{get:function(){return this._e4},set:function(a){a!=this._e4&&(this._e4=a,this._1i=!0,this._k5&&this._k5._mwx&&this._k5._mwx(this))}}}),Yc(Ah.prototype,{visible:{value:!0,validateFlags:["Visibility","Location"]},showEmpty:{validateFlags:["Visibility"]},anchorPosition:{value:_e.CENTER_MIDDLE,validateFlags:["AnchorPoint","Location"]},position:{value:_e.CENTER_MIDDLE,validateFlags:["Location"]},offsetX:{value:0,validateFlags:["Location"]},offsetY:{value:0,validateFlags:["Location"]},layoutByAnchorPoint:{value:!0,validateFlags:["Size","AnchorPoint","Location"]},padding:{value:0,validateFlags:["Size"]},border:{value:0,validateFlags:["Size"]},borderRadius:{value:Re.BORDER_RADIUS},showPointer:{value:!1,validateFlags:["Size"]},pointerX:{value:0,validateFlags:["Size"]},pointerY:{value:0,validateFlags:["Size"]},pointerWidth:{value:Re.POINTER_WIDTH},backgroundColor:{validateFlags:["Size"]},backgroundGradient:{validateFlags:["Size","BackgroundGradient"]},selected:{value:!1,validateFlags:["Size"]},selectionBorder:{value:Re.SELECTION_BORDER,validateFlags:["Size"]},selectionShadowBlur:{value:Re.SELECTION_SHADOW_BLUR,validateFlags:["Size"]},selectionColor:{value:Re.SELECTION_COLOR,validateFlags:["Size"]},selectionType:{value:Re.SELECTION_TYPE,validateFlags:["Size"]},selectionShadowOffsetX:{value:0,validateFlags:["Size"]},selectionShadowOffsetY:{value:0,validateFlags:["Size"]},shadowBlur:{value:0,validateFlags:["Size"]},shadowColor:{validateFlags:["Size"]},shadowOffsetX:{value:0,validateFlags:["Size"]},shadowOffsetY:{value:0,validateFlags:["Size"]},renderColorBlendMode:{},renderColor:{},x:{value:0,validateFlags:["Location"]},y:{value:0,validateFlags:["Location"]},rotatable:{value:!0,validateFlags:["Rotate","Size"]},rotate:{value:0,validateFlags:["Rotate","Size"]},_hostRotate:{validateFlags:["Rotate"]},lineWidth:{value:0,validateFlags:["Data"]},alpha:{value:1}});var Bh=[gg.PROPERTY_TYPE_ACCESSOR,gg.PROPERTY_TYPE_STYLE,gg.PROPERTY_TYPE_CLIENT];$c.prototype={removeBinding:function(a){for(var b=Bh.length;--b>=0;){var c=Bh[b],d=this[c];for(var e in d){var f=d[e];Array.isArray(f)?(p(f,function(b){return b.target==a},this),f.length||delete d[e]):f.target==a&&delete d[e]}}},_26:function(a,b,c){if(!c&&(c=this[b.propertyType||gg.PROPERTY_TYPE_ACCESSOR],!c))return!1;var d=c[a];d?(Array.isArray(d)||(c[a]=d=[d]),d.push(b)):c[a]=b},_2p:function(a,b,c,d,e,f){a=a||gg.PROPERTY_TYPE_ACCESSOR;var g=this[a];if(!g)return!1;var h={property:b,propertyType:a,bindingProperty:d,target:c,callback:e,invalidateSize:f};this._26(b,h,g)},onBindingPropertyChange:function(a,b,c,d){var e=this[c||gg.PROPERTY_TYPE_ACCESSOR];if(!e)return!1;var f=e[b];return!!f&&(a._1i=!0,Zc(a,f,c,d),!0)},initBindingProperties:function(a,b){for(var d=Bh.length;--d>=0;){var e=Bh[d],f=this[e];for(var g in f){var h=f[g];if(h.bindingProperty){var i=h.target;if(i){if(!(i instanceof Ah||(i=a[i])))continue}else i=a;var j;j=b===!1?a.getProperty(h.property,e):e==gg.PROPERTY_TYPE_STYLE?a.graph.getStyle(a.$data,h.property):a.$data[h.property],j!==c&&(i[h.bindingProperty]=j)}}}}};var Ch={};Ch.SELECTION_COLOR="selection.color",Ch.SELECTION_BORDER="selection.border",Ch.SELECTION_SHADOW_BLUR="selection.shadow.blur",Ch.SELECTION_SHADOW_OFFSET_X="selection.shadow.offset.x",Ch.SELECTION_SHADOW_OFFSET_Y="selection.shadow.offset.y",Ch.SELECTION_TYPE="selection.type",Ch.RENDER_COLOR="render.color",Ch.RENDER_COLOR_BLEND_MODE="render.color.blend.mode",Ch.ALPHA="alpha",Ch.SHADOW_BLUR="shadow.blur",Ch.SHADOW_COLOR="shadow.color",Ch.SHADOW_OFFSET_X="shadow.offset.x",Ch.SHADOW_OFFSET_Y="shadow.offset.y",Ch.SHAPE_STROKE="shape.stroke",Ch.SHAPE_STROKE_STYLE="shape.stroke.style",Ch.SHAPE_LINE_DASH="shape.line.dash",Ch.SHAPE_LINE_DASH_OFFSET="shape.line.dash.offset",Ch.SHAPE_FILL_COLOR="shape.fill.color",Ch.SHAPE_FILL_GRADIENT="shape.fill.gradient",Ch.SHAPE_OUTLINE="shape.outline",Ch.SHAPE_OUTLINE_STYLE="shape.outline.style",Ch.LINE_CAP="line.cap",Ch.LINE_JOIN="line.join",Ch.LAYOUT_BY_PATH="layout.by.path",Ch.BACKGROUND_COLOR="background.color",Ch.BACKGROUND_GRADIENT="background.gradient",Ch.BORDER="border.width",Ch.BORDER_COLOR="border.color",Ch.BORDER_LINE_DASH="border.line.dash",Ch.BORDER_LINE_DASH_OFFSET="border.line.dash.offset",Ch.BORDER_RADIUS="border.radius",Ch.PADDING="padding",Ch.IMAGE_BACKGROUND_COLOR="image.background.color",Ch.IMAGE_BACKGROUND_GRADIENT="image.background.gradient",Ch.IMAGE_BORDER="image.border.width",Ch.IMAGE_BORDER_STYLE=Ch.IMAGE_BORDER_COLOR="image.border.style",Ch.IMAGE_BORDER_LINE_DASH="image.border.line.dash",Ch.IMAGE_BORDER_LINE_DASH_OFFSET="image.border.line.dash.offset",Ch.IMAGE_RADIUS=Ch.IMAGE_BORDER_RADIUS="image.radius",Ch.IMAGE_PADDING="image.padding",Ch.IMAGE_Z_INDEX="image.z.index",Ch.IMAGE_ADJUST="image.adjust",Ch.IMAGE_ALPHA="image.alpha",Ch.LABEL_ROTATE="label.rotate",Ch.LABEL_POSITION="label.position",Ch.LABEL_VISIBLE="label.visible",Ch.LABEL_ANCHOR_POSITION="label.anchor.position",Ch.LABEL_COLOR="label.color",Ch.LABEL_FONT_SIZE="label.font.size",Ch.LABEL_FONT_FAMILY="label.font.family",Ch.LABEL_FONT_STYLE="label.font.style",Ch.LABEL_PADDING="label.padding",Ch.LABEL_POINTER_WIDTH="label.pointer.width",Ch.LABEL_POINTER="label.pointer",Ch.LABEL_RADIUS="label.radius",Ch.LABEL_OFFSET_X="label.offset.x",Ch.LABEL_OFFSET_Y="label.offset.y",Ch.LABEL_SIZE="label.size",Ch.LABEL_ALIGN_POSITION="label.align.position",Ch.LABEL_BORDER="label.border",Ch.LABEL_BORDER_STYLE="label.border.style",Ch.LABEL_BACKGROUND_COLOR="label.background.color",Ch.LABEL_BACKGROUND_GRADIENT="label.background.gradient",Ch.LABEL_ROTATABLE="label.rotatable",Ch.LABEL_SHADOW_BLUR="label.shadow.blur",Ch.LABEL_SHADOW_COLOR="label.shadow.color",Ch.LABEL_SHADOW_OFFSET_X="label.shadow.offset.x",Ch.LABEL_SHADOW_OFFSET_Y="label.shadow.offset.y",Ch.LABEL_Z_INDEX="label.z.index",Ch.LABEL_ON_TOP="label.on.top",Ch.GROUP_BACKGROUND_COLOR="group.background.color",Ch.GROUP_BACKGROUND_GRADIENT="group.background.gradient",Ch.GROUP_STROKE="group.stroke",Ch.GROUP_STROKE_STYLE="group.stroke.color",Ch.GROUP_STROKE_LINE_DASH="group.stroke.line.dash",Ch.GROUP_STROKE_LINE_DASH_OFFSET="group.stroke.line.dash.offset",Ch.EDGE_BUNDLE_LABEL_ROTATE="edge.bundle.label.rotate",Ch.EDGE_BUNDLE_LABEL_POSITION="edge.bundle.label.position",Ch.EDGE_BUNDLE_LABEL_ANCHOR_POSITION="edge.bundle.label.anchor.position",Ch.EDGE_BUNDLE_LABEL_COLOR="edge.bundle.label.color",Ch.EDGE_BUNDLE_LABEL_FONT_SIZE="edge.bundle.label.font.size",Ch.EDGE_BUNDLE_LABEL_FONT_FAMILY="edge.bundle.label.font.family",Ch.EDGE_BUNDLE_LABEL_FONT_STYLE="edge.bundle.label.font.style",Ch.EDGE_BUNDLE_LABEL_PADDING="edge.bundle.label.padding",Ch.EDGE_BUNDLE_LABEL_POINTER_WIDTH="edge.bundle.label.pointer.width",Ch.EDGE_BUNDLE_LABEL_POINTER="edge.bundle.label.pointer",Ch.EDGE_BUNDLE_LABEL_RADIUS="edge.bundle.label.radius",Ch.EDGE_BUNDLE_LABEL_OFFSET_X="edge.bundle.label.offset.x",Ch.EDGE_BUNDLE_LABEL_OFFSET_Y="edge.bundle.label.offset.y",Ch.EDGE_BUNDLE_LABEL_BORDER="edge.bundle.label.border",Ch.EDGE_BUNDLE_LABEL_BORDER_STYLE="edge.bundle.label.border.color",Ch.EDGE_BUNDLE_LABEL_BACKGROUND_COLOR="edge.bundle.label.background.color",Ch.EDGE_BUNDLE_LABEL_BACKGROUND_GRADIENT="edge.bundle.label.background.gradient",Ch.EDGE_BUNDLE_LABEL_ROTATABLE="edge.bundle.label.rotatable",Ch.EDGE_WIDTH="edge.width",Ch.EDGE_COLOR="edge.color",Ch.EDGE_OUTLINE="edge.outline",Ch.EDGE_OUTLINE_STYLE="edge.outline.style",Ch.EDGE_LINE_DASH="edge.line.dash",Ch.EDGE_LINE_DASH_OFFSET="edge.line.dash.offset",Ch.EDGE_FROM_OFFSET="edge.from.offset",
+Ch.EDGE_TO_OFFSET="edge.to.offset",Ch.EDGE_BUNDLE_GAP="edge.bundle.gap",Ch.EDGE_LOOPED_EXTAND="edge.looped.extand",Ch.EDGE_EXTEND="edge.extend",Ch.EDGE_CONTROL_POINT="edge.control.point",Ch.EDGE_SPLIT_BY_PERCENT="edge.split.by.percent",Ch.EDGE_SPLIT_PERCENT="edge.split.percent",Ch.EDGE_SPLIT_VALUE="edge.split.value",Ch.EDGE_CORNER="edge.corner",Ch.EDGE_CORNER_RADIUS="edge.corner.radius",Ch.EDGE_FROM_AT_EDGE="edge.from.at.edge",Ch.EDGE_TO_AT_EDGE="edge.to.at.edge",Ch.ARROW_FROM="arrow.from",Ch.ARROW_FROM_SIZE="arrow.from.size",Ch.ARROW_FROM_OFFSET="arrow.from.offset",Ch.ARROW_FROM_STROKE="arrow.from.stroke",Ch.ARROW_FROM_STROKE_STYLE="arrow.from.stroke.style",Ch.ARROW_FROM_OUTLINE="arrow.from.outline",Ch.ARROW_FROM_OUTLINE_STYLE="arrow.from.outline.style",Ch.ARROW_FROM_LINE_DASH="arrow.from.line.dash",Ch.ARROW_FROM_LINE_DASH_OFFSET="arrow.from.line.dash.offset",Ch.ARROW_FROM_FILL_COLOR="arrow.from.fill.color",Ch.ARROW_FROM_FILL_GRADIENT="arrow.from.fill.gradient",Ch.ARROW_FROM_LINE_CAP="arrow.from.line.cap",Ch.ARROW_FROM_LINE_JOIN="arrow.from.line.join",Ch.ARROW_TO="arrow.to",Ch.ARROW_TO_SIZE="arrow.to.size",Ch.ARROW_TO_OFFSET="arrow.to.offset",Ch.ARROW_TO_STROKE="arrow.to.stroke",Ch.ARROW_TO_STROKE_STYLE="arrow.to.stroke.style",Ch.ARROW_TO_OUTLINE="arrow.to.outline",Ch.ARROW_TO_OUTLINE_STYLE="arrow.to.outline.style",Ch.ARROW_TO_LINE_DASH="arrow.to.line.dash",Ch.ARROW_TO_LINE_DASH_OFFSET="arrow.to.line.dash.offset",Ch.ARROW_TO_FILL_COLOR="arrow.to.fill.color",Ch.ARROW_TO_FILL_GRADIENT="arrow.to.fill.gradient",Ch.ARROW_TO_LINE_CAP="arrow.to.line.cap",Ch.ARROW_TO_LINE_JOIN="arrow.to.line.join";var Dh=new $c,Eh=gg.PROPERTY_TYPE_ACCESSOR,Fh=gg.PROPERTY_TYPE_STYLE,Gh=!1;Dh._2p(Fh,Ch.SELECTION_TYPE,null,"selectionType"),Dh._2p(Fh,Ch.SELECTION_BORDER,null,"selectionBorder"),Dh._2p(Fh,Ch.SELECTION_SHADOW_BLUR,null,"selectionShadowBlur"),Dh._2p(Fh,Ch.SELECTION_COLOR,null,"selectionColor"),Dh._2p(Fh,Ch.SELECTION_SHADOW_OFFSET_X,null,"selectionShadowOffsetX"),Dh._2p(Fh,Ch.SELECTION_SHADOW_OFFSET_Y,null,"selectionShadowOffsetY"),Dh._2p(Eh,"name","label","data"),Dh._2p(Fh,Ch.LABEL_VISIBLE,"label","visible"),Dh._2p(Fh,Ch.LABEL_POSITION,"label","position"),Dh._2p(Fh,Ch.LABEL_ANCHOR_POSITION,"label","anchorPosition"),Dh._2p(Fh,Ch.LABEL_COLOR,"label","color"),Dh._2p(Fh,Ch.LABEL_FONT_SIZE,"label","fontSize"),Dh._2p(Fh,Ch.LABEL_BORDER,"label","border"),Dh._2p(Fh,Ch.LABEL_BORDER_STYLE,"label","borderColor"),Dh._2p(Fh,Ch.LABEL_BACKGROUND_COLOR,"label","backgroundColor"),Dh._2p(Fh,Ch.LABEL_ON_TOP,"label","showOnTop"),Gh||(Dh._2p(Fh,Ch.SHADOW_BLUR,null,"shadowBlur"),Dh._2p(Fh,Ch.SHADOW_COLOR,null,"shadowColor"),Dh._2p(Fh,Ch.SHADOW_OFFSET_X,null,"shadowOffsetX"),Dh._2p(Fh,Ch.SHADOW_OFFSET_Y,null,"shadowOffsetY"),Dh._2p(Fh,Ch.LABEL_FONT_FAMILY,"label","fontFamily"),Dh._2p(Fh,Ch.LABEL_FONT_STYLE,"label","fontStyle"),Dh._2p(Fh,Ch.LABEL_ALIGN_POSITION,"label","alignPosition"),Dh._2p(Fh,Ch.LABEL_ROTATE,"label","rotate"),Dh._2p(Fh,Ch.LABEL_PADDING,"label","padding"),Dh._2p(Fh,Ch.LABEL_POINTER_WIDTH,"label","pointerWidth"),Dh._2p(Fh,Ch.LABEL_POINTER,"label","showPointer"),Dh._2p(Fh,Ch.LABEL_RADIUS,"label","borderRadius"),Dh._2p(Fh,Ch.LABEL_OFFSET_X,"label","offsetX"),Dh._2p(Fh,Ch.LABEL_OFFSET_Y,"label","offsetY"),Dh._2p(Fh,Ch.LABEL_ROTATABLE,"label","rotatable"),Dh._2p(Fh,Ch.LABEL_BACKGROUND_GRADIENT,"label","backgroundGradient"),Dh._2p(Fh,Ch.LABEL_SIZE,"label","size"),Dh._2p(Fh,Ch.LABEL_SHADOW_BLUR,"label","shadowBlur"),Dh._2p(Fh,Ch.LABEL_SHADOW_COLOR,"label","shadowColor"),Dh._2p(Fh,Ch.LABEL_SHADOW_OFFSET_X,"label","shadowOffsetX"),Dh._2p(Fh,Ch.LABEL_SHADOW_OFFSET_Y,"label","shadowOffsetY"),Dh._2p(Fh,Ch.LABEL_Z_INDEX,"label","zIndex"),Dh._2p(Fh,Ch.RENDER_COLOR,null,"renderColor"),Dh._2p(Fh,Ch.RENDER_COLOR_BLEND_MODE,null,"renderColorBlendMode"),Dh._2p(Fh,Ch.ALPHA,null,"alpha"));var Hh=new $c;Hh._2p(Eh,"location"),Hh._2p(Eh,"anchorPosition",null,"_2l"),Hh._2p(Eh,"rotate",null,"rotate"),Gh||(Hh._2p(Fh,Ch.BACKGROUND_COLOR,null,"backgroundColor"),Hh._2p(Fh,Ch.BACKGROUND_GRADIENT,null,"backgroundGradient"),Hh._2p(Fh,Ch.PADDING,null,"padding"),Hh._2p(Fh,Ch.BORDER,null,"border"),Hh._2p(Fh,Ch.BORDER_RADIUS,null,"borderRadius"),Hh._2p(Fh,Ch.BORDER_COLOR,null,"borderColor"),Hh._2p(Fh,Ch.BORDER_LINE_DASH,null,"borderLineDash"),Hh._2p(Fh,Ch.BORDER_LINE_DASH_OFFSET,null,"borderLineDashOffset")),Hh._2p(Eh,"image","image","data","_mzd"),Hh._2p(Eh,"size","image","size"),Hh._2p(Fh,Ch.SHAPE_STROKE,"image","lineWidth"),Hh._2p(Fh,Ch.SHAPE_STROKE_STYLE,"image","strokeStyle"),Hh._2p(Fh,Ch.SHAPE_FILL_COLOR,"image","fillColor"),Hh._2p(Fh,Ch.LAYOUT_BY_PATH,"image","layoutByPath"),Gh||(Hh._2p(Fh,Ch.IMAGE_ADJUST,"image","adjustType"),Hh._2p(Fh,Ch.SHAPE_OUTLINE,"image","outline"),Hh._2p(Fh,Ch.SHAPE_OUTLINE_STYLE,"image","outlineStyle"),Hh._2p(Fh,Ch.SHAPE_FILL_GRADIENT,"image","fillGradient"),Hh._2p(Fh,Ch.SHAPE_LINE_DASH,"image","lineDash"),Hh._2p(Fh,Ch.SHAPE_LINE_DASH_OFFSET,"image","lineDashOffset"),Hh._2p(Fh,Ch.LINE_CAP,"image","lineCap"),Hh._2p(Fh,Ch.LINE_JOIN,"image","lineJoin"),Hh._2p(Fh,Ch.IMAGE_BACKGROUND_COLOR,"image","backgroundColor"),Hh._2p(Fh,Ch.IMAGE_BACKGROUND_GRADIENT,"image","backgroundGradient"),Hh._2p(Fh,Ch.IMAGE_PADDING,"image","padding"),Hh._2p(Fh,Ch.IMAGE_BORDER,"image","border"),Hh._2p(Fh,Ch.IMAGE_BORDER_RADIUS,"image","borderRadius"),Hh._2p(Fh,Ch.IMAGE_BORDER_COLOR,"image","borderColor"),Hh._2p(Fh,Ch.IMAGE_BORDER_LINE_DASH,"image","borderLineDash"),Hh._2p(Fh,Ch.IMAGE_BORDER_LINE_DASH_OFFSET,"image","borderLineDashOffset"),Hh._2p(Fh,Ch.IMAGE_Z_INDEX,"image","zIndex"),Hh._2p(Fh,Ch.IMAGE_ALPHA,"image","alpha")),Hh._2p(Eh,"expanded",null,null,"checkBody"),Hh._2p(Eh,"enableSubNetwork",null,null,"checkBody");var Ih=new $c;Ih._2p(Eh,"groupType",null,null,"_53"),Ih._2p(Eh,"groupImage",null,null,"_53"),Ih._2p(Eh,"minSize",null,null,"_53"),Ih._2p(Eh,"padding",null,null,"_53"),Ih._2p(Fh,Ch.GROUP_BACKGROUND_COLOR,"shape","fillColor"),Ih._2p(Fh,Ch.GROUP_BACKGROUND_GRADIENT,"shape","fillGradient"),Ih._2p(Fh,Ch.GROUP_STROKE,"shape","lineWidth"),Ih._2p(Fh,Ch.GROUP_STROKE_STYLE,"shape","strokeStyle"),Ih._2p(Fh,Ch.GROUP_STROKE_LINE_DASH,"shape","lineDash"),Ih._2p(Fh,Ch.GROUP_STROKE_LINE_DASH_OFFSET,"shape","lineDashOffset");var Jh=new $c;Jh._2p(Eh,"from","shape",null,"_4v"),Jh._2p(Eh,"to","shape",null,"_4v"),Jh._2p(Eh,"edgeType","shape",null,"_4v"),Jh._2p(Fh,Ch.EDGE_WIDTH,"shape","lineWidth"),Jh._2p(Fh,Ch.EDGE_COLOR,"shape","strokeStyle"),Jh._2p(Fh,Ch.ARROW_FROM,"shape","fromArrow"),Jh._2p(Fh,Ch.ARROW_TO,"shape","toArrow"),Gh||(Jh._2p(Fh,Ch.EDGE_FROM_AT_EDGE,null,"fromAtEdge","_4v"),Jh._2p(Fh,Ch.EDGE_TO_AT_EDGE,null,"toAtEdge","_4v"),Jh._2p(Fh,Ch.EDGE_OUTLINE,"shape","outline"),Jh._2p(Fh,Ch.EDGE_OUTLINE_STYLE,"shape","outlineStyle"),Jh._2p(Fh,Ch.EDGE_LINE_DASH,"shape","lineDash"),Jh._2p(Fh,Ch.EDGE_LINE_DASH_OFFSET,"shape","lineDashOffset"),Jh._2p(Fh,Ch.EDGE_CONTROL_POINT,"shape",null,"_4v"),Jh._2p(Fh,Ch.EDGE_FROM_OFFSET,"shape",null,"_4v"),Jh._2p(Fh,Ch.EDGE_TO_OFFSET,"shape",null,"_4v"),Jh._2p(Fh,Ch.LINE_CAP,"shape","lineCap"),Jh._2p(Fh,Ch.LINE_JOIN,"shape","lineJoin"),Jh._2p(Eh,"path.segment",null,null,"_4v",!0),Jh._2p(Eh,"angle",null,null,"_4v",!0),Jh._2p(Fh,Ch.ARROW_FROM_SIZE,"shape","fromArrowSize"),Jh._2p(Fh,Ch.ARROW_FROM_OFFSET,"shape","fromArrowOffset"),Jh._2p(Fh,Ch.ARROW_FROM_STROKE,"shape","fromArrowStroke"),Jh._2p(Fh,Ch.ARROW_FROM_STROKE_STYLE,"shape","fromArrowStrokeStyle"),Jh._2p(Fh,Ch.ARROW_FROM_OUTLINE,"shape","fromArrowOutline"),Jh._2p(Fh,Ch.ARROW_FROM_OUTLINE_STYLE,"shape","fromArrowOutlineStyle"),Jh._2p(Fh,Ch.ARROW_FROM_FILL_COLOR,"shape","fromArrowFillColor"),Jh._2p(Fh,Ch.ARROW_FROM_FILL_GRADIENT,"shape","fromArrowFillGradient"),Jh._2p(Fh,Ch.ARROW_FROM_LINE_DASH,"shape","fromArrowLineDash"),Jh._2p(Fh,Ch.ARROW_FROM_LINE_DASH_OFFSET,"shape","fromArrowLineDashOffset"),Jh._2p(Fh,Ch.ARROW_FROM_LINE_JOIN,"shape","fromArrowLineJoin"),Jh._2p(Fh,Ch.ARROW_FROM_LINE_CAP,"shape","fromArrowLineCap"),Jh._2p(Fh,Ch.ARROW_TO_SIZE,"shape","toArrowSize"),Jh._2p(Fh,Ch.ARROW_TO_OFFSET,"shape","toArrowOffset"),Jh._2p(Fh,Ch.ARROW_TO_STROKE,"shape","toArrowStroke"),Jh._2p(Fh,Ch.ARROW_TO_STROKE_STYLE,"shape","toArrowStrokeStyle"),Jh._2p(Fh,Ch.ARROW_TO_OUTLINE,"shape","toArrowOutline"),Jh._2p(Fh,Ch.ARROW_TO_OUTLINE_STYLE,"shape","toArrowOutlineStyle"),Jh._2p(Fh,Ch.ARROW_TO_FILL_COLOR,"shape","toArrowFillColor"),Jh._2p(Fh,Ch.ARROW_TO_FILL_GRADIENT,"shape","toArrowFillGradient"),Jh._2p(Fh,Ch.ARROW_TO_LINE_DASH,"shape","toArrowLineDash"),Jh._2p(Fh,Ch.ARROW_TO_LINE_DASH_OFFSET,"shape","toArrowLineDashOffset"),Jh._2p(Fh,Ch.ARROW_TO_LINE_JOIN,"shape","toArrowLineJoin"),Jh._2p(Fh,Ch.ARROW_TO_LINE_CAP,"shape","toArrowLineCap"));var Kh=new $c;Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_COLOR,"bundleLabel","color"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_POSITION,"bundleLabel","position"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_ANCHOR_POSITION,"bundleLabel","anchorPosition"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_FONT_SIZE,"bundleLabel","fontSize"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_ROTATABLE,"bundleLabel","rotatable"),Gh||(Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_ROTATE,"bundleLabel","rotate"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_FONT_FAMILY,"bundleLabel","fontFamily"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_FONT_STYLE,"bundleLabel","fontStyle"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_PADDING,"bundleLabel","padding"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_POINTER_WIDTH,"bundleLabel","pointerWidth"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_POINTER,"bundleLabel","showPointer"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_RADIUS,"bundleLabel","borderRadius"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_OFFSET_X,"bundleLabel","offsetX"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_OFFSET_Y,"bundleLabel","offsetY"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_BORDER,"bundleLabel","border"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_BORDER_STYLE,"bundleLabel","borderColor"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_BACKGROUND_COLOR,"bundleLabel","backgroundColor"),Kh._2p(Fh,Ch.EDGE_BUNDLE_LABEL_BACKGROUND_GRADIENT,"bundleLabel","backgroundGradient"));var Lh=new $c;Lh._2p(Eh,"location"),Lh._2p(Fh,Ch.BACKGROUND_COLOR,null,"backgroundColor"),Lh._2p(Fh,Ch.BACKGROUND_GRADIENT,null,"backgroundGradient"),Lh._2p(Fh,Ch.PADDING,null,"padding"),Lh._2p(Fh,Ch.BORDER,null,"border"),Lh._2p(Fh,Ch.BORDER_RADIUS,null,"borderRadius"),Lh._2p(Fh,Ch.BORDER_COLOR,null,"borderColor"),Lh._2p(Fh,Ch.BORDER_LINE_DASH,null,"borderLineDash"),Lh._2p(Fh,Ch.BORDER_LINE_DASH_OFFSET,null,"borderLineDashOffset"),Lh._2p(Eh,"rotate",null,"rotate"),Lh._2p(Eh,"path.segment",null,null,"invalidateShape"),Lh._2p(Eh,"path","image","data"),Lh._2p(Eh,"size","image","size"),Lh._2p(Fh,Ch.SHAPE_STROKE,"image","lineWidth"),Lh._2p(Fh,Ch.SHAPE_STROKE_STYLE,"image","strokeStyle"),Lh._2p(Fh,Ch.SHAPE_FILL_COLOR,"image","fillColor"),Lh._2p(Fh,Ch.SHAPE_FILL_GRADIENT,"image","fillGradient"),Gh||(Lh._2p(Fh,Ch.SHAPE_OUTLINE,"image","outline"),Lh._2p(Fh,Ch.SHAPE_OUTLINE_STYLE,"image","outlineStyle"),Lh._2p(Fh,Ch.SHAPE_LINE_DASH,"image","lineDash"),Lh._2p(Fh,Ch.SHAPE_LINE_DASH_OFFSET,"image","lineDashOffset"),Lh._2p(Fh,Ch.LINE_CAP,"image","lineCap"),Lh._2p(Fh,Ch.LINE_JOIN,"image","lineJoin"),Lh._2p(Fh,Ch.LAYOUT_BY_PATH,"image","layoutByPath"),Lh._2p(Fh,Ch.IMAGE_BACKGROUND_COLOR,"image","backgroundColor"),Lh._2p(Fh,Ch.IMAGE_BACKGROUND_GRADIENT,"image","backgroundGradient"),Lh._2p(Fh,Ch.IMAGE_PADDING,"image","padding"),Lh._2p(Fh,Ch.IMAGE_BORDER,"image","border"),Lh._2p(Fh,Ch.IMAGE_BORDER_RADIUS,"image","borderRadius"),Lh._2p(Fh,Ch.IMAGE_BORDER_COLOR,"image","borderColor"),Lh._2p(Fh,Ch.IMAGE_BORDER_LINE_DASH,"image","borderLineDash"),Lh._2p(Fh,Ch.IMAGE_BORDER_LINE_DASH_OFFSET,"image","borderLineDashOffset"),Lh._2p(Fh,Ch.ARROW_FROM,"image","fromArrow"),Lh._2p(Fh,Ch.ARROW_FROM_SIZE,"image","fromArrowSize"),Lh._2p(Fh,Ch.ARROW_FROM_OFFSET,"image","fromArrowOffset"),Lh._2p(Fh,Ch.ARROW_FROM_STROKE,"image","fromArrowStroke"),Lh._2p(Fh,Ch.ARROW_FROM_STROKE_STYLE,"image","fromArrowStrokeStyle"),Lh._2p(Fh,Ch.ARROW_FROM_FILL_COLOR,"image","fromArrowFillColor"),Lh._2p(Fh,Ch.ARROW_FROM_FILL_GRADIENT,"image","fromArrowFillGradient"),Lh._2p(Fh,Ch.ARROW_FROM_LINE_DASH,"image","fromArrowLineDash"),Lh._2p(Fh,Ch.ARROW_FROM_LINE_DASH_OFFSET,"image","fromArrowLineDashOffset"),Lh._2p(Fh,Ch.ARROW_FROM_LINE_JOIN,"image","fromArrowLineJoin"),Lh._2p(Fh,Ch.ARROW_FROM_LINE_CAP,"image","fromArrowLineCap"),Lh._2p(Fh,Ch.ARROW_TO_SIZE,"image","toArrowSize"),Lh._2p(Fh,Ch.ARROW_TO_OFFSET,"image","toArrowOffset"),Lh._2p(Fh,Ch.ARROW_TO,"image","toArrow"),Lh._2p(Fh,Ch.ARROW_TO_STROKE,"image","toArrowStroke"),Lh._2p(Fh,Ch.ARROW_TO_STROKE_STYLE,"image","toArrowStrokeStyle"),Lh._2p(Fh,Ch.ARROW_TO_FILL_COLOR,"image","toArrowFillColor"),Lh._2p(Fh,Ch.ARROW_TO_FILL_GRADIENT,"image","toArrowFillGradient"),Lh._2p(Fh,Ch.ARROW_TO_LINE_DASH,"image","toArrowLineDash"),Lh._2p(Fh,Ch.ARROW_TO_LINE_DASH_OFFSET,"image","toArrowLineDashOffset"),Lh._2p(Fh,Ch.ARROW_TO_LINE_JOIN,"image","toArrowLineJoin"),Lh._2p(Fh,Ch.ARROW_TO_LINE_CAP,"image","toArrowLineCap"));var Mh=function(a,b){return a=a.zIndex,b=b.zIndex,a==b?0:(a=a||0,b=b||0,a>b?1:b>a?-1:void 0)},Nh=function(a,b){this.uiBounds=new Ze,x(this,Nh,arguments),this.id=this.$data.id,this.graph=b,this._fw=[],this._mzf=new $c};Nh.prototype={syncSelection:!1,graph:null,layoutByAnchorPoint:!1,_mzf:null,_fw:null,addChild:function(a,b){a._k5=this,b!==c?s(this._fw,a,b):this._fw.push(a),a._e4&&this._mwx(a),this.invalidateChildrenIndex(),this.invalidateSize(),this.$invalidateChild=!0},removeChild:function(a){this._mzf.removeBinding(a),a._k5=null,t(this._fw,a),this._kb&&this._kb.remove(a),this.invalidateSize(),this.$invalidateChild=!0},getProperty:function(a,b){return b==gg.PROPERTY_TYPE_STYLE?this.graph.getStyle(this.$data,a):b==gg.PROPERTY_TYPE_CLIENT?this.$data.get(a):this.$data[a]},getStyle:function(a){return this.graph.getStyle(this.$data,a)},_$x:function(a,b,c){var d=this._mzf.onBindingPropertyChange(this,a,b,c);return Dh.onBindingPropertyChange(this,a,b,c)||d},onPropertyChange:function(a){if("zIndex"==a.kind)return this.invalidateRender(),!0;if("ui"==a.type){if("invalidate"==a.kind)return this.invalidate(),!0;var b=a.value;return!(!b||!b.ui)&&("add"==a.kind?this._9q(b):"remove"==a.kind&&this.removeChild(b.ui),!0)}return this._$x(a.kind,a.propertyType||Eh,a.value)},label:null,initLabel:function(){var a=new Ph;a.name="label",this.addChild(a),this.label=a},initialize:function(){this.initLabel(),this.$data._mzm&&this.$data._mzm.forEach(this._9q,this),Dh.initBindingProperties(this),this._mzf.initBindingProperties(this,!1)},addBinding:function(a,b){return!!b.property&&(b.target=a,void this._mzf._26(b.property,b))},_gt:function(a,b){var c=this.$data;if(!c._mzm)return!1;var d=c._mzm.getById(a.id);if(!d||!d.bindingProperties)return!1;var e=d.bindingProperties;if(N(e)){var f=!1;return o(e,function(a){return"data"==a.bindingProperty?(f=_c(c,b,a.property,a.propertyType),!1):void 0},this),f}return"data"==e.bindingProperty&&_c(c,b,e.property,e.propertyType)},_9q:function(a){var b=a.ui;if(b){var c=a.bindingProperties;c&&(Array.isArray(c)?c.forEach(function(a){this.addBinding(b,a)},this):this.addBinding(b,c)),this.addChild(b)}},validate:function(){return this._mwl||(this.initialize(),this._mwl=!0),this.doValidate()},_$c:!0,invalidateChildrenIndex:function(){this._$c=!0},doValidate:function(){if(this._1i&&(this._1i=!1,this.validateChildren()&&(this.measure(),this.$invalidateSize=!0),this._$c&&(this._$c=!1,Je?this._fw=n(this._fw,Mh):this._fw.sort(Mh))),Pb.call(this)&&(this.$invalidateRotate=!0),this.$invalidateRotate){Wg.call(this),this.uiBounds.setByRect(this._gh);var a=this.$selectionBorder||0,b=Math.max(this.$selectionBorder||0,this.$shadowOffsetX||0,this.$selectionShadowOffsetX||0),c=Math.max(this.$shadowOffsetY||0,this.$selectionShadowOffsetY||0),d=Math.max(2*a,this.$shadowBlur,this.$selectionShadowBlur);d+=Re.UI_BOUNDS_GROW||0;var e=d-b,f=d+b,g=d-c,h=d+c;return 0>e&&(e=0),0>f&&(f=0),0>g&&(g=0),0>h&&(h=0),this.uiBounds.grow(g,e,h,f),this.onBoundsChanged&&this.onBoundsChanged(),this.$invalidateBounds=!0,!0}},validateChildren:function(){var a=this.$invalidateChild;this.$invalidateChild=!1;var b=this._mxody,c=this.bodyChanged;b&&(b.$renderColor=this.$renderColor,b.$renderColorBlendMode=this.$renderColorBlendMode,b.$shadowColor=this.$shadowColor,b.$shadowBlur=this.$shadowBlur,b.$shadowOffsetX=this.$shadowOffsetX,b.$shadowOffsetY=this.$shadowOffsetY),this.bodyChanged=!1,b&&b._1i&&(c=b.validate()||c,b.$x=0,b.$y=0,b.$invalidateRotate&&Wg.call(b),a=!0);for(var d=0,e=this._fw.length;e>d;d++){var f=this._fw[d];if(f!=b){var g=f._1i&&f.validate();(g||c)&&f._id&&Tb(f,b,this),!a&&g&&(a=!0)}}return a},measure:function(){this._ju.clear();for(var a,b,c=0,d=this._fw.length;d>c;c++)a=this._fw[c],a._id&&(b=a._gh,b.width<=0||b.height<=0||this._ju.addRect(a.$x+b.x,a.$y+b.y,b.width,b.height))},_kb:null,_mwx:function(a){if(!this._kb){if(!a.showOnTop)return;return this._kb=new Se,this._kb.add(a)}return a.showOnTop?this._kb.add(a):this._kb.remove(a)},draw:function(a,b,c){for(var d,e=0,f=this._fw.length;f>e;e++)d=this._fw[e],d._id&&!d.showOnTop&&d._jr(a,b,c,this)},_9i:function(a,b){if(!this._id||!this._kb||!this._kb.length)return!1;a.save(),a.translate(this.$x,this.$y),this.$rotatable&&this.$_hostRotate&&a.rotate(this.$_hostRotate),(this.offsetX||this.offsetY)&&a.translate(this.offsetX,this.offsetY),this.$rotate&&a.rotate(this.$rotate),this.$layoutByAnchorPoint&&this._mx1&&a.translate(-this._mx1.x,-this._mx1.y),this.shadowColor&&(a.shadowColor=this.shadowColor,a.shadowBlur=this.shadowBlur*b,a.shadowOffsetX=this.shadowOffsetX*b,a.shadowOffsetY=this.shadowOffsetY*b),a.beginPath();for(var c,d=0,e=this._fw.length;e>d;d++)c=this._fw[d],c._id&&c.showOnTop&&c._jr(a,b,this.selected,this);a.restore()},doHitTest:function(a,b,c){if(c){if(!this._ju.intersectsRect(a-c,b-c,2*c,2*c))return!1}else if(!this._ju.intersectsPoint(a,b))return!1;return this.hitTestChildren(a,b,c)},hitTestChildren:function(a,b,c){for(var d,e=this._fw.length-1;e>=0;e--)if(d=this._fw[e],d._id&&d.hitTest(a,b,c))return d;return!1},destroy:function(){this._ibed=!0;for(var a,b=this._fw.length-1;b>=0;b--)a=this._fw[b],a.destroy()}},w(Nh,Ah),Z(Nh.prototype,{renderColorBlendMode:{get:function(){return this.$renderColorBlendMode},set:function(a){this.$renderColorBlendMode=a,this._1i=!0,this.body&&(this.body.renderColorBlendMode=this.$renderColorBlendMode)}},renderColor:{get:function(){return this.$renderColor},set:function(a){this.$renderColor=a,this._1i=!0,this.body&&(this.body.renderColor=this.$renderColor)}},bodyBounds:{get:function(){if(this.$invalidateBounds){this.$invalidateBounds=!1;var a,b=this.body;a=b&&b._id&&!this._$q()?b._gh.clone():this._gh.clone(),this.rotate&&Ca(a,this.rotate,a),a.x+=this.$x,a.y+=this.$y,this._mzz=a}return this._mzz}},bounds:{get:function(){return new Ze((this.$x||0)+this.uiBounds.x,(this.$y||0)+this.uiBounds.y,this.uiBounds.width,this.uiBounds.height)}},body:{get:function(){return this._mxody},set:function(a){a&&this._mxody!=a&&(this._mxody=a,this.bodyChanged=!0,this.invalidateSize())}}}),Re.UI_BOUNDS_GROW=1;var Oh=function(){x(this,Oh,arguments)};Oh.prototype={strokeStyle:"#000",lineWidth:0,fillColor:null,fillGradient:null,_k1:1,_k3:1,outline:0,onDataChanged:function(a){y(this,Oh,"onDataChanged",arguments),this._le&&this._8u&&this._le._68(this._8u,this),a&&this._mzd(a)},_mzd:function(a){this._le=rb(a),this._le.validate(),(this._le._m3==tg||this._le._6e())&&(this._8u||(this._8u=function(){this.invalidateData(),this._k5&&this._k5.graph&&(this._k5.invalidateSize(),this._k5.graph.invalidate())}),this._le._mwq(this._8u,this))},_le:null,initialize:function(){this._mzd(this.$data)},_5a:function(){return this._le&&this._le.draw},_9c:function(a){if(!a||a.width<=0||a.height<=0||!this.$size||!(this.size instanceof Object))return this._k1=1,void(this._k3=1);var b=this.size.width,d=this.size.height;if((b===c||null===b)&&(b=-1),(d===c||null===d)&&(d=-1),0>b&&0>d)return this._k1=1,void(this._k3=1);var e,f,g=a.width,h=a.height;b>=0&&(e=b/g),d>=0&&(f=d/h),0>b?e=f:0>d&&(f=e),this._k1=e,this._k3=f},validateSize:function(){if(this.$invalidateScale){this.$invalidateScale=!1;var a=this._originalBounds;this._k1,this._k3,this._9c(a),this.setMeasuredBounds(a.width*this._k1,a.height*this._k3,a.x*this._k1,a.y*this._k3)}},measure:function(){var a=this._le.getBounds(this.lineWidth+this.outline);return a?(this.$invalidateScale=!0,void(this._originalBounds=a.clone())):void this._ju.set(0,0,0,0)},onBoundsChanged:function(){this.$invalidateFillGradient=!0},_1r:function(){this.$invalidateFillGradient=!1,this._fillGradient=this.fillGradient?Ag.prototype.generatorGradient.call(this.$fillGradient,this._86):null},_kg:function(a){var b,c;if("flip"==this.$adjustType)b=1,c=-1;else{if("mirror"!=this.$adjustType)return;b=-1,c=1}var d=this._ju.cx,e=this._ju.cy;a.translate(d,e),a.scale(b,c),a.translate(-d,-e)},draw:function(a,b,c,d){if(this._k1&&this._k3){if(this.$invalidateFillGradient&&this._1r(),a.save(),this.$adjustType&&this._kg(a),this._le._m3==vg)return a.scale(this._k1,this._k3),this._le._lr.draw(a,b,this,c,d||this),void a.restore();c&&this._89(a,b,d),this._le.draw(a,b,this,this._k1,this._k3),a.restore()}},doHitTest:function(a,b,c){if(this._le.hitTest){if("flip"==this.$adjustType){var d=this._ju.cy;b=2*d-b}else if("mirror"==this.$adjustType){var e=this._ju.cx;a=2*e-a}a/=this._k1,b/=this._k3;var f=(this._k1+this._k3)/2;return f>1&&(c/=f,c=0|c),this._le._lr instanceof Rg?this._le._lr.hitTest(a,b,c,!0,this.$lineWidth,this.$fillColor||this.$fillGradient):this._le.hitTest(a,b,c)}return!0},$invalidateScale:!0,$invalidateFillGradient:!0},w(Oh,Ah),Yc(Oh.prototype,{adjustType:{},fillColor:{},size:{validateFlags:["Size","Scale"]},fillGradient:{validateFlags:["FillGradient"]}}),Z(Oh.prototype,{originalBounds:{get:function(){return this._originalBounds}}}),Re.ALIGN_POSITION=_e.CENTER_MIDDLE;var Ph=function(){x(this,Ph,arguments),this.color=Re.LABEL_COLOR};Ph.prototype={color:Re.LABEL_COLOR,showPointer:!0,fontSize:null,fontFamily:null,fontStyle:null,_go:null,alignPosition:null,measure:function(){this.font;var a=Ka(this.$data,this.$fontSize,this.$fontFamily,this.$fontStyle,Re.LINE_HEIGHT,this.$font);if(this._go=a,this.$size){var b=this.$size.width||0,c=this.$size.height||0;return this.setMeasuredBounds(b>a.width?b:a.width,c>a.height?c:a.height)}return this.setMeasuredBounds(a.width,a.height)},doHitTest:function(a,b,c){return!!this.$data&&Cb(a,b,c,this)},draw:function(a,b,c,d){if(c&&this._89(a,b,d),this.$fontSize||Re.FONT_SIZE,this.$rotatable&&this.$_hostRotate){var e=jb(this.$_hostRotate);e>Te&&3*Te>e&&(a.translate(this._ju.width/2,this._ju.height/2),a.rotate(Math.PI),a.translate(-this._ju.width/2,-this._ju.height/2))}var f=this.alignPosition||Re.ALIGN_POSITION,g=f.horizontalPosition,h=f.verticalPosition,i=0;g==bf?(g="center",i+=this._ju.width/2):g==cf?(g="right",i+=this._ju.width):g="left";var j=0;h==ef?j=(this._ju.height-this._go.height)/2:h==ff&&(j=this._ju.height-this._go.height),a.fillStyle=this.color,Ja(a,this.$data,i,j,g,this.$fontFamily,this.$fontSize,this.$fontStyle,Re.LINE_HEIGHT,this.$font)},_5a:function(){return null!=this.$data||this.$size},$invalidateFont:!0},w(Ph,Ah),Yc(Ph.prototype,{size:{validateFlags:["Data"]},fontStyle:{validateFlags:["Data","Font"]},fontSize:{validateFlags:["Data","Font"]},fontFamily:{validateFlags:["Data","Font"]}}),Z(Ph.prototype,{font:{get:function(){return this.$invalidateFont&&(this.$invalidateFont=!1,this.$font=(this.$fontStyle||Re.FONT_STYLE)+" "+(this.$fontSize||Re.FONT_SIZE)+"px "+(this.$fontFamily||Re.FONT_FAMILY)),this.$font}}});var Qh=function(a){a=a||new Rg,this.pathBounds=new Ze,x(this,Qh,[a])};Qh.prototype={layoutByPath:!0,layoutByAnchorPoint:!1,measure:function(){this.$invalidateFromArrow=!0,this.$invalidateToArrow=!0,this.$data.getBounds(this.$lineWidth+this.$outline,this.pathBounds),this.setMeasuredBounds(this.pathBounds)},validateSize:function(){if(this.$invalidateFromArrow||this.$invalidateToArrow){var a=this.pathBounds.clone();if(this.$invalidateFromArrow){this.$invalidateFromArrow=!1;var b=this.validateFromArrow();b&&a.add(b)}if(this.$invalidateToArrow){this.$invalidateToArrow=!1;var b=this.validateToArrow();b&&a.add(b)}this.setMeasuredBounds(a)}},validateFromArrow:function(){if(!this.$data._jf||!this.$fromArrow)return void(this.$fromArrowShape=null);var a=this.$data,b=0,c=0,d=this.$fromArrowOffset;d&&(isNaN(d)&&(d.x||d.y)?(b+=d.x||0,c+=d.y||0):b+=d||0,b>0&&1>b&&(b*=a._jf)),this.fromArrowLocation=a.getLocation(b,c),this.fromArrowLocation.rotate=Math.PI+this.fromArrowLocation.rotate||0,this.$fromArrowShape=zd(this.$fromArrow,this.$fromArrowSize);var e=this.$fromArrowShape.getBounds(this.fromArrowStyles.lineWidth+this.fromArrowStyles.outline);return this.fromArrowFillGradient instanceof fg.Gradient?this.fromArrowStyles._fillGradient=Ag.prototype.generatorGradient.call(this.fromArrowFillGradient,e):this.fromArrowStyles&&(this.fromArrowStyles._fillGradient=null),e.offset(this.fromArrowLocation.x,this.fromArrowLocation.y),Da(e,this.fromArrowLocation.rotate,e,this.fromArrowLocation.x,this.fromArrowLocation.y),e},validateToArrow:function(){if(!this.$data._jf||!this.$toArrow)return void(this.$toArrowShape=null);var a=this.$data,b=0,c=0,d=this.$toArrowOffset;d&&(isNaN(d)&&(d.x||d.y)?(b+=d.x||0,c+=d.y||0):b+=d||0),0>b&&b>-1&&(b*=a._jf),b+=a._jf,this.toArrowLocation=a.getLocation(b,c),this.$toArrowShape=zd(this.$toArrow,this.$toArrowSize);var e=this.$toArrowShape.getBounds(this.toArrowStyles.lineWidth+this.toArrowStyles.outline);return this.toArrowFillGradient instanceof fg.Gradient?this.toArrowStyles._fillGradient=Ag.prototype.generatorGradient.call(this.toArrowFillGradient,e):this.toArrowStyles&&(this.toArrowStyles._fillGradient=null),e.offset(this.toArrowLocation.x,this.toArrowLocation.y),Da(e,this.toArrowLocation.rotate,e,this.toArrowLocation.x,this.toArrowLocation.y),e},_29:function(a){var b=a?"from":"to",d=this[b+"ArrowStroke"];d===c&&(d=this.$lineWidth);var e=this[b+"ArrowStrokeStyle"];e===c&&(e=this.strokeStyle);var f=this[b+"ArrowStyles"];f||(this[b+"ArrowStyles"]=f={}),f.lineWidth=d,f.strokeStyle=e,f.lineDash=this[b+"ArrowLineDash"],f.lineDashOffset=this[b+"ArrowLineDashOffset"],f.fillColor=this[b+"ArrowFillColor"],f.fillGradient=this[b+"ArrowFillGradient"],f.lineCap=this[b+"ArrowLineCap"],f.lineJoin=this[b+"ArrowLineJoin"],f.outline=this[b+"ArrowOutline"]||0,f.outlineStyle=this[b+"ArrowOutlineStyle"]},doValidate:function(){return this.$fromArrow&&this._29(!0),this.$toArrow&&this._29(!1),y(this,Qh,"doValidate")},drawArrow:function(a,b,c,d){if(this.$fromArrow&&this.$fromArrowShape){a.save();var e=this.fromArrowLocation,f=e.x,g=e.y,h=e.rotate;a.translate(f,g),h&&a.rotate(h),this.$fromArrowShape.draw(a,b,this.fromArrowStyles,c,d),a.restore()}if(this.$toArrow&&this.$toArrowShape){a.save();var e=this.toArrowLocation,f=e.x,g=e.y,h=e.rotate;a.translate(f,g),h&&a.rotate(h),this.$toArrowShape.draw(a,b,this.toArrowStyles,c,d),a.restore()}},outlineStyle:null,outline:0,onBoundsChanged:function(){this.$invalidateFillGradient=!0},_1r:function(){this.$invalidateFillGradient=!1,this._fillGradient=this.$fillGradient?Ag.prototype.generatorGradient.call(this.$fillGradient,this._86):null},draw:function(a,b,c,d){this.$invalidateFillGradient&&this._1r(),this.$data.draw(a,b,this,c,d),this.drawArrow(a,b,c,d)},doHitTest:function(a,b,c){if(this.$data.hitTest(a,b,c,!0,this.$lineWidth+this.$outline,this.$fillColor||this.$fillGradient))return!0;if(this.$toArrow&&this.$toArrowShape){var d=a-this.toArrowLocation.x,e=b-this.toArrowLocation.y;if(this.toArrowLocation.rotate){var f=za(d,e,-this.toArrowLocation.rotate);d=f.x,e=f.y}var g=this.toArrowStyles.fillColor||this.toArrowStyles.fillGradient;if(this.$toArrowShape.hitTest(d,e,c,!0,this.toArrowStyles.lineWidth,g))return!0}if(this.$fromArrow&&this.$fromArrowShape){var d=a-this.fromArrowLocation.x,e=b-this.fromArrowLocation.y;if(this.fromArrowLocation.rotate){var f=za(d,e,-this.fromArrowLocation.rotate);d=f.x,e=f.y}var g=this.fromArrowStyles.fillColor||this.fromArrowStyles.fillGradient;if(this.$fromArrowShape.hitTest(d,e,c,!0,this.fromArrowStyles.lineWidth,g))return!0}return!1},$fromArrowOutline:0,$toArrowOutline:0,$invalidateFillGradient:!0,$invalidateFromArrow:!0,$invalidateToArrow:!0},w(Qh,Ah),Yc(Qh.prototype,{fillColor:{},fillGradient:{validateFlags:["FillGradient"]},fromArrowOffset:{validateFlags:["FromArrow","Size"]},fromArrowSize:{validateFlags:["FromArrow","Size"]},fromArrow:{validateFlags:["FromArrow","Size"]},fromArrowOutline:{validateFlags:["FromArrow","Size"]},fromArrowStroke:{validateFlags:["FromArrow","Size"]},toArrowOffset:{validateFlags:["ToArrow","Size"]},toArrowSize:{validateFlags:["ToArrow","Size"]},toArrow:{validateFlags:["ToArrow","Size"]},toArrowOutline:{validateFlags:["ToArrow","Size"]},toArrowStroke:{validateFlags:["ToArrow","Size"]},outline:{value:0,validateFlags:["Data"]}}),Z(Qh.prototype,{length:{get:function(){return this.data.length}}}),ad.prototype={shape:null,path:null,initialize:function(){y(this,ad,"initialize"),this.path=new Rg,this.path._e2=!1,this.shape=new Qh(this.path),this.addChild(this.shape,0),this._mxody=this.shape,Jh.initBindingProperties(this)},_1n:!0,_4z:null,_$q:function(){return!1},_43:function(){return!1},validatePoints:function(){this.shape.invalidateData();var a=this.$data,b=this.path;b.clear();var c=a.fromAgent,d=a.toAgent;c&&d&&Fd(this,a,b,c,d)},drawLoopedEdge:function(a,b,c,d){Jd(this,d,a)},drawEdge:function(a,b,c,d,e,f){var g=e.center,h=f.center;if(d==gg.EDGE_TYPE_ZIGZAG){var i=(g.x+h.x)/2,j=(g.y+h.y)/2,k=g.x-h.x,l=g.y-h.y,m=Math.sqrt(k*k+l*l),n=Math.atan2(l,k);n+=Math.PI/6,m*=.04,m>30&&(m=30);var o=Math.cos(n)*m,p=Math.sin(n)*m;return a.lineTo(i-p,j+o),void a.lineTo(i+p,j-o)}var q=Id(this,this.data,e,f,b,c,g,h);q&&(a._h3=q)},_1z:function(){if(!this.$data.isBundleEnabled())return null;var a=this.graph._8h._94(this.$data);if(!a||!a.canBind(this.graph)||!a._gk)return null;var b=a.getYOffset(this);return a.isPositiveOrder(this.$data)||(b=-b),b},checkBundleLabel:function(){var a=this.getBundleLabel();return a?(this.bundleLabel||this.createBundleLabel(),this.bundleLabel._id=!0,void(this.bundleLabel.data=a)):void(this.bundleLabel&&(this.bundleLabel._id=!1,this.bundleLabel.data=null))},createBundleLabel:function(){var a=new Ph;a.editable=!1,this.bundleLabel=a,this.addChild(this.bundleLabel),Kh.initBindingProperties(this)},getBundleLabel:function(){return this.graph.getBundleLabel(this.data)},doValidate:function(){return this._1n&&(this._1n=!1,this.validatePoints()),this.checkBundleLabel(),y(this,ad,"doValidate")},_4v:function(){this._1n=!0,this.invalidateSize()},_$x:function(a,b,c){var d=this._mzf.onBindingPropertyChange(this,a,b,c);return d=Dh.onBindingPropertyChange(this,a,b,c)||d,this.bundleLabel&&this.bundleLabel.$data&&(d=Kh.onBindingPropertyChange(this,a,b,c)||d),Jh.onBindingPropertyChange(this,a,b,c)||d}},w(ad,Nh),ad.drawReferenceLine=function(a,b,c,d){if(a.moveTo(b.x,b.y),!d||d==gg.EDGE_TYPE_DEFAULT)return void a.lineTo(c.x,c.y);if(d==gg.EDGE_TYPE_VERTICAL_HORIZONTAL)a.lineTo(b.x,c.y);else if(d==gg.EDGE_TYPE_HORIZONTAL_VERTICAL)a.lineTo(c.x,b.y);else if(0==d.indexOf(gg.EDGE_TYPE_ORTHOGONAL)){var e;e=d==gg.EDGE_TYPE_ORTHOGONAL_HORIZONTAL||d!=gg.EDGE_TYPE_ORTHOGONAL_VERTICAL&&Math.abs(b.x-c.x)>Math.abs(b.y-c.y);var f=(b.x+c.x)/2,g=(b.y+c.y)/2;e?(a.lineTo(f,b.y),a.lineTo(f,c.y)):(a.lineTo(b.x,g),a.lineTo(c.x,g))}else if(0==d.indexOf(gg.EDGE_TYPE_ELBOW)){var e,h=Rh[Ch.EDGE_EXTEND]||0;e=d==gg.EDGE_TYPE_ELBOW_HORIZONTAL||d!=gg.EDGE_TYPE_ELBOW_VERTICAL&&Math.abs(b.x-c.x)>Math.abs(b.y-c.y),e?(a.lineTo(b.x+h,b.y),a.lineTo(c.x-h,c.y)):(a.lineTo(b.x,b.y+h),a.lineTo(c.x,c.y-h))}else if(0==d.indexOf("extend.")){var h=Rh[Ch.EDGE_EXTEND]||0;if(d==gg.EDGE_TYPE_EXTEND_TOP){var i=Math.min(b.y,c.y)-h;a.lineTo(b.x,i),a.lineTo(c.x,i)}else if(d==gg.EDGE_TYPE_EXTEND_BOTTOM){var i=Math.max(b.y,c.y)+h;a.lineTo(b.x,i),a.lineTo(c.x,i)}else if(d==gg.EDGE_TYPE_EXTEND_LEFT){var j=Math.min(b.x,c.x)-h;a.lineTo(j,b.y),a.lineTo(j,c.y)}else if(d==gg.EDGE_TYPE_EXTEND_RIGHT){var j=Math.max(b.x,c.x)+h;a.lineTo(j,b.y),a.lineTo(j,c.y)}}else if(d==gg.EDGE_TYPE_ZIGZAG){var f=(b.x+c.x)/2,g=(b.y+c.y)/2,k=b.x-c.x,l=b.y-c.y,m=Math.sqrt(k*k+l*l),n=Math.atan2(l,k);
+n+=Math.PI/6,m*=.04,m>30&&(m=30);var o=Math.cos(n)*m,p=Math.sin(n)*m;a.lineTo(f-p,g+o),a.lineTo(f+p,g-o)}a.lineTo(c.x,c.y)},Z(ad.prototype,{length:{get:function(){return this.path?this.path.length:0}}}),ad.prototype.addPoint=function(a,b,c){var d=vb(this.path,a,b,c);if(d&&d.length>2){var e=this.data,f=d[d.length-1];e.pathSegments=f.type==Kg?d.splice(1,d.length-2):d.splice(1,d.length-1)}},bd.prototype={_2l:null,image:null,initialize:function(){y(this,bd,"initialize"),this._mxe(),Hh.initBindingProperties(this)},_mzd:function(){this.data.image?this.image&&(this.body=this.image):this.label&&(this.body=this.label)},_mxe:function(){this.image=new Oh,this.addChild(this.image,0),this._mzd()},doValidate:function(){this.body&&(this instanceof Rd&&!this.$data.groupImage&&this._59()?this.body.$layoutByAnchorPoint=!1:(this.body.$layoutByAnchorPoint=null!=this._2l,this.body.anchorPosition=this._2l));var a=this.$data.$location,b=0,c=0;a&&(b=a.x,c=a.y);var d=this.$x!=b||this.$y!=c;return d&&(this.$invalidateBounds=!0),this.$x=b,this.$y=c,Nh.prototype.doValidate.call(this)||d},_$x:function(a,b,c){var d=this._mzf.onBindingPropertyChange(this,a,b,c);return d=Dh.onBindingPropertyChange(this,a,b,c)||d,Hh.onBindingPropertyChange(this,a,b,c)||d}},w(bd,Nh);var Rh={};Rh[Ch.SELECTION_COLOR]=Re.SELECTION_COLOR,Rh[Ch.SELECTION_BORDER]=Re.SELECTION_BORDER,Rh[Ch.SELECTION_SHADOW_BLUR]=Re.SELECTION_SHADOW_BLUR,Rh[Ch.SELECTION_TYPE]=gg.SELECTION_TYPE_SHADOW,Rh[Ch.SELECTION_SHADOW_OFFSET_X]=2,Rh[Ch.SELECTION_SHADOW_OFFSET_Y]=2,Rh[Ch.LABEL_COLOR]=Re.LABEL_COLOR,Rh[Ch.LABEL_POSITION]=_e.CENTER_BOTTOM,Rh[Ch.LABEL_ANCHOR_POSITION]=_e.CENTER_TOP,Rh[Ch.LABEL_PADDING]=new $e(0,2),Rh[Ch.LABEL_POINTER_WIDTH]=8,Rh[Ch.LABEL_RADIUS]=8,Rh[Ch.LABEL_POINTER]=!0,Rh[Ch.LABEL_BORDER]=0,Rh[Ch.LABEL_BORDER_STYLE]="#000",Rh[Ch.LABEL_ROTATABLE]=!0,Rh[Ch.LABEL_BACKGROUND_COLOR]=null,Rh[Ch.LABEL_BACKGROUND_GRADIENT]=null,Rh[Ch.EDGE_COLOR]="#555555",Rh[Ch.EDGE_WIDTH]=1.5,Rh[Ch.EDGE_FROM_AT_EDGE]=!0,Rh[Ch.EDGE_TO_AT_EDGE]=!0,Rh[Ch.GROUP_BACKGROUND_COLOR]=X(3438210798),Rh[Ch.GROUP_STROKE]=1,Rh[Ch.GROUP_STROKE_STYLE]="#000",Rh[Ch.ARROW_TO]=!0,Rh[Ch.ARROW_FROM_SIZE]=Re.ARROW_SIZE,Rh[Ch.ARROW_TO_SIZE]=Re.ARROW_SIZE,Rh[Ch.EDGE_LOOPED_EXTAND]=10,Rh[Ch.EDGE_CORNER_RADIUS]=8,Rh[Ch.EDGE_CORNER]=gg.EDGE_CORNER_ROUND,Rh[Ch.EDGE_SPLIT_BY_PERCENT]=!0,Rh[Ch.EDGE_EXTEND]=20,Rh[Ch.EDGE_SPLIT_PERCENT]=.5,Rh[Ch.EDGE_SPLIT_VALUE]=20,Rh[Ch.EDGE_BUNDLE_GAP]=20,Rh[Ch.EDGE_BUNDLE_LABEL_ANCHOR_POSITION]=_e.CENTER_BOTTOM,Rh[Ch.EDGE_BUNDLE_LABEL_POSITION]=_e.CENTER_TOP,Rh[Ch.EDGE_BUNDLE_LABEL_COLOR]="#075bc5",Rh[Ch.SHAPE_STROKE]=1,Rh[Ch.SHAPE_STROKE_STYLE]="#2898E0",Rh[Ch.RENDER_COLOR_BLEND_MODE]=Re.BLEND_MODE,Rh[Ch.ALPHA]=1,Re.LOOKING_EDGE_ENDPOINT_TOLERANCE=2;var Sh=function(b,c){this._$u=new qf,this._$u.on(function(a){"currentSubNetwork"==a.kind&&this.invalidateVisibility()},this),this._1k=new qf,this._1k.addListener(function(a){!this.currentSubNetwork||a.kind!=tf.KIND_CLEAR&&a.kind!=tf.KIND_REMOVE||this.graphModel.contains(this.currentSubNetwork)||(this.currentSubNetwork=null)},this),this._$a=new qf,this._15=new qf,this._$m=new qf,this._$o=new qf,this.graphModel=c||new Uc,this._8h=new mh(this,b),this._2x=new te(this),this._1b=new qf,this._onresize=Cf(a,"resize",function(){this.updateViewport()},!1,this),this._8h._mxp.ondrop=function(a){this.ondrop(a)}.bind(this),this._8h._mxp.ondragover=function(a){this.ondragover(a)}.bind(this)};Sh.prototype={originAtCenter:!0,editable:!1,ondragover:function(a){fg.stopEvent(a)},getDropInfo:function(a,b){var c=null;if(b)try{c=JSON.parse(b)}catch(d){}return c},ondrop:function(a){var b=a.dataTransfer;if(b){var c=b.getData("text"),d=this.getDropInfo(a,c);d||(d={},d.image=b.getData("image"),d.type=b.getData("type"),d.label=b.getData("label"),d.groupImage=b.getData("groupImage"));var e=this.globalToLocal(a);if(e=this.toLogical(e.x,e.y),!(this.dropAction instanceof Function&&this.dropAction.call(this,a,e,d)===!1)&&(d.image||d.label||d.type)){var f=d.image,g=d.type,h=d.label,i=d.groupImage;fg.stopEvent(a);var j;if(g&&"Node"!=g?"Text"==g?j=this.createText(h,e.x,e.y):"ShapeNode"==g?j=this.createShapeNode(h,e.x,e.y):"Group"==g?(j=this.createGroup(h,e.x,e.y),i&&(i=Pd(i),i&&(j.groupImage=i))):(g=$(g),g instanceof Function&&g.prototype instanceof wh&&(j=new g,j.name=h,j.location=new Ve(e.x,e.y),this._l0Model.add(j))):j=this.createNode(h,e.x,e.y),j){if(f&&(f=Pd(f),f&&(j.image=f)),a.shiftKey){var k=this.getElementByMouseEvent(a);k&&this._mxx(k)&&(j.parent=k)}if(d.properties)for(var l in d.properties)j[l]=d.properties[l];if(d.clientProperties)for(var l in d.clientProperties)j.set(l,d.clientProperties[l]);if(d.styles&&j.putStyles(d.styles),this.onElementCreated(j,a,d)===!1)return!1;var m=new se(this,se.ELEMENT_CREATED,a,j);return this.onInteractionEvent(m),j}}}},_mxx:function(a){return a.enableSubNetwork||a instanceof zh||a.droppable},enableDoubleClickToOverview:!0,_8h:null,_$u:null,_1k:null,_$a:null,_$o:null,_15:null,_$m:null,_1w:function(a){return this._$u.beforeEvent(a)},_4s:function(a){this._$u.onEvent(a),"viewport"==a.kind&&this.checkLimitedBounds()},isVisible:function(a){return this._8h._f1(a)},isMovable:function(a){return(a instanceof wh||a instanceof vh&&a.hasPathSegments())&&a.movable!==!1},isSelectable:function(a){return a.selectable!==!1},isEditable:function(a){return a.editable!==!1},isRotatable:function(a){return a.rotatable!==!1},isResizable:function(a){return a.resizable!==!1},canLinkFrom:function(a){return a.linkable!==!1&&a.canLinkFrom!==!1},canLinkTo:function(a){return a.linkable!==!1&&a.canLinkTo!==!1},createNode:function(a,b,c){var d=new wh(a,b,c);return this._l0Model.add(d),d},createText:function(a,b,c){var d=new Wc(a,b,c);return this._l0Model.add(d),d},createShapeNode:function(a,b,c,d){K(b)&&(d=c,c=b,b=null);var e=new xh(a,b);return e.$location=new Ve(c,d),this._l0Model.add(e),e},createGroup:function(a,b,c){var d=new zh(a,b,c);return this._l0Model.add(d),d},createEdge:function(a,b,c){if(a instanceof wh){var d=c;c=b,b=a,a=d}var e=new vh(b,c);return a&&(e.$name=a),this._l0Model.add(e),e},addElement:function(a,b){this._l0Model.add(a),b&&a.hasChildren()&&a.forEachChild(function(a){this.addElement(a,b)},this)},removeElement:function(a){this._l0Model.remove(a)},clear:function(){this._l0Model.clear()},getStyle:function(a,b){var d=a._jk[b];return d!==c?d:this.getDefaultStyle(b)},getDefaultStyle:function(a){if(this._jk){var b=this._jk[a];if(b!==c)return b}return Rh[a]},_2k:function(a,b){if(!this.limitedBounds||this.limitedBounds.contains(this.viewportBounds))return b&&b(),!1;a=this._24(),this.stopAnimation();var c,d,e,f=this.viewportBounds,g=this.limitedBounds,h=f.width/this.limitedBounds.width,i=f.height/this.limitedBounds.height;if(1>=h&&1>=i)return c=g.left>f.left?g.left:g.right<f.right?f.left-(f.right-g.right):f.left,d=g.top>f.top?g.top:g.bottom<f.bottom?f.top-(f.bottom-g.bottom):f.top,void this.translateTo(-c*this.scale,-d*this.scale,this.scale,!1,b);var j=h>i;e=Math.max(h,i),j?(c=g.x,d=g.y+(f.top-g.top)*(1-e)/e,d>g.y?d=g.y:d<g.bottom-f.height/e&&(d=g.bottom-f.height/e)):(d=g.y,c=g.x+(f.left-g.left)*(1-e)/e,c>g.x?c=g.x:c<g.right-f.width/e&&(c=g.right-f.width/e)),e*=this.scale,c*=e,d*=e,this.translateTo(-c,-d,e,a,b)},checkLimitedBounds:function(a){return!(this._mzheckingBounds||!this.limitedBounds||this.limitedBounds.contains(this.viewportBounds))&&(this._mzheckingBounds=!0,void this.callLater(function(){this._2k(a,function(){this._mzheckingBounds=!1}.bind(this))},this))},zoomByMouseEvent:function(a,b,c,d){var e=this.globalToLocal(a);return K(b)?this.zoomAt(Math.pow(this.scaleStep,b),e.x,e.y,c,d):b?this.zoomIn(e.x,e.y,c,d):this.zoomOut(e.x,e.y,c,d)},resetScale:1,translate:function(a,b,c){return this.translateTo(this.tx+a,this.ty+b,this.scale,c)},translateTo:function(a,b,c,d,e){if(c&&(c=Math.min(this.maxScale,Math.max(this.minScale,c))),d){var f=this._55();return void f._lg(a,b,c,d,e)}var g=this._8h._mww(a,b,c);return e&&e(),g},centerTo:function(a,b,d,e,f){return(!d||0>=d)&&(d=this.scale),e===c&&(e=this._24()),this.translateTo(this.width/2-a*d,this.height/2-b*d,d,e,f)},moveToCenter:function(a,b){if(arguments[2]===!1||!this._8h.isInvalidate()){var c=this.bounds;return void this.centerTo(c.cx,c.cy,a,b)}return this._8h._mwl||(b=!1),this.callLater(this.moveToCenter.bind(this,a,b,!1))},zoomToOverview:function(a,b){if(arguments[2]===!1||!this._8h.isInvalidate()){var c=this._8h._1p();return void(c&&(b&&(c.scale=Math.min(c.scale,b)),this.centerTo(c.cx,c.cy,c.scale,a)))}return this._8h._mwl||(a=!1),this.callLater(this.zoomToOverview.bind(this,a,b,!1))},_24:function(){return!!this._8h._mwl&&(this.zoomAnimation===c||null===this.zoomAnimation?Re.ZOOM_ANIMATE:this.zoomAnimation)},zoomAt:function(a,b,d,e,f){e===c&&(e=this._24()),b===c&&(b=this.width/2),b=b||0,d===c&&(d=this.height/2),d=d||0;var g=this.scale;return a=Math.min(this.maxScale,Math.max(this.minScale,g*a)),b=a*(this.tx-b)/g+b,d=a*(this.ty-d)/g+d,this.translateTo(b,d,a,e,f)},zoomOut:function(a,b,c,d){return this.zoomAt(1/this.scaleStep,a,b,c,d)},zoomIn:function(a,b,c,d){return this.zoomAt(this.scaleStep,a,b,c,d)},_55:function(){return this._panAnimation||(this._panAnimation=new Yh(this)),this._panAnimation},onAnimationStart:function(){},onAnimationEnd:function(){},isAnimating:function(){return this._panAnimation&&this._panAnimation._et()},enableInertia:!0,_mwi:function(a,b){var c=this._55();return c._gd(a||0,b||0)},stopAnimation:function(){this._panAnimation&&this._panAnimation._m0()},getUI:function(a){return _(a)?this._8h._3g(a):this._8h._lp(a)},getUIByMouseEvent:function(a){return this._8h._3g(a)},hitTest:function(a){return this._8h.hitTest(a)},globalToLocal:function(a){return this._8h._8s(a)},toCanvas:function(a,b){return this._8h._hs(a,b)},toLogical:function(a,b){return _(a)?this._8h._$g(a):this._8h._e8(a,b)},getElementByMouseEvent:function(a){var b=this._8h._3g(a);return b?b.$data:void 0},getElement:function(a){if(_(a)){var b=this._8h._3g(a);return b?b.$data:null}return this._l0Model.getById(a)},invalidate:function(){this._8h._mzc()},invalidateUI:function(a){a.invalidate(),this.invalidate()},invalidateElement:function(a){this._8h._3s(a)},getUIBounds:function(a){return this._8h._2f(a)},forEachVisibleUI:function(a,b){return this._8h._4c(a,b)},forEachReverseVisibleUI:function(a,b){return this._8h._$z(a,b)},forEachUI:function(a,b){return this._8h._fj(a,b)},forEachReverseUI:function(a,b){return this._8h._4a(a,b)},forEach:function(a,b){return this._l0Model.forEach(a,b)},getElementByName:function(a){var b;return this._l0Model.forEach(function(c){return c.name==a?(b=c,!1):void 0}),b},focus:function(b){if(b){var c=a.scrollX||a.pageXOffset,d=a.scrollY||a.pageYOffset;return this.canvasPanel.focus(),void a.scrollTo(c,d)}this.canvasPanel.focus()},callLater:function(a,b,c){this._8h._fg(a,b,c)},exportImage:function(a,b){return Zd(this,a,b)},setSelection:function(a){return this._l0Model._selectionModel.set(a)},select:function(a){return this._l0Model._selectionModel.select(a)},unselect:function(a){return this._l0Model._selectionModel.unselect(a)},reverseSelect:function(a){return this._l0Model._selectionModel.reverseSelect(a)},selectAll:function(){Yd(this)},unSelectAll:function(){this.selectionModel.clear()},unselectAll:function(){this.unSelectAll()},isSelected:function(a){return this._l0Model._selectionModel.contains(a)},sendToTop:function(a){nc(this._l0Model,a)},sendToBottom:function(a){oc(this._l0Model,a)},moveElements:function(a,b,c){var d=[],e=new Se;return o(a,function(a){a instanceof wh?d.push(a):a instanceof vh&&e.add(a)}),this._ec(d,b,c,e)},_ec:function(a,b,c,d){if(0==b&&0==c||0==a.length&&0==d.length)return!1;if(0!=a.length){var e=this._4q(a);d=this._4t(e,d),o(e,function(a){var d=a.$location;d?a.setLocation(d.x+b,d.y+c):a.setLocation(b,c)})}return d&&d.length&&this._ee(d,b,c),!0},_ee:function(a,b,c){a.forEach(function(a){a.move(b,c)})},_4t:function(a,b){return this.graphModel.forEach(function(c){c instanceof vh&&this.isMovable(c)&&a.contains(c.fromAgent)&&a.contains(c.toAgent)&&b.add(c)},this),b},_4q:function(a){var b=new Se;return o(a,function(a){!this.isMovable(a),b.add(a),lc(a,b,this._movableFilter)},this),b},reverseExpanded:function(a){if(!a.isBundleEnabled())return!1;var b=a.getEdgeBundle(!0);return!!b&&(b.reverseExpanded()!==!1?(this.invalidate(),!0):void 0)},_2x:null,_1b:null,beforeInteractionEvent:function(a){return this._1b.beforeEvent(a)},onInteractionEvent:function(a){this._1b.onEvent(a)},addCustomInteraction:function(a){this._2x.addCustomInteraction(a)},removeCustomInteraction:function(a){this._2x.removeCustomInteraction(a)},enableWheelZoom:!0,enableTooltip:!0,getTooltip:function(a){return a.tooltip||a.name},updateViewport:function(){this._8h._7n()},destroy:function(){this._4s(new kf(this,"destroy",(!0),this._ibed)),this._ibed=!0,Df(a,"resize",this._onresize),this._2x.destroy(),this.graphModel=new Uc;var b=this.html;this._8h._ib(),b&&(b.innerHTML="")},onPropertyChange:function(a,b,c){this._$u.addListener(function(d){d.kind==a&&b.call(c,d)})},removeSelection:function(){var a=this.selectionModel._k7;return!(!a||0==a.length)&&(a=a.slice(),this._l0Model.remove(a),a)},removeSelectionByInteraction:function(a){var b=this.selectionModel.datas;return!(!b||0==b.length)&&void fg.confirm("Delete Elements - "+b.length,function(){var b=this.removeSelection();if(b){var c=new se(this,se.ELEMENT_REMOVED,a,b);this.onInteractionEvent(c)}},this)},createShapeByInteraction:function(a,b,c,d){var e=new Rg(b);b.length>2&&e.closePath();var f=this.createShapeNode("Shape",e,c,d);this.onElementCreated(f,a);var g=new se(this,se.ELEMENT_CREATED,a,f);return this.onInteractionEvent(g),f},createLineByInteraction:function(a,b,c,d){var e=new Rg(b),f=this.createShapeNode("Line",e,c,d);f.setStyle(fg.Styles.SHAPE_FILL_COLOR,null),f.setStyle(fg.Styles.SHAPE_FILL_GRADIENT,null),f.setStyle(fg.Styles.LAYOUT_BY_PATH,!0),this.onElementCreated(f,a);var g=new se(this,se.ELEMENT_CREATED,a,f);return this.onInteractionEvent(g),f},createEdgeByInteraction:function(a,b,c,d){var e=this.createEdge("Edge",a,b);if(d)e._mw5=d;else{var f=this.edgeUIClass,g=this.edgeType;this.interactionProperties&&(f=this.interactionProperties.uiClass||f,g=this.interactionProperties.edgeType||g),f&&(e.uiClass=f),g&&(e.edgeType=g)}this.onElementCreated(e,c);var h=new se(this,se.ELEMENT_CREATED,c,e);return this.onInteractionEvent(h),e},onElementCreated:function(a){!a.parent&&this.currentSubNetwork&&(a.parent=this.currentSubNetwork)},allowEmptyLabel:!1,startLabelEdit:function(a,b,c,d){var e=this;c.startEdit(d.x,d.y,b.data,this.getStyle(a,Ch.LABEL_FONT_SIZE),function(c){return e.onLabelEdit(a,b,c,b.parent)})},onLabelEdit:function(a,b,c,d){return c||this.allowEmptyLabel?void("label"==b.name?a.name=c:d._gt(b,c)===!1&&(b.data=c,this.invalidateElement(a))):(fg.alert("Label Can't Empty"),!1)},setInteractionMode:function(a,b){this.interactionMode=a,this.interactionProperties=b},upSubNetwork:function(){return!!this._3n&&(this.currentSubNetwork=Qd(this._3n))},_$s:!1,invalidateVisibility:function(){this._$s=!0,this.invalidate()},getBundleLabel:function(a){var b=a.getEdgeBundle(!0);return b&&b.agentEdge==a?"+"+b.bindableEdges.length:null},zoomAnimation:null,pauseRendering:function(a,b){(this.delayedRendering||b)&&this._8h._79(a)},_4f:c,enableRectangleSelectionByRightButton:!0},Z(Sh.prototype,{center:{get:function(){return this.toLogical(this.html.clientWidth/2,this.html.clientHeight/2)}},visibleFilter:{get:function(){return this._idFilter},set:function(a){this._idFilter=a,this.invalidateVisibility()}},topCanvas:{get:function(){return this._8h._topCanvas}},propertyChangeDispatcher:{get:function(){return this._$u}},listChangeDispatcher:{get:function(){return this._1k}},dataPropertyChangeDispatcher:{get:function(){return this._$a}},selectionChangeDispatcher:{get:function(){return this._$o}},parentChangeDispatcher:{get:function(){return this._15}},childIndexChangeDispatcher:{get:function(){return this._$m}},interactionDispatcher:{get:function(){return this._1b}},cursor:{set:function(a){this.canvasPanel.style.cursor=a||this._2x.defaultCursor},get:function(){return this.canvasPanel.style.cursor}},interactionMode:{get:function(){return this._2x._mzurrentMode},set:function(a){var b=this.interactionMode;b!=a&&(this._2x.currentMode=a,this._4s(new kf(this,"interactionMode",a,b)))}},scaleStep:{get:function(){return this._8h._e0},set:function(a){this._8h._e0=a}},maxScale:{get:function(){return this._8h._hm},set:function(a){this._8h._hm=a}},minScale:{get:function(){return this._8h._hk},set:function(a){this._8h._hk=a}},scale:{get:function(){return this._8h._scale},set:function(a){return this._8h._scale=a}},tx:{get:function(){return this._8h._tx}},ty:{get:function(){return this._8h._ty}},styles:{get:function(){return this._jk},set:function(a){this._jk=a}},selectionModel:{get:function(){return this._l0Model._selectionModel}},graphModel:{get:function(){return this._l0Model},set:function(a){if(this._l0Model==a)return!1;var b=this._l0Model,c=new kf(this,"graphModel",b,a);return this._1w(c)!==!1&&(null!=b&&(b.propertyChangeDispatcher.removeListener(this._$u,this),b.listChangeDispatcher.removeListener(this._1k,this),b.dataChangeDispatcher.removeListener(this._$a,this),b.parentChangeDispatcher.removeListener(this._15,this),b.childIndexChangeDispatcher.removeListener(this._$m,this),b.selectionChangeDispatcher.removeListener(this._$o,this)),this._l0Model=a,this._l0Model&&(this._l0Model.propertyChangeDispatcher.addListener(this._$u,this),this._l0Model.listChangeDispatcher.addListener(this._1k,this),this._l0Model.dataChangeDispatcher.addListener(this._$a,this),this._l0Model.parentChangeDispatcher.addListener(this._15,this),this._l0Model.childIndexChangeDispatcher.addListener(this._$m,this),this._l0Model.selectionChangeDispatcher.addListener(this._$o,this)),this._8h&&this._8h._ln(),void this._4s(c))}},count:{get:function(){return this._l0Model.length}},width:{get:function(){return this.html.clientWidth}},height:{get:function(){return this.html.clientHeight}},viewportBounds:{get:function(){return this._8h._viewportBounds}},bounds:{get:function(){return this._8h._4k()}},canvasPanel:{get:function(){return this._8h._mxp}},html:{get:function(){return this._8h._mxp.parentNode}},navigationType:{get:function(){return this._8h._7f},set:function(a){this._8h._3v(a)}},_3n:{get:function(){return this._l0Model._3n}},currentSubNetwork:{get:function(){return this._l0Model.currentSubNetwork},set:function(a){this._l0Model.currentSubNetwork=a}},limitedBounds:{get:function(){return this._limitedBounds},set:function(a){return!Ze.equals(a,this._limitedBounds)&&(a?void(this._limitedBounds=new Ze(a)):void(this._limitedBounds=null))}},ratio:{get:function(){return this._8h.ratio}},delayedRendering:{get:function(){return this._4f===c?Re.DELAYED_RENDERING:this._4f},set:function(a){a!=this.delayedRendering&&(this._4f=a,this.pauseRendering(!1,!0))}},fullRefresh:{get:function(){return this._8h.fullRefresh},set:function(a){this._8h.fullRefresh=a}}}),Re.DELAYED_RENDERING=!0,Re.GROUP_MIN_WIDTH=60,Re.GROUP_MIN_HEIGHT=60,Rd.prototype={initialize:function(){y(this,Rd,"initialize"),this.checkBody()},_mz5:function(){this._m8=new Rg,this.shape=new Oh(this._m8),this.shape.layoutByPath=!1,this.addChild(this.shape,0),this.body=this.shape},checkBody:function(){return this._59()?(this._21=!0,this.shape?(this.shape.visible=!0,this.body=this.shape):(this._mz5(),Ih.initBindingProperties(this)),void(this.image&&(this.image.visible=!1))):(this.image?(this.image.visible=!0,this.body=this.image):this._mxe(),void(this.shape&&(this.shape.visible=!1)))},_59:function(){return this.$data._io()&&this.$data.expanded},_m8:null,_21:!0,_53:function(){this._1i=!0,this._21=!0},doValidate:function(){if(this._21&&this._59()){if(this._21=!1,this.shape.invalidateData(),this.$data.groupImage){this.shape.data=this.$data.groupImage;var a=this._2b();return this.shape.offsetX=a.x+a.width/2,this.shape.offsetY=a.y+a.height/2,this.shape.size={width:a.width,height:a.height},bd.prototype.doValidate.call(this)}this.shape.offsetX=0,this.shape.offsetY=0;var b=this._8p(this.$data.groupType);this._m8.clear(),b instanceof Ze?yc(this._m8,b.x,b.y,b.width,b.height,b.rx,b.ry):b instanceof _a?zc(this._m8,b):b instanceof ab&&Ac(this._m8,b),this._m8._6n=!0,this.shape.invalidateData()}return bd.prototype.doValidate.call(this)},_6o:function(a,b,c,d,e){switch("number"!=typeof d&&(d=-b/2),"number"!=typeof e&&(e=-c/2),a){case gg.GROUP_TYPE_CIRCLE:var f=Math.max(b,c)/2;return new _a(d+b/2,e+c/2,f);case gg.GROUP_TYPE_ELLIPSE:return new ab(d+b/2,e+c/2,b,c);default:return new Ze(d,e,b,c)}},_2b:function(){return this._8p(null)},_8p:function(a){var b,d,e=this.data,f=e.padding,g=e.minSize,h=Re.GROUP_MIN_WIDTH,i=Re.GROUP_MIN_HEIGHT;if(g&&("number"==typeof g.width&&(h=g.width),"number"==typeof g.height&&(i=g.height),b=g.x,d=g.y),!e.hasChildren())return this._6o(a,h,i,b,d);var j,k=this.$data._fw._k7;(a==gg.GROUP_TYPE_CIRCLE||a==gg.GROUP_TYPE_ELLIPSE)&&(j=[]);for(var l,m,n,o,p=new Ze,q=0,r=k.length;r>q;q++){var s=k[q];if(this.graph.isVisible(s)){var t=this.graph.getUI(s);t&&(l=t.$x+t._gh.x,m=t.$y+t._gh.y,n=t._gh.width,o=t._gh.height,p.addRect(l,m,n,o),j&&(j.push({x:l,y:m}),j.push({x:l+n,y:m}),j.push({x:l+n,y:m+o}),j.push({x:l,y:m+o})))}}if(p.isEmpty())return this._6o(a,h,i,b,d);var u=this.$data.$location;u?u.invalidateFlag&&(u.invalidateFlag=!1,b===c&&(u.x=p.cx),d===c&&(u.y=p.cy)):u=this.$data.$location={x:p.cx,y:p.cy},f&&p.grow(f),"number"==typeof b&&b+u.x<p.x&&(p.width+=p.x-(b+u.x),p.x=b+u.x,j&&j.push({x:p.x,y:p.cy})),"number"==typeof d&&d+u.y<p.y&&(p.height+=p.y-(p.y,d+u.y),p.y=d+u.y,j&&j.push({x:p.cx,y:p.y}));var v,b=u.x,d=u.y;if(a==gg.GROUP_TYPE_CIRCLE){v=bb(j),v.cx-=b,v.cy-=d;var w=Math.max(h,i)/2;return v.r<w&&(v.cx+=w-v.r,v.cy+=w-v.r,v.r=w),v}return a==gg.GROUP_TYPE_ELLIPSE?(v=cb(j,p),v.cx-=b,v.cy-=d,v.width<h&&(v.cx+=(h-v.width)/2,v.width=h),v.height<i&&(v.cy+=(i-v.height)/2,v.height=i),v):(v=p,p.width<h&&(p.width=h),p.height<i&&(p.height=i),p.offset(-b,-d),v)},_$x:function(a,b,c){if(!this._59())return y(this,Rd,"_$x",arguments);var d=this._mzf.onBindingPropertyChange(this,a,b,c);return d=Dh.onBindingPropertyChange(this,a,b,c)||d,d=Hh.onBindingPropertyChange(this,a,b,c)||d,Ih.onBindingPropertyChange(this,a,b,c)||d}},w(Rd,bd),fg.GroupUI=Rd;var Th={draw:function(){}};Re.NAVIGATION_IMAGE_LEFT=null,Re.NAVIGATION_IMAGE_TOP=null;var Uh={position:"absolute","text-align":"center"},Vh={padding:"10px",transition:"opacity 0.2s ease-in"},Wh={position:"relative",display:"block"};ra(".Q-Graph-Nav img","opacity:0.7;vertical-align:middle;"),ra(".Q-Graph-Nav img:hover,img.hover","opacity:1;background-color: rgba(0, 0, 0, 0.5)"),Pe||(ra(".Q-Graph-Nav","opacity:0;"+Af("transition")+":opacity 3s cubic-bezier(0.8, 0, 0.8, 1)"),ra(".Q-Graph-Nav:hover","opacity:1;"+Af("transition")+":opacity 0.3s linear")),Ud.prototype={_dg:function(a,b){return a._id!=b&&(a._id=b,void(a.style.visibility=b?"visible":"hidden"))},_3f:function(a,b){var c=b/2-this._left._img.clientHeight/2+"px";this._left._img.style.top=c,this._right._img.style.top=c,this._navPane.style.width=a+"px",this._navPane.style.height=b+"px"},_9g:function(a,b,c,d){this._dg(this._top,a),this._dg(this._left,b),this._dg(this._mxottom,c),this._dg(this._right,d)},_ib:function(){var a=this._navPane.parentNode;a&&a.removeChild(this._navPane)},_jq:function(){var a=this._mxaseCanvas._l0;if(a){var b=a.bounds;if(b.isEmpty())return void this._9g(!1,!1,!1,!1);var c=a.viewportBounds,d=c.y>b.y+1,e=c.x>b.x+1,f=c.bottom<b.bottom-1,g=c.right<b.right-1;this._9g(d,e,f,g)}}};var Xh=10;ra(".Q-Graph-ScrollBar","margin: 2px; position: absolute;box-sizing: border-box;box-shadow: #FFF 0px 0px 1px; background-color: rgba(120,120,120,0.3);border-radius: 4px;margin: 1px;"),ra(".Q-Graph-ScrollBar.hover, .Q-Graph-ScrollBar:hover","background-color: #7E7E7E;"+Af("transition")+": background-color 0.2s linear;"),ra(".Q-Graph-ScrollBar--V","width: 8px;right: 0px;"),ra(".Q-Graph-ScrollBar--H","height: 8px;bottom: 0px;"),ra(".Q-Graph-ScrollBar--V.Both","margin-bottom: 8px;"),ra(".Q-Graph-ScrollBar--H.Both","margin-right: 8px;"),Pe||(ra(".Q-Graph-ScrollPane","opacity:0;"+Af("transition")+":opacity 3s cubic-bezier(0.8, 0, 0.8, 1);"),ra(".Q-Graph:hover .Q-Graph-ScrollPane","opacity:1;"+Af("transition")+":opacity 0.3s linear;")),Vd.prototype={_ib:function(){this._verticalDragSupport._ib(),this._horizontalDragSupport._ib(),delete this._verticalDragSupport,delete this._horizontalDragSupport,this._m1.parentNode&&this._m1.parentNode.removeChild(this._m1)},_m1:null,_mxa:null,_9a:null,init:function(a){var c=b.createElement("div");c.className="Q-Graph-ScrollPane",oa(c,{width:"100%",height:"100%",position:"relative"});var d=b.createElement("div");d.className="Q-Graph-ScrollBar Q-Graph-ScrollBar--V";var e=b.createElement("div");e.className="Q-Graph-ScrollBar Q-Graph-ScrollBar--H",c.appendChild(d),c.appendChild(e),a.appendChild(c),this._m1=c,this._9a=e,this._mxa=d,e.isH=!0;var f=this,g={onstart:function(a,b){b.classList.add("hover")},onrelease:function(a,b){b.classList.remove("hover")},ondrag:function(a,b){var c=f._mxaseCanvas._l0;if(c){var d=b.isH,e=d?a.dx:a.dy;if(e&&b.scale){var g=c.scale/b.scale;d?c.translate(-g*e,0):c.translate(0,-g*e),fg.stopEvent(a)}}},enddrag:function(a,b){var c=f._mxaseCanvas._l0;if(c&&c.enableInertia){var d=b.isH,e=d?a.vx:a.vy;if(Math.abs(e)>.1){var g=c.scale/b.scale;e*=g,d?c._mwi(-e,0):c._mwi(0,-e)}}}};this._verticalDragSupport=new ta(d,g),this._horizontalDragSupport=new ta(e,g)},_3f:function(){var a=this._mxaseCanvas._l0;a&&a.callLater(this._jq.bind(this))},_jq:function(){var a=this._mxaseCanvas._l0;if(a){var b=a.bounds;if(b.isEmpty())return this._4w(!1),void this._4y(!1);var c=a.viewportBounds,d=a.width,e=a.height,f=a.scale,g=1/f,h=c.x>b.x+g||c.right<b.right-g,i=c.y>b.y+g||c.bottom<b.bottom-g,j=h&&i;j?(I(this._mxa,"Both"),I(this._9a,"Both")):(J(this._mxa,"Both"),J(this._9a,"Both")),this._4w(h,c,b,j?d-Xh:d),this._4y(i,c,b,j?e-Xh:e)}},_4w:function(a,b,c,d){if(!a)return this._9a.style.display="none",void(this._9a.scale=0);var e=Math.min(b.x,c.x),f=Math.max(b.right,c.right),g=f-e,h=d/g;this._9a.scale=h,this._9a.style.left=parseInt((b.x-e)*h)+"px",this._9a.style.right=parseInt((f-b.right)*h)+"px",this._9a.style.display=""},_4y:function(a,b,c,d){if(!a)return this._mxa.style.display="none",void(this._mxa.scale=0);var e=Math.min(b.y,c.y),f=Math.max(b.bottom,c.bottom),g=f-e,h=d/g;this._mxa.scale=h,this._mxa.style.top=parseInt((b.y-e)*h)+"px",this._mxa.style.bottom=parseInt((f-b.bottom)*h)+"px",this._mxa.style.display=""}},Wd.prototype={shape:null,initialize:function(){y(this,Wd,"initialize"),this._mxe(),Lh.initBindingProperties(this)},_mxe:function(){this.image=new Qh(this.$data.path),this.addChild(this.image,0),this.body=this.image},invalidateShape:function(){this.image.invalidateData(),this.invalidateRender()},_$x:function(a,b,c){var d=this._mzf.onBindingPropertyChange(this,a,b,c);return d=Dh.onBindingPropertyChange(this,a,b,c)||d,Lh.onBindingPropertyChange(this,a,b,c)||d},doValidate:function(){this.body&&(this.image.data=this.data.path,this.body.$layoutByAnchorPoint=null!=this._2l,this.body.anchorPosition=this._2l);var a=this.$data.$location,b=0,c=0;a&&(b=a.x,c=a.y);var d=this.$x!=b||this.$y!=c;return d&&(this.$invalidateBounds=!0),this.$x=b,this.$y=c,Nh.prototype.doValidate.call(this)||d}},w(Wd,Nh),Z(Wd.prototype,{path:{get:function(){return this.data.path}},length:{get:function(){return this.data.length}}}),Wd.prototype.addPoint=function(a,b,c){var d=this._if(a,b),e=this.data,f=vb(e.path,d.x,d.y,c);f&&(e.pathSegments=f)},Xd.prototype={_md:function(){this._jh.style.visibility="visible"},_k9:function(){this._jh.style.visibility="hidden"},clear:function(){this._mwe.clear(),this._mzc()},contains:function(a){return a instanceof Object&&a.id&&(a=a.id),this._mwe.containsById(a)},_5f:function(a){sh.setStyle(this._jh,"transform",a?"matrix("+a.join(",")+")":"")},addDrawable:function(a,b){if(b){var c={id:++Ae,drawable:a,scope:b};return this._mwe.add(c),c}return a.id||(a.id=++Ae),this._mwe.add(a),a},removeDrawable:function(a){return a.id?void this._mwe.remove(a):this._mwe.removeById(a)},_mwe:null,invalidate:function(){this._mzc()},_mzc:function(){this._mxaseCanvas._6n||this._jr()},_j1:function(a,b){this._jh.setSize(a,b)},_jr:function(){var a=this._mxaseCanvas._scale,b=this.g;b._l8(),b.save(),this._mxaseCanvas._9j(b);for(var c=this._mwe._k7,d=0,e=c.length;e>d;d++)b.save(),b.beginPath(),this._gf(b,c[d],a),b.restore();b.restore()},_gf:function(a,b,c){return b instanceof Function?void b(a,c):void(b.drawable instanceof Function&&b.scope&&b.drawable.call(b.scope,a,c))}},Re.ZOOM_ANIMATE=!0;var Yh=function(a){this._l0=a};Re.ANIMATION_MAXTIME=600,Re.ANIMATION_TYPE=bg.easeOut,Yh.prototype={_l0:null,_mw:.001,_eq:null,_mz9:function(a){return a>1?1:-1>a?-1:a},_gd:function(a,b,c){this._m0(),a*=.6,b*=.6,a=this._mz9(a),b=this._mz9(b);var d=Math.sqrt(a*a+b*b);if(.01>d)return!1;var e=Math.min(Re.ANIMATION_MAXTIME,d/this._mw);this._speedX=a,this._speedY=b,this._mwX=a/e,this._mwY=b/e,this._6g(this._62,e,bg.easeOutStrong,c)},_6g:function(a,b,c,d,e){this._eq&&this._eq._m0(),e&&(this.__delayRender=!0,this._l0.pauseRendering(!0)),this._46(),this._eq=new dg(a,this,b,c),this._eq._6u=this._6u.bind(this),this._eq._la(d)},_46:function(){this._l0.onAnimationStart()},_6u:function(){this.__delayRender&&(this._l0.pauseRendering(!1),delete this.__delayRender),this._l0.onAnimationEnd()},_et:function(){return this._eq&&this._eq._et()},_62:function(a,b){if(0!=a){var c=this._speedX*b-.5*this._mwX*b*b,d=this._speedY*b-.5*this._mwY*b*b;this._speedX-=this._mwX*b,this._speedY-=this._mwY*b,this._l0.translate(c,d)}},_m0:function(){this._eq&&this._eq._m0()},_j6:function(a){var b=this._fromTX+(this._toTX-this._fromTX)*a,c=this._fromTY+(this._toTY-this._fromTY)*a,d=this._fromScale+(this._toScale-this._fromScale)*a;this._l0.translateTo(b,c,d,this.toInt)},_lg:function(a,b,c,d,e){this._m0();var f=this._l0,g=f.scale;if(0>=c&&(c=g),a!=f.tx||b!=f.ty||c!=g){var h,i,j;d instanceof Object&&(h=d.duration,i=d.maxTime,j=d.animationType);var k=f.tx,l=f.ty;if(!h)if(c!=g){var m=c>g?c/g:g/c;m=Math.log(m)/Math.log(1.3),h=60*m}else{var n=We(a,b,k,l);h=n/2}i=i||Re.ANIMATION_MAXTIME,j=j||Re.ANIMATION_TYPE,h=Math.min(i,h),this._fromTX=k,this._fromTY=l,this._fromScale=g,this._toTX=a,this._toTY=b,this._toScale=c,this._6g(this._j6,h,j,e,c!=g)}}},Re.INTERACTION_HANDLER_SIZE_TOUCH=8,Re.INTERACTION_HANDLER_SIZE_DESKTOP=4,Re.INTERACTION_ROTATE_HANDLER_SIZE_TOUCH=30,Re.INTERACTION_ROTATE_HANDLER_SIZE_DESKTOP=20;var Zh=Math.PI/4;$d.prototype={onElementRemoved:function(a,b){this.element&&(a==this.element||N(a)&&u(a,this.element))&&this.destroy(b)},onClear:function(a){this.element&&this.destroy(a)},destroy:function(){delete this.element,this.removeDrawable()},invalidate:function(){this.topCanvas.invalidate()},removeDrawable:function(){this._fzId&&(this.topCanvas.removeDrawable(this._fzId),delete this._fzId,this.invalidate())},addDrawable:function(){this._fzId||(this._fzId=this.topCanvas.addDrawable(this.doDraw,this).id,this.invalidate())},doDraw:function(){},escapable:!0,onkeydown:function(a,b){this.escapable&&27==a.keyCode&&(Q(a),this.destroy(b))}},fg.DrawableInteraction=$d,_d.prototype={defaultCursor:"default",getInteractionInstances:function(a){if(!this.interactions)return null;for(var b=[],c=0,d=this.interactions.length;d>c;c++){var e=this.interactions[c];e instanceof Function?b.push(new e(a)):e instanceof Object&&b.push(e)}return b}},ae.prototype={_f2:null,_ki:null,destroy:function(){y(this,ae,"destroy",arguments),delete this._ki,delete this._mw2,delete this._f2},doDraw:function(a){var b=this.points;b&&(b.forEach(function(b){this.drawPoint(a,b)},this),this.isClosePath&&a.closePath(),this.styleDraw(a))},styleDraw:function(a){var b=be(this.graph.interactionProperties,this.getDefaultDrawStyles(this.graph));b.lineWidth&&(a.lineWidth=b.lineWidth,b.lineCap&&(a.lineCap=b.lineCap),b.lineJoin&&(a.lineJoin=b.lineJoin),b.lineDash&&(a.lineDash=b.lineDash,a.lineDashOffset=b.lineDashOffset||0),
+a.strokeStyle=b.strokeStyle,a.stroke()),b.fillStyle&&(a.fillStyle=b.fillStyle,a.fill())},drawPoint:function(a,b,c){if(c)return void a.moveTo(b.x,b.y);if(fg.isArray(b)){var d=b[0],e=b[1];a.quadraticCurveTo(d.x,d.y,e.x,e.y)}else a.lineTo(b.x,b.y)},setCurrentPoint:function(a){this.currentPoint=a},addPoint:function(a){this._ki||(this._ki=[],this.addDrawable()),this._ki.push(a),this.invalidate()}},w(ae,$d),Z(ae.prototype,{currentPoint:{get:function(){return this._mw2},set:function(a){this._mw2=a,this.invalidate()}},prevPoint:{get:function(){return this._ki&&this._ki.length?this._ki[this._ki.length-1]:null}},points:{get:function(){return this._mw2&&this._ki&&this._ki.length?this._ki.concat(this._mw2):void 0}}}),fg.DrawPathInteraction=ae,ce.prototype={destroy:function(){y(this,ce,"destroy",arguments),delete this.start,this._lj&&(clearTimeout(this._lj),delete this._lj)},doDraw:function(a,b){return this._ki?this._ki.length<=1?fe.prototype.doDraw.call(this,a,b):void y(this,ce,"doDraw",arguments):void 0},ondblclick:function(a,b){this.destroy(b)},finish:function(a,b,c){var d;this._ki&&this._ki.length>=2&&(this._ki.shift(),d=new Se,o(this._ki,function(a){if(fg.isArray(a)){var b=a[0],c=a[1];d.add(new Pg(gg.SEGMENT_QUAD_TO,[b.x,b.y,c.x,c.y]))}else d.add(new Pg(gg.SEGMENT_LINE_TO,[a.x,a.y]))},this)),b.createEdgeByInteraction(this.start,c,a,d),this.destroy(b)},_mwk:function(a,b){return a instanceof wh&&b.canLinkFrom(a)},_fb:function(a,b){return a instanceof wh&&b.canLinkTo(a,this.start)},_mwd:function(a,b){var c=b.getUI(a);return c&&c.bodyBounds?c.bodyBounds.center:a.location},onstart:function(a,b){if(this.start){var c=a.getData();return this._fb(c,b)?void this.finish(a,b,c):void this.addPoint(this.toLogicalPoint(a))}},startdrag:function(a,b){if(!this.start&&!a.responded){var c=a.getData();c&&this._mwk(c,b)&&(a.responded=!0,this.start=c,this.addPoint(this._mwd(c,b)))}},_mzx:function(a){this._lj&&(clearTimeout(this._lj),delete this._lj),this._lj=setTimeout(function(a){if(delete this._lj,this.start&&this.currentPoint){var b=a.x-this.currentPoint.x,c=a.y-this.currentPoint.y;Math.sqrt(b*b+c*c)*this.graph.scale<=2&&this.addPoint(this.currentPoint)}}.bind(this,this.toLogicalPoint(a)),Re.LONG_PRESS_INTERVAL)},ondrag:function(a,b){this.onmousemove(a,b)},enddrag:function(a,b){if(this.start){var c=a.getData();this._fb(c,b)&&this.finish(a,b,c)}},onrelease:function(a,b){Jf(a)&&this.destroy(b)},onmousemove:function(a,b){this.start&&(this.currentPoint=this.toLogicalPoint(a),Jf(a)&&this._mzx(a,b))},toLogicalPoint:function(a){return this.graph.toLogical(a)},getDefaultDrawStyles:function(){return{lineWidth:this.graph.getDefaultStyle(Ch.EDGE_WIDTH),strokeStyle:this.graph.getDefaultStyle(Ch.EDGE_COLOR),lineDash:this.graph.getDefaultStyle(Ch.EDGE_LINE_DASH),lineDashOffset:this.graph.getDefaultStyle(Ch.EDGE_LINE_DASH_OFFSET),lineCap:this.graph.getDefaultStyle(Ch.LINE_CAP),lineJoin:this.graph.getDefaultStyle(Ch.LINE_JOIN)}}},w(ce,ae),fg.CreateEdgeInteraction=ce,de.prototype={getDefaultDrawStyles:function(){return{lineWidth:this.graph.getDefaultStyle(Ch.SHAPE_STROKE),strokeStyle:this.graph.getDefaultStyle(Ch.SHAPE_STROKE_STYLE),fillStyle:this.graph.getDefaultStyle(Ch.SHAPE_FILL_COLOR)}},finish:function(a,b){if(this._ki&&this._ki.length){var c=this._ki,d=0,e=0,f=0;c.forEach(function(a){return fg.isArray(a)?void a.forEach(function(){d+=a.x,e+=a.y,f++}):(d+=a.x,e+=a.y,void f++)}),d/=f,e/=f;var g=[];c.forEach(function(a,b){if(0==b)return void g.push(new Pg(gg.SEGMENT_MOVE_TO,[a.x-d,a.y-e]));if(fg.isArray(a)){var c=a[0],f=a[1];g.push(new Pg(gg.SEGMENT_QUAD_TO,[c.x-d,c.y-e,f.x-d,f.y-e]))}else g.push(new Pg(gg.SEGMENT_LINE_TO,[a.x-d,a.y-e]))}),this.createElement(a,g,d,e),this.destroy(b)}},startdrag:function(a){a.responded=!0},createElement:function(a,b,c,d){return this.graph.createShapeByInteraction(a,b,c,d)},onstart:function(a,b){var c=b.toLogical(a);this._f2=c,this.addPoint(c)},onmousemove:function(a,b){this._f2&&(this.currentPoint=b.toLogical(a))},ondblclick:function(a,b){if(this._f2){if(this._ki.length<3)return void this.destroy(b);delete this._ki[this._ki.length-1],this.finish(a,b)}},isClosePath:!0},w(de,ae),fg.CreateShapeInteraction=de,ee.prototype={isClosePath:!1,createElement:function(a,b,c,d){return this.graph.createLineByInteraction(a,b,c,d)},getDefaultDrawStyles:function(){return{lineWidth:Rh[Ch.SHAPE_STROKE],strokeStyle:Rh[Ch.SHAPE_STROKE_STYLE],lineDash:this.graph.getDefaultStyle(Ch.SHAPE_LINE_DASH),lineDashOffset:this.graph.getDefaultStyle(Ch.SHAPE_LINE_DASH_OFFSET),lineCap:this.graph.getDefaultStyle(Ch.LINE_CAP),lineJoin:this.graph.getDefaultStyle(Ch.LINE_JOIN)}}},w(ee,de),fg.CreateLineInteraction=ee,fe.prototype={destroy:function(a){y(this,fe,"destroy",arguments),a.cursor="",this.start=null},doDraw:function(a){if(this.start&&this.currentPoint){var b,c;this.graph.interactionProperties&&(b=this.graph.interactionProperties.uiClass,c=this.graph.interactionProperties.edgeType),b=b||this.graph.edgeUIClass||fg.EdgeUI,c=c||this.graph.edgeType;var d=b.drawReferenceLine||fg.EdgeUI.drawReferenceLine,e=this.graph.getUI(this.start);e&&e.bodyBounds&&(e=e.bodyBounds.center,d(a,e,this.currentPoint,c),this.styleDraw(a))}},canLinkFrom:function(a,b){return a instanceof wh&&b.canLinkFrom(a)},canLinkTo:function(a,b){return a instanceof wh&&b.canLinkTo(a,this.start)},startdrag:function(a,b){var c=a.getData();this.canLinkFrom(c,b)&&(a.responded=!0,this.start=c,b.cursor="crosshair",this.addDrawable())},ondrag:function(a,b){this.start&&(fg.stopEvent(a),this.currentPoint=b.toLogical(a),this.invalidate())},enddrag:function(a,b){if(this.start){this.invalidate();var c=a.getData();this.canLinkTo(c,b)&&b.createEdgeByInteraction(this.start,c,a),this.destroy(b)}},getDefaultDrawStyles:function(){return{lineWidth:this.graph.getDefaultStyle(Ch.EDGE_WIDTH),strokeStyle:this.graph.getDefaultStyle(Ch.EDGE_COLOR),lineDash:this.graph.getDefaultStyle(Ch.EDGE_LINE_DASH),lineDashOffset:this.graph.getDefaultStyle(Ch.EDGE_LINE_DASH_OFFSET),lineCap:this.graph.getDefaultStyle(Ch.LINE_CAP),lineJoin:this.graph.getDefaultStyle(Ch.LINE_JOIN)}}},w(fe,ae),fg.CreateSimpleEdgeInteraction=fe,Re.LABEL_EDITOR_SUBMIT_WHEN_LOST_FOCUS=!1,le.prototype={html:null,createHTML:function(){var a=b.createElement("textarea");a.className="Q-LabelEditor",a.style.position="absolute",a.style.textAlign="center",a.style.border="solid #08E 1px",a.style.padding="5px",a.style.boxShadow="0px 0px 10px rgba(40, 85, 184, 0.75)",a.style.display="none",a.style.overflow="hidden";var c=this;return a.oninput=function(a){c.onValueChange(a)},a.onkeydown=function(a){return 27==a.keyCode?void c.cancelEdit():void 0},a.onkeypress=function(b){if(13==b.keyCode||10==b.keyCode){if(b.preventDefault(),b.altKey||b.ctrlKey||b.shiftKey)return je(a,"\n"),void c.onValueChange(b);c.stopEdit()}},b.body.appendChild(a),a},setText:function(a,b){this.html.value=a||"",b&&(this.html.style.fontSize=b),ke(this.html),this.onSizeChange(this.html)},onSizeChange:function(a){var b=(a.offsetWidth,a.offsetHeight,ie(a));return a.style.width=b.width+30+"px",a.style.height=b.height+10+"px",b},onValueChange:function(a){var b=a.target;this.onSizeChange(b),b.style.left=b.x-b.offsetWidth/2+"px"},onClickOnWindow:function(a){a.target!=this.html&&(Re.LABEL_EDITOR_SUBMIT_WHEN_LOST_FOCUS?this.stopEdit():this.cancelEdit())},startEdit:function(b,c,d,e,f){this.html||(this.html=this.createHTML()),this.stopEditWhenClickOnWindow||(this.stopEditWhenClickOnWindow=function(a){this.onClickOnWindow(a)}.bind(this)),a.addEventListener("mousedown",this.stopEditWhenClickOnWindow,!0),this.callback=f,this.html.x=b,this.html.y=c,this.html.style.display="block",he(this.html,b,c),this.setText(d,e||10),he(this.html,b,c)},isEditing:function(){return"none"!=this.html.style.display},cancelEdit:function(){this.stopEdit(!0)},stopEdit:function(b){if(this.isEditing()){a.removeEventListener("mousedown",this.stopEditWhenClickOnWindow);var c=this.html.value;if(!b&&this.callback&&this.callback(c)===!1)return!1;this.html.style.display="none",this.html.value=null,this.callback=null}},destroy:function(){this.html&&b.body.removeChild(this.html)}},fg.LabelEditor=le;var $h=function(a){this.graph=a};$h.prototype={destroy:function(a){a.labelEditor&&(a.labelEditor.destroy(),delete a.labelEditor)},ondblclick:function(a,b){var c=a.getData();if(c){if(c.dblclickable!==!1){if(b.editable&&b.isEditable(c)){var d=b.hitTest(a);if(d instanceof Ph&&d.editable!==!1){var e=b.labelEditor;e||(b.labelEditor=e=new le);var f=d.getBounds();return f=b.toCanvas(f.x+f.width/2,f.y+f.height/2),f=ge(f.x,f.y,b.html),void b.startLabelEdit(c,d,e,f)}}var g=c instanceof zh,h=c instanceof vh&&c.hasEdgeBundle();return c._3z&&(ua(a)||!g&&!h)?void(b.currentSubNetwork=c):g?(c.expanded=!c.expanded,void this.graph.onInteractionEvent(new se(this.graph,se.GROUP_EXPANDED,a,c))):void(h&&this.graph.reverseExpanded(c)&&this.graph.onInteractionEvent(new se(this.graph,se.EDGE_BUNDLE,a,c)))}}else{if(b.currentSubNetwork)return void b.upSubNetwork();if(b.enableDoubleClickToOverview){var i=b.resetScale||1;Math.abs(b.scale-i)<1e-4?b.zoomToOverview():b.moveToCenter(i)}}}};var _h=function(a){this.graph=a};_h.prototype={onkeydown:function(a,b){if(b.editable){var c=a.keyCode;if(8==c||46==c||127==c)return b.removeSelectionByInteraction(a),void O(a);if(ua(a)){if(67==c);else if(86==c);else if(90==c);else if(89!=c)return;O(a)}}}},fg.EditInteraction=_h;var ai=function(a){this.graph=a};ai.prototype={onkeydown:function(b,c){if(b.metaKey&&83==b.keyCode){var d=c.exportImage(c.scale,c.viewportBounds),e=a.open(),f=e.document;f.title="export image - "+d.width+" x "+d.height;var g=f.createElement("img");g.src=d.data,f.body.appendChild(g),O(b)}}};var bi=function(a){this.graph=a};bi.prototype={destroy:function(){delete this.draggingElements,delete this.currentDraggingElement},_28:function(a){var b=new Se;return a.selectionModel.forEach(function(c){a.isMovable(c)&&a.isVisible(c)&&b.add(c)},this),b},onstart:function(a,b){this.currentDraggingElement&&this.destroy(b)},startdrag:function(a,b){if(!(a.responded||a.touches&&1!=a.touches.length)){var c=a.getData();if(!c||!b.isSelected(c)||!b.isMovable(c))return void this.destroy(b);a.responded=!0,this.currentDraggingElement=c,this.draggingElements=this._28(b);var d=new se(b,se.ELEMENT_MOVE_START,a,this.currentDraggingElement,this.draggingElements.datas);return b.beforeInteractionEvent(d)===!1?void this.destroy(b):void b.onInteractionEvent(d)}},ondrag:function(a,b){if(this.currentDraggingElement){if(a.touches&&1!=a.touches.length)return void this.enddrag(a,b);Q(a);var c=a.dx,d=a.dy,e=b.scale;c/=e,d/=e;var f=new se(b,se.ELEMENT_MOVING,a,this.currentDraggingElement,this.draggingElements.datas);b.moveElements(this.draggingElements.datas,c,d),b.onInteractionEvent(f)}},enddrag:function(a,b){if(this.currentDraggingElement){if(this.draggingElements&&this.draggingElements.length){if(a.shiftKey){var c,d=b.toLogical(a),e=d.x,f=d.y;b.forEachReverseVisibleUI(function(a){var b=a.data;if(!this.draggingElements.contains(b)&&a.uiBounds.intersectsPoint(e-a.x,f-a.y)&&a.hitTest(e,f,1)){if(b instanceof fg.Edge){if(!b.enableSubNetwork)return;for(var d=this.draggingElements.length;d-- >0;){var g=this.draggingElements.get(d);if(g instanceof fg.Node&&g.linkedWith(b))return}return c=b,!1}return(b.enableSubNetwork||b._io()&&b.expanded)&&(c=b),!1}},this),c&&this.draggingElements.forEach(function(a){for(var b=a.parent;b;){if(this.draggingElements.contains(b))return;b=b.parent}a.parent=c},this)}var g=new se(b,se.ELEMENT_MOVE_END,a,this.currentDraggingElement,this.draggingElements.datas);b.onInteractionEvent(g)}this.destroy(b)}},onpinch:function(a,b){this.currentDraggingElement&&this.enddrag(a,b)},step:1,onkeydown:function(a,b){if(ua(a)){var c,d;if(37==a.keyCode?c=-1:39==a.keyCode?c=1:38==a.keyCode?d=-1:40==a.keyCode&&(d=1),c||d){var e=this._28(b).datas;if(0!=e.length){O(a),c=c||0,d=d||0;var f=this.step/b.scale,g=new se(b,se.ELEMENT_MOVE_END,a,null,e);b.moveElements(e,c*f,d*f),b.onInteractionEvent(g)}}}}};var ci=function(a){this.graph=a};ci.prototype={onkeydown:function(a,b){ua(a)||(37==a.keyCode?(this._5j(b,1,0),O(a)):39==a.keyCode?(this._5j(b,-1,0),O(a)):38==a.keyCode?(this._5j(b,0,1),O(a)):40==a.keyCode&&(this._5j(b,0,-1),O(a)))},_5j:function(a,b,c){a._mwi(b,c)},onstart:function(a,b){this._la&&this.destroy(b)},_la:!1,startdrag:function(a,b){if(!a.responded){a.responded=!0,this._la=!0,b.cursor=Xf;var c=new se(b,se.PAN_START,a);b.onInteractionEvent(c)}},ondrag:function(a,b){this._la&&b.translate(a.dx||0,a.dy||0)},enddrag:function(a,b){if(this._la){if(b.enableInertia!==!1){var c=a.vx,d=a.vy;(Math.abs(c)>.1||Math.abs(d)>.1)&&b._mwi(c,d)}this.destroy(b);var e=new se(b,se.PAN_END,a);b.onInteractionEvent(e)}},startpinch:function(a,b){b.pauseRendering(!0)},onpinch:function(a,b){this._la=!0;var c=a.dScale;if(c){var d=b.globalToLocal(a.center);b.zoomAt(c,d.x,d.y,!1)}},endpinch:function(a,b){b.pauseRendering(!1)},destroy:function(a){this._la=!1,a.cursor=null}},me.prototype={_1h:function(a){this.element&&a.source==this.element&&this.graph.callLater(function(){this._jq()},this)},_8:function(){this._lrPropertyChangeListing||(this._lrPropertyChangeListing=!0,this.graph.dataPropertyChangeDispatcher.addListener(this._1h,this))},_6:function(){this._lrPropertyChangeListing=!1,this.graph.dataPropertyChangeDispatcher.removeListener(this._1h,this)},onElementRemoved:function(a,b){this.element&&(a==this.element||Array.isArray(a)&&u(a,this.element))&&this.destroy(b)},onClear:function(a){this.element&&this.destroy(a)},destroy:function(){this.graph.cursor=null,this.element&&delete this.element._editting,this._mousePressed=!1,delete this.element,delete this._mw5,delete this._mw2,delete this._mzanEdit,this._6i(),this._6()},_6i:function(){this.drawLineId&&(this.topCanvas.removeDrawable(this.drawLineId),delete this.drawLineId,this.topCanvas.invalidate())},_mwy:function(){this.drawLineId&&this.topCanvas.contains(this.drawLineId)||(this.drawLineId=this.topCanvas.addDrawable(this.drawLine,this).id,this.topCanvas.invalidate())},_mw5:null,_5w:function(a){this._mw5=a,this.invalidate()},_f5:function(a,b,c){a.beginPath(),b.isControlPoint?a.rect(b.x-this.handlerSize/c,b.y-this.handlerSize/c,this.handlerSize/c*2,this.handlerSize/c*2):a.arc(b.x,b.y,this.handlerSize/c,0,2*Math.PI,!1),a.lineWidth=1/c,a.lineDash=[],a.strokeStyle="#888",a.fillStyle="rgba(255, 255, 0, 0.8)",a.stroke(),a.fill()},_fz:function(a,b,c,d){d?a.moveTo(b,c):a.lineTo(b,c)},drawLine:function(a,b){if(this._mw5&&this._mw5.length){a.save();var c=this.element instanceof xh;c&&(a.translate(this.element.x,this.element.y),this.element.rotate&&a.rotate(this.element.rotate));var d,e=[];a.beginPath(),this._mw5.length,this._mw5.forEach(function(b){if(b.type!=gg.SEGMENT_CLOSE)for(var c=0,f=b.points;c+1<f.length;){var g=f[c],h=f[c+1],i={x:g,y:h,isControlPoint:this._6z(b,c)};e.push(i),this._fz(a,i.x,i.y,null==d),d=i,c+=2}},this),a.lineWidth=1/b,a.lineDash=[2/b,3/b],a.strokeStyle="#555",a.stroke(),e.forEach(function(c){this._f5(a,c,b)},this),a.restore()}},invalidate:function(){this.topCanvas.invalidate()},_3a:function(a){if(this.element!=a&&(this.element&&this.destroy(),a&&this.isEditable(a))){var b=this._5h(a,this.graph);b&&(this.element=a,a._editting=!0,this._mzanEdit=!0,this._5w(b),this._8(),this._mwy())}},_jq:function(){if(this.drawLineId&&this.element){var a=this._5h(this.element,this.graph);return a?void this._5w(a):void this.destroy(this.graph)}},_5h:function(a,b){if(b.isEditable(a)){var c=a.pathSegments||[];c instanceof Se&&(c=c.toDatas());var d=b.getUI(a);if(d instanceof fg.EdgeUI){var e=a.fromAgent,f=a.toAgent,g=b.getUI(e),h=b.getUI(f),i=g.bodyBounds.clone(),j=h.bodyBounds.clone(),k=i.center,l=j.center,m=d.getStyle(fg.Styles.EDGE_FROM_OFFSET),n=d.getStyle(fg.Styles.EDGE_TO_OFFSET);m&&(k.x+=m.x||0,k.y+=m.y||0),n&&(l.x+=n.x||0,l.y+=n.y||0),c.splice(0,0,new fg.PathSegment(gg.SEGMENT_MOVE_TO,[k.x,k.y])),c.push(new fg.PathSegment(gg.SEGMENT_MOVE_TO,[l.x,l.y]))}return c}},_if:function(a,b){a-=this.element.x,b-=this.element.y;var c={x:a,y:b};return this.element.rotate&&Ad(c,-this.element.rotate),c},onclick:function(a,b){if(b.editable&&a.altKey&&this.element){var c=this._fy(a,b);if(c&&c.isControlPoint)return void this.element.removePathSegmentByIndex(c.index);if(this.element==a.getData()){var d=b.toLogical(a),e=b.getUI(this.element);e.addPoint(d.x,d.y,this.handlerSize||2)}}},isEditable:function(a){return this.graph.isEditable(a)&&(a instanceof xh||a instanceof vh&&(!a.isLooped()||a.hasPathSegments()))},ondblclick:function(a,b){if(!b.editable)return void(this.element&&this.destroy(b));var c=a.getData();return!c||c==this.element||c._editting?void this.destroy(b):void this._3a(c)},onstart:function(a,b){if(this._mousePressed=!0,!b.editable)return void(this.element&&this.destroy(b));if(!a.responded){if(this.element&&this._fy(a,b))return void(a.responded=!0);var c=a.getData();return c&&b.isResizable(c)&&c instanceof xh?void(this.element&&c!=this.element&&this.destroy()):void this._3a(c)}},onrelease:function(){this._mousePressed=!1,this.element&&(this._mzanEdit=!0)},_mw2:null,_fy:function(a,b){var c=b.toLogical(a);this.element instanceof xh&&(c=this._if(c.x,c.y));var d,e=b.scale,f=this.handlerSize/e,g=this._mw5,h=g.length,i=this.element instanceof fg.Edge;return g.forEach(function(a,e){for(var j=0,k=a.points;j+1<k.length;){var l=k[j],m=k[j+1],n=We(c.x,c.y,l,m);if(f>n){if(d={oldPoints:k.slice(0),segment:a,index:e,pointIndex:j},i&&(d.index-=1),i&&!ne(a)&&(0==e||e==g.length-1)){d.isEndPoint=!0;var o=0==e;d.isFrom=o;var p=o?fg.Styles.EDGE_FROM_OFFSET:fg.Styles.EDGE_TO_OFFSET,q=b.getStyle(this.element,p)||{};d.oldPoints=[q.x||0,q.y||0]}return this._6z(a,j)&&(d.isControlPoint=!0,e>0&&(d.prevSegment=g instanceof Se?g.getByIndex(e-1):g[e-1]),h>e+1&&(d.nextSegment=g instanceof Se?g.getByIndex(e+1):g[e+1],d.nextSegment.points&&(d.oldNextPoints=d.nextSegment.points.slice(0)))),!1}j+=2}},this),d},_6z:function(a,b){return b==a.points.length-2},startdrag:function(a,b){if(this.element&&this._mzanEdit&&(this._mw2=this._fy(a,b),this._mw2)){this._6i(),a.responded=!0;var c=new se(b,se.POINT_MOVE_START,a,this.element);c.point=this._mw2,b.onInteractionEvent(c)}},onkeyup:function(a,b){this._mousePressed&&16!=!a.keyCode&&this.element&&this._mw2&&this._mw2.delta&&this._mzw(this._mw2.delta.x,this._mw2.delta.y,b,a,!1)},onkeydown:function(a,b){this._mousePressed&&this.element&&this._mw2&&a.shiftKey&&this._mw2.delta&&this._mzw(this._mw2.delta.x,this._mw2.delta.y,b,a,!0)},_mzw:function(a,b,c,d,e){var f=this._mw2,g=this.element,h=f.oldPoints,i=f.segment;if(f.isEndPoint){var j=f.isFrom?fg.Styles.EDGE_FROM_OFFSET:fg.Styles.EDGE_TO_OFFSET,k={x:h[0]+a,y:h[1]+b};return void g.setStyle(j,k)}if(e&&f.isControlPoint){var l={x:h[h.length-2]+a,y:h[h.length-1]+b},m=f.prevSegment,n=f.nextSegment,o=20/c.scale,p=Number.MAX_VALUE,q=p,r=p,s=p;m&&(m=m.lastPoint,p=Math.abs(l.x-m.x),r=Math.abs(l.y-m.y)),n&&(n=n.lastPoint,q=Math.abs(l.x-n.x),s=Math.abs(l.y-n.y)),o>p&&q>p?a+=m.x-l.x:o>q&&p>q&&(a+=n.x-l.x),o>r&&s>r?b+=m.y-l.y:o>s&&r>s&&(b+=n.y-l.y)}if(f.isControlPoint&&ne(i)){for(var t=i.points.length-4;t<i.points.length;){var u=h[t]+a,v=h[t+1]+b;i.points[t]=u,i.points[t+1]=v,t+=2}if(f.nextSegment&&ne(f.nextSegment)){var w=f.oldNextPoints,u=w[0]+a,v=w[1]+b;f.nextSegment.points[0]=u,f.nextSegment.points[1]=v}}else{var t=f.pointIndex,u=h[t]+a,v=h[t+1]+b;i.points[t]=u,i.points[t+1]=v}g.firePathChange();var x=new se(c,se.POINT_MOVING,d,g);x.point=f,c.onInteractionEvent(x)},ondrag:function(a,b){if(this.element&&this._mw2){var c=this._mw2,d=this.element,e=a.totalDeltaX,f=a.totalDeltaY,g=b.scale;if(e/=g,f/=g,d.rotate){var h={x:e,y:f};Ad(h,-d.rotate),e=h.x,f=h.y}c.delta={x:e,y:f},this._mzw(e,f,b,a,a.shiftKey)}},enddrag:function(a,b){if(this.element&&this._mw2){this._mwy(),this._jq();var c=new se(b,se.POINT_MOVE_END,a,this.element);c.point=this._mw2,b.onInteractionEvent(c)}},onmousemove:function(a,b){this.element&&(b.cursor=a.altKey&&(this._fy(a,b)||this.element==a.getData())?"crosshair":null)}},Re.SELECTION_RECTANGLE_STROKE=1,Re.SELECTION_RECTANGLE_STROKE_COLOR=X(3724541951),Re.SELECTION_RECTANGLE_FILL_COLOR=X(1430753245);var di=function(a){this.graph=a,this.topCanvas=a._8h._topCanvas};di.prototype={onstart:function(a,b){this._la&&this.destroy(b)},startdrag:function(a,b){a.responded||(a.responded=!0,this._la=b.toLogical(a),b.cursor="crosshair",this._13Id=this.topCanvas.addDrawable(this._13,this).id)},ondrag:function(a,b){if(this._la){Q(a),this._end=b.toLogical(a),this.invalidate();var c=new se(b,se.SELECT_START,a,b.selectionModel);b.onInteractionEvent(c)}},enddrag:function(a,b){if(this._la){this._g3Timer&&(clearTimeout(this._g3Timer),this._g3Timer=null),this._g3(!0),this.destroy(b);var c=new se(b,se.SELECT_END,a,b.selectionModel);b.onInteractionEvent(c)}},onpinch:function(a,b){this._la&&this.enddrag(a,b)},_13:function(a,b){a.strokeStyle=Re.SELECTION_RECTANGLE_STROKE_COLOR,a.fillStyle=Re.SELECTION_RECTANGLE_FILL_COLOR,a.lineWidth=Re.SELECTION_RECTANGLE_STROKE/b;var c=this._la.x,d=this._la.y;a.rect(c,d,this._end.x-c,this._end.y-d),a.fill(),a.stroke()},invalidate:function(){return this.invalidateFlag?void this.topCanvas.invalidate():(this.invalidateFlag=!0,void(this._g3Timer=setTimeout(this._g3.bind(this),100)))},_g3:function(a){if(this.invalidateFlag=!1,this._g3Timer=null,!this._la||Fe&&!a)return void this.topCanvas.invalidate();var b=Math.min(this._la.x,this._end.x),c=Math.min(this._la.y,this._end.y),d=Math.abs(this._la.x-this._end.x),e=Math.abs(this._la.y-this._end.y);if(!d||!e)return void this.graph.selectionModel.clear();var f,g=[],h=this.graph.scale;if(this.graph.forEachVisibleUI(function(a){a._id&&this.graph.isSelectable(a.$data)&&(f=a._gh,(ha(b,c,d,e,f.x+a._x,f.y+a._y,f.width,f.height)||Eb(b,c,d,e,a,h))&&g.push(a.$data))},this),this.graph.selectionModel.set(g),this.topCanvas.invalidate(),!a){var i=new se(this.graph,se.SELECT_BETWEEN,null,this.graph.selectionModel);this.graph.onInteractionEvent(i)}},destroy:function(a){this._la=null,a.cursor=null,this._13Id&&(this.topCanvas.removeDrawable(this._13Id),delete this._13Id,this.topCanvas.invalidate())}};var ei=C({"super":di,onstart:null,startdrag:null,ondrag:null,enddrag:null,accept:function(a,b,c){return c.enableRectangleSelectionByRightButton!==!1},oncontextmenu:function(a,b){b.popupmenu||Q(a)},onstart2:function(){di.prototype.onstart.apply(this,arguments)},startdrag2:function(a,b){a.responded||(b.popupmenu&&b.popupmenu.hide instanceof Function&&b.popupmenu.hide(),di.prototype.startdrag.apply(this,arguments))},ondrag2:function(){di.prototype.ondrag.apply(this,arguments)},enddrag2:function(){di.prototype.enddrag.apply(this,arguments)}}),Zh=Math.PI/4;oe.prototype={_fc:!1,_fe:!1,_1h:function(a){this.element&&a.source==this.element&&this.graph.callLater(function(){this._mw4()},this)},_8:function(){this._lrPropertyChangeListing||(this._lrPropertyChangeListing=!0,this.graph.dataPropertyChangeDispatcher.addListener(this._1h,this))},_6:function(){this._lrPropertyChangeListing=!1,this.graph.dataPropertyChangeDispatcher.removeListener(this._1h,this)},onElementRemoved:function(a,b){this.element&&(a==this.element||N(a)&&u(a,this.element))&&this.destroy(b)},onClear:function(a){this.element&&this.destroy(a)},ondblclick:function(a,b){this.element&&this.destroy(b)},destroy:function(a){a.cursor=null,delete this.element,delete this._mzz,delete this._mxody,delete this._mw2,delete this._mzanEdit,delete this._ki,delete this._rotatePoint,delete this._fe,delete this._fc,delete this._insets,this._6i(),this._6()},_6i:function(){this._fzId&&(this.topCanvas.removeDrawable(this._fzId),delete this._fzId,this.topCanvas.invalidate())},_mwy:function(){this._fzId&&this.topCanvas.contains(this._fzId)||(this._fzId=this.topCanvas.addDrawable(this._fz,this).id,this.topCanvas.invalidate())},_mzz:null,_ki:null,_8r:function(a){this._mzz=a;var b=this._mzz.x,c=this._mzz.y,d=this._mzz.width,e=this._mzz.height;if(this.element instanceof zh&&this.element.expanded,this._fe){var f=[];f.push({x:b,y:c,p:_e.LEFT_TOP,cursor:"nwse-resize",rotate:5*Zh}),f.push({x:b+d/2,y:c,p:_e.CENTER_TOP,cursor:"ns-resize",rotate:6*Zh}),f.push({x:b+d,y:c,p:_e.RIGHT_TOP,cursor:"nesw-resize",rotate:7*Zh}),f.push({x:b,y:c+e/2,p:_e.LEFT_MIDDLE,cursor:"ew-resize",rotate:4*Zh}),f.push({x:b,y:c+e,p:_e.LEFT_BOTTOM,cursor:"nesw-resize",rotate:3*Zh}),f.push({x:b+d,y:c+e/2,p:_e.RIGHT_MIDDLE,cursor:"ew-resize",rotate:0}),f.push({x:b+d/2,y:c+e,p:_e.CENTER_BOTTOM,cursor:"ns-resize",rotate:2*Zh}),f.push({x:b+d,y:c+e,p:_e.RIGHT_BOTTOM,cursor:"nwse-resize",rotate:Zh}),this._ki=f}this._rotatePoint=this._fc?{x:b+d/2,y:c,cursor:Yf}:null,this._mzc()},_f5:function(a,b,c,d){a.beginPath();var e=(this.handlerSize-1)/d;a.rect(b-e,c-e,2*e,2*e),a.lineWidth=1/d,a.lineDash=[],a.strokeStyle="#888",a.fillStyle="rgba(255, 255, 255, 0.8)",a.stroke(),a.fill()},_5e:function(a,b,c,d,e,f){e=e||this.handlerSize,f=f||"rgba(0, 255, 0, 1)",a.beginPath(),e/=d,a.arc(b,c,e,0,2*Math.PI,!1),a.lineWidth=1/d,a.lineDash=[],a.strokeStyle="#888",a.fillStyle=f,a.stroke(),a.fill()},_if:function(a,b){a-=this.element.x,b-=this.element.y;var c={x:a,y:b};return this.element.rotate&&Ad(c,-this.element.rotate),c},_fz:function(a,b){if(this._mzz){if(a.save(),a.translate(this.element.x,this.element.y),this.element.rotate&&a.rotate(this.element.rotate),this._rotatePoint){this._5e(a,0,0,b,3,"#FF0");var c=this._rotatePoint.x,d=this._rotatePoint.y-this._rotateHandleLength/b;a.beginPath(),a.moveTo(c,this._rotatePoint.y),a.lineTo(c,d),a.lineWidth=1/b,a.strokeStyle="#555",a.stroke(),this._5e(a,c,d,b)}if(this._ki){var e=this._mzz.x,f=this._mzz.y,g=this._mzz.width,h=this._mzz.height;a.beginPath(),a.rect(e,f,g,h),a.lineWidth=1/b,a.lineDash=[2/b,3/b],a.strokeStyle="#555",a.stroke(),o(this._ki,function(c){this._f5(a,c.x,c.y,b)},this)}a.restore()}},_mzc:function(){this.topCanvas.invalidate()},_3a:function(a,b,c,d){this.element=a,this._mwy();var e=b.getUI(a);this._mxody=e.body,this._fe=c,this._fc=d,this._mw4(),this._8()},_mw4:function(){if(this._fzId){var a=pe(this._mxody,this._mxody._ju),b=pe(this._mxody,this._mxody._86);this._insets=new $e(a.y-b.y,a.x-b.x,b.bottom-a.bottom,b.right-a.right),this._8r(b)}},_mwu:function(a,b){return b.isResizable(a)},_mz8:function(a,b){return(!a._io()||!a.expanded)&&b.isRotatable(a)},_d5:function(a,b){return a instanceof wh&&b.isEditable(a)},onstart:function(a,b){if(!b.editable)return void(this.element&&this.destroy(b));if(!a.responded){var c=b.getUI(a),d=a.getData();if(d!=this.element){if(this.element){if(this._fy(a,b))return void(a.responded=!0);this.destroy(b)}if(d&&!d._editting&&this._d5(d,b)){var e=this._mwu(d,b,c),f=this._mz8(d,b,c);(e||f)&&this._3a(d,b,e,f)}}}},onrelease:function(a,b){this.element&&(this._mzanEdit=!0,this._mwy(),b.callLater(function(){this._mw4()},this))},_mw2:null,_fy:function(a,b){var c=b.toLogical(a);c=this._if(c.x,c.y);var d=b.scale,e=this.handlerSize/d;if(this._rotatePoint){var f=this._rotatePoint.x,g=this._rotatePoint.y-this._rotateHandleLength/d;if(We(c.x,c.y,f,g)<e)return this._rotatePoint}if(this._ki&&this._ki.length){var h;return o(this._ki,function(a){return We(c.x,c.y,a.x,a.y)<e?(h=a,!1):void 0},this),h}},onmousemove:function(a,b){if(this.element){var c=this._fy(a,b);if(!c)return void(b.cursor=null);if(c!=this._rotatePoint&&this.element.rotate){var d=c.rotate+this.element.rotate;return void(b.cursor=qe(d))}b.cursor=c.cursor}},startdrag:function(a,b){if(this.element&&(this._6i(),this._mzanEdit&&(this._mw2=this._fy(a,b),this._mw2))){if(a.responded=!0,this._mw2==this._rotatePoint)return this._mw2.start=b.toLogical(a),void(this._mw2.rotate=this.element.rotate||0);var c=new se(b,se.RESIZE_START,a,this.element);c.point=this._mw2,b.onInteractionEvent(c)}},_6y:function(a,b,c,d,e,f){var g=this._mzz,h=g.x,i=g.y,j=g.width,k=g.height;if(f){var l=d!=j;l?e=d*k/j:d=e*j/k}var m=a.path._h3,n=d/j,o=e/k,p=-h*n+b,q=-i*o+c;m.forEach(function(a){if(a.type!=gg.SEGMENT_CLOSE){var d=a.points;if(d&&d.length)for(var e=0,f=d.length;f>e;e+=2){var g=d[e],j=d[e+1];d[e]=(g-h)*n+b-p,d[e+1]=(j-i)*o+c-q}}}),this._mzz.set(b-p,c-q,d,e),a.setLocation(a.x+p,a.y+q),a.firePathChange()},_9w:function(a,b,c,d,e){this._mzz.set(b,c,d,e),a.minSize={x:b,y:c,width:d,height:e}},_47:function(a,b,c,d,e){if(this.element instanceof zh)return this._9w(this.element,a,b,c,d,e);if(this.element instanceof xh)return this._6y(this.element,a,b,c,d,e);var f=this._mxody instanceof Ph;if(!f&&e){var g=this._mzz,h=this._mxody.originalBounds,i=c!=g.width;i?d=c*h.height/h.width:c=d*h.width/h.height}var j=this.element.anchorPosition,k=new Ye(c-this._insets.left-this._insets.right,d-this._insets.top-this._insets.bottom);if(k.width<1&&(c=this._insets.left+this._insets.right+1,k.width=1),k.height<1&&(d=this._insets.top+this._insets.bottom+1,k.height=1),f?this.element.setStyle(Ch.LABEL_SIZE,k):this.element.size=k,j){var l=ja(j,c,d),m=l.x+a-(this._mxody.offsetX||0),n=l.y+b-(this._mxody.offsetY||0);if(this._mzz.set(a-m,b-n,c,d),this.element.rotate){var l=Ad({x:m,y:n},this.element.rotate);m=l.x,n=l.y}this.element.x+=m,this.element.y+=n}else{var m=this._mzz.x*c/this._mzz.width-a,n=this._mzz.y*d/this._mzz.height-b;if(this._mzz.set(a+m,b+n,c,d),this.element.rotate){var l=Ad({x:m,y:n},this.element.rotate);m=l.x,n=l.y}this.element.x-=m,this.element.y-=n}},ondrag:function(a,b){if(this.element&&this._mw2)if(this._mw2!=this._rotatePoint){var c=a.dx,d=a.dy,e=b.scale;if(c/=e,d/=e,this.element.rotate){var f={x:c,y:d};Ad(f,-this.element.rotate),c=f.x,d=f.y}var g=this._mw2.p,h=this._mzz,i=h.x,j=h.y,k=h.width,l=h.height;g.horizontalPosition==af?c>=k?(i+=k,k=c-k||1):(i+=c,k-=c):g.horizontalPosition==cf&&(-c>=k?(k=-c-k||1,i-=k):k+=c),g.verticalPosition==df?d>=l?(j+=l,l=d-l||1):(j+=d,l-=d):g.verticalPosition==ff&&(-d>=l?(l=-d-l||1,j-=l):l+=d),this._47(i,j,k,l,a.shiftKey);var m=new se(b,se.RESIZING,a,this.element);m.point=this._mw2,b.onInteractionEvent(m)}else{var f=b.toLogical(a),n=lb(f.x,f.y,this.element.x,this.element.y,this._mw2.start.x,this._mw2.start.y,!0);n+=this._mw2.rotate||0,a.shiftKey&&(n=Math.round(n/Math.PI*4)*Math.PI/4),this.element.rotate=n%(2*Math.PI);var m=new se(b,se.ROTATING,a,this.element)}},enddrag:function(a,b){if(this.element&&this._mw2&&this._mw2!=this._rotatePoint){var c=new se(b,se.RESIZE_END,a,this.element);c.point=this._mw2,b.onInteractionEvent(c)}}},fg.ResizeInteraction=oe;var fi=function(a){this.graph=a};fi.prototype={onstart2:function(a,b){this.onstart(a,b)},onstart:function(a,b){if(!a.responded){var c=a.getData();if(c&&!b.isSelectable(c)&&(c=null),c&&ua(a)){b.reverseSelect(c);var d=new se(b,se.SELECT,a,b.selectionModel);return void b.onInteractionEvent(d)}if(!c||!b.selectionModel.isSelected(c)){c?(b.setSelection(c),b.sendToTop(c)):b.setSelection(null);var d=new se(b,se.SELECT,a,b.selectionModel);b.onInteractionEvent(d)}}},onkeydown:function(a,b){return 27==a.keyCode?void b.unSelectAll():void(ua(a)&&65==a.keyCode&&(b.selectAll(),O(a)))}};var gi=0,hi=15;Re.TOOLTIP_DURATION=3e3,Re.TOOLTIP_DELAY=1e3;var ii="Q-Tooltip";ra("."+ii,{"background-color":"#FFFFCA",overflow:"hidden","box-shadow":"0 5px 10px rgba(136, 136, 136, 0.5)",color:"#000","pointer-events":"none",border:"1px solid #D9D9D9",padding:"2px 4px",display:"block",position:"absolute"});var ji=function(a){this.graph=a,this._mxv={}};ji.prototype={_mxv:null,_mxu:null,_mxt:function(){delete this._initTimer,this._mxv.data&&(this._mxu||(this._mxu=b.createElement("div"),this._mxu.className=ii),this._mxu.parentNode||b.body.appendChild(this._mxu),this._mzo(this.graph,this._mxv.data))},_mzo:function(a,b){var c=a.getTooltip(b),d="text"==b.tooltipType;c&&!d&&(c=c.replace(/\n/g,"<br>")),d?this._mxu.textContent=c||"":this._mxu.innerHTML=c||"";var e=this._mxv.evt.pageX+gi,f=this._mxv.evt.pageY+hi;re(this._mxu,e,f),this._deleteTimer&&(clearTimeout(this._deleteTimer),delete this._deleteTimer),this._deleteTimer=setTimeout(this._81.bind(this),a.tooltipDuration||Re.TOOLTIP_DURATION)},_81:function(){delete this._deleteTimer,this._mxu&&this._mxu.parentNode&&this._mxu.parentNode.removeChild(this._mxu),delete this._mxu,this._mxv={}},_f0:function(a,b,c,d){
+if(!this._mxu){var e=d.tooltipDelay;return isNaN(e)&&(e=Re.TOOLTIP_DELAY),void(this._initTimer=setTimeout(this._mxt.bind(this),e))}this._mzo(d,a)},onstart:function(a,b){this.destroy(b)},onmousemove:function(a,b){if(b.enableTooltip){var c=a.getData();if(this._mxv.evt=a,this._mxv.data!=c&&(this._mxv.data=c,this._initTimer&&(clearTimeout(this._initTimer),delete this._initTimer),c)){var d=b.getTooltip(c);d&&this._f0(c,d,a,b)}}},destroy:function(){this._initTimer&&(clearTimeout(this._initTimer),delete this._initTimer),this._deleteTimer&&(clearTimeout(this._deleteTimer),delete this._deleteTimer),this._mxu&&this._81(),this._mxv={}}};var ki=function(a){this.graph=a};ki.prototype={_g3:function(){delete this._lj},destroy:function(a){this._lj&&this._g3(a)},onmousewheel:function(a,b){if(b.enableWheelZoom!==!1&&a.delta){var c=a.delta>0,d=b.scale;if(!(c&&b.maxScale-d<1e-4||!c&&d-b.minScale<1e-4)){Q(a);var e=Math.sqrt(Math.abs(a.delta));c||(e=-e),this._lj&&clearTimeout(this._lj),this._lj=setTimeout(this._g3.bind(this,b),100),b.zoomByMouseEvent(a,e)}}}};var li=function(a){this.graph=a};li.prototype={onclick:function(a,b){b.zoomByMouseEvent(a,!ua(a))}};var mi=function(a){this.graph=a};mi.prototype={onclick:function(a,b){b.zoomByMouseEvent(a,ua(a))}},w(se,jf),se.ELEMENT_MOVE_START="element.move.start",se.ELEMENT_MOVING="element.moving",se.ELEMENT_MOVE_END="element.move.end",se.ELEMENT_CREATED="element.created",se.ELEMENT_REMOVED="element.removed",se.POINT_MOVE_START="point.move.start",se.POINT_MOVING="point.moving",se.POINT_MOVE_END="point.move.end",se.RESIZE_START="resize.start",se.RESIZING="resizing",se.RESIZE_END="resize.end",se.ROTATING="rotating",se.ROTATE_END="rotate.end",se.PAN_START="pan.start",se.PAN_END="pan.end",se.GROUP_EXPANDED="group.expanded",se.EDGE_BUNDLE="edge.bundle",se.SELECT="select",se.SELECT_START="select.start",se.SELECT_BETWEEN="select.between",se.SELECT_END="select.end",se.LONG_CLICK="long.click",te.prototype={_mw0:function(a){if(this._interactionSupport)switch(a.kind){case tf.KIND_REMOVE:this._interactionSupport._onElementRemoved(a.data);break;case tf.KIND_CLEAR:this._interactionSupport._onElementClear(a.data)}},destroy:function(){delete this._l0,delete this._4u,this._interactionSupport&&(this._interactionSupport._ib(),delete this._interactionSupport)},_l0:null,_4u:null,defaultMode:null,_g4:function(a,b,c){this._4u[a]=new _d(b,c),a==this.currentMode&&this._interactionSupport._mkInteraction(b)},addCustomInteraction:function(a){this._interactionSupport._mnCustomInteractionListener(a)},removeCustomInteraction:function(a){this._interactionSupport._ktCustomInteractionListener(a)},_mg:function(a){var b=this._4u[a];return b?b:ni[a]}},Z(te.prototype,{defaultCursor:{get:function(){return this.currentInteractionMode?this.currentInteractionMode.defaultCursor:void 0}},currentMode:{get:function(){return this._mzurrentMode},set:function(a){this._mzurrentMode!=a&&(this._mzurrentMode,this._interactionSupport||(this._interactionSupport=new Tf(this._l0)),this._mzurrentMode=a,this.currentInteractionMode=this._mg(this._mzurrentMode),this._l0.cursor=this.defaultCursor,this._interactionSupport._mkInteraction(this.currentInteractionMode?this.currentInteractionMode.getInteractionInstances(this._l0):[]))}}});var ni={};Re.registerInteractions=function(a,b,c){var d=new _d(b,c);ni[a]=d},gg.INTERACTION_MODE_VIEW="view",gg.INTERACTION_MODE_DEFAULT="default",gg.INTERACTION_MODE_SELECTION="selection",gg.INTERACTION_MODE_ZOOMIN="zoomin",gg.INTERACTION_MODE_ZOOMOUT="zoomout",gg.INTERACTION_MODE_CREATE_SIMPLE_EDGE="create.simple.edge",gg.INTERACTION_MODE_CREATE_EDGE="create.edge",gg.INTERACTION_MODE_CREATE_SHAPE="create.shape",gg.INTERACTION_MODE_CREATE_LINE="create.line",Re.registerInteractions(gg.INTERACTION_MODE_VIEW,[fi,ci,ki,ai,$h,ji,ei]),Re.registerInteractions(gg.INTERACTION_MODE_CREATE_SIMPLE_EDGE,[_h,fe,fi,ci,ki,ai,ji]),Re.registerInteractions(gg.INTERACTION_MODE_CREATE_EDGE,[_h,me,fi,ce,ci,ki,ai,ji]),Re.registerInteractions(gg.INTERACTION_MODE_CREATE_SHAPE,[_h,de,fi,ci,ki,ai,ji]),Re.registerInteractions(gg.INTERACTION_MODE_CREATE_LINE,[ee,fi,ci,ki,ai,ji]),Re.registerInteractions(gg.INTERACTION_MODE_DEFAULT,[_h,oe,me,fi,bi,ci,ki,ai,$h,ji,ei]),Re.registerInteractions(gg.INTERACTION_MODE_SELECTION,[_h,oe,me,fi,bi,di,ci,ki,ai,$h,ji]),Re.registerInteractions(gg.INTERACTION_MODE_ZOOMIN,[ki,ai,li],Uf),Re.registerInteractions(gg.INTERACTION_MODE_ZOOMOUT,[ki,ai,mi],Vf),fg.PanInteraction=ci,fg.SelectionInteraction=fi,fg.MoveInteraction=bi,fg.WheelZoomInteraction=ki,fg.DoubleClickInteraction=$h,fg.ExportInteraction=ai,fg.TooltipInteraction=ji,fg.RectangleSelectionInteraction=di,fg.RectangleSelectionInteractionByRightButton=ei,fg.PointsInteraction=me;var oi=function(a){this.graph=a};fg.Layouter=oi,oi.prototype={getNodeBounds:function(a){return this.graph.getUIBounds(a)},isLayoutable:function(a){return this.graph.isVisible(a)&&a.layoutable!==!1},getLayoutResult:function(){},updateLocations:function(a,b,c,d,e){if(b===!0){if(this.animate||(this.animate=new Wi),c&&(this.animate.duration=c),d&&(this.animate.animationType=d),this.animate.locations=a,e){var f=e,g=this;e=function(){f.call(g,a)}}return void this.animate.start(e)}for(var h in a){var i=a[h],j=i.node;j.setLocation(i.x,i.y)}e&&e.call(this,a)},_fs:function(a){var b,c,d,e=null;a&&(b=a.byAnimate,e=a.callback,c=a.duration,d=a.animationType);var f=this.getLayoutResult(a);return!!f&&(this.updateLocations(f,b,c,d,e),f)},doLayout:function(a,b){return this.graph&&b!==!0?void this.graph.callLater(function(){this._fs(a)},this):this._fs(a)}};var pi=110,qi=120,ri=130,si=210,ti=220,ui=230,vi=111,wi=112,xi=121,yi=122,zi=211,Ai=212,Bi=221,Ci=222;gg.DIRECTION_RIGHT=pi,gg.DIRECTION_LEFT=qi,gg.DIRECTION_CENTER=ri,gg.DIRECTION_BOTTOM=si,gg.DIRECTION_TOP=ti,gg.DIRECTION_MIDDLE=ui,gg.DIRECTION_RIGHT_TOP=vi,gg.DIRECTION_RIGHT_BOTTOM=wi,gg.DIRECTION_LEFT_TOP=xi,gg.DIRECTION_LEFT_BOTTOM=yi,gg.DIRECTION_BOTTOM_LEFT=zi,gg.DIRECTION_BOTTOM_RIGHT=Ai,gg.DIRECTION_TOP_LEFT=Bi,gg.DIRECTION_TOP_RIGHT=Ci;var Di="even",Ei="two.side",Fi="even.h",Gi="even.v";gg.LAYOUT_TYPE_EVEN=Di,gg.LAYOUT_TYPE_EVEN_HORIZONTAL=Fi,gg.LAYOUT_TYPE_EVEN_VERTICAL=Gi,gg.LAYOUT_TYPE_TWO_SIDE=Ei,fg.isHorizontalDirection=ue;var Hi=function(a){this.graph=a};Hi.prototype={hGap:50,vGap:50,parentChildrenDirection:si,layoutType:Di,defaultSize:{width:50,height:60},getNodeSize:function(a){if(this.graph._8h._mwl){var b=this.graph.getUI(a);if(b)return b._gh}return a.image&&a.image.bounds?{width:a.image.bounds.width,height:a.image.bounds.height}:this.defaultSize},_dl:function(a,b){if(this.isLayoutable(a)){var c,d=this.getNodeSize(a);c=d instanceof Ze?[-d.x,-d.y]:[d.width/2,d.height/2];var e=a.id,f=(a.parentChildrenDirection,b?this._mw3[b.id]:this._mxi);this._mw3[e]=new Ii(this.getHGap(a),this.getVGap(a),this.getLayoutType(a),a.parentChildrenDirection,f,a,d.width,d.height,c)}},getHGap:function(a){return a&&K(a.hGap)?a.hGap:this.hGap},getVGap:function(a){return a&&K(a.vGap)?a.vGap:this.vGap},getLayoutType:function(a){return a&&a.layoutType?a.layoutType:this.layoutType},_mw3:null,_mxi:null,_l8:function(){this._mw3=null,this._mxi=null},getLayoutResult:function(a){var b,c,d,e,f=this.graph;a instanceof Object&&(b=a.x,c=a.y,f=a.root||this.graph,d=a.bounds,e=a.undirected),this._mw3={},this._mxi=new Ii,this._mxi._mk(this.hGap,this.vGap,this.parentChildrenDirection,this.layoutType);var g={},h=Zi(f,this._dl,this,!1,e);return h&&(this._mxi._fs(b||0,c||0,g),d&&d.set(this._mxi.x,this._mxi.y,this._mxi.width,this._mxi.height)),this._l8(),g},doLayout:function(a,b){if(K(a)){var c=a,d=0;K(b)&&(d=b),a={x:c,y:d},b=!0}return y(this,Hi,"doLayout",[a,b])}},w(Hi,oi);var Ii=function(a,b,c,d,e,f,g,h,i){this._m6=a||0,this._m9=b||0,this.layoutType=c,this.parentChildrenDirection=d,this.parentBounds=e,e&&e._ga(this),this.node=f,this._fo=g,this._do=h,this._mwnchorLocation=i};Ii.prototype={_mk:function(a,b,c,d){this._m6=a,this._m9=b,this.parentChildrenDirection=c,this.layoutType=d},_8n:function(){this._fw=[]},_m6:0,_m9:0,_fw:null,_fo:0,_do:0,layoutType:null,parentChildrenDirection:null,_ga:function(a){this._fw||(this._fw=[]),this._fw.push(a)},_dq:function(a,b,c,d){var e=new Ze;return c(this._fw,function(c){c._38(a,b),e.add(c),d?a+=c.width+this._m6:b+=c.height+this._m9},this),e},_8d:function(a,b,c,d,e){var f,g=d?this._m6:this._m9,h=d?this._m9:this._m6,i=d?"width":"height",j=d?"height":"width",k=d?"_fo":"_do",l=d?"_do":"_fo",m=d?"hostDX":"hostDY",n=d?"hostDY":"hostDX",p=new Ze,q=0,r=0,s=[],t=0,u=0;c(this._fw,function(c){var e=u>=r;c._inheritedParentChildrenDirection=e?d?qi:ti:d?pi:si,c._38(a,b),e?(s.push(c),q=Math.max(q,c[i]),r+=c[j]+h):(f||(f=[]),f.push(c),t=Math.max(t,c[i]),u+=c[j]+h)},this),r-=h,u-=h;var v=Math.max(r,u),w=g,x=0;this.node&&(e&&(w+=this[k]+g,v>this[l]?this[n]=(v-this[l])/2:x=(this[l]-v)/2),this[m]=q+w/2-this[k]/2);var y=0,z=x;return o(s,function(a){d?a.offset(q-a[i],z):a.offset(z,q-a[i]),z+=h+a[j],p.add(a)},this),f?(z=x,y=q+w,o(f,function(a){d?a.offset(y,z):a.offset(z,y),z+=h+a[j],p.add(a)},this),p):p},offset:function(a,b){this.x+=a,this.y+=b,this.nodeX+=a,this.nodeY+=b,this._6w(a,b)},_mwz:function(a,b){return 2*this.cx-a-b-a},_mxn:function(a,b){return 2*this.cy-a-b-a},_ma:function(a){if(this._fw&&0!=this._fw.length){if(a)return this.node&&(this.nodeX+=this._mwz(this.nodeX,this._fo)),void o(this._fw,function(a){a.offset(this._mwz(a.x,a.width),0)},this);this.node&&(this.nodeY+=this._mxn(this.nodeY,this._do)),o(this._fw,function(a){a.offset(0,this._mxn(a.y,a.height))},this)}},_6w:function(a,b){this._fw&&o(this._fw,function(c){c.offset(a,b)},this)},_38:function(a,b){return this.x=a||0,this.y=b||0,this._fw&&0!=this._fw.length?void this._1v(this.x,this.y,this.layoutType):void(this.node&&(this.width=this._fo,this.height=this._do,this.nodeX=this.x,this.nodeY=this.y))},_71:function(a){if(this.node){var b=this._mwnchorLocation,c=b[0],d=b[1];a[this.node.id]={node:this.node,x:this.nodeX+c,y:this.nodeY+d,left:this.nodeX,top:this.nodeY,width:this._fo,height:this._do}}this._fw&&o(this._fw,function(b){b._71(a)},this)},_fs:function(a,b,c){this._38(a,b),this._71(c)},_1v:function(a,b,d){var e,f=a,g=b;!this.parentChildrenDirection&&this.parentBounds&&(this.parentChildrenDirection=this._inheritedParentChildrenDirection||this.parentBounds.parentChildrenDirection);var h=this.parentChildrenDirection,i=ue(h);if(this.node){e=h==ri||h==ui;var j=ve(h);e||(i?a+=this._fo+this._m6:b+=this._do+this._m9)}var k,l=this.node&&this.node.layoutReverse?q:o;if(d==Ei)k=this._8d(a,b,l,!i,e);else{var m;m=d==Di?!i:d==Fi,k=this._dq(a,b,l,m,e)}var n=0,p=0;if(k&&!k.isEmpty()&&(n=k.width,p=k.height,this.add(k)),this.node){if(this.nodeX=f,this.nodeY=g,this.hostDX!==c||this.hostDY!==c)this.nodeX+=this.hostDX||0,this.nodeY+=this.hostDY||0;else{var r;r=h==si||h==ti||h==qi||h==pi?1:h==Ai||h==Ci||h==yi||h==wi?0:2,i?1==r?this.nodeY+=p/2-this._do/2:2==r&&(this.nodeY+=p-this._do):1==r?this.nodeX+=n/2-this._fo/2:2==r&&(this.nodeX+=n-this._fo)}this.addRect(this.nodeX,this.nodeY,this._fo,this._do),j&&this._ma(i)}},node:null,uiBounds:null},w(Ii,Ze),xe.prototype={layoutDatas:null,isMovable:function(a){return!this.currentMovingNodes[a.id]},_6f:!1,_3c:function(){this._6f=!0,this.graph._1k.addListener(this._9t,this),this.graph._1b.addListener(this._25,this)},_1f:function(){this._6f=!1,this.graph._1k.removeListener(this._9t,this),this.graph._1b.removeListener(this._25,this)},invalidateFlag:!0,invalidateLayoutDatas:function(){this.invalidateFlag=!0},resetLayoutDatas:function(){return this.invalidateFlag=!1,this.layoutDatas=we.call(this)},_25:function(a){se.ELEMENT_MOVE_START==a.kind?(this.currentMovingNodes={},a.datas.forEach(function(a){this.currentMovingNodes[a.id]=a},this)):se.ELEMENT_MOVE_END==a.kind&&(this.currentMovingNodes={})},_9t:function(){this.invalidateLayoutDatas()},isRunning:function(){return this.timer&&this.timer._et()},getLayoutResult:function(){this.stop(),this.resetLayoutDatas();for(var a=this.getMaxIterations(this.layoutDatas.nodeCount||0,this.layoutDatas.edgeCount||0),b=0;a>b&&this.step(!1)!==!1;b++);var c=this.layoutDatas.nodes;return this.onstop(),c},_lx:function(){return!1},step:function(a){if(a===!1)return this._lx(this.timeStep);(this.invalidateFlag||!this.layoutDatas)&&this.resetLayoutDatas();var b=this._lx(a),c=this.layoutDatas.nodes;for(var d in c){var e=c[d],f=e.node;this.isMovable(f)?f.setLocation(e.x,e.y):(e.x=f.x,e.y=f.y,e.vx=0,e.vy=0)}return b},onstop:function(){delete this.layoutDatas},start:function(a){if(this.isRunning())return!1;this._6f||this._3c(),this._jdr||(this._jdr=function(a){return this.step(a)}.bind(this)),this.invalidateLayoutDatas(),this.timer=new cg(this._jdr);var b=this;return this.timer._la(function(){b.onstop(),a&&a()}),!0},stop:function(){this.timer&&(this.timer._m0(),this.onstop())},getMaxIterations:function(a){return Math.min(1e3,3*a+10)},minEnergyFunction:function(a,b){return 10+Math.pow(a+b,1.4)},resetGraph:function(){this._6f||this._3c(),this.resetLayoutDatas()},destroy:function(){this.stop(),this._1f()}},w(xe,oi);var Ji=function(a,b,c,d){this.graph=a,K(b)&&(this.radius=b),K(c)&&(this.gap=c),K(d)&&(this.startAngle=d)};fg.BalloonLayouter=Ji;var Ki="proportional",Li="regular",Mi="uniform",Ni="variable";gg.ANGLE_SPACING_PROPORTIONAL=Ki,gg.ANGLE_SPACING_REGULAR=Li,gg.RADIUS_MODE_UNIFORM=Mi,gg.RADIUS_MODE_VARIABLE=Ni,Ji.prototype={angleSpacing:Ki,radiusMode:Ni,gap:4,radius:50,startAngle:0,_mw3:null,_mxi:null,_l8:function(){this._mw3=null,this._mxi=null},getLayoutResult:function(a){var b,c=0,d=0,e=this.graph;a instanceof Object&&(c=a.cx||0,d=a.cy||0,e=a.root||this.graph,b=a.bounds),this._mw3={},this._mxi=new Qi(this);var f={},g=$i(e,this._dl,this);return g&&(this._mxi._fw&&1==this._mxi._fw.length&&(this._mxi=this._mxi._fw[0]),this._mxi._fm(!0),this._mxi._58(c,d,this.startAngle,f,b)),this._l8(),f},_dl:function(a,b){if(this.isLayoutable(a)){var c=b?this._mw3[b.id]:this._mxi;this._mw3[a.id]=new Qi(this,a,c)}},defaultSize:40,getRadius:function(){return this.radius},getNodeSize:function(a){if(this.graph._8h._mwl){var b=this.graph.getUI(a);if(b)return(b._gh.width+b._gh.height)/2}return this.defaultSize},getGap:function(){return this.gap},_2v:function(a,b,c){return this.getNodeSize(a,b,c)+this.getGap(a,b,c)}};var Oi=function(a){var b,c=this._fw.length,d=0,e=0;if(o(this._fw,function(a){var c=a._fm();1>c&&(c=1),e+=c,c>d&&(d=c,b=a)},this),c>1){var f=0,g={},h=e/c/3;e=0,o(this._fw,function(a){var b=a._me;h>b&&(b=h),g[a.id]=b,e+=b},this);var i=oh/e;o(this._fw,function(b,c){var d=g[b.id],e=d*i;0===c&&(f=a?-e/2:-e),b._l6=f+e/2,b._l7=e,f+=e},this)}return[d,b._l7]},Pi=function(a){var b=this._84,c=2*Math.PI/b,d=0,e=a?0:b>1?-c/2:0;return o(this._fw,function(a){a._l6=e%oh,e+=c,a._l7=c;var b=a._fm();b>d&&(d=b)},this),[d,c]},Qi=function(a,b,c){this.layouter=a,b&&(this._mf=b,this.id=b.id),c&&(c._ga(this),c._mb=!1,this._l4=c._l4+1)},oh=2*Math.PI;Qi.prototype={_l7:0,_l6:0,_kj:0,_f7:0,_mzr:0,_l4:0,_mb:!0,_me:0,_g6:0,_fw:null,_mf:null,_ga:function(a){this._fw||(this._fw=[]),this._fw.push(a),a.parent=this},_gc:function(a){if(this._l6=(this._l6+a)%oh,this._fw){var b=this._fw.length;if(1==b)return void this._fw[0]._gc(this._l6);a=this._l6+Math.PI,o(this._fw,function(b){b._gc(a)},this)}},_84:0,_7w:function(a){return this._mf&&(this._g6=this.layouter._2v(this._mf,this._l4,this._mb)/2),this._fw?(this._g6,this._84=this._fw.length,this._84<=2||this.layouter.angleSpacing==Li?Pi.call(this,a):Oi.call(this,a)):null},_fm:function(a){var b=this._7w(a);if(!b)return this._me=this._g6;var c=b[0],d=b[1],e=this.layouter.getRadius(this._mf,this._l4);if(e<this._g6&&(e=this._g6),this._f7=e,this._g6+c>e&&(e=this._g6+c),c&&this._84>1&&d<Math.PI){var f=c/Math.sin(d/2);f>e&&(e=f)}return this._kj=e,this._me=e+c,this._mf&&this._fw&&this.layouter.radiusMode==Ni&&o(this._fw,function(a){var b=a._me;1==a._84&&(b/=2);var c=this._g6+b,d=a._l7;if(d&&d<Math.PI){var e=Math.sin(d/2),f=b/e;f>b&&(b=f)}c>b&&(b=c),a._mzr=b},this),(!this._mf||a)&&this._gc(0),this._me},_58:function(a,b,c,d,e){if(this._mf&&(d[this._mf.id]={x:a,y:b,node:this._mf},e&&e.addRect(a-this._g6/2,b-this._g6/2,this._g6,this._g6)),this._fw){if(!this._mf&&1==this._fw.length)return void this._fw[0]._58(a,b,c,d,e);c=c||0;var f=this._kj,g=this._f7;o(this._fw,function(h){var i=f;h._mzr&&(i=Math.max(g,h._mzr));var j=h._l6+c,k=a+i*Math.cos(j),l=b+i*Math.sin(j);h._58(k,l,c,d,e)},this)}}},w(Ji,oi);var Ri=function(){x(this,Ri,arguments)};w(Ri,ye);var Si=function(a,b){this.node1=a,this.node2=b,a==b?(this.isLooped=!0,this._l3=a._l2):this._l3=new Se,this._8l=[],this._gk=Re.EDGE_BUNDLE_EXPANDED};Re.EDGE_BUNDLE_EXPANDED=!0,Si.prototype={node1:null,node2:null,_l3:null,_gk:Re.EDGE_BUNDLE_EXPANDED,_8l:null,_gm:null,agentEdge:null,_mxm:function(a,b,c){this._l3.forEach(function(d){return c&&d.$from!=c&&d.fromAgent!=c?void 0:a.call(b,d)})},_5c:0,_5l:0,_j0:function(a,b){return this._l3.add(a)!==!1&&(b==this.node1?this._5c++:this._5l++,this._mwl?void this._14(a):void(this._mwl=!0))},_mzb:function(a,b){return this._l3.remove(a)!==!1&&(b==this.node1?this._5c--:this._5l--,this._14(a),void this._l3.forEach(function(a){a._edgeBundleInvalidateFlag=!0,a.__4v=!0},this))},_14:function(a){this._mzcBindableFlag=!0,this._6n=!0,a._edgeBundleInvalidateFlag=!0,a.__4v=!0},_mzc:function(){this._6n||(this._6n=!0,this._l3.forEach(function(a){a._edgeBundleInvalidateFlag=!0}))},isEmpty:function(){return this._l3.isEmpty()},isPositiveOrder:function(a){return this.node1==a.$from||this.node1==a.fromAgent},canBind:function(a){return a&&this._6n&&this._g3(a),this._l3.length>1&&this._8l.length>1},_it:function(a){return this._8l.indexOf(a)},getYOffset:function(a){return this._gm[a.id]},_4l:function(a){if(!this.canBind())return void(this._gm={});var b={},c=this._8l.length;if(!(2>c)){var d=0,e=this._8l[0];b[e.id]=0;for(var f=1;c>f;f++){e=this._8l[f];var g=a.getStyle(e,Ch.EDGE_BUNDLE_GAP)||Rh[Ch.EDGE_BUNDLE_GAP];d+=g,b[e.id]=d}if(!this.isLooped)for(var h=d/2,f=0;c>f;f++)e=this._8l[f],b[e.id]-=h;this._gm=b}},_mx9:function(a){return this._gk!=a&&(this._gk=a,this._mzc(),!0)},reverseExpanded:function(){return this._mx9(!this._gk)},_1c:function(){this._mzcBindableFlag=!1,this._8l.length=0;var a;this._l3.forEach(function(b){if(b.isBundleEnabled()){if(!this.isPositiveOrder(b))return a||(a=[]),void a.push(b);this._8l.push(b)}},this),a&&(this._8l=a.concat(this._8l))},_f1:function(a){return a==this.agentEdge||!this.canBind()||this._gk},_g3:function(a){this._6n=!1,this._l3.forEach(function(a){a._edgeBundleInvalidateFlag=!1}),this._mzcBindableFlag&&this._1c();var b=this._gk,c=this.canBind(),d=!c||b;o(this._8l,function(a){a._$s=!0,a._idInBundle=d,d&&(a.__4v=!0)},this),d?this._mw1(null,a):(this._mw1(this._8l[0],a),this.agentEdge._idInBundle=!0,this.agentEdge.__4v=!0),d&&this._4l(a)},_mw1:function(a,b){if(a!=this.agentEdge){var c=this.agentEdge;return this.agentEdge=a,b&&b._4s(new kf(this,"agentEdge",a,c)),!0}}},Z(Si.prototype,{bindableEdges:{get:function(){return this._8l}},edges:{get:function(){return this._l3._k7}},length:{get:function(){return this._l3?this._l3.length:1}},expanded:{get:function(){return this._gk},set:function(a){return this._gk!=a&&(this._gk=a,void this._mzc())}}});var Ti=function(){function a(a,b){this.node=a,this.body=b}function b(){this.stack=[],this.popIdx=0}var c=-1e6,d=.8;b.prototype={isEmpty:function(){return 0===this.popIdx},push:function(b,c){var d=this.stack[this.popIdx];d?(d.node=b,d.body=c):this.stack[this.popIdx]=new a(b,c),++this.popIdx},pop:function(){return this.popIdx>0?this.stack[--this.popIdx]:void 0},reset:function(){this.popIdx=0}};var e=[],f=new b,g=function(){this.body=null,this.quads=[],this.mass=0,this.massX=0,this.massY=0,this.left=0,this.top=0,this.bottom=0,this.right=0,this.isInternal=!1},h=[],i=0,j=function(){var a;return h[i]?(a=h[i],a.quads[0]=null,a.quads[1]=null,a.quads[2]=null,a.quads[3]=null,a.body=null,a.mass=a.massX=a.massY=0,a.left=a.right=a.top=a.bottom=0,a.isInternal=!1):(a=new g,h[i]=a),++i,a},k=j(),l=function(a,b){var c=Math.abs(a.x-b.x),d=Math.abs(a.y-b.y);return 1e-8>c&&1e-8>d},m=function(a){for(f.reset(),f.push(k,a);!f.isEmpty();){var b=f.pop(),c=b.node,d=b.body;if(c.isInternal){var e=d.x,g=d.y;c.mass=c.mass+d.mass,c.massX=c.massX+d.mass*e,c.massY=c.massY+d.mass*g;var h=0,i=c.left,m=(c.right+i)/2,n=c.top,o=(c.bottom+n)/2;if(e>m){h+=1;var p=i;i=m,m+=m-p}if(g>o){h+=2;var q=n;n=o,o+=o-q}var r=c.quads[h];r||(r=j(),r.left=i,r.top=n,r.right=m,r.bottom=o,c.quads[h]=r),f.push(r,d)}else if(c.body){var s=c.body;if(c.body=null,c.isInternal=!0,l(s,d)){if(c.right-c.left<1e-8)return;do{var t=Math.random(),u=(c.right-c.left)*t,v=(c.bottom-c.top)*t;s.x=c.left+u,s.y=c.top+v}while(l(s,d))}f.push(c,s),f.push(c,d)}else c.body=d}},n=function(a){var b,f,g,h,i=e,j=1,l=0,m=1;for(i[0]=k;j;){var n=i[l],o=n.body;j-=1,l+=1,o&&o!==a?(f=o.x-a.x,g=o.y-a.y,h=Math.sqrt(f*f+g*g),0===h&&(f=(Math.random()-.5)/50,g=(Math.random()-.5)/50,h=Math.sqrt(f*f+g*g)),b=c*o.mass*a.mass/(h*h),-1e3>b&&(b=-1e3),b/=h,a.fx=a.fx+b*f,a.fy=a.fy+b*g):(f=n.massX/n.mass-a.x,g=n.massY/n.mass-a.y,h=Math.sqrt(f*f+g*g),0===h&&(f=(Math.random()-.5)/50,g=(Math.random()-.5)/50,h=Math.sqrt(f*f+g*g)),(n.right-n.left)/h<d?(b=c*n.mass*a.mass/(h*h),-1e3>b&&(b=-1e3),b/=h,a.fx=a.fx+b*f,a.fy=a.fy+b*g):(n.quads[0]&&(i[m]=n.quads[0],j+=1,m+=1),n.quads[1]&&(i[m]=n.quads[1],j+=1,m+=1),n.quads[2]&&(i[m]=n.quads[2],j+=1,m+=1),n.quads[3]&&(i[m]=n.quads[3],j+=1,m+=1)))}},o=function(a,b){c=b;var d,e=Number.MAX_VALUE,f=Number.MAX_VALUE,g=Number.MIN_VALUE,h=Number.MIN_VALUE,l=a,n=l.length;for(d=n;d--;){var o=l[d].x,p=l[d].y;e>o&&(e=o),o>g&&(g=o),f>p&&(f=p),p>h&&(h=p)}var q=g-e,r=h-f;for(q>r?h=f+q:g=e+r,i=0,k=j(),k.left=e,k.right=g,k.top=f,k.bottom=h,d=n;d--;)m(l[d],k)};return{init:o,update:n}},Ui=function(a){a.fx-=a.x*this.attractive,a.fy-=a.y*this.attractive},Vi=function(a){if(0!=a.k){var b=this._db,c=a.from,d=a.to,e=d.x-c.x,f=d.y-c.y,g=e*e+f*f,h=Math.sqrt(g)||.1,i=(h-b)*a.k*this.elastic;i/=h;var j=i*e,k=i*f;d.fx-=j,d.fy-=k,c.fx+=j,c.fy+=k}};ye.prototype={appendNodeInfo:function(a,b){b.mass=a.layoutMass||1,b.fx=0,b.fy=0,b.vx=0,b.vy=0},appendEdgeInfo:function(a,b){b.k=a.layoutElasticity||1},setMass:function(a,b){a.layoutMass=b,this.layoutDatas&&this.layoutDatas.nodes&&(a=this.layoutDatas.nodes[a.id],a&&(a.mass=b))},setElasticity:function(a,b){a.layoutElasticity=b,this.layoutDatas&&this.layoutDatas.edges&&(a=this.layoutDatas.edges[a.id],a&&(a.k=b))},_db:50,_i9:.5,timeStep:.15,repulsion:50,attractive:.1,elastic:3,_m5:1e3,_kr:function(a){return this._m5+.3*(a-this._m5)},_lx:function(a,b){var c=(Date.now(),this.layoutDatas.nodes);for(var d in c){var e=c[d];b&&(e.x+=Math.random()-.5,e.y+=Math.random()-.5),Ui.call(this,e)}var f=this.layoutDatas.groups;if(f)for(var d in f){var g=f[d],h=g.children,i=0,j=0;h.forEach(function(a){i+=a.x,j+=a.y}),i/=h.length,j/=h.length;var k=10*this.attractive;h.forEach(function(a){a.fx-=(a.x-i)*k,a.fy-=(a.y-j)*k})}var l=this._nbodyForce;l||(l=this._nbodyForce=Ti()),l.init(this.layoutDatas.nodesArray,-this.repulsion*this.repulsion*this.repulsion);for(var d in c)l.update(c[d]);if(this.elastic){var m=this.layoutDatas.edges;for(var d in m)Vi.call(this,m[d])}return this._lz(a)},_lz:function(a){var b=this.layoutDatas.minEnergy,c=(this.layoutDatas.currentEnergy,this.layoutDatas.nodes),a=this.timeStep,d=0,e=this._i9;for(var f in c){var g=c[f],h=g.fx/g.mass,i=g.fy/g.mass,j=g.vx+=h*a,k=g.vy+=i*a;g.x+=j*a,g.y+=k*a,b>d&&(d+=2*(j*j+k*k)),g.fx=0,g.fy=0,g.vx*=e,g.vy*=e}return this.layoutDatas.currentEnergy=d,d>=b}},w(ye,xe),fg.SpringLayouter=ye;var Wi=function(a){this.locations=a};Wi.prototype={oldLocations:null,_ei:null,duration:700,animationType:bg.easeOutStrong,_7s:function(a){if(this._ei=a,this.oldLocations={},a)for(var b in a){var c=a[b],d=c.node;this.oldLocations[b]={x:d.x,y:d.y}}},setLocation:function(a,b,c){a.setLocation(b,c)},forEach:function(a,b){for(var c in this.locations){var d=this.oldLocations[c],e=this.locations[c];a.call(b,d,e)}},_kp:function(a){this.forEach(function(b,c){var d=c.node,e=b.x+(c.x-b.x)*a,f=b.y+(c.y-b.y)*a;this.setLocation(d,e,f)},this)},stop:function(){this._mwnimate&&this._mwnimate._m0()},start:function(a){this._mwnimate?(this._mwnimate._m0(),this._mwnimate._iy=this.duration,this._mwnimate._eqType=this.animationType,this._mwnimate._onfinish=this._onfinish):this._mwnimate=new dg(this._kp,this,this.duration,this.animationType),this._mwnimate._la(a)}},Z(Wi.prototype,{locations:{get:function(){return this._ei},set:function(a){this._ei!=a&&this._7s(a)}}});var Xi=function(a){var b,c=new Se;return a.forEach(function(a){a instanceof wh&&(a.hasInEdge()?!b&&a.hasOutEdge()&&(b=a):c.add(a))}),c.isEmpty()&&b&&c.add(b),c},Yi=function(a,b,c,d,e,f){if(b instanceof uf)return a(b,c,d,e,f),b;if(b instanceof Sh){var g=new Se;b._l0Model.forEach(function(a){return b.isVisible(a)?a._io()&&a._gk&&a.hasChildren()?void(a.$location&&(a.$location.invalidateFlag=!1)):void g.add(a):void 0}),b=g}var b=Xi(b,d);return o(b,function(b){a(b,c,d,e,f)}),b},Zi=function(a,b,c,d,e){return Yi(_i,a,b,c,d,e)},$i=function(a,b,c,d,e){return Yi(aj,a,b,c,d,e)};Uc.prototype.forEachByTopoDepthFirstSearch=function(a,b,c,d){Zi(this,a,b,c,d)},Uc.prototype.forEachByTopoBreadthFirstSearch=function(a,b,c,d){a instanceof Object&&1==arguments.length&&(b=a.scope),$i(this,a,b,c,d)};var _i=function(a,b,c,d,e){function f(a,b,c,d,e,g,h,i){a._marker=g,d||b.call(c,a,i,h),ze(a,function(i){f(i,b,c,d,e,g,h+1,a)},i,e,g,c),d&&b.call(c,a,i,h)}f(a,b,c,d,e,{},0)},aj=function(a,b,c,d,e){function f(a,b,c,d,e,g,h){var i,j=a.length;a.forEach(function(a,f){var k=a.v;k._marker=g,d||b.call(c,k,a._from,h,f,j),ze(k,function(a){i||(i=[]),a._marker=g,i.push({v:a,_from:k})},k,e,g,c)}),i&&f(i,b,c,d,e,g,h+1),d&&a.forEach(function(a,d){b.call(c,a.v,a._from,h,d,j)})}f([{v:a}],b,c,d,e,{},0)};return fg.toColor=X,fg.log=aa,fg.error=ca,fg.trace=ba,fg.isIE=De,fg.isOpera=Ce,fg.isWebkit=Ge,fg.isGecko=He,fg.isFirefox=Ie,fg.isSafari=Ke,fg.isChrome=Je,fg.isMac=Le,fg.DefaultStyles=Rh,fg.Defaults=Re,fg.Styles=Ch,fg.Consts=gg,fg.Graphs=Ug,fg.Graph=Sh,fg.BaseUI=Ah,fg.ElementUI=Nh,fg.NodeUI=bd,fg.EdgeUI=ad,fg.LabelUI=Ph,fg.ImageUI=Oh,fg.Shapes=yh,fg.Path=Rg,fg.Gradient=Ag,fg.InteractionEvent=se,fg.Element=uh,fg.Node=wh,fg.Edge=vh,fg.GraphModel=Uc,fg.EdgeBundle=Si,fg.TreeLayouter=Hi,fg.name="Qunee for HTML5",fg.version="2.6.0.4",fg.about="Qunee - Diagramming Components for HTML5/Canvas",fg.copyright="Copyright © 2017 Qunee.com",fg.css=oa,fg.IDrawable=Th,aa=function(){},fg.publishDate="19/1/2017",fg}(window,document),function(a){"use strict";function b(a){return a instanceof Number||"number"==typeof a}a.fn.borderLayout=function(){var c=function(c,d){c.style.position="absolute",c.style.boxSizing="border-box";for(var e in d){var f=d[e];b(f)&&(f=parseInt(f)+"px"),c.style[e]=f}a(c).trigger("size.change")},d=function(a,b){return"%"===a[a.length-1]?b*parseInt(a)/100:parseInt(a)},e=function(a,b,c,e){var f=d(a,b);return c&&(c=d(c,b),f<c)?c:e&&(e=d(e,b),f>e)?e:f};return this.each(function(){function b(){j&&(t=j._data.width,t&&(t=e(t,l,j._data["min-width"],j._data["max-width"]),y=t,u=parseInt(j._data.left)||0,u&&(v-=u,y+=u),v-=t,c(j,{top:x,left:u,width:t,height:w}))),i&&(t=i._data.width,t&&(t=e(t,l,i._data["min-width"],i._data["max-width"]),u=parseInt(i._data.right)||0,u&&(v-=u),v-=t,c(i,{top:x,right:u,width:t,height:w})))}function d(){g&&(t=g._data.height,t&&(t=e(t,m,g._data["min-height"],g._data["max-height"]),w-=t,x=t,c(g,{top:0,left:y,width:v,height:t}))),h&&(t=h._data.height,t&&(t=e(t,m,h._data["min-height"],h._data["max-height"]),w-=t,c(h,{bottom:0,left:y,height:t,width:v})))}this.style.boxSizing="border-box",this.style.overflow="hidden",(this==document.body||a(this).hasClass("layout--body"))&&c(this,{top:0,bottom:0,left:0,right:0});for(var f,g,h,i,j,k=a(this).hasClass("layout--h"),l=this.clientWidth,m=this.clientHeight,n=0,o=this.children;n<o.length;){var p=o[n++],q=p.getAttribute("data-options");if(q){q=q.replace(/(['"])?([a-zA-Z0-9\-]+)(['"])?:/g,'"$2":'),q=q.replace(/'/g,'"'),q="{"+q+"}";try{q=JSON.parse(q)}catch(r){continue}var s=q.region;s&&(p._data=q,/center/i.test(s)?f=p:/north/i.test(s)?g=p:/south/i.test(s)?h=p:/east/i.test(s)?i=p:/west/i.test(s)&&(j=p))}}var t,u,v=l,w=m,x=0,y=0;k?(b(),d()):(d(),b()),f&&c(f,{top:x,left:y,width:v,height:w})})},a(function(){a(".layout").borderLayout(),a(window).resize(function(){a(".layout").borderLayout()})})}(jQuery);var i18n={"zh-cn":{"Default Mode":"默认模式","View Mode":"浏览模式","Zoom In":"放大","Zoom Out":"缩小","1:1":"1:1","Pan Mode":"平移模式",Connection:"创建连线",Export:"导出图片",Edit:"编辑",Save:"保存",Cancel:"取消",Name:"Name",Preview:"图片导出预览","Graph Size":"画布大小","Double click to select all":"双击选择全画布范围",Range:"导出范围",Scaling:"缩放比例","Output Size":"输出大小",Print:"打印",Delete:"删除","Move to ":"移动到","Add VA instance":"创建VA","Add vSwitch instance":"创建虚拟交换机","Delete Graph":"删除画布","Are you sure to delete this graph?":"确定要删除这个画布吗？","Can not delete the last graph":"不能删除最后一个画布","Product Name":"产品名称","Product Category":"产品类型",Vendor:"厂商","VA Images":"VA镜像","Virtual Network":"虚拟网络","Virtutal Switch":"虚拟交换机","User {} already in edit mode, do you want to forcibly access the edit mode?":"用户{}正在编辑,确定要强行进入编辑模式吗？","Access edit mode failed, user {} already in edit mode.":"进入编辑模式失败，用户{}正在编辑。","Graph Name":"名称","Service Topology {} existed.":"服务拓扑{}已存在。","Graph {} existed.":"画布{}已存在。","Do you want to delete this service topology?":"确定要删除这个服务拓扑吗？",Start:"起点",End:"终点","Add Topology":"添加拓扑"},ja:{"Default Mode":"デフォルトモード","View Mode":"閲覧モード","Zoom In":"拡大","Zoom Out":"縮小","1:1":"1:1","Pan Mode":"シフトモード",Connection:"中継",Export:"エクスポート",Edit:"修正",Save:"保存",Cancel:"取り消し",Name:"名称",Preview:"プレビュー","Graph Size":"大きさ","Double click to select all":"ダブルクリックしてすべてを選択",Range:"範囲",Scaling:"比例","Output Size":"画像サイズ",Print:"プリント",Delete:"削除","Move to ":"移動する","Add VA instance":"VAインスタンスの作成","Add vSwitch instance":"仮想スイッチの追加","Delete Graph":"カンバスを削除する","Are you sure to delete this graph?":"このグラフを削除してもよろしいですか？","Can not delete the last graph":"最後のグラフを削除できません。","Product Name":"プロダクト名","Product Category":"プロダクトカテゴリ",Vendor:"ベンダー","VA Images":"VAイメージ","Virtual Network":"仮想ネットワーク","Virtutal Switch":"仮想スイッチ","User {} already in edit mode, do you want to forcibly access the edit mode?":"ユーザー{}はすでに編集モードになっていますが、強制的に編集モードにアクセスしますか？","Access edit mode failed, user {} already in edit mode.":"編集モードのアクセスに失敗しました。ユーザー{}はすでに編集モードです。","Graph Name":"名称","Service Topology {} existed.":"サービストポロジ{}が存在しました。","Graph {} existed.":"グラフ{}が存在しました。","Do you want to delete this service topology?":"このサービストポロジーを削除してもよろしいですか？",Start:"出発",End:"ゴール","Add Topology":"トポロジの追加"},"zh-tw":{"Default Mode":"預設模式","View Mode":"瀏覽模式","Zoom In":"放大","Zoom Out":"縮小","1:1":"1:1","Pan Mode":"平移模式",Connection:"建立連線",Export:"匯出圖片",Edit:"編輯",Save:"存擋",Cancel:"取消",Name:"名稱",Preview:"圖片匯出預覽","Graph Size":"畫面大小","Double click to select all":"雙點擊選擇全範圍",Range:"匯出範圍",Scaling:"縮放比例","Output Size":"輸出大小",Print:"列印",Delete:"刪除","Move to ":"移動到","Add VA instance":"新增VA","Add vSwitch instance":"新增虛擬交換器","Delete Graph":"刪除圖表","Are you sure to delete this graph?":"確定刪除此圖表嗎？","Can not delete the last graph":"無法刪除最後一個圖表","Product Name":"產品名稱","Product Category":"產品類型",Vendor:"廠商","VA Images":"VA映像檔","Virtual Network":"虛擬網路","Virtutal Switch":"虛擬交換機","User {} already in edit mode, do you want to forcibly access the edit mode?":"用户{}正在编辑,确定要强行进入编辑模式吗？","Access edit mode failed, user {} already in edit mode.":"已有使用者{}正在編輯模式，因此無法進入編輯模式。","Graph Name":"圖表名稱","Service Topology {} existed.":"服務拓墣{}已存在。","Graph {} existed.":"圖表{}已存在。","Do you want to delete this service topology?":"您確定要刪除此服務拓墣嗎？",Start:"起點",End:"終點","Add Topology":"添加拓撲"}},lang=window.localStorage.lang||"en";lang=lang.toLowerCase(),!function(a,b){var c=function(a){a=a||{};var c=document.createElement(a.tagName||"div");return a["class"]&&b(c).addClass(a["class"]),a.parent&&a.parent.appendChild(c),a.style&&c.setAttribute("style",a.style),a.css&&b(c).css(a.css),a.html&&b(c).html(a.html),c};a.createElement=c}(Q,jQuery),!function(a){function b(a){a=a||window.event;var b=a.dataTransfer,c=a.target;b.setData("text",c.getAttribute(e))}
+function c(a,b,c,e){var f=document.createElement("img");return f.src=b,f.setAttribute("title",c),e=e||{},e.label=e.label||c,e.title=c,e.image||e.type&&"Node"!=e.type||(e.image=b),d(f,e),a.appendChild(f),f}function d(c,d){return c.setAttribute("draggable","true"),c.setAttribute(e,a.exportJSON?a.exportJSON(d,!0):JSON.stringify(d)),c.ondragstart=b,c}var e="draginfo",f=/MSIE 9/i.test(navigator.userAgent)||/MSIE 10/i.test(navigator.userAgent),g=!f;if(!g){var h={},i=function(a){return{x:a.pageX,y:a.pageY}},j=document.documentElement,k=function(){j.addEventListener("mousemove",function(b){if(h.target){a.stopEvent(b);var c=i(b);if(!h.dragElement){var d=h.target;if(Math.abs(c.x-h.dragPoint.x)<=5||Math.abs(c.y-h.dragPoint.y)<=5)return;var e=document.createElement("div");e.style.position="absolute",e.style.zIndex=1e4;var f=d.cloneNode(!0);/canvas/i.test(f.tagName)?f.getContext("2d").drawImage(d,0,0):(e.style.maxWidth="30px",e.style.maxWidth="30px",e.style.cursor="move"),f.id=null,e.appendChild(f),j.appendChild(e),h.dragElement=e;var g={target:d};d.ondragstart instanceof Function&&(h.dataTransfer=g.dataTransfer={datas:{},setData:function(a,b){this.datas[a]=b},getData:function(a){return this.datas[a]}},d.ondragstart(g))}h.dragElement.style.left=c.x-h.dragElement.clientWidth/2+"px",h.dragElement.style.top=c.y-h.dragElement.clientHeight/2+"px"}},!1),j.addEventListener("mouseup",function(a){if(h.target){delete h.dragPoint,delete h.target,h.dragElement&&(j.removeChild(h.dragElement),delete h.dragElement);for(var b=i(a),c=document.getElementsByClassName("Q-Graph"),d=0;d<c.length;){var e=c[d];++d;var f=n(e);if(l(f,b)){e.ondrop instanceof Function&&(a.dataTransfer=h.dataTransfer,e.ondrop(a));break}}delete h.dataTransfer}},!1)},l=function(a,b){return b.x>=a.x&&b.x<=a.x+a.width&&b.y>=a.y&&b.y<=a.y+a.height},m=function(a){for(var b=0,c=0;a.offsetParent;)b+=a.clientLeft+a.offsetLeft-a.scrollLeft,c+=a.clientTop+a.offsetTop-a.scrollTop,a=a.offsetParent;return{x:b,y:c}},n=function(a){var b=m(a),c=b.x+a.scrollLeft,d=b.y+a.scrollTop,e=a.clientWidth,f=a.clientHeight;return{x:c,y:d,left:c,top:d,right:c+e,bottom:d+f,width:e,height:f}},o=function(b){return b.onmousedown=function(c){h.dragPoint=i(c),h.target=b,a.stopEvent(c)},b};d=function(a,c){return a.setAttribute("draggable","true"),a.setAttribute(e,JSON.stringify(c)),a.ondragstart=b,o(a),a},k()}a.createDNDImage=c,a.appendDNDInfo=d}(Q),!function(a,b){var c=c||"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob&&navigator.msSaveOrOpenBlob.bind(navigator)||function(a){"use strict";if("undefined"==typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var b=a.document,c=function(){return a.URL||a.webkitURL||a},d=b.createElementNS("http://www.w3.org/1999/xhtml","a"),e="download"in d,f=function(c){var d=b.createEvent("MouseEvents");d.initMouseEvent("click",!0,!1,a,0,0,0,0,0,!1,!1,!1,!1,0,null),c.dispatchEvent(d)},g=a.webkitRequestFileSystem,h=a.requestFileSystem||g||a.mozRequestFileSystem,i=function(b){(a.setImmediate||a.setTimeout)(function(){throw b},0)},j="application/octet-stream",k=0,l=500,m=function(b){var d=function(){"string"==typeof b?c().revokeObjectURL(b):b.remove()};a.chrome?d():setTimeout(d,l)},n=function(a,b,c){b=[].concat(b);for(var d=b.length;d--;){var e=a["on"+b[d]];if("function"==typeof e)try{e.call(a,c||a)}catch(f){i(f)}}},o=function(b,i){var l,o,p,q=this,r=b.type,s=!1,t=function(){n(q,"writestart progress write writeend".split(" "))},u=function(){if(!s&&l||(l=c().createObjectURL(b)),o)o.location.href=l;else{var d=a.open(l,"_blank");void 0==d&&"undefined"!=typeof safari&&(a.location.href=l)}q.readyState=q.DONE,t(),m(l)},v=function(a){return function(){if(q.readyState!==q.DONE)return a.apply(this,arguments)}},w={create:!0,exclusive:!1};return q.readyState=q.INIT,i||(i="download"),e?(l=c().createObjectURL(b),d.href=l,d.download=i,f(d),q.readyState=q.DONE,t(),void m(l)):(a.chrome&&r&&r!==j&&(p=b.slice||b.webkitSlice,b=p.call(b,0,b.size,j),s=!0),g&&"download"!==i&&(i+=".download"),(r===j||g)&&(o=a),h?(k+=b.size,void h(a.TEMPORARY,k,v(function(a){a.root.getDirectory("saved",w,v(function(a){var c=function(){a.getFile(i,w,v(function(a){a.createWriter(v(function(c){c.onwriteend=function(b){o.location.href=a.toURL(),q.readyState=q.DONE,n(q,"writeend",b),m(a)},c.onerror=function(){var a=c.error;a.code!==a.ABORT_ERR&&u()},"writestart progress write abort".split(" ").forEach(function(a){c["on"+a]=q["on"+a]}),c.write(b),q.abort=function(){c.abort(),q.readyState=q.DONE},q.readyState=q.WRITING}),u)}),u)};a.getFile(i,{create:!1},v(function(a){a.remove(),c()}),v(function(a){a.code===a.NOT_FOUND_ERR?c():u()}))}),u)}),u)):void u())},p=o.prototype,q=function(a,b){return new o(a,b)};return p.abort=function(){var a=this;a.readyState=a.DONE,n(a,"abort")},p.readyState=p.INIT=0,p.WRITING=1,p.DONE=2,p.error=p.onwritestart=p.onprogress=p.onwrite=p.onabort=p.onerror=p.onwriteend=null,q}}("undefined"!=typeof self&&self||"undefined"!=typeof a&&a||this.content);"undefined"!=typeof module&&null!==module?module.exports=c:"undefined"!=typeof define&&null!==define&&null!=define.amd&&define([],function(){return c}),a.saveAs=c}(window,document),!function(a){function b(b,c,d){var e=b.name;if(a.isString(c)){var f=new RegExp("."+c+"$","gi");if(!f.test(e))return void alert("Please selects ."+c+" file")}else c instanceof Function&&(d=c);var g=new FileReader;g.onload=function(a){d(g.result)},g.readAsText(b,"utf-8")}window.requestFileSystem=window.requestFileSystem||window.webkitRequestFileSystem,a.isFileSupported=null!=window.requestFileSystem,a.isFileSupported&&(a.readerSingleFile=b)}(Q),!function(a,b,c){function d(a){this._refs={},a&&(this.root=a.root)}function e(a){if(!(a instanceof Object))return!a;if(Array.isArray(a))return 0==a.length;for(var b in a)return!1;return!0}function f(a,c){var d=a.split(".");c=c||b;for(var e=-1;c&&++e<d.length;){var f=d[e];c=c[f]}return c}function g(a,b,c){if(a._classPath=b,a instanceof Function&&(a.prototype._className=a._classPath,a.prototype._class=a),c!==!1)for(var d in a)if(!("_"==d[0]||"$"==d[0]||"superclass"==d||"constructor"==d||"prototype"==d||d.indexOf(".")>=0)){var e=a[d];e&&e instanceof Object&&!e._classPath&&g(e,b+"."+d)}}function h(a){var b=a._className;if(!b)return null;var c=o[b];if(!c){var d=a._class;c=o[b]=new d}return c}function i(a,b){return a==b||a&&b&&a.equals&&a.equals(b)}function j(a,b,c,d){var e=h(d);b.forEach(function(b){var f=d[b];if(!i(f,e[b])){var g=a.toJSON(f);!g&&f||(c[b]=g)}},d)}function k(a,b){var c;for(var d in b)c||(c={}),c[d]=a.toJSON(b[d]);return c}function l(a){a&&(this.withGlobalRefs=a.withGlobalRefs!==!1),this.reset()}function m(a,b){var c=new l,d={version:"2.0",refs:{}},f=[],g={};if(a.currentSubNetwork){var h=c.elementToJSON(a.currentSubNetwork);h&&(d.currentSubNetwork={_ref:h._refId=a.currentSubNetwork.id})}if(a.forEach(function(a){if(!b||b(a)!==!1){var d=c.elementToJSON(a);d&&(f.push(d),g[a.id]=d)}}),c._elementRefs)for(var i in c._elementRefs)g[i]._refId=i;c._globalRefs&&(d.refs=c._globalRefs),c.clearRef(),d.datas=f;for(var j in d)e(d[j])&&delete d[j];return d}function n(a){var b=a.indexOf(".");return b<0?parseFloat(a):(a=a.substring(0,b)+"."+a.substring(b).replace(/\./g,""),parseFloat(a))}if(!a.Graph.prototype.parseJSON){d.prototype={_refs:null,_index:1,root:null,reset:function(){this._refs={},this._index=1},getREF:function(a){return this._refs[a]},clearRef:function(){for(var a in this._refs){var b=this._refs[a],c=b._value;c&&(c._refed||delete b._refId,delete c._refed,delete c._refId,delete b._value)}this.reset()},toJSON:function(a){if(!(a instanceof Object))return a;if(a instanceof Function&&!a._classPath)return null;if(void 0!==a._refId)return a._refed=!0,{_ref:a._refId};var b=this._index++;a._refId=b;var c=this._toJSON(a);return c._refId=b,c._value=a,this._refs[b]=c,c},_toJSON:function(a){if(a._classPath)return{_classPath:a._classPath};if(!a._className)return a;var b={_className:a._className};return a.toJSON?b.json=a.toJSON(this):b.json=a,b},parseJSON:function(a){return a instanceof Object?void 0!==a._ref?this._refs[a._ref]:void 0!==a._refId?this._refs[a._refId]=this._parseJSON(a):this._parseJSON(a):a},_parseJSON:function(a){if(a._classPath)return f(a._classPath);if(a._className){var b=f(a._className),c=new b;if(void 0!==a._refId&&(this._refs[a._refId]=c),c&&a.json)if(a=a.json,c.parseJSON)c.parseJSON(a,this);else for(var d in a)c[d]=a[d];return c}return a}};var o={};a.HashList.prototype.toJSON=function(a){var b=[];return this.forEach(function(c){b.push(a.toJSON(c))}),b},a.HashList.prototype.parseJSON=function(a,b){a.forEach(function(a){this.add(b.parseJSON(a))},this)};var p={"class":!1,id:!1,fillGradient:!1,syncSelectionStyles:!1,originalBounds:!1,parent:!1,font:!1,$data:!1,$x:!1,$y:!1};a.BaseUI.prototype.toJSON=function(a){var b={};for(var c in this)if("_"!=c[0]&&("$"!=c[0]||"_"!=c[1])&&0!=c.indexOf("$invalidate")&&p[c]!==!1){var d=this[c];if(!(d instanceof Function||d==this["class"].prototype[c]))try{b[c]=a.toJSON(d)}catch(e){}}return b},a.BaseUI.prototype.parseJSON=function(a,b){for(var c in a){var d=b.parseJSON(a[c]);this[c]=d}};var q=["enableSubNetwork","zIndex","tooltipType","tooltip","movable","selectable","resizable","uiClass","name","parent","host"];a.Element.prototype.toJSON=function(a){var b={},c=q;if(this.outputProperties&&(c=c.concat(this.outputProperties)),j(a,c,b,this),this.styles){var d=k(a,this.styles);d&&(b.styles=d)}if(this.properties){var e=k(a,this.properties);e&&(b.properties=e)}var f=this.bindingUIs;if(f){var g=[];f.forEach(function(b){var c=a.toJSON(b.ui);g.push({ui:c,bindingProperties:b.bindingProperties})}),b.bindingUIs=g}return b},a.Element.prototype.parseJSON=function(a,b){if(a.styles){var c={};for(var d in a.styles)c[d]=b.parseJSON(a.styles[d]);this.putStyles(c,!0)}if(a.properties){var e={};for(var d in a.properties)e[d]=b.parseJSON(a.properties[d]);this.properties=e}a.bindingUIs&&a.bindingUIs.forEach(function(a){var c=b.parseJSON(a.ui);c&&this.addUI(c,a.bindingProperties)},this);for(var d in a)if("styles"!=d&&"properties"!=d&&"bindingUIs"!=d){var f=b.parseJSON(a[d]);this[d]=f}},a.Node.prototype.toJSON=function(b){var c=a.doSuper(this,a.Node,"toJSON",arguments);return j(b,["location","size","image","rotate","anchorPosition"],c,this),c},a.Group.prototype.toJSON=function(b){var c=a.doSuper(this,a.Group,"toJSON",arguments);return j(b,["minSize","groupType","padding","groupImage","expanded"],c,this),c},a.ShapeNode.prototype.toJSON=function(b){var c=a.doSuper(this,a.Node,"toJSON",arguments);return j(b,["location","rotate","anchorPosition","path"],c,this),c},a.Edge.prototype.toJSON=function(b){var c=a.doSuper(this,a.Edge,"toJSON",arguments);return j(b,["from","to","edgeType","angle","bundleEnabled","pathSegments"],c,this),c},l.prototype={_refs:null,_refValues:null,_index:1,root:null,reset:function(){this._globalRefs={},this._elementRefs={},this._refs={},this._refValues={},this._index=1},getREF:function(a){return this._refs[a]},clearRef:function(){for(var a in this._globalRefs)delete this._globalRefs[a]._value;for(var a in this._refValues)delete this._refValues[a]._refId;this.reset()},elementToJSON:function(a){return this._toJSON(a)},_elementRefs:null,_globalRefs:null,withGlobalRefs:!0,toJSON:function(b){if(!(b instanceof Object))return b;if(b instanceof Function&&!b._classPath)return null;if(!this.withGlobalRefs)return this._toJSON(b);if(b instanceof a.Element)return this._elementRefs[b.id]=!0,{_ref:b.id};if(void 0===b._refId){var c=this._toJSON(b);if(!c)return c;var d=b._refId=this._index++;return this._refValues[d]=b,this._refs[d]=c,c}var d=b._refId;if(!this._globalRefs[d]){var c=this._refs[d];if(!c)return c;var e={};for(var f in c)e[f]=c[f],delete c[f];c.$ref=d,this._globalRefs[d]=e}return{$ref:d}},_toJSON:function(b){if(b._classPath)return{_classPath:b._classPath};if(!b._className){if(a.isArray(b)){var c=[];return b.forEach(function(a){c.push(this.toJSON(a))},this),c}c={};var d;b["class"]&&(d=b["class"].prototype);for(var e in b){var f=b[e];f instanceof Function||d&&f==d[e]||(c[e]=this.toJSON(b[e]))}return c}var g={_className:b._className};return b.toJSON?g.json=b.toJSON(this):g.json=b,g},jsonToElement:function(a){return void 0!==a._refId&&a._refId in this._refs?this._refs[a._refId]:this._parseJSON(a)},parseJSON:function(a){if(!(a instanceof Object))return a;if(!this.withGlobalRefs)return this._parseJSON(a);if(void 0!==a.$ref){var b=this._globalRefs[a.$ref];if(!b)return;return void 0===b._value&&(b._value=this.parseJSON(b)),b._value}if(void 0!==a._ref){var c=this._elementRefs[a._ref];if(!c)return;return this.jsonToElement(c)}return this._parseJSON(a)},_parseJSON:function(b){if(!(b instanceof Object))return b;if(b._classPath)return f(b._classPath);if(b._className){var c=f(b._className),d=new c;if(this.withGlobalRefs&&void 0!==b._refId&&(this._refs[b._refId]=d),d&&b.json)if(b=b.json,d.parseJSON)d.parseJSON(b,this);else for(var e in b)d[e]=b[e];return d}if(a.isArray(b)){var g=[];return b.forEach(function(a){g.push(this.parseJSON(a))},this),g}var g={};for(var h in b)g[h]=this.parseJSON(b[h]);return g}},a.GraphModel.prototype.toJSON=function(a){return m(this,a)},a.GraphModel.prototype.parseJSON=function(b,c){var e=b.datas;if(e&&e.length>0){if(n(b.version)<=1.7){var f=new d(c),e=b.datas;return e.forEach(function(b){var c=f.parseJSON(b);c instanceof a.Element&&this.add(c)},this),void f.reset()}var f=new l(c,b.g),g={};if(e.forEach(function(a){a._refId&&(g[a._refId]=a)}),f._globalRefs=b.refs||{},f._elementRefs=g,e.forEach(function(b){var c=f.jsonToElement(b);c instanceof a.Element&&this.add(c)},this),b.currentSubNetwork){var h=f.getREF(b.currentSubNetwork._ref);h&&(this.currentSubNetwork=h)}f.clearRef()}},a.Graph.prototype.toJSON=a.Graph.prototype.exportJSON=function(a,b){b=b||{};var c=this.graphModel.toJSON(b.filter);return c.scale=this.scale,c.tx=this.tx,c.ty=this.ty,a&&(c=JSON.stringify(c,b.replacer,b.space||"\t")),c},a.Graph.prototype.parseJSON=function(b,c){a.isString(b)&&(b=JSON.parse(b)),this.graphModel.parseJSON(b,c);var d=b.scale;d&&(this.originAtCenter=!1,this.translateTo(b.tx||0,b.ty||0,d))},g(a,"Q"),a.loadClassPath=g,a.exportJSON=function(a,b){try{var c=new l({withGlobalRefs:!1}).toJSON(a);return b?JSON.stringify(c):c}catch(d){}},a.parseJSON=function(b){try{return a.isString(b)&&(b=JSON.parse(b)),new l({withGlobalRefs:!1}).parseJSON(b)}catch(c){}}}}(Q,window,document);var ArrayNode={};!function(a){function b(c,d,e){a.doSuperConstructor(this,b,arguments),this.editable=!1,this.zIndex=8,this.node=!0,this.type="ArrayNode.BaseNode",this.size={width:40,height:40},this._update()}function c(b,d,e){a.doSuperConstructor(this,c,arguments),this.type="ArrayNode.vAPP",this.name=b,this.va_vendor="",this.product="",this.category="",this.va_image="",this.status=404,this._update()}function d(b,c,e){a.doSuperConstructor(this,d,arguments),this.type="ArrayNode.vSwitch",this.image="logicview/data/array/vsw.png",this._update()}function e(b,c,d){a.doSuperConstructor(this,e,arguments),this.movable=!1,this.type="ArrayNode.Port",this.image="logicview/data/array/port.png",this.size={width:30,height:30},this._update()}function f(b,c,d){a.doSuperConstructor(this,f,arguments),this.type="ArrayNode.PointNode",this.image="",this.disable_edge_from=!1,this.disable_edge_to=!1,this._update()}function g(b,c){a.doSuperConstructor(this,g,arguments),this.name=b.name+">"+c.name,this.editable=!1,this.movable=!1,this.data=null,this.type="ArrayNode.ConnectLine",this._update()}function h(b,c){a.doSuperConstructor(this,h,arguments),this.name=b.name+">"+c.name,this.editable=!1,this.movable=!1,this.type="ArrayNode.ServiceLine",this.connet_status=404,this._update()}function i(a,b){a.name in ArrayNode.global_config_data?ArrayNode.loaddata(a,ArrayNode.global_config_data[a.name]):ArrayNode.save(a);var c=[];a.forEach(function(d){if("ArrayNode.vAPP"==d.type){if(!(d.name in b))return console.log("instance is removed"),void c.push(d.id);if(d.product!=b[d.name].product)return console.log("instance is removed"),void c.push(d.id);for(var e=b[d.name].va_port,f=[],g=0;g<e.length;g++)f.push({name:e[g].port_name[0].interface_name,vf:e[g].vf_index});d.forEachEdge(function(a){var b=a.otherNode(d);if("ArrayNode.Port"==b.type){for(var e=-1,g=0;g<f.length;g++)if(f[g].name==b.name&&f[g].vf==a.data.vf){e=g;break}e<0?c.push(a.id):f.splice(e,1)}});for(var g=0;g<f.length;g++)(f[g].vf||0==parseInt(f[g].vf))&&ArrayNode.CreateConnectPort(a,ArrayNode.getPortNode(a,f[g].name),d,f[g].vf);d.va_image||(d.va_image=b[d.name].image_name,d.image=ArrayNode.get_va_icon(d.va_image)),delete b[d.name]}});for(var d=0;d<c.length;d++)a.removeElement(c[d]);var e=90;for(var d in b)if(!(ArrayNode.global_config_data._va_node_list&&d in ArrayNode.global_config_data._va_node_list)){var f=ArrayNode.CreatevAPP(a,b[d].va_name,e,400,b[d].va_vendor,b[d].product,b[d].category,b[d].image_name);e+=100;for(var g=0;g<b[d].va_port.length;g++){var h=b[d].va_port[g],i=h.port_name[0].interface_name,j=h.vf_index;(j||0==parseInt(j))&&ArrayNode.CreateConnectPort(a,ArrayNode.getPortNode(a,i),f,j)}}}function j(a,b){var c=[];a.forEach(function(d){if("ArrayNode.vSwitch"==d.type)if(d.name in b){var e=b[d.name].interfaces,f=b[d.name].va_tgt;d.forEachEdge(function(a){var b=a.otherNode(d);if("ArrayNode.Port"==b.type){for(var g=-1,h=0;h<e.length;h++)if(e[h]==b.name){g=h;break}g<0?c.push(a.id):e.splice(g,1)}else if("ArrayNode.vAPP"==b.type){for(var g=-1,h=0;h<f.length;h++)if(f[h].va==b.name){g=h;break}g<0?c.push(a.id):f.splice(g,1)}});for(var g=0;g<e.length;g++)ArrayNode.CreateConnectPortvSwitch(a,ArrayNode.getPortNode(a,e[g]),d);if(f)for(var g=0;g<f.length;g++){var h=ArrayNode.getVaNode(a,f[g].va);h&&ArrayNode.CreateConnectvSwtich(a,h,d,f[g].vport,f[g].tag,f[g].number)}delete b[d.name]}else console.log("vswitch is removed"),c.push(d.id)});for(var d=0;d<c.length;d++)a.removeElement(c[d]);var e=90;for(var d in b)if(!(ArrayNode.global_config_data._vs_node_list&&d in ArrayNode.global_config_data._vs_node_list)){var f=ArrayNode.CreatevSwitch(a,d,e,250);e+=100;for(var g=0;g<b[d].interfaces.length;g++)ArrayNode.CreateConnectPortvSwitch(a,ArrayNode.getPortNode(a,b[d].interfaces[g]),f);if(b[d].va_tgt)for(var g=0;g<b[d].va_tgt.length;g++){var h=ArrayNode.getVaNode(a,b[d].va_tgt[g].va);h&&ArrayNode.CreateConnectvSwtich(a,h,f,b[d].va_tgt[g].vport,b[d].va_tgt[g].tag,b[d].va_tgt[g].number)}}}function k(a,b,c){$("#content").trigger(a,[c,b])}b.prototype={_update:function(){},save:function(){var a={id:this.id,name:this.name,type:this.type,x:this.location.x,y:this.location.y,host:this.host?this.host.id:void 0,parent:this.parent?this.parent.id:void 0,image:this.image};return a},load:function(a,b){this.id=b.id,this.name=b.name,this.type=b.type,this.setLocation(b.x,b.y),this.host=a.getElement(b.host),this.parent=a.getElement(b.parent),b.image&&(this.image=b.image)},detail_data:function(){var a={name:this.name,id:this.id,type:this.type,_src_:"graph"};return a},delete_cli:function(b){var c=this.get_post_data();c.csrfmiddlewaretoken=ArrayNode.csrf,$.ajax({type:"POST",url:this.del_url(),dataType:"json",data:c,success:function(c){"None"==c?b&&b():0==c[0]?a.alert(c[1]):c[1].length>0?(a.alert(c[1][1]),"warning"==c[1][0]&&b&&b()):b&&b()},complete:function(a,c){a=null,"parsererror"==c&&b&&b()}})},delete_graph_only:function(a,b){a.removeElement(this.id),b&&b()},"delete":function(a,b){var c=this;this.delete_cli(function(){c.delete_graph_only(a,b)})},get_post_data:function(){return alert("get_post_data not set"),{}},del_url:function(){return alert("del_url not set"),""}},a.extend(b,a.Node),ArrayNode.BaseNode=b,c.prototype={_update:function(){this.status_ok_timer=null,this.status_ok_idx=0,this.timer=null,this.lamp=null,this.ui_added=!1},add_ui:function(){if(!this.ui_added){var b=new a.ImageUI(a.Shapes.getShape(a.Consts.SHAPE_CIRCLE,-3.5,-3.5,7,7));b.lineWidth=1.5,b.strokeStyle="#FFFFFF",b.position={x:8,y:8},b.zIndex=9,this.lamp=b,this.addUI(this.lamp,{property:"lampColor",propertyType:a.Consts.PROPERTY_TYPE_CLIENT,bindingProperty:"fillColor"}),this.ui_added=!0}},remove_ui:function(){if(this.ui_added){var a=this.lamp.id;this.removeUI(this.lamp),ArrayNode.graph.removeElement(a),this.ui_added=!1}},save:function(){var a={id:this.id,name:this.name,type:this.type,x:this.location.x,y:this.location.y,host:this.host?this.host.id:void 0,parent:this.parent?this.parent.id:void 0,image:this.image,va_vendor:this.va_vendor,product:this.product,category:this.category,va_image:this.va_image};return a},load:function(a,b){this.id=b.id,this.name=b.name,this.type=b.type,this.setLocation(b.x,b.y),this.host=a.getElement(b.host),this.parent=a.getElement(b.parent),b.va_image&&(this.va_image=b.va_image),b.image&&(this.image=b.image),this.va_vendor=b.va_vendor,this.product=b.product,this.category=b.category},detail_data:function(){var a={name:this.name,id:this.id,type:this.type,va_vendor:this.va_vendor,product:this.product,category:this.category,icon:this.image,va_image:this.va_image,_src_:"graph"};return a},get_post_data:function(){var a={pk:JSON.stringify({va_name:this.name})};return a},del_url:function(){return"/api/avx/va/instance/VAInstance/_delete"},delete_graph_only:function(a,b){this.disable_auto_status_refresh(),this.status_ok_timer&&(clearInterval(this.status_ok_timer),this.status_ok_timer=null),a.removeElement(this.id),b&&b()},"delete":function(a,b){this.disable_auto_status_refresh();var c=this;this.delete_cli(function(){c.delete_graph_only(a,b)})},style_up:function(){404==this.status?this.name?this.remove_ui():this.remove_ui():this.status==-1?(this.add_ui(),this.set("lampColor","#708090")):0==this.status?(this.add_ui(),this.set("lampColor","#CD3333")):1==this.status&&(this.add_ui(),this.set("lampColor","#7CCD7C"))},status_refresh:function(){if(0==$("#editor").length)return void this.disable_auto_status_refresh();if(!this.name)return void(this.status=404);var a=this;$.ajax({url:"/avx/checkvastatus/"+this.name,dataType:"json",success:function(b){b[0]?(a.status=b[1],a.style_up()):"404"==b[1]?(a.name="",a.status=404):console.log("error:"+b[1])}})},enable_auto_status_refresh:function(){var a=this;a.status_refresh(),this.timer=setInterval(function(){a.status_refresh()},15e3)},disable_auto_status_refresh:function(){this.timer&&(clearInterval(this.timer),this.timer=null),this.status_ok_timer&&(clearInterval(this.status_ok_timer),this.status_ok_timer=null)}},a.extend(c,ArrayNode.BaseNode),ArrayNode.vAPP=c,ArrayNode.va_icon_list={},ArrayNode.get_va_icon=function(a){return a in ArrayNode.va_icon_list?ArrayNode.va_icon_list[a]:"/media/img/icons/avx/prd_default_chain_default.png"},ArrayNode.CreatevAPP=function(a,b,c,d,e,f,g,h,i){var j=new ArrayNode.vAPP(b,c,d);return j.va_vendor=e,j.product=f,j.category=g,j.image=h,i?j.image=i:j.image=ArrayNode.get_va_icon(h),a.addElement(j,!0),j},d.prototype={_update:function(){},get_post_data:function(){var a={pk:JSON.stringify({name:this.name})};return a},del_url:function(){return"/api/avx/network/vswitch/VirtualSwitch/_delete"}},a.extend(d,ArrayNode.BaseNode),ArrayNode.vSwitch=d,ArrayNode.CreatevSwitch=function(a,b,c,d){var e=new ArrayNode.vSwitch(b,c,d);return a.addElement(e,!0),e},e.prototype={_update:function(){this.setStyle(a.Styles.LABEL_FONT_SIZE,.1),this.setStyle(a.Styles.LABEL_COLOR,"rgba(0,0,0,0)")},save:function(){var a={id:this.id,name:this.name,type:this.type,x:this.location.x,y:this.location.y,host:this.host?this.host.id:void 0,parent:this.parent?this.parent.id:void 0};return a},load:function(a,b){this.setLocation(b.x,b.y)}},a.extend(e,ArrayNode.BaseNode),ArrayNode.Port=e,ArrayNode.CreatePort=function(a,b,c,d){var e=new ArrayNode.Port(b,c,d);return a.addElement(e,!0),e},f.prototype={_update:function(){},save:function(){var a={id:this.id,name:this.name,type:this.type,x:this.location.x,y:this.location.y,host:this.host?this.host.id:void 0,parent:this.parent?this.parent.id:void 0,image:this.image,disable_edge_from:this.disable_edge_from,disable_edge_to:this.disable_edge_to};return a},load:function(a,b){this.id=b.id,this.name=b.name,this.type=b.type,this.setLocation(b.x,b.y),this.host=a.getElement(b.host),this.parent=a.getElement(b.parent),b.image&&(this.image=b.image),this.disable_edge_to=b.disable_edge_to,this.disable_edge_from=b.disable_edge_from},"delete":function(a,b){this.delete_graph_only(a,b)},detail_data:function(){var a={name:this.name,id:this.id,type:this.type,disable_edge_to:this.disable_edge_to,_src_:"graph"};return a}},a.extend(f,ArrayNode.BaseNode),ArrayNode.PointNode=f,ArrayNode.CreatePointNode=function(a,b,c,d,e,f){var g=new ArrayNode.PointNode(b,c,d);return g.image=e,f?g.disable_edge_from=!0:g.disable_edge_to=!0,a.addElement(g,!0),g},g.prototype={_update:function(){this.setStyle(a.Styles.ARROW_TO,!1),"ArrayNode.Port"==this.to.type?(this.setStyle(a.Styles.EDGE_COLOR,"rgba(0,0,128,1)"),this.setStyle(a.Styles.EDGE_FROM_AT_EDGE,!0),this.setStyle(a.Styles.EDGE_TO_AT_EDGE,!1)):"ArrayNode.Port"==this.from.type?(this.setStyle(a.Styles.EDGE_COLOR,"rgba(0,0,128,1)"),this.setStyle(a.Styles.EDGE_FROM_AT_EDGE,!1),this.setStyle(a.Styles.EDGE_TO_AT_EDGE,!0)):(this.setStyle(a.Styles.EDGE_COLOR,"rgba(0,0,0,1)"),this.setStyle(a.Styles.EDGE_FROM_AT_EDGE,!0),this.setStyle(a.Styles.EDGE_TO_AT_EDGE,!0)),this.setStyle(a.Styles.LABEL_FONT_SIZE,.1),this.setStyle(a.Styles.LABEL_COLOR,"rgba(0,0,0,0)"),this.zIndex=10},save:function(){var a={id:this.id,name:this.name,type:this.type,to:this.to.id,from:this.from.id,host:this.host?this.host.id:void 0,parent:this.parent?this.parent.id:void 0,data:this.data};return a},load:function(a,b){this.id=b.id,this.name=b.name,this.host=a.getElement(b.host),this.parent=a.getElement(b.parent),this.data=b.data},detail_data:function(){var a={from:this.from.name,to:this.to.name,id:this.id,_src_:"graph",data:this.data};return a},delete_cli:function(b){var c=this.get_post_data();c.csrfmiddlewaretoken=ArrayNode.csrf,$.ajax({type:"POST",url:this.del_url(),dataType:"json",data:c,success:function(c){"None"==c?b&&b():2==c.length?0==c[0]?a.alert(c[1]):c[1].length>0?(a.alert(c[1][0][1]),"warning"==c[1][0][1]&&b&&b()):b&&b():3==c.length&&(0==c[0]?a.alert(c[2][0]):(c[2].length>0&&a.alert(c[2][0]),b&&b()))},complete:function(a,c){a=null,"parsererror"==c&&b&&b()}})},delete_graph_only:function(a,b){a.removeElement(this.id),b&&b()},"delete":function(a,b){var c=this;this.delete_cli(function(){c.delete_graph_only(a,b)})},get_post_data:function(){if("port_to_va"==this.data.type){var a="",b="",c=this.data.vf;"ArrayNode.Port"==this.to.type?(a=this.from.name,b=this.to.name):"ArrayNode.Port"==this.from.type&&(a=this.to.name,b=this.from.name);var d={pk:JSON.stringify([{port_name:[{_asso_idx:0,interface_name:b}],va:[{_asso_idx:0,va_name:a}],vf_index:parseInt(c)}])}}else if("switch_to_va"==this.data.type){var a="",e="",f=this.data.vport;"ArrayNode.vSwitch"==this.to.type?(a=this.from.name,e=this.to.name):"ArrayNode.vSwitch"==this.from.type&&(a=this.to.name,e=this.from.name);var d={pk:JSON.stringify({va:[{_asso_idx:0,va_name:a}],vport:f,vs_name:[{_asso_idx:0,name:e}]})}}else if("port_to_swtich"==this.data.type){var b="";if("ArrayNode.vSwitch"==this.to.type){var e=this.to;b=this.from.name}else if("ArrayNode.vSwitch"==this.from.type){var e=this.from;b=this.to.name}var g=[];e.forEachEdge(function(a){var c=a.otherNode(e);if("ArrayNode.Port"==c.type){if(c.name==b)return;g.push({interface_name:c.name,_asso_idx:"0"})}});var d={post_data:JSON.stringify({interfaces:g})}}return d},del_url:function(){if("port_to_va"==this.data.type)return"/api/avx/network/interface/PortVF/_delete2";if("switch_to_va"==this.data.type)return"/api/avx/network/vswitch/VirtualSwitchVA/_delete";if("port_to_swtich"==this.data.type){if("ArrayNode.vSwitch"==this.to.type)var a=this.to.name;else if("ArrayNode.vSwitch"==this.from.type)var a=this.from.name;return'/api/avx/network/vswitch/VirtualSwitch/_update/name/"'+a+'"'}}},a.extend(g,a.Edge),ArrayNode.ConnectLine=g,ArrayNode.CreateConnectPort=function(a,b,c,d){var e=new ArrayNode.ConnectLine(b,c);return e.data={type:"port_to_va",vf:d},a.addElement(e,!0),e},ArrayNode.CreateConnectvSwtich=function(a,b,c,d,e,f){var g=new ArrayNode.ConnectLine(b,c);return g.data={type:"switch_to_va",vport:d,vlan:e,queues:f},a.addElement(g,!0),g},ArrayNode.CreateConnectPortvSwitch=function(a,b,c){var d=new ArrayNode.ConnectLine(b,c);return d.data={type:"port_to_swtich"},a.addElement(d,!0),d},h.prototype={_update:function(){this.setStyle(a.Styles.ARROW_TO,a.Consts.SHAPE_ARROW_7),this.setStyle(a.Styles.EDGE_FROM_AT_EDGE,!0),this.setStyle(a.Styles.EDGE_TO_AT_EDGE,!0),this.setStyle(a.Styles.EDGE_COLOR,"rgba(0,0,0,1)"),this.setStyle(a.Styles.LABEL_FONT_SIZE,.1),this.setStyle(a.Styles.LABEL_COLOR,"rgba(0,0,0,0)"),this.zIndex=10,this.timer=null,this.connect_ok_timer=null,this.connect_ok_idx=0},save:function(){var a={id:this.id,name:this.name,type:this.type,to:this.to.id,from:this.from.id,host:this.host?this.host.id:void 0,parent:this.parent?this.parent.id:void 0};return a},load:function(a,b){this.id=b.id,this.name=b.name,this.host=a.getElement(b.host),this.parent=a.getElement(b.parent)},detail_data:function(){var a={from:this.from.name,to:this.to.name,from_type:this.from.type,to_type:this.to.type,id:this.id,_src_:"graph"};return a},delete_graph_only:function(a,b){this.disable_auto_status_refresh(),a.removeElement(this.id),b&&b()},"delete":function(a,b){this.delete_graph_only(a,b)},remove_ui:function(){if(this.icon){var a=this.icon.id;this.removeUI(this.icon),ArrayNode.graph.removeElement(a),this.icon=void 0}},style_up:function(){if(this.connect_ok_timer&&(clearInterval(this.connect_ok_timer),this.connect_ok_timer=null),404==this.connet_status)this.setStyle(a.Styles.EDGE_LINE_DASH,[2,1]),this.setStyle(a.Styles.ARROW_TO_FILL_COLOR,"rgba(0,0,0,1)");else if(this.connet_status==-1)this.setStyle(a.Styles.EDGE_LINE_DASH,[2,1]),this.setStyle(a.Styles.ARROW_TO_FILL_COLOR,"rgba(0,0,0,1)");else if(0==this.connet_status){if(this.icon){if("logicview/data/array/false.png"==this.icon.image)return;this.remove_ui()}this.setStyle(a.Styles.EDGE_LINE_DASH,[0]);var b=new a.ImageUI("logicview/data/array/false.png");b.size={width:10,height:10},b.position=a.Position.CENTER_MIDDLE,this.icon=b,this.addUI(b)}else if(1==this.connet_status){if(this.icon){if("logicview/data/array/true.png"==this.icon.image)return;this.remove_ui()}this.setStyle(a.Styles.EDGE_LINE_DASH,[0]);var b=new a.ImageUI("logicview/data/array/true.png");b.size={width:10,height:10},b.position=a.Position.CENTER_MIDDLE,this.icon=b,this.addUI(b)}else 2==this.connet_status?(this.setStyle(a.Styles.EDGE_LINE_DASH,[2,1]),this.setStyle(a.Styles.ARROW_TO,a.Consts.SHAPE_ARROW_7)):4==this.connet_status&&(this.setStyle(a.Styles.EDGE_LINE_DASH,[2,1]),this.setStyle(a.Styles.ARROW_TO,a.Consts.SHAPE_ARROW_7))},status_refresh:function(){if(0==$("#editor").length)return void this.disable_auto_status_refresh();if(!this.to.name||!this.from.name)return void(this.connet_status=404);var a=this;$.ajax({url:"/avx/testconnection/"+this.from.name+"/"+this.to.name,dataType:"json",success:function(b){a.connet_status=b[0],a.connet_status_msg=b[1],a.style_up()}})},enable_auto_status_refresh:function(){var a=this;a.status_refresh(),this.timer=setInterval(function(){a.status_refresh()},15e3)},disable_auto_status_refresh:function(){this.timer&&(clearInterval(this.timer),this.timer=null),this.connect_ok_timer&&(clearInterval(this.connect_ok_timer),this.connect_ok_timer=null)}},a.extend(h,a.Edge),ArrayNode.ServiceLine=h,ArrayNode.CreateServiceLine=function(a,b,c){var d=new ArrayNode.ServiceLine(b,c);return a.addElement(d,!0),d.style_up(),d.enable_auto_status_refresh(),d},ArrayNode.sync_cli=function(a){var b={},c=!1,d={},e=!1,f=!1,g=!1,h={};$.ajax({url:"/api/avx/va/image/VAImageManagement/_get_list_data?key="+JSON.stringify(["image_name","vendor","product_category","product_name","icon","other_category"]),dataType:"json",success:function(k){for(var l=0;l<k.length;l++){var m=k[l];d[m.image_name]=m,ArrayNode[k[l].image_name]=k[l].icon}if(c){for(var n in b)b[n].va_vendor=d[b[n].tgt_name[0].image_name].vendor,b[n].product=d[b[n].tgt_name[0].image_name].product_name,
+b[n].category=d[b[n].tgt_name[0].image_name].product_category,"Other"==b[n].category&&(b[n].category=d[b[n].tgt_name[0].image_name].other_category),b[n].image_name=b[n].tgt_name[0].image_name;i(a,b),ArrayNode.save(a),g?(j(a,h),ArrayNode.save(a)):f=!0}else e=!0}}),$.ajax({url:"/api/avx/va/instance/VAInstance/_get_list_data?no_rest="+JSON.stringify(!0)+"&key="+JSON.stringify(["va_name","va_port","tgt_name"]),dataType:"json",success:function(k){for(var l=0;l<k.length;l++){var m=k[l];b[m.va_name]=m,e&&(b[m.va_name].va_vendor=d[m.tgt_name[0].image_name].vendor,b[m.va_name].product=d[m.tgt_name[0].image_name].product_name,b[m.va_name].category=d[m.tgt_name[0].image_name].product_category,b[m.va_name].image_name=m.tgt_name[0].image_name)}e?(i(a,b),ArrayNode.save(a),g?(j(a,h),ArrayNode.save(a)):f=!0):c=!0}}),$.ajax({url:"/api/avx/network/vswitch/VirtualSwitch/_get_list_data",dataType:"json",success:function(b){for(var c=0;c<b.length;c++){var d=b[c];h[d.name]=d}f?(j(a,h),ArrayNode.save(a)):g=!0}})},ArrayNode.global_config_data={},ArrayNode.getPortNode=function(a,b){var c=ArrayNode.global_config_data._port_node_list[b].id;return a.getElement(c)},ArrayNode.getVaNode=function(a,b){if(ArrayNode.global_config_data._va_node_list[b]){var c=ArrayNode.global_config_data._va_node_list[b].id;return a.getElement(c)}},ArrayNode.init=function(a,b){ArrayNode.graph=a,$.ajax({url:"/api/avx/network/interface/TrafficInterface/_get_list_data?key="+JSON.stringify(["interface_name"]),dataType:"json",success:function(c){var d=[];c.length<=4?d=[[460,120],[430,120],[400,120],[370,120]]:c.length<=8?d=[[405,60],[405,90],[405,120],[405,150],[345,60],[345,90],[345,120],[345,150]]:c.length<=16?d=[[485,60],[485,90],[485,120],[485,150],[425,60],[425,90],[425,120],[425,150],[365,60],[365,90],[365,120],[365,150],[305,60],[305,90],[305,120],[305,150]]:c.length<=32&&(d=[[605,60],[605,90],[605,120],[605,150],[545,60],[545,90],[545,120],[545,150],[485,60],[485,90],[485,120],[485,150],[425,60],[425,90],[425,120],[425,150],[365,60],[365,90],[365,120],[365,150],[245,60],[245,90],[245,120],[245,150],[185,60],[185,90],[185,120],[185,150],[125,60],[125,90],[125,120],[125,150]]);for(var e=0;e<c.length;e++){var f=c[e],g=new ArrayNode.Port(f.interface_name,d[e][0],d[e][1]);g.id=9981+e,a.addElement(g,!0),ArrayNode.global_config_data._port_node_list||(ArrayNode.global_config_data._port_node_list=[]),f.interface_name in ArrayNode.global_config_data._port_node_list||(ArrayNode.global_config_data._port_node_list[f.interface_name]={name:f.interface_name,id:g.id})}ArrayNode.sync_cli(a,b)}})},ArrayNode.savedata=function(a){var b=new Array;return a.forEach(function(a){a.save&&b.push(a.save())}),b},ArrayNode._update_va_node_list=function(){ArrayNode.global_config_data._va_node_list={},ArrayNode.global_config_data._vs_node_list={},ArrayNode.global_config_data._port_node_list={};for(var a in ArrayNode.global_config_data)if("_va_node_list"!=a&&"_vs_node_list"!=a&&"_port_node_list"!=a&&"graph_list"!=a){var b=ArrayNode.global_config_data[a];if(b)for(var c=0;c<b.length;c++){var d=b[c];"ArrayNode.vAPP"==d.type?ArrayNode.global_config_data._va_node_list[d.name]={name:d.name,id:d.id}:"ArrayNode.vSwitch"==d.type?ArrayNode.global_config_data._vs_node_list[d.name]={name:d.name,id:d.id}:"ArrayNode.Port"==d.type&&(ArrayNode.global_config_data._port_node_list[d.name]={name:d.name,id:d.id})}}},ArrayNode.save=function(a){ArrayNode.global_config_data[a.name]=ArrayNode.savedata(a),ArrayNode._update_va_node_list()},ArrayNode.loaddata=function(a,b){for(var c=0;c<b.length;c++){var d=b[c];if("ArrayNode.vAPP"==d.type){var e=new ArrayNode.vAPP(d.name,d.x,d.y);e.load(a,d),a.addElement(e,!0)}else if("ArrayNode.vSwitch"==d.type){var e=new ArrayNode.vSwitch(d.name,d.x,d.y);e.load(a,d),a.addElement(e,!0)}else if("ArrayNode.Port"==d.type){var e=a.getElement(d.id);e&&e.load(a,d)}else if("ArrayNode.ConnectLine"==d.type){var e=new ArrayNode.ConnectLine(a.getElement(d.from),a.getElement(d.to));e.load(a,d),a.addElement(e,!0)}else if("ArrayNode.ServiceLine"==d.type){var e=new ArrayNode.ServiceLine(a.getElement(d.from),a.getElement(d.to));e.load(a,d),a.addElement(e,!0)}else if("ArrayNode.PointNode"==d.type){var e=new ArrayNode.PointNode(d.name,d.x,d.y);e.load(a,d),a.addElement(e,!0)}}},ArrayNode.delete_node=function(a,b,c){b["delete"](a,c)},ArrayNode.delete_by_id=function(a,b,c){var d=a.getElement(b);d&&ArrayNode.delete_node(a,d,c)},ArrayNode.CreatevAPPInteractive=function(b,c,d,e,f,g,h){var i={va_vendor:e,product:f,category:g,icon:h};void 0===e&&void 0===f&&void 0===g&&void 0===h&&(i=null),k("create_app",function(e,f){if(e){var g=ArrayNode.CreatevAPP(b,f.va_name,c,d,f.va_vendor,f.product,f.category,f.image);if(f.port)for(var h=0;h<f.port.length;h++){var i=ArrayNode.getPortNode(b,f.port[h].port);ArrayNode.CreateConnectPort(b,g,i,f.port[h].vf)}}else a.alert(f)},i)},ArrayNode.CreatevSwitchInteractive=function(b,c,d){k("create_vswitch",function(e,f){e?ArrayNode.CreatevSwitch(b,f.name,c,d):a.alert(f)})},ArrayNode.CreateConnectLineInteractive=function(b,c,d){var e="",f=null,g=null;if("ArrayNode.Port"==c.type?"ArrayNode.vAPP"==d.type?(e="createline_port_va",g={port_name:c.name,va_name:d.name}):"ArrayNode.vSwitch"==d.type&&(e="createline_port_vs",g={port_name:c.name,vs_name:d.name}):"ArrayNode.vAPP"==c.type?"ArrayNode.Port"==d.type?(e="createline_port_va",g={port_name:d.name,va_name:c.name}):"ArrayNode.vSwitch"==d.type&&(e="createline_va_vs",g={vs_name:d.name,va_name:c.name}):"ArrayNode.vSwitch"==c.type&&("ArrayNode.Port"==d.type?(e="createline_port_vs",g={port_name:d.name,vs_name:c.name}):"ArrayNode.vAPP"==d.type&&(e="createline_va_vs",g={vs_name:c.name,va_name:d.name})),"createline_port_va"==e)f=function(a){ArrayNode.CreateConnectPort(b,c,d,a.vf)};else{if("createline_port_vs"==e){f=function(a){ArrayNode.CreateConnectPortvSwitch(b,c,d)};var h="";if("ArrayNode.vSwitch"==d.type){var i=d;h=c.name}else if("ArrayNode.vSwitch"==c.type){var i=c;h=d.name}var j=[],l=!1;if(i.forEachEdge(function(a){var b=a.otherNode(i);"ArrayNode.Port"==b.type&&(b.name==h&&(l=!0),j.push({interface_name:b.name,_asso_idx:"0"}))}),l)return void alert(i.name+" is already connected to "+h);j.push({interface_name:h,_asso_idx:"0"});var m={post_data:JSON.stringify({interfaces:j})};m.csrfmiddlewaretoken=ArrayNode.csrf;var n='/api/avx/network/vswitch/VirtualSwitch/_update/name/"'+i.name+'"';return void $.ajax({type:"POST",url:n,dataType:"json",data:m,success:function(b){"None"==b?f():2==b.length?0==b[0]?a.alert(b[1]):b[1].length>0?(a.alert(b[1][1]),"warning"==b[1][0]&&f()):f():3==b.length&&(0==b[0]?a.alert(b[2][0]):(b[2].length>0&&a.alert(b[2][0]),f()))}})}if("createline_va_vs"!=e)return;f=function(a){ArrayNode.CreateConnectvSwtich(b,c,d,a.vport,a.vlan,a.queues)}}k(e,function(b,c){b?f(c):a.alert(c)},g)},ArrayNode.clear=function(){ArrayNode.graph&&(ArrayNode.graph.forEach(function(a){a.disable_auto_status_refresh&&a.disable_auto_status_refresh()}),ArrayNode.graph=null,ArrayNode.global_config_data={})},ArrayNode.export_png=function(b,c){var d=ArrayNode.graph.bounds,e=null,f=1;if(b>=d.width)if(c>=d.height){var g=d.x-(b-d.width)/2,h=d.y-(c-d.height)/2;e=new a.Rect(g,h,b,c)}else{f=c/d.height;var i=b/f,g=d.x-(i-d.width)/2,h=d.y;e=new a.Rect(g,h,i,d.height)}else if(f=b/d.width,c>=d.height){var j=c/f,g=d.x,h=d.y-(j-d.height)/2;e=new a.Rect(g,h,d.width,j)}else{var k=c/d.height;k<f&&(f=k);var i=b/f,j=c/f,g=d.x-(i-d.width)/2,h=d.y-(j-d.height)/2;e=new a.Rect(g,h,i,j)}var l=ArrayNode.graph.exportImage(f,e);return l.data},ArrayNode.enable_edit_client=function(a){a?(ArrayNode.graph.edit_enable=!0,ArrayNode.graph.editor.toolbox_show(),ArrayNode.graph.editor.toolbar_show_edit()):(ArrayNode.graph.edit_enable=!1,ArrayNode.graph.editor.toolbox_hide(),ArrayNode.graph.editor.toolbar_hide_edit())},ArrayNode.cancel_edit=function(){ArrayNode.graph.editor.cancel_edit_cb?ArrayNode.graph.editor.cancel_edit_cb():(ArrayNode.graph.clear(),ArrayNode.graph.name in ArrayNode.global_config_data&&ArrayNode.loaddata(ArrayNode.graph,ArrayNode.global_config_data[ArrayNode.graph.name])),$.ajax({url:"/avx/enable_edit/"+ArrayNode.graph.page_type+"/calcel"}),ArrayNode.enable_edit_client(!1)},ArrayNode.enable_edit=function(a,b){if("force"==b)var c="/avx/enable_edit/"+ArrayNode.graph.page_type+"/enable_force";else var c="/avx/enable_edit/"+ArrayNode.graph.page_type+"/enable";$.ajax({url:c,dataType:"json",success:function(c){if(c[0]==-1)alert(c[1]);else if(0==c[0])if("auto"==b){var d=getI18NString("User {} already in edit mode, do you want to forcibly access the edit mode?");d=d.replace("{}",c[1]);var e=confirm(d);e&&ArrayNode.enable_edit(a,"force")}else{var d="Access edit mode failed, user {} already in edit mode.";d=d.replace("{}",c[1]),alert(d)}else 1==c[0]?(ArrayNode.enable_edit_client(!0),ArrayNode.graph.editor.enable_edit_cb&&ArrayNode.graph.editor.enable_edit_cb(),a&&a()):alert("Internal Error")}})},ArrayNode.save_edit=function(a){var b="/avx/enable_edit/"+ArrayNode.graph.page_type+"/save",c=ArrayNode.graph;ArrayNode.save(c);var d={csrfmiddlewaretoken:ArrayNode.csrf,data:JSON.stringify(ArrayNode.global_config_data),graph_name:c.name,graph_png:ArrayNode.export_png(150,50)};$.ajax({type:"POST",url:b,dataType:"json",data:d,success:function(b){b[0]?(ArrayNode.enable_edit_client(!1),ArrayNode.graph.editor.save_edit_cb&&ArrayNode.graph.editor.save_edit_cb(),a()):alert(b[1])}})},ArrayNode.delete_graph=function(a,b){var c="/avx/enable_edit/"+ArrayNode.graph.page_type+"/delete",d=ArrayNode.graph;ArrayNode.save(d);var e=ArrayNode.global_config_data[a];delete ArrayNode.global_config_data[a];var f=ArrayNode.global_config_data.graph_list.indexOf(a);ArrayNode.global_config_data.graph_list.splice(f,1),"topology"==ArrayNode.graph.page_type&&ArrayNode._update_va_node_list();var g={csrfmiddlewaretoken:ArrayNode.csrf,data:JSON.stringify(ArrayNode.global_config_data),graph_name:a};$.ajax({type:"POST",url:c,dataType:"json",data:g,success:function(c){c[0]?b&&b():(alert(c[1]),ArrayNode.global_config_data[a]=e,ArrayNode.global_config_data.graph_list.splice(f,0,a),"topology"==ArrayNode.graph.page_type&&ArrayNode._update_va_node_list())}})}}(Q),function(a,b){function c(b,c){this.onBoundsChange=c,this.parent=b,this.handleSize=a.isTouchSupport?20:8,this.boundsDiv=this._createDiv(this.parent),this.boundsDiv.type="border",this.boundsDiv.style.position="absolute",this.boundsDiv.style.border="dashed 1px #888";var d="lt,t,rt,l,r,lb,b,rb";d=d.split(",");for(var e=0,f=d.length;e<f;e++){var g=d[e],h=this._createDiv(this.parent);h.type="handle",h.name=g,h.style.position="absolute",h.style.backgroundColor="#FFF",h.style.border="solid 1px #555",h.style.width=h.style.height=this.handleSize+"px";var i;i="lt"==g||"rb"==g?"nwse-resize":"rt"==g||"lb"==g?"nesw-resize":"t"==g||"b"==g?"ns-resize":"ew-resize",h.style.cursor=i,this[d[e]]=h}this.interaction=new a.DragSupport(this.parent,this)}function d(){var a=b("<div/>").html(f).contents();this.html=a=a[0],document.body.appendChild(this.html),a.addEventListener("mousedown",function(b){b.target==a&&this.destroy()}.bind(this),!1);var c=this._getChild(".graph-export-panel__export_scale"),d=this._getChild(".graph-export-panel__export_scale_label");c.onchange=function(a){d.textContent=this.scale=c.value,this.updateOutputSize()}.bind(this),this.export_scale=c;var e=function(a){var b=this.exportImageInfo();if(b){var c=b.canvas,d=this.graph.name||"graph";c.toBlob(function(b){a(b,d+".png")},"image/png")}},g=function(a,b){var c=this.exportImageInfo();if(c){var d=window.open(),e=d.document;e.title=this.graph.name||"";var f=e.createElement("img");if(f.src=c.data,e.body.style.textAlign="center",e.body.style.margin="0px",e.body.appendChild(f),a===!0){var g=e.createElement("style");g.setAttribute("type","text/css"),g.setAttribute("media","print");var h="img {max-width: 100%; max-height: 100%;}";this.clipBounds.width/this.clipBounds.height>1.2&&(h+="\n @page { size: landscape; }"),g.appendChild(document.createTextNode(h)),e.head.appendChild(g),f.style.maxWidth="100%",f.style.maxHeight="100%",setTimeout(function(){d.print(),d.onfocus=function(){d.close()}},100)}}},h=this._getChild(".graph-export-panel__export_submit");window.saveAs&&HTMLCanvasElement.prototype.toBlob?h.onclick=e.bind(this,window.saveAs):h.onclick=g.bind(this);var i=this._getChild(".graph-export-panel__print_submit");i.onclick=g.bind(this,!0)}function e(a){g||(g=new d),g.show(a)}var f='<div class="graph-export-panel modal fade">  <div class="modal-dialog">  <div class="modal-content">  <div class="modal-body">  <h3 style="text-align: center;">'+getI18NString("Preview")+"</h3>  <div>  <label>"+getI18NString("Graph Size")+'</label>  <span class ="graph-export-panel__canvas_size"></span>  </div>  <div style="text-align: center;" title="'+getI18NString("Double click to select all")+'">  <div class ="graph-export-panel__export_canvas" style="position: relative; display: inline-block;">  </div>  </div>  <div>  <label>'+getI18NString("Range")+'</label>  <span class ="graph-export-panel__export_bounds"></span>  </div>  <div>  <label>'+getI18NString("Scaling")+': <input class ="graph-export-panel__export_scale" type="range" value="1" step="0.2" min="0.2" max="3"><span class ="graph-export-panel__export_scale_label">1</span></label>  </div>  <div>  <label>'+getI18NString("Output Size")+': </label><span class ="graph-export-panel__export_size"></span>  </div>  <div style="text-align: right">  <button type="submit" class="btn btn-primary graph-export-panel__export_submit">'+getI18NString("Export")+'</button>  <button type="submit" class="btn btn-primary graph-export-panel__print_submit">'+getI18NString("Print")+"</button>  </div>  </div>  </div>  </div>  </div>";c.prototype={destroy:function(){this.interaction.destroy()},update:function(b,c){this.wholeBounds=new a.Rect(0,0,b,c),this._setBounds(this.wholeBounds.clone())},ondblclick:function(a){return this._bounds.equals(this.wholeBounds)?(this.oldBounds||(this.oldBounds=this.wholeBounds.clone().grow(-this.wholeBounds.height/5,-this.wholeBounds.width/5)),void this._setBounds(this.oldBounds,!0)):void this._setBounds(this.wholeBounds.clone(),!0)},startdrag:function(a){a.target.type&&(this.dragItem=a.target)},ondrag:function(b){if(this.dragItem){a.stopEvent(b);var c=b.dx,d=b.dy;if("border"==this.dragItem.type)this._bounds.offset(c,d),this._setBounds(this._bounds,!0);else if("handle"==this.dragItem.type){var e=this.dragItem.name;"l"==e[0]?(this._bounds.x+=c,this._bounds.width-=c):"r"==e[0]&&(this._bounds.width+=c),"t"==e[e.length-1]?(this._bounds.y+=d,this._bounds.height-=d):"b"==e[e.length-1]&&(this._bounds.height+=d),this._setBounds(this._bounds,!0)}}},enddrag:function(a){this.dragItem&&(this.dragItem=!1,this._bounds.width<0?(this._bounds.x+=this._bounds.width,this._bounds.width=-this._bounds.width):0==this._bounds.width&&(this._bounds.width=1),this._bounds.height<0?(this._bounds.y+=this._bounds.height,this._bounds.height=-this._bounds.height):0==this._bounds.height&&(this._bounds.height=1),this._bounds.width>this.wholeBounds.width&&(this._bounds.width=this.wholeBounds.width),this._bounds.height>this.wholeBounds.height&&(this._bounds.height=this.wholeBounds.height),this._bounds.x<0&&(this._bounds.x=0),this._bounds.y<0&&(this._bounds.y=0),this._bounds.right>this.wholeBounds.width&&(this._bounds.x-=this._bounds.right-this.wholeBounds.width),this._bounds.bottom>this.wholeBounds.height&&(this._bounds.y-=this._bounds.bottom-this.wholeBounds.height),this._setBounds(this._bounds,!0))},_createDiv:function(a){var b=document.createElement("div");return a.appendChild(b),b},_setHandleLocation:function(a,b,c){a.style.left=b-this.handleSize/2+"px",a.style.top=c-this.handleSize/2+"px"},_setBounds:function(a){a.equals(this.wholeBounds)||(this.oldBounds=a),this._bounds=a,a=a.clone(),a.width+=1,a.height+=1,this.boundsDiv.style.left=a.x+"px",this.boundsDiv.style.top=a.y+"px",this.boundsDiv.style.width=a.width+"px",this.boundsDiv.style.height=a.height+"px",this._setHandleLocation(this.lt,a.x,a.y),this._setHandleLocation(this.t,a.cx,a.y),this._setHandleLocation(this.rt,a.right,a.y),this._setHandleLocation(this.l,a.x,a.cy),this._setHandleLocation(this.r,a.right,a.cy),this._setHandleLocation(this.lb,a.x,a.bottom),this._setHandleLocation(this.b,a.cx,a.bottom),this._setHandleLocation(this.rb,a.right,a.bottom),this.onBoundsChange&&this.onBoundsChange(this._bounds)}},Object.defineProperties(c.prototype,{bounds:{get:function(){return this._bounds},set:function(a){this._setBounds(a)}}}),d.prototype={canvas:null,html:null,exportImageInfo:function(b){var b=this.graph;if(b){var c=this.export_scale.value,d=this.imageInfo.scale,e=new a.Rect(this.clipBounds.x/d,this.clipBounds.y/d,this.clipBounds.width/d,this.clipBounds.height/d);e.offset(this.bounds.x,this.bounds.y);var f=b.exportImage(c,e);if(f&&f.data)return f}},_getChild:function(a){return b(this.html).find(a)[0]},initCanvas:function(){var b=this._getChild(".graph-export-panel__export_canvas");b.innerHTML="";var d=a.createCanvas(!0);b.appendChild(d),this.canvas=d;var e,f=this._getChild(".graph-export-panel__export_bounds"),g=this._getChild(".graph-export-panel__export_size"),h=function(){var a=this.canvas,b=a.g,c=a.ratio||1;b.save(),b.clearRect(0,0,a.width,a.height),b.drawImage(this.imageInfo.canvas,0,0),b.beginPath(),b.moveTo(0,0),b.lineTo(a.width,0),b.lineTo(a.width,a.height),b.lineTo(0,a.height),b.lineTo(0,0);var d=e.x*c,f=e.y*c,g=e.width*c,h=e.height*c;b.moveTo(d,f),b.lineTo(d,f+h),b.lineTo(d+g,f+h),b.lineTo(d+g,f),b.closePath(),b.fillStyle="rgba(0, 0, 0, 0.3)",b.fill(),b.restore()},i=function(a){e=a,this.clipBounds=e,h.call(this);var b=e.width/this.imageInfo.scale|0,c=e.height/this.imageInfo.scale|0;f.textContent=(e.x/this.imageInfo.scale|0)+", "+(e.y/this.imageInfo.scale|0)+", "+b+", "+c,this.updateOutputSize()};this.updateOutputSize=function(){var a=this._getChild(".graph-export-panel__export_scale"),b=a.value,c=e.width/this.imageInfo.scale*b|0,d=e.height/this.imageInfo.scale*b|0,f=c+" X "+d;c*d>12e6&&(f+="<span style='color: #F66;'>图幅太大，导出时可能出现内存不足</span>"),g.innerHTML=f};var j=new c(d.parentNode,i.bind(this));this.update=function(){var a=this.canvas.ratio||1,b=this.imageInfo.width/a,c=this.imageInfo.height/a;this.canvas.setSize(b,c),j.update(b,c)}},destroy:function(){this.graph=null,this.imageInfo=null,this.clipBounds=null,this.bounds=null},show:function(a){b(this.html).modal("show"),this.graph=a;var c=a.bounds;this.bounds=c;var d=this._getChild(".graph-export-panel__canvas_size");d.textContent=(0|c.width)+" X "+(0|c.height);var e,f=Math.min(500,screen.width/1.3);e=c.width>c.height?Math.min(1,f/c.width):Math.min(1,f/c.height),this.canvas||this.initCanvas(),this.imageInfo=a.exportImage(e*this.canvas.ratio),this.imageInfo.scale=e,this.update()}};var g;a.showExportPanel=e}(Q,jQuery),function(a,b){function c(a,b,c,e,f){var g=document.createElement("div");g.className=e?"btn-group-vertical":"btn-group",f&&g.setAttribute("data-toggle","buttons");for(var h=0,i=a.length;h<i;h++)!a[h].type&&f&&(a[h].type="radio"),g.appendChild(d(a[h],c)).info=a[h];b.appendChild(g)}function d(c,d){if("search"==c.type){var e=document.createElement("div");e.style.display="inline-block",e.style.verticalAlign="middle",e.style.width="170px",e.innerHTML='<div class="input-group input-group-sm" >            <input type="text" class="form-control" placeholder="'+(c.placeholder||"")+'">                <span class="input-group-btn">                    <div class="btn btn-default" type="button" title="Search Topolopy"></div>                </span>            </div>';var f=e.getElementsByTagName("input")[0];c.id&&(f.id=c.id);var g=b(e).find(".btn")[0];if(c.iconClass){var h=document.createElement("div");b(h).addClass(c.iconClass),g.appendChild(h)}else c.name&&g.appendChild(document.createTextNode(" "+c.name));if(c.input=f,c.search){var i=function(){c.searchInfo=null},j=function(a){var b=f.value;if(!b)return void i();if(!c.searchInfo||c.searchInfo.value!=b){var d=c.search(b,c);if(!d||!d.length)return void i();c.searchInfo={value:b,result:d}}k(a)},k=function(a){if(c.select instanceof Function&&c.searchInfo&&c.searchInfo.result&&c.searchInfo.result.length){var b=c.searchInfo,d=c.searchInfo.result;if(1==d.length)return void c.select(d[0],0);void 0===b.index?b.index=0:(b.index+=a?-1:1,b.index<0&&(b.index+=d.length),b.index%=d.length),c.select(d[b.index],b.index)===!1&&(c.searchInfo=null,j())}};f.onkeydown=function(b){return 27==b.keyCode?(i(),f.value="",void a.stopEvent(b)):void(13==b.keyCode&&j(b.shiftKey))},g.onclick=function(a){j()}}return e}if("file"==c.type){var l=document.createElement("span"),f=document.createElement("input");if(l.className="file-input btn btn-default btn-sm btn-file",f.setAttribute("type","file"),f.className="btn-file",c.action&&(f.onchange=function(a){var e=b(this),f=e.get(0).files;l=e.val().replace(/\\/g,"/").replace(/.*\//,""),f.length&&c.action.call(d,f,l,a)}),l.appendChild(f),c.icon){var h=document.createElement("img");h.src=c.icon,l.appendChild(h)}else if(c.iconClass){var h=document.createElement("div");b(h).addClass(c.iconClass),l.appendChild(h)}else c.name&&l.appendChild(document.createTextNode(" "+c.name));return c.name&&l.setAttribute("title",c.name),l}if("input"==c.type){var e=document.createElement("div");e.style.display="inline-block",e.style.verticalAlign="middle",e.innerHTML='<div class="input-group input-group-sm" style="width: 150px;">            <input type="text" class="form-control">                <span class="input-group-btn">                    <button class="btn btn-default" type="button"></button>                </span>            </div>';var f=e.getElementsByTagName("input")[0],g=e.getElementsByTagName("button")[0];return g.innerHTML=c.name,c.input=f,c.action&&(g.onclick=function(a){c.action.call(d||window.graph,a,c)}),e}if("select"==c.type){var m=document.createElement("div");m.className="btn btn-default btn-sm ";var e=document.createElement("select");e.className="form-control-sm";var n=c.options;return n.forEach(function(a){var b=document.createElement("option");b.innerHTML=a,b.value=a,e.appendChild(b)}),e.value=c.value,c.action&&(e.onValueChange=function(a){c.action.call(d||window.graph,a,c)}),m.appendChild(e),m}if("radio"==c.type){var e=document.createElement("div");e.className="btn btn-default btn-sm ";var n=c.child;return c.inputs=[],n.forEach(function(a){var b=document.createElement("label");b.className="checkbox-inline";var d=document.createElement("input");d.type="radio",d.id=a.id,d.name=c.name,d.value=a.value,a.selected&&(d.checked=!0),b.appendChild(d),b.appendChild(document.createTextNode(" "+a.name)),e.appendChild(b),c.inputs.push(d)}),c.action&&(e.onclick=function(a){c.action.call(d||window.graph,a,c)}),e}if(c.type){var l=document.createElement("label"),g=document.createElement("input");c.input=g,g.setAttribute("type",c.type),l.appendChild(g),c.selected&&(g.setAttribute("checked","checked"),"radio"==c.type&&(l.className+="active"))}else var l=document.createElement("div");if(c._id&&(l.id=c._id),l.className+="btn btn-default btn-sm",c.icon){var h=document.createElement("img");h.src=c.icon,l.appendChild(h)}else if(c.iconClass){var h=document.createElement("div");b(h).addClass(c.iconClass),l.appendChild(h)}else c.name&&l.appendChild(document.createTextNode(" "+c.name));return c.name&&l.setAttribute("title",c.name),c.action&&((g||l).onclick=function(a){c.action.call(d||window.graph,a,c)}),l}function e(e,f,g,h){function i(){return f.graph}function j(){var c=i(),d=c?c.interactionMode:null;b(f).find(".btn").each(function(b,c){d&&c.info&&c.info.interactionMode==d?a.appendClass(c,"active"):a.removeClass(c,"active")})}function k(a){"interactionMode"==a.kind&&j()}function l(a,b,c){var d=i();d&&(d.interactionMode=b.value,d.interactionProperties=c||b)}function m(b,e,f,g,h){for(var i in b){var j=b[i];a.isArray(j)?(j.forEach(function(a){a.interactionMode&&(a.value=a.interactionMode,a.action=l)}),c(j,e,f,g,h)):(j.interactionMode&&(j.value=j.interactionMode,j.action=l),e.appendChild(d(j,f)).info=j)}}f.setGraph=function(a){var b=this.graph;b&&b.propertyChangeDispatcher.removeListener(k,this),this.graph=a,j(),a&&a.propertyChangeDispatcher.addListener(k,this)};var n={interactionModes:[{name:getI18NString("Default Mode"),interactionMode:a.Consts.INTERACTION_MODE_DEFAULT,selected:!0,iconClass:"q-icon toolbar-default"},{name:getI18NString("View Mode"),interactionMode:a.Consts.INTERACTION_MODE_VIEW,iconClass:"q-icon toolbar-pan"}],zoom:[{name:getI18NString("Zoom In"),iconClass:"q-icon toolbar-zoomin",action:function(){i().zoomIn()}},{name:getI18NString("Zoom Out"),iconClass:"q-icon toolbar-zoomout",action:function(){i().zoomOut()}},{name:getI18NString("1:1"),iconClass:"q-icon toolbar-zoomreset",action:function(){i().scale=1}},{name:getI18NString("Pan Mode"),iconClass:"q-icon toolbar-overview",action:function(){i().zoomToOverview()}}],editor:[{name:getI18NString("Connection"),interactionMode:a.Consts.INTERACTION_MODE_CREATE_EDGE,iconClass:"q-icon toolbar-edge"}],search:{name:"Find",placeholder:getI18NString("Name"),iconClass:"q-icon toolbar-search",type:"search",id:"search_input",search:function(a,b){var c=[],d=new RegExp(a,"i");return i().forEach(function(a){a.name&&d.test(a.name)&&c.push(a.id)}),c},select:function(a){if(a=i().graphModel.getById(a),!a)return!1;i().setSelection(a),i().sendToTop(a);var b=i().getUIBounds(a);b&&i().centerTo(b.cx,b.cy,Math.max(2,i().scale),!0)}},exportImage:[{name:getI18NString("Export"),iconClass:"q-icon toolbar-print",action:function(){a.showExportPanel(i())}},{_id:"graph_enable_edit",name:getI18NString("Edit"),iconClass:"q-icon toolbar-json",action:function(c,f){var g=b("#graph_enable_edit")[0];if(g.info.name==getI18NString("Edit")){var h=function(){g.title=getI18NString("Save"),g.info.name=getI18NString("Save"),g.childNodes[0].className="q-icon toolbar-save";var c={_id:"graph_cancel_edit",name:getI18NString("Cancel"),iconClass:"q-icon toolbar-remove",action:function(a,c){var d=b("#graph_cancel_edit")[0],e=d.parentNode;e.removeChild(e.childNodes[3]),e.removeChild(e.childNodes[2]),e.childNodes[1].title=getI18NString("Edit"),e.childNodes[1].info.name=getI18NString("Edit"),e.childNodes[1].childNodes[0].className="q-icon toolbar-json",ArrayNode.cancel_edit()}};g.parentNode.appendChild(d(c,this)).info=c;var f={_id:"graph_delete",name:getI18NString("Delete"),iconClass:"q-icon toolbar-delete",action:function(){a.confirm(getI18NString("Are you sure to delete this graph?"),function(){DeleteTabbarTab(e,e.name)})}};g.parentNode.appendChild(d(f,this)).info=f};ArrayNode.enable_edit(h,"auto")}else ArrayNode.save_edit(function(){var a=g.parentNode;a.removeChild(a.childNodes[3]),a.removeChild(a.childNodes[2]),g.title=getI18NString("Edit"),g.info.name=getI18NString("Edit"),g.childNodes[0].className="q-icon toolbar-json"})}}]};if(g)for(var o in g)n[o]=g[o];return h&&delete n.editor,m(n,f,this,!1,!1),f.setGraph(e),f}a.createToolbar=e,a.createButtonGroup=c,a.createButton=d}(Q,jQuery),function(a){function b(b,c,d){var e=document.documentElement,f=new a.Rect(window.pageXOffset,window.pageYOffset,e.clientWidth-2,e.clientHeight-2),g=b.offsetWidth,h=b.offsetHeight;c+g>f.x+f.width&&(c=f.x+f.width-g),d+h>f.y+f.height&&(d=f.y+f.height-h),c<f.x&&(c=f.x),d<f.y&&(d=f.y),b.style.left=c+"px",b.style.top=d+"px"}function c(a,b){for(var c=b.parentNode;null!=c;){if(c==a)return!0;c=c.parentNode}return!1}function d(a){return a.touches&&a.touches.length&&(a=a.touches[0]),{x:a.pageX,y:a.pageY}}function e(b,c){var e=c.popupmenu,f=d(b),g=f.x,h=f.y;try{var i=CustomGetMenuItems(c,c.getElement(b),b)}catch(j){console.log(j.message);var i=e.getMenuItems(c,c.getElement(b),b)}i&&(e.items=i,e.showAt(g,h),a.stopEvent(b))}var f=function(a){this.items=a||[]},g="dropdown-menu";f.Separator="divider",f.prototype={dom:null,_invalidateFlag:!0,add:function(a){this.items.push(a),this._invalidateFlag=!0},addSeparator:function(){this.add(f.Separator)},showAt:function(a,c){return!(!this.items||!this.items.length)&&(this._invalidateFlag&&this.render(),this.dom.style.display="block",document.body.appendChild(this.dom),void b(this.dom,a,c))},hide:function(){this.dom&&this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom)},render:function(){if(this._invalidateFlag=!1,this.dom)this.dom.innerHTML="";else{this.dom=document.createElement("ul"),this.dom.setAttribute("role","menu"),this.dom.className=g;var b=a.isTouchSupport?"touchstart":"mousedown";if(!this.stopEditWhenClickOnWindow){var d=this;this.stopEditWhenClickOnWindow=function(a){c(d.html,a.target)&&d.hide()}}window.addEventListener("mousedown",this.stopEditWhenClickOnWindow,!0),this.dom.addEventListener(b,function(b){a.stopEvent(b)},!1)}for(var e=0,f=this.items.length;e<f;e++){var h=this.renderItem(this.items[e]);this.dom.appendChild(h)}},html2Escape:function(a){return a.replace(/[<>&"]/g,function(a){return{"<":"&lt;",">":"&gt;","&":"&amp;",'"':"&quot;"}[a]})},renderItem:function(b,c){var d=document.createElement("li");if(d.setAttribute("role","presentation"),b==f.Separator)return d.className=f.Separator,d.innerHTML=" ",d;if(a.isString(b))return d.innerHTML='<a role="menuitem" tabindex="-1" href="#">'+this.html2Escape(b)+"</a>",d;b.selected&&(d.style.backgroundPosition="3px 5px",d.style.backgroundRepeat="no-repeat",d.style.backgroundImage="url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAPklEQVQ4y2P4//8/AyWYYdQA7AYAAZuamlo7ED+H4naQGNEGQDX/R8PtpBjwHIsBz+lqAGVeoDgQR1MiaRgAnxW7Q0QEK0cAAAAASUVORK5CYII=')");var e=document.createElement("a");if(e.setAttribute("role","menuitem"),e.setAttribute("tabindex","-1"),e.setAttribute("href","javascript:void(0)"),d.appendChild(e),b.html)e.innerHTML=b.html;else{var g=b.text||b.name;g&&(e.innerHTML=this.html2Escape(g))}var h=b.className;h&&(d.className=h);var i=b.action,j=this,k=function(c){i&&i.call(b.scope,c,b),a.isIOS||c.target.focus(),setTimeout(function(){j.hide()},100)};return a.isTouchSupport?e.ontouchstart=k:d.onclick=k,d},getMenuItems:function(b,c,d){var e=[];if(c){var f=c instanceof a.ShapeNode,g=(c instanceof a.Group,!f&&c instanceof a.Node,c instanceof a.Edge);c instanceof ArrayNode.Port;if(e.push({text:getI18NString("Rename"),action:function(b,d){a.prompt(getI18NString("Input Element Name"),c.name||"",function(a){null!==a&&(c.name=a)})}}),g){var h=c.getStyle(a.Styles.EDGE_LINE_DASH)||a.DefaultStyles[a.Styles.EDGE_LINE_DASH];e.push({text:getI18NString(h?"Solid Line":"Dashed Line"),action:function(b,d){c.setStyle(a.Styles.EDGE_LINE_DASH,h?null:[5,3])}}),e.push({text:getI18NString("Line Width"),action:function(b,d){a.prompt(getI18NString("Input Line Width"),c.getStyle(a.Styles.EDGE_WIDTH)||a.DefaultStyles[a.Styles.EDGE_WIDTH],function(b){null!==b&&(b=parseFloat(b),c.setStyle(a.Styles.EDGE_WIDTH,b))})}}),e.push({text:getI18NString("Line Color"),action:function(b,d){a.prompt(getI18NString("Input Line Color"),c.getStyle(a.Styles.EDGE_COLOR)||a.DefaultStyles[a.Styles.EDGE_COLOR],function(b){null!==b&&c.setStyle(a.Styles.EDGE_COLOR,b)})}})}else c.parent instanceof a.Group&&e.push({text:getI18NString("Out of Group"),action:function(){c.parent=null}});e.push(a.PopupMenu.Separator),e.push({text:getI18NString("Send to Top"),action:function(a,d){c.zIndex=1,b.sendToTop(c),b.invalidate()}}),e.push({text:getI18NString("Send to Bottom"),action:function(a,d){c.zIndex=-1,b.sendToBottom(c),b.invalidate()}}),e.push({text:getI18NString("Reset Layer"),action:function(a,d){c.zIndex=0,b.invalidate()}}),e.push(a.PopupMenu.Separator)}e.push({text:getI18NString("Clear Graph"),action:function(){b.clear()}}),e.push(a.PopupMenu.Separator),e.push({text:getI18NString("Zoom In"),action:function(a,c){var d=b.globalToLocal(a);b.zoomIn(d.x,d.y,!0)}}),e.push({text:getI18NString("Zoom Out"),action:function(a,c){var d=b.globalToLocal(a);b.zoomOut(d.x,d.y,!0)}}),e.push({text:getI18NString("1:1"),action:function(a,c){b.globalToLocal(a);b.scale=1}}),e.push(a.PopupMenu.Separator);for(var i=b.interactionMode,j=[{text:getI18NString("Pan Mode"),value:a.Consts.INTERACTION_MODE_DEFAULT},{text:getI18NString("Rectangle Select"),
+value:a.Consts.INTERACTION_MODE_SELECTION}],k=0,l=j.length;k<l;k++){var m=j[k];m.value==i&&(m.selected=!0),m.action=function(a,c){b.interactionMode=c.value},e.push(m)}return e}},Object.defineProperties(f.prototype,{items:{get:function(){return this._items},set:function(a){this._items=a,this._invalidateFlag=!0}}});var h={onstart:function(a,b){b._popupmenu.hide()}};a.isTouchSupport&&(h.onlongpress=function(a,b){e(a,b)}),Object.defineProperties(a.Graph.prototype,{popupmenu:{get:function(){return this._popupmenu},set:function(a){this._popupmenu!=a&&(this._popupmenu=a,this._contextmenuListener||(this._contextmenuListener=h,this.addCustomInteraction(this._contextmenuListener),this.html.oncontextmenu=function(a){e(a,this)}.bind(this)))}}}),a.PopupMenu=f}(Q,jQuery),!function(a,b){function c(a){if(!a)return h;var b={};for(var c in h)b[c]=h[c];for(var c in a){var d=i[c];d&&(b[d]=a[c])}return b}function d(a,c){a&&(void 0===c&&(c=b(a).hasClass("group--closed")),c?b(a).removeClass("group--closed"):b(a).addClass("group--closed"))}function e(b){return a.isString(b)||b.draw instanceof Function}var f=function(a,c,d,e){var f=document.createElement(d||"div");return f.className=a,b(f).html(e),c&&c.appendChild(f),f},g=function(a,b,c){if(Array.isArray(a))return a.forEach(function(a){b.call(this,a)},c);for(var d in a)b.call(c,a[d],d)},h={fillColor:"#EEE",lineWidth:1,strokeStyle:"#2898E0",padding:{left:1,top:1,right:5,bottom:5},shadowColor:"#888",shadowOffsetX:2,shadowOffsetY:2,shadowBlur:3},i={};i[a.Styles.RENDER_COLOR]="renderColor",i[a.Styles.RENDER_COLOR_BLEND_MODE]="renderColorBlendMode",i[a.Styles.SHAPE_FILL_COLOR]="fillColor",i[a.Styles.SHAPE_STROKE_STYLE]="strokeStyle",i[a.Styles.SHAPE_LINE_DASH]="borderLineDash",i[a.Styles.SHAPE_LINE_DASH_OFFSET]="borderLineDashOffset",i[a.Styles.SHAPE_OUTLINE]="outline",i[a.Styles.SHAPE_OUTLINE_STYLE]="outlineStyle",i[a.Styles.LINE_CAP]="lineGap",i[a.Styles.LINE_JOIN]="lineJoin",i[a.Styles.BACKGROUND_COLOR]="backgroundColor",i[a.Styles.BACKGROUND_GRADIENT]="backgroundGradient",i[a.Styles.BORDER]="border",i[a.Styles.BORDER_COLOR]="borderColor",i[a.Styles.BORDER_LINE_DASH]="borderLineDash",i[a.Styles.BORDER_LINE_DASH_OFFSET]="borderLineDashOffset";var j=function(a,b,c){this.graph=a,this.html=b,this.init(c)};j.prototype={loadButton:null,imageWidth:40,imageHeight:40,loadImageBoxes:function(b){return a.isArray(b)?void g(b,function(a){this.loadImageBox(a)},this):void this.loadImageBox(b)},loadImageBox:function(b,c){if(a.isString(b)&&(b=JSON.parse(b)),c){var d=this.html.getElementsByClassName("group").item(0);if(d)return void this.html.insertBefore(this._createGroup(b,b.prefix),d)}return this.html.appendChild(this._createGroup(b,b.prefix))},loadImageBoxFile:function(b){b[0]&&a.readerSingleFile(b[0],"json",function(a){a&&this.loadImageBox(a,!0)}.bind(this))},hideButtonBar:function(a){this.buttonBar.style.display=a?"":"none"},init:function(b){var c=this.html;this.graph;a.appendClass(c,"graph-editor__toolbox");var d=this.buttonBar=f("graph-editor__toolbox-buttonBar",c),e=this.loadButton=a.createButton({type:"file",name:getI18NString("Load Images..."),iconClass:"q-icon toolbar-add",action:this.loadImageBoxFile.bind(this)},this);d.appendChild(e),this.hideButtonBar();var g=[{label:"Node",image:"Q-node"},{type:"Text",label:"Text",html:'<span style="background-color: #2898E0; color:#FFF; padding: 3px 5px;">'+getI18NString("Text")+"</span>",styles:{"label.background.color":"#2898E0","label.color":"#FFF","label.padding":new a.Insets(3,5)}},{type:"Group",label:"Group",image:"Q-group"},{label:"SubNetwork",image:"Q-subnetwork",properties:{enableSubNetwork:!0}}],h=[{prefix:"Q-",name:"basic.nodes",displayName:getI18NString("Basic Nodes"),images:g},{prefix:"Q-",name:"register.images",displayName:getI18NString("Register Images"),images:a.getAllImages(),close:!0},{name:"default.shapes",displayName:getI18NString("Default Shapes"),prefix:"Q-",images:a.Shapes.getAllShapes(this.imageWidth,this.imageHeight),close:!0}];h=[],this.loadImageBoxes(h),b&&this.loadImageBoxes(b),a.Shapes.getShape(a.Consts.SHAPE_CIRCLE,100,100)},_index:0,_getGroup:function(a){return this._groups[a]},hideDefaultGroups:function(){this.hideGroup("basic.nodes"),this.hideGroup("register.images"),this.hideGroup("default.shapes")},hideGroup:function(a){var b=this._getGroup(a);b&&(b.style.display="none")},showGroup:function(a){var b=this._getGroup(a);b&&(b.style.display="")},_groups:{},_createGroup:function(b){var h=b.name,i=b.root,j=b.images,k=b.close,l=b.displayName||h,m=f("group");m.id=h,this._groups[h]=m;var n=f("group__title",m);b._icon_class&&f(b._icon_class,n,"i"),f(null,n,"span",l);var o=f("group__items",m),p=document.createElement("div");if(p.style.clear="both",m.appendChild(p),k&&d(m),!j)return m;var q=b.imageWidth||this.imageWidth,r=b.imageHeight||this.imageHeight;return g(j,function(d,g){if("_classPath"!=g&&"_className"!=g){var h;h=e(d)?d:d.image;var j,k;if(h){var l;a.isString(h)?(l=h,!a.hasImage(h)&&i&&(l=h=i+h)):l=d.imageName||d.name||g||"drawable-"+this._index++,a.hasImage(l)||a.registerImage(l,h),j=a.createCanvas(q,r,!0),a.drawImage(l,j,c(d.styles)),e(d)?d={image:l}:d.image=l,b.size&&(d.properties||(d.properties={}),d.properties.size||(d.properties.size=b.size)),k=l}else{if(!d.html)return;var j=document.createElement("div");j.style.width=q+"px",j.style.height=r+"px",j.style.lineHeight=r+"px",j.style.overflow="hidden",j.innerHTML=d.html}k=d.tooltip||d.label||k||g,j.setAttribute("title",k);var m=f("group__item",o);a.appendDNDInfo(j,d),m.appendChild(j)}},this),m}},a.ToolBox=j}(Q,jQuery),!function(a){function b(a,b,c,d,e){this.getter=c,this.setter=d,this.scope=e,this.property=a,this.createHtml(b)}function c(b,c){return c==a.Consts.PROPERTY_TYPE_STYLE?"S:"+b:c==a.Consts.PROPERTY_TYPE_CLIENT?"C:"+b:b}function d(a){this.properties=a;var b={};for(var c in a){var d=a[c].groupName,e=b[d];e||(e=b[d]={}),e[c]=a[c]}this.group=b}function e(b,c,d,e){return e&&e!=a.Consts.PROPERTY_TYPE_ACCESSOR?e==a.Consts.PROPERTY_TYPE_STYLE?b.getStyle(c,d):e==a.Consts.PROPERTY_TYPE_CLIENT?c.get(d):void 0:c[d]}function f(b,c,d,e){return e&&e!=a.Consts.PROPERTY_TYPE_ACCESSOR?e==a.Consts.PROPERTY_TYPE_STYLE?c.setStyle(d,b):e==a.Consts.PROPERTY_TYPE_CLIENT?c.set(d,b):void 0:c[d]=b}function g(b,c,d){this._formItems=[],this.html=c,this.form=a.createElement({"class":"form-horizontal",parent:c,tagName:"form"}),this.graph=b,b.dataPropertyChangeDispatcher.addListener(function(a){this.onDataPropertyChange(a)}.bind(this)),b.selectionChangeDispatcher.addListener(function(a){this.datas=this.graph.selectionModel.toDatas()}.bind(this))}function h(a){return 0|a}function i(a,b){return a?"point"==b?h(a.x)+","+h(a.y):"size"==b?h(a.width)+","+h(a.height):"degree"==b?""+180*a/Math.PI|0:a.toString():a}function j(a,b){if("number"==b)return parseFloat(a)||0;if("boolean"==b)return!!a;if("point"!=b){if("size"!=b)return"degree"==b?parseInt(a)*Math.PI/180:a;var c=a.split(",");if(2==c.length){var d=parseFloat(c[0])||0,e=parseFloat(c[1])||0;if(d&&e)return{width:d,height:e}}}else{var c=a.split(",");if(2==c.length)return{x:parseFloat(c[0]||0),y:parseFloat(c[1])||0}}}b.prototype={_getValue:function(){return this.getter.call(this.scope)},update:function(){this.value=this._getValue()},setValue:function(a){this.input.value=i(a,this.property.type)},createHtml:function(b){var c=this.property,d=a.createElement({tagName:"input","class":"form-control",type:c.type,min:c.min,max:c.max,parent:b});this.input=d,c.readonly&&d.setAttribute("readonly","readonly"),this.update(),$(d).on("input",function(a){this.ajdusting||this.setter.call(this.scope,this)}.bind(this))}},Object.defineProperties(b.prototype,{value:{get:function(){return j(this.input.value,this.property.type)},set:function(a){this.ajdusting=!0,this.setValue(a),this.ajdusting=!1}}});[{name:"name",displayName:"Name"},{style:a.Styles.LABEL_FONT_SIZE,type:"number",displayName:"Font Size"},{style:a.Styles.LABEL_COLOR,type:"color",displayName:"Label Color"},{style:a.Styles.RENDER_COLOR,type:"color",displayName:"Render Color"}],[{name:"size",type:"size",displayName:"Size"},{name:"location",type:"point",displayName:"Location"},{name:"rotate",type:"number",displayName:"Rotate"},{style:a.Styles.BORDER,type:"number",displayName:"Border"},{style:a.Styles.BORDER_COLOR,type:"color",displayName:"Border Color"},{client:"status",type:"color",displayName:"状态"}],[{name:"angle",type:"degree"},{style:a.Styles.BORDER,display:"none"},{style:a.Styles.EDGE_WIDTH,type:"number",displayName:"Edge Width"},{style:a.Styles.EDGE_COLOR,type:"color",displayName:"Edge Color"}],[{name:"size",display:"none"},{style:a.Styles.LABEL_SIZE,type:"size",displayName:"Size"},{style:a.Styles.RENDER_COLOR,display:"none"},{style:a.Styles.LABEL_BACKGROUND_COLOR,type:"color",displayName:"Background Color"}];d.prototype={contains:function(a,b){var d=c(a,b);return this.properties[d]}};var k=function(a,c,d,e,f){a.type;return new b(a,c,d,e,f)};g.prototype={_formItems:null,onValueChange:function(a,b){this.setValue(a,b)},adjusting:!1,_containsElement:function(a){for(var b in this.datas)if(b==a)return!0},_containsProperty:function(a,b){return this.propertyGroup&&this.propertyGroup.contains(a,b)},_cellEditors:null,_getCellEditors:function(a,b){if(this._cellEditors){var d=c(a,b);return this._cellEditors[d]}},onDataPropertyChange:function(b){if(!this.adjusting){if(!this.datas||!this.datas.length)return null;var c=b.source;if(!this._containsElement(c)){var d=this._getCellEditors(b.kind,b.propertyType);if(!d)return;a.isArray(d)||(d=[d]),d.forEach(function(a){a.update()})}}},clear:function(){this.form.innerHTML="",this._formItems=[],this._cellEditors=null,this.form.style.display="none"},createItem:function(b,d){if("button"==d.type){var e=a.createElement({parent:b,"class":"btn-group btn-group-justified"});return a.createElement({tagName:"div","class":"btn-group btn-group-xs",html:'<div class="btn-group"><button type="button" class="btn btn-success">Boot</button></div><div class="btn-group"><button type="button" class="btn btn-danger">Reboot</button></div><div class="btn-group"><button type="button" class="btn btn-danger">Shutdown</button></div>',parent:e}),e}if("img"==d.type){var e=a.createElement({parent:b,"class":"media"});return a.createElement({tagName:"div","class":"media-body",html:'<img src="'+d.url+'" alt="...">',parent:e}),e}var e=a.createElement({"class":"form-group",parent:b}),f=(a.createElement({parent:e,tagName:"label","class":"col-sm-6 control-label font-small",html:getI18NString(d.displayName||d.name)}),a.createElement({parent:e,"class":"input-group input-group-sm col-sm-6"})),g=k(d,f,function(){return this.getValue(d)}.bind(this),function(a){this.onValueChange(a.value,d)}.bind(this)),h=c(d.name,d.propertyType);this._cellEditors||(this._cellEditors={});var i=this._cellEditors[h];return i?i.push(g):this._cellEditors[h]=[g],e},setValue:function(b,c){return this.datas&&this.datas.length?(this.adjusting=!0,c.type&&"string"!=c.type&&a.isString(b)&&(b=j(b,c.type)),this.datas.forEach(function(a){var d=e(this.graph,a,c.name,c.propertyType);d!==b&&f(b,a,c.name,c.propertyType)},this),void(this.adjusting=!1)):null},getValue:function(a){return this.datas&&this.datas.length?1==this.datas.length?e(this.graph,this.datas[0],a.name,a.propertyType)||"":void 0:null},createItemGroup:function(b,c){var d=a.createElement({"class":"class-group",parent:this.form});a.createElement({tagName:"h4",parent:d,html:b});for(var b in c)this.createItem(d,c[b])}},Object.defineProperties(g.prototype,{datas:{get:function(){return this._datas},set:function(b){if(this._datas!=b&&(b&&!a.isArray(b)&&(b=[b]),this._datas=b,this.clear(),b.length&&1==b.length)){var c={"ArrayNode.FixedPane":"default","ArrayNode.Port":"port","ArrayNode.vAPP":"app","ArrayNode.vSwitch":"vswitch","ArrayNode.ConnectPort":"conn_port","ArrayNode.ConnectvSwtich":"conn_vsw","ArrayNode.ConnectPortvSwitch":"conn_port_vsw"},d=b[0].detail_data();$("#content").trigger("show_detail",[{type:c[b[0].type],data:JSON.stringify(d)}])}}}}),a.PropertyPane=g}(Q),GridBackground.prototype={update:function(){var a=this.graph,b=this.canvas;a.callLater(function(){b.setSize(a.width,a.height),b.width=b.width;var c=50;scale=a.scale*b.ratio;var d=a.viewportBounds,e=b.g;e.save(),this._doTransform(e,scale,d),e.beginPath();var f=d.x,g=d.y,h=d.right,i=d.bottom;for(f%c!==0&&(f-=f%c),g%c!==0&&(g-=g%c);f<h;)e.moveTo(f,d.y),e.lineTo(f,i),f+=c;for(;g<i;)e.moveTo(d.x,g),e.lineTo(h,g),g+=c;e.lineWidth=1/scale,e.strokeStyle="#CCC",e.stroke(),e.restore()},this)},_doTransform:function(a,b,c){a.translate(-b*c.x,-b*c.y),a.scale(b,b)},drawText:function(a,b,c,d,e,f,g,h){e=e||7,a.save();var i=3;e*=i,a.font="normal "+e+"px helvetica arial",a.fillStyle="#555",a.textAlign=f||"center",a.textBaseline=g||"top",a.translate(c,d),h&&a.rotate(h),a.scale(1/i,1/i),a.fillText(b,0,0),a.restore()},drawScales:function(a,b,c,d){a.beginPath();var e=5*d/c;a.beginPath();var f=b.x;for(f=this.currentCell*Math.ceil(f/this.currentCell);f<b.right;)a.moveTo(f,b.y),a.lineTo(f,b.y+e+e),f+=this.currentCell;var g=b.y;for(g=this.currentCell*Math.ceil(g/this.currentCell);g<b.bottom;)a.moveTo(b.x,g),a.lineTo(b.x+e+e,g),g+=this.currentCell;a.lineWidth=1/c,a.strokeStyle="#000",a.stroke()}},function(a,b){"use strict";function c(a,b){this._initEditor(a,b),this.loadDatas(this.options.data,this.options.callback||function(){this.graph.moveToCenter()})}var d=function(b,c,d,e){return a.createElement({"class":b,parent:c,tagName:d,html:e})},e=function(a,b){var c=a.find(b);if(c.length)return c[0]};b.fn.graphEditor=function(a){return this.each(function(){var b=this.graphEditor;return b||(this.graphEditor=b=new c(this,a)),b})};var f={};f[a.Styles.SHAPE_FILL_COLOR]=a.toColor(3435973836),f[a.Styles.SELECTION_COLOR]="#888",f[a.Styles.SELECTION_SHADOW_BLUR]=5,f[a.Styles.SELECTION_SHADOW_OFFSET_X]=2,f[a.Styles.SELECTION_SHADOW_OFFSET_Y]=2,c.prototype={_initEditor:function(a,c){this.options=c=c||{},this.dom=a,b(a).addClass("layout graph-editor"),this.createGraph(this.options.styles||f),this.createToolbar(c),this.options.readonly||this.createToolbox(this.options.images),this.createJSONPane(),b(a).borderLayout(),this.toolbar&&this.initToolbar(this.toolbar,this.graph),this.options.readonly||this.initContextMenu(this.graph),window.addEventListener("beforeunload",this.onbeforeunload.bind(this))},onbeforeunload:function(a){},_getFirst:function(a){return e(b(this.dom),"."+a)},toolbar:null,toolbox:null,propertyPane:null,graph:null,createGraph:function(c){var e=this._getFirst("graph-editor__canvas");e||(e=d("graph-editor__canvas",this.dom),e.setAttribute("data-options",'region:"center"'));var f=this.graph=new a.Graph(e);return f.allowEmptyLabel=!0,f.originAtCenter=!1,f.editable=!0,f.styles=c,f.editor=this,f.getDropInfo=function(b,c){if(c)return a.parseJSON(c)},f.dropAction=function(){return this.dropAction.apply(this,arguments)}.bind(this),b(e).bind("size.change",function(){f.updateViewport()}),f},dropAction:function(b,c,d){if(d.ondrop){var e=window[d.ondrop];if(e instanceof Function)return e.call(this,b,this.graph,c,d),a.stopEvent(b),!1}},createToolbar:function(){var a=this._getFirst("graph-editor__toolbar");return a?this.toolbar=a:(this.toolbar=a=d("graph-editor__toolbar",this.dom),a.setAttribute("data-options",'region:"north", height: 40'),a)},toolbar_show_edit:function(){var a=this.toolbar,c=a.childNodes[2].childNodes[0];b(c).show()},toolbar_hide_edit:function(){var a=this.toolbar,c=a.childNodes[2].childNodes[0];b(c).hide()},createToolbox:function(b){var c=document.createElement("div");this.dom.appendChild(c),c.setAttribute("data-options","region:'west', width:'18%', left:0, min-width:220, max-width:400"),this.toolbox=new a.ToolBox(this.graph,c,b),this.graph.toolbox=this.toolbox},toolbox_show:function(){var a=this._getFirst("graph-editor__toolbox");b(a).show()},toolbox_hide:function(){var a=this._getFirst("graph-editor__toolbox");b(a).hide()},createPropertyPane:function(b){if(a.PropertyPane){var c=this._getFirst("graph-editor__property");return c||(c=d("graph-editor__property",this.dom),c.setAttribute("data-options","region:'east', width: '20%', right: 0, min-width: 100, max-width: '300'")),this.propertyPane=new a.PropertyPane(this.graph,c,b)}},getJSONTextArea:function(){return e(b(this.jsonPane),"textarea")},loadJSONFile:function(b){b[0]&&a.readerSingleFile(b[0],"json",function(a){return a?(this.graph.clear(),ArrayNode.init(this.graph),void ArrayNode.loaddata(this.graph,a)):void alert(getI18NString("json file is empty"))}.bind(this))},exportJSONFile:function(a){if(a){var b=this.graph.name||"graph";ArrayNode.save(this.graph);var c=ArrayNode.global_config_data,d=new Blob([JSON.stringify(c)],{type:"text/plain;charset=utf-8"});a(d,b+".json")}},exportJSON:function(a){if(a&&this.jsonPane){var b=this.graph.exportJSON(!0,{space:"  "});return this.getJSONTextArea().value=b}return this.graph.exportJSON.apply(this.graph,arguments)},submitJSON:function(a){var b=JSON.parse(this.getJSONTextArea().value);this.graph.clear(),ArrayNode.init(this.graph),ArrayNode.loaddata(this.graph,b)},loadDatas:function(b,c){if(b){if(a.isString(b))return void a.loadJSON(b,function(a){ArrayNode.global_config_data=a,this.graph.clear(),this.graph.name||(this.graph.name="graph"),ArrayNode.init(this.graph,!0),c instanceof Function&&c.call(this,this)}.bind(this),function(a){c instanceof Function&&c.call(this,this)}.bind(this));this.graph.parseJSON(b)}c instanceof Function&&c.call(this,this)},onsave:function(a,b){return a?alert(getI18NString("Save Error")):void alert(getI18NString("Save Success"))},save:function(){if(this.options.saveService){var a=this.options.saveService,b=this.graph.exportJSON(!0),c=new XMLHttpRequest;c.open("post",a,!0),c.onerror=function(a){this.onsave(a)}.bind(this),c.onload=function(a){200==a.target.status?this.onsave(null,a):this.onsave(a)}.bind(this),c.setRequestHeader("Content-Type","application/json"),c.send(JSON.stringify({name:this.name,json:b}))}},createJSONPane:function(){var b=this._getFirst("graph-editor__json");if(b)return this.jsonPane=b;this.jsonPane=b=d("graph-editor__json",this.dom);var c=document.createElement("textarea");b.appendChild(c),c.spellcheck=!1;var e=d("graph-editor__json__buttons",b),f=[{name:getI18NString("Update"),action:this.exportJSON.bind(this,!0)},{name:getI18NString("Submit"),action:this.submitJSON.bind(this)}];return a.createButtonGroup(f,e),b.style.display="none",b},initToolbar:function(b,c){var d=[{name:getI18NString("Export JSON"),iconClass:"q-icon toolbar-json",action:this.showJSONPanel.bind(this)},{iconClass:"q-icon toolbar-upload",name:getI18NString("Load File ..."),action:this.loadJSONFile.bind(this),type:"file"}];window.saveAs&&d.push({iconClass:"q-icon toolbar-download",name:getI18NString("Download File"),action:this.exportJSONFile.bind(this,window.saveAs)}),d=[],this.options.saveService&&d.push({iconClass:"q-icon toolbar-save",name:getI18NString("Save"),action:this.save.bind(this)}),a.createToolbar(c,b,{"export":d},this.options.readonly)},showExportPanel:function(b){a.showExportPanel(this.graph)},showJSONPanel:function(a){var c=a.target;b(c).hasClass("btn")||(c=c.parentNode);var d=b(c).hasClass("active");d?b(c).removeClass("active"):b(c).addClass("active"),d=!d;var e=this.jsonPane;e.style.display=d?"":"none",d&&this.exportJSON(!0)},initContextMenu:function(b){b.popupmenu=new a.PopupMenu}},window.localStorage&&(c.prototype.loadLocal=function(){if(localStorage.graph)return this.graph.clear(),this.graph.parseJSON(localStorage.graph),!0},c.prototype.saveLocal=function(){localStorage.graph=this.graph.exportJSON(!0)}),a.Editor=c}(Q,jQuery);var removeClassSVG=function(a,b){var c=a.attr("class");if(!c)return!1;var d=c.search(b);return d!=-1&&(c=c.substring(0,d)+c.substring(d+b.length,c.length),a.attr("class",c),!0)},hasClassSVG=function(a,b){var c=a.attr("class");if(!c)return!1;var d=c.search(b);return d!=-1};angular.module("mouseCapture",[]).factory("mouseCapture",["$rootScope",function(a){var b=$(document),c=null,d=function(b){c&&c.mouseMove&&(c.mouseMove(b),a.$digest())},e=function(b){c&&c.mouseUp&&(c.mouseUp(b),a.$digest())};return{registerElement:function(a){b=a},acquire:function(a,f){this.release(),c=f,b.mousemove(d),b.mouseup(e)},release:function(){c&&(c.released&&c.released(),c=null),b.unbind("mousemove",d),b.unbind("mouseup",e)}}}]).directive("mouseCapture",function(){return{restrict:"A",controller:["$scope","$element","$attrs","mouseCapture",function(a,b,c,d){d.registerElement(b)}]}}),angular.module("dragging",["mouseCapture"]).factory("dragging",["$rootScope","mouseCapture",function(a,b){var c=5;return{startDrag:function(a,d){var e=!1,f=a.pageX,g=a.pageY,h=function(a){e?(d.dragging&&d.dragging(a.pageX,a.pageY,a),f=a.pageX,g=a.pageY):(Math.abs(a.pageX-f)>c||Math.abs(a.pageY-g)>c)&&(e=!0,d.dragStarted&&d.dragStarted(f,g,a),d.dragging&&d.dragging(a.pageX,a.pageY,a))},i=function(){e?d.dragEnded&&d.dragEnded():d.clicked&&d.clicked()},j=function(a){b.release(),a.stopPropagation(),a.preventDefault()};b.acquire(a,{mouseMove:h,mouseUp:j,released:i}),a.stopPropagation(),a.preventDefault()}}}]);var flowchart={};!function(){flowchart.defaultNodeWidth=250,flowchart.nodeNameHeight=40,flowchart.connectorHeight=35,flowchart.computeConnectorY=function(a){return flowchart.nodeNameHeight+a*flowchart.connectorHeight},flowchart.computeConnectorPos=function(a,b,c){return{x:a.x()+(c?0:a.width?a.width():flowchart.defaultNodeWidth),y:a.y()+flowchart.computeConnectorY(b)}},flowchart.ConnectorViewModel=function(a,b,c,d){this.data=a,this._parentNode=d,this._x=b,this._y=c,this.name=function(){return this.data.name},this.x=function(){return this._x},this.y=function(){return this._y},this.parentNode=function(){return this._parentNode}};var a=function(a,b,c){var d=[];if(a)for(var e=0;e<a.length;++e){var f=new flowchart.ConnectorViewModel(a[e],b,flowchart.computeConnectorY(e),c);d.push(f)}return d};flowchart.NodeViewModel=function(b){this.data=b,(!this.data.width||this.data.width<0)&&(this.data.width=flowchart.defaultNodeWidth),this.inputConnectors=a(this.data.inputConnectors,0,this),this.outputConnectors=a(this.data.outputConnectors,this.data.width,this),this._selected=!1,this.name=function(){return this.data.name||""},this.x=function(){return this.data.x},this.y=function(){return this.data.y},this.width=function(){return this.data.width},this.height=function(){var a=Math.max(this.inputConnectors.length,this.outputConnectors.length);return flowchart.computeConnectorY(a)},this.select=function(){this._selected=!0},this.deselect=function(){this._selected=!1},this.toggleSelected=function(){this._selected=!this._selected},this.selected=function(){return this._selected},this._addConnector=function(a,b,c,d){var e=new flowchart.ConnectorViewModel(a,b,flowchart.computeConnectorY(d.length),this);c.push(a),d.push(e)},this.addInputConnector=function(a){this.data.inputConnectors||(this.data.inputConnectors=[]),this._addConnector(a,0,this.data.inputConnectors,this.inputConnectors)},this.addOutputConnector=function(a){this.data.outputConnectors||(this.data.outputConnectors=[]),this._addConnector(a,this.data.width,this.data.outputConnectors,this.outputConnectors)}};var b=function(a){var b=[];if(a)for(var c=0;c<a.length;++c)b.push(new flowchart.NodeViewModel(a[c]));return b};flowchart.ConnectionViewModel=function(a,b,c){this.data=a,this.source=b,this.dest=c,this._selected=!1,this.name=function(){return this.data.name||""},this.sourceCoordX=function(){return this.source.parentNode().x()+this.source.x()},this.sourceCoordY=function(){return this.source.parentNode().y()+this.source.y()},this.sourceCoord=function(){return{x:this.sourceCoordX(),y:this.sourceCoordY()}},this.sourceTangentX=function(){return flowchart.computeConnectionSourceTangentX(this.sourceCoord(),this.destCoord())},this.sourceTangentY=function(){return flowchart.computeConnectionSourceTangentY(this.sourceCoord(),this.destCoord())},this.destCoordX=function(){return this.dest.parentNode().x()+this.dest.x()},this.destCoordY=function(){return this.dest.parentNode().y()+this.dest.y()},this.destCoord=function(){return{x:this.destCoordX(),y:this.destCoordY()}},this.destTangentX=function(){return flowchart.computeConnectionDestTangentX(this.sourceCoord(),this.destCoord())},this.destTangentY=function(){return flowchart.computeConnectionDestTangentY(this.sourceCoord(),this.destCoord())},this.middleX=function(a){return"undefined"==typeof a&&(a=.5),this.sourceCoordX()*(1-a)+this.destCoordX()*a},this.middleY=function(a){return"undefined"==typeof a&&(a=.5),this.sourceCoordY()*(1-a)+this.destCoordY()*a},this.select=function(){this._selected=!0},this.deselect=function(){this._selected=!1},this.toggleSelected=function(){this._selected=!this._selected},this.selected=function(){return this._selected}};var c=function(a,b){return(b.x-a.x)/2};flowchart.computeConnectionSourceTangentX=function(a,b){return a.x+c(a,b)},flowchart.computeConnectionSourceTangentY=function(a,b){return a.y},flowchart.computeConnectionSourceTangent=function(a,b){return{x:flowchart.computeConnectionSourceTangentX(a,b),y:flowchart.computeConnectionSourceTangentY(a,b)}},flowchart.computeConnectionDestTangentX=function(a,b){return b.x-c(a,b)},flowchart.computeConnectionDestTangentY=function(a,b){return b.y},flowchart.computeConnectionDestTangent=function(a,b){return{x:flowchart.computeConnectionDestTangentX(a,b),y:flowchart.computeConnectionDestTangentY(a,b)}},flowchart.ChartViewModel=function(a){this.findNode=function(a){for(var b=0;b<this.nodes.length;++b){var c=this.nodes[b];if(c.data.id==a)return c}throw new Error("Failed to find node "+a)},this.findInputConnector=function(a,b){var c=this.findNode(a);if(!c.inputConnectors||c.inputConnectors.length<=b)throw new Error("Node "+a+" has invalid input connectors.");return c.inputConnectors[b]},this.findOutputConnector=function(a,b){var c=this.findNode(a);if(!c.outputConnectors||c.outputConnectors.length<=b)throw new Error("Node "+a+" has invalid output connectors.");return c.outputConnectors[b]},this._createConnectionViewModel=function(a){var b=this.findOutputConnector(a.source.nodeID,a.source.connectorIndex),c=this.findInputConnector(a.dest.nodeID,a.dest.connectorIndex);return new flowchart.ConnectionViewModel(a,b,c)},this._createConnectionsViewModel=function(a){var b=[];if(a)for(var c=0;c<a.length;++c)b.push(this._createConnectionViewModel(a[c]));return b},this.data=a,this.nodes=b(this.data.nodes),this.connections=this._createConnectionsViewModel(this.data.connections),this.createNewConnection=function(a,b){var c=this.data.connections;c||(c=this.data.connections=[]);var d=this.connections;d||(d=this.connections=[]);var e=a.parentNode(),f=e.outputConnectors.indexOf(a),g="output";if(f==-1&&(f=e.inputConnectors.indexOf(a),g="input",f==-1))throw new Error("Failed to find source connector within either inputConnectors or outputConnectors of source node.");var h=b.parentNode(),i=h.inputConnectors.indexOf(b),j="input";if(i==-1&&(i=h.outputConnectors.indexOf(b),j="output",i==-1))throw new Error("Failed to find dest connector within inputConnectors or outputConnectors of dest node.");if(g==j)throw new Error("Failed to create connection. Only output to input connections are allowed.");if(e==h)throw new Error("Failed to create connection. Cannot link a node with itself.");var e={nodeID:e.data.id,connectorIndex:f},h={nodeID:h.data.id,connectorIndex:i},k={source:"output"==g?e:h,dest:"output"==g?h:e};c.push(k);var l="output"==g?a:b,m="output"==g?b:a,n=new flowchart.ConnectionViewModel(k,l,m);d.push(n)},this.addNode=function(a){this.data.nodes||(this.data.nodes=[]),this.data.nodes.push(a),this.nodes.push(new flowchart.NodeViewModel(a))},this.selectAll=function(){for(var a=this.nodes,b=0;b<a.length;++b){var c=a[b];c.select()}for(var d=this.connections,b=0;b<d.length;++b){var e=d[b];e.select()}},this.deselectAll=function(){for(var a=this.nodes,b=0;b<a.length;++b){var c=a[b];c.deselect()}for(var d=this.connections,b=0;b<d.length;++b){var e=d[b];e.deselect()}},this.updateSelectedNodesLocation=function(a,b){for(var c=this.getSelectedNodes(),d=0;d<c.length;++d){var e=c[d];e.data.x+=a,e.data.y+=b}},this.handleNodeClicked=function(a,b){b?a.toggleSelected():(this.deselectAll(),a.select());var c=this.nodes.indexOf(a);if(c==-1)throw new Error("Failed to find node in view model!");this.nodes.splice(c,1),this.nodes.push(a)},this.handleConnectionMouseDown=function(a,b){b?a.toggleSelected():(this.deselectAll(),a.select())},this.deleteSelected=function(){for(var a=[],b=[],c=[],d=0;d<this.nodes.length;++d){var e=this.nodes[d];e.selected()?e.data.deletable===!0?c.push(e.data.id):(a.push(e),b.push(e.data),alert("It won't delete node: "+e.data.name)):(a.push(e),b.push(e.data))}for(var f=[],g=[],h=[],i=0;i<this.connections.length;++i){var j=this.connections[i];if(j.selected()||c.indexOf(j.data.source.nodeID)!==-1||c.indexOf(j.data.dest.nodeID)!==-1){for(var k={},d=0;d<this.nodes.length;++d){var e=this.nodes[d];e.data.id===j.data.source.nodeID&&(k.source={node_name:e.data.name,connectorIndex:j.data.source.connectorIndex}),e.data.id===j.data.dest.nodeID&&(k.dest={node_name:e.data.name,connectorIndex:j.data.dest.connectorIndex})}h.push(k)}else f.push(j),g.push(j.data)}return this.nodes=a,this.data.nodes=b,this.connections=f,this.data.connections=g,h},this.deleteConFromSelectedNode=function(){for(var a=[],b=0;b<this.nodes.length;++b){var c=this.nodes[b];c.selected()&&a.push(c.data.id)}for(var d=[],e=[],f=[],g=0;g<this.connections.length;++g){var h=this.connections[g];if(h.selected()||a.indexOf(h.data.source.nodeID)!==-1||a.indexOf(h.data.dest.nodeID)!==-1){for(var i={},b=0;b<this.nodes.length;++b){var c=this.nodes[b];c.data.id===h.data.source.nodeID&&(i.source={node_name:c.data.name,connectorIndex:h.data.source.connectorIndex}),c.data.id===h.data.dest.nodeID&&(i.dest={node_name:c.data.name,connectorIndex:h.data.dest.connectorIndex})}f.push(i)}else d.push(h),e.push(h.data)}return this.connections=d,this.data.connections=e,f},this.applySelectionRect=function(a){this.deselectAll();for(var b=0;b<this.nodes.length;++b){var c=this.nodes[b];c.x()>=a.x&&c.y()>=a.y&&c.x()+c.width()<=a.x+a.width&&c.y()+c.height()<=a.y+a.height&&c.select()}for(var b=0;b<this.connections.length;++b){var d=this.connections[b];d.source.parentNode().selected()&&d.dest.parentNode().selected()&&d.select()}},this.getSelectedNodes=function(){for(var a=[],b=0;b<this.nodes.length;++b){var c=this.nodes[b];c.selected()&&a.push(c)}return a},this.getSelectedConnections=function(){for(var a=[],b=0;b<this.connections.length;++b){var c=this.connections[b];c.selected()&&a.push(c)}return a}}}(),angular.module("flowChart",["dragging"]).directive("flowChart",function(){return{restrict:"E",templateUrl:"flowchart/flowchart_template.html",replace:!0,scope:{chart:"=chart"},controller:"FlowChartController"}}).directive("chartJsonEdit",function(){return{restrict:"A",scope:{viewModel:"="},link:function(a,b,c){var d=function(){if(a.viewModel){var c=JSON.stringify(a.viewModel.data,null,4);$(b).val(c)}};d(),a.$watch("viewModel.data",d,!0),$(b).bind("input propertychange",function(){var c=$(b).val(),d=JSON.parse(c);a.viewModel=new flowchart.ChartViewModel(d),a.$digest()})}}}).controller("FlowChartController",["$scope","dragging","$element",function(a,b,c){var d=this;this.document=document,this.jQuery=function(a){return $(a)},a.draggingConnection=!1,a.connectorSize=10,a.dragSelecting=!1,a.mouseOverConnector=null,a.mouseOverConnection=null,a.mouseOverNode=null,this.connectionClass="connection",this.connectorClass="connector",this.nodeClass="node",this.searchUp=function(a,b){return null==a||0==a.length?null:hasClassSVG(a,b)?a:this.searchUp(a.parent(),b)},this.hitTest=function(a,b){return this.document.elementFromPoint(a,b)},this.checkForHit=function(a,b){var c=this.searchUp(this.jQuery(a),b);return c?c.scope():null},this.translateCoordinates=function(a,b,d){var e=c.get(0),f=e.getScreenCTM(),g=e.createSVGPoint();return g.x=a-d.view.pageXOffset,g.y=b-d.view.pageYOffset,g.matrixTransform(f.inverse())},a.mouseDown=function(c){
+a.chart.deselectAll(),b.startDrag(c,{dragStarted:function(b,e){a.dragSelecting=!0;var f=d.translateCoordinates(b,e,c);a.dragSelectionStartPoint=f,a.dragSelectionRect={x:f.x,y:f.y,width:0,height:0}},dragging:function(b,e){var f=a.dragSelectionStartPoint,g=d.translateCoordinates(b,e,c);a.dragSelectionRect={x:g.x>f.x?f.x:g.x,y:g.y>f.y?f.y:g.y,width:g.x>f.x?g.x-f.x:f.x-g.x,height:g.y>f.y?g.y-f.y:f.y-g.y}},dragEnded:function(){a.dragSelecting=!1,a.chart.applySelectionRect(a.dragSelectionRect),delete a.dragSelectionStartPoint,delete a.dragSelectionRect}})},a.mouseMove=function(b){a.mouseOverConnection=null,a.mouseOverConnector=null,a.mouseOverNode=null;var c=d.hitTest(b.clientX,b.clientY);if(null!=c){if(!a.draggingConnection){var e=d.checkForHit(c,d.connectionClass);if(a.mouseOverConnection=e&&e.connection?e.connection:null,a.mouseOverConnection)return}var e=d.checkForHit(c,d.connectorClass);if(a.mouseOverConnector=e&&e.connector?e.connector:null,!a.mouseOverConnector){var e=d.checkForHit(c,d.nodeClass);a.mouseOverNode=e&&e.node?e.node:null}}},a.nodeMouseDown=function(c,e){var f,g=a.chart;b.startDrag(c,{dragStarted:function(a,b){f=d.translateCoordinates(a,b,c),e.selected()||(g.deselectAll(),e.select())},dragging:function(a,b){var e=d.translateCoordinates(a,b,c),h=e.x-f.x,i=e.y-f.y;g.updateSelectedNodesLocation(h,i),f=e},clicked:function(){g.handleNodeClicked(e,c.ctrlKey)}})},a.connectionMouseDown=function(b,c){var d=a.chart;d.handleConnectionMouseDown(c,b.ctrlKey),b.stopPropagation(),b.preventDefault()},a.connectorMouseDown=function(c,e,f,g,h){b.startDrag(c,{dragStarted:function(b,f){var i=d.translateCoordinates(b,f,c);a.draggingConnection=!0,a.dragPoint1=flowchart.computeConnectorPos(e,g,h),a.dragPoint2={x:i.x,y:i.y},a.dragTangent1=flowchart.computeConnectionSourceTangent(a.dragPoint1,a.dragPoint2),a.dragTangent2=flowchart.computeConnectionDestTangent(a.dragPoint1,a.dragPoint2)},dragging:function(b,c,f){var i=d.translateCoordinates(b,c,f);a.dragPoint1=flowchart.computeConnectorPos(e,g,h),a.dragPoint2={x:i.x,y:i.y},a.dragTangent1=flowchart.computeConnectionSourceTangent(a.dragPoint1,a.dragPoint2),a.dragTangent2=flowchart.computeConnectionDestTangent(a.dragPoint1,a.dragPoint2)},dragEnded:function(){a.mouseOverConnector&&a.mouseOverConnector!==f&&a.chart.createNewConnection(f,a.mouseOverConnector),a.draggingConnection=!1,delete a.dragPoint1,delete a.dragTangent1,delete a.dragPoint2,delete a.dragTangent2}})}}]),angular.module("avx.admintools",["ui.router","smart-table","unsavedChanges"]).config(["$stateProvider",function(a){a.state("index.admintools",{url:"^/admintools",views:{"main@index":{templateUrl:"app/modules/admintools/admintools.html",controller:"admintoolsCtrl"}},ncyBreadcrumb:{skip:!0}}).state("index.admintools.syslog",{url:"^/admintools/syslog",views:{"main@index.admintools":{templateUrl:"app/modules/admintools/submenu/syslog/syslog.html",controller:"syslogCtrl",controllerAs:"syslog"}},ncyBreadcrumb:{skip:!0}}).state("index.admintools.syslog.logmgmt",{url:"^/admintools/syslog/logmgmt",views:{"logmgmt@index.admintools.syslog":{templateUrl:"app/modules/admintools/submenu/syslog/log_mgmt/log_mgmt.html",controller:"logmgmtCtrl",controllerAs:"logmgmt"}}}).state("index.admintools.syslog.loghost",{url:"^/admintools/syslog/loghost",views:{"loghost@index.admintools.syslog":{templateUrl:"app/modules/admintools/submenu/syslog/loghost/loghost.html",controller:"loghostCtrl",controllerAs:"loghost"}},ncyBreadcrumb:{label:'{{"Remote Syslog Host"|T}}'}}).state("index.admintools.syslog.loghost.detail",{url:"^/admintools/syslog/loghost/{{host_id}}",views:{"main@index.admintools":{templateUrl:"app/modules/admintools/submenu/syslog/loghost/detail_pages/logfilter-basic.html",controller:"logfilterCtrl",controllerAs:"logfilter"}},ncyBreadcrumb:{parent:"index.admintools.syslog.loghost",label:"{{logfilter.host_id}}"}}).state("index.admintools.syslog.logbuf",{url:"^/admintools/syslog/logbuf",views:{"logbuf@index.admintools.syslog":{templateUrl:"app/modules/admintools/submenu/syslog/logbuf/logbuf.html",controller:"logbufCtrl",controllerAs:"logbuf"}}}).state("index.admintools.snmp",{url:"^/admintools/snmp",views:{"main@index.admintools":{templateUrl:"app/modules/admintools/submenu/snmp/snmp.html",controller:"snmpCtrl",controllerAs:"snmp"}}}).state("index.admintools.snmp.snmpmgmt",{url:"^/admintools/snmp/snmpmgmt",views:{"snmpmgmt@index.admintools.snmp":{templateUrl:"app/modules/admintools/submenu/snmp/snmpmgmt/snmpmgmt.html",controller:"snmpmgmtCtrl",controllerAs:"snmpmgmt"}}}).state("index.admintools.snmp.snmphost",{url:"^/admintools/snmp/snmphost",views:{"snmphost@index.admintools.snmp":{templateUrl:"app/modules/admintools/submenu/snmp/snmphost/snmphost.html",controller:"snmphostCtrl",controllerAs:"snmphost"}}}).state("index.admintools.snmp.mibfile",{url:"^/admintools/snmp/mibfile",views:{"mibfile@index.admintools.snmp":{templateUrl:"app/modules/admintools/submenu/snmp/mibfile/mibfile.html",controller:"mibfileCtrl",controllerAs:"mibfile"}}}).state("index.admintools.troubleshooting",{url:"^/admintools/troubleshooting",views:{"main@index.admintools":{templateUrl:"app/modules/admintools/submenu/troubleshooting/troubleshooting.html",controller:"troubleshootingCtrl",controllerAs:"troubleshooting"}}}).state("index.admintools.troubleshooting.tools",{url:"^/admintools/troubleshooting/tools",views:{"tools@index.admintools.troubleshooting":{templateUrl:"app/modules/admintools/submenu/troubleshooting/tools/tools.html",controller:"toolsCtrl",controllerAs:"tools"}}}).state("index.admintools.troubleshooting.debugfile",{url:"^/admintools/troubleshooting/debugfile",views:{"debugfile@index.admintools.troubleshooting":{templateUrl:"app/modules/admintools/submenu/troubleshooting/debugfile/debugfile.html",controller:"debugfileCtrl",controllerAs:"debugfile"}}})}]),angular.module("avx.auth",[]).constant("AUTH_EVENTS",{loginSuccess:"auth-login-success",logoutSuccess:"auth-logout-success",notAuthenticated:"auth-not-authenticated",notAuthorized:"auth-not-authorized"}).config(["$httpProvider",function(a){a.interceptors.push("AuthInterceptor")}]),angular.module("avx.dashboard",["ui.router","ui.bootstrap.accordion","ngJsTree","ngComposerUI"]).config(["$stateProvider",function(a){a.state("index.dashboard",{url:"^/dashboard",views:{"main@index":{templateUrl:"app/modules/dashboard/dashboard.html",controller:"dashboardCtrl",controllerAs:"dashboard"}}}).state("index.dashboard.sys_statistics",{url:"^/dashboard/sys_statistics",views:{"sys_statistics@index.dashboard":{templateUrl:"app/modules/dashboard/partials/sys_statistics.html",controller:"sysStatisticsCtrl",controllerAs:"dashboard"}}}).state("index.dashboard.sys_info",{url:"^/dashboard/sys_info",views:{"sys_info@index.dashboard":{templateUrl:"app/modules/system/submenu/sys_info/sys_info.html",controller:"sys_infoCtrl",controllerAs:"sys_info"}}}).state("index.dashboard.service_chain",{url:"^/dashboard/service_chain",views:{"service_chain@index.dashboard":{templateUrl:"logicview/chain.html",controller:"service_chain",controllerAs:"service_chain"}}})}]),angular.module("avx.ha",["ui.router","smart-table"]).config(["$stateProvider",function(a){a.state("index.ha",{url:"^/ha",views:{"main@index":{templateUrl:"app/modules/ha/ha.html",controller:"haBasicController",controllerAs:"basic"}}}).state("index.ha.configuration",{url:"^/ha/configuration",views:{"configuration@index.ha":{templateUrl:"app/modules/ha/ha-configuration.html",controller:"haConfigurationController",controllerAs:"config"}}}).state("index.ha.sync",{url:"^/ha/sync",views:{"sync@index.ha":{templateUrl:"app/modules/ha/ha-sync.html",controller:"haSyncController",controllerAs:"sync"}}}).state("index.ha.alert",{url:"^/ha/alert",views:{"alert@index.ha":{templateUrl:"app/modules/ha/ha-email-alert.html",controller:"haEmailAlertController",controllerAs:"alert"}}})}]),angular.module("avx.login",["ui.bootstrap"]).config(["$stateProvider",function(a){a.state("login",{url:"/login",params:{refresh_page:!1},templateUrl:"app/modules/login/login.html",controller:"loginCtrl",controllerAs:"login"}).state("enable",{url:"/enable",params:{enable_passwd:!0},templateUrl:"app/modules/login/login.html",controller:"loginCtrl",controllerAs:"login"})}]),angular.module("avx.logout",["ui.bootstrap"]).config(["$stateProvider",function(a){a.state("logout",{url:"/logout",views:{"":{controller:"LogoutCtrl"}}})}]),angular.module("avxApp",["ui.router","ui.tree","nvd3","pascalprecht.translate","ncy-angular-breadcrumb","angularjs-dropdown-multiselect","angularFileUpload","flowChart","ngAside","unsavedChanges","avx.auth","avx.login","avx.logout","avx.dashboard","avx.va","avx.va_image","avx.system","avx.network","avx.admintools","avx.topology","avx.ha","frapontillo.bootstrap-switch","ngSanitize","base64","rzModule","flow"]).constant("_",window._).run(["$rootScope","$state","$filter","localStorageService","avxService",function(a,b,c,d,e){a._=window._,a.$on("$stateChangeSuccess",function(a,b,c,e,f){"^"!=e.url&&"/login"!=e.url&&"/logout"!=e.url&&d.setWebStorage("previous_page",{state:e.name,url:e.url.substring(1),params:f}),"^"!=b.url&&"/login"!=b.url&&"/logout"!=b.url&&d.setWebStorage("current_page",{state:b.name,url:b.url.substring(1),params:c})}),a.$on("$stateChangeError",function(a){console.log("Error")}),a.$on("$stateNotFound",function(a){alert("Not Found"),a.preventDefault()}),a.user_info||(a.user_info=d.getWebStorage("user_info"),a.user_info&&("1"==a.user_info.hive_key?a.allow_config=!0:a.allow_config=!1)),a.$on("$viewContentLoaded",function(){a.user_info&&(a.allow_config||($("button").prop("disabled",!0),$("form").find("input").prop("disabled",!0),$("form").find("select").prop("disabled",!0),$(".hive_enable_active").prop("disabled",!1)))}),a.$on("auth-not-authenticated",function(d,e){a.notificationTimer&&(clearInterval(a.notificationTimer),a.notificationTimer=void 0,alert(c("T")("Session Timeout. Please re-login."))),b.go("login",{refresh_page:!0},{reload:!0})})}]).config(["$stateProvider","$urlRouterProvider",function(a,b){b.otherwise(function(a,b){return""===b.url()?"/login":"/dashboard/sys_statistics"}),a.state("index",{url:"/index",views:{"":{templateUrl:"app/modules/main/base.html"},"nav@index":{templateUrl:"app/modules/main/sidebar.html",controller:"sidebarCtrl",controllerAs:"sidebar"}},ncyBreadcrumb:{skip:!0}})}]).config(["$translateProvider",function(a){var b=window.localStorage.lang||"en";a.useStaticFilesLoader({prefix:"app/locales/",suffix:".json"}),a.preferredLanguage(b)}]).config(["$breadcrumbProvider",function(a){a.setOptions({templateUrl:"app/modules/main/breadcrumb.html"})}]).config(["$httpProvider",function(a){a.defaults.xsrfCookieName="csrftoken",a.defaults.xsrfHeaderName="X-CSRFToken",a.defaults.headers.post["Content-Type"]="application/x-www-form-urlencoded;charset=utf-8",a.defaults.withCredentials=!0;var b=function(a){var c,d,e,f,g,h,i,j="";for(c in a)if(d=a[c],d instanceof Array)for(i=0;i<d.length;++i)g=d[i],e=c+"["+i+"]",h={},h[e]=g,j+=b(h)+"&";else if(d instanceof Object)for(f in d)g=d[f],e=c+"["+f+"]",h={},h[e]=g,j+=b(h)+"&";else void 0!==d&&null!==d&&(j+=encodeURIComponent(c)+"="+encodeURIComponent(d)+"&");return j.length?j.substr(0,j.length-1):j};a.defaults.transformRequest=[function(a){return angular.isObject(a)&&"[object File]"!==String(a)?b(a):a}]}]).config(["$qProvider",function(a){a.errorOnUnhandledRejections(!1)}]).config(["$locationProvider",function(a){a.hashPrefix("")}]).factory("echarts",function(){return echarts}),angular.module("avx.network",["ui.router","smart-table"]).config(["$stateProvider",function(a){a.state("index.network",{url:"^/network",views:{"main@index":{templateUrl:"app/modules/network/network.html",controller:"networkCtrl"}},ncyBreadcrumb:{skip:!0}}).state("index.network.interface",{url:"^/network/interface",views:{"main@index.network":{templateUrl:"app/modules/network/submenu/interface/interface.html",controller:"interfaceResourceCtrl",controllerAs:"interface"}}}).state("index.network.interface.sys_interface",{url:"^/network/interface/sys_interface",views:{"sys_interface@index.network.interface":{templateUrl:"app/modules/network/submenu/interface/sys_interface/sys_interface.html",controller:"sysInterfaceCtrl",controllerAs:"interface"}}}).state("index.network.interface.bond_interface",{url:"^/network/interface/bond_interface",views:{"bond_interface@index.network.interface":{templateUrl:"app/modules/network/submenu/interface/bond_interface/bond_interface.html",controller:"bondInterfaceCtrl",controllerAs:"interface"}}}).state("index.network.interface.device_view",{url:"^/network/interface/device_view",views:{"device_view@index.network.interface":{templateUrl:"app/modules/network/submenu/interface/sys_interface/device_view.html",controller:"sysInterfaceCtrl",controllerAs:"interface"}}}).state("index.network.ssl_card",{url:"^/network/ssl_card",views:{"main@index.network":{templateUrl:"app/modules/network/submenu/ssl_card/ssl_card-basic.html",controller:"sslResourceBasicCtrl",controllerAs:"sslResourceBasic"}}}).state("index.network.ssl_card.ssl",{url:"^/network/ssl_card/ssl",views:{"sslResource@index.network.ssl_card":{templateUrl:"app/modules/network/submenu/ssl_card/ssl_card.html",controller:"sslResourceCtrl",controllerAs:"sslResource"}}}).state("index.network.mac_pool",{url:"^/network/mac_pool",views:{"main@index.network":{templateUrl:"app/modules/network/submenu/mac_pool/mac_pool.html",controller:"macPoolCtrl",controllerAs:"macPool"}}}).state("index.network.dns_server",{url:"^/network/dns_server",views:{"main@index.network":{templateUrl:"app/modules/network/submenu/dns_server/dns_server_tab.html",controller:"dnsTabCtrl",controllerAs:"dnsServer"}},ncyBreadcrumb:{skip:!0}}).state("index.network.dns_server.dns",{url:"^/network/dns_server/dns",views:{"dns@index.network.dns_server":{templateUrl:"app/modules/network/submenu/dns_server/dns_server.html",controller:"dnsServerCtrl",controllerAs:"dnsServer"}},ncyBreadcrumb:{label:'{{"DNS Server"|T}}'}}).state("index.network.dns_server.static_dns",{url:"^/network/dns_server/static_dns",views:{"static_dns@index.network.dns_server":{templateUrl:"app/modules/network/submenu/dns_server/static_dns/static_dns.html",controller:"staticDNSCtrl",controllerAs:"staticDns"}}}).state("index.network.dhcp",{url:"^/network/dhcp",views:{"main@index.network":{templateUrl:"app/modules/network/submenu/dhcp/dhcp.html",controller:"dhcpCtrl",controllerAs:"dhcp"}}}).state("index.network.dhcp.dhcp_server",{url:"^/network/dhcp/dhcp_server",views:{"dhcp_server@index.network.dhcp":{templateUrl:"app/modules/network/submenu/dhcp/dhcp_server/dhcp-server.html",controller:"dhcpServerCtrl",controllerAs:"dhcpServer"}}}).state("index.network.dhcp.dhcp_relay",{url:"^/network/dhcp/dhcp_relay",views:{"dhcp_relay@index.network.dhcp":{templateUrl:"app/modules/network/submenu/dhcp/dhcp_relay/dhcp-relay.html",controller:"dhcpRelayCtrl",controllerAs:"dhcpRelay"}}}).state("index.network.route",{url:"^/network/route",views:{"main@index.network":{templateUrl:"app/modules/network/submenu/route/route-basic.html",controller:"RouteBasicCtrl",controllerAs:"routeBasic"}}}).state("index.network.route.default_route",{url:"^/network/route/default_route",views:{"defaultRoute@index.network.route":{templateUrl:"app/modules/network/submenu/route/default-route.html",controller:"defaultRouteCtrl",controllerAs:"defaultRoute"}}}).state("index.network.route.static_route",{url:"^/network/route/static_route",views:{"staticRoute@index.network.route":{templateUrl:"app/modules/network/submenu/route/static-route.html",controller:"staticRouteCtrl",controllerAs:"staticRoute"}}}).state("index.network.port_sequence",{url:"^/network/port_sequence",views:{"main@index.network":{templateUrl:"app/modules/network/submenu/port_sequence/port_sequence.html",controller:"portSequenceCtrl",controllerAs:"portSequence"}}}).state("index.network.virtual_switch",{url:"^/network/virtual_switch",views:{"main@index.network":{templateUrl:"app/modules/network/submenu/virtual_switch/virtual-switch.html",controller:"virtualSwitchCtrl",controllerAs:"virtualSwitch"}},ncyBreadcrumb:{skip:!0}}).state("index.network.virtual_switch.vs",{url:"^/network/virtual_switch/vs",views:{"vs@index.network.virtual_switch":{templateUrl:"app/modules/network/submenu/virtual_switch/vs_list.html",controller:"virtualSwitchListCtrl",controllerAs:"virtualSwitch"}},ncyBreadcrumb:{label:'{{"Virtual Switch"|T}}'}}).state("index.network.virtual_switch.global",{url:"^/network/virtual_switch/global",views:{"global@index.network.virtual_switch":{templateUrl:"app/modules/network/submenu/virtual_switch/global_settings/global.html",controller:"globalSettingsCtrl",controllerAs:"global"}}}).state("index.network.virtual_switch.detail",{url:"^/network/virtual_switch/{name}",views:{"main@index.network":{templateUrl:"app/modules/network/submenu/virtual_switch/detail_pages/vswitch-basic.html",controller:"virtualSwitchDetailCtrl",controllerAs:"vswitchDetail"}},ncyBreadcrumb:{parent:"index.network.virtual_switch.vs",label:"{{vswitchDetail.name}}"}}).state("index.network.virtual_switch.detail.settings",{url:"^/network/virtual_switch/{name}/settings",views:{"settings@index.network.virtual_switch.detail":{templateUrl:"app/modules/network/submenu/virtual_switch/detail_pages/vswitch-settings.html",controller:"vswitchSettingsCtrl",controllerAs:"settings"}},ncyBreadcrumb:{skip:!0}}).state("index.network.virtual_switch.detail.va_instance",{url:"^/network/virtual_switch/{name}/va_instance",views:{"vaInstance@index.network.virtual_switch.detail":{templateUrl:"app/modules/network/submenu/virtual_switch/detail_pages/vswitch-vaInstance.html",controller:"vswitchVaInstanceCtrl",controllerAs:"vaInstance"}},ncyBreadcrumb:{skip:!0}}).state("index.network.virtual_switch.detail.mirror",{url:"^/network/virtual_switch/{name}/mirror",views:{"mirror@index.network.virtual_switch.detail":{templateUrl:"app/modules/network/submenu/virtual_switch/detail_pages/vswitch-mirror.html",controller:"vswitchMirrorCtrl",controllerAs:"mirror"}},ncyBreadcrumb:{skip:!0}})}]),angular.module("avx.system",["ui.router","smart-table","ui.bootstrap"]).config(["$stateProvider",function(a){a.state("index.system",{url:"^/system",views:{"main@index":{templateUrl:"app/modules/system/system.html",controller:"systemCtrl"}},ncyBreadcrumb:{skip:!0}}).state("index.system.general",{url:"^/system/general",views:{"main@index.system":{templateUrl:"app/modules/system/submenu/general/general.html",controller:"generalCtrl",controllerAs:"avxGeneral"}}}).state("index.system.general.host",{url:"^/system/general/host",views:{"avx_host@index.system.general":{templateUrl:"app/modules/system/submenu/general/host/host.html",controller:"generalHostCtrl",controllerAs:"generalHost"}}}).state("index.system.general.time",{url:"^/system/general/time",views:{"avx_time@index.system.general":{templateUrl:"app/modules/system/submenu/general/time/time.html",controller:"generalTimeCtrl",controllerAs:"generalTime"}}}).state("index.system.general.ntp",{url:"^/system/general/ntp",views:{"avx_ntp@index.system.general":{templateUrl:"app/modules/system/submenu/general/ntp/ntp.html",controller:"generalNTPCtrl",controllerAs:"generalNTP"}}}).state("index.system.user_mgmt",{url:"^/system/user_mgmt",views:{"main@index.system":{templateUrl:"app/modules/system/submenu/user_mgmt/user_mgmt.html",controller:"user_mgmtCtrl",controllerAs:"user_mgmt"}},ncyBreadcrumb:{label:'{{"System Administrator"|T}}'}}).state("index.system.user_mgmt.aaa",{url:"^/system/user_mgmt/aaa"}).state("index.system.user_mgmt.detail",{url:"^/system/user_mgmt/detail/{name}",views:{"main@index.system":{templateUrl:"app/modules/system/submenu/user_mgmt/user-detail.html",controller:"system_userDetailCtrl",controllerAs:"user_detail"}},ncyBreadcrumb:{skip:!0}}).state("index.system.user_mgmt.detail.ssh",{url:"^/system/user_mgmt/detail/{name}/ssh",views:{"ssh@index.system.user_mgmt.detail":{templateUrl:"app/modules/system/submenu/user_mgmt/user-ssh.html",controller:"system_userDetailSSHCtrl",controllerAs:"user_detail_ssh"}},ncyBreadcrumb:{parent:"index.system.user_mgmt",label:"{{user_detail_ssh.name}}"}}).state("index.system.user_mgmt.detail.bind",{url:"^/system/user_mgmt/detail/{name}/bind",views:{"bind@index.system.user_mgmt.detail":{templateUrl:"app/modules/system/submenu/user_mgmt/user-bind.html",controller:"system_userDetailBindCtrl",controllerAs:"user_detail_bind"}},ncyBreadcrumb:{parent:"index.system.user_mgmt",label:"{{user_detail_bind.name}}"}}).state("index.system.sys_mgmt",{url:"^/system/sys_mgmt",views:{"main@index.system":{templateUrl:"app/modules/system/submenu/sys_mgmt/sys_mgmt.html",controller:"sys_mgmtCtrl",controllerAs:"sys_mgmt"}}}).state("index.system.sys_mgmt.license",{url:"^/system/sys_mgmt/license",views:{"license@index.system.sys_mgmt":{templateUrl:"app/modules/system/submenu/sys_mgmt/license/license.html",controller:"sys_licenseCtrl",controllerAs:"sys_license"}}}).state("index.system.sys_mgmt.license.avx_license",{url:"^/system/sys_mgmt/license/avx_license",views:{"avx_license@index.system.sys_mgmt.license":{templateUrl:"app/modules/system/submenu/sys_mgmt/license/avx_capacity_license.html",controller:"avxLicenseCtrl",controllerAs:"avxLicense"}}}).state("index.system.sys_mgmt.license.apv_license",{url:"^/system/sys_mgmt/license/apv_license",views:{"apv_license@index.system.sys_mgmt.license":{templateUrl:"app/modules/system/submenu/sys_mgmt/license/apv_central_license.html",controller:"apvLicenseCtrl",controllerAs:"apvLicense"}}}).state("index.system.sys_mgmt.license.ag_license",{url:"^/system/sys_mgmt/license/ag_license",views:{"ag_license@index.system.sys_mgmt.license":{templateUrl:"app/modules/system/submenu/sys_mgmt/license/vxag_pool_license.html",controller:"avxPoolLicenseCtrl",controllerAs:"poolLicense"}}}).state("index.system.sys_mgmt.license.netgate_license",{url:"^/system/sys_mgmt/license/netgate_license",views:{"netgate_license@index.system.sys_mgmt.license":{templateUrl:"app/modules/system/submenu/sys_mgmt/license/netgate_central_license.html",controller:"netgateCentralLicenseCtrl",controllerAs:"netgateLicense"}}}).state("index.system.sys_mgmt.license.netiag_license",{url:"^/system/sys_mgmt/license/netiag_license",views:{"netiag_license@index.system.sys_mgmt.license":{templateUrl:"app/modules/system/submenu/sys_mgmt/license/netiag_central_license.html",controller:"netiagCentralLicenseCtrl",controllerAs:"netiagLicense"}}}).state("index.system.sys_mgmt.update",{url:"^/system/sys_mgmt/update",views:{"update@index.system.sys_mgmt":{templateUrl:"app/modules/system/submenu/sys_mgmt/update/update.html",controller:"sys_updateCtrl",controllerAs:"sys_update"}}}).state("index.system.sys_mgmt.shutdownreboot",{url:"^/system/sys_mgmt/shutdownreboot",views:{"shutdownreboot@index.system.sys_mgmt":{templateUrl:"app/modules/system/submenu/sys_mgmt/shutdownreboot/shutdownreboot.html",controller:"sys_shutdownrebootCtrl",controllerAs:"sys_shutdownreboot"}}}).state("index.system.sys_mgmt.email",{url:"^/system/sys_mgmt/email",views:{"email@index.system.sys_mgmt":{templateUrl:"app/modules/system/submenu/sys_mgmt/email/email.html",controller:"sys_emailCtrl",controllerAs:"sys_email"}}}).state("index.system.config_mgmt",{url:"^/system/config_mgmt",views:{"main@index.system":{templateUrl:"app/modules/system/submenu/config_mgmt/config_mgmt.html",controller:"config_mgmtCtrl",controllerAs:"config_mgmt"}}}).state("index.system.config_mgmt.view",{url:"^/system/config_mgmt/view",views:{"view@index.system.config_mgmt":{templateUrl:"app/modules/system/submenu/config_mgmt/view/view.html",controller:"sys_viewCtrl",controllerAs:"sys_view"}}}).state("index.system.config_mgmt.view.running",{url:"^/system/config_mgmt/view/running",views:{"running@index.system.config_mgmt.view":{templateUrl:"app/modules/system/submenu/config_mgmt/view/running.html",controller:"sys_view_runningCtrl",controllerAs:"sys_view_running"}}}).state("index.system.config_mgmt.view.tech",{url:"^/system/config_mgmt/view/tech",views:{"tech@index.system.config_mgmt.view":{templateUrl:"app/modules/system/submenu/config_mgmt/view/tech.html",controller:"sys_view_techCtrl",controllerAs:"sys_view_tech"}}}).state("index.system.config_mgmt.view.startup",{url:"^/system/config_mgmt/view/startup",views:{"startup@index.system.config_mgmt.view":{templateUrl:"app/modules/system/submenu/config_mgmt/view/startup.html",controller:"sys_view_startupCtrl",controllerAs:"sys_view_startup"}}}).state("index.system.config_mgmt.backup_and_load",{url:"^/system/config_mgmt/backup_and_load",views:{"backup_and_load@index.system.config_mgmt":{templateUrl:"app/modules/system/submenu/config_mgmt/backup_and_load/backup_and_load.html",controller:"sys_backupAndLoadCtrl",controllerAs:"sys_backup_load"}}}).state("index.system.config_mgmt.backup_and_load.backup",{url:"^/system/config_mgmt/backup_and_load/backup",views:{"backup@index.system.config_mgmt.backup_and_load":{templateUrl:"app/modules/system/submenu/config_mgmt/backup_and_load/backup.html",controller:"sys_backupCtrl",controllerAs:"sys_backup"}}}).state("index.system.config_mgmt.backup_and_load.load",{url:"^/system/config_mgmt/backup_and_load/load",views:{"load@index.system.config_mgmt.backup_and_load":{templateUrl:"app/modules/system/submenu/config_mgmt/backup_and_load/load.html",controller:"sys_loadCtrl",controllerAs:"sys_load"}}}).state("index.system.config_mgmt.clear",{url:"^/system/config_mgmt/clear",views:{"clear@index.system.config_mgmt":{templateUrl:"app/modules/system/submenu/config_mgmt/clear/clear.html",controller:"sys_clearCtrl",controllerAs:"sys_clear"}}}).state("index.system.access_control",{url:"^/system/access_control",views:{"main@index.system":{templateUrl:"app/modules/system/submenu/access_control/access_control.html",controller:"access_controlCtrl",controllerAs:"access_control"}}}).state("index.system.access_control.webui",{url:"^/system/access_control/webui",views:{"webui@index.system.access_control":{templateUrl:"app/modules/system/submenu/access_control/webui.html",controller:"access_webuiCtrl",controllerAs:"access_webui"}}}).state("index.system.access_control.ssl_webui",{url:"^/system/access_control/ssl_webui",views:{"webui_ssl@index.system.access_control":{templateUrl:"app/modules/system/submenu/access_control/webui_ssl.html",controller:"access_webui_sslCtrl",controllerAs:"access_webui_ssl"}}}).state("index.system.access_control.xmlrpc",{url:"^/system/access_control/xmlrpc",views:{"xmlrpc@index.system.access_control":{templateUrl:"app/modules/system/submenu/access_control/xmlrpc.html",controller:"access_xmlrpcCtrl",controllerAs:"access_xmlrpc"}}}).state("index.system.access_control.restapi",{url:"^/system/access_control/restapi",views:{"restapi@index.system.access_control":{templateUrl:"app/modules/system/submenu/access_control/restapi.html",controller:"access_restapiCtrl",controllerAs:"access_restapi"}}}).state("index.system.access_control.ssh",{url:"^/system/access_control/ssh",views:{"ssh@index.system.access_control":{templateUrl:"app/modules/system/submenu/access_control/ssh.html",controller:"access_sshCtrl",controllerAs:"access_ssh"}}}).state("index.system.access_control.enable",{url:"^/system/access_control/enable",views:{"enable@index.system.access_control":{templateUrl:"app/modules/system/submenu/access_control/enable.html",controller:"access_enableCtrl",controllerAs:"access_enable"}}}).state("index.system.access_control.config",{url:"^/system/access_control/config",views:{"config@index.system.access_control":{templateUrl:"app/modules/system/submenu/access_control/config.html",controller:"access_configCtrl",controllerAs:"access_config"}}}).state("index.system.access_control.usb",{url:"^/system/access_control/usb",views:{"usb@index.system.access_control":{templateUrl:"app/modules/system/submenu/access_control/usb.html",controller:"access_usbCtrl",controllerAs:"access_usb"}}}).state("index.system.backup_and_restore",{url:"^/system/backup_and_restore",views:{"main@index.system":{templateUrl:"app/modules/system/submenu/backup_and_restore/backup_and_restore.html",controller:"backup_and_restoreCtrl",controllerAs:"backup_and_restore"}}}).state("index.system.backup_and_restore.backup",{url:"^/system/backup_and_restore/backup",views:{"backup@index.system.backup_and_restore":{templateUrl:"app/modules/system/submenu/backup_and_restore/backup.html",controller:"backupCtrl",controllerAs:"backup"}}}).state("index.system.backup_and_restore.restore",{url:"^/system/backup_and_restore/restore",views:{"restore@index.system.backup_and_restore":{templateUrl:"app/modules/system/submenu/backup_and_restore/restore.html",controller:"restoreCtrl",controllerAs:"restore"}}})}]),angular.module("avx.topology",["ui.router"]).config(["$stateProvider",function(a){a.state("index.topology",{url:"^/topology",views:{"main@index":{templateUrl:"logicview/index.html",controller:"logicCtrl"}}})}]),angular.module("avx.va_image",["ui.router","smart-table","ui.bootstrap"]).config(["$stateProvider",function(a){a.state("index.va_image",{url:"^/va_image",views:{"main@index":{templateUrl:"app/modules/va_image/va_image.html",controller:"imageController",controllerAs:"image"}}}).state("index.va_image.default",{url:"^/va_image/default",views:{"default@index.va_image":{templateUrl:"app/modules/va_image/va_image_default.html",controller:"imageTableController",controllerAs:"table"}}}).state("index.va_image.repo",{url:"^/va_image/repo",views:{"repo@index.va_image":{templateUrl:"app/modules/va_image/va_image_repo.html",controller:"imageRepoController",controllerAs:"repo"}}}).state("index.va_image.repo.general_settings",{url:"^/va_image/repo/general_settings",views:{"general_settings@index.va_image.repo":{templateUrl:"app/modules/va_image/va_image_repo_general.html",controller:"imageRepoGeneralController",controllerAs:"repoGeneral"}}}).state("index.va_image.repo.detail",{url:"^/va_image/repo/detail/{name}",views:{"detail@index.va_image.repo":{templateUrl:"app/modules/va_image/va_image_repo_detail.html",controller:"imageRepoDetailController",controllerAs:"repo"}}})}]),angular.module("avx.va",["ui.router","smart-table"]).config(["$stateProvider",function(a){a.state("index.va",{url:"^/va",views:{"main@index":{templateUrl:"app/modules/va/va.html",controller:"vaController",controllerAs:"table"}},ncyBreadcrumb:{skip:!0}}).state("index.va.default",{url:"^/va/default",views:{"default@index.va":{templateUrl:"app/modules/va/va_default.html",controller:"vaTableController",controllerAs:"table"}},ncyBreadcrumb:{label:'<i class="fa fa-server"></i> {{"VA Instance List"|T}}'}}).state("index.va.default.detail",{url:"^/va/detail/{name}",views:{"main@index":{templateUrl:"app/modules/va/detail_pages/va-table-detail.html",controller:"vaTableDetailController",controllerAs:"tableDetail"}},ncyBreadcrumb:{parent:"index.va.default",label:"{{current_va_name}}"}}).state("index.va.default.detail.basic",{url:"^/va/detail/{name}/basic",views:{"basic@index.va.default.detail":{templateUrl:"app/modules/va/detail_pages/basic.html",controller:"vaBasicCtrl",controllerAs:"basic"}},ncyBreadcrumb:{skip:!0}}).state("index.va.default.detail.config",{url:"^/va/detail/{name}/config",views:{"config@index.va.default.detail":{templateUrl:"app/modules/va/detail_pages/configuration.html",controller:"vaDetailConfigCtrl",controllerAs:"config"}},ncyBreadcrumb:{skip:!0}}).state("index.va.default.detail.log",{url:"^/va/detail/{name}/log",views:{"log@index.va.default.detail":{templateUrl:"app/modules/va/detail_pages/log.html",controller:"vaLogBuffController",controllerAs:"vaLogBuff"}},ncyBreadcrumb:{skip:!0}}).state("index.va.default.detail.usb",{url:"^/va/detail/{name}/usb",views:{"usb@index.va.default.detail":{templateUrl:"app/modules/va/detail_pages/usb.html",controller:"vaUSBController",controllerAs:"vaUSB"}},ncyBreadcrumb:{skip:!0}}).state("index.va.backup",{url:"^/va/backup",views:{"backup@index.va":{templateUrl:"app/modules/va/va_backup.html",controller:"vaBackupController",controllerAs:"table"}}})}]),angular.module("avx.admintools").controller("admintoolsCtrl",["$scope","$rootScope","$state","$location","$filter",function(a,b,c,d,e){
+b.title=e("T")("Admin Tools")}]),angular.module("avx.admintools").service("adminResourceService",["$q","$filter","apiService",function(a,b,c){function d(){return c.get("/api/avx/admintools/log_mgmt/LogGeneral/_field_group?field_group=general")}function e(a,b,d){var e="/api/avx/admintools/log_mgmt/LogGeneral/_update",f={post_data:JSON.stringify({enable_logging:a,facility:b,level:d})};return c.post(e,f)}function f(){return c.post("/api/avx/admintools/log_mgmt/LogTestConfigReset/_perform?action=Reset&options=%7B%22__pk_list%22%3A%5B%22%22%5D%7D")}function g(){return c.get("/api/avx/admintools/logbuf/SysLogBuf/_field_group?field_group=stats")}function h(){var a="/api/avx/admintools/logbuf/SysLogBuf/_perform?action=ClearLog&options=%7B%22__pk_list%22%3A%5B%22%22%5D%7D";return c.post(a)}function i(){var a="/api/avx/admintools/log_mgmt/LogTestConfigReset/_perform?action=Generate&options=%7B%22__pk_list%22%3A%5B%22%22%5D%7D";return c.post(a)}function j(a){return a=a||null,a?url="/api/avx/admintools/log_mgmt/LogHost/_get_list_data?key="+JSON.stringify(a):url="/api/avx/admintools/log_mgmt/LogHost/_get_list_data",c.get(url)}function k(a){return c.post("/api/avx/admintools/log_mgmt/LogHost/_delete",a)}function l(a){return c.post("/api/avx/admintools/log_mgmt/LogHost/_add",a)}function m(a,b,d,e,f){return c.get("/api/avx/admintools/log_mgmt/LogFilter/_get_asso_list_data?initial_filter=%7B%22log_id%22%3A%5B%7B%22_asso_idx%22%3A0%2C%22ip%22%3A%7B%22"+b+"%22%3A%22"+a+"%22%7D%2C%22type%22%3A%22"+e+"%22%2C%22port%22%3A"+d+"%2C%22host_id%22%3A"+f+"%7D%5D%7D")}function n(a){return c.post("/api/avx/admintools/log_mgmt/LogFilter/_delete",a)}function o(a){return c.post("/api/avx/admintools/log_mgmt/LogFilter/_add",a)}function p(){return c.get("/api/avx/admintools/snmp/SNMPGeneral/_field_group?field_group=general")}function q(a){var b={post_data:JSON.stringify(a)},d="/api/avx/admintools/snmp/SNMPGeneral/_update";return c.post(d,b)}function r(a){return c.post("/api/avx/admintools/snmp/SNMPConfigReset/_perform?action=Reset&options=%7B%22__pk_list%22%3A%5B%22%22%5D%7D")}function s(){return c.get("/api/avx/admintools/snmp/SNMPV3User/_get_asso_list_data?initial_filter=%7B%22asso%22%3A%5B%7B%22_asso_idx%22%3A0%7D%5D%7D")}function t(a){return c.post("/api/avx/admintools/snmp/SNMPV3User/_add",a)}function u(a){return c.post("/api/avx/admintools/snmp/SNMPV3User/_delete",a)}function v(){return c.get("/api/avx/admintools/snmp/PermitIP/_get_asso_list_data?initial_filter=%7B%22asso%22%3A%5B%7B%22_asso_idx%22%3A0%7D%5D%7D")}function w(a){return c.post("/api/avx/admintools/snmp/PermitIP/_add",a)}function x(a){return c.post("/api/avx/admintools/snmp/PermitIP/_delete",a)}function y(){return c.get("/api/avx/admintools/snmp/SNMPServer/_field_group?field_group=default")}function z(a){var b={post_data:JSON.stringify(a)};return c.post("/api/avx/admintools/snmp/SNMPServer/_update",b)}function A(){return c.get("/api/avx/admintools/snmp/SNMPV1V2Servers/_get_asso_list_data?initial_filter=%7B%22asso%22%3A%5B%7B%22_asso_idx%22%3A0%7D%5D%7D")}function B(a){return c.post("/api/avx/admintools/snmp/SNMPV1V2Servers/_add",a)}function C(){return c.get("/api/avx/admintools/snmp/SNMPV3Servers/_get_asso_list_data?initial_filter=%7B%22asso%22%3A%5B%7B%22_asso_idx%22%3A0%7D%5D%7D")}function D(a){return c.post("/api/avx/admintools/snmp/SNMPV3Servers/_add",a)}function E(a){return c.post("/api/avx/admintools/snmp/SNMPV1V2Servers/_delete",a)}function F(a){return c.post("/api/avx/admintools/snmp/SNMPV3Servers/_delete",a)}function G(){return c.get("/api/avx/admintools/snmp/SNMPGeneral/_field_group?field_group=mib_file")}function H(a){return a=a||null,a?url="/api/avx/admintools/troubleshooting/DebugFile/_get_list_data?key="+JSON.stringify(a):url="/api/avx/admintools/troubleshooting/DebugFile/_get_list_data",c.get(url)}function I(a){var b="/api/avx/admintools/troubleshooting/Tools/_perform",d={action:"Ping",options:JSON.stringify(a)};return c.post(b,d)}function J(a){var b="/api/avx/admintools/troubleshooting/Tools/_perform",d={action:"Traceroute",options:JSON.stringify(a)};return c.post(b,d)}function K(){return c.post("/api/avx/admintools/troubleshooting/DebugFile/_perform?action=SnapShotSystem&options=%7B%22__pk_list%22%3A%5B%5D%7D")}function L(a){var b="/api/avx/admintools/troubleshooting/DebugFile/_perform",d={action:"DownloadDebugFile",options:JSON.stringify({__pk_list:[JSON.stringify({filename:a})]})};return c.post(b,d)}function M(a,b){var d="/api/avx/admintools/troubleshooting/DebugFile/_perform",e={action:"Export",options:JSON.stringify({__pk_list:[JSON.stringify({filename:a})],type:b})};return c.post(d,e)}function N(a){var b="/api/avx/admintools/troubleshooting/DebugFile/_perform",d={action:"Export",options:JSON.stringify({__pk_list:[],type:a})};return c.post(b,d)}return{get_logging_setting:d,update_logging_setting:e,reset_logging_setting:f,get_log_buffer:g,clear_log_buffer:h,generate_test_log:i,get_syslog_host:j,deleteLogHost:k,createLogHost:l,get_log_filter:m,deleteLogFilter:n,createLogFilter:o,get_snmp_setting:p,update_snmp_setting:q,reset_snmp_setting:r,getSNMPV3User:s,createSNMPV3User:t,deleteSNMPV3User:u,getPermitIP:v,createPermitIP:w,deletePermitIP:x,get_snmphost_setting:y,update_snmphost_setting:z,getSNMPV1V2Host:A,createSNMPV1V2Host:B,getSNMPV3Host:C,createSNMPV3Host:D,deleteSNMPV1V2Host:E,deleteSNMPV3Host:F,get_mib_file:G,get_debugfile:H,ping:I,traceroute:J,debugfile_snapshot:K,debugfile_download:L,debugfile_export:M,debugfile_exportall:N}}]),angular.module("avx.admintools").controller("mibfileCtrl",["$scope","$rootScope","$state","$filter","$uibModal","adminResourceService",function(a,b,c,d,e,f){b.title="MIB File";var g=this;g.flag=0,g.style={width:"100%"},f.get_mib_file().then(function(a){a&&200===a.status&&(g.flag=1,g.mibfile_data=a.data.mib_file)})}]),angular.module("avx.admintools").controller("snmpCtrl",["$scope","$rootScope","$state","$location","adminResourceService",function(a,b,c,d,e){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]),angular.module("avx.admintools").controller("snmphostCtrl",["$scope","$rootScope","$state","$filter","$uibModal","adminResourceService",function(a,b,c,d,e,f){b.title="SNMP Trap",a.onLabel=d("T")("Enable"),a.offLabel=d("T")("Disable");var g=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h=this;h.snmptrapsetting={trap:!1},h.style={width:"100%"},h.flag=0,f.get_snmphost_setting().then(function(a){a&&200===a.status&&(h.flag=1,h.snmptrapsetting.trap=a.data.trap)}),h.refresh=function(){c.go("index.admintools.snmp.snmphost",{},{reload:!0})},h.cancel_change=function(){h.refresh()},h.config_change=function(a){g();var c={trap:a.trap};f.update_snmphost_setting(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]||(alert(a.data[1]),h.refresh()):alert(d("T")("Failed to update the configurations."))})},h.refreshSNMPHost=function(){h.snmphost_data=[],f.getSNMPV1V2Host().then(function(a){a&&200===a.status&&_.each(a.data,function(a){var b=new Object;b.ip=a.ip,b.version_id=a.version_id,b.community=a.community,h.snmphost_data.push(b)})}),f.getSNMPV3Host().then(function(a){a&&200===a.status&&_.each(a.data,function(a){var b=new Object;b.ip=a.ip,b.version_id=a.version_id,b.engine_id=a.engine_id,b.username=a.username,b.level=a.level,b.auth_passwd=a.auth_password,b.priv_passwd=a.priv_password,h.snmphost_data.push(b)})})},h.refreshSNMPHost(),h["delete"]=function(a){var b=confirm(d("T")("Are you sure you want to do this?"));if(b)if("3"==a.version_id){if(a.ip.indexOf(".")>0)var c={pk:JSON.stringify({ip:{ipv4:a.ip},type:"v3"})};else var c={pk:JSON.stringify({ip:{ipv6:a.ip},type:"v3"})};f.deleteSNMPV3Host(c).then(function(a){a&&200===a.status?("None"!=a.data&&alert(a.data[1]),h.refreshSNMPHost()):alert(d("T")("Failed to delete the SNMP Trap host."))})}else{if(a.ip.indexOf(".")>0)var c={pk:JSON.stringify({ip:{ipv4:a.ip},type:"v1v2"})};else var c={pk:JSON.stringify({ip:{ipv6:a.ip},type:"v1v2"})};f.deleteSNMPV1V2Host(c).then(function(a){a&&200===a.status?("None"!=a.data&&alert(a.data[1]),h.refreshSNMPHost()):alert(d("T")("Failed to delete the SNMP Trap host."))})}},h.showSNMPHostAddModal=function(){var a=e.open({templateUrl:"app/modules/admintools/submenu/snmp/snmphost/snmphost-add.html",controller:"snmphostAddCtrl",controllerAs:"snmphostAdd"});a.closed.then(function(){h.refreshSNMPHost()})}}]).controller("snmphostAddCtrl",["$scope","$rootScope","$state","$uibModalInstance","$uibModal","apiService","adminResourceService",function(a,b,c,d,e,f,g){var h=this;h.version_id="1",h.community="",h.engine_id="",h.username="",h.level="authNopriv",h.auth_passwd="",h.priv_passwd="",h.ipv4="",h.ipv6="",h.chooseIpv4=!0,h.chooseIpv6=!1,h.clickIpv4=function(){h.chooseIpv4=!0,h.chooseIpv6=!1},h.clickIpv6=function(){h.chooseIpv4=!1,h.chooseIpv6=!0},h.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.modalClose=function(){d.dismiss()},h.createHost=function(){var a;a=h.chooseIpv4?{ipv4:h.ipv4}:{ipv6:h.ipv6},"1"==h.version_id||"2"==h.version_id?(requestData={post_data:{ip:a,version_id:h.version_id,community:h.community}},requestData.post_data=JSON.stringify(requestData.post_data),g.createSNMPV1V2Host(requestData).then(function(a){if(a&&200===a.status)if(a.data[0]){if(a.data[2].length>0){var c=a.data[2][0];alert(c[1])}b.$broadcast("endLoading",!0),h.modalClose()}else b.$broadcast("endLoading",!0),alert(a.data[1]);else alert($filter("T")("Failed to add the SNMP Trap host."))})):("authPriv"==h.level?requestData={post_data:{ip:a,version_id:h.version_id,engine_id:h.engine_id,username:h.username,level:h.level,auth_password:h.auth_passwd,priv_password:h.priv_passwd}}:requestData={post_data:{ip:a,version_id:h.version_id,engine_id:h.engine_id,username:h.username,level:h.level,auth_password:h.auth_passwd}},requestData.post_data=JSON.stringify(requestData.post_data),g.createSNMPV3Host(requestData).then(function(a){if(a&&200===a.status)if(a.data[0]){if(a.data[2].length>0){var c=a.data[2][0];alert(c[1])}b.$broadcast("endLoading",!0),h.modalClose()}else b.$broadcast("endLoading",!0),alert(a.data[1]);else alert($filter("T")("Failed to add the SNMP Trap host."))}))}}]),angular.module("avx.admintools").controller("snmpmgmtCtrl",["$scope","$rootScope","$state","$filter","$uibModal","adminResourceService",function(a,b,c,d,e,f){b.title="SNMP Settings",a.onLabel=d("T")("ON"),a.offLabel=d("T")("OFF");var g=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h=this;h.showSNMPV3UserAddModal=function(){var a=e.open({templateUrl:"app/modules/admintools/submenu/snmp/snmpmgmt/snmpv3user-add.html",controller:"snmpv3userAddCtrl",controllerAs:"snmpv3userAdd"});a.closed.then(function(){h.refreshSNMPV3User()})},h.showPermitIPAddModal=function(){var a=e.open({templateUrl:"app/modules/admintools/submenu/snmp/snmpmgmt/permitIP-add.html",controller:"permitIPAddCtrl",controllerAs:"permitIPAdd"});a.closed.then(function(){h.refreshPermitIP()})},h.snmpsetting={enable_snmp:!1,snmp_version:"default",ipcontrol:!1,community:"public",contact:"",location:""},h.style={width:"100%"},h.flag=0,a.allow_config=!0,f.get_snmp_setting().then(function(c){c&&200===c.status&&(h.flag=1,c.data.enable_snmp?h.snmpsetting.snmp_version=c.data.snmp_version:h.snmpsetting.snmp_version="default",h.snmpsetting.enable_snmp=c.data.enable_snmp,h.snmpsetting.ipcontrol=c.data.ipcontrol,h.snmpsetting.community=c.data.community,h.snmpsetting.contact=c.data.contact,h.snmpsetting.location=c.data.location,a.allow_config=b.allow_config)}),h.refresh=function(){c.go("index.admintools.snmp.snmpmgmt",{},{reload:!0})},h.cancel_change=function(){h.refresh()},h.config_change=function(a){g(),0==a.community.length&&(a.community="public");var c={enable_snmp:a.enable_snmp,ipcontrol:a.ipcontrol,community:a.community,contact:a.contact,location:a.location};a.enable_snmp&&(c.snmp_version=a.snmp_version),f.update_snmp_setting(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]||(alert(a.data[1]),h.refresh()):alert(d("T")("Failed to update the configurations."))})},h.Reset=function(){var a=confirm(d("T")("This will set SNMP settings back to the default. Are you sure you want to do this?"));a&&f.reset_snmp_setting().then(function(a){a&&200===a.status?h.refresh():alert(d("T")("Failed to reset the SNMP settings."))})},h.refreshSNMPV3User=function(){f.getSNMPV3User().then(function(a){a&&200===a.status&&(h.snmpv3user_data=[],_.each(a.data,function(a){var b=new Object;b.username=a.username,b.level=a.level,b.auth_passwd=a.auth_password,b.priv_passwd=a.priv_password,h.snmpv3user_data.push(b)}))})},h.refreshSNMPV3User(),h["delete"]=function(a){var b=confirm(d("T")("Are you sure you want to do this?"));if(b){var c={pk:JSON.stringify({username:a.username})};f.deleteSNMPV3User(c).then(function(a){a&&200===a.status?("None"!=a.data&&alert(a.data[1]),h.refreshSNMPV3User()):alert(d("T")("Failed to delete the SNMP v3 user."))})}},h.refreshPermitIP=function(){f.getPermitIP().then(function(a){a&&200===a.status&&(h.permitIP_data=[],_.each(a.data,function(a){var b=new Object;b.ip=a.ip,b.netmask=a.netmask_prefixlen,h.permitIP_data.push(b)}))})},h.refreshPermitIP(),h.deleteIP=function(a){var b=confirm(d("T")("Are you sure you want to do this?"));if(b){if(a.ip.indexOf(".")>0)var c={pk:JSON.stringify({ip:{ipv4:a.ip},netmask_prefixlen:a.netmask})};else var c={pk:JSON.stringify({ip:{ipv6:a.ip},netmask_prefixlen:a.netmask})};f.deletePermitIP(c).then(function(a){a&&200===a.status?"None"!=a.data?alert(a.data[1]):h.refreshPermitIP():alert(d("T")('Failed to delete the "Permit" SNMP Access Control Rule.'))})}}}]).controller("snmpv3userAddCtrl",["$scope","$rootScope","$state","$uibModalInstance","$uibModal","apiService","adminResourceService",function(a,b,c,d,e,f,g){var h=this;h.username="",h.level="authNopriv",h.auth_passwd="",h.priv_passwd="",h.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.modalClose=function(){d.dismiss()},h.createUser=function(){var a={post_data:{username:h.username,level:h.level,auth_password:h.auth_passwd}};"authPriv"==h.level&&(a={post_data:{username:h.username,level:h.level,auth_password:h.auth_passwd,priv_password:h.priv_passwd}}),a.post_data=JSON.stringify(a.post_data),g.createSNMPV3User(a).then(function(a){a&&200===a.status?a.data[0]?(b.$broadcast("endLoading",!0),h.modalClose()):(b.$broadcast("endLoading",!0),alert(a.data[1])):alert($filter("T")("Failed to add the SNMP v3 user."))})}}]).controller("permitIPAddCtrl",["$scope","$rootScope","$state","$uibModalInstance","$uibModal","$filter","apiService","adminResourceService",function(a,b,c,d,e,f,g,h){var i=this;i.ipv4="",i.ipv6="",i.chooseIpv4=!0,i.chooseIpv6=!1,i.clickIpv4=function(){i.chooseIpv4=!0,i.chooseIpv6=!1},i.clickIpv6=function(){i.chooseIpv4=!1,i.chooseIpv6=!0},i.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.modalClose=function(){d.dismiss()},i.create=function(){var a,c;i.chooseIpv4?(a={ipv4:i.ipv4},c=i.netmask):(a={ipv6:i.ipv6},c=i.prefix);var d={post_data:{ip:a,netmask_prefixlen:c}};d.post_data=JSON.stringify(d.post_data),h.createPermitIP(d).then(function(a){a&&200===a.status?a.data[0]?(b.$broadcast("endLoading",!0),i.modalClose()):(b.$broadcast("endLoading",!0),alert(a.data[1])):alert(f("T")('Failed to add the "Permit" SNMP Access Control Rule.'))})}}]),angular.module("avx.admintools").controller("logmgmtCtrl",["$scope","$rootScope","$state","$filter","$uibModal","adminResourceService",function(a,b,c,d,e,f){b.title="Log Settings",a.onLabel=d("T")("Enable"),a.offLabel=d("T")("Disable");var g=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h=this;h.logsetting={enable_logging:!0,facility:"local1",level:"info"},a.allow_config=!0,h.style={width:"100%"},h.flag=0,f.get_logging_setting().then(function(c){c&&200===c.status&&(h.flag=1,h.logsetting.enable_logging=c.data.enable_logging,h.logsetting.facility=c.data.facility,h.logsetting.level=c.data.level,a.allow_config=b.allow_config)}),h.refresh=function(){c.go("index.admintools.syslog.logmgmt",{},{reload:!0})},h.cancel_change=function(){h.refresh()},h.config_change=function(a){g(),f.update_logging_setting(a.enable_logging,a.facility,a.level).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]||alert(a.data[1]):alert(d("T")("Failed to update the configurations."))})},h.Reset=function(){var a=confirm(d("T")("This will reset the configuration of the logging function to default. Are you sure you want to do this?"));a&&f.reset_logging_setting().then(function(a){a&&200===a.status?h.refresh():alert(d("T")("Failed to reset the log settings."))})}}]),angular.module("avx.admintools").controller("logbufCtrl",["$scope","$rootScope","$state","$filter","$uibModal","adminResourceService",function(a,b,c,d,e,f){b.title="Log Buffer";var g=this;g.logbuf_array=[],g.style={width:"100%"},f.get_log_buffer().then(function(a){a&&200===a.status&&(g.logbuf_data=[],g.logbuf=a.data.logbuf,g.logbuf_array=g.logbuf.split("\n"),_.each(g.logbuf_array,function(a){var b=new Object;b.level=a.substring(0,7),b.time=a.substring(8,28),b.msg=a.substring(29).replace("&gt;",">"),g.logbuf_data.push(b)}))}),g.clearLogBuffer=function(){var a=confirm(d("T")("Are you sure you want to do this?"));a&&f.clear_log_buffer().then(function(a){a&&200===a.status?g.refresh():alert(d("T")("Failed to clear the log buffer."))})},g.generateTestLog=function(){var a=confirm(d("T")("This will generate a test log message in the log buffer. Are you sure you want to do this?"));a&&f.generate_test_log().then(function(a){a&&200===a.status?g.refresh():alert(d("T")("Failed to generate a test log."))})},g.refresh=function(){c.go("index.admintools.syslog.logbuf",{},{reload:!0})}}]),angular.module("avx.admintools").controller("logfilterAddController",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","adminResourceService","$filter",function(a,b,c,d,e,f,g,h){var i=this;i.host_id=d.host_id,i.filter_id="",i.filter_string="",i.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.create=function(){var a,c,d,f,j,k=i.host_id.split("-");a=k[0],d=k[1],f=k[2],j=k[3],c=a.indexOf(".")>0?"ipv4":"ipv6",i.showProgressBar();var l={log_id:[{_asso_idx:0,ip:{iptype:a},type:f,port:d,host_id:j}],filter_id:i.filter_id,filter_string:i.filter_string},m={post_data:JSON.stringify(l)};g.createLogFilter(m).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?a.data[2][0]?alert(a.data[2][0][1]):e.close(!0):alert(a.data[1]):alert(h("T")("Failed to add the log filter."))})},i.modalClose=function(){e.dismiss()}}]),angular.module("avx.admintools").controller("logfilterCtrl",["$scope","$rootScope","$state","$uibModal","$stateParams","adminResourceService","$filter",function(a,b,c,d,e,f,g){var h=this;a.current_host_id=e.host_id,c.current.ncyBreadcrumb.label=e.host_id,a.allow_config=b.allow_config,h.showProgressBar=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.tab=1,h.selectTab=function(a){this.tab=a},h.isSelectTab=function(a){return this.tab===a};var i,j,k,l,m,n=a.current_host_id.split("-");i=n[0],k=n[1],l=n[2],m=n[3],h.showLogFilter=function(){j=i.indexOf(".")>0?"ipv4":"ipv6",f.get_log_filter(i,j,k,l,m).then(function(b){b&&200===b.status&&(h.tableData=[],_.each(b.data,function(b){var c=new Object;c.host_id=a.current_host_id,c.filter_id=b.filter_id,c.filter_string=b.filter_string,h.tableData.push(c)}))})},h.refresh=function(){h.showLogFilter()},h.showLogFilterAddModal=function(){var a=d.open({templateUrl:"app/modules/admintools/submenu/syslog/loghost/detail_pages/logfilter-add.html",controller:"logfilterAddController",controllerAs:"logfilterAdd",resolve:{}});a.result.then(function(a){a&&h.showLogFilter()})},h["delete"]=function(a){var c=confirm(g("T")("Are you sure you want to perform the deletion?"));if(c){if(h.showProgressBar(),i.indexOf(".")>0)var d={log_id:[{_asso_idx:0,ip:{ipv4:i},type:l,port:Number(k),host_id:Number(m)}],filter_id:a.filter_id};else var d={log_id:[{_asso_idx:0,ip:{ipv6:i},type:l,port:Number(k),host_id:Number(m)}],filter_id:a.filter_id};var e={pk:JSON.stringify(d)};f.deleteLogFilter(e).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"None"!=a.data?alert(a.data[1]):h.showLogFilter():alert(g("T")("Failed to delete the log filter."))})}},h.showLogFilter()}]),angular.module("avx.admintools").controller("loghostCtrl",["$scope","$rootScope","$state","$filter","$uibModal","adminResourceService",function(a,b,c,d,e,f){b.title="Remote Syslog Host";var g=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h=this;a.allow_config=b.allow_config,h.style={width:"100%"},f.get_syslog_host(["ip","port","type","host_id"]).then(function(a){a&&200===a.status&&(h.loghost_data=[],_.each(a.data,function(a){var b=new Object;b.ip=a.ip,b.port=a.port,b.type=a.type,b.host_id=a.host_id,h.loghost_data.push(b)}))}),h.showDetailPages=function(a){c.go("index.admintools.syslog.loghost.detail",{host_id:a})},h.showLogHostAddModal=function(a){e.open({templateUrl:"app/modules/admintools/submenu/syslog/loghost/loghost-add.html",controller:"loghostAddCtrl",controllerAs:"loghostAdd"})},h["delete"]=function(a){var c=confirm(d("T")("Are you sure you want to do this?"));if(c){if(g(),a.ip.indexOf(".")>0)var e={pk:JSON.stringify({ip:{ipv4:a.ip},port:a.port,type:a.type,host_id:a.host_id})};else var e={pk:JSON.stringify({ip:{ipv6:a.ip},port:a.port,type:a.type,host_id:a.host_id})};f.deleteLogHost(e).then(function(a){a&&200===a.status?("None"!=a.data?alert(a.data[1]):h.refresh(),b.$broadcast("endLoading",!0)):alert(d("T")("Failed to delete the remote syslog host."))})}},h.refresh=function(){c.go("index.admintools.syslog.loghost",{},{reload:!0})}}]).controller("loghostAddCtrl",["$scope","$rootScope","$state","$uibModalInstance","$uibModal","apiService","adminResourceService",function(a,b,c,d,e,f,g){var h=this;h.ipv4="",h.ipv6="",h.port=514,h.type="udp",h.id=0,h.chooseIpv4=!0,h.chooseIpv6=!1,h.clickIpv4=function(){h.chooseIpv4=!0,h.chooseIpv6=!1},h.clickIpv6=function(){h.chooseIpv4=!1,h.chooseIpv6=!0},h.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.modalClose=function(){d.dismiss()},h.create=function(){h.showProgressBar();var a;a=h.chooseIpv4?{ipv4:h.ipv4}:{ipv6:h.ipv6};var c={post_data:{ip:a,port:h.port,type:h.type,host_id:h.id}};c.post_data=JSON.stringify(c.post_data),g.createLogHost(c).then(function(a){a&&200===a.status?(a.data[0]?(b.$broadcast("endLoading",!0),h.modalClose()):(b.$broadcast("endLoading",!0),alert(a.data[1])),h.refresh()):alert($filter("T")("Failed to add the remote syslog host."))})},h.refresh=function(){c.go("index.admintools.syslog.loghost",{},{reload:!0})}}]),angular.module("avx.admintools").controller("syslogCtrl",["$scope","$rootScope","$state","$location","adminResourceService",function(a,b,c,d,e){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]),angular.module("avx.admintools").controller("debugfileExportCtrl",["$scope","$rootScope","$state","$filter","$uibModal","$uibModalInstance","adminResourceService","modalData",function(a,b,c,d,e,f,g,h){var i=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};angular.equals({},h)?(a.title="Export All Debug Files",a.sub_title=""):(a.title="Export Debug File",a.sub_title=": "+h.filename);var j=this;j.data={username_ftp:"anonymous"},j.FTP=!0,j.SCP=!1,j.click_ftp=function(){j.FTP=!0,j.SCP=!1},j.click_scp=function(){j.FTP=!1,j.SCP=!0},j["export"]=function(a){if(i(),j.FTP)var c={ftp:{username_ftp:a.username_ftp,pwd_ftp:a.password_ftp,ip_ftp:a.ip_ftp,file_path_ftp:a.filepath_ftp}};else var c={scp:{username_scp:a.username_scp,pwd_scp:a.password_scp,ip_scp:a.ip_scp,file_path_scp:a.filepath_scp}};angular.equals({},h)?g.debugfile_exportall(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?f.dismiss():alert(a.data[1]):alert(d("T")("Failed to export all debug files."))}):g.debugfile_export(h.filename,c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?f.dismiss():alert(a.data[1]):alert(d("T")("Failed to export debug file: {0}",[h.filename]))})},j.modalClose=function(){f.dismiss()}}]),angular.module("avx.admintools").controller("debugfileCtrl",["$scope","$rootScope","$state","$filter","$uibModal","adminResourceService",function(a,b,c,d,e,f){b.title="Debug File";var g=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h=this;a.allow_config=b.allow_config,f.get_debugfile().then(function(a){a&&200===a.status&&(h.debugfile_data=[],_.each(a.data,function(a){var b=new Object;b.filename=a.filename,b.size=a.size,b.time=a.time,h.debugfile_data.push(b)}))}),h.refresh=function(){c.go("index.admintools.troubleshooting.debugfile",{},{reload:!0})},h.snapshot=function(){var a=confirm(d("T")("It may take a few minutes to take a snapshot of system activities and generate the sys_snap.tar.gz.gpg file to save the snapshot information. Are you sure you want to continue?"));a&&(g(),f.debugfile_snapshot().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.admintools.troubleshooting.debugfile",{},{reload:!0}):alert(a.data[1]):alert(d("T")("Failed to take a snapshot of the system activities."))}))},h.download=function(a){f.debugfile_download(a.filename).then(function(b){if(b&&200===b.status)if(b.data[0]){var c=b.data[1].filename,e=b.data[1].app,f=document.createElement("a");f.id="debug_file",document.body.appendChild(f),f.download=c,f.href="/localfile/"+e+"/"+c,f.click(),document.body.removeChild(document.getElementById("debug_file"))}else alert(b.data[1]);else alert(d("T")("Failed to download debug file: {0}",[a.filename]))})},h["export"]=function(a){e.open({templateUrl:"app/modules/admintools/submenu/troubleshooting/debugfile/debugfile-export.html",controller:"debugfileExportCtrl",controllerAs:"debugfileExport",resolve:{modalData:a}})},h.export_all=function(){e.open({templateUrl:"app/modules/admintools/submenu/troubleshooting/debugfile/debugfile-export.html",controller:"debugfileExportCtrl",controllerAs:"debugfileExport",resolve:{modalData:{}}})}}]),angular.module("avx.admintools").controller("toolsCtrl",["$scope","$rootScope","$state","$filter","$uibModal","adminResourceService",function(a,b,c,d,e,f){b.title="Tools";var g=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h=this;a.allow_config=b.allow_config,h.ping=function(a){g();var c={title:"Ping"};a=a.ipv4?{ip_hostname:{ipv4:a.ipv4}}:{ip_hostname:{ipv6:a.ipv6}},f.ping(a).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status)if(a.data[0]){c.pipeid=a.data[1].pipeid;e.open({templateUrl:"app/modules/common/templates/pipe_action_modal.html",controller:"pipeActionCtrl",controllerAs:"pipeAction",backdrop:!1,resolve:{modalData:c}})}else alert(a.data[1]);else alert(d("T")("Internal server error."))})},h.traceroute=function(a){g();var c={title:"Traceroute"};a=a.ipv4?{ip_hostname:{ipv4:a.ipv4}}:{ip_hostname:{ipv6:a.ipv6}},f.traceroute(a).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status)if(a.data[0]){c.pipeid=a.data[1].pipeid;e.open({templateUrl:"app/modules/common/templates/pipe_action_modal.html",controller:"pipeActionCtrl",controllerAs:"pipeAction",backdrop:!1,resolve:{modalData:c}})}else alert(a.data[2]);else alert(d("T")("Internal server error."))})}}]),angular.module("avx.admintools").controller("troubleshootingCtrl",["$scope","$rootScope","$state","$location","adminResourceService",function(a,b,c,d,e){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]),angular.module("avx.auth").factory("AuthInterceptor",["$rootScope","$q","AUTH_EVENTS",function(a,b,c){function d(b){var d={401:c.notAuthenticated,403:c.notAuthorized},e=b.status;a.$broadcast(d[e],b)}return{responseError:d}}]),angular.module("avxApp").controller("DownloadCtrl",["$scope","$window",function(a,b){a.language=window.localStorage.lang||"en",a.appGuide=function(){return"en"==a.language?(b.open("../../../../media/docs/en/app.pdf","_blank"),!1):"zh-cn"==a.language?(b.open("../../../../media/docs/zh-cn/app_cn.pdf","_blank"),!1):"zh-tw"==a.language?(b.open("../../../../media/docs/zh-tw/app.pdf","_blank"),!1):"ja"==a.language?(b.open("../../../../media/docs/ja/app.pdf","_blank"),!1):void 0},a.cliGuide=function(){return"en"==a.language?(b.open("../../../../media/docs/en/cli.pdf","_blank"),!1):"zh-cn"==a.language?(b.open("../../../../media/docs/zh-cn/cli_cn.pdf","_blank"),!1):"zh-tw"==a.language?(b.open("../../../../media/docs/zh-tw/cli.pdf","_blank"),!1):"ja"==a.language?(b.open("../../../../media/docs/ja/cli.pdf","_blank"),!1):void 0},a.showDocument=function(){a.documentStatus=!0},a.hideDocument=function(){a.documentStatus=!1},a.userGuide=function(){return b.open("../../../../media/docs/rest/avx/RESTful_API_User_Guide.pdf","_blank"),!1},a.referenceManual=function(){return b.open("../../../../media/docs/rest/avx/index.html","_blank"),!1}}]).controller("SaveConfigCtrl",["$scope","$rootScope","$uibModal","$filter","saveConfigService",function(a,b,c,d,e){a.allow_config=b.allow_config;var f=function(){c.open({templateUrl:"app/modules/common/templates/progress_save.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};a.saveConfiguration=function(){f(),e.backup_config().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?alert(d("T")("AVX configurations have been saved successfully.")):alert(data[0]):alert(d("T")("Save failed for AVX configurations."))})}}]).controller("HTMLGuideCtrl",["$scope","$window",function(a,b){a.language=window.localStorage.lang||"en",a.htmlguide=function(){return"en"==a.language?(b.open("../../../../media/docs/en/app.html","_blank"),!1):"zh-cn"==a.language?(b.open("../../../../media/docs/zh-cn/app_cn.html","_blank"),!1):"zh-tw"==a.language?(b.open("../../../../media/docs/zh-tw/app.html","_blank"),!1):"ja"==a.language?(b.open("../../../../media/docs/ja/app.html","_blank"),!1):void 0}}]).controller("LanguageSwitchingCtrl",["$scope","$rootScope","$translate",function(a,b,c){a.switching=function(a){a=a||"en",c.use(a),window.localStorage.lang=a,window.location.reload()}}]).controller("ThemeSwitchingCtrl",["$scope","$rootScope",function(a,b){a.switching=function(a){a=a||"dark",window.localStorage.theme=a,window.location.reload()}}]).controller("showProgressCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance",function(a,b,c,d,e){modalViewModel=this,modalViewModel.modalClose=function(){e.dismiss()},a.$on("endLoading",function(a,b){b&&modalViewModel.modalClose()})}]).controller("showProgressCtrlWithValue",["$scope","$rootScope","$state","$stateParams","$uibModalInstance",function(a,b,c,d,e){modalViewModel=this,a.value=0,modalViewModel.modalClose=function(){e.close()},a.$on("endLoading",function(a,b){b&&e.dismiss()}),a.$on("upLoading",function(b,c){void 0!==c&&(a.value=c)})}]).controller("pipeActionCtrl",["$scope","$rootScope","$state","$stateParams","$filter","$uibModalInstance","modalData","longPollingService","$filter",function(a,b,c,d,e,f,g,h,e){
+modalViewModel=this,modalViewModel.title=g.title,modalViewModel.finished=!1,modalViewModel.result="","custom_msg"in g?(modalViewModel.hideClose=!0,modalViewModel.style="height: 100px"):modalViewModel.style="height: 250px";var i=!1,j=!1,k=g.pipeid,l=function(a){h.long_polling(a).then(function(b){function c(a,b,c){var e=new RegExp(d(b)+".+"+d(c),"gi"),f=String(a).match(e),g="";return f&&(g=_.map(f,function(a){return a.replace(b,"").replace(c,"")})),g}function d(a){return String(a).replace(/([.*+?^=!:${}()|[\]/\\])/g,"\\$1")}function f(a){for(var b=[["VA instance "," failed to be created on the remote HA unit!","VA instance {0} failed to be created on the remote HA unit!"],["VA instance "," created on the remote HA unit successfully!","VA instance {0} created on the remote HA unit successfully!"],["Now synchronizing configuration and disks of VA instance ","","Now synchronizing configuration and disks of VA instance {0}"],["VA image "," failed to been loaded to the remote HA unit!","VA image {0} failed to been loaded to the remote HA unit!"],["VA image "," have been loaded to the remote HA unit successfully!","VA image {0} have been loaded to the remote HA unit successfully!"],["Now synchronizing image ","","Now synchronizing image {0}"],["Now backing up image ","","Now backing up image {0}"],["Now restoring image ","","Now restoring image {0}"],["","deleted","{0} deleted"],["Now restoring VA instance ","","Now restoring VA instance {0}"],["Now backing up VA instance ","","Now backing up VA instance {0}"]],d=a.split("\n"),f=d.length-1;f>=0;f--){for(var g=!1,h=b.length-1;h>=0;h--)if(d[f]){var i=c(d[f],b[h][0],b[h][1]);if(i){g=!0,d[f]=e("T")(b[h][2],[i]);break}}g||(d[f]=e("T")(d[f]))}return m=d.join("\n")}function h(a){var b=a.split("Start to load configuration."),c="",d=!1,e=!1;return b.length>1&&(e=!0,j=!0,c+=b[0]+"Start to load configuration.\n",b[1].indexOf("Configuration has been loaded.")>=0&&(c+="Configuration has been loaded.\n"+a.split("Configuration has been loaded.")[1],d=!0,j=!1),b[1].indexOf("Failed to load configuration.")>=0&&(c+="Failed to load configuration.\n"+a.split("Failed to load configuration.")[1],d=!0,j=!1)),d||(a.indexOf("Configuration has been loaded.")>=0&&(e=!0,c+="Configuration has been loaded.\n"+a.split("Configuration has been loaded.")[1],j=!1),a.indexOf("Failed to load configuration.")>=0&&(e=!0,c+="Failed to load configuration.\n"+a.split("Failed to load configuration.")[1],j=!1)),j||e?c:a}if(b&&200===b.status){if(i)return!1;if("custom_msg"in g&&modalViewModel.result.indexOf(g.custom_msg)<0&&(modalViewModel.result=g.custom_msg.replace(/(?:\r\n|\r|\n)/g,"<br/>"),modalViewModel.result+="<br/>"),b.data.msg)if(b.data.msg.indexOf("YES")>0){var k=b.data.msg.replace('Enter "YES" to continue:',"\n"),m=f(h(k));modalViewModel.result+=m.replace(/(?:\r\n|\r|\n)/g,"<br/>"),modalViewModel.result+="<br/>"}else{var m=f(h(b.data.msg));modalViewModel.result+=m.replace(/(?:\r\n|\r|\n)/g,"<br/>")}b.data.is_finished?modalViewModel.finished=!0:g.timeout?setTimeout(function(){l(a)},g.timeout):l(a)}else alert(e("T")("Internal server error."))})};l(k),modalViewModel.end_long_polling=function(){i=!0,h.end_long_polling(k).then(function(a){a&&200===a.status?f.close(!0):alert(e("T")("Failed to end action, please wait..."))})},modalViewModel.modalClose=function(){f.close(!0)}}]).controller("NotificationCtrl",["$scope","$rootScope","$uibModal","localStorageService","NotificationService",function(a,b,c,d,e){var f=function(){a.notification=[];var b=d.getWebStorage("notification")||[];b.length>10?a.notification=b.slice(-10):a.notification=b};f(),a.$on("notification_is_cleared",function(a,b){b&&f()});var g=setInterval(function(){e.poll_notification().then(function(a){if(a&&200===a.status){var b=d.getWebStorage("notification")||[];_.each(a.data,function(a){b.push(a)}),d.setWebStorage("notification",b),f()}})},3e3);b.notificationTimer=g,a.his_notification=function(){c.open({templateUrl:"app/modules/main/his_notification.html",controller:"hisNotificationCtrl",controllerAs:"notification"})}}]).controller("hisNotificationCtrl",["$scope","$rootScope","$uibModalInstance","localStorageService",function(a,b,c,d){a.notification_data=d.getWebStorage("notification")||[],a.modalClose=function(){c.dismiss()},a.clear=function(){d.setWebStorage("notification",[]),a.notification_data=d.getWebStorage("notification")||[],b.$broadcast("notification_is_cleared",!0)}}]).controller("SearchCtrl",["$scope","$rootScope","$uibModal","$filter","searchService","$sce",function(a,b,c,d,e,f){a.searchKey="",a.jump=function(b){a.searchKey="",location.href=b},a.inSearch=function(b){var c=window.event.which?b.keyCode:b.which;13==c&&a.search()},a.search=function(){a.searchKey||(a.searchResult=[]);var b={q:a.searchKey};e.search_router(b).then(function(b){if(b&&200===b.status){var c=b.data;if("enter_engmode"==c)alert("Entering WebUI Engineering Mode ..."),window.location.reload();else if("exit_engmode"==c)alert("Exiting WebUI Engineering Mode ..."),window.location.reload();else{for(var d=c.length-1;d>=0;d--)c[d].highlight=f.trustAsHtml(c[d].highlight);a.searchResult=c}}})}}]).controller("TerminalCtrl",["$scope","$rootScope","$uibModal","$filter",function(a,b,c,d){a.connect=function(){var a="webshell/webconsole.html";window.open(a)}}]).controller("EngineeringCtrl",["$scope","$rootScope","engineeringService",function(a,b,c){a.engineering_mode=!1,c.is_eng_mode().then(function(b){b&&200===b.status&&JSON.parse(b.data)&&(a.engineering_mode=!0)}),a.show_engineer_modal=function(){var a="/eng/engineering_utils/";window.open(a)}}]).controller("ActionAuthCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$filter","$uibModal","actionAuthService","modalData",function(a,b,c,d,e,f,g,h,i){modalViewModel=this,modalViewModel.user_name=i.current_user,modalViewModel.modalClose=function(){e.dismiss()},modalViewModel.action_auth=function(){var a={username:modalViewModel.user_name,password:modalViewModel.password};h.action_auth(a).then(function(a){a&&200===a.status&&(a.data.error_code?alert(a.data.data):e.close(a.data.data))})}}]).controller("deleteConfirmCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$filter","$uibModal","modalData",function(a,b,c,d,e,f,g,h){modalViewModel=this,modalViewModel.info=h.info,modalViewModel.modalClose=function(){e.dismiss()},modalViewModel.confirm=function(){e.close(!0)}}]),angular.module("avxApp").directive("eChart",["echarts",function(a,b){function c(a,b,c){var d=echarts.init(b[0]);a.$watch(c.eData,function(){var b=a.$eval(c.eData);angular.isObject(b)&&d.setOption(b)},!0),a.getDom=function(){return{height:b[0].offsetHeight,width:b[0].offsetWidth}},a.$watch(a.getDom,function(){d.resize()},!0)}return{restrict:"A",link:c}}]).directive("panelWidget",function(){return{restrict:"E",replace:!0,transclude:!0,scope:{title:"@",template:"@",options:"@"},template:'<section layout-margin class="md-whiteframe-z1 panel-widget">  <md-toolbar md-theme="custom" class="md-hue-1 panel-widget-toolbar">    <div class="md-toolbar-tools">      <h4 class="panel-widget-tittle" style="margin-left: 40px;">{{title}}</h4>      <span flex></span>      <md-button ng-show="options" ng-click="$showOptions = !$showOptions" class="md-icon-button" aria-label="Show options">        <i class="material-icons">more_vert</i>      </md-button>    </div>  </md-toolbar>  <div ng-include="template"/></section>',compile:function(a,b,c){return function(a,b){c(a,function(a){b.append(a)})}}}}).directive("rdLoading",function(){var a={restrict:"AE",template:'<div class="loading"><div class="double-bounce1"></div><div class="double-bounce2"></div></div>'};return a}).directive("rdWidgetBody",function(){var a={requires:"^rdWidget",scope:{loading:"@?",classes:"@?",style:"@?"},transclude:!0,template:'<div class="widget-body" ng-class="classes" style="{{style}}"><rd-loading ng-show="loading"></rd-loading><div ng-hide="loading" class="widget-content" ng-transclude></div></div>',restrict:"E"};return a}).directive("rdWidgetFooter",function(){var a={requires:"^rdWidget",transclude:!0,template:'<div class="widget-footer" ng-transclude></div>',restrict:"E"};return a}).directive("rdWidgetHeader",function(){var a={requires:"^rdWidget",scope:{title:"@",icon:"@"},transclude:!0,template:'<div class="widget-header"><div class="row"><div class="pull-left"><i class="fa" ng-class="icon"></i> {{title}} </div><div class="pull-right" ng-transclude></div></div></div>',restrict:"E"};return a}).directive("rdWidget",function(){var a={scope:{style:"@?"},transclude:!0,template:'<div class="widget" style="{{style}}" ng-transclude></div>',restrict:"EA"};return a}),angular.module("avxApp").directive("bsSelect",["$filter",function(a){return{restrict:"EA",scope:{},link:function(b,c,d,e){var f=setInterval(function(){var b=c.find("option");if(b){var d=b.length;d>0&&(c.selectpicker({showTick:!0,title:a("T")("---Please Select---")}),clearInterval(f))}},50)}}}]),angular.module("avxApp").directive("verifyScope",["$filter",function(a){return{scope:!1,controller:["$scope","$element","$attrs",function(b,c,d){this.getscope=function(){return b},b.ngVerify={elems:[],subBtn:[],tipStyle:formatOpt(d.verifyScope,c).tipStyle,submit:function(){for(var c=b.ngVerify.elems,d=checkAll(c,a),e=0;e<d.errEls.length;e++)makeError(d.errEls[e],!0)}},c[0]._verifyScope=b}],link:function(a,b){b.attr("novalidate","novalidate")}}}]).directive("ngVerify",["ngVerify","$filter",function(a,b){return{require:"?^verifyScope",scope:!1,link:function(c,d,e,f){var g,h=formatOpt(e.ngVerify,d);if(void 0!=f)g=f.getscope(),d[0]._verifyCheckElement=function(a){return makeError(d,a),ISVALID(d,b)};else{if(!h.control)return console.error("ngVerify need control option to form.name:"),void console.error(d);if(g=a.scope(h.control),void 0==g)return console.error("ngVerify button cant be find parent form:"),void console.error(d)}d.ngVerify={$scope:g,scope:c,iAttrs:e,OPTS:h};var i=d.ngVerify.$scope,j=d.parent().parent(),k=d.parent().parent().parent(),l=d.parent();l&&l.on("click",function(){setButtonByTab(i,b)}),j&&j.on("click",function(){setButtonByTab(i,b)}),k&&k.on("click",function(){setButtonByTab(i,b)}),Init(d,b)}}}]);var getDom=function(a){var b;return"object"==typeof a&&(b=a),"string"==typeof a&&(0===a.indexOf("#")?(a=a.slice(1,a.length),b=document.getElementById(a)):angular.forEach(document.getElementsByName(a),function(a){if(void 0!==angular.element(a).attr("ng-verify"))return b=a,!1})),null==b?console.error("param:'"+a+"' can not find dom element"):b};angular.module("avxApp").filter("T",["$translate","$filter",function(a,b){return function(a,c){c=c||null;var d="";return a&&(d=b("translate")(a),c&&(String.prototype.format=function(a){var b=/{(\d+)}/gm;return this.replace(b,function(b,c){return a[~~c]})},d=d.format(c))),d}}]).filter("unique",function(){return function(a,b){var c,d={},e=a.length,f=[];for(c=0;c<e;c+=1)a[c][b]&&(d[a[c][b]]=a[c]);for(c in d)f.push(d[c]);return f}}).filter("trust",["$sce",function(a){return function(b){return a.trustAsHtml(b)}}]).filter("upper_first",function(){return function(a){return a.replace(/(\w)/,function(a){return a.toUpperCase()})}}).filter("vf_shared",function(){return function(a){return"ssl"===a.parentNode().data.type?a.data.shared===!0?"(shared)":"(dedicated)":""}}).filter("IPv4",function(){return function(a){var b=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;return!!b.test(a)}}),angular.module("avxApp").factory("apiService",["$http","$q","$rootScope",function(a,b,c){var d={ip:"",port:""},e="";""!=d.ip&&(e+="http://"+d.ip+":"+d.port);var f={headers:{"Content-Type":"application/json"}};return{get:function(c,d){d=d||f;var g=b.defer();return a.get(e+c,d).then(function(a){g.resolve(a)}),g.promise},post:function(d,f,g){g=g||null,f=f||{},"csrfmiddlewaretoken"in f||c.user_info&&(f.csrfmiddlewaretoken=c.user_info.csrftoken);var h=b.defer();return a.post(e+d,f,g).then(function(a){h.resolve(a)}),h.promise}}}]).service("longPollingService",["$q","$filter","apiService",function(a,b,c){function d(a){return c.get("/pipe/get/"+a)}function e(a,b){return c.post("/pipe/post/"+a,{interactive_msg:b})}function f(a){return c.post("/pipe/post/"+a,{interactive_msg:"__eND_"})}return{long_polling:d,post_long_polling:e,end_long_polling:f}}]).service("saveConfigService",["$q","$filter","apiService",function(a,b,c){function d(){var a="/api/avx/system/config_mgmt/BackupConfig/_perform",b={action:"BackupStartupConfig",options:JSON.stringify({})};return c.post(a,b)}return{backup_config:d}}]).service("NotificationService",["$q","$filter","apiService",function(a,b,c){function d(){return c.get("/poll_notification")}return{poll_notification:d}}]).service("localStorageService",["$q","$filter","apiService",function(a,b,c){function d(a,b){localStorage[a]=JSON.stringify(b)}function e(a){var b=void 0;return localStorage[a]&&(b=JSON.parse(localStorage[a])),b}return{setWebStorage:d,getWebStorage:e}}]).service("searchService",["$q","$filter","apiService",function(a,b,c){function d(a){return c.post("/search",a)}return{search_router:d}}]).service("engineeringService",["$q","$filter","apiService",function(a,b,c){function d(){return c.get("/is_eng_mode")}return{is_eng_mode:d}}]).service("actionAuthService",["$q","$filter","apiService",function(a,b,c){function d(a){return c.post("/action_auth",a)}return{action_auth:d}}]),angular.module("avxApp").service("ngVerify",function(){return{scope:function(a){for(var b,c=document.getElementsByName(a),d=0;d<c.length;d++)if(c[d]._verifyScope){b=c[d]._verifyScope;break}return b},check:function(a,b,c){var d,e=document.getElementsByName(a),f=this;setTimeout(function(){for(var a=0;a<e.length;a++)if(e[a]._verifyScope){var g=f.scope(e[a].name),h=g.ngVerify.elems;if(d=checkAll(h),void 0===c||c===!0||void 0===b)for(var i=d.errEls,j=0;j<i.length;j++)makeError(i[j],!0);DisableButtons(g.ngVerify.subBtn,d.hasError)}"function"==typeof b&&b(d.errEls)})},checkElement:function(a,b){var c=getDom(a);return void 0===c._verifyCheckElement?(console.error(c,"You checked element not a ngVerify's element"),!1):c._verifyCheckElement(b)},setError:function(a,b){var c=getDom(a);c._verifySetError=b,c._verifyCheckElement(!0)}}}),angular.module("avx.dashboard").controller("dashboardCtrl",["$scope","$rootScope","$location","$filter","$state",function(a,b,c,d,e){b.title="Dashboard",a.url_contain=function(a){return c.path().indexOf(a)!=-1}}]).controller("service_chain",["$scope","$rootScope","$location","$filter","$state","$window",function(a,b,c,d,e,f){a.allow_config=b.allow_config,b.title="Service Topology",a.$on("$locationChangeStart",function(a,b,c){if(ArrayNode.graph&&ArrayNode.graph.edit_enable){var e=confirm(d("T")("Unsaved changes will be lost if you leave the current page."));e?ArrayNode.graph.edit_enable=!1:a.preventDefault()}}),a.$on("$stateChangeStart",function(a,b,c){if(ArrayNode.graph&&ArrayNode.graph.edit_enable){var e=confirm(d("T")("Unsaved changes will be lost if you leave the current page."));e?ArrayNode.graph.edit_enable=!1:a.preventDefault()}}),f.onbeforeunload=function(){if(ArrayNode.graph&&ArrayNode.graph.edit_enable)return d("T")("Unsaved changes will be lost if you refresh the current page.")}}]),angular.module("avx.dashboard").service("dashboardService",["$q","apiService",function(a,b){return{checkVAInstanceStatus:function(){return list=["status"],json_list=JSON.stringify(list),b.get("/api/avx/va/instance/VAInstance/_get_list_data?key="+json_list)},showVAImageInfo:function(c){var d=a.defer();return list=["vendor"],json_list=JSON.stringify(list),b.get("/api/avx/va/image/VAImageManagement/_get_list_data?key="+json_list).then(function(a){for(var b=0;b<a.data.length;b++)"Other"==a.data[b].product_category&&(a.data[b].product_category=a.data[b].other_category);d.resolve(a)}),d.promise}}}]),angular.module("avx.dashboard").controller("sysStatisticsCtrl",["$scope","$rootScope","$location","$filter","$state","dashboardService","sysResourceService","avxService",function(a,b,c,d,e,f,g,h){var i=this;b.title="System Statistics",a.allow_config=b.allow_config,i.widgets=[{name:"network_throughput",icon:"line-chart",verbose_name:"Total System Network (Mbps)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["Send","Receive"],xAxis_splitNumber:3,yAxis_splitNumber:1,yAxis_axisLine_show:!1,legend_show:!1,gradient:!0},datasource:[{type:"influxdb",select:["tx_bytes/1024/1024"],from:"avx_throughput_stats",where:["interface = 'total'"],time:["now() - 5m"]},{type:"influxdb",select:["rx_bytes/1024/1024"],from:"avx_throughput_stats",where:["interface = 'total'"],time:["now() - 5m"]}]}},{name:"cpu_usage",icon:"line-chart",verbose_name:"Total CPU Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["100-idle"],from:"avx_cpu_stats",where:[],time:["now() - 10m"]}]}},{name:"memory_usage",icon:"line-chart",verbose_name:"Total Memory Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["(total-free-cached-buffers)/total*100"],from:"avx_memory_stats",where:[],time:["now() - 10m"]}]}}],i.go=function(a){e.go(a)},i.options=[{title:"CPU Threads",option:{chart:{type:"pieChart",width:112,height:112,donut:!0,x:function(a){return a.key},y:function(a){return a.y},valueFormat:function(a){return d3.format(".0f")(a)},color:function(a){return a.color},showLabels:!1,showLegend:!1,title:"",margin:{top:0,left:0,right:0}}},data:[]},{title:"Memory",option:{chart:{type:"pieChart",width:112,height:112,donut:!0,x:function(a){return a.key},y:function(a){return a.y},valueFormat:function(a){return d3.format(".0f")(a)+" GB"},color:function(a){return a.color},showLabels:!1,showLegend:!1,title:"",margin:{top:0,left:0,right:0}}},data:[]},{title:"Traffic Interface VF",option:{chart:{type:"pieChart",width:112,height:112,donut:!0,x:function(a){return a.key},y:function(a){return a.y},valueFormat:function(a){return d3.format(".0f")(a)+" ("+d("T")("Dedicated")+")"},color:function(a){return a.color},showLabels:!1,showLegend:!1,title:"",margin:{top:0,left:0,right:0}}},data:[]},{title:"SSL Card VF",option:{chart:{type:"pieChart",width:112,height:112,donut:!0,x:function(a){return a.key},y:function(a){return a.y},valueFormat:function(a){return d3.format(".0f")(a)},color:function(a){return a.color},showLabels:!1,showLegend:!1,title:"",margin:{top:0,left:0,right:0}}},data:[]},{title:"System Disk",option:{chart:{type:"pieChart",width:112,height:112,donut:!0,x:function(a){return a.key},y:function(a){return a.y},valueFormat:function(a){},color:function(a){return a.color},showLabels:!1,showLegend:!1,title:"",margin:{top:0,left:0,right:0}}},data:[]}],g.get_sys_resource_occupation_topN().then(function(a){if(a&&200===a.status){var b=a.data.result,c=b.cpu_thread,e=b.cpu_vswitch_used,f=b.memory_reserved,g=b.memory,h=b.port_vf,j=b.ssl_vf,k=(b.disk_list,b.ssl_vf_used_detail),l=b.ssl_vf_left_detail;i.options[0].data.push({y:e,key:d("T")("Reserved"),color:"#ff8c00"}),_.each(c,function(a){"shared-entry"==a[2]?i.options[0].data.push({y:a[1],key:a[0]+" ("+d("T")("Shared")+")",color:"#ff8c00"}):i.options[0].data.push({y:a[1],key:a[0]+" ("+d("T")("Dedicated")+")",color:"#ff8c00"})}),i.options[0].data.push({y:b.cpu_left,key:d("T")("Available")+" ("+d("T")("Shared")+":"+b.cpu_left_shared+", "+d("T")("Dedicated")+":"+b.cpu_left_dedicated+")",color:"#d1cfcf"}),i.options[0].option.chart.title+=b.cpu_used+e+"/"+b.cpu_all,i.options[1].data.push({y:f,key:d("T")("Reserved"),color:"#ff8c00"}),_.each(g,function(a){i.options[1].data.push({y:a[1],key:a[0],color:"#ff8c00"})}),i.options[1].data.push({y:b.memory_left,key:d("T")("Available"),color:"#d1cfcf"}),i.options[1].option.chart.title+=b.memory_used+f+"/"+b.memory_all,_.each(h,function(a){i.options[2].data.push({y:a[1],key:a[0],color:"#ff8c00"})}),i.options[2].data.push({y:b.port_vf_left,key:d("T")("Available"),color:"#d1cfcf"}),i.options[2].option.chart.title+=b.port_vf_used+"/"+b.port_vf_all,_.each(j,function(a){for(var b in k)b==a[0]&&(0==k[b].shared&&0==k[b].dedicated||i.options[3].data.push({y:parseInt(k[b].shared)+parseInt(k[b].dedicated),key:b+" ("+d("T")("Shared")+":"+k[b].shared+", "+d("T")("Dedicated")+":"+k[b].dedicated+")",color:"#ff8c00"}))}),i.options[3].data.push({y:parseInt(l.shared)+parseInt(l.dedicated),key:d("T")("Available")+" ("+d("T")("Shared")+":"+l.shared+", "+d("T")("Dedicated")+":"+l.dedicated+")",color:"#d1cfcf"}),i.options[3].option.chart.title+=b.ssl_vf_used+"/"+b.ssl_vf_all,i.options[4].data.push({y:1024*parseInt(b.disk_used)*1024,key:d("T")("Occupied")+" "+b.disk_used+"G",color:"#ff8c00"}),i.options[4].data.push({y:1024*parseInt(b.disk_left)*1024,key:d("T")("Available")+" "+b.disk_left+"G",color:"#d1cfcf"}),i.options[4].option.chart.title+=b.disk_used+"/"+b.disk_left}}),f.checkVAInstanceStatus().then(function(a){for(var b=0,c=0,d=0,e=a.data.length-1;e>=0;e--)a.data[e].status?b++:c++;d=a.data.length,i.vaStatus={run:b,shutoff:c,sum:d}}),f.showVAImageInfo().then(function(a){for(var b=[],c=0,d=0,e=a.data.length-1;e>=0;e--)b.push(a.data[e].vendor);for(var e=b.length-1;e>=0;e--)"Array Networks"==b[e]?c++:d++;i.vaImageStatistics={imageSum:a.data.length,arrayImageNum:c,othersImageNum:d}})}]),angular.module("avx.ha").controller("haConfigurationController",["$scope","$rootScope","$uibModal","$state","haConfiguationService","$filter",function(a,b,c,d,e,f){var g=this;b.title="HA Configuration",a.isActive=!0,a.onLabel=f("T")("Enable"),a.offLabel=f("T")("Disable"),g.showDeleteButton=!1,g.showHaConfiguration={ha:!1,vc_id:null,ipv4:"",ipv6:""},a.allow_config=!0,g.chooseIpv4=!0,g.chooseIpv6=!1,g.haUnitList=[],g.showHaUnit=function(){e.getHaUnit().then(function(a){a&&200===a.status&&(g.haUnitList=a.data)})},g.showProgressBar=function(){c.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},g.refreshHaUnit=function(){g.showHaUnit()},g.deleteUnit=function(){var a=f("T")("This will delete the two HA units from the virtual cluster. Are you sure you want to do this?"),c=confirm(a);if(c){g.showProgressBar();var d={action:"Delete",options:JSON.stringify({__pk_list:[""]})};e.haPerformAction("Delete",d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?(g.refreshHaUnit(),g.showAllHaConfiguration()):alert(a.data[1]):alert(f("T")("Failed to delete the two HA units from the virtual cluster."))})}},g.addUnit=function(){var a=c.open({templateUrl:"app/modules/ha/ha-unit-add.html",controller:"haUnitAddController",controllerAs:"haUnitAdd",resolve:{}});a.result.then(function(a){a&&g.refreshHaUnit()})},g.showHaUnit(),g.clickIpv4=function(){g.chooseIpv4=!0,g.chooseIpv6=!1},g.clickIpv6=function(){g.chooseIpv4=!1,g.chooseIpv6=!0},g.HaConfigurationAction=function(a,d){var h="",i={};"Clear_Config"===a&&(h=f("T")("This will restore the default HA configurations. Are you sure you want to do this?"),i={action:a,options:JSON.stringify({__pk_list:[""]})}),"Sync"===a&&("default"===d?h=f("T")("This will synchronize the VA configuration from the master HA unit to the backup HA unit. Are you sure you want to do this?"):"image"===d?h=f("T")("This operation will synchronize the VA images from the master HA unit to the backup HA unit. Are you sure you want to do this?"):"all"===d?h=f("T")("This will synchronize AVX and VA configuration, VA images and VA disks to the remote HA unit. Are you sure you want to do this?"):"config"===d?h=f("T")("This will synchronize AVX configuration to the remote HA unit. Are you sure you want to do this?"):"instance"===d&&(h=f("T")("This will synchronize VA configuration and disks to the remote HA unit. Are you sure you want to do this?")),i={action:a,options:JSON.stringify({option:d})});var j=confirm(h);j&&(g.showProgressBar(),e.haPerformAction(a,i).then(function(d){if(b.$broadcast("endLoading",!0),d&&200===d.status)if("Sync"===a){if(d.data[0]){var e={};e.pipeid=d.data[1].pipeid,e.custom_msg=f("T")("Synchronizing...It will take some time. Please wait and do not close or refresh the current page."),e.title=f("T")("Synchronizing..."),e.timeout=3e3;c.open({templateUrl:"app/modules/common/templates/pipe_action_modal.html",controller:"pipeActionCtrl",controllerAs:"pipeAction",backdrop:!1,resolve:{modalData:e}})}}else"Clear_Config"===a&&(d.data[0]?(g.showAllHaConfiguration(),g.showHaUnit()):alert(d.data[1]));else"Clear_Config"===a?alert(f("T")("Failed to restore the default HA configurations.")):"Sync"===a&&alert(f("T")("Failed to synchronize the VA configurations."))}))},g.showAllHaConfiguration=function(){e.getHaConfiguration().then(function(c){if(c&&200===c.status){g.showHaConfiguration.ha=c.data.ha,a.allow_config=b.allow_config,c.data.vc_id?(g.showHaConfiguration.vc_id=parseInt(c.data.vc_id),g.showDeleteButton=!0):(g.showHaConfiguration.vc_id=null,g.showDeleteButton=!1);var d=/^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})){3}$/;d.test(c.data.keepalive_ip)?g.showHaConfiguration.ipv4=c.data.keepalive_ip:g.showHaConfiguration.ipv6=c.data.keepalive_ip,g.showHaConfiguration.ha?(g.showHaStatus=!0,g.showHaConfiguration.master=c.data.master,g.showHaConfiguration.backup=c.data.backup,g.showHaConfiguration.sync_time=c.data.sync_time):(g.showHaStatus=!1,g.showHaConfiguration.master="",g.showHaConfiguration.backup="",g.showHaConfiguration.sync_time="")}})},g.saveChange=function(a,c,d,h,i){var j={},k=!1;a.$dirty&&(j.ha=g.showHaConfiguration.ha),c.$dirty&&(g.showHaConfiguration.vc_id?j.vc_id=g.showHaConfiguration.vc_id.toString():confirm(f("T")("Deleting the virtual cluster ID will also clear all the HA units in it. Are you sure you want to do this?"))&&(k=!0)),d.$dirty&&(j.keepalive_ip={ipv4:g.showHaConfiguration.ipv4}),h.$dirty&&(j.keepalive_ip={ipv6:g.showHaConfiguration.ipv6});var l={post_data:JSON.stringify(j)};g.showProgressBar(),e.updateHaConfiguration(l).then(function(a){if(k||b.$broadcast("endLoading",!0),a&&200===a.status)if(a.data[0])if(k){var c={action:"Delete",options:JSON.stringify({__pk_list:[""]})};e.haPerformAction("Delete",c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?(g.refreshHaUnit(),g.showAllHaConfiguration()):alert(a.data[1]):alert(f("T")("Failed to delete the two HA units from the virtual cluster."))})}else g.showAllHaConfiguration();else j.hasOwnProperty("ha")?g.showHaConfiguration.ha=!1:i.$dirty=!0,alert(a.data[1]);else alert(f("T")("Failed to save changes."))})},g.cancelReflush=function(){d.go("index.ha.configuration",{},{reload:!0})},g.showAllHaConfiguration()}]),angular.module("avx.ha").controller("haAlertAddController",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","haConfiguationService","$filter",function(a,b,c,d,e,f,g,h){var i=this;i.email="",i.createEmailAlert=function(){var a=JSON.stringify({email_address:i.email});g.createEmailAlert(a).then(function(a){a&&200===a.status?a.data[0]?a.data[2][0]?alert(a.data[2][0][1]):e.close(!0):alert(a.data[1]):alert(h("T")("Failed to add the HA alert email."))})},i.modalClose=function(){e.dismiss()}}]),angular.module("avx.ha").controller("haEmailAlertController",["$scope","$rootScope","$state","$uibModal","$stateParams","haConfiguationService","$filter",function(a,b,c,d,e,f,g){var h=this;b.title="Alert Email",h.haEmailAlertList=[],h.showHaEmailAlert=function(){f.getHaEmailAlert().then(function(a){a&&200===a.status&&(h.haEmailAlertList=a.data)})},h["delete"]=function(a){var b=confirm(g("T")("Are you sure you want to delete the alert email?"));if(b){var c={pk:JSON.stringify({email_address:a})};f.deleteHaEmailAlert(c).then(function(a){a&&200===a.status&&("None"!=a.data?alert(a.data[1]):h.refreshEmailAlert())})}},h.refreshEmailAlert=function(){h.showHaEmailAlert()},h.addEmailAlert=function(){var a=d.open({templateUrl:"app/modules/ha/ha-email-alert-add.html",controller:"haAlertAddController",controllerAs:"haAlertAdd",resolve:{}});a.result.then(function(a){a&&h.showHaEmailAlert()})},h.showHaEmailAlert()}]),angular.module("avx.ha").controller("haSyncController",["$scope","$rootScope","$uibModal","$state","haConfiguationService","$filter",function(a,b,c,d,e,f){var g=this;b.title="HA Synchronize",g.showProgressBar=function(){c.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},g.HaConfigurationAction=function(a,d){var h="",i={};"Clear_Config"===a&&(h=f("T")("This will restore the default HA configurations. Are you sure you want to do this?"),i={action:a,options:JSON.stringify({__pk_list:[""]})}),"Sync"===a&&("default"===d?h=f("T")("This will synchronize the VA configuration from the master HA unit to the backup HA unit. Are you sure you want to do this?"):"image"===d?h=f("T")("This operation will synchronize the VA images from the master HA unit to the backup HA unit. Are you sure you want to do this?"):"all"===d?h=f("T")("This will synchronize AVX and VA configuration, VA images and VA disks to the remote HA unit. Are you sure you want to do this?"):"config"===d?h=f("T")("This will synchronize AVX configuration to the remote HA unit. Are you sure you want to do this?"):"instance"===d&&(h=f("T")("This will synchronize VA configuration and disks to the remote HA unit. Are you sure you want to do this?")),i={action:a,options:JSON.stringify({option:d})});var j=confirm(h);j&&(g.showProgressBar(),e.haPerformAction(a,i).then(function(d){if(b.$broadcast("endLoading",!0),d&&200===d.status)if("Sync"===a){if(d.data[0]){var e={};e.pipeid=d.data[1].pipeid,e.custom_msg=f("T")("Synchronizing...It will take some time. Please wait and do not close or refresh the current page."),e.title=f("T")("Synchronizing..."),e.timeout=3e3;c.open({templateUrl:"app/modules/common/templates/pipe_action_modal.html",controller:"pipeActionCtrl",controllerAs:"pipeAction",backdrop:!1,resolve:{modalData:e}})}}else"Clear_Config"===a&&(d.data[0]?g.showAllHaConfiguration():alert(d.data[1]));else"Clear_Config"===a?alert(f("T")("Failed to restore the default HA configurations.")):"Sync"===a&&alert(f("T")("Failed to synchronize the VA configurations."))}))}}]),angular.module("avx.ha").controller("haUnitAddController",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","haConfiguationService","$filter",function(a,b,c,d,e,f,g,h){var i=this;i.ipv4="",i.ipv6="",i.priority=null,i.chooseIpv4=!0,i.chooseIpv6=!1,i.clickIpv4=function(){i.chooseIpv4=!0,i.chooseIpv6=!1},i.clickIpv6=function(){i.chooseIpv4=!1,i.chooseIpv6=!0},i.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.createHaUnit=function(){var a;a=i.chooseIpv4?{ipv4:i.ipv4}:{ipv6:i.ipv6};var c=JSON.stringify({unit_ip:a,priority:i.priority});i.showProgressBar(),g.createHaUnitAlert(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?a.data[2][0]?alert(a.data[2][0][1]):e.close(!0):alert(a.data[1]):alert(h("T")("Failed to add the HA unit."))})},i.modalClose=function(){e.dismiss()}}]),angular.module("avx.ha").controller("haBasicController",["$scope","$rootScope","$state","$location","$stateParams",function(a,b,c,d,e){b.title="HA",a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]),angular.module("avx.ha").factory("haConfiguationService",["$q","$filter","$http","apiService",function(a,b,c,d){function e(){return d.get('/api/avx/ha/HAConfiguration/_fields?fields=["ha", "keepalive_ip", "vc_id"]')}function f(a,b){return d.post("/api/avx/ha/HAConfiguration/_perform?action="+a,b)}function g(a){return a=a||null,a?url="/api/avx/ha/AlertEmail/_get_list_data?key="+JSON.stringify(a):url="/api/avx/ha/AlertEmail/_get_list_data",
+d.get(url)}function h(a){return a=a||null,a?url="/api/avx/ha/HAUnit/_get_list_data?key="+JSON.stringify(a):url="/api/avx/ha/HAUnit/_get_list_data",d.get(url)}function i(a){return d.post("/api/avx/ha/AlertEmail/_add?post_data="+a,{})}function j(a){return d.post("/api/avx/ha/AlertEmail/_delete",a)}function k(a){return d.post("/api/avx/ha/HAUnit/_add?post_data="+a,{})}function l(a){return d.post("/api/avx/ha/HAConfiguration/_update",a)}return{getHaConfiguration:e,haPerformAction:f,getHaEmailAlert:g,getHaUnit:h,createEmailAlert:i,deleteHaEmailAlert:j,createHaUnitAlert:k,updateHaConfiguration:l}}]);var SendToIp="https://127.0.0.1:",PortList=[63451,63455,63460,52100,52110,52150,43110,45130,47101],m_StorePort=0,m_SetTimeOut=6e4,m_SM2IssuerCert="",m_Async=!0,m_ListForm=[],m_ListFile=[],m_ListFormResponsed=[],m_ListFileNameResponsed=[],m_PlanTextConvertMode="\r\n",m_CspName="",SkfDeviceType=-1,SkfUseDeviceNameAry=["&Provider=","&DevSN2Name=","&bDevSN="],SkfUseDeviceInfoAry=["","",""],SkfSetDeviceNameAry=["&Provider=","&Device=","&Application="],SkfSetDeviceInfoAry=["","",""];angular.module("avx.login").controller("loginCtrl",["$scope","$rootScope","$state","$stateParams","$location","$filter","avxService","localStorageService",function(a,b,c,d,e,f,g,h){function i(a){if(!m[n])return a;var b=m[n][a];return void 0===b?a:b}function j(d){g.login(d).then(function(d){if(d&&200===d.status){var e=d.data.error_code,f=d.data.msg;if(0===e){h.setWebStorage("user_info",d.data.user_info),b.user_info=d.data.user_info,1==d.data.hive_key?b.allow_config=!0:b.allow_config=!1;var g=h.getWebStorage("previous_page");g&&g.url?c.go(g.state,g.params):c.go("index.dashboard.sys_statistics")}else e===-1?""==f?c.go("enable",{enable_passwd:!0},{reload:!0}):l.enable_passwd_error=!0:1===e?alert(i("Invalid request.")):2===e?l.error=!0:3===e?a.isShow||(l.current_user_should_use_two_factor=!0):4===e&&(a.res_sig_error_text=d.data.msg,l.res_sig_error=!0)}else alert(i("Internal server error."))})}function k(){o.IWSASendAvailable(),setTimeout("testCNGBack()",1e3)}var l=this;b.title="Login",a.enable_passwd=d.enable_passwd||!1,a.isShow=!1,a.isHide=!1;var m={"zh-cn":{"Sign in":"登录",Username:"用户名",Password:"密码","Enable Password":"Enable密码","Username is required.":"请输入用户名。","Password is required.":"请输入密码。","Enable password is required.":"请输入enable密码。","Invalid Username or Password.":"用户名或密码错误。","Invalid Enable Password.":"Enable密码错误。","Internal server error.":"服务器内部错误。","Invalid request.":"请求不合法。"},ja:{"Sign in":"サインイン",Username:"ユーザ名",Password:"パスワード","Enable Password":"イネーブルパスワード","Username is required.":"ユーザ名は必須です。","Password is required.":"パスワードは必須です。","Enable password is required.":"イネーブルパスワードは必須です。","Invalid Username or Password.":"無効なユーザ名またはパスワード。","Invalid Enable Password.":"無効なイネーブルパスワード。","Internal server error.":"内部サーバーエラー。","Invalid request.":"無効なリクエスト。"},"zh-tw":{"Sign in":"登錄",Username:"用戶名稱",Password:"密碼","Enable Password":"Enable密碼","Username is required.":"請輸入用戶名稱。","Password is required.":"請輸入密碼。","Enable password is required.":"請輸入Enable密碼。","Invalid Username or Password.":"用戶名稱或密碼錯誤。","Invalid Enable Password.":"Enable密碼錯誤。","Internal server error.":"內部服務錯誤。","Invalid request.":"無效的要求。"}},n=window.localStorage.lang||"en";n=n.toLowerCase(),a.login_text=i("Sign in"),a.username_text=i("Username"),a.password_text=i("Password"),a.ukeypin_text=i("uKey PIN"),a.enable_password_text=i("Enable Password"),a.username_required_text=i("Username is required."),a.password_required_text=i("Password is required."),a.ukeypin_required_text=i("uKey PIN is required."),a.enable_password_required_text=i("Enable password is required."),a.invalid_username_password_text=i("Invalid Username or Password."),a.invalid_enable_password_text=i("Invalid Enable Password."),a.current_user_should_use_two_factor_text=i("Current user should use two factor verify."),l.showPin=function(){a.isShow=!0,l.current_user_should_use_two_factor=!1,changeKey(),k()},l.hiddenPin=function(){a.isShow=!1,a.isHide=!1,l.get_serial_random_error=!1,l.res_sig_error=!1},changeKey=function(){var a,b,c=navigator.platform.toLowerCase();if(c.indexOf("win")>=0)a="windows";else{if(!(c.indexOf("linux")>=0||c.indexOf("x11")>=0&&c.indexOf("mac")<0))return void alert(f("T")("This client is not supported. Please try another client."));a="linux",c.indexOf("x86_64")>=0?b="x86_64":c.indexOf("aarch64")>=0&&(b="aarch64")}var d="LongMai";"LongMai"==d?"windows"==a?libPath="mtoken_gm3000.dll":libPath="libgm3000.1.0.so":"GuoXin"==d&&("windows"==a?alert(f("T")("GuoXin key do not support windows now.")):"aarch64"==b?libPath="libskf_usb_ms_aarch64_19.1121_no_log.so":"x86_64"==b&&(libPath="libskf_usb_ms_x86_64_19.1121_no_log.so"))};var o=new IWSAgent;o.IWSASetAsyncMode(!0),testCNGBack=function(){var b=o.IWSAGetAvailable();b||(alert(f("T")("You will be required to install the key plugin. Please refresh the page after installation.")),a.isShow&&(a.isShow=!1,a.isHide=!0,a.$apply()))},l.downLoadCNG=function(){var a,b=navigator.platform.toLowerCase();return a=b.indexOf("win")>=0?"/media/docs/NetSignCNG_v2.2.158.0.exe":"/media/docs/NetSignCNG_for_Linux_ZX_v1.0.49.4.tgz",window.open(a,"_blank"),!1},l.submit=function(b){function c(){var c={method:"KeyLogin",user:b.username};g.get_serial_random(c).then(function(b){b.data.err_msg?(a.get_serial_random_error_text=b.data.err_msg,l.get_serial_random_error=!0):(l.loginData.loginSNID=b.data.certSN,l.loginData.loginRandomID=b.data.loginRandom_key,d())})}function d(){o.IWSASkfGetCertList(libPath,e)}function e(a){for(var b,c=l.loginData.ukeypin,d=l.loginData.loginSNID,e=l.loginData.loginRandomID,g=0;g<a.length;g++){var i=a[g].certSN;if(i=i.replace(/\s+/g,""),0==i.indexOf("00")&&(i=i.substring(2,i.length)),i==d){signCertIndex=g,b=a[g];break}}return null==b?void alert(f("T")("Failed to find certificate for the current user in uKey")):void o.IWSASkfRawSign(e,signCertIndex,c,"1.2.156.10197.1.401",h)}function h(a,c){0!=a?alert(f("T")("Failed to login with uKey, error code:"+a)):(l.loginData.signature=c,j(b))}if(l.username_required=!1,l.password_required=!1,l.ukeypin_required=!1,l.enable_password_required=!1,a.enable_passwd){if(!b)return l.enable_password_required=!0,!1;if(!b.enable_password)return l.enable_password_required=!0,!1}else{if(!b)return l.username_required=!0,l.password_required=!0,l.ukeypin_required=!0,!1;if(b.username||(l.username_required=!0),b.password||(l.password_required=!0),b.ukeypin||(l.ukeypin_required=!0),a.isShow){if(l.username_required||l.password_required||l.ukeypin_required)return!1}else if(l.username_required||l.password_required)return!1;if("root"==b.username)return l.error=!0,!1}!a.isShow||a.enable_passwd?(b.loginType="pwdLogin",j(b)):(b.loginType="keyLogin",c())};var p=d.refresh_page||!1;p&&setTimeout(function(){window.location.reload()})}]),angular.module("avx.login").controller("ManualLogoutCtrl",["$scope","$state","$rootScope","$location","$filter","avxService",function(a,b,c,d,e,f){c.title="Logout",a.logout=function(){f.logout().then(function(a){a&&200===a.status?0===a.data.error_code&&(c.notificationTimer&&(clearInterval(c.notificationTimer),c.notificationTimer=void 0),c.title="Login",b.go("login")):alert(e("T")("Internal server error."))})}}]).controller("LogoutCtrl",["$scope","$state","$rootScope","$location","$filter","avxService",function(a,b,c,d,e,f){c.title="Logout",f.logout().then(function(a){a&&200===a.status&&0===a.data.error_code&&(c.notificationTimer&&(clearInterval(c.notificationTimer),c.notificationTimer=void 0),c.title="Login",b.go("login"))})}]),angular.module("avxApp").controller("avxCtrl",["$scope","$rootScope","avxService",function(a,b,c){b.cur_lang=window.localStorage.lang||"en",b.cur_theme=window.localStorage.theme||"dark"}]).controller("sidebarCtrl",["$scope","$rootScope","$state","$stateParams","$location",function(a,b,c,d,e){var f=this;b.title="AVX",b.isExpanded=!0,a.url_contain=function(a){return e.path().indexOf(a)!=-1},f.expand_or_collapse=function(){b.isExpanded=!b.isExpanded},f.expand_sub=function(a){a&&(b.isExpanded=a)},f.setCollapse=function(a){a=!a},a.url_contain=function(a){return e.path().indexOf(a)!=-1},f.list=[{show:!0,title:"",elements:[{show:!0,icon:"fa fa-dashboard",name:"dashboard",verbose_name:"Dashboard",url:"dashboard.sys_statistics",ui_data:{},collapse:!1,submenu:{state:!1},isExpanded:!0},{show:!0,icon:"fa fa-magnet",name:"topology",verbose_name:"Topology",url:"topology",ui_data:{},collapse:!0,submenu:{state:!0,list:[{title:"Physical Topology",sub_ui_url:"topology",state:"/topology"},{title:"Service Topology",sub_ui_url:"dashboard.service_chain",state:"/dashboard/service_chain"}]},isExpanded:!0}]},{show:!0,title:"VA Management",elements:[{show:!0,icon:"glyphicon glyphicon-cd",name:"va_image",verbose_name:"VA Image",url:"va_image.default",ui_data:{},collapse:!1,submenu:{state:!1},isExpanded:!0},{show:!0,icon:"fa fa-server",name:"va",verbose_name:"VA",url:"va.default",ui_data:{},collapse:!1,submenu:{state:!1},isExpanded:!0}]},{show:!0,title:"Platform",elements:[{show:!0,icon:"fa fa-desktop",name:"system",verbose_name:"System",url:"system.general.host",ui_data:{},collapse:!0,submenu:{state:!0,list:[{title:"General Settings",sub_ui_url:"system.general.host",state:"system/general"},{title:"User Management",sub_ui_url:"system.user_mgmt",state:"system/user_mgmt"},{title:"System Management",sub_ui_url:"system.sys_mgmt.license.avx_license",state:"system/sys_mgmt"},{title:"Config Management",sub_ui_url:"system.config_mgmt.view.running",state:"system/config_mgmt"},{title:"System Access Control",sub_ui_url:"system.access_control.webui",state:"system/access_control"},{title:"Backup & Restore",sub_ui_url:"system.backup_and_restore.backup",state:"system/backup_and_restore"}]},isExpanded:!0},{show:!0,icon:"fa fa-cloud",name:"network",verbose_name:"Network",url:"network.interface.sys_interface",ui_data:{},collapse:!0,submenu:{state:!0,list:[{title:"Interface",sub_ui_url:"network.interface.sys_interface",state:"network/interface"},{title:"SSL Card",sub_ui_url:"network.ssl_card.ssl",state:"network/ssl_card"},{title:"MAC Pool",sub_ui_url:"network.mac_pool",state:"network/mac_pool"},{title:"DNS Server",sub_ui_url:"network.dns_server.dns",state:"network/dns_server/dns"},{title:"DHCP",sub_ui_url:"network.dhcp.dhcp_server",state:"network/dhcp"},{title:"Virtual Switch",sub_ui_url:"network.virtual_switch.vs",state:"network/virtual_switch"},{title:"Routing",sub_ui_url:"network.route.default_route",state:"network/route"},{title:"Port Sequence",sub_ui_url:"network.port_sequence",state:"network/port_sequence"}]},isExpanded:!0},{show:!0,icon:"fa fa-retweet",name:"ha",verbose_name:"HA",url:"ha.configuration",ui_data:{},collapse:!1,submenu:{state:!1},isExpanded:!0},{show:!0,icon:"fa fa-gears",name:"admintools",verbose_name:"Admin Tools",url:"admintools.syslog.logmgmt",ui_data:{},collapse:!0,submenu:{state:!0,list:[{title:"System Log",sub_ui_url:"admintools.syslog.logmgmt",state:"admintools/syslog"},{title:"SNMP",sub_ui_url:"admintools.snmp.snmpmgmt",state:"admintools/snmp"},{title:"Troubleshooting",sub_ui_url:"admintools.troubleshooting.tools",state:"admintools/troubleshooting"}]},isExpanded:!0}]}]}]).controller("avxModelCtrl",["$scope","avxService",function(a,b){b.get_avx_model().then(function(b){b&&200===b.status&&(a.avx_model=b.data.model)})}]).controller("currentUserCtrl",["$scope","avxService","$rootScope","localStorageService",function(a,b,c,d){c.user_info?a.user=c.user_info.current_user:b.get_user_info().then(function(b){b&&200===b.status&&(c.user_info=b.data,d.setWebStorage("user_info",c.user_info),a.user=c.user_info.current_user,"1"==c.user_info.hive_key?c.allow_config=!0:c.allow_config=!1)})}]),angular.module("avxApp").factory("avxService",["$http","$q","$filter","apiService",function(a,b,c,d){function e(a){return d.post("/login_app",a)}function f(a){return d.post("/twofactor/get_serial_random",a)}function g(){return d.get("/logout_app")}function h(){return d.get("/api/avx/system/SystemInfo/_field_group?field_group=status")}function i(){return d.get("/get_user_info")}return{logout:g,login:e,get_avx_model:h,get_user_info:i,get_serial_random:f}}]),angular.module("avx.network").controller("networkCtrl",["$scope","$rootScope",function(a,b){b.title="Network"}]),angular.module("avx.network").service("netResourceService",["$q","apiService",function(a,b){function c(a){return b.post("/api/avx/network/interface/PortVF/_add",a)}function d(a){return b.post("/api/avx/network/interface/SSLVF/_add",a)}function e(a){return b.post("/api/avx/network/interface/PortVF/_delete2",a)}function f(a){return b.post("/api/avx/network/interface/SSLVF/_delete2",a)}function g(a){return b.get('/api/avx/network/interface/PortVF/_get_asso_list_data?initial_filter=%7B"port_name"%3A%5B%7B"interface_name"%3A"'+a+'"%2C"_asso_idx"%3A0%7D%5D%7D')}function h(a){return b.get('/api/avx/network/interface/SSLVF/_get_asso_list_data?initial_filter=%7B"ssl_name"%3A%5B%7B"ssl_type"%3A"'+a+'"%2C"_asso_idx"%3A0%7D%5D%7D')}function i(a){return a=a||null,a?url="/api/avx/network/bond/BondInterface/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/bond/BondInterface/_get_list_data",b.get(url)}function j(a,c){var d="/api/avx/network/bond/BondInterface/_update/bond/%22"+a+"%22",e={post_data:JSON.stringify({port:[{interface_name:c,_asso_idx:"0"}]})};return""===c&&(e={post_data:JSON.stringify({port:[]})}),b.post(d,e)}function k(){return b.get("/api/avx/system/system_mgmt/SystemGeneralInfo/_field_group?field_group=ssl")}function l(a){return a=a||null,a?url="/api/avx/network/bond/BondInterface/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/bond/BondInterface/_get_list_data",b.get(url)}function m(a,c){return b.post("/api/avx/network/bond/BondInterface/_update/bond/%22"+a+"%22",c)}function n(a){return a=a||null,a?url="/api/avx/network/interface/SystemInterface/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/interface/SystemInterface/_get_list_data",b.get(url)}function o(a,c,d,e){return b.post("/api/avx/network/interface/InterfaceIP/_update/interface/%5B%7B%22interface_name%22%3A%20%22mgmt%22%2C%20%22_asso_idx%22%3A%200%7D%5D/ip/%7B%22"+a+"%22%3A%20%22"+c+"%22%7D/mask_prefix/"+d,e)}function p(a){return b.post("/api/avx/network/interface/InterfaceIP/_update",a)}function q(){return b.get("/api/avx/network/dhcp/DHCPServer/_field_group?field_group=general")}function r(a){var c={post_data:JSON.stringify({enable_dhcp:a})};return b.post("/api/avx/network/dhcp/DHCPServer/_update",c)}function s(){var a="/api/avx/network/dhcp/DHCPServerReset/_perform",c={action:"Reset",options:JSON.stringify({})};return b.post(a,c)}function t(){return b.get("/api/avx/network/dhcp/DHCPRelay/_field_group?field_group=general")}function u(a){var c={post_data:JSON.stringify({enable_dhcp:a})};return b.post("/api/avx/network/dhcp/DHCPRelay/_update",c)}function v(){var a="/api/avx/network/dhcp/DHCPRelayReset/_perform",c={action:"Reset",options:JSON.stringify({})};return b.post(a,c)}function w(){return b.get("/api/avx/network/dhcp/DHCPIPRange/_get_asso_list_data?initial_filter=%7B%22asso%22%3A%5B%7B%22_asso_idx%22%3A0%7D%5D%7D")}function x(a){return b.post("/api/avx/network/dhcp/DHCPIPRange/_add",a)}function y(a){return b.post("/api/avx/network/dhcp/DHCPIPRange/_delete",a)}function z(){return b.get("/api/avx/network/dhcp/DHCPServerListenIP/_get_asso_list_data?initial_filter=%7B%22asso%22%3A%5B%7B%22_asso_idx%22%3A0%7D%5D%7D")}function A(){return b.get("/api/avx/network/dhcp/DHCPRelayListenIP/_get_asso_list_data?initial_filter=%7B%22asso%22%3A%5B%7B%22_asso_idx%22%3A0%7D%5D%7D")}function B(a){return b.post("/api/avx/network/dhcp/DHCPServerListenIP/_add",a)}function C(a){return b.post("/api/avx/network/dhcp/DHCPRelayListenIP/_add",a)}function D(a){return b.post("/api/avx/network/dhcp/DHCPServerListenIP/_delete",a)}function E(a){return b.post("/api/avx/network/dhcp/DHCPRelayListenIP/_delete",a)}function F(){return b.get("/api/avx/network/dhcp/DHCPRelayServerIP/_get_asso_list_data?initial_filter=%7B%22asso%22%3A%5B%7B%22_asso_idx%22%3A0%7D%5D%7D")}function G(a){return b.post("/api/avx/network/dhcp/DHCPRelayServerIP/_add",a)}function H(a){return b.post("/api/avx/network/dhcp/DHCPRelayServerIP/_delete",a)}function I(){return b.get("/api/avx/network/dhcp/DHCPIPList/_get_asso_list_data?initial_filter=%7B%22asso%22%3A%5B%7B%22_asso_idx%22%3A0%7D%5D%7D")}function J(a){return a=a||null,a?url="/api/avx/network/dns/DNSServer/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/dns/DNSServer/_get_list_data",b.get(url)}function K(a){return b.post("/api/avx/network/dns/DNSServer/_delete",a)}function L(a){return b.post("/api/avx/network/dns/DNSServer/_add",a)}function M(a){return a=a||null,a?url="/api/avx/network/macpool/MacPool/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/macpool/MacPool/_get_list_data",b.get(url)}function N(a){return b.post("/api/avx/network/macpool/MacPool/_perform?action="+a+"&options=%7B%22__pk_list%22%3A%5B%22%22%5D%7D",{})}function O(a){return b.post("/api/avx/network/macpool/MacPool/_perform?action=Rebuild",a)}function P(a){return b.get("/api/avx/network/route/DefaultRoutingSetting/_field?field=gateway_ip")}function Q(a){return a=a||null,a?url="/api/avx/network/route/StaticRoutingEntry/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/route/StaticRoutingEntry/_get_list_data",b.get(url)}function R(a){return b.post("/api/avx/network/route/StaticRoutingEntry/_add",a)}function S(a){return b.post("/api/avx/network/route/StaticRoutingEntry/_delete",a)}function T(a){return b.post("/api/avx/network/route/DefaultRoutingSetting/_update",a)}function U(a,c){return b.post("/api/avx/network/macpool/MacPool/_update/pool/"+a,c)}function V(a){return a=a||null,a?url="/api/avx/network/vswitch/VirtualSwitch/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/vswitch/VirtualSwitch/_get_list_data",b.get(url)}function W(a){return b.post("/api/avx/network/vswitch/VirtualSwitch/_add",a)}function X(a){return b.post("/api/avx/network/vswitch/VirtualSwitch/_delete",a)}function Y(a,c){return b.post("/api/avx/network/vswitch/VirtualSwitch/_update/name/%22"+a+"%22",c)}function Z(a){return b.post("/api/avx/network/vswitch/VirtualSwitchVA/_add",a)}function $(a){return b.post("/api/avx/network/vswitch/VirtualSwitchMirror/_add",a)}function _(a,c){return b.get("/api/avx/network/vswitch/VirtualSwitch/_field_group/name/%22"+a+"%22?field_group="+c)}function aa(a){return a=a||null,a?url="/api/avx/network/vswitch/VirtualSwitchVA/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/vswitch/VirtualSwitchVA/_get_list_data",b.get(url)}function ba(a){return b.post("/api/avx/network/vswitch/VirtualSwitchVA/_delete",a)}function ca(a){return a=a||null,a?url="/api/avx/network/vswitch/VirtualSwitchMirror/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/vswitch/VirtualSwitchMirror/_get_list_data",b.get(url)}function da(a){return b.post("/api/avx/network/vswitch/VirtualSwitchMirror/_delete",a)}function ea(a){return a=a||null,a?url="/api/avx/network/port_sequence/PortSequence/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/port_sequence/PortSequence/_get_list_data",b.get(url)}function fa(a){return b.post("/api/avx/network/interface/InterfaceIP/_add",a)}function ga(a){return b.post("/api/avx/network/interface/InterfaceIP/_delete",a)}function ha(a){return b.post("/api/avx/network/interface/SystemInterface/_perform?action=Clear",a)}function ia(){return b.get("/api/avx/system/system_mgmt/SysMgmtInterfaceVLAN/_field_group?field_group=default")}function ja(a){var c={post_data:JSON.stringify({vlan_tag:a})};return b.post("/api/avx/system/system_mgmt/SysMgmtInterfaceVLAN/_update",c)}function ka(a){return a=a||null,a?url="/api/avx/network/vswitch/CPUBorrow/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/vswitch/CPUBorrow/_get_list_data",b.get(url)}function la(a,c){var d="/cpu_borrow_increase",e={post_data:JSON.stringify({domain:a,cpu_thread:c})};return b.post(d,e)}function ma(a,c){var d="/cpu_borrow_decrease",e={post_data:JSON.stringify({domain:a,cpu_thread:c})};return b.post(d,e)}function na(){return b.get("/api/avx/network/vswitch/VirtualSwitchGlobalSettings/_field_group?field_group=default")}function oa(a,c,d){var e={post_data:JSON.stringify({enable:a,tune_queue_size:c,native_queue_size:d})};return b.post("/api/avx/network/vswitch/VirtualSwitchGlobalSettings/_update",e)}function pa(){var a="/api/avx/network/vswitch/VirtualSwitchGlobalSettings/_perform?action=Clear&options=%7B%22__pk_list%22%3A%5B%22%22%5D%7D";return b.post(a)}function qa(){var a="/api/avx/network/vswitch/VirtualSwitchGlobalSettings/_perform?action=Convert&options=%7B%22__pk_list%22%3A%5B%22%22%5D%7D";return b.post(a)}function ra(a){var c={post_data:JSON.stringify({tag:a.tag})};return b.post("/api/avx/network/vswitch/VirtualSwitchVA/_update/va/%5B%7B%22_asso_idx%22%3A%200%2C%20%22va_name%22%3A%20%22"+a.va_name+"%22%7D%5D/vs_name/%5B%7B%22_asso_idx%22%3A%200%2C%20%22name%22%3A%20%22"+a.vs_name+"%22%7D%5D/vport/%22"+a.vport+"%22",c)}function sa(a){return b.get('/api/avx/network/interface/PromiscVF/_get_asso_list_data?initial_filter=%7B"port_name"%3A%5B%7B"interface_name"%3A"'+a+'"%2C"_asso_idx"%3A0%7D%5D%7D')}function ta(a){return b.get('/api/avx/network/interface/PromiscTrust/_get_asso_list_data?initial_filter=%7B"port_name"%3A%5B%7B"interface_name"%3A"'+a+'"%2C"_asso_idx"%3A0%7D%5D%7D')}function ua(a,c){var d={pk:JSON.stringify([{port_name:[{_asso_idx:0,interface_name:a}],vf_index:c}])};return b.post("/api/avx/network/interface/PromiscVF/_delete2",d)}function va(a,c){var d={pk:JSON.stringify([{port_name:[{_asso_idx:0,interface_name:a}],vf_index:c}])};return b.post("/api/avx/network/interface/PromiscTrust/_delete2",d)}function wa(a,c){var d={post_data:JSON.stringify({port_name:[{interface_name:a,_asso_idx:0}],vf_index:c})};return b.post("/api/avx/network/interface/PromiscVF/_add",d)}function xa(a,c){var d={post_data:JSON.stringify({port_name:[{interface_name:a,_asso_idx:0}],vf_index:c})};return b.post("/api/avx/network/interface/PromiscTrust/_add",d)}function ya(a){return b.get('/api/avx/network/interface/VlanVF/_get_asso_list_data?initial_filter=%7B"port_name"%3A%5B%7B"interface_name"%3A"'+a+'"%2C"_asso_idx"%3A0%7D%5D%7D')}function za(a,c){var d={pk:JSON.stringify([{port_name:[{_asso_idx:0,interface_name:a}],vf_index:c}])};return b.post("/api/avx/network/interface/VlanVF/_delete2",d)}function Aa(a,c,d){var e={post_data:JSON.stringify({port_name:[{interface_name:a,_asso_idx:0}],vf_index:c,vlan_tag:d})};return b.post("/api/avx/network/interface/VlanVF/_add",e)}function Ba(a,c,d){var e={post_data:JSON.stringify({vlan_tag:d})};return b.post("/api/avx/network/interface/VlanVF/_update/port_name/%5B%7B%22interface_name%22%3A%20%22"+a+"%22%2C%20%22_asso_idx%22%3A%200%7D%5D/vf_index/"+c,e)}function Ca(a){return b.get('/api/avx/network/interface/WorkMode/_get_asso_list_data?initial_filter=%7B"port_name"%3A%5B%7B"interface_name"%3A"'+a+'"%2C"_asso_idx"%3A0%7D%5D%7D')}function Da(a,c){var d={post_data:JSON.stringify({passthrough_enable:c})};return b.post("/api/avx/network/interface/WorkMode/_update/port_name/%5B%7B%22interface_name%22%3A%20%22"+a+"%22%2C%20%22_asso_idx%22%3A%200%7D%5D",d)}function Ea(a){return b.post("/api/avx/network/route/DefaultRoutingSetting/_perform?action="+a+"&options=%7B%22__pk_list%22%3A%5B%22%22%5D%7D",{})}function Fa(a){return b.get('/api/avx/network/interface/Shutdown/_get_asso_list_data?initial_filter=%7B"port_name"%3A%5B%7B"interface_name"%3A"'+a+'"%2C"_asso_idx"%3A0%7D%5D%7D')}function Ga(a,c){var d={post_data:JSON.stringify({shutdown_enable:c})};return b.post("/api/avx/network/interface/Shutdown/_update/port_name/%5B%7B%22interface_name%22%3A%20%22"+a+"%22%2C%20%22_asso_idx%22%3A%200%7D%5D",d)}function Ha(a){return b.get('/api/avx/network/interface/Description/_get_asso_list_data?initial_filter=%7B"port_name"%3A%5B%7B"interface_name"%3A"'+a+'"%2C"_asso_idx"%3A0%7D%5D%7D')}function Ia(a,c){var d={post_data:JSON.stringify({description:c})};return b.post("/api/avx/network/interface/Description/_update/port_name/%5B%7B%22interface_name%22%3A%20%22"+a+"%22%2C%20%22_asso_idx%22%3A%200%7D%5D",d)}function Ja(){var a="/api/avx/network/dns/StaticDNSHostEntry/_get_list_data";return b.get(a)}function Ka(a,c){var d="/api/avx/network/dns/StaticDNSHostEntry/_add",e={post_data:JSON.stringify({hostname:a.hostname,ip:a.ip}),csrfmiddlewaretoken:c};return b.post(d,e)}function La(a,c){var d="/api/avx/network/dns/StaticDNSHostEntry/_delete",e={pk:JSON.stringify({hostname:a.hostname,ip:a.ip}),csrfmiddlewaretoken:c};return b.post(d,e)}function Ma(a){var c="/api/avx/network/dns/StaticDNSHostEntry/_perform?action=CleanAll",d={action:"Clear",options:JSON.stringify([]),csrfmiddlewaretoken:a};return b.post(c,d)}return{bind_port_vf_to_va:c,bind_ssl_vf_to_va:d,unbind_port_vf_from_va:e,unbind_ssl_vf_from_va:f,get_vf_occupation_of_port:g,get_vf_occupation_of_ssl_card:h,get_link_link_aggregation:i,update_link_link_aggregation:j,get_ssl_status:k,get_bond_resource:l,bind_bond_port:m,get_system_interface_resource:n,updateSystemInterfaceIp:o,get_dhcp:q,update_dhcp:r,reset_dhcp:s,get_dhcp_iprange:w,delete_dhcp_iprange:y,create_dhcp_iprange:x,get_dhcp_listenip:z,delete_dhcp_listenip:D,create_dhcp_listenip:B,get_dhcp_relayserver:F,delete_dhcp_relayserver:H,create_dhcp_relayserver:G,get_dhcp_iplist:I,get_dns_server:J,delete_dns_server:K,create_dns_server:L,get_mac_pool:M,mac_pool_perform_action:N,rebuild_mac_pool:O,get_default_route:P,update_default_route:T,update_mac_pool:U,updateSystemIp:p,get_virtual_switch:V,create_virtual_switch:W,delete_virtual_switch:X,update_vswitch_settings:Y,vswitch_bind_va_instance:Z,vswitch_port_mirror:$,get_vswitch_fieldgroup_by_name:_,delete_vswitch_instance:ba,get_vswitch_va_instance:aa,get_vswitch_mirror:ca,delete_vswitch_mirror:da,get_port_sequence:ea,add_system_interface_ip:fa,delete_system_interface_ip:ga,clear_system_interface_ip:ha,get_system_mgmt_interface_VLAN:ia,update_system_mgmt_interface_VLAN:ja,get_cpu_borrow_info:ka,increase_cpu_borrow:la,decrease_cpu_borrow:ma,get_vswitch_tune_info:na,update_vswitch_tune_info:oa,vswitch_tune_clear:pa,vswitch_tune_convert:qa,updateVAInstanceVLANTag:ra,get_promisc_vf_of_port:sa,get_promisc_trust_of_port:ta,delete_promisc_vf_of_port:ua,delete_promisc_trust_of_port:va,add_promisc_vf_of_port:wa,add_promisc_trust_of_port:xa,delete_dhcp_relay_listenip:E,create_dhcp_relay_listenip:C,get_dhcp_relay_listenip:A,reset_dhcp_relay:v,update_dhcp_relay:u,get_dhcp_relay:t,get_vlan_vf_of_port:ya,delete_vlan_vf_of_port:za,add_vlan_vf_of_port:Aa,get_work_mode:Ca,set_work_mode:Da,get_static_route:Q,add_static_route:R,delete_static_route:S,clear_default_route:Ea,update_vlan_vf_of_port:Ba,get_shutdown:Fa,set_shutdown:Ga,get_description:Ha,set_description:Ia,get_static_dns:Ja,add_static_dns:Ka,delete_static_dns:La,clean_all_static_dns:Ma}}]),angular.module("avx.network").controller("dhcpRelayCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","netResourceService",function(a,b,c,d,e,f,g){var h=this;b.title="DHCP Relay",a.allow_config=!0,h.flag=0,h.dhcpsetting={enable_dhcp:!1},a.onLabel=f("T")("Enable"),a.offLabel=f("T")("Disable"),h.refresh=function(){c.go("index.network.dhcp.dhcp_relay",{},{reload:!0})},h.cancel_change=function(){h.showDHCPRelay()};var i=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.showDHCPRelay=function(){g.get_dhcp_relay().then(function(c){c&&200===c.status?(h.flag=1,h.dhcpsetting.enable_dhcp=c.data.enable_dhcp,a.allow_config=b.allow_config):alert(f("T")("Internal server error."))})},h.Reset=function(){var a=confirm(f("T")("This will reset the DHCP relay settings to default. Are you sure you want to do this?"));a&&(i(),g.reset_dhcp_relay().then(function(a){a&&200===a.status?(b.$broadcast("endLoading",!0),a.data[0]?h.refresh():alert(f("T")(a.data[1]))):alert(f("T")("Failed to reset the DHCP relay settings."))}))},h.config_change=function(a){i(),g.update_dhcp_relay(a.enable_dhcp).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]||alert(f("T")(a.data[1])):alert(f("T")("Failed to update the configurations.")),h.refresh()})},h.refreshListenIP=function(){g.get_dhcp_relay_listenip().then(function(a){a&&200===a.status&&(h.dhcpListenIP_data={ip:"",netmask:""},_.each(a.data,function(a){h.dhcpListenIP_data.ip=a.ip,h.dhcpListenIP_data.netmask=a.netmask}),h.dhcpListenIP_backup=angular.copy(h.dhcpListenIP_data))})},h.addListenIP=function(a){if(a.ip&&a.netmask)if(i(),h.dhcpListenIP_backup.ip){var c={pk:JSON.stringify({ip:h.dhcpListenIP_backup.ip,netmask:h.dhcpListenIP_backup.netmask})};g.delete_dhcp_relay_listenip(c).then(function(c){c&&200===c.status?"None"!=c.data?(b.$broadcast("endLoading",!0),alert(f("T")(c.data[1]))):h._addListenIP(a):(b.$broadcast("endLoading",!0),alert(f("T")("Failed to delete the DHCP server listen IP.")))})}else h._addListenIP(a);else{if(a.ip||a.netmask)return void alert(f("T")("IP Address and Netmask must be either specified or not specified."));if(h.dhcpListenIP_backup.ip){i();var d={pk:JSON.stringify({ip:h.dhcpListenIP_backup.ip,netmask:h.dhcpListenIP_backup.netmask})};g.delete_dhcp_relay_listenip(d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"None"!=a.data?alert(f("T")(a.data[1])):h.refreshListenIP():alert(f("T")("Failed to delete the DHCP relay listen IP."))})}}},h._addListenIP=function(a){var c={post_data:{ip:a.ip,netmask:a.netmask}};c.post_data=JSON.stringify(c.post_data),g.create_dhcp_relay_listenip(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.refreshListenIP():(alert(f("T")(a.data[1])),h.refreshListenIP()):alert(f("T")("Failed to add the DHCP relay listen IP."))})},h.showRelayServer=function(){g.get_dhcp_relayserver().then(function(a){a&&200===a.status?(h.dhcpRelayServer_data=[],_.each(a.data,function(a){var b=new Object;b.ip=a.ip,h.dhcpRelayServer_data.push(b)})):alert(f("T")("Internal server error."))})},h.addRelayServer=function(a){var b=e.open({templateUrl:"app/modules/network/submenu/dhcp/dhcp_relay/dhcp-relayserver-add.html",controller:"dhcpRelayServerAddController",controllerAs:"dhcpRelayServerAdd",resolve:{}});b.result.then(function(){h.showRelayServer()})},h.deleteRelayServer=function(a){var c=confirm(f("T")("Are you sure you want to delete this DHCP server for the DHCP relay function?"));if(c){i();var d={pk:JSON.stringify({ip:a})};g.delete_dhcp_relayserver(d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"None"!=a.data?alert(f("T")(a.data[1])):h.showRelayServer():alert(f("T")("Failed to delete this DHCP server for the DHCP relay function."))})}},h.showDHCPRelay(),h.showRelayServer(),h.refreshListenIP()}]),angular.module("avx.network").controller("dhcpRelayServerAddController",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","$uibModalInstance","netResourceService",function(a,b,c,d,e,f,g,h){var i=this;i.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.createRelayServer=function(){i.showProgressBar();var a={post_data:JSON.stringify({ip:i.ip})};h.create_dhcp_relayserver(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?(0==a.data[0]&&alert(a.data[1]),g.close(!0)):alert(f("T")("Failed to add the DHCP server for the DHCP relay function."))})},i.modalClose=function(){g.dismiss()}}]),angular.module("avx.network").controller("dhcpServerCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","netResourceService",function(a,b,c,d,e,f,g){var h=this;b.title="DHCP Server",a.allow_config=!0,a.onLabel=f("T")("Enable"),a.offLabel=f("T")("Disable");var i=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.Reset=function(){var a=confirm(f("T")("This will reset the DHCP server settings to default. Are you sure you want to do this?"));
+a&&(i(),g.reset_dhcp().then(function(a){a&&200===a.status?(b.$broadcast("endLoading",!0),a.data[0]?h.refresh():alert(f("T")(a.data[1]))):alert(f("T")("Failed to reset the DHCP server settings."))}))},h.flag=0,h.dhcpsetting={enable_dhcp:!1},h.showDHCP=function(){g.get_dhcp().then(function(c){c&&200===c.status&&(h.flag=1,h.dhcpsetting.enable_dhcp=c.data.enable_dhcp,a.allow_config=b.allow_config)})},h.showDHCP(),h.refresh=function(){c.go("index.network.dhcp.dhcp_server",{},{reload:!0})},h.cancel_change=function(){h.showDHCP()},h.config_change=function(a){i(),g.update_dhcp(a.enable_dhcp).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]||alert(f("T")(a.data[1])):alert(f("T")("Failed to update the configurations.")),h.refresh()})},h.refreshIPRange=function(){g.get_dhcp_iprange().then(function(a){a&&200===a.status&&(h.dhcpIPRange_data={begin_ip:"",end_ip:"",netmask:"",gateway:""},_.each(a.data,function(a){h.dhcpIPRange_data.begin_ip=a.begin_ip,h.dhcpIPRange_data.end_ip=a.end_ip,h.dhcpIPRange_data.netmask=a.netmask,h.dhcpIPRange_data.gateway=a.gateway}),h.dhcpIPRange_backup=angular.copy(h.dhcpIPRange_data))})},h.refreshIPRange(),h.addIPRange=function(a){if(a.begin_ip&&a.end_ip&&a.netmask&&a.gateway)if(i(),h.dhcpIPRange_backup.begin_ip){var c={pk:JSON.stringify({begin_ip:h.dhcpIPRange_backup.begin_ip,end_ip:h.dhcpIPRange_backup.end_ip,netmask:h.dhcpIPRange_backup.netmask,gateway:h.dhcpIPRange_backup.gateway})};g.delete_dhcp_iprange(c).then(function(c){c&&200===c.status?"None"!=c.data?(b.$broadcast("endLoading",!0),alert(f("T")(c.data[1]))):h._dhcp_iprange(a):(b.$broadcast("endLoading",!0),alert(f("T")("Failed to delete the DHCP server IP range.")))})}else h._dhcp_iprange(a);else{if(a.begin_ip||a.end_ip||a.netmask||a.gateway)return void alert(f("T")("Start IP, End IP, Netmask and Gateway must be either specified or not specified."));if(h.dhcpIPRange_backup.begin_ip){i();var c={pk:JSON.stringify({begin_ip:h.dhcpIPRange_backup.begin_ip,end_ip:h.dhcpIPRange_backup.end_ip,netmask:h.dhcpIPRange_backup.netmask,gateway:h.dhcpIPRange_backup.gateway})};g.delete_dhcp_iprange(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"None"!=a.data?alert(f("T")(a.data[1])):h.refreshIPRange():alert(f("T")("Failed to delete the DHCP server IP range."))})}}},h._dhcp_iprange=function(a){var c={post_data:{begin_ip:a.begin_ip,end_ip:a.end_ip,netmask:a.netmask,gateway:a.gateway}};c.post_data=JSON.stringify(c.post_data),g.create_dhcp_iprange(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.refreshIPRange():(alert(f("T")(a.data[1])),h.refreshIPRange()):alert(f("T")("Failed to add the DHCP server IP range."))})},h.refreshListenIP=function(){g.get_dhcp_listenip().then(function(a){if(a&&200===a.status){var b={ip:"",netmask:""};_.each(a.data,function(a){b.ip=a.ip,b.netmask=a.netmask}),h.dhcpListenIP_backup=angular.copy(b),h.dhcpListenIP_data=b}})},h.refreshListenIP(),h.addListenIP=function(a){if(a.ip&&a.netmask)if(i(),h.dhcpListenIP_backup.ip){var c={pk:JSON.stringify({ip:h.dhcpListenIP_backup.ip,netmask:h.dhcpListenIP_backup.netmask})};g.delete_dhcp_listenip(c).then(function(c){c&&200===c.status?"None"!=c.data?(b.$broadcast("endLoading",!0),alert(f("T")(c.data[1]))):h._addListenIP(a):(b.$broadcast("endLoading",!0),alert(f("T")("Failed to delete the DHCP server listen IP.")))})}else h._addListenIP(a);else{if(a.ip||a.netmask)return void alert(f("T")("IP Address and Netmask must be either specified or not specified."));if(h.dhcpListenIP_backup.ip){i();var d={pk:JSON.stringify({ip:h.dhcpListenIP_backup.ip,netmask:h.dhcpListenIP_backup.netmask})};g.delete_dhcp_listenip(d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"None"!=a.data?alert(f("T")(a.data[1])):h.refreshListenIP():alert(f("T")("Failed to delete the DHCP server listen IP."))})}}},h._addListenIP=function(a){var c={post_data:{ip:a.ip,netmask:a.netmask}};c.post_data=JSON.stringify(c.post_data),g.create_dhcp_listenip(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.refreshListenIP():(alert(f("T")(a.data[1])),h.refreshListenIP()):alert(f("T")("Failed to add the DHCP server listen IP."))})},h.showIPList=function(){g.get_dhcp_iplist().then(function(a){a&&200===a.status&&(h.dhcpIPList_data=[],_.each(a.data,function(a){var b=new Object;b.va_name=a.va_name,b.ip=a.ip,h.dhcpIPList_data.push(b)}))})},h.showIPList()}]),angular.module("avx.network").controller("dhcpCtrl",["$scope","$rootScope","$state","$location","$stateParams",function(a,b,c,d,e){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]),angular.module("avx.network").controller("dnsTabCtrl",["$scope","$rootScope","$state","$location",function(a,b,c,d){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]).controller("dnsServerCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","netResourceService",function(a,b,c,d,e,f,g){var h=this;b.title="DNS Server",a.allow_config=b.allow_config,h.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.showDnsServer=function(){g.get_dns_server().then(function(a){a&&200===a.status&&(h.dnsServerList=a.data)})},h.refreshDnsServer=function(){h.showDnsServer()},h.addDnsServer=function(){var a=e.open({templateUrl:"app/modules/network/submenu/dns_server/dns-server-add.html",controller:"dnsServerAddController",controllerAs:"dnsServerAdd",resolve:{}});a.result.then(function(a){a&&h.refreshDnsServer()})},h["delete"]=function(a){var c,d=/^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;c=d.exec(a)?{ipv4:a}:{ipv6:a};var e=confirm(f("T")("Are you sure you want to delete the DNS server?"));if(e){h.showProgressBar();var i={pk:JSON.stringify({server_ip:c})};g.delete_dns_server(i).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"None"!=a.data?alert(a.data[1]):h.refreshDnsServer():alert(f("T")("Failed to delete the DNS server."))})}},h.showDnsServer()}]),angular.module("avx.network").controller("dnsServerAddController",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","$uibModalInstance","netResourceService",function(a,b,c,d,e,f,g,h){var i=this;i.ipv4="",i.ipv6="",i.chooseIpv4=!0,i.chooseIpv6=!1,i.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.clickIpv4=function(){i.chooseIpv4=!0,i.chooseIpv6=!1},i.clickIpv6=function(){i.chooseIpv4=!1,i.chooseIpv6=!0},i.createDnsServer=function(){i.showProgressBar();var a;a=i.chooseIpv4?{ipv4:i.ipv4}:{ipv6:i.ipv6};var c={post_data:JSON.stringify({server_ip:a})};h.create_dns_server(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?(a.data[2][0]&&alert(a.data[2][0][1]),g.close(!0)):alert(a.data[1]):alert(f("T")("Failed to add the DNS server."))})},i.modalClose=function(){g.dismiss()}}]),angular.module("avx.network").controller("dnsStaticAddController",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","$uibModalInstance","netResourceService","$window",function(a,b,c,d,e,f,g,h,i){var j=this;j.ipv4="",j.ipv6="",j.hostname="",j.chooseIpv4=!0,j.chooseIpv6=!1,j.csrf_token="";var k=i.localStorage.getItem("user_info");j.csrf_token=JSON.parse(k).csrf_token,j.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},j.clickIpv4=function(){j.chooseIpv4=!0,j.chooseIpv6=!1},j.clickIpv6=function(){j.chooseIpv4=!1,j.chooseIpv6=!0},j.createDnsServer=function(){j.showProgressBar();var a;a=j.chooseIpv4?j.ipv4:j.ipv6;var c={hostname:j.hostname,ip:a};h.add_static_dns(c,j.csrf_token).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?(a.data[2][0]&&alert(a.data[2][0][1]),g.close(!0)):alert(a.data[1]):alert(f("T")("Failed to add the static DNS entry."))})},j.modalClose=function(){g.dismiss()}}]),angular.module("avx.network").controller("staticDNSCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","netResourceService","$filter","$window",function(a,b,c,d,e,f,g,h){var i=this;a.allow_config=b.allow_config,b.title="Static DNS Entry",i.csrf_token="";var j=h.localStorage.getItem("user_info");i.csrf_token=JSON.parse(j).csrf_token,i.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.showDnsServer=function(){f.get_static_dns().then(function(a){a&&200===a.status&&(i.dnsServerList=a.data)})},i.refreshDnsServer=function(){i.showDnsServer()},i.addDnsServer=function(){var a=e.open({templateUrl:"app/modules/network/submenu/dns_server/static_dns/static_dns_add.html",controller:"dnsStaticAddController",controllerAs:"dnsStaticAdd",resolve:{}});a.result.then(function(a){a&&i.refreshDnsServer()})},i["delete"]=function(a,c){var d=confirm(g("T")("Are you sure you want to delete the static DNS entry?"));if(d){i.showProgressBar();var e={ipv6:c};c.indexOf(".")>0&&(e={ipv4:c});var h={hostname:a,ip:e};f.delete_static_dns(h,i.csrf_token).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"None"!=a.data?alert(a.data[1]):i.refreshDnsServer():alert(g("T")("Failed to delete the Static DNS server."))})}},i.clean=function(){var a=confirm(g("T")("Are you sure you want to clean the all static DNS entry?"));a&&f.clean_all_static_dns(i.csrf_token).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?i.refreshDnsServer():alert(g("T")("Failed to Clean the Static DNS server."))})},i.showDnsServer()}]),angular.module("avx.network").controller("bondInterfaceCtrl",["$scope","$rootScope","$state","$filter","$uibModal","netResourceService",function(a,b,c,d,e,f){b.title="Bond Interface";var g=this;g.getBondResource=function(){g.bond_data=[],f.get_bond_resource().then(function(a){if(a&&200===a.status)for(var b=0;b<a.data.length;b++){var c={bond:a.data[b].bond};a.data[b].port?c.port=a.data[b].port.join(","):c.port="",g.bond_data.push(c)}})},g.getBondResource(),g.showBindPortModal=function(a){if(b.allow_config){var c=e.open({templateUrl:"app/modules/network/submenu/interface/bond_interface/bond-bind-port.html",controller:"bondBindPortController",controllerAs:"bondBindPort",resolve:{modalData:a}});c.result.then(function(a){a&&g.getBondResource()})}}}]),angular.module("avx.network").controller("bondBindPortController",["$scope","$rootScope","$state","$uibModal","$stateParams","$uibModalInstance","netResourceService","vaTableService","modalData","$filter",function(a,b,c,d,e,f,g,h,i,j){var k=this;i.port&&""!==i.port?k.selectList=i.port.split(","):k.selectList=[],k.portList=[],k.showProgressBar=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.querySystemInfo().then(function(a){if(a&&200===a.status)if(a.data.state){for(var b=[],c=a.data.data.domain,d=0;d<c.length;d++)for(var e=0;e<c[d].port.length;e++)b.push("port"+c[d].port[e].id);k.portList=b}else alert(j("T")("Internal server error."));else alert(j("T")("Internal server error."))}),k.bindBondPort=function(){k.showProgressBar();for(var a={post_data:{port:[]}},c=k.selectList.length-1;c>=0;c--)k.selectList[c]&&a.post_data.port.push({interface_name:k.selectList[c],_asso_idx:"0"});a.post_data=JSON.stringify(a.post_data),g.bind_bond_port(i.bond,a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?f.close(!0):alert(a.data[1]):alert(j("T")("Failed to add the traffic interface(s) to the bond interface."))})},k.modalClose=function(){f.dismiss()}}]),angular.module("avx.network").controller("interfaceResourceCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","$location","vaTableService",function(a,b,c,d,e,f,g,h){a.url_contain=function(a){return g.path().indexOf(a)!=-1},h.querySystemInfo().then(function(b){if(b&&200===b.status&&b.data.state){var c=b.data.data.model,d=b.data.data.domain.length,e=0;_.each(b.data.data.domain,function(a){e+=a.port.length}),"Array AVX 3600 v5"==c?1==d&&4==e&&(a.official_model=!0):"Array AVX 7600"==c?2==d&&8==e&&(a.official_model=!0):"Array AVX 10650"==c&&2==d&&16==e&&(a.official_model=!0)}})}]),angular.module("avx.network").controller("promiscVFAddCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$uibModalInstance","$filter","netResourceService","modalData","vaTableService",function(a,b,c,d,e,f,g,h,i,j){var k=this;k.placeholder="1-8",k.portIndexMax="8",k.loading=!0,j.querySystemInfo().then(function(a){if(a&&200===a.status)if(a.data.state){for(var b=i.current_port_name.split("port")[1],c=a.data.data.domain,d=c.length-1;d>=0;d--){for(var e=!1,f=0;f<c[d].port.length;f++)if(c[d].port[f].id==b){var h=c[d].port[f].vf_sum;k.portIndexMax=h,k.placeholder="1-"+h,e=!0;break}if(e)break}k.loading=!1}else alert(g("T")("Internal server error."));else alert(g("T")("Internal server error."))}),k.modalClose=function(){f.dismiss()};var l=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};a.current_data={port_name:i.current_port_name},k.add=function(a){var c=confirm(g("T")("This operation enables the mandatory promiscuous mode for the traffic interface VF. Please note that enabling the promiscuous mode may cause security issues and affect the performance of the VA instance. It is recommended to use the mandatory promiscuous mode only when the VA instance wants to receive all the traffic passing through the traffic interface but does not support the promiscuous mode. Are you sure you want to do this?"));return!!c&&(l(),void h.add_promisc_vf_of_port(a.port_name,a.vf_index).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?k.modalClose():alert(a.data[1]):alert(g("T")("Failed to enable the mandatory promiscuous mode for the traffic interface VF."))}))}}]).controller("promiscTrustAddCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$uibModalInstance","$filter","netResourceService","modalData","vaTableService",function(a,b,c,d,e,f,g,h,i,j){var k=this;k.placeholder="1-8",k.portIndexMax="8",k.loading=!0,j.querySystemInfo().then(function(a){if(a&&200===a.status)if(a.data.state){for(var b=i.current_port_name.split("port")[1],c=a.data.data.domain,d=c.length-1;d>=0;d--){for(var e=!1,f=0;f<c[d].port.length;f++)if(c[d].port[f].id==b){var h=c[d].port[f].vf_sum;k.portIndexMax=h,k.placeholder="1-"+h,e=!0;break}if(e)break}k.loading=!1}else alert(g("T")("Internal server error."));else alert(g("T")("Internal server error."))}),k.modalClose=function(){f.dismiss()};var l=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};a.current_data={port_name:i.current_port_name},k.add=function(a){var c=confirm(g("T")("This operation enables the trusted mode for the traffic interface VF. To allow the VA port mapped from this VF to support the promiscuous mode, you still need to enable the promiscuous mode for the VA port within the VA instance.  Are you sure you want to do this?"));return!!c&&(l(),void h.add_promisc_trust_of_port(a.port_name,a.vf_index).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?k.modalClose():alert(a.data[1]):alert(g("T")("Failed to enable the trusted mode for the traffic interface VF."))}))}}]),angular.module("avx.network").controller("sysInterfaceCtrl",["$scope","$rootScope","$state","$filter","$uibModal","avxService","netResourceService","sysResourceService","vaTableService","$location",function(a,b,c,d,e,f,g,h,i,j){var k=this;j.path().indexOf("device_view")>=0?b.title="Device View":j.path().indexOf("sys_interface")>=0&&(b.title="System Interface"),a.allow_config=b.allow_config,a.onLabel="Passthrough",a.offLabel="SR-IOV",a.enLabel="&nbsp;&nbsp;&nbsp;&nbsp;Enabled&nbsp;&nbsp;&nbsp;",a.disLabel="Disabled";var l=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};k.work_mode=!1,k.system_index=0,k.system_detail_index=1,k.is_update_interface_setting=!1,k.update_interface_setting_count=0,k.refresh_for_update_interface_setting=!1,k.get_work_mode=function(a){g.get_work_mode(a).then(function(a){a&&200===a.status&&(k.work_mode=a.data[0].passthrough_enable,k.work_mode_origin=k.work_mode)})},k.set_work_mode=function(a,d){return k.work_mode_origin==d?void k.update_interface_setting_count++:(k.is_update_interface_setting||(l(),k.is_update_interface_setting=!0),void g.set_work_mode(a,d).then(function(d){k.update_interface_setting_count++,k.update_interface_setting_count>=3&&(b.$broadcast("endLoading",!0),k.update_interface_setting_count=0,k.is_update_interface_setting=!1),d&&200===d.status&&(d.data[0]?k.refresh_for_update_interface_setting||(c.go("index.network.interface.sys_interface",{},{reload:!0}),k.refresh_for_update_interface_setting=!0):(alert(d.data[1]),k.get_work_mode(a)))}))},k.get_shutdown=function(a){g.get_shutdown(a).then(function(a){a&&200===a.status&&(k.shutdown=a.data[0].shutdown_enable,k.shutdown_origin=k.shutdown)})},k.set_shutdown=function(a,d){return k.shutdown_origin==d?void k.update_interface_setting_count++:(k.is_update_interface_setting||(l(),k.is_update_interface_setting=!0),void g.set_shutdown(a,d).then(function(d){k.update_interface_setting_count++,k.update_interface_setting_count>=3&&(b.$broadcast("endLoading",!0),k.update_interface_setting_count=0,k.is_update_interface_setting=!1),d&&200===d.status&&(d.data[0]?k.refresh_for_update_interface_setting||(c.go("index.network.interface.sys_interface",{},{reload:!0}),k.refresh_for_update_interface_setting=!0):(alert(d.data[1]),k.get_shutdown(a)))}))},k.get_description=function(a){g.get_description(a).then(function(a){a&&200===a.status&&(k.description=a.data[0].description,k.description_origin=k.description)})},k.set_description=function(a,d){return d==k.description_origin?void k.update_interface_setting_count++:(k.is_update_interface_setting||(l(),k.is_update_interface_setting=!0),void g.set_description(a,d).then(function(d){k.update_interface_setting_count++,k.update_interface_setting_count>=3&&(b.$broadcast("endLoading",!0),k.is_update_interface_setting=!1,k.update_interface_setting_count=0),d&&200===d.status&&(d.data[0]?k.refresh_for_update_interface_setting||(c.go("index.network.interface.sys_interface",{},{reload:!0}),k.refresh_for_update_interface_setting=!0):(alert(d.data[1]),k.get_description(a)))}))},k.get_system_index=function(){return k.system_index},k.select_system_detail=function(a){k.system_detail_index=a},k.isSelect_system_detail=function(a){return k.system_detail_index===a},k.SystemInterfaceIpdata={ipv4:"",ipv4_mask:"",ipv6:"",ipv6_prefix:""},k.systemIpOldValue={ipv4:"",ipv4_mask:"",ipv6:"",ipv6_prefix:""},k.set_system_index=function(a){a>0&&k.system_data.length>0&&_.each(k.system_data,function(a){"mgmt"===a.interface_name&&(k.current_system_data=a,k.systemIpOldValue.ipv4=k.SystemInterfaceIpdata.ipv4=k.current_system_data.addresses[0].ip,k.systemIpOldValue.ipv4_mask=k.SystemInterfaceIpdata.ipv4_mask=k.current_system_data.addresses[0].mask_prefix,k.current_system_data.addresses[1]&&(k.systemIpOldValue.ipv6=k.SystemInterfaceIpdata.ipv6=k.current_system_data.addresses[1].ip,k.systemIpOldValue.ipv6_prefix=k.SystemInterfaceIpdata.ipv6_prefix=k.current_system_data.addresses[1].mask_prefix))}),k.system_index=a},k.getSystemInterfaceResource=function(){g.get_system_interface_resource().then(function(a){a&&200===a.status&&(k.system_data=a.data,k.systemIpOldValue.ipv4=k.SystemInterfaceIpdata.ipv4=k.system_data[0].addresses[0].ip,k.systemIpOldValue.ipv4_mask=k.SystemInterfaceIpdata.ipv4_mask=k.system_data[0].addresses[0].mask_prefix,k.system_data[0].addresses[1]?(k.systemIpOldValue.ipv6=k.SystemInterfaceIpdata.ipv6=k.system_data[0].addresses[1].ip,k.systemIpOldValue.ipv6_prefix=k.SystemInterfaceIpdata.ipv6_prefix=k.system_data[0].addresses[1].mask_prefix):(k.systemIpOldValue.ipv6=k.SystemInterfaceIpdata.ipv6="",k.systemIpOldValue.ipv6_prefix=k.SystemInterfaceIpdata.ipv6_prefix=""))}),g.get_system_mgmt_interface_VLAN().then(function(a){a&&200===a.status&&(k.system_mgmtvlan_data=a.data)}),i.loadInstance(["va_name","vlan_tag","nic_type","status"]).then(function(a){if(a&&200===a.status){for(var b=[],c=[],d=[],e=a.data.length-1;e>=0;e--)b.push({va_name:a.data[e].va_name,vlan_tag:a.data[e].vlan_tag}),c.push({va_name:a.data[e].va_name,nic_type:a.data[e].nic_type,status:a.data[e].status}),d.push(a.data[e].va_name);k.allVAInstance=d,k.va_mgmtvlan_data=b,k.virtual_nic_type_data=c}})},k.system_mgmtvlan=function(a,c){l(),g.update_system_mgmt_interface_VLAN(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?(c.$dirty=!1,g.get_system_mgmt_interface_VLAN().then(function(a){a&&200===a.status&&(k.system_mgmtvlan_data=a.data)})):alert(a.data[1]):alert(d("T")("Failed to configure the system management interface VLAN."))})},k.get_bind_va=function(a){g.get_vf_occupation_of_port(a).then(function(a){a&&200===a.status&&(k.passthroughPortInstance=a.data[0].va[0],k.vaBindOrigin=k.passthroughPortInstance)})},k.bind_va_instance=function(a,c){if(c){if(k.vaBindOrigin==c)return;if(l(),k.vaBindOrigin){var e=[{port_name:[{_asso_idx:0,interface_name:a}],va:[{_asso_idx:0,va_name:k.vaBindOrigin}],vf_index:0}],f={pk:JSON.stringify(e)};g.unbind_port_vf_from_va(f).then(function(e){if(e&&200===e.status)if(e.data[0]===!1)b.$broadcast("endLoading",!0),e.data[1].indexOf("The VA has been running")!=-1&&alert(d("T")("The VA is running."));else{var f={port_name:[{interface_name:a,_asso_idx:0}],vf_index:0,va:[{va_name:c,_asso_idx:0}]},h={post_data:JSON.stringify(f)};g.bind_port_vf_to_va(h).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]===!1?c.data[1].indexOf("The VA has been running")!=-1?alert(d("T")("The VA is running.")):alert(c.data[1]):k.get_bind_va(a):alert(d("T")("Failed to bind the port to the VA instance."))})}else alert(d("T")("Failed to bind the port to the VA instance."))})}else{var h={port_name:[{interface_name:a,_asso_idx:0}],vf_index:0,va:[{va_name:c,_asso_idx:0}]},i={post_data:JSON.stringify(h)};g.bind_port_vf_to_va(i).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]===!1?a.data[1].indexOf("The VA has been running")!=-1?alert(d("T")("The VA is running.")):alert(a.data[1]):k.get_bind_va():alert(d("T")("Failed to bind this port for the VA instance."))})}}else{l();var e=[{port_name:[{_asso_idx:0,interface_name:a}],va:[{_asso_idx:0,va_name:k.vaBindOrigin}],vf_index:0}],f={pk:JSON.stringify(e)};g.unbind_port_vf_from_va(f).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]===!1?a.data[1].indexOf("The VA has been running")!=-1&&alert(d("T")("The VA is running.")):k.get_bind_va():alert(d("T")("Failed to unbind the port from the VA instance."))})}},k.showVAMgmtVLAN=function(a,b){var c=e.open({templateUrl:"app/modules/va/detail_pages/va-mgmtvlan-config.html",controller:"vaMgmtVLANConfigCtrl",controllerAs:"vaMgmtVLANConfig",resolve:{modalData:{current_va_name:a,current_va_vlan_tag:b,flag:!1}}});c.closed.then(function(){i.loadInstance(["va_name","vlan_tag"]).then(function(a){a&&200===a.status&&(k.va_mgmtvlan_data=a.data)})})},k.showVirtualNICType=function(a,b,c){if(c)return void alert(d("T")("This VA instance has been started."));var f=e.open({templateUrl:"app/modules/va/detail_pages/va-nictype-config.html",controller:"vaNICTypeConfigCtrl",controllerAs:"nicTypeConfig",resolve:{modalData:{current_va_name:a,current_va_nic_type:b}}});f.closed.then(function(){i.loadInstance(["va_name","nic_type","status"]).then(function(a){a&&200===a.status&&(k.virtual_nic_type_data=a.data)})})},k.cancelSystemInterfaceIp=function(){k.getSystemInterfaceResource()},k.dirty=function(){return!_.isEqual(k.SystemInterfaceIpdata,k.systemIpOldValue)},k.clearSystemInterface=function(){var a=confirm(d("T")("After the IP configuration is cleared successfully, the current WebUI session will be terminated. Are you sure you want to perform this operation?"));if(a){l();var c={options:JSON.stringify({__pk_list:[],action:"Clear"})};g.clear_system_interface_ip(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?a.data[1].msg&&alert(a.data[1].msg):alert(a.data[1]):alert(d("T")("Failed to clear the IP configuration from the management interface."))})}},k.saveSystemInterfaceIpChange=function(a,c,e,f){if((a.$dirty||c.$dirty)&&(!k.SystemInterfaceIpdata.ipv4&&k.SystemInterfaceIpdata.ipv4_mask||k.SystemInterfaceIpdata.ipv4&&!k.SystemInterfaceIpdata.ipv4_mask))return void alert(d("T")("IPv4 Address and IPv4 Netmask must be either specified or not specified."));if((e.$dirty||f.$dirty)&&(!k.SystemInterfaceIpdata.ipv6&&k.SystemInterfaceIpdata.ipv6_prefix||k.SystemInterfaceIpdata.ipv6&&!k.SystemInterfaceIpdata.ipv6_prefix))return void alert(d("T")("IPv6 Address and IPv6 prefix must be either specified or not specified."));var h,i,j,m;if(a.$dirty||c.$dirty){k.ipv4Dirty=!0;var n=confirm(d("T")("After the IPv4 address of the management interface is changed successfully, the current WebUI session will be terminated. Are you sure you want to perform this operation?"));if(!n)return}if((e.$dirty||f.$dirty)&&(k.ipv6Dirty=!0),l(),a.$dirty||c.$dirty)if(k.SystemInterfaceIpdata.ipv4||k.SystemInterfaceIpdata.ipv4_mask)if(k.systemIpOldValue.ipv4||k.systemIpOldValue.ipv4_mask){var o;if(h="%7B%22mask%22%3A%20%22"+k.systemIpOldValue.ipv4_mask+"%22%7D",a.$dirty){var o={ip:{ipv4:k.SystemInterfaceIpdata.ipv4}};c.$dirty&&(o.mask_prefix={mask:k.SystemInterfaceIpdata.ipv4_mask})}else o={mask_prefix:{mask:k.SystemInterfaceIpdata.ipv4_mask}};i={post_data:JSON.stringify(o)},g.updateSystemInterfaceIp("ipv4",k.systemIpOldValue.ipv4,h,i).then(function(a){a&&200===a.status?a.data[0]?k.ipv6Dirty?(k.ipv4SuccessSave=!0,k.ipv6SuccessSave&&(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0))):(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0)):(alert(a.data[1]),b.$broadcast("endLoading",!0)):(alert(d("T")("Failed to update the IPv4 address of the management interface.")),b.$broadcast("endLoading",!0))})}else{var o={"interface":[{interface_name:"mgmt",_asso_idx:0}],ip:{ipv4:k.SystemInterfaceIpdata.ipv4},mask_prefix:{mask:k.SystemInterfaceIpdata.ipv4_mask}};i={post_data:JSON.stringify(o)},g.add_system_interface_ip(i).then(function(a){a&&200===a.status?a.data[0]?k.ipv6Dirty?(k.ipv4SuccessSave=!0,k.ipv6SuccessSave&&(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0))):(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0)):(alert(a.data[1]),b.$broadcast("endLoading",!0)):(alert(d("T")("Failed to add an IPv4 address to the management interface.")),b.$broadcast("endLoading",!0))})}else{var p={"interface":[{_asso_idx:0,interface_name:"mgmt"}],ip:{ipv4:k.systemIpOldValue.ipv4},mask_prefix:{mask:k.systemIpOldValue.ipv4_mask}},q={pk:JSON.stringify(p)};g.delete_system_interface_ip(q).then(function(a){a&&200===a.status?"None"!=a.data?(alert(a.data),b.$broadcast("endLoading",!0)):k.ipv6Dirty?(k.ipv4SuccessSave=!0,k.ipv6SuccessSave&&(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0))):(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0)):(alert(d("T")("Failed to delete the IPv4 address from the management interface.")),b.$broadcast("endLoading",!0))})}if(e.$dirty||f.$dirty)if(k.SystemInterfaceIpdata.ipv6||k.SystemInterfaceIpdata.ipv6_prefix)if(k.systemIpOldValue.ipv6||k.systemIpOldValue.ipv6_prefix){var o;if(j="%7B%22prefix%22%3A%20"+k.systemIpOldValue.ipv6_prefix+"%7D",e.$dirty){var o={ip:{ipv6:k.SystemInterfaceIpdata.ipv6}};f.$dirty&&(o.mask_prefix={prefix:k.SystemInterfaceIpdata.ipv6_prefix.toString()})}else o={mask_prefix:{prefix:k.SystemInterfaceIpdata.ipv6_prefix.toString()}};m={post_data:JSON.stringify(o)},g.updateSystemInterfaceIp("ipv6",k.systemIpOldValue.ipv6,j,m).then(function(a){a&&200===a.status?a.data[0]?k.ipv4Dirty?(k.ipv6SuccessSave=!0,k.ipv4SuccessSave&&(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0))):(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0)):(alert(a.data[1]),b.$broadcast("endLoading",!0)):(alert(d("T")("Failed to update the IPv6 address of the management interface.")),b.$broadcast("endLoading",!0))})}else{var o={"interface":[{interface_name:"mgmt",_asso_idx:0}],ip:{ipv6:k.SystemInterfaceIpdata.ipv6},mask_prefix:{prefix:k.SystemInterfaceIpdata.ipv6_prefix.toString()}};m={post_data:JSON.stringify(o)},g.add_system_interface_ip(m).then(function(a){a&&200===a.status?a.data[0]?k.ipv4Dirty?(k.ipv6SuccessSave=!0,k.ipv4SuccessSave&&(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0))):(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0)):(alert(a.data[1]),b.$broadcast("endLoading",!0)):(alert(d("T")("Failed to add an IPv6 address to the management interface.")),b.$broadcast("endLoading",!0))})}else{var p={"interface":[{_asso_idx:0,interface_name:"mgmt"}],ip:{ipv6:k.systemIpOldValue.ipv6},mask_prefix:{prefix:parseInt(k.systemIpOldValue.ipv6_prefix)}},q={pk:JSON.stringify(p)};g.delete_system_interface_ip(q).then(function(a){a&&200===a.status?"None"!=a.data?(alert(a.data),b.$broadcast("endLoading",!0)):k.ipv4Dirty?(k.ipv6SuccessSave=!0,k.ipv4SuccessSave&&(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0))):(k.getSystemInterfaceResource(),b.$broadcast("endLoading",!0)):(alert(d("T")("Failed to delete the IPv6 address from the management interface.")),b.$broadcast("endLoading",!0))})}},k.getSystemInterfaceResource(),k.port_index=0,k.port_detail_index=1,k.image_loading=!0,k.vf_loading=!0,k.tab=4,k.selectTab=function(a){this.tab=a},k.isSelectTab=function(a){return this.tab===a},k.select_detail=function(a){k.port_detail_index=a},k.isSelect_detail=function(a){return k.port_detail_index===a},k.get_port_index=function(){return k.port_index},k.set_port_index=function(a){k.port_data.length>0&&_.each(k.port_data,function(b){if(b.port_name===a)return k.current_port_data=b,!1}),k.port_index=a},k.get_link_aggregation_info=function(){g.get_link_link_aggregation().then(function(b){b&&200===b.status&&_.each(b.data,function(b){_.each(b.port,function(c){a.link_aggregation[c]=b.bond})})})},k.getBindInstanceInfo=function(){k.bindVaInstanceName=void 0,k.oldBindVaInstanceName="",i.showVAPort().then(function(a){if(a&&200===a.status)for(var b=a.data.length-1;b>=0;b--)if(a.data[b].port==k.current_port_data.port_name){k.bindVaInstanceName=a.data[b].va_name,k.oldBindVaInstanceName=k.bindVaInstanceName;break}})},k.updateVaInstance=function(a,c){if(c!=k.oldBindVaInstanceName&&k.oldBindVaInstanceName){l();var e=[{port_name:[{_asso_idx:0,interface_name:a}],va:[{_asso_idx:0,va_name:k.oldBindVaInstanceName}],vf_index:0}],f={pk:JSON.stringify(e)};g.unbind_port_vf_from_va(f).then(function(e){e&&200===e.status?e.data[0]===!1?e.data[1].indexOf("The VA has been running")!=-1&&alert(d("T")("The VA is running.")):c?k.bindVaInstance(a,c):(b.$broadcast("endLoading",!0),k.getBindInstanceInfo()):alert(d("T")("Failed to unbind the port from the VA instance."))})}else c&&(l(),k.bindVaInstance(a,c))},k.bindVaInstance=function(a,c){var d={post_data:{va_port:[{va:[],vf_index:0,_asso_idx:0,port_name:[{interface_name:a,_asso_idx:0}]}]}};d.post_data=JSON.stringify(d.post_data),i.updateVAInstance(d,c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status&&(a.data[0]?k.getBindInstanceInfo():alert(a.data[1]))})},k.getVAInstance=function(){i.loadInstance(["va_name"]).then(function(a){a&&200===a.status&&(k.vaInstanceList=a.data)})},k.getVAInstance();var m=function(b){g.get_promisc_vf_of_port(b).then(function(b){b&&200===b.status&&(a.current_promic_vf_data=b.data);
+})},n=function(b){g.get_promisc_trust_of_port(b).then(function(b){b&&200===b.status&&(a.current_promic_trust_data=b.data)})};k.get_promisc_data=function(b){a.current_promic_vf_data=void 0,a.current_promic_trust_data=void 0,m(b),n(b)},k.refresh_promisc_vf_data=function(b){a.current_promic_vf_data=void 0,m(b)},k.refresh_promisc_trust_data=function(b){a.current_promic_trust_data=void 0,n(b)},k.delete_promisc_vf=function(a){l(),g.delete_promisc_vf_of_port(a.port_name,a.vf_index).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?k.refresh_promisc_vf_data(a.port_name):alert(c.data[1]):alert(d("T")("Failed to disable the mandatory promiscuous mode for the traffic interface VF."))})},k.delete_promisc_trust=function(a){l(),g.delete_promisc_trust_of_port(a.port_name,a.vf_index).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?k.refresh_promisc_trust_data(a.port_name):alert(c.data[1]):alert(d("T")("Failed to disable the trusted mode for the traffic interface VF."))})},k.show_promisc_vf_add_modal=function(a){var b=e.open({templateUrl:"app/modules/network/submenu/interface/sys_interface/promisc-vf-add.html",controller:"promiscVFAddCtrl",controllerAs:"promiscVFAdd",resolve:{modalData:{current_port_name:a}}});b.closed.then(function(){k.refresh_promisc_vf_data(a)})},k.show_promisc_trust_add_modal=function(a){var b=e.open({templateUrl:"app/modules/network/submenu/interface/sys_interface/promisc-trust-add.html",controller:"promiscTrustAddCtrl",controllerAs:"promiscTrustAdd",resolve:{modalData:{current_port_name:a}}});b.closed.then(function(){k.refresh_promisc_trust_data(a)})},k.bond_interfaces=[{name:""},{name:"bond1"},{name:"bond2"},{name:"bond3"},{name:"bond4"},{name:"bond5"},{name:"bond6"}],k.bind_bond=function(c){l(),g.get_link_link_aggregation().then(function(e){if(e&&200===e.status){var f="";_.each(e.data,function(a){a.port.indexOf(c)!==-1&&(f=a.bond)}),angular.equals(a.link_aggregation[c],f)||(""===a.link_aggregation[c]?g.update_link_link_aggregation(f,"").then(function(e){b.$broadcast("endLoading",!0),e&&200===e.status?e.data[0]===!1&&(alert(e.data[1]),a.link_aggregation[c]=f):(alert(d("T")("Failed to add the traffic interface(s) to the bond interface.")),a.link_aggregation[c]=f)}):""===f?g.update_link_link_aggregation(a.link_aggregation[c],c).then(function(e){b.$broadcast("endLoading",!0),e&&200===e.status?e.data[0]===!1&&(alert(e.data[1]),a.link_aggregation[c]=f):(alert(d("T")("Failed to add the traffic interface(s) to the bond interface.")),a.link_aggregation[c]=f)}):g.update_link_link_aggregation(f,"").then(function(e){e&&200===e.status?e.data[0]===!1?(alert(e.data[1]),a.link_aggregation[c]=f):g.update_link_link_aggregation(a.link_aggregation[c],c).then(function(e){b.$broadcast("endLoading",!0),e&&200===e.status?e.data[0]===!1&&(alert(e.data[1]),a.link_aggregation[c]=""):(alert(d("T")("Failed to add the traffic interface(s) to the bond interface.")),a.link_aggregation[c]="")}):a.link_aggregation[c]=f}))}})},fabric.Object.prototype.set({transparentCorners:!1,cornerColor:"rgba(102,153,255,0.5)",cornerSize:12,padding:5,hoverCursor:"pointer",selection:!1});var o=window._canvas=new fabric.Canvas(document.getElementById("netResourceCanvas"));o.on({"mouse:down":function(a){a.target&&(a.target.opacity=0,o.renderAll(),k.get_vf_occupation(a.target.name),k.get_work_mode(a.target.name),a.target.port_index?(k.set_port_index(a.target.port_index),k.system_detail_index=0,k.port_detail_index=1,k.system_index=0):(k.set_system_index(1),k.system_detail_index=1,k.port_detail_index=0,k.port_index=0))},"mouse:up":function(a){a.target&&(a.target.opacity=0,o.renderAll())},"mouse:over":function(a){a.target&&(a.target.setFill("red"),o.renderAll())},"mouse:out":function(a){a.target&&(a.target.setFill("green"),o.renderAll())}}),k.port_data=[],h.get_port_resource(["model","physical_name","domain","interface_name","mac","mtu","available","interface_status"]).then(function(b){b&&200===b.status&&b.data&&(_.each(b.data,function(a){var b=new Object;b.model=a.model,b.domain=a.domain,b.port_name=a.interface_name,b.interface_status=a.interface_status,b.vf_available=a.available,b.mac=a.mac,b.mtu=a.mtu,b.physical_name=a.physical_name,a.available.indexOf("passed through")>-1?(b.ptflag=!0,b.vf_available_num=0):(b.ptflag=!1,b.vf_available_num=a.available.split(" available ")[0]),k.port_data.push(b)}),a.link_aggregation={},_.each(b.data,function(b){a.link_aggregation[b.interface_name]=""}),k.get_link_aggregation_info(),f.get_avx_model().then(function(a){if(a&&200===a.status){var b=new Image;if(b.onload=function(){var a=new fabric.Image(b);a.set({angle:0,padding:10,cornersize:10,height:300,width:800}),o.setBackgroundImage(a,o.renderAll.bind(o),{backgroundImageOpacity:.5,backgroundImageStretch:!1})},"Array AVX 3600 v5"===a.data.model){b.src="./app/images/GL-AVX3600-Low-Resolution.jpg",fabric.Image.fromURL("./app/images/port.png",function(a){o.add(a.set({name:"port1",port_index:1,left:444,top:144,height:22,width:22,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0})),a.clone(function(a){o.add(a.set({name:"port2",port_index:2,left:421,top:144,height:22,width:22,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port3",port_index:3,left:398,top:144,height:22,width:22,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port4",port_index:4,left:375,top:144,height:22,width:22,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"mgmt",left:188,top:172,height:22,width:22,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))})});var c=new fabric.Text("",{fill:"#000000",fontSize:13,fontFamily:"Open Sans",text:d("T")("Please click the following interfaces to see detailed information."),top:100,left:260,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1});o.add(c)}else if("Array AVX 10650"===a.data.model){b.src="./app/images/GL-AVX10650-Low-Resolution.jpg",fabric.Image.fromURL("./app/images/port.png",function(a){a.clone(function(a){o.add(a.set({name:"mgmt",left:246,top:162,height:22,width:22,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),o.add(a.set({name:"port1",port_index:1,left:486,top:93,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0})),a.clone(function(a){o.add(a.set({name:"port2",port_index:2,left:486,top:116,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port3",port_index:3,left:486,top:138,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port4",port_index:4,left:486,top:161,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port5",port_index:5,left:455,top:93,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port6",port_index:6,left:455,top:116,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port7",port_index:7,left:455,top:138,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port8",port_index:8,left:455,top:161,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port9",port_index:9,left:424,top:93,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port10",port_index:10,left:424,top:116,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port11",port_index:11,left:424,top:138,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port12",port_index:12,left:424,top:161,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port13",port_index:13,left:393,top:93,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port14",port_index:14,left:393,top:116,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port15",port_index:15,left:393,top:138,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port16",port_index:16,left:393,top:161,height:22,opacity:0,width:18,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))})});var c=new fabric.Text("",{fill:"#000000",fontSize:13,fontFamily:"Open Sans",text:d("T")("Please click the following interfaces to see detailed information."),top:80,left:270,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1});o.add(c)}else if("Array AVX 7600"===a.data.model){b.src="./app/images/GL-AVX7600-Low-Resolution.jpg",fabric.Image.fromURL("./app/images/port.png",function(a){a.clone(function(a){o.add(a.set({name:"mgmt",left:245,top:195,height:22,width:22,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),o.add(a.set({name:"port1",port_index:1,left:489,top:110,height:28,width:18,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0})),a.clone(function(a){o.add(a.set({name:"port2",port_index:2,left:489,top:139,height:28,width:18,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port3",port_index:3,left:489,top:167,height:28,width:18,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port4",port_index:4,left:489,top:195,height:28,width:18,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port5",port_index:5,left:424,top:110,height:28,width:18,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port6",port_index:6,left:424,top:139,height:28,width:18,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port7",port_index:7,left:424,top:167,height:28,width:18,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))}),a.clone(function(a){o.add(a.set({name:"port8",port_index:8,left:424,top:195,height:28,width:18,opacity:0,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0}))})});var c=new fabric.Text("",{fill:"#000000",fontSize:13,fontFamily:"Open Sans",text:d("T")("Please click the following interfaces to see detailed information."),top:90,left:265,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1});o.add(c)}k.image_loading=!1}}))}),k.get_vf_occupation=function(c,e){if(e&&e.indexOf("passthrough")>=0)return void k.get_bind_va(c);k.vf_loading=!0,k.port_vf_number_loading=!0,k.port_vf_occupation_loading=!0;var f=function(c,e){var f=e.parentNode(),h=f.inputConnectors.indexOf(e),i=c.parentNode(),j=i.outputConnectors.indexOf(c);if(!a.allow_config)return void alert(d("T")("You are a user with the Enable access level and therefore are not allowed to change the configuration."));var k=confirm(d("T")("Are you sure you want to assign the VF to the VA instance?"));if(k){l();var m=this.data.connections;m||(m=this.data.connections=[]);var n=this.connections;n||(n=this.connections=[]);var i=c.parentNode(),j=i.outputConnectors.indexOf(c),o="output";if(j==-1&&(j=i.inputConnectors.indexOf(c),o="input",j==-1))throw new Error("Failed to find source connector within either inputConnectors or outputConnectors of source node.");var f=e.parentNode(),h=f.inputConnectors.indexOf(e),p="input";if(h==-1&&(h=f.outputConnectors.indexOf(e),p="output",h==-1))throw new Error("Failed to find dest connector within inputConnectors or outputConnectors of dest node.");if(o==p)throw new Error("Failed to create connection. Only output to input connections are allowed.");if(i==f)throw new Error("Failed to create connection. Cannot link a node with itself.");for(var i={nodeID:i.data.id,connectorIndex:j},f={nodeID:f.data.id,connectorIndex:h},q={},r=0;r<this.nodes.length;++r){var s=this.nodes[r];s.data.id===i.nodeID&&(0===s.data.id?(q.port_name=[{interface_name:s.data.name,_asso_idx:0}],q.vf_index=j+1):q.va=[{va_name:s.data.name,_asso_idx:0}]),s.data.id===f.nodeID&&(0===s.data.id?(q.port_name=[{interface_name:s.data.name,_asso_idx:0}],q.vf_index=h+1):q.va=[{va_name:s.data.name,_asso_idx:0}])}var t={post_data:JSON.stringify(q)};g.bind_port_vf_to_va(t).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status)if(a.data[0]===!1)a.data[1].indexOf("The VA has been running")!=-1?alert(d("T")("The VA is running.")):alert(a.data[1]);else{var g={source:"output"==o?i:f,dest:"output"==o?f:i};m.push(g);var h="output"==o?c:e,j="output"==o?e:c,k=new flowchart.ConnectionViewModel(g,h,j);n.push(k)}else alert(d("T")("Failed to assign the VF to the VA instance."))})}},j=function(){var a=confirm(d("T")("Are you sure you want to unassign the VF from the VA instance?"));if(a){l();for(var c=[],e=0;e<this.nodes.length;++e){var f=this.nodes[e];f.selected()&&c.push(f.data.id)}for(var h=[],i=[],j=[],k=0;k<this.connections.length;++k){var m=this.connections[k];if(m.selected()||c.indexOf(m.data.source.nodeID)!==-1||c.indexOf(m.data.dest.nodeID)!==-1){for(var n={},e=0;e<this.nodes.length;++e){var f=this.nodes[e];f.data.id===m.data.source.nodeID&&(n.source={node_name:f.data.name,connectorIndex:m.data.source.connectorIndex}),f.data.id===m.data.dest.nodeID&&(n.dest={node_name:f.data.name,connectorIndex:m.data.dest.connectorIndex})}j.push(n)}else h.push(m),i.push(m.data)}var o=this,p=[];_.each(j,function(a){p.push({port_name:[{_asso_idx:0,interface_name:a.source.node_name}],va:[{_asso_idx:0,va_name:a.dest.node_name}],vf_index:a.source.connectorIndex+1})});var q={pk:JSON.stringify(p)};g.unbind_port_vf_from_va(q).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]===!1?a.data[1].indexOf("The VA has been running")!=-1&&alert(d("T")("The VA is running.")):(o.connections=h,o.data.connections=i):alert(d("T")("Failed to unassign the VF from the VA instance."))})}},m={nodes:[{name:c,type:"port",id:0,x:0,y:0,inputConnectors:[],outputConnectors:[]}],connections:[]},n=0;i.querySystemInfo().then(function(a){if(a&&200===a.status)if(a.data.state){for(var b=c.split("port")[1],e=a.data.data.domain,f=e.length-1;f>=0;f--){for(var g=!1,h=0;h<e[f].port.length;h++)if(e[f].port[h].id==b){n=parseInt(e[f].port[h].vf_sum),g=!0;break}if(g)break}for(var f=1;f<=n;f++)m.nodes[0].outputConnectors.push({name:"VF "+f.toString()});k.getVFOccupationOfPort()}else alert(d("T")("Internal server error."));else alert(d("T")("Internal server error."))}),k.getVFOccupationOfPort=function(){g.get_vf_occupation_of_port(c).then(function(b){b&&200===b.status&&h.get_va_info(["va_name"]).then(function(c){var d,e=c.data.length;if(console.log(n),d=110*e<50*n?(50*n).toString()+"px":(110*e).toString()+"px",k.chartViewStyle={margin:"5px",width:"100%",height:d},c&&200===c.status){var g=[];_.each(c.data,function(a){g.push(a.va_name)}),k.allVAInstance=g;var h={};_.each(g,function(a){h[a]=[],_.each(b.data,function(b){b.va[0]===a&&h[a].push(b.vf_index)})});var i=0;for(var l in h){i+=1;var o={name:l,type:"va",id:i,x:400,y:0+110*(i-1),inputConnectors:[{name:""}],outputConnectors:[]};m.nodes.push(o),_.each(h[l],function(a){var b={source:{nodeID:0,connectorIndex:a-1},dest:{nodeID:i,connectorIndex:0}};m.connections.push(b)})}a.chartViewModel=new flowchart.ChartViewModel(m),a.chartViewModel.createNewConnection=f,a.chartViewModel.deleteConFromSelectedNode=j,k.vf_loading=!1}})})}},a.unbindVF=function(){a.chartViewModel.deleteConFromSelectedNode()},k.get_vlan_vf_data=function(a){g.get_vlan_vf_of_port(a).then(function(a){a&&200===a.status&&(k.vlan_vf_data=a.data)})},k.refresh_vlan_vf_data=function(a){k.vlan_vf_data=void 0,k.get_vlan_vf_data(a)},k.delete_vlan_vf=function(a){l(),g.delete_vlan_vf_of_port(a.port_name,a.vf_index,a.vlan_tag).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?k.refresh_vlan_vf_data(a.port_name):alert(c.data[1]):alert(d("T")("Internal server error."))})},k.show_vlan_vf_add_modal=function(a){var b=e.open({templateUrl:"app/modules/network/submenu/interface/sys_interface/vlan-vf-add.html",controller:"VlanVFAddCtrl",controllerAs:"vlanVFAdd",resolve:{modalData:{current_port_name:a,all_vlan_vf:k.vlan_vf_data}}});b.closed.then(function(){k.refresh_vlan_vf_data(a)})}}]),angular.module("avx.network").controller("VlanVFAddCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$uibModalInstance","$filter","netResourceService","modalData","vaTableService",function(a,b,c,d,e,f,g,h,i,j){var k=this;k.placeholder="1-8",k.portIndexMax="8",k.loading=!0,k.current_port_name=i.current_port_name,k.all_vlan_vf=i.all_vlan_vf,k.vf_index="",k.vlan_tag="",j.querySystemInfo().then(function(a){if(a&&200===a.status)if(a.data.state){for(var b=k.current_port_name.split("port")[1],c=a.data.data.domain,d=c.length-1;d>=0;d--){for(var e=!1,f=0;f<c[d].port.length;f++)if(c[d].port[f].id==b){var h=c[d].port[f].vf_sum;k.portIndexMax=h,k.placeholder="1-"+h,e=!0;break}if(e)break}k.loading=!1}else alert(g("T")("Internal server error."));else alert(g("T")("Internal server error."))}),k.modalClose=function(){f.dismiss()},k.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},k.save=function(){for(var a=!1,b=k.all_vlan_vf.length-1;b>=0;b--)k.all_vlan_vf[b].vf_index==k.vf_index&&(k.update(),a=!0);a||k.add()},k.add=function(){k.showProgressBar(),h.add_vlan_vf_of_port(k.current_port_name,k.vf_index,k.vlan_tag).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status)if(a.data[0]){if(a.data[2][0])return void alert(a.data[2][0][1]);k.modalClose()}else alert(a.data[1]);else alert(g("T")("Internal server error."))})},k.update=function(){k.showProgressBar(),h.update_vlan_vf_of_port(k.current_port_name,k.vf_index,k.vlan_tag).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status)if(a.data[0]){if(a.data[2][0])return void alert(a.data[2][0][1]);k.modalClose()}else alert(a.data[1]);else alert(g("T")("Internal server error."))})}}]),angular.module("avx.network").controller("macPoolCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","netResourceService",function(a,b,c,d,e,f,g){var h=this;b.title="MAC Pool",h.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.showMacPool=function(){g.get_mac_pool().then(function(a){a&&200===a.status&&(h.macPoolList=a.data)})},h.refreshMacPool=function(){h.showMacPool()},h.macPoolAction=function(a){var c="";"Clear_Macpool"===a&&(c=f("T")("This will reset the MAC pool to the factory setting. Are you sure you want to do this?")),"Rebuild"===a&&(c=f("T")("This will regenerate the MAC pool. Are you sure you want to do this?"));var d=confirm(c);d&&(h.showProgressBar(),g.mac_pool_perform_action(a).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?c.data[1].msg?alert(c.data[1].msg):h.showMacPool():alert(c.data[1]):"Clear_Macpool"===a?alert(f("T")("Failed to reset the MAC pool.")):alert(f("T")("Failed to regenerate the MAC pool."))}))},h.showMacSeed=function(){var a=e.open({templateUrl:"app/modules/network/submenu/mac_pool/mac-pool-seed.html",controller:"macPoolSeedController",controllerAs:"macPoolSeed",resolve:{}});a.result.then(function(a){a&&h.showMacPool()})},h.showUpdateMacPool=function(a){if(b.allow_config){var c=e.open({templateUrl:"app/modules/network/submenu/mac_pool/mac-pool-update.html",controller:"macPoolUpdateController",controllerAs:"macPoolUpdate",resolve:{modalData:a}});c.result.then(function(a){a&&h.showMacPool()})}},h.showMacPool()}]),angular.module("avx.ha").controller("macPoolSeedController",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","netResourceService","$filter",function(a,b,c,d,e,f,g,h){var i=this;i.seed="",i.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.macPoolAction=function(a){var c=confirm(h("T")("It will regenerate the MAC pool. Are you sure you want to do this?"));if(c){i.showProgressBar();var d={options:JSON.stringify({__pk_list:[],mac_seed:i.seed})};g.rebuild_mac_pool(d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?a.data[1].msg?alert(a.data[1].msg):e.close(!0):alert(a.data[1]):alert(h("T")("Failed to regenerate the MAC pool."))})}},i.modalClose=function(){e.dismiss()}}]),angular.module("avx.network").controller("macPoolUpdateController",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","netResourceService","modalData","$filter",function(a,b,c,d,e,f,g,h,i){var j=this;j.mac_pool=h.pool,j.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},j.mac_pool_update=function(){j.showProgressBar();var a={post_data:JSON.stringify({pool:j.mac_pool})};g.update_mac_pool(JSON.stringify(h.pool),a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?a.data[1].msg?alert(a.data[1].msg):e.close(!0):alert(a.data[1]):alert(i("T")("Failed to modify MAC address."))})},j.modalClose=function(){e.dismiss()}}]),angular.module("avx.network").controller("portSequenceCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","netResourceService",function(a,b,c,d,e,f,g){var h=this;b.title="Port Sequence",g.get_port_sequence().then(function(a){a&&200===a.status&&(h.portSequenceList=a.data)})}]),angular.module("avx.network").controller("addStaticRouteController",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","netResourceService","$filter",function(a,b,c,d,e,f,g,h){var i=this;i.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.chooseIpv4=!0,i.chooseIpv6=!1,i.clickIpv4=function(){i.chooseIpv4=!0,i.chooseIpv6=!1},i.clickIpv6=function(){i.chooseIpv4=!1,i.chooseIpv6=!0},i.add=function(){i.showProgressBar();var a;a=i.chooseIpv4?{dest_ip:{ipv4:i.ipv4.dest_ip},mask_prefix:{mask:i.ipv4.prefix},gateway_ip:{ipv4:i.ipv4.gateway}}:{dest_ip:{ipv6:i.ipv6.dest_ip},mask_prefix:{prefix:i.ipv6.prefix},gateway_ip:{ipv6:i.ipv6.gateway}};var c={post_data:JSON.stringify(a)};g.add_static_route(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?a.data[2][0]?alert(a.data[2][0][1]):e.close(!0):alert(a.data[1]):alert(h("T")("Failed to add the static route."))})},i.modalClose=function(){e.dismiss()}}]),angular.module("avx.network").controller("defaultRouteCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","netResourceService",function(a,b,c,d,e,f,g){var h=this;b.title="Default Route",h.ipv4="",h.ipv6="",h.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.showDefaultRoute=function(){g.get_default_route().then(function(a){a&&200===a.status&&(h.ipv4=a.data.ipv4,h.ipv6=a.data.ipv6)})},h.clearDefaultRoute=function(){h.showProgressBar(),g.clear_default_route("Clear").then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?a.data[1].msg?alert(a.data[1].msg):h.showDefaultRoute():alert(a.data[1]):alert(f("T")("Failed to clear the default route."))})},h.saveChange=function(a){h.showProgressBar();var c={post_data:{gateway_ip:{ipv4:h.ipv4,ipv6:h.ipv6}}};c.post_data=JSON.stringify(c.post_data),g.update_default_route(c).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?h.showDefaultRoute():(a.$dirty=!0,alert(c.data[1])):alert(f("T")("Failed to save changes."))})},h.reflush=function(){c.go("index.network.default_route.route",{},{reload:!0})},h.showDefaultRoute()}]),angular.module("avx.network").controller("RouteBasicCtrl",["$scope","$rootScope","$state","$location","$stateParams",function(a,b,c,d,e){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]),angular.module("avx.network").controller("staticRouteCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","netResourceService",function(a,b,c,d,e,f,g){var h=this;b.title="Static Route",h.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.getStaticRoute=function(){g.get_static_route().then(function(a){a&&200===a.status&&(h.staticRouteList=a.data)})},h.refreshStaticRoute=function(){h.staticRouteList=void 0,h.getStaticRoute()},h.addStaticRoute=function(){var a=e.open({templateUrl:"app/modules/network/submenu/route/add-static-route.html",controller:"addStaticRouteController",controllerAs:"addStaticRoute",resolve:{}});a.result.then(function(a){a&&h.refreshStaticRoute()})},h["delete"]=function(a){var c=confirm(f("T")("Are you sure you want to delete the static route?"));if(c){h.showProgressBar();var d,e,i;f("IPv4")(a.dest_ip)?(d={ipv4:a.dest_ip},i={mask:a.mask_prefix}):(d={ipv6:a.dest_ip},i={prefix:a.mask_prefix}),e=f("IPv4")(a.gateway_ip)?{ipv4:a.gateway_ip}:{ipv6:a.gateway_ip};var j={pk:JSON.stringify({dest_ip:d,gateway_ip:e,mask_prefix:i})};g.delete_static_route(j).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status&&("None"!=a.data?alert(a.data[1]):h.refreshStaticRoute())})}},h.getStaticRoute()}]),angular.module("avx.network").controller("sslResourceBasicCtrl",["$scope","$rootScope","$state","$location","$stateParams",function(a,b,c,d,e){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]),angular.module("avx.network").controller("sslResourceCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","avxService","sysResourceService","netResourceService","$filter",function(a,b,c,d,e,f,g,h,i,f){b.title="SSL Cards";var j=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};a.allow_config=b.allow_config;var k=this;k.ssl_index=0,k.ssl_detail_index=1,k.vf_loading=!0,k.ssl_status_loading=!0,k.tab=1,k.selectTab=function(a){this.tab=a},k.isSelectTab=function(a){return this.tab===a},k.select_detail=function(a){k.ssl_detail_index=a},k.isSelect_detail=function(a){return k.ssl_detail_index===a},k.get_ssl_index=function(){return k.ssl_index},k.set_ssl_index=function(a){a>0&&k.ssl_data.length>0&&_.each(k.ssl_data,function(b){if(b.ssl_name==="ssl"+a)return k.current_ssl_data=b,!1}),k.ssl_index=a},h.get_sys_version().then(function(a){a&&200===a.status&&(k.ssl_model=a.data.sslhard.match(/\(([^)]*)\)/)[1])}),h.get_ssl_resource(["domain","card_type","card_id","vf_num","ssl_type","available"]).then(function(a){a&&200===a.status&&(k.ssl_data=[],_.each(a.data,function(a){var b=new Object;b.domain=a.domain,b.ssl_name=a.ssl_type,b.card_id=a.card_id,b.card_type=a.card_type,b.vf_available=a.available,b.vf_num=a.vf_num,"FisherMan"==a.card_type?(b.dvf_available_num=1,b.svf_available_num=0):(b.dvf_available_num=a.available.split(" available (dedicated)")[0],b.svf_available_num=a.available.split(", ")[1].split(" available")[0]),k.ssl_data.push(b)}),k.ssl_status_data=new Object,k.ssl_status_loading=!0,i.get_ssl_status().then(function(a){a&&200===a.status&&(_.each(k.ssl_data,function(b){var c=[];k.num=0,_.each(a.data.ssl.split("ssl"+String(b.card_id+1),1)[0].split(b.ssl_name).slice(1),function(a){if(0!=a.length&&a.indexOf("total cores")<0){var b="";k.ssl_model.indexOf("80H")==-1?k.num=4:k.num=0,_.each(a.replace(/(^\s*)/g,"").slice(k.num).replace(/(^\s*)/g,"").split("\n"),function(a){0!=a.length&&(b+=a.replace(/(^\s*)/g,"")+"\n")}),c.push(b)}}),k.ssl_status_data[b.ssl_name]=c}),k.ssl_status_loading=!1)}))}),k.get_vf_occupation=function(c,d){k.vf_loading=!0;var e=function(c,d){if(!a.allow_config)return void alert(f("T")("You are a user with the Enable access level and therefore are not allowed to change the configuration."));var e=this.data.connections;e||(e=this.data.connections=[]);var g=this.connections;g||(g=this.connections=[]);var h=c.parentNode(),l=h.outputConnectors.indexOf(c),m="output";if(l==-1&&(l=h.inputConnectors.indexOf(c),m="input",l==-1))throw new Error("Failed to find source connector within either inputConnectors or outputConnectors of source node.");var n=d.parentNode(),o=n.inputConnectors.indexOf(d),p="input";if(o==-1&&(o=n.outputConnectors.indexOf(d),p="output",o==-1))throw new Error("Failed to find dest connector within inputConnectors or outputConnectors of dest node.");if(m==p)throw new Error("Failed to create connection. Only output to input connections are allowed.");if(h==n)throw new Error("Failed to create connection. Cannot link a node with itself.");var h={nodeID:h.data.id,connectorIndex:l},n={nodeID:n.data.id,connectorIndex:o},q={},r=null;if(0===h.nodeID)if(c.data.shared===!1){if(r=prompt(f("T")("Please specify whether the VF is shared or not(yes or no):"),"no"),!r)return;if("yes"!=r&&"no"!=r)return void alert(f("T")("Invalid value! Please input yes or no."));"yes"==r?q.shared="shared":q.shared="dedicated"}else q.shared="shared";else if(d.data.shared===!1){if(r=prompt(f("T")("Please specify whether the VF is shared or not(yes or no):"),"no"),!r)return;if("yes"!=r&&"no"!=r)return void alert(f("T")("Invalid value! Please input yes or no."));"yes"==r?q.shared="shared":q.shared="dedicated"}else q.shared="shared";j();for(var s=0;s<this.nodes.length;++s){var t=this.nodes[s];t.data.id===h.nodeID&&(0===t.data.id?(q.ssl_name=[{ssl_type:t.data.name,_asso_idx:0}],"FisherMan"==k.current_ssl_data.card_type?q.vf_index=0:q.vf_index=l+1):q.va=[{va_name:t.data.name,_asso_idx:0}]),t.data.id===n.nodeID&&(0===t.data.id?(q.ssl_name=[{ssl_type:t.data.name,_asso_idx:0}],"FisherMan"==k.current_ssl_data.card_type?q.vf_index=0:q.vf_index=o+1):q.va=[{va_name:t.data.name,_asso_idx:0}])}var u={post_data:JSON.stringify(q)};i.bind_ssl_vf_to_va(u).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status)if(a.data[0]===!1)alert(a.data[1]);else{0===h.nodeID?c.data.shared="shared"===q.shared:d.data.shared="shared"===q.shared;var i={source:"output"==m?h:n,dest:"output"==m?n:h};e.push(i);var j="output"==m?c:d,k="output"==m?d:c,l=new flowchart.ConnectionViewModel(i,j,k);g.push(l)}else alert(f("T")("Data request failed."))})},g=function(){var a=confirm(f("T")("Are you sure you want to unassign the VF from the VA instance?"));if(a){j();for(var c=[],d=0;d<this.nodes.length;++d){var e=this.nodes[d];e.selected()&&c.push(e.data.id)}for(var g=[],h=[],k=[],l=0;l<this.connections.length;++l){var m=this.connections[l];if(m.selected()||c.indexOf(m.data.source.nodeID)!==-1||c.indexOf(m.data.dest.nodeID)!==-1){for(var n={},d=0;d<this.nodes.length;++d){var e=this.nodes[d];e.data.id===m.data.source.nodeID&&(n.source={node_name:e.data.name,connectorIndex:m.data.source.connectorIndex,shared:e.outputConnectors[m.data.source.connectorIndex].data.shared===!0?"shared":"dedicated"}),e.data.id===m.data.dest.nodeID&&(n.dest={node_name:e.data.name,connectorIndex:m.data.dest.connectorIndex})}k.push(n)}else g.push(m),h.push(m.data);
+}var o=this,p=[];_.each(k,function(a){p.push({shared:a.source.shared,ssl_name:[{_asso_idx:0,ssl_type:a.source.node_name}],va:[{_asso_idx:0,va_name:a.dest.node_name}],vf_index:a.source.connectorIndex+1})});var q={pk:JSON.stringify(p)};i.unbind_ssl_vf_from_va(q).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status)if(a.data[0]===!1)alert(a.data[1]);else{for(var d=0;d<o.connections.length;++d){var e=o.connections[d];if(e.selected()||c.indexOf(e.data.source.nodeID)!==-1||c.indexOf(e.data.dest.nodeID)!==-1)for(var i=0;i<o.nodes.length;++i){var j=o.nodes[i];if(j.data.id===e.data.source.nodeID){var k=j.outputConnectors[e.data.source.connectorIndex],l=!1;_.each(g,function(a){a.data.source.connectorIndex===e.data.source.connectorIndex&&(l=!0)}),l===!1&&k.data.shared===!0&&(k.data.shared=!1)}}else;}o.connections=g,o.data.connections=h}else alert(f("T")("Failed to unassign the VF from the VA instance."))})}},l={nodes:[{name:c,type:"ssl",id:0,x:0,y:0,inputConnectors:[],outputConnectors:[]}],connections:[]};i.get_vf_occupation_of_ssl_card(c).then(function(b){b&&200===b.status&&h.get_va_info(["va_name"]).then(function(c){var f,h=c.data.length;if(f=h<4?360:110*h,f<45*d&&(f=45*d),f=f.toString()+"px",k.chartViewStyle={margin:"5px",width:"100%",height:f},c&&200===c.status){var i=[];_.each(c.data,function(a){i.push(a.va_name)});var j={};_.each(i,function(a){j[a]=[],_.each(b.data,function(b){b.va[0]===a&&j[a].push(b.vf_index)})});var m={};_.each(b.data,function(a){m[a.vf_index]="shared"===a.shared});for(var n=1;n<=d;n++)n in m?l.nodes[0].outputConnectors.push({name:"VF "+n,shared:m[n]}):l.nodes[0].outputConnectors.push({name:"VF "+n,shared:!1});var o=1;for(var p in j){var q={name:p,type:"va",id:o,x:400,y:0+110*(o-1),inputConnectors:[{name:""}],outputConnectors:[]};l.nodes.push(q),_.each(j[p],function(a){var b={source:{nodeID:0,connectorIndex:a-1},dest:{nodeID:o,connectorIndex:0}};l.connections.push(b)}),o+=1}a.chartViewModel=new flowchart.ChartViewModel(l),a.chartViewModel.createNewConnection=e,a.chartViewModel.deleteConFromSelectedNode=g,k.vf_loading=!1}})})},a.unbindVF=function(){a.chartViewModel.deleteConFromSelectedNode()}}]),angular.module("avx.network").controller("virtualSwitchDetailCtrl",["$scope","$rootScope","$state","$stateParams","$location",function(a,b,c,d,e){c.current.ncyBreadcrumb.label=d.name,b.title=d.name;a.current_vswitch_name=d.name,a.url_contain=function(a){return e.path().indexOf(a)!=-1},e.path()=="/network/virtual_switch/"+a.current_vswitch_name&&c.go("index.network.virtual_switch.detail.settings",{name:a.current_vswitch_name})}]),angular.module("avx.network").controller("vswitchMirrorAddController",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","netResourceService","$filter",function(a,b,c,d,e,f,g,h){var i=this;i.vs_name=d.name,i.vport_dst="",i.vport_src="",i.mode="",i.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.createVswitchMirror=function(){i.showProgressBar();var a={vs_name:[{_asso_idx:0,name:i.vs_name}],vport_dst:i.vport_dst,vport_src:i.vport_src,mode:i.mode.toString()},c={post_data:JSON.stringify(a)};g.vswitch_port_mirror(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?a.data[2][0]?alert(a.data[2][0][1]):e.close(!0):alert(a.data[1]):alert(h("T")("Failed to add the port mirroring policy for the virtual switch."))})},i.modalClose=function(){e.dismiss()}}]),angular.module("avx.network").controller("vswitchMirrorCtrl",["$scope","$rootScope","$state","$uibModal","$stateParams","netResourceService","$filter",function(a,b,c,d,e,f,g){var h=this;a.current_vswitch_name=e.name,a.allow_config=b.allow_config,h.showProgressBar=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.showVswitchMirror=function(){f.get_vswitch_mirror().then(function(b){if(b&&200===b.status){h.tableData=[];for(var c=b.data.length-1;c>=0;c--)b.data[c].vs_name==a.current_vswitch_name&&h.tableData.push(b.data[c])}})},h.refresh=function(){h.showVswitchMirror()},h.showVswitchMirrorAddModal=function(){var a=d.open({templateUrl:"app/modules/network/submenu/virtual_switch/detail_pages/vswitch-mirror-add.html",controller:"vswitchMirrorAddController",controllerAs:"vswitchMirrorAdd",resolve:{}});a.result.then(function(a){a&&h.showVswitchMirror()})},h["delete"]=function(a){var c=confirm(g("T")("Are you sure you want to perform the deletion?"));if(c){h.showProgressBar();var d={vs_name:[{_asso_idx:0,name:a.vs_name}]},e={pk:JSON.stringify(d)};f.delete_vswitch_mirror(e).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"None"!=a.data?alert(a.data[1]):h.showVswitchMirror():alert(g("T")("Failed to detach the VA instance from the virtual switch."))})}},h.showVswitchMirror()}]),angular.module("avx.network").controller("vswitchSettingsCtrl",["$scope","$rootScope","$state","$uibModal","$stateParams","netResourceService","vaTableService","$filter",function(a,b,c,d,e,f,g,h){var i=this;a.isActive=!0,a.onLabel=h("T")("Enable"),a.offLabel=h("T")("Disable"),a.current_vswitch_name=e.name,a.allow_config=!0,i.showVswitchSettingsList={stp:!1,instanceSelectList:[]},i.getVswitchSettings=function(){f.get_vswitch_fieldgroup_by_name(a.current_vswitch_name,"stp").then(function(c){c&&200===c.status&&(i.showVswitchSettingsList.stp=c.data.stp,i.showVswitchSettingsList.priority=c.data.priority,a.allow_config=b.allow_config)}),setTimeout(function(){f.get_vswitch_fieldgroup_by_name(a.current_vswitch_name,"interface").then(function(a){a&&200===a.status&&(i.showVswitchSettingsList.interfaces=a.data.interfaces,g.querySystemInfo().then(function(a){if(a&&200===a.status)if(a.data.state)for(var b=a.data.data.domain,c=0;c<b.length;c++)for(var d=0;d<b[c].port.length;d++){var e="port"+b[c].port[d].id;i.showVswitchSettingsList.instanceSelectList.indexOf(e)===-1&&i.showVswitchSettingsList.instanceSelectList.push(e)}else alert(h("T")("Internal server error."));else alert(h("T")("Internal server error."))}))})},100)},i.showProgressBar=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.saveChange=function(c,d,e,g){var j={};if(c.$dirty&&(j.stp=i.showVswitchSettingsList.stp),d.$dirty&&(j.priority=i.showVswitchSettingsList.priority),e.$dirty){if(i.showVswitchSettingsList.interfaces.length>6)return void alert(h("T")("Number of interfaces binding to the virtual switch should not exceed 6."));j.interfaces=[];for(var k=i.showVswitchSettingsList.interfaces.length-1;k>=0;k--)j.interfaces.push({interface_name:i.showVswitchSettingsList.interfaces[k],_asso_idx:"0"})}var l={post_data:JSON.stringify(j)};i.showProgressBar(),f.update_vswitch_settings(a.current_vswitch_name,l).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?i.getVswitchSettings():(g.$dirty=!0,a.data[1].indexOf("The entered system interface is being used")>=0?alert(h("T")("Failed to bind to the entered system interface because some of its VFs have been used.")):alert(a.data[1])):alert(h("T")("Failed to save changes."))})},i.cancelReflush=function(){i.showVswitchSettingsList.instanceSelectList=void 0,c.go("index.network.virtual_switch.detail",{},{reload:!0})},i.getVswitchSettings()}]),angular.module("avx.network").controller("vswitchVaInstanceAddController",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","netResourceService","vaTableService","$filter",function(a,b,c,d,e,f,g,h,i){var j=this;j.vs_name=d.name,j.va="",j.vport="",j.tag=0,j.number="1",j.numberList=["1"],j.vaList=[],j.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},a.$watch(function(){return j.va},function(a){for(var b=j.vaList.length-1;b>=0;b--)j.vaList[b].va_name==j.va&&("shared-entry"===j.vaList[b].va_size?(j.number="1",j.numberList=["1"]):"entry"===j.vaList[b].va_size?(j.number="1",j.numberList=["1"]):"small"===j.vaList[b].va_size?(j.number="1",j.numberList=["1","2"]):"medium"===j.vaList[b].va_size?(j.number="1",j.numberList=["1","2","3","4"]):"large"===j.vaList[b].va_size&&(j.number="1",j.numberList=["1","2","3","4","5","6","7","8"]))},!0),h.loadInstance(["va_name","va_size"]).then(function(a){a&&200===a.status&&(j.vaList=a.data)}),j.createInstanceBinding=function(){j.showProgressBar();var a={vs_name:[{_asso_idx:0,name:j.vs_name}],va:j.va,vport:j.vport,tag:j.tag.toString(),number:j.number.toString()},c={post_data:JSON.stringify(a)};g.vswitch_bind_va_instance(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?a.data[2][0]?alert(a.data[2][0][1]):e.close(!0):a.data[1].indexOf("the tune mode has been enabled")>0?alert(i("T")("Failed to attach to VA instance {0} to this native-mode virtual switch because the tune mode has been enabled for virtual switches.",[j.va])):a.data[1].indexOf("The VA has been running")!=-1?alert(i("T")("The VA is running.")):alert(a.data[1]):alert(i("T")("Failed to attach the VA instance to the virtual switch."))})},j.modalClose=function(){e.dismiss()}}]),angular.module("avx.network").controller("vaInstanceVLANTagEditCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$uibModalInstance","$filter","netResourceService","modalData",function(a,b,c,d,e,f,g,h,i){var j=this;j.modalClose=function(){f.dismiss()};var k=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};a.current_data={vs_name:i.current_vs_name,va_name:i.current_va_name,vport:i.current_vport_name,tag:parseInt(i.current_tag),number:parseInt(i.current_number)},j.edit=function(a){k(),h.updateVAInstanceVLANTag(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?j.modalClose():alert(a.data[1]):alert(g("T")("Internal error."))})}}]),angular.module("avx.network").controller("vswitchVaInstanceCtrl",["$scope","$rootScope","$state","$uibModal","$stateParams","netResourceService","$filter",function(a,b,c,d,e,f,g){var h=this;a.current_vswitch_name=e.name,a.allow_config=b.allow_config,h.showProgressBar=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.showVswitchInstance=function(){f.get_vswitch_va_instance().then(function(b){if(b&&200===b.status){h.tableData=[];for(var c=b.data.length-1;c>=0;c--)b.data[c].vs_name==a.current_vswitch_name&&h.tableData.push(b.data[c])}})},h.refresh=function(){h.showVswitchInstance()},h.showVswitchInstanceAddModal=function(){var a=d.open({templateUrl:"app/modules/network/submenu/virtual_switch/detail_pages/vswitch-vaInstance-add.html",controller:"vswitchVaInstanceAddController",controllerAs:"vswitchVaInstanceAdd",resolve:{}});a.result.then(function(a){a&&h.showVswitchInstance()})},h["delete"]=function(a){var c=confirm(g("T")("Are you sure you want to perform the deletion?"));if(c){h.showProgressBar();var d={va:[{_asso_idx:0,va_name:a.va}],vport:a.vport,vs_name:[{_asso_idx:0,name:a.vs_name}]},e={pk:JSON.stringify(d)};f.delete_vswitch_instance(e).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"None"!=a.data?"The VA has been running."===a.data[1]?alert(g("T")("The VA is running.")):"System error occurred."===a.data[1]?alert(g("T")("System error occurred.")):alert(a.data[1]):h.showVswitchInstance():alert(g("T")("Failed to detach the VA instance from the virtual switch."))})}},h.editVLANTag=function(a){var b=d.open({templateUrl:"app/modules/network/submenu/virtual_switch/detail_pages/vswitch-vaInstance-edit.html",controller:"vaInstanceVLANTagEditCtrl",controllerAs:"vaInstanceVLANTagEdit",resolve:{modalData:{current_vs_name:a.vs_name,current_va_name:a.va,current_vport_name:a.vport,current_tag:a.tag,current_number:a.number}}});b.closed.then(function(){c.go("index.network.virtual_switch.detail.va_instance",{name:e.name},{reload:!0})})},h.showVswitchInstance()}]),angular.module("avx.network").controller("globalSettingsCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","netResourceService","$filter",function(a,b,c,d,e,f,g){a.allow_config=b.allow_config,b.title="Global Settings";var h=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i=this;i.enable=!1,f.get_cpu_borrow_info().then(function(a){a&&200===a.status&&(i.data=a.data)}),f.get_vswitch_tune_info().then(function(a){a&&200===a.status&&(i.end_loading=!0,i.enable=a.data.enable,i.native_queue_size=a.data.native_queue_size,i.tune_queue_size=a.data.tune_queue_size)}),i.refresh=function(){c.go("index.network.virtual_switch.global",{},{reload:!0})},i.refresh_cpu_borrow=function(){i.data=void 0,f.get_cpu_borrow_info().then(function(a){a&&200===a.status&&(i.data=a.data)})},i.clear=function(){h(),f.vswitch_tune_clear().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?(a.data[1].msg.indexOf("has been enabled")>0?alert(g("T")("The tune-mode virtual switch configuration can be cleared only when the tune mode has been enabled for virtual switches.")):a.data[1].msg.indexOf("some VA instances attached to tune-mode virtual switches are running")>0&&alert(g("T")("Failed to clear the tune-mode virtual switch configuration because some VA instances attached to tune-mode virtual switches are running.")),c.go("index.network.virtual_switch.global",{},{reload:!0})):alert(a.data[1]):alert(g("T")("Failed to clear tune-mode virtual switch configuration."))})},i.convert=function(){h(),f.vswitch_tune_convert().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?(a.data[1].msg.indexOf("some VA instances attached to tune-mode virtual switches are running")>0?alert(g("T")("Failed to convert the tune-mode virtual switch configuration to the native-mode virtual switch configuration because some VA instances attached to tune-mode virtual switches are running.")):a.data[1].msg.indexOf("has been disabled")>0?alert(g("T")("The tune-mode virtual switch configuration can be converted to the native-mode virtual switch configuration only when the tune mode has been disabled for virtual switches.")):a.data[1].msg.indexOf("no tune-mode virtual switch configuration exists")>0&&alert(g("T")("Failed to convert the tune-mode virtual switch configuration to the native-mode virtual switch configuration because no tune-mode virtual switch configuration exists.")),c.go("index.network.virtual_switch.global",{},{reload:!0})):alert(a.data[1]):alert(g("T")("Failed to convert the tune-mode virtual switch configuration to the native-mode virtual switch configuration."))})},i.save=function(a,d,e){return d&d-1||e&e-1?(alert(g("T")("The queue size must be 2^N (N is an integer) ranging from 256 to 16,384.")),!1):void f.get_vswitch_tune_info().then(function(i){if(i&&200===i.status){var j=i.data.enable;if(j!=a){if(a)var k=confirm(g("T")("This operation will enable the tune mode for virtual switches. After the tune mode is enabled, you are not allowed to attach new virtual ports created for any VA instance to existing native-mode virtual switches."));else var k=confirm(g("T")("This operation will disable the tune mode for virtual switches. After the tune mode is disabled, existing tune-mode virtual switches cannot be used. You MUST save and clear the tune-mode virtual switch configuration by clicking the Clear Tune-mode Configuration button before this operation and convert it to the native-mode virtual switch configuration by clicking the Convert Tune-mode Configuration to Native-mode Configuration button after this operation. Please note that a virtual port connected to a native-mode virtual switch may have lower performance than that connected to a tune-mode virtual switch."));if(!k)return!1}h(),f.update_vswitch_tune_info(a,d,e).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.network.virtual_switch.global",{},{reload:!0}):a.data[1].indexOf("no CPU thread is assigned")>0?alert(g("T")("Failed to enable the tune mode for virtual switches because no CPU thread is assigned to them in a NUMA domain.")):a.data[1].indexOf("has not been cleared")>0?alert(g("T")("Failed to disable the tune mode for virtual switches because the tune-mode virtual switch configuration has not been cleared.")):a.data[1].indexOf("tune-mode virtual switch is being used")>0?alert(g("T")("Failed to set the queue size because the virtual port(s) in tune-mode virtual switch is being used by running VA.")):a.data[1].indexOf("native-mode virtual switch is being used")>0?alert(g("T")("Failed to set the queue size because the virtual port(s) in native-mode virtual switch is being used by running VA.")):a.data[1].indexOf("internal error")>0?alert(g("T")("Failed to set the queue size due to an internal error!")):alert(a.data[1]):alert(g("T")("Internal error."))})}})},i.increase_cpu=function(){var a=e.open({templateUrl:"app/modules/network/submenu/virtual_switch/global_settings/cpu_borrow_increase.html",controller:"cpuIncreaseCtrl",controllerAs:"cpu_increase"});a.closed.then(function(){c.go("index.network.virtual_switch.global",{},{reload:!0})})},i.decrease_cpu=function(){var a=e.open({templateUrl:"app/modules/network/submenu/virtual_switch/global_settings/cpu_borrow_decrease.html",controller:"cpuDecreaseCtrl",controllerAs:"cpu_decrease"});a.closed.then(function(){c.go("index.network.virtual_switch.global",{},{reload:!0})})}}]).controller("cpuIncreaseCtrl",["$scope","$rootScope","$state","$uibModal","$uibModalInstance","netResourceService","vaTableService","$filter",function(a,b,c,d,e,f,g,h){var i=this;i.modalClose=function(){e.dismiss()};var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};g.querySystemInfo().then(function(a){if(a&&200===a.status)if(a.data.state){for(var b=[],c=a.data.data.domain,d=0;d<c.length;d++)b.push({name:c[d].id,value:parseInt(c[d].id)});i.domainList=b}else alert(h("T")("Internal server error."));else alert(h("T")("Internal server error."))}),i.increase=function(a){[1,2,4,8].indexOf(a.cpu_thread)!=-1?(j(),f.increase_cpu_borrow(a.domain,a.cpu_thread).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?i.modalClose():a.data[1].indexOf("insufficient")!=-1?alert(h("T")("CPU threads failed to be assigned because available CPU threads are insufficient.")):a.data[1].indexOf("Incorrect parameter value")!=-1?alert(h("T")("Invalid parameter value!")):a.data[1].indexOf("upper limit")!=-1?alert(h("T")("The number of CPU threads assigned to virtual switches has reached the upper limit.")):a.data[1].indexOf("are not shut down")!=-1?alert(h("T")("Failed to assign the CPU thread(s) to tune-mode virtual switches because some VA instances whose virtual ports are connected to virtual switches are not shut down.")):alert(a.data[1]):alert(h("T")("Failed to assign CPU threads to virtual switches. "))})):alert(h("T")("Only support 1, 2, 4 and 8"))}}]).controller("cpuDecreaseCtrl",["$scope","$rootScope","$state","$uibModal","$uibModalInstance","netResourceService","vaTableService","$filter",function(a,b,c,d,e,f,g,h){var i=this;i.modalClose=function(){e.dismiss()};var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};g.querySystemInfo().then(function(a){if(a&&200===a.status)if(a.data.state){for(var b=[],c=a.data.data.domain,d=0;d<c.length;d++)b.push({name:c[d].id,value:parseInt(c[d].id)});i.domainList=b}else alert(h("T")("Internal server error."));else alert(h("T")("Internal server error."))}),i.decrease=function(a){[1,2,4,8].indexOf(a.cpu_thread)!=-1?(j(),f.decrease_cpu_borrow(a.domain,a.cpu_thread).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?i.modalClose():a.data[1].indexOf("Incorrect parameter value")!=-1?alert(h("T")("Invalid parameter value!")):a.data[1].indexOf("inadequate for borrowing")!=-1?alert(h("T")("CPU threads failed to be assigned because available CPU threads are insufficient.")):a.data[1].indexOf("are not shut down")!=-1?alert(h("T")("Failed to delete CPU thread(s) assigned to tune-mode virtual switches because some VA instances whose virtual ports are connected to virtual switches are not shut down.")):a.data[1].indexOf("at least one")!=-1?alert(h("T")("Failed to delete the CPU threads because at least one CPU thread should be available for tune-mode virtual switches in each NUMA domain.")):alert(a.data[1]):alert(h("T")("Failed to assign CPU threads to virtual switches. "))})):alert(h("T")("Only support 1, 2, 4 and 8"))}}]),angular.module("avx.network").controller("virtualSwitchAddController",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","netResourceService","$filter",function(a,b,c,d,e,f,g,h){var i=this;i.name="",i.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.createVirtualSwitch=function(){i.showProgressBar();var a=JSON.stringify({name:i.name}),c={post_data:a};g.create_virtual_switch(c).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status)if(a.data[0])if(a.data[2][0]){var c=a.data[2][0][1];"The entered virtual switch name is reserved."==c?alert(h("T")("The entered virtual switch name is reserved by system.")):alert(c)}else e.close(!0);else alert(a.data[1]);else alert(h("T")("Failed to add the virtual switch."))})},i.modalClose=function(){e.dismiss()}}]),angular.module("avx.network").controller("virtualSwitchCtrl",["$scope","$rootScope","$state","$location",function(a,b,c,d){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]).controller("virtualSwitchListCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","netResourceService","$filter",function(a,b,c,d,e,f,g){var h=this;b.title="Virtual Switch",a.allow_config=b.allow_config,h.showVirtualSwitch=function(){h.virtualSwitchList=void 0,f.get_virtual_switch().then(function(a){a&&200===a.status&&(h.virtualSwitchList=a.data)})},h.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.refreshVirtualSwitch=function(){h.showVirtualSwitch()},h["delete"]=function(a){var c=confirm(g("T")("Are you sure you want to delete the virtual switch?"));if(c){h.showProgressBar();var d={pk:JSON.stringify({name:a})};f.delete_virtual_switch(d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"None"!=a.data?alert(a.data[1]):h.refreshVirtualSwitch():alert(g("T")("Failed to delete the virtual switch."))})}},h.addVirtualSwitch=function(){var a=e.open({templateUrl:"app/modules/network/submenu/virtual_switch/virtual-switch-add.html",controller:"virtualSwitchAddController",controllerAs:"virtualSwitchAdd",resolve:{}});a.result.then(function(a){a&&h.refreshVirtualSwitch()})},h.showVirtualSwitch()}]),angular.module("avx.system").controller("access_controlCtrl",["$scope","$rootScope","$state","$uibModal","$location","sysResourceService",function(a,b,c,d,e,f){a.url_contain=function(a){return e.path().indexOf(a)!=-1}}]).controller("access_webuiCtrl",["$scope","$rootScope","$state","$uibModal","$filter","$location","sysResourceService",function(a,b,c,d,e,f,g){var h=this;b.title="WebUI Settings",a.onLabel=e("T")("Enable"),a.offLabel=e("T")("Disable"),h.webui_data={enable_webui:!1,webui_port:8888,webui_clientauth:!1,webui_authmandatory:!1,webui_hostcheck:!1},a.allow_config=!0,g.get_webui().then(function(c){c&&200===c.status&&(h.webui_data=c.data,h.webui_data.webui_protocol=c.data.webui_protocol.split(":"),h.webui_data.webui_cipher=c.data.webui_cipher.split(":"),a.allow_config=b.allow_config)});var i=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.save=function(a){if(confirm(e("T")("This WebUI session may no longer be active if the WebUI configuration is changed successfully. Are you sure you want to do this?"))){i();var c={};a.webuiEnable.$dirty&&(c.enable_webui=h.webui_data.enable_webui),a.port.$dirty&&(c.webui_port=h.webui_data.webui_port),a.webui_clientauth.$dirty&&(c.webui_clientauth=h.webui_data.webui_clientauth),a.webui_authmandatory.$dirty&&(c.webui_authmandatory=h.webui_data.webui_authmandatory),a.webui_protocol.$dirty&&(c.webui_protocol=h.webui_data.webui_protocol.join(":")),a.webui_cipher.$dirty&&(c.webui_cipher=h.webui_data.webui_cipher.join(":")),a.webuiHostcheck.$dirty&&(c.webui_hostcheck=h.webui_data.webui_hostcheck),g.update_webui(c).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?"string"==typeof c.data?(alert(e("T")("Your current WebUI connection is terminated.")),setTimeout(document.location.href="https://"+f.$$host+":"+h.webui_data.webui_port+"/app/#"+f.$$path,5e3)):c.data[0]||(alert(c.data[1]),a.$dirty=!0):(alert(e("T")("Your current WebUI connection is terminated.")),setTimeout(document.location.href="https://"+f.$$host+":"+h.webui_data.webui_port+"/app/#"+f.$$path,5e3))})}},h.cancel=function(){c.go("index.system.access_control.webui",{},{reload:!0})}}]).controller("access_webui_sslCtrl",["$scope","$rootScope","$state","$uibModal","$filter","$location","sysResourceService",function(a,b,c,d,e,f,g){var h=this;b.title="WebUI SSL Settings",h.webui_ssl_cert="Loading",h.webui_ssl_interca="Loading",a.allow_config=!0,g.get_webui_ssl().then(function(c){c&&200===c.status&&(h.webui_ssl_cert=c.data.cert_file,h.webui_ssl_interca=c.data.interca_file,a.allow_config=b.allow_config)}),h.showProgressBar=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.import_cert=function(c){var e=d.open({templateUrl:"app/modules/system/submenu/access_control/webui_ssl_import.html",controller:"webuiSSLImport",controllerAs:"webui_ssl_import",resolve:{modalData:{type:c}}});e.result.then(function(d){d&&("cert"==c?h.webui_ssl_cert="Loading":h.webui_ssl_interca="Loading",g.get_webui_ssl().then(function(c){c&&200===c.status&&(h.webui_ssl_cert=c.data.cert_file,h.webui_ssl_interca=c.data.interca_file,a.allow_config=b.allow_config)}))})},h.clear_cert=function(a){if(confirm(e("T")("This WebUI session may no longer be active if the WebUI configuration is changed successfully. Are you sure you want to do this?"))){h.showProgressBar();var c={type:a};g.webui_ssl_clear(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"string"==typeof a.data?alert(e("T")("Your current WebUI connection is terminated.")):a.data[0]||alert(a.data[1]):alert(e("T")("Your current WebUI connection is terminated."))})}}}]).controller("webuiSSLImport",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","sysResourceService","$filter","FileUploader","modalData",function(a,b,c,d,e,f,g,h,i,j){var k=this;k.type=j.type,k.import_way="",k.local="",k.url="",k.input="",k.pfx_pass="",k.passphrase="",k.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};var l=k.file_uploader=new i({queueLimit:1,url:"/upload",autoUpload:!0,removeAfterUpload:!0});l.onBeforeUploadItem=function(a){},l.onSuccessItem=function(a,c,d,e){if(b.$broadcast("endLoading",!0),!c.error){k.local=c.files[0].url;var f=c.files[0].name,g=f.split(".").pop().toLowerCase();"pfx"===g||"p12"===g?k.is_pfx=!0:(k.is_pfx=!1,k.pfx_pass="")}},l.onCompleteItem=function(a,c,d,e){b.$broadcast("endLoading",!0)},k.modalClose=function(){e.close(!0)},k["import"]=function(){if(confirm(h("T")("This WebUI session may no longer be active if the WebUI configuration is changed successfully. Are you sure you want to do this?"))){k.showProgressBar();var a={type:k.type,import_way:k.import_way,local:k.local,url:k.url,input:k.input,pfx_pass:k.pfx_pass||"",passphrase:k.passphrase||""};g.webui_ssl_import(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"string"==typeof a.data?(alert(h("T")("Your current WebUI connection is terminated.")),k.modalClose(!0)):a.data[0]||alert(h("T")(a.data[1])):(alert(h("T")("Your current WebUI connection is terminated.")),k.modalClose(!0))})}}}]).controller("access_xmlrpcCtrl",["$scope","$rootScope","$state","$uibModal","$filter","$location","sysResourceService",function(a,b,c,d,e,f,g){var h=this;b.title="XML-RPC Settings",a.onLabel=e("T")("Enable"),a.offLabel=e("T")("Disable"),a.allow_config=!0,h.xmlrpc_data={enable_xmlrpc:!1,xmlrpc_port:9999,type:"https"},g.get_xmlrpc().then(function(c){c&&200===c.status&&(console.log("res is "+c.data.enable_xmlrpc),console.log("res is "+c.data.xmlrpc_port),console.log("res is "+c.data.type),h.xmlrpc_data.enable_xmlrpc=c.data.enable_xmlrpc,c.data.enable_xmlrpc?(h.xmlrpc_data.xmlrpc_port=c.data.xmlrpc_port,h.xmlrpc_data.type=c.data.type):(h.xmlrpc_data.xmlrpc_port=9999,h.xmlrpc_data.type="https"),console.log("data is "+h.xmlrpc_data.enable_xmlrpc),console.log("data is "+h.xmlrpc_data.xmlrpc_port),console.log("data is "+h.xmlrpc_data.type),a.allow_config=b.allow_config)});var i=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.save=function(a){i();var c={enable_xmlrpc:h.xmlrpc_data.enable_xmlrpc};h.xmlrpc_data.enable_xmlrpc&&(c.xmlrpc_port=h.xmlrpc_data.xmlrpc_port,c.type=h.xmlrpc_data.type),g.update_xmlrpc(c).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?h.cancel():(alert(c.data[1]),a.$dirty=!0):(alert("Internal error."),a.$dirty=!0)})},h.cancel=function(){c.go("index.system.access_control.xmlrpc",{},{reload:!0})}}]).controller("access_restapiCtrl",["$scope","$rootScope","$state","$uibModal","$location","sysResourceService","$filter",function(a,b,c,d,e,f,g){var h=this;b.title="RESTful API Settings",a.onLabel=g("T")("Enable"),a.offLabel=g("T")("Disable"),a.allow_config=!0,h.restapi_data={enable_restapi:!1,restapi_port:9997,restapi_type:"https"},f.get_restapi().then(function(c){c&&200===c.status&&(h.restapi_data.enable_restapi=c.data.enable_restapi,c.data.enable_restapi?(h.restapi_data.restapi_port=c.data.restapi_port,h.restapi_data.restapi_type=c.data.restapi_type):(h.restapi_data.restapi_port=9997,h.restapi_data.restapi_type="https"),a.allow_config=b.allow_config)});var i=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.save=function(a){i();var c={enable_restapi:h.restapi_data.enable_restapi};h.restapi_data.enable_restapi&&(c.restapi_port=h.restapi_data.restapi_port,c.restapi_type=h.restapi_data.restapi_type),f.update_restapi(c).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?h.cancel():(alert(c.data[1]),a.$dirty=!0):(alert("Internal error."),a.$dirty=!0)})},h.cancel=function(){c.go("index.system.access_control.restapi",{},{reload:!0})}}]).controller("access_sshCtrl",["$scope","$rootScope","$state","$uibModal","$filter","$location","sysResourceService",function(a,b,c,d,e,f,g){var h=this;a.allow_config=!0,g.get_ssh().then(function(a){a&&200===a.status&&(h.data=a.data,h.data.ssh_cipher_suite=a.data.ssh_cipher_suite.split(","),h.data.ssh_kex_suite=a.data.ssh_kex_suite.split(","),h.data.ssh_macs_suite=a.data.ssh_macs_suite.split(","))});var i=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.save=function(a){i();var c={};a.ssh_interval.$dirty&&(c.ssh_interval=h.data.ssh_interval||60),a.ssh_max_check_times.$dirty&&(c.ssh_max_check_times=h.data.ssh_max_check_times||3),a.ssh_cipher_suite.$dirty&&(c.ssh_cipher_suite=h.data.ssh_cipher_suite.join(",")),
+a.ssh_kex_suite.$dirty&&(c.ssh_kex_suite=h.data.ssh_kex_suite.join(",")),a.ssh_macs_suite.$dirty&&(c.ssh_macs_suite=h.data.ssh_macs_suite.join(",")),g.update_ssh(c).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?(a.$dirty=!1,h.cancel()):(alert(c.data[1]),a.$dirty=!0):(alert("Internal error!"),a.$dirty=!0)})},h.regenerate=function(){var a=confirm(e("T")("The current SSH server host keys will be lost and you will need to update your SSH client configuration. Do you want to continue?"));a&&g.regenerate_ssh_key().then(function(a){a&&200===a.status?h.cancel():alert(e("T")("Failed to generate ssh key!"))})},h.cancel=function(){c.go("index.system.access_control.ssh",{},{reload:!0})}}]).controller("access_enableCtrl",["$scope","$rootScope","$state","$uibModal","$filter","$location","sysResourceService",function(a,b,c,d,e,f,g){var h=this;b.title="Enable Mode Settings";var i="";g.get_access_enable().then(function(a){a&&200===a.status&&(h.enable_passwd=a.data.enable_passwd,i=a.data.enable_passwd)});var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.change_pwd=!1,h.on_change=function(){h.change_pwd=!0},h.cancel=function(){h.change_pwd=!1,c.go("index.system.access_control.enable",{},{reload:!0})},h.save=function(){if(h.enable_passwd||(h.enable_passwd=""),h.enable_passwd2||(h.enable_passwd2=""),h.enable_passwd!=h.enable_passwd2)return alert(e("T")("The passwords do not match.")),!1;if(confirm(e("T")("You will need to re-login if the password of the Enable mode has been changed successfully. Are you sure you want to do this?"))){j();var a={enable_passwd:h.enable_passwd};g.update_access_enable(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.change_pwd=!1:alert(a.data[1]):a&&401!==a.status&&alert(e("T")("Failed to change the Enable password."))})}},h.cancel=function(){c.go("index.system.access_control.enable",{},{reload:!0})}}]).controller("access_configCtrl",["$scope","$rootScope","$state","$uibModal","$location","sysResourceService",function(a,b,c,d,e,f){var g=this;b.title="Config Mode Settings",g.config_data={timeout:120},f.get_access_config().then(function(a){a&&200===a.status&&(g.config_data=a.data)});var h=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};g.save=function(a){h(),g.config_data.timeout||(g.config_data.timeout=0);var c={timeout:g.config_data.timeout};f.update_access_config(c).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]||(alert(c.data[1]),a.$dirty=!0):(alert("Internal error."),a.$dirty=!0)})},g.reset=function(){h(),f.reset_access_config().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]||alert(a.data[1]):alert("Internal error.")})},g.cancel=function(){c.go("index.system.access_control.config",{},{reload:!0})}}]).controller("access_usbCtrl",["$scope","$rootScope","$state","$uibModal","$filter","$location","vaTableService",function(a,b,c,d,e,f,g){var h=this;g.get_usb_list().then(function(c){c&&200===c.status&&(h.usb_list=c.data,a.allow_config=b.allow_config)})}]),angular.module("avx.system").controller("backup_and_restoreCtrl",["$scope","$rootScope","$state","$uibModal","$location","sysResourceService",function(a,b,c,d,e,f){b.title="Backup & Restore",a.url_contain=function(a){return e.path().indexOf(a)!=-1}}]),angular.module("avx.system").controller("backupCtrl",["$scope","$rootScope","$uibModal","$state","sysResourceService","$filter","longPollingService",function(a,b,c,d,e,f,g){var h=this;b.title="Backup",a.allow_config=b.allow_config,h.data={file_name:"avx_backup"},h.showProgressBar=function(){c.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.get_backup_udisk_info=function(){e.get_udisk_name().then(function(a){a&&200===a.status&&(h.diskNameList=a.data)})},h.backup_udisk=function(a){h.showProgressBar(),e.backup_config_udisk(a).then(function(e){if(b.$broadcast("endLoading",!0),e&&200===e.status){if(e.data[0]){a.pipeid=e.data[1].pipeid,a.timeout=3e3,a.title=f("T")("Backing up...");var g=c.open({templateUrl:"app/modules/common/templates/pipe_action_modal.html",controller:"pipeActionCtrl",controllerAs:"pipeAction",backdrop:!1,resolve:{modalData:a}});g.result.then(function(a){a&&d.go("index.system.backup_and_restore.backup",{},{reload:!0})})}}else alert(f("T")("Internal error."))})},h.get_backup_udisk_info()}]),angular.module("avx.system").controller("restoreCtrl",["$scope","$rootScope","$uibModal","$state","sysResourceService","$filter","longPollingService",function(a,b,c,d,e,f,g){var h=this;b.title="Restore",a.allow_config=b.allow_config,h.showProgressBar=function(){c.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},a.$watch(function(){return h.disk_name},function(a){h.disk_name&&h.disk_name in h.udiskFileList&&(h.fileNameList=h.udiskFileList[h.disk_name])},!0),h.get_load_udisk_file=function(){e.get_udisk_name().then(function(a){if(a&&200===a.status){h.udiskNameList=a.data;for(var b={},c=0;c<a.data.length;c++)b[a.data[c].name]=[];e.get_udisk_files().then(function(a){if(a&&200===a.status){for(var c=0;c<a.data.length;c++){var d=a.data[c].udisk[0];d in b&&b[d].push(a.data[c].disk_file)}h.udiskFileList=b}})}})},h.restore=function(){var a=f("T")("This WebUI session may no longer be active if the load configuration has a different WebUI configuration. Are you sure you want to do this?");confirm(a)&&e.load_config_udisk(h.disk_name,h.file_name.split("/")[0]).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){if(a.data[0]){var e={};e.pipeid=a.data[1].pipeid,e.timeout=3e3,e.title=f("T")("Restoring...");var g=c.open({templateUrl:"app/modules/common/templates/pipe_action_modal.html",controller:"pipeActionCtrl",controllerAs:"pipeAction",backdrop:!1,resolve:{modalData:e}});g.result.then(function(a){a&&d.go("index.system.backup_and_restore.restore",{},{reload:!0})})}}else alert(f("T")("Internal error."))})},h.get_load_udisk_file()}]),angular.module("avx.system").controller("sys_backupAndLoadCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService",function(a,b,c,d,e){b.title="Backup & Load Configuration"}]).controller("sys_backupCtrl",["$scope","$rootScope","$state","$filter","$uibModal","sysResourceService","longPollingService",function(a,b,c,d,e,f,g){function h(){f.get_saved_config_files().then(function(a){a&&200===a.status&&(i.savedfiles=a.data)})}var i=this;a.allow_config=b.allow_config,h();var j=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};i.load=function(a){confirm(d("T")("This WebUI session may no longer be active if the startup configuration has a different WebUI configuration. Are you sure you want to do this?"))&&(j(),f.load_config_file(a.name).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"string"==typeof a.data?(alert(d("T")("Your current WebUI connection is terminated.")),c.go("login")):a.data[0]||alert(a.data[1]):(alert(d("T")("Your current WebUI connection is terminated.")),c.go("login"))}))},i.refresh=function(){i.savedfiles=[],h()},i["new"]=function(){var a=e.open({templateUrl:"app/modules/system/submenu/config_mgmt/backup_and_load/savedfile-add.html",controller:"sys_backup_savedfileAddCtrl",controllerAs:"sys_backup_savedfileAdd"});a.result.then(function(){i.refresh()})},i["delete"]=function(a){j(),f.delete_config_file(a.name,a.file_type).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status&&("string"==typeof a.data?"None"!=a.data?alert(d("T")("Internal error.")):i.refresh():a.data[0]?i.refresh():alert(a.data[1]))})},i.download=function(a){f.download_config_file(a.name)},i.backup_scp=function(a){j(),f.backup_config_scp(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"string"==typeof a.data?alert("Internal error."):a.data[0]||alert(a.data[1]):alert("Internal error.")})},i.backup_tftp=function(a){j(),f.backup_config_tftp(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"string"==typeof a.data?alert("Internal error."):a.data[0]||alert(a.data[1]):alert("Internal error.")})},i.clear=function(){var a=d("T")("This operation will clear all the config files saved on the system disk. Are you sure you want to do this?");if(confirm(a)){j();var c={action:"Clear",options:JSON.stringify({option:"file"})};f.clear_configuration(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?i.refresh():alert(a.data[1]):alert(d("T")("Internal server error."))})["catch"](function(a){b.$broadcast("endLoading",!0),alert(d("T")("Internal server error."))})}}}]),angular.module("avx.system").controller("sys_loadCtrl",["$scope","$rootScope","$state","$filter","$uibModal","sysResourceService","FileUploader",function(a,b,c,d,e,f,g){function h(){f.get_saved_config_files().then(function(a){if(a&&200===a.status){for(var b=[],c=[],d=a.data.length-1;d>=0;d--)"running"==a.data[d].file_type?b.push(a.data[d].name):"all"==a.data[d].file_type&&c.push(a.data[d].name);i.runningSystemFileList=b,i.allSystemFileList=c}})}var i=this;a.allow_config=b.allow_config,i.configType="",a.$watch(function(){return i.configType},function(a){i.configWay="","all"==a?i.loadWay=[{value:"system",name:d("T")("System Disk")},{value:"scp",name:"SCP"},{value:"tftp",name:"TFTP"},{value:"local",name:d("T")("Local File")}]:i.loadWay=[{value:"system",name:d("T")("System Disk")},{value:"startup",name:d("T")("Startup")},{value:"local",name:d("T")("Local File")}]},!0);var j=i.file_uploader=new g({queueLimit:1,url:"/upload",autoUpload:!0});j.onBeforeUploadItem=function(a){l()},j.onSuccessItem=function(a,c,d,e){c.error||(i.local=c.files[0].url,i.local_name=c.files[0].name,b.$broadcast("endLoading",!0))};var k=i.running_file_uploader=new g({queueLimit:1,url:"/upload",autoUpload:!0});k.onBeforeUploadItem=function(a){l()},k.onSuccessItem=function(a,c,d,e){c.error||(i.running_local=c.files[0].url,b.$broadcast("endLoading",!0))},h();var l=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},m=function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"string"==typeof a.data?(alert(d("T")("Your current WebUI connection is terminated.")),c.go("login")):a.data[0]?c.go("index.system.config_mgmt.backup_and_load.load",{},{reload:!0}):alert(a.data[1]):(alert(d("T")("Your current WebUI connection is terminated.")),c.go("login"))};i.load=function(){if("all"==i.configType&&"local"==i.configWay&&i.allSystemFileList.indexOf(i.local_name)>=0)return alert(d("T")("The local config file cannot be the same name with file that has been backed up.")),void c.go("index.system.config_mgmt.backup_and_load.load",{},{reload:!0});var a;a="startup"==i.configWay?d("T")("This WebUI session may no longer be active if the startup configuration has a different WebUI configuration. Are you sure you want to do this?"):d("T")("This WebUI session may no longer be active if the load configuration has a different WebUI configuration. Are you sure you want to do this?"),confirm(a)&&(l(),"all"==i.configType?"system"==i.configWay?f.load_all_config_file(i.allSystemFile,i.allSystemFilePasswd).then(function(a){m(a)}):"scp"==i.configWay?f.load_config_scp(i.scp).then(function(a){m(a)}):"tftp"==i.configWay?f.load_config_tftp(i.tftp).then(function(a){m(a)}):"local"==i.configWay&&f.load_all_config_local(i.local,i.allLocalFilePasswd).then(function(a){m(a)}):"system"==i.configWay?f.load_config_file(i.runningSystemFile).then(function(a){m(a)}):"startup"==i.configWay?f.load_config().then(function(a){m(a)}):"local"==i.configWay&&f.load_config_local(i.running_local).then(function(a){m(a)}))}}]),angular.module("avx.system").controller("sys_backup_savedfileAddCtrl",["$scope","$rootScope","$state","$filter","$uibModalInstance","$uibModal","sysResourceService",function(a,b,c,d,e,f,g){var h=this;h.data={},h.modalClose=function(){e.dismiss()};var i=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.add=function(a){i(),g.backup_config_file(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"string"==typeof a.data?alert(d("T")("Internal error.")):a.data[0]?e.close():alert(a.data[1]):alert(d("T")("Internal error."))})}}]),angular.module("avx.system").controller("sys_clearCtrl",["$scope","$rootScope","$state","$uibModal","$filter","sysResourceService",function(a,b,c,d,e,f){var g=this;b.title="Clear Configuration",g.clearOption="",g.showProgressBar=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},g.clear=function(){var a;if("all"==g.clearOption?a=e("T")("This operation will clear the entire configuration. Are you sure you want to do this?"):"primary"==g.clearOption?a=e("T")("This operation will clear the primary network configuration. Are you sure you want to do this?"):"secondary"==g.clearOption&&(a=e("T")("This operation will clear the entire configuration except the primary network configuration. Are you sure you want to do this?")),confirm(a)){g.showProgressBar();var d={action:"Clear",options:JSON.stringify({option:g.clearOption})};f.clear_configuration(d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.config_mgmt.clear",{},{reload:!0}):alert(a.data[1]):"primary"===g.clearOption||"secondary"===g.clearOption||"all"===g.clearOption?(alert(e("T")("Configuration has been cleared. The system is restarting. Your WebUI session will be terminated.")),setTimeout(function(){window.location.href="/#/login"},2e3)):alert(e("T")("Internal server error."))})["catch"](function(a){b.$broadcast("endLoading",!0),"primary"===g.clearOption||"secondary"===g.clearOption||"all"===g.clearOption?(alert(e("T")("Configuration has been cleared. The system is restarting. Your WebUI session will be terminated.")),setTimeout(function(){window.location.href="/#/login"},2e3)):alert(e("T")("Internal server error."))})}}}]),angular.module("avx.system").controller("config_mgmtCtrl",["$scope","$rootScope","$state","$location","sysResourceService",function(a,b,c,d,e){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]),angular.module("avx.system").controller("sys_viewCtrl",["$scope","$rootScope","$state","$location","sysResourceService",function(a,b,c,d,e){b.title="View Configuration",a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]).controller("sys_view_runningCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService","$filter",function(a,b,c,d,e,f){function g(a){var b=document.createElement("span");return b.innerHTML=a,b.textContent}var h=this,i=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.get_info=function(){e.get_config_running().then(function(b){b&&200===b.status&&(a.config=g(b.data.running_config))})},h.save=function(){i(),e.backup_config().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"string"==typeof a.data?alert("Internal error."):a.data[0]||alert(a.data[1]):alert("Internal error.")})},h.restore=function(){confirm(f("T")("This WebUI session may no longer be active if the startup configuration has a different WebUI configuration. Are you sure you want to do this?"))&&(i(),e.load_config().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"string"==typeof a.data?(alert(f("T")("Your current WebUI connection is terminated.")),c.go("login")):a.data[0]||alert(a.data[1]):(alert(f("T")("Your current WebUI connection is terminated.")),c.go("login"))}))},h.get_info()}]).controller("sys_view_techCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService",function(a,b,c,d,e){function f(a){var b=document.createElement("span");return b.innerHTML=a,b.textContent}var g=this;g.get_info=function(){e.get_config_tech().then(function(b){b&&200===b.status&&(a.config=f(b.data.tech))})},g.get_info()}]).controller("sys_view_startupCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService",function(a,b,c,d,e){function f(a){var b=document.createElement("span");return b.innerHTML=a,b.textContent}var g=this;g.get_info=function(){e.get_config_startup().then(function(b){b&&200===b.status&&(a.config=f(b.data.startup_config))})},g.get_info()}]),angular.module("avx.system").controller("generalCtrl",["$scope","$rootScope","$state","$location","sysResourceService",function(a,b,c,d,e){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]),angular.module("avx.system").controller("generalHostCtrl",["$scope","$rootScope","$state","$uibModal","$filter","sysResourceService",function(a,b,c,d,e,f){function g(a){f.get_host().then(function(b){b&&200===b.status&&(h.host=b.data),a&&a()})}var h=this;b.title="Host Settings",g();var i=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.savehost=function(a,c){i(),f.update_host(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]||(alert(a.data[1]),c.$dirty=!0):(alert(e("T")("Failed to update the hostname of the AVX appliance.")),c.$dirty=!0)})},h.cancel=function(){i(),g(function(){b.$broadcast("endLoading",!0)})},h.reset=function(){var a=confirm(e("T")('This will reset the hostname of the AVX appliance to the default value "AN". Are you sure you want to do this?'));a&&(i(),f.reset_host().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?c.go("index.system.general.host",{},{reload:!0}):alert(e("T")("Failed to reset the hostname of the AVX appliance."))}))}}]),angular.module("avx.system").controller("generalNTPCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService","$filter",function(a,b,c,d,e,f){function g(){e.get_ntp().then(function(c){c&&200===c.status&&(a.ntp_data=c.data,a.allow_config=b.allow_config)})}var h=this;b.title="NTP Settings",a.onLabel=f("T")("Enable"),a.offLabel=f("T")("Disable"),a.allow_config=!0,a.ntp_data={enable_ntp:!1},g(),h.showAddModal=function(){var a=d.open({templateUrl:"app/modules/system/submenu/general/ntp/ntp-add.html",controller:"ntpAddCtrl",controllerAs:"ntpAdd"});a.result.then(function(){h.refresh()})},h.showKeyModal=function(){var a=d.open({templateUrl:"app/modules/system/submenu/general/ntp/key-add.html",controller:"ntpKeyCtrl",controllerAs:"ntpKey"});a.result.then(function(){h.refresh()})};var i=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.enable=function(c){i(),e.update_ntp(a.ntp_data.enable_ntp).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?g():(alert(a.data[1]),c.$dirty=!0):(alert("Internal error."),c.$dirty=!0)})},h.cancel=function(){g()},h["delete"]=function(a){i();var c={ip:a.ip};e.delete_ntp_server(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.refresh():alert(a.data[1]):alert("Internal error.")})},h.deleteKey=function(a){i();var c={key_id:a.key_id};e.delete_ntp_key(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.refresh():alert(a.data[1]):alert("Internal error.")})},h.clean=function(){var a=confirm(f("T")("Are you sure you want to clear all the NTP server?"));a&&e.clean_all_ntp(h.csrf_token).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?h.refresh():alert(f("T")("Failed to Clean the NTP Server."))})},h.refresh=function(){a.ntp_data.ntp_server=[],a.ntp_data.ntp_key=[],g()},h.optionsConvert=function(a){switch(a){case"nts":return"NTS"}return a}}]).controller("ntpAddCtrl",["$scope","$rootScope","$state","$uibModalInstance","$uibModal","sysResourceService",function(a,b,c,d,e,f){var g=this;g.data={},g.modalClose=function(){d.dismiss()},g.chooseIpv4=!0,g.chooseIpv6=!1,g.chooseHostname=!1,g.clickIpv4=function(){g.chooseIpv4=!0,g.chooseIpv6=!1,g.chooseHostname=!1},g.clickIpv6=function(){g.chooseIpv4=!1,g.chooseIpv6=!0,g.chooseHostname=!1},g.clickHostname=function(){g.chooseIpv4=!1,g.chooseIpv6=!1,g.chooseHostname=!0},g.key_id="";var h=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};g.loading=!0,g.key_list=[],g.get_key_list=function(){f.get_ntp_key().then(function(a){return g.loading=!1,a&&200===a.status&&(g.key_list=a.data.ntp_key),a}).then(function(){var a=document.querySelector(".no-key");g.key_list.length>0&&(a.style.display="none")})},g.get_key_list(),g.add=function(a){h();var c={options:a.options,key_id:parseInt(a.key_id)};g.chooseIpv4?c.ip=a.ipv4:g.chooseIpv6?c.ip=a.ipv6:c.ip=a.hostname,f.add_ntp_server(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?d.close():alert(a.data[1]):alert("Internal error.")})}}]).controller("ntpKeyCtrl",["$scope","$rootScope","$state","$uibModalInstance","$uibModal","sysResourceService",function(a,b,c,d,e,f){var g=this;g.data={},g.modalClose=function(){d.dismiss()},g.key_id=0,g.auth_key="";var h=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};g.add=function(a){if(isNaN(a.key_id)||parseInt(a.key_id)>65535||parseInt(a.key_id)<1)return void alert("Key ID should be in the range 1 to 65535");h();var c={key_id:parseInt(a.key_id),auth_key:a.auth_key};f.add_ntp_key(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?d.close():alert(a.data[1]):alert("Internal error.")})},a.$watch("ntpKey.data.auth_key",function(a,b){var c=/^[^\s]*$/;c.test(a)||(g.data.auth_key=b)})}]),angular.module("avx.system").controller("generalTimeCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService",function(a,b,c,d,e){function f(b){e.get_time().then(function(c){if(c&&200===c.status){var d=c.data.system_time;d=d.replace(/-/g,"/"),d=d.replace(/T/g," ");var e=new Date(d);a.sysdate=e,a.systime=e;for(var f=c.data.system_timezone.split("/"),g=0;g<timezone.length;g++)if(timezone[g].name==f[0]){a.systimezone1=timezone[g];break}if(a.systimezone1.child)for(var g=0;g<a.systimezone1.child.length;g++)if(a.systimezone1.child[g].name==f[1]){a.systimezone2=a.systimezone1.child[g];break}if(a.systimezone2&&a.systimezone2.child)for(var g=0;g<a.systimezone2.child.length;g++)if(a.systimezone2.child[g].name==f[2]){a.systimezone3=a.systimezone2.child[g];break}b&&b()}})}var g=this;b.title="System Time Settings",a.allow_config=b.allow_config,a.format="yyyy-MM-dd ",a.altInputFormats=["yyyy-M!-d!"],a.popup={opened:!1},a.open=function(){a.popup.opened=!0},a.dateOptions={startingDay:1},a.selectOptions={showTick:!0,title:"---Please Select---"},timezone=[{name:"GMT"},{name:"Asia",child:[{name:"China",child:[{name:"Most of China(GMT+08:00)"},{name:"Taiwan Time"}]},{name:"India",child:[{name:"Kolkata"}]},{name:"Indonesia",child:[{name:"Indonesia Time"}]},{name:"Japan",child:[{name:"Japan Time"}]},{name:"Malaysia",child:[{name:"Malaysia Time"}]},{name:"Philippines",child:[{name:"Philippines Time"}]},{name:"South Korea",child:[{name:"South Korea Time"}]},{name:"Singapore",child:[{name:"Singapore Time"}]},{name:"Thailand",child:[{name:"Thailand Time"}]},{name:"Vietnam",child:[{name:"Vietnam Time"}]},{name:"United Arab Emirates",child:[{name:"United Arab Emirates Time"}]}]},{name:"Europe",child:[{name:"Austria",child:[{name:"Austria Time"}]},{name:"Danmark",child:[{name:"Danmark Time"}]},{name:"France",child:[{name:"France Time"}]},{name:"Finland",child:[{name:"Finland Time"}]},{name:"Germany",child:[{name:"Germany Time"}]},{name:"Greece",child:[{name:"Greece Time"}]},{name:"Israel",child:[{name:"Israel Time"}]},{name:"Italy",child:[{name:"Italy Time"}]},{name:"Netherland",child:[{name:"Netherland Time"}]},{name:"Norway",child:[{name:"Norway Time"}]},{name:"Spain",child:[{name:"Spain Time"}]},{name:"Sweden",child:[{name:"Sweden Time"}]},{name:"Switzerland",child:[{name:"Switzerland Time"}]},{name:"United Kingdom",child:[{name:"Great Britain"},{name:"Northern Ireland"},{name:"Scotland"}]},{name:"Portugal",child:[{name:"Portugal Time"}]}]},{name:"North America",child:[{name:"Canada",child:[{name:"Newfoundland Island"},{name:"Atlantic Time - Nova Scotia (most places), NB, W Labrador, E Quebec & PEI"},{name:"Atlantic Time - Nova Scotia - places that did not observe DST 1966-1971"},{name:"Atlantic Time - E Labrador"},{name:"Eastern Time - Ontario & Quebec - most locations"},{name:"Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973"},{name:"Eastern Time - Thunder Bay, Ontario"},{name:"Central Time - Manitoba & west Ontario"},{name:"Central Time - Rainy River & Fort Frances, Ontario"},{name:"Central Time - Pangnirtung, Nunavut"},{name:"Central Time - east Nunavut"},{name:"Central Time - central Nunavut"},{name:"Central Time - west Nunavut"},{name:"Central Standard Time - Saskatchewan - most locations"},{name:"Central Standard Time - Saskatchewan - midwest"},{name:"Mountain Time - Alberta, east British Columbia & west Saskatchewan"},{name:"Mountain Time - central Northwest Territories"},{name:"Mountain Time - west Northwest Territories"},{name:"Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia"},{name:"Pacific Time - west British Columbia"},{name:"Pacific Time - south Yukon"},{name:"Pacific Time - north Yukon"}]},{name:"United States",child:[{name:"Eastern Time"},{name:"Eastern Time - Michigan - most locations"},{name:"Eastern Time - Kentucky - Louisville area"},{name:"Eastern Time - Kentucky - Wayne County"},{name:"Eastern Standard Time - Indiana - most locations"},{name:"Eastern Standard Time - Indiana - Crawford County"},{name:"Eastern Standard Time - Indiana - Starke County"},{name:"Eastern Standard Time - Indiana - Switzerland County"},{name:"Central Time"},{name:"Central Time - Michigan - Wisconsin border"},{name:"Mountain Time"},{name:"Mountain Time - south Idaho & east Oregon"},{name:"Mountain Time - Navajo"},{name:"Mountain Standard Time - Arizona"},{name:"Pacific Time"},{name:"Alaska Time"},{name:"Alaska Time - Alaska panhandle"},{name:"Alaska Time - Alaska panhandle neck"},{name:"Alaska Time - west Alaska"},{name:"Aleutian Islands"},{name:"Hawaii"}]}]},{name:"Oceania",child:[{name:"Australia",child:[{name:"Lord Howe Island"},{name:"Tasmania"},{name:"Victoria"},{name:"New South Wales - most locations"},{name:"New South Wales - Yancowinna"},{name:"Queensland - most locations"},{name:"Queensland - Holiday Islands"},{name:"South Australia"},{name:"Northern Territory"},{name:"Western Australia"}]},{name:"New Zealand",child:[{name:"New Zealand"}]}]},{name:"Africa",child:[{name:"Egypt",child:[{name:"Egypt Time"}]},{name:"Morocco",child:[{name:"Morocco Time"}]},{name:"South Africa",child:[{name:"South Africa Time"}]}]}],a.timezone1=timezone,f();var h=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};g.save=function(d){h();var f=a.sysdate.getFullYear()+"-"+(a.sysdate.getMonth()+1)+"-"+a.sysdate.getDate(),g=a.systime.toTimeString().split(" ")[0],i=f+"T"+g,j=a.systimezone1.name;a.systimezone2&&a.systimezone2.name&&(j=j+"/"+a.systimezone2.name,a.systimezone3&&a.systimezone3.name&&(j=j+"/"+a.systimezone3.name)),e.update_time(i,j).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.general.time",{},{reload:!0}):(alert(a.data[1]),d.$dirty=!0):(alert("Internal error."),d.$dirty=!0)})},g.cancel=function(){h(),f(function(){b.$broadcast("endLoading",!0)})},g.clear_timezone=function(a){h(),e.clear_timezone().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.general.time",{},{reload:!0}):alert(a.data[1]):alert("Internal error.")})}}]),angular.module("avx.system").controller("sys_infoCtrl",["$scope","$rootScope","$state","$uibModal","$filter","sysResourceService","vaTableService",function(a,b,c,d,e,f,g){var h=this;b.title="System Infomation",b.isExpanded=!1,a.allow_config=b.allow_config,h.show_va_data=!1,h.get_add_style=function(a){var b={},c=2/a,d=46/a;return b.margin="2px "+c+"%",b.width=d+"%",b.height="115px",b},h.get_va_style=function(a,b){var c={},d=2/a,e=46/a;return c.margin="2px "+d+"%",1===b.cpu_thread&&"shared-entry"===b.va_size?(c.width=e+"%",c["background-image"]="none"):c.width=2*b.cpu_thread*e+(4*b.cpu_thread-2)*d+"%",c.height="115px",b.reserved?c["background-color"]="red":("Array Networks"==b.vendor?c["background-color"]="rgb(253, 104,24)":c["background-color"]="rgb(102, 174, 212)","Shutoff"==b.status&&(c["background-color"]="gray")),c},f.get_sys_version().then(function(a){a&&200===a.status&&(h.showVersionInfo=a.data,g.querySystemInfo().then(function(a){if(a&&200===a.status){var b=a.data.data.domain_num,c=a.data.data.domain;h.disk_all=a.data.data.disk.disk_total,h.disk_used=a.data.data.disk.disk_used,h.disk_left=a.data.data.disk.disk_left,h.disk_used_rate=(h.disk_used/h.disk_all*100).toFixed(2),f.get_va_info(["domain_id","va_name","va_size","ip","status","vendor","product_name","product_category","boottime","tgt_name","cpu_thread"]).then(function(a){if(a&&200===a.status){h.va_data=[];for(var d=0;d<b;d++){var f=!1,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;_.each(c,function(a){a.id==d+1&&(g=parseInt(a.cpu.sum),i=parseInt(a.cpu.used),j=parseInt(a.cpu.left),k=parseInt(a.cpu.reserved),a.cpu.left>0&&(f=!0),l=parseInt(a.memory.sum),m=parseInt(a.memory.used),n=parseInt(a.memory.left),o=parseInt(a.memory.reserved),_.each(a.port,function(a){p+=parseInt(a.vf_sum),r+=parseInt(a.vf_available)}),q=p-r,_.each(a.ssl,function(a){s+=parseInt(a.vf_sum),u+=parseInt(a.vf_share_available),u+=parseInt(a.vf_dedicated_available)}),t=s-u)});var v={domain_id:d+1,domain_cpu_all:g,domain_cpu_left:j,domain_cpu_used:i,domain_cpu_reserved:k,domain_cpu_used_rate:((i+k)/g*100).toFixed(2),domain_memory_all:l,domain_memory_left:n,domain_memory_used:m,domain_memory_reserved:o,domain_memory_used_rate:((m+o)/l*100).toFixed(2),domain_portvf_all:p,domain_portvf_left:r,domain_portvf_used:q,domain_portvf_used_rate:0==p?0:(q/p*100).toFixed(2),domain_sslvf_all:s,domain_sslvf_left:u,domain_sslvf_used:t,domain_sslvf_used_rate:0==s?0:(t/s*100).toFixed(2),data:[],va_addable:f};if(k>0){var w=new Object;w.domain_id=v.domain_id,w.cpu_thread=k,w.reserved=!0,w.popover_text='<rd-widget><rd-widget-header title="'+e("T")("Reserved CPU Threads")+'"></rd-widget-header><rd-widget-body classes="medium no-padding" style="height: 210px;"><div class="table-responsive"><table class="table"><tbody><tr><th>'+e("T")("Domain ID")+"</th><td>"+w.domain_id+"</td></tr><tr><th>"+e("T")("CPU Threads")+"</th><td>"+w.cpu_thread+"</td></tr></tbody></table></div></rd-widget-body></rd-widget>",v.data.push(w)}var x=new Array;_.each(a.data,function(a){a.domain_id==d+1&&(1==a.cpu_thread&&"shared-entry"==a.va_size?x[a.va_name]=.5:x[a.va_name]=a.cpu_thread)});var y=Object.keys(x).sort(function(a,b){return x[b]-x[a]});for(ki in y)_.each(a.data,function(a){var b=new Object;b.domain_id=a.domain_id,b.va_name=a.va_name,b.va_info_name=a.va_name,b.va_size=a.va_size,b.vendor=a.vendor,b.ip=a.ip,b.product_name=a.product_name,b.product_category=a.product_category,b.boottime=a.boottime.replace("T","\n"),b.image=a.tgt_name,b.cpu_thread=a.cpu_thread,a.status?b.status="Running":b.status="Shutoff";var c=a.cpu_thread;"shared-entry"==a.va_size&&(c+=" ("+e("T")("shared")+")"),"shared-entry"==b.va_size&&b.va_name.length>=3&&(b.va_info_name=b.va_name.slice(0,2)+".."),b.popover_text='<rd-widget><rd-widget-header title="'+b.va_name+'"></rd-widget-header><rd-widget-body classes="medium no-padding" style="height: 210px;"><div class="table-responsive"><table class="table"><tbody><tr><th>'+e("T")("Domain ID")+"</th><td>"+b.domain_id+"</td></tr><tr><th>"+e("T")("CPU Threads")+"</th><td>"+c+"</td></tr><tr><th>"+e("T")("VA Name")+"</th><td>"+b.va_name+"</td></tr><tr><th>"+e("T")("IP Address")+"</th><td>"+(b.ip?b.ip:"N/A")+"</td></tr><tr><th>"+e("T")("Product Name")+"</th><td>"+(b.product_name?b.product_name:"N/A")+"</td></tr><tr><th>"+e("T")("Product Category")+"</th><td>"+(b.product_category?b.product_category:"N/A")+"</td></tr><tr><th>"+e("T")("Size")+"</th><td>"+b.va_size+"</td></tr><tr><th>"+e("T")("Image")+"</th><td>"+b.image+"</td></tr><tr><th>"+e("T")("Vendor")+"</th><td>"+(b.vendor?b.vendor:"N/A")+"</td></tr><tr><th>"+e("T")("Status")+"</th><td>"+e("T")(b.status)+"</td></tr><tr><th>"+e("T")("Boot Time")+"</th><td>"+b.boottime+"</td></tr></tbody></table></div></rd-widget-body></rd-widget>",
+b.va_name===y[ki]&&v.data.push(b)});h.va_data.push(v)}h.show_va_data=!0}})}else alert(e("T")("Internal server error."))}))}),h.showVAAddModal=function(a){var b=d.open({templateUrl:"app/modules/va/va-add.html",controller:"vaAddCtrl",controllerAs:"vaAdd",resolve:{type:function(){return parseInt(a)}}});b.closed.then(function(){c.go("index.dashboard.sys_info",{},{reload:!0})})}}]),angular.module("avx.system").controller("sys_emailCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService","$filter",function(a,b,c,d,e,f){function g(a){e.get_email().then(function(b){if(b&&200===b.status){var c=b.data.from_string||"";c&&c.match(/^%/)?(k.emailPlaceholder=c,k.email.from_string="",k.originalFromString=""):(k.email.from_string=c,k.emailPlaceholder="",k.originalFromString=c)}a&&a()})}function h(a){e.get_alert_mail().then(function(b){if(b&&200===b.status){var c=b.data.host_string||"";c&&c.match(/^%/)?(k.alertHostnamePlaceholder=c,k.alert.hostname=""):(k.alert.hostname=c,k.alertHostnamePlaceholder=""),k.alert.send_alert=b.data.is_send_alert_msg===!0}a&&a()})}function i(a){e.get_external_mail_server().then(function(b){b&&200===b.status&&(k.externalServer.enable=b.data.status||!1,k.externalServer.email_server=b.data.server_address||"",k.externalServer.server_port=b.data.server_port||25,k.externalServer.use_ssl_tls=b.data.is_ssl||!1),a&&a()})}function j(a){e.get_external_sender_mail().then(function(b){b&&200===b.status&&(k.externalSender.email=b.data.email||"",k.externalSender.password=b.data.password||""),a&&a()})}var k=this;b.title="System Email Settings",a.onLabel=f("T")("Enable"),a.offLabel=f("T")("Disable"),k.email={from_string:""},k.emailPlaceholder="",k.originalFromString="",k.alert={hostname:"",send_alert:!1},k.alertHostnamePlaceholder="",k.externalServer={enable:!1,email_server:"",server_port:25,use_ssl_tls:!1},k.externalSender={email:"",password:""},k.showPassword=!1,k.relay={enable:!1},k.relay_data=[],k.isFormInvalid=function(a,b){return a.$invalid||a.from_string.$error.email||a.from_string.$error.maxlength||b&&b.length>64},k.isExternalSenderFormInvalid=function(a,b){var c=k.externalSender.password;return a.$invalid||a.external_sender_email.$error.email||a.external_sender_email.$error.maxlength||b&&b.length>32||!c||0===c.length||c&&c.length>64},k.isValidHostname=function(a){if(!a)return!0;var b=/^(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))$/,c=/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)*[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?$/;return b.test(a)||c.test(a)},k.isAlertFormInvalid=function(a,b){return b&&b.length>128||b&&!k.isValidHostname(b)},k.isExternalServerFormInvalid=function(a,b){var c=k.externalServer.server_port,d=null===c||void 0===c||""===c||c>=0&&c<=65535;return!b||0===b.length||b&&b.length>64||b&&!k.isValidHostname(b)||!d};var l=function(){var a=d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1});return a};e.get_relay_status().then(function(a){a&&200===a.status&&a.data[0]&&(k.relay.enable=a.data[1].status||!1)})["catch"](function(){k.relay.enable=!1}),k.refreshRelayList=function(){l(),e.get_relay_server_list().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status&&(k.relay_data=a.data||[])})["catch"](function(){b.$broadcast("endLoading",!0),alert("Failed to load relay server list.")})},k.showRelayAddModal=function(){var a=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/email/relay-add.html",controller:"relayAddCtrl",controllerAs:"relayAdd"});a.result.then(function(){k.refreshRelayList()})},k.deleteRelay=function(a){var c=f("T")("Are you sure you want to delete the relay server for hostname")+" ["+a.host_name+"]?",d=confirm(c);d&&(l(),e.delete_relay_server(a.host_name).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?k.refreshRelayList():alert(a.data[1]):alert("Internal error.")})["catch"](function(){b.$broadcast("endLoading",!0),alert("Failed to delete relay server.")}))},k.clearAllRelayServers=function(){var a=f("T")("Are you sure you want to clear the relay server configuration?"),c=confirm(a);c&&(l(),e.clear_relay_server().then(function(a){a&&200===a.status?a.data[0]?e.get_relay_server_list().then(function(a){return a&&200===a.status&&(k.relay_data=a.data||[]),e.get_relay_status()}).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status&&a.data[0]&&(k.relay.enable=a.data[1].status||!1)})["catch"](function(){b.$broadcast("endLoading",!0),alert("Failed to refresh relay status.")}):(b.$broadcast("endLoading",!0),alert(a.data[1])):(b.$broadcast("endLoading",!0),alert("Internal error."))})["catch"](function(){b.$broadcast("endLoading",!0),alert("Failed to clear relay servers.")}))},k.toggleRelayEnable=function(){return!k.relay.enable||k.relay_data&&0!==k.relay_data.length?(l(),void e.update_relay_status(k.relay.enable).then(function(a){a&&200===a.status&&a.data[0]?e.get_relay_status().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status&&a.data[0]&&(k.relay.enable=a.data[1].status||!1)})["catch"](function(){b.$broadcast("endLoading",!0),alert("Error occurred while getting relay status.")}):(b.$broadcast("endLoading",!0),alert("Failed to update relay status: "+(a.data[1]||"")),k.relay.enable=!k.relay.enable)})["catch"](function(){b.$broadcast("endLoading",!0),alert("Error occurred while updating relay status."),k.relay.enable=!k.relay.enable})):(k.relay.enable=!1,void alert(f("T")("Please complete all required relay server settings before enabling this configuration.")))},k.validateExternalServer=function(){if(k.externalServer.enable){var a=k.externalServer.email_server,c=k.externalServer.server_port,d=!a||""===a.trim(),g=!c||""===c;if(d||g)return alert(f("T")("Please complete all required external Email server settings before enabling this configuration.")),k.externalServer.enable=!1,!1;l(),e.update_external_mail_server_status(!0).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]||(alert(a.data[1]),k.externalServer.enable=!1):(alert("Internal error."),k.externalServer.enable=!1)})}else l(),e.update_external_mail_server_status(!1).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]||alert(a.data[1]):alert("Internal error.")})},g(),h(),i(),j(),k.refreshRelayList(),k.saveEmail=function(a){l(),e.update_email(k.email.from_string||"").then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?(a.$dirty=!1,k.originalFromString=k.email.from_string):(alert(c.data[1]),a.$dirty=!0):(alert("Internal error."),a.$dirty=!0)})["catch"](function(c){b.$broadcast("endLoading",!0),alert("Internal error."),a.$dirty=!0})},k.saveAlert=function(a){l();var c={host_string:k.alert.hostname||"",is_send_alert_msg:k.alert.send_alert||!1};e.update_alert_mail(c).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?a.$dirty=!1:(alert(c.data[1]),a.$dirty=!0):(alert("Internal error."),a.$dirty=!0)})},k.saveExternalMailServer=function(a){l();var c={status:k.externalServer.enable||!1,server_address:k.externalServer.email_server||"",server_port:k.externalServer.server_port||25,is_ssl:k.externalServer.use_ssl_tls||!1};e.update_external_mail_server(c).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?(a.$dirty=!1,i()):(alert(c.data[1]),a.$dirty=!0):(alert("Internal error."),a.$dirty=!0)})},k.deleteExternalMailServer=function(){var a=f("T")("Are you sure you want to delete the external email server?"),d=confirm(a);d&&(l(),e.delete_external_mail_server().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.sys_mgmt.email",{},{reload:!0}):alert(a.data[1]):alert("Internal error.")}))},k.saveExternalSender=function(a){l();var c={email:k.externalSender.email||"",password:k.externalSender.password||""};e.update_external_sender_mail(c).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?a.$dirty=!1:(alert(c.data[1]),a.$dirty=!0):(alert("Internal error."),a.$dirty=!0)})},k.deleteExternalSender=function(){var a=f("T")("Are you sure you want to delete the Email?"),d=confirm(a);d&&(l(),e.delete_external_sender_mail().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.sys_mgmt.email",{},{reload:!0}):alert(a.data[1]):alert("Internal error.")}))},k.cancel=function(){c.go("index.system.sys_mgmt.email",{},{reload:!0})}}]).controller("relayAddCtrl",["$scope","$rootScope","$state","$uibModalInstance","$uibModal","sysResourceService",function(a,b,c,d,e,f){var g=this;g.data={host_name:"",relay_server:""},g.loading=!1,g.isValidHostname=function(a){if(!a)return!0;var b=/^(((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))$/,c=/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)*[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?$/;return b.test(a)||c.test(a)},g.isFormInvalid=function(a,b,c){return!b||!c||0===b.length||0===c.length||b&&b.length>50||c&&c.length>30||b&&!g.isValidHostname(b)||c&&!g.isValidHostname(c)};var h=function(){var a=e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1});return a};g.modalClose=function(){d.dismiss()},g.add=function(a){h(),g.loading=!0;var c={host_name:a.host_name||"",relay_server:a.relay_server||""};f.add_relay_server(c).then(function(a){if(b.$broadcast("endLoading",!0),g.loading=!1,a&&200===a.status)if(a.data[0]){if(a.data[2]&&Array.isArray(a.data[2]))for(var c=a.data[2],e=0;e<c.length;e++)if("warning"===c[e][0])return void alert(c[e][1]);d.close()}else alert(a.data[1]);else alert("Internal error.")})["catch"](function(){b.$broadcast("endLoading",!0),g.loading=!1,alert("Failed to add relay server.")})}}]),angular.module("avx.system").controller("sys_licenseCtrl",["$scope","$rootScope","$state","$location","sysResourceService",function(a,b,c,d,e){b.title="System License",a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]).controller("avxLicenseCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService","$filter",function(a,b,c,d,e,f){var g=this;e.get_sys_license_info().then(function(a){if(a&&200===a.status){g.AVXLicenseInfo=a.data;var b=a.data.license_status;b.indexOf("Invalid")!=-1?g.invalid_license=!0:b.indexOf("expired")!=-1?g.expired_license=!0:b.indexOf("Normal")!=-1&&(g.licensed=!0)}});var h=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};g["import"]=function(a){h(),e.update_avx_license(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.sys_mgmt.license.avx_license",{},{reload:!0}):alert(a.data[1]):alert(f("T")("Failed to import the license key."))})},g.generate=function(a){h(),e.generate_avx_license_request_file(a).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c=new Blob([a.data],{type:"text/plain"}),d="avx_license_request.txt",e=document.createElement("a");e.id="lic_request_file",document.body.appendChild(e),navigator.appVersion.toString().indexOf(".NET")>0?window.navigator.msSaveBlob(c,d):(e.download=d,e.href=URL.createObjectURL(c),e.click()),document.body.removeChild(document.getElementById("lic_request_file"))}else alert(f("T")("Failed to generate the license request file."))})}}]).controller("apvLicenseCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService","$filter","vaTableService",function(a,b,c,d,e,f,g){var h=this;a.allow_config=b.allow_config,e.get_sys_central_license_info().then(function(a){if(a&&200===a.status){h.APVLicenseInfo=a.data;var b=h.APVLicenseInfo.licensed_apv;b.indexOf("used")!=-1&&(h.APVLicenseInfo.licensed_apv_total=b.split("(")[0],h.APVLicenseInfo.licensed_apv_used=b.split("(")[1].split(" ")[0]);var c=a.data.apv_license_status;c.indexOf("Invalid")!=-1?h.invalid_license=!0:c.indexOf("Expired")!=-1?h.expired_license=!0:c.indexOf("Normal")!=-1&&(h.licensed=!0)}});var i=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.get_sys_apv_demo_license_info=function(){e.get_sys_apv_demo_license_info().then(function(a){if(a&&200===a.status){h.APVDemoLicenseInfo=a.data;var b=h.APVDemoLicenseInfo.demo_licensed_apv;b.indexOf("used")!=-1&&(h.APVDemoLicenseInfo.demo_licensed_apv_total=b.split("(")[0],h.APVDemoLicenseInfo.demo_licensed_apv_used=b.split("(")[1].split(" ")[0]);var c=a.data.apv_demo_license_status;c.indexOf("Invalid")!=-1?h.invalid_demo_license=!0:c.indexOf("Expired")!=-1?h.expired_demo_license=!0:c.indexOf("Normal")!=-1&&(h.demo_licensed=!0)}})},h.refresh_license_assignment=function(){h.APVLicenseAssignment=void 0;var a={data:JSON.stringify({product:"vapv"})};e.get_license_status(a).then(function(a){a&&200===a.status&&(a.data.state?h.APVLicenseAssignment=a.data.data:alert(f("T")("Internal server error.")))})},h.refresh_license_assignment(),h.get_sys_apv_demo_license_info(),h["import"]=function(a){i(),e.update_apv_license(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.sys_mgmt.license.apv_license",{},{reload:!0}):alert(a.data[1]):alert(f("T")("Failed to import the license key."))})},h.generate=function(){var a;a="custom"==h.licensed_vapv_num?h.licensed_vapv:h.licensed_vapv_num,i(),e.generate_apv_central_license_request_file(a).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c=new Blob([a.data],{type:"text/plain"}),d="vAPV_license_request.txt",e=document.createElement("a");e.id="lic_request_file",document.body.appendChild(e),navigator.appVersion.toString().indexOf(".NET")>0?window.navigator.msSaveBlob(c,d):(e.download=d,e.href=URL.createObjectURL(c),e.click()),document.body.removeChild(document.getElementById("lic_request_file"))}else alert(f("T")("Failed to generate the license request file."))})},h.startVAInstance=function(a){var c=confirm(f("T")("Are you sure you want to start the VA instance?"));c&&(i(),RequestData={post_data:JSON.stringify({status:!0})},g.updateVAInstance(RequestData,a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.refresh_license_assignment():alert(a.data[1]):alert(f("T")("Failed to start the VA instance."))}))},h.shutoffVAInstance=function(a){var c=confirm(f("T")("Are you sure you want to shut down the VA instance?"));c&&(i(),RequestData={post_data:JSON.stringify({status:!1})},g.updateVAInstance(RequestData,a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.refresh_license_assignment():alert(a.data[1]):alert(f("T")("Failed to shut down the VA instance."))}))},h.applyLicense=function(a,b,c,e){var f={va_name:a,status:b,type:c,product_type:"apv",va_size:e},g=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/apply_license.html",controller:"applyLicenseCtrl",controllerAs:"applyLicense",resolve:{modalData:f}});g.result.then(function(a){a&&h.refresh_license_assignment()})},h.unassignLicense=function(a,c,d){if(c)return void alert(f("T")("Please shut down the VA instance first if you want to delete the license."));if(confirm(f("T")("This operation will delete the current license. Are you sure you want to do this?"))){var g={action:"Unassign",options:JSON.stringify({va_name:a,license_type:d,product_type:"apv"})};i(),e.unassignVapvLicense(g).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.refresh_license_assignment():alert(a.data[1]):alert(f("T")("Internal server error."))})}},h.viewVapvLicense=function(a){var b;b=a.status?"Running":"Shutoff";var c={product_name:"vAPV",status:b,va_name:a.va,hide_footer:!0};d.open({templateUrl:"app/modules/va/license/array/vAPV.html",controller:"valicenseInfoViewCtrl",controllerAs:"vaLicenseInfo",size:"lg",resolve:{modalData:c}})},h.updateVapvLicense=function(a,b,c,e){var f={va_name:a,status:b,type:c,product_type:"apv",va_size:e},g=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/update_individual_license.html",controller:"updateLicenseCtrl",controllerAs:"updateLicense",resolve:{modalData:f}});g.result.then(function(a){a&&h.refresh_license_assignment()})}}]).controller("avxPoolLicenseCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService","vaTableService","$filter",function(a,b,c,d,e,f,g){var h=this;a.allow_config=b.allow_config;var i=function(a){var b="",c="";return a.indexOf("Used")!=-1&&(b=a.split(" (")[0],c=a.split(" (")[1].split(" ")[0]),[b,c]};h.get_license_package_info=function(){e.get_sys_pool_license_info().then(function(a){if(a&&200===a.status){h.PoolLicenseInfo=a.data;var b=i(h.PoolLicenseInfo.license_number);h.PoolLicenseInfo.license_number_total=b[0],h.PoolLicenseInfo.license_number_used=b[1];var c=i(h.PoolLicenseInfo.licensed_vs);h.PoolLicenseInfo.licensed_vs_total=c[0],h.PoolLicenseInfo.licensed_vs_used=c[1];var d=i(h.PoolLicenseInfo.licensed_user);h.PoolLicenseInfo.licensed_user_total=d[0],h.PoolLicenseInfo.licensed_user_used=d[1];var e=i(h.PoolLicenseInfo.licensed_s2s);h.PoolLicenseInfo.licensed_s2s_total=e[0],h.PoolLicenseInfo.licensed_s2s_used=e[1];var f=a.data.ag_license_status;f.indexOf("Invalid")!=-1?h.invalid_license=!0:f.indexOf("Expired")!=-1?h.expired_license=!0:f.indexOf("Normal")!=-1&&(h.licensed=!0)}})},h.get_license_assignment=function(){e.get_sys_pool_license_assignment().then(function(a){a&&200===a.status&&(h.PoolLicenseAssignment=a.data)})};var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.get_ag_license_assignment=function(){h.AGLicenseAssignment=void 0;var a={data:JSON.stringify({product:"vxag"})};e.get_license_status(a).then(function(a){a&&200===a.status&&(a.data.state?h.AGLicenseAssignment=a.data.data:alert(g("T")("Internal server error.")))})},h.refresh_resource_assignment=function(){h.PoolLicenseAssignment=void 0,e.get_sys_pool_license_assignment().then(function(a){a&&200===a.status&&(h.PoolLicenseAssignment=a.data)})},h.unassign_resource=function(a){j(),e.unassign_sys_pool_license_resource(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.sys_mgmt.license.ag_license",{},{reload:!0}):alert(a.data[1]):alert(g("T")("Failed to unassign the vxAG pool license resource."))})},h.assign_resource=function(){var a=!1;f.loadInstance(["va_name","product_name"]).then(function(b){if(b&&200===b.status)if(_.each(b.data,function(b){"vxAG"==b.product_name&&(a=!0)}),a){var e=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/pool_license_assign.html",controller:"avxPoolLinceseResourceAssignCtrl",controllerAs:"poolLicAssign",resolve:{modalData:{}}});e.closed.then(function(){c.go("index.system.sys_mgmt.license.ag_license",{},{reload:!0})})}else{var f=confirm(g("T")("No vxAG-type VA Instance has been created. Are you sure you want to create one?"));f&&c.go("index.va.default",{},{reload:!0})}})},h.edit_resource_assignment=function(a){var b=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/pool_license_assign.html",controller:"avxPoolLinceseResourceAssignCtrl",controllerAs:"poolLicAssign",resolve:{modalData:a}});b.closed.then(function(){c.go("index.system.sys_mgmt.license.ag_license",{},{reload:!0})})},h["import"]=function(a){j(),e.update_avx_pool_license(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.sys_mgmt.license.ag_license",{},{reload:!0}):alert(a.data[1]):alert(g("T")("Failed to import the license key."))})},h.generate=function(a,c,d){var f,d;f="custom"==h.licensed_user_num?h.licensed_user:h.licensed_user_num,d="custom"==h.licensed_vxag_num?h.licensed_vxag:h.licensed_vxag_num,j(),e.generate_avx_pool_license_request_file(a,f,c,d).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c=new Blob([a.data],{type:"text/plain"}),d="vxAG_license_request.txt",e=document.createElement("a");e.id="lic_request_file",document.body.appendChild(e),navigator.appVersion.toString().indexOf(".NET")>0?window.navigator.msSaveBlob(c,d):(e.download=d,e.href=URL.createObjectURL(c),e.click()),document.body.removeChild(document.getElementById("lic_request_file"))}else alert(g("T")("Failed to generate the license request file."))})},h.startVAInstance=function(a){var c=confirm(g("T")("Are you sure you want to start the VA instance?"));c&&(j(),RequestData={post_data:JSON.stringify({status:!0})},f.updateVAInstance(RequestData,a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.get_ag_license_assignment():alert(a.data[1]):alert(g("T")("Failed to start the VA instance."))}))},h.shutoffVAInstance=function(a){var c=confirm(g("T")("Are you sure you want to shut down the VA instance?"));c&&(j(),RequestData={post_data:JSON.stringify({status:!1})},f.updateVAInstance(RequestData,a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.get_ag_license_assignment():alert(a.data[1]):alert(g("T")("Failed to shut down the VA instance."))}))},h.applyLicense=function(a,b,c,e){var f={va_name:a,status:b,type:c,product_type:"ag",va_size:e},g=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/apply_license.html",controller:"applyLicenseCtrl",controllerAs:"applyLicense",resolve:{modalData:f}});g.result.then(function(a){a&&(h.get_ag_license_assignment(),h.refresh_resource_assignment(),h.get_license_package_info())})},h.unassignLicense=function(a,c,d){if(c)return void alert(g("T")("Please shut down the VA instance first if you want to delete the license."));if(confirm(g("T")("This operation will delete the current license. Are you sure you want to do this?"))){var f={action:"Unassign",options:JSON.stringify({va_name:a,product_type:"ag",license_type:d})};j(),e.unassignVapvLicense(f).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?(h.get_license_package_info(),h.get_ag_license_assignment(),h.get_license_assignment()):alert(a.data[1]):alert(g("T")("Internal server error."))})}},h.viewVxagLicense=function(a){var b;b=a.status?"Running":"Shutoff";var c={product_name:"vxAG",status:b,va_name:a.va,hide_footer:!0,va_size:a.va_size};d.open({templateUrl:"app/modules/va/license/array/vxAG.html",controller:"valicenseInfoViewCtrl",controllerAs:"vaLicenseInfo",size:"lg",resolve:{modalData:c}})},h.assignResource=function(a){var b,f,g,h,i=!1;e.get_sys_pool_license_assignment().then(function(e){if(e&&200===e.status){for(var j=e.data.length-1;j>=0;j--)if(e.data[j].va==a){i=!0,b=e.data[j].vs,f=e.data[j].user,g=e.data[j].s2s;break}var k={va:a,add:!0};i&&(k.add=!1,k.vs=b,k.user=f,k.s2s=g),h=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/pool_license_assign.html",controller:"avxPoolLinceseResourceAssignCtrl",controllerAs:"poolLicAssign",resolve:{modalData:k}}),h.closed.then(function(){c.go("index.system.sys_mgmt.license.ag_license",{},{reload:!0})})}})},h.updateVxagLicense=function(a,b,c,e){var f={va_name:a,status:b,type:c,product_type:"ag",va_size:e},g=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/update_individual_license.html",controller:"updateLicenseCtrl",controllerAs:"updateLicense",resolve:{modalData:f}});g.result.then(function(a){a&&h.get_ag_license_assignment()})},h.get_license_package_info(),h.get_license_assignment(),h.get_ag_license_assignment()}]).controller("avxPoolLinceseResourceAssignCtrl",["$scope","$rootScope","$state","$uibModal","$uibModalInstance","vaTableService","sysResourceService","modalData","$filter",function(a,b,c,d,e,f,g,h,i){var j=this;j.modalClose=function(){e.dismiss()},j.add=!0,j.getCurrentVA=function(a,b){_.each(b,function(b){if(a==b.va_name)return"shared-entry"==b.va_size||"entry"==b.va_size?(j.left_licensed_vs_display=20<j.left_licensed_vs+j.va_licensed_vs_pre?20:j.left_licensed_vs+j.va_licensed_vs_pre,j.left_licensed_user_display=600<j.left_licensed_user+j.va_licensed_user_pre?600:j.left_licensed_user+j.va_licensed_user_pre,j.left_licensed_s2s_display=600<j.left_licensed_s2s+j.va_licensed_s2s_pre?600:j.left_licensed_s2s+j.va_licensed_s2s_pre):"small"==b.va_size?(j.left_licensed_vs_display=256<j.left_licensed_vs+j.va_licensed_vs_pre?256:j.left_licensed_vs+j.va_licensed_vs_pre,j.left_licensed_user_display=1e4<j.left_licensed_user+j.va_licensed_user_pre?1e4:j.left_licensed_user+j.va_licensed_user_pre,j.left_licensed_s2s_display=1e4<j.left_licensed_s2s+j.va_licensed_s2s_pre?1e4:j.left_licensed_s2s+j.va_licensed_s2s_pre):"medium"==b.va_size?(j.left_licensed_vs_display=256<j.left_licensed_vs+j.va_licensed_vs_pre?256:j.left_licensed_vs+j.va_licensed_vs_pre,j.left_licensed_user_display=25e3<j.left_licensed_user+j.va_licensed_user_pre?25e3:j.left_licensed_user+j.va_licensed_user_pre,j.left_licensed_s2s_display=25e3<j.left_licensed_s2s+j.va_licensed_s2s_pre?25e3:j.left_licensed_s2s+j.va_licensed_s2s_pre):"large"==b.va_size&&(j.left_licensed_vs_display=256<j.left_licensed_vs+j.va_licensed_vs_pre?256:j.left_licensed_vs+j.va_licensed_vs_pre,j.left_licensed_user_display=128e3<j.left_licensed_user+j.va_licensed_user_pre?128e3:j.left_licensed_user+j.va_licensed_user_pre,j.left_licensed_s2s_display=128e3<j.left_licensed_s2s+j.va_licensed_s2s_pre?128e3:j.left_licensed_s2s+j.va_licensed_s2s_pre),!1})},angular.equals({},h)||h.add?(j.data={},h.add&&(j.specified_va=!0,j.data.va_name=h.va),j.va_licensed_vs_pre=0,j.va_licensed_user_pre=0,j.va_licensed_s2s_pre=0,j.va_ag_data=[],f.loadInstance(["va_name","product_name","va_size"]).then(function(a){a&&200===a.status&&(_.each(a.data,function(a){"vxAG"==a.product_name&&j.va_ag_data.push(a)}),g.get_sys_pool_license_info().then(function(a){a&&200===a.status&&(j.total_licensed_vs=a.data.licensed_vs.split(" (")[0],j.left_licensed_vs=parseInt(j.total_licensed_vs)-parseInt(a.data.licensed_vs.split(" (")[1].split(" Used)")[0]),j.total_licensed_user=a.data.licensed_user.split(" (")[0],j.left_licensed_user=parseInt(j.total_licensed_user)-parseInt(a.data.licensed_user.split(" (")[1].split(" Used)")[0]),j.total_licensed_s2s=a.data.licensed_s2s.split(" (")[0],j.left_licensed_s2s=parseInt(j.total_licensed_s2s)-parseInt(a.data.licensed_s2s.split(" (")[1].split(" Used)")[0]),h.add&&j.getCurrentVA(j.data.va_name,j.va_ag_data))}))})):(j.add=!1,j.data={},j.va_limit_data=[],j.va_licensed_vs_pre=h.vs,j.va_licensed_user_pre=h.user,j.va_licensed_s2s_pre=h.s2s,g.get_sys_pool_license_info().then(function(a){a&&200===a.status&&(j.total_licensed_vs=a.data.licensed_vs.split(" (")[0],j.left_licensed_vs=parseInt(j.total_licensed_vs)-parseInt(a.data.licensed_vs.split(" (")[1].split(" Used)")[0]),j.total_licensed_user=a.data.licensed_user.split(" (")[0],j.left_licensed_user=parseInt(j.total_licensed_user)-parseInt(a.data.licensed_user.split(" (")[1].split(" Used)")[0]),j.total_licensed_s2s=a.data.licensed_s2s.split(" (")[0],j.left_licensed_s2s=parseInt(j.total_licensed_s2s)-parseInt(a.data.licensed_s2s.split(" (")[1].split(" Used)")[0]),f.loadInstance(["va_name","product_name","va_size"]).then(function(a){a&&200===a.status&&(_.each(a.data,function(a){"vxAG"==a.product_name&&j.va_limit_data.push(a)}),j.getCurrentVA(h.va,j.va_limit_data))}))}),j.data.va_name=h.va,j.data.licensed_vs=h.vs,j.data.licensed_user=h.user,j.data.licensed_s2s=h.s2s);var k=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};j.assign_resource=function(a){k(),g.assign_sys_pool_license_resource(a.va_name,a.licensed_vs,a.licensed_user,a.licensed_s2s).then(function(a){if(a&&200===a.status){if(a.data[0]){if(a.data[2].length>0){var c=a.data[2][0];alert(c[1])}j.modalClose()}else alert(a.data[1]);b.$broadcast("endLoading",!0)}else alert(i("T")("Failed to assign the resource from the vxAG pool license."))})},j.reassign_resource=function(a){k(),g.update_per_va_sys_pool_license_assignment(a.va_name,a.licensed_vs,a.licensed_user,a.licensed_s2s).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?j.modalClose():(j.data.licensed_vs=h.vs,j.data.licensed_user=h.user,j.data.licensed_s2s=h.s2s,alert(a.data[1])):(j.data.licensed_vs=h.vs,j.data.licensed_user=h.user,j.data.licensed_s2s=h.s2s,alert(i("T")("Failed to assign the vxAG pool license resource.")))})}}]).controller("applyLicenseCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService","$filter","modalData","$uibModalInstance",function(a,b,c,d,e,f,g,h){var i=this;i.license_type="Package",i.license_key="",i.product_type=g.product_type;var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};i.modalClose=function(){h.dismiss()},i.apply=function(){if("N/A"!=g.type)return void alert(f("T")("Please shut down the VA instance and delete the current license first if you want to apply another type of license."));if(!g.status&&"Individual"==i.license_type)return void alert(f("T")("Please start the VA instance first if you want to apply an individual license to it."));j();var a={va_name:g.va_name,license_type:i.license_type,license_key:i.license_key,product_type:g.product_type};"netgate"!=i.product_type&&"ag"!=i.product_type&&"netiag"!=i.product_type||(a.licensed_vs=i.licensed_vs,a.licensed_user=i.licensed_user,a.licensed_s2s=i.licensed_s2s);var c={action:"Assign",options:JSON.stringify(a)};e.assignVapvLicense(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.close(!0):alert(a.data[1]):alert(f("T")("Internal server error."))})},i.generate=function(){return g.status||"Individual"!=i.license_type?(j(),void e.generate_va_individual_license_request_file(g.va_name,"","","","",g.va_size).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c,d=new Blob([a.data],{type:"text/plain"});c="apv"==i.product_type?"vAPV_individual_license_request.txt":"vxAG_individual_license_request.txt";var e=document.createElement("a");e.id="lic_request_file",document.body.appendChild(e),navigator.appVersion.toString().indexOf(".NET")>0?window.navigator.msSaveBlob(d,c):(e.download=c,e.href=URL.createObjectURL(d),e.click()),document.body.removeChild(document.getElementById("lic_request_file"))}else alert(f("T")("Failed to generate the license request file."))})):void alert(f("T")("Please start the VA instance first if you want to generate an individual license request file for it."))},i.get_vxag_license_data=function(){e.get_sys_pool_license_info().then(function(a){a&&200===a.status&&(i.total_licensed_vs=a.data.licensed_vs.split(" (")[0],i.left_licensed_vs=parseInt(i.total_licensed_vs)-parseInt(a.data.licensed_vs.split(" (")[1].split(" Used)")[0]),i.total_licensed_user=a.data.licensed_user.split(" (")[0],i.left_licensed_user=parseInt(i.total_licensed_user)-parseInt(a.data.licensed_user.split(" (")[1].split(" Used)")[0]),i.total_licensed_s2s=a.data.licensed_s2s.split(" (")[0],i.left_licensed_s2s=parseInt(i.total_licensed_s2s)-parseInt(a.data.licensed_s2s.split(" (")[1].split(" Used)")[0]),"shared-entry"==g.va_size||"entry"==g.va_size?(i.left_licensed_vs_display=20<i.left_licensed_vs?20:i.left_licensed_vs,i.left_licensed_user_display=600<i.left_licensed_user?600:i.left_licensed_user,i.left_licensed_s2s_display=600<i.left_licensed_s2s?600:i.left_licensed_s2s):"small"==g.va_size?(i.left_licensed_vs_display=256<i.left_licensed_vs?256:i.left_licensed_vs,i.left_licensed_user_display=1e4<i.left_licensed_user?1e4:i.left_licensed_user,i.left_licensed_s2s_display=1e4<i.left_licensed_s2s?1e4:i.left_licensed_s2s):"medium"==g.va_size?(i.left_licensed_vs_display=256<i.left_licensed_vs?256:i.left_licensed_vs,i.left_licensed_user_display=25e3<i.left_licensed_user?25e3:i.left_licensed_user,i.left_licensed_s2s_display=25e3<i.left_licensed_s2s?25e3:i.left_licensed_s2s):"large"==g.va_size&&(i.left_licensed_vs_display=256<i.left_licensed_vs?256:i.left_licensed_vs,i.left_licensed_user_display=128e3<i.left_licensed_user?128e3:i.left_licensed_user,i.left_licensed_s2s_display=128e3<i.left_licensed_s2s?128e3:i.left_licensed_s2s));
+})},i.get_vxag_license_data()}]).controller("updateLicenseCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService","$filter","modalData","$uibModalInstance",function(a,b,c,d,e,f,g,h){var i=this;i.license_key="",i.modalClose=function(){h.dismiss()};var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};i.generate=function(){return g.status?(j(),void e.generate_va_individual_license_request_file(g.va_name,"","","","",g.va_size).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c,d=new Blob([a.data],{type:"text/plain"});c="apv"==g.product_type?"vAPV_individual_license_request.txt":"vxAG_individual_license_request.txt";var e=document.createElement("a");e.id="lic_request_file",document.body.appendChild(e),navigator.appVersion.toString().indexOf(".NET")>0?window.navigator.msSaveBlob(d,c):(e.download=c,e.href=URL.createObjectURL(d),e.click()),document.body.removeChild(document.getElementById("lic_request_file"))}else alert(f("T")("Failed to generate the license request file."))})):void alert(f("T")("Please start the VA instance first if you want to generate an individual license request file for it."))},i.update=function(){if(!g.status)return void alert(f("T")("Please start the VA instance first if you want to apply an individual license to it."));j();var a={va_name:g.va_name,license_type:"Individual",license_key:i.license_key,product_type:g.product_type},c={action:"Assign",options:JSON.stringify(a)};e.assignVapvLicense(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.close(!0):alert(a.data[1]):alert(f("T")("Internal server error."))})}}]).controller("netiagCentralLicenseCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService","vaTableService","$filter",function(a,b,c,d,e,f,g){var h=this;a.allow_config=b.allow_config;var i=function(a){var b="",c="";return a.indexOf("Used")!=-1&&(b=a.split(" (")[0],c=a.split(" (")[1].split(" ")[0]),[b,c]};h.get_license_package_info=function(){e.get_netiag_license_info().then(function(a){if(a&&200===a.status){h.PoolLicenseInfo=a.data;var b=i(h.PoolLicenseInfo.netiag_license_number);h.PoolLicenseInfo.license_number_total=b[0],h.PoolLicenseInfo.license_number_used=b[1];var c=i(h.PoolLicenseInfo.netiag_licensed_vs);h.PoolLicenseInfo.licensed_vs_total=c[0],h.PoolLicenseInfo.licensed_vs_used=c[1];var d=i(h.PoolLicenseInfo.netiag_licensed_user);h.PoolLicenseInfo.licensed_user_total=d[0],h.PoolLicenseInfo.licensed_user_used=d[1];var e=i(h.PoolLicenseInfo.netiag_licensed_s2s);h.PoolLicenseInfo.licensed_s2s_total=e[0],h.PoolLicenseInfo.licensed_s2s_used=e[1];var f=a.data.netiag_license_status;f.indexOf("Invalid")!=-1?h.invalid_license=!0:f.indexOf("Expired")!=-1?h.expired_license=!0:f.indexOf("Normal")!=-1&&(h.licensed=!0)}})},h.get_license_assignment=function(){e.get_sys_pool_license_assignment().then(function(a){a&&200===a.status&&(h.PoolLicenseAssignment=a.data)})};var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.get_ag_license_assignment=function(){h.netiagLicenseAssignment=void 0;var a={data:JSON.stringify({product:"vnetiag"})};e.get_license_status(a).then(function(a){a&&200===a.status&&(a.data.state?h.netiagLicenseAssignment=a.data.data:alert(g("T")("Internal server error.")))})},h.refresh_resource_assignment=function(){h.PoolLicenseAssignment=void 0,e.get_sys_pool_license_assignment().then(function(a){a&&200===a.status&&(h.PoolLicenseAssignment=a.data)})},h.unassign_resource=function(a){j(),e.unassign_sys_pool_license_resource(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.sys_mgmt.license.ag_license",{},{reload:!0}):alert(a.data[1]):alert(g("T")("Failed to unassign the vxAG pool license resource."))})},h.assign_resource=function(){var a=!1;f.loadInstance(["va_name","product_name"]).then(function(b){if(b&&200===b.status)if(_.each(b.data,function(b){"vxAG"==b.product_name&&(a=!0)}),a){var e=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/pool_license_assign.html",controller:"avxPoolLinceseResourceAssignCtrl",controllerAs:"poolLicAssign",resolve:{modalData:{}}});e.closed.then(function(){c.go("index.system.sys_mgmt.license.ag_license",{},{reload:!0})})}else{var f=confirm(g("T")("No vxAG-type VA Instance has been created. Are you sure you want to create one?"));f&&c.go("index.va.default",{},{reload:!0})}})},h.edit_resource_assignment=function(a){var b=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/pool_license_assign.html",controller:"avxPoolLinceseResourceAssignCtrl",controllerAs:"poolLicAssign",resolve:{modalData:a}});b.closed.then(function(){c.go("index.system.sys_mgmt.license.ag_license",{},{reload:!0})})},h["import"]=function(a){j(),e.update_netiag_license(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.sys_mgmt.license.netiag_license",{},{reload:!0}):alert(a.data[1]):alert(g("T")("Failed to import the license key."))})},h.generate=function(a,c,d){var f,d;f="custom"==h.licensed_user_num?h.licensed_user:h.licensed_user_num,d="custom"==h.licensed_vnetiag_num?h.licensed_vnetiag:h.licensed_vnetiag_num,j(),e.generate_netiag_license_request_file(a,f,c,d).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c=new Blob([a.data],{type:"text/plain"}),d="vNetIag_license_request.txt",e=document.createElement("a");e.id="lic_request_file",document.body.appendChild(e),navigator.appVersion.toString().indexOf(".NET")>0?window.navigator.msSaveBlob(c,d):(e.download=d,e.href=URL.createObjectURL(c),e.click()),document.body.removeChild(document.getElementById("lic_request_file"))}else alert(g("T")("Failed to generate the license request file."))})},h.startVAInstance=function(a){var c=confirm(g("T")("Are you sure you want to start the VA instance?"));c&&(j(),RequestData={post_data:JSON.stringify({status:!0})},f.updateVAInstance(RequestData,a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.get_ag_license_assignment():alert(a.data[1]):alert(g("T")("Failed to start the VA instance."))}))},h.shutoffVAInstance=function(a){var c=confirm(g("T")("Are you sure you want to shut down the VA instance?"));c&&(j(),RequestData={post_data:JSON.stringify({status:!1})},f.updateVAInstance(RequestData,a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.get_ag_license_assignment():alert(a.data[1]):alert(g("T")("Failed to shut down the VA instance."))}))},h.applyLicense=function(a,b,c,e){var f={va_name:a,status:b,type:c,product_type:"netiag",va_size:e},g=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/apply_license.html",controller:"applyLicenseCtrl",controllerAs:"applyLicense",resolve:{modalData:f}});g.result.then(function(a){a&&(h.get_ag_license_assignment(),h.refresh_resource_assignment(),h.get_license_package_info())})},h.unassignLicense=function(a,c,d){if(c)return void alert(g("T")("Please shut down the VA instance first if you want to delete the license."));if(confirm(g("T")("This operation will delete the current license. Are you sure you want to do this?"))){var f={action:"Unassign",options:JSON.stringify({va_name:a,product_type:"ag",license_type:d})};j(),e.unassignVapvNewLicense(f).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?(h.get_license_package_info(),h.get_ag_license_assignment(),h.get_license_assignment()):alert(a.data[1]):alert(g("T")("Internal server error."))})}},h.viewVxagLicense=function(a){var b;b=a.status?"Running":"Shutoff";var c={product_name:"vNetIag",status:b,va_name:a.va,hide_footer:!0,va_size:a.va_size};d.open({templateUrl:"app/modules/va/license/array/vNetiag.html",controller:"valicenseInfoViewCtrl",controllerAs:"vaLicenseInfo",size:"lg",resolve:{modalData:c}})},h.assignResource=function(a){var b,f,g,h,i=!1;e.get_sys_pool_license_assignment().then(function(e){if(e&&200===e.status){for(var j=e.data.length-1;j>=0;j--)if(e.data[j].va==a){i=!0,b=e.data[j].vs,f=e.data[j].user,g=e.data[j].s2s;break}var k={va:a,add:!0};i&&(k.add=!1,k.vs=b,k.user=f,k.s2s=g),h=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/pool_license_assign.html",controller:"avxPoolLinceseResourceAssignCtrl",controllerAs:"poolLicAssign",resolve:{modalData:k}}),h.closed.then(function(){c.go("index.system.sys_mgmt.license.netiag_license",{},{reload:!0})})}})},h.updateNetiagLicense=function(a,b,c,e){var f={va_name:a,status:b,type:c,product_type:"netiag",va_size:e},g=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/update_individual_license.html",controller:"updateLicenseCtrl",controllerAs:"updateLicense",resolve:{modalData:f}});g.result.then(function(a){a&&h.get_ag_license_assignment()})},h.get_license_package_info(),h.get_license_assignment(),h.get_ag_license_assignment()}]).controller("netgateCentralLicenseCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService","vaTableService","$filter",function(a,b,c,d,e,f,g){var h=this;a.allow_config=b.allow_config;var i=function(a){var b="",c="";return a.indexOf("Used")!=-1&&(b=a.split(" (")[0],c=a.split(" (")[1].split(" ")[0]),[b,c]};h.get_license_package_info=function(){e.get_netgate_license_info().then(function(a){if(a&&200===a.status){h.PoolLicenseInfo=a.data;var b=i(h.PoolLicenseInfo.netgate_license_number);h.PoolLicenseInfo.license_number_total=b[0],h.PoolLicenseInfo.license_number_used=b[1];var c=i(h.PoolLicenseInfo.netgate_licensed_vs);h.PoolLicenseInfo.licensed_vs_total=c[0],h.PoolLicenseInfo.licensed_vs_used=c[1];var d=i(h.PoolLicenseInfo.netgate_licensed_user);h.PoolLicenseInfo.licensed_user_total=d[0],h.PoolLicenseInfo.licensed_user_used=d[1];var e=i(h.PoolLicenseInfo.netgate_licensed_s2s);h.PoolLicenseInfo.licensed_s2s_total=e[0],h.PoolLicenseInfo.licensed_s2s_used=e[1];var f=a.data.netgate_license_status;f.indexOf("Invalid")!=-1?h.invalid_license=!0:f.indexOf("Expired")!=-1?h.expired_license=!0:f.indexOf("Normal")!=-1&&(h.licensed=!0)}})},h.get_license_assignment=function(){e.get_netgate_sys_pool_license_assignment().then(function(a){a&&200===a.status&&(h.PoolLicenseAssignment=a.data)})};var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.get_ag_license_assignment=function(){h.netgateLicenseAssignment=void 0;var a={data:JSON.stringify({product:"vnetgate"})};e.get_license_status(a).then(function(a){a&&200===a.status&&(a.data.state?h.netgateLicenseAssignment=a.data.data:alert(g("T")("Internal server error.")))})},h.refresh_resource_assignment=function(){h.PoolLicenseAssignment=void 0,e.get_netgate_sys_pool_license_assignment().then(function(a){a&&200===a.status&&(h.PoolLicenseAssignment=a.data)})},h.unassign_resource=function(a){j(),e.unassign_sys_pool_license_resource(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.sys_mgmt.license.ag_license",{},{reload:!0}):alert(a.data[1]):alert(g("T")("Failed to unassign the vxAG pool license resource."))})},h.assign_resource=function(){var a=!1;f.loadInstance(["va_name","product_name"]).then(function(b){if(b&&200===b.status)if(_.each(b.data,function(b){"vxAG"==b.product_name&&(a=!0)}),a){var e=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/pool_license_assign.html",controller:"avxPoolLinceseResourceAssignCtrl",controllerAs:"poolLicAssign",resolve:{modalData:{}}});e.closed.then(function(){c.go("index.system.sys_mgmt.license.ag_license",{},{reload:!0})})}else{var f=confirm(g("T")("No vxAG-type VA Instance has been created. Are you sure you want to create one?"));f&&c.go("index.va.default",{},{reload:!0})}})},h.edit_resource_assignment=function(a){var b=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/pool_license_assign.html",controller:"avxPoolLinceseResourceAssignCtrl",controllerAs:"poolLicAssign",resolve:{modalData:a}});b.closed.then(function(){c.go("index.system.sys_mgmt.license.ag_license",{},{reload:!0})})},h["import"]=function(a){j(),e.update_netgate_license(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?c.go("index.system.sys_mgmt.license.netgate_license",{},{reload:!0}):alert(a.data[1]):alert(g("T")("Failed to import the license key."))})},h.generate=function(a,c,d){var f,d;f="custom"==h.licensed_user_num?h.licensed_user:h.licensed_user_num,d="custom"==h.licensed_vnetgate_num?h.licensed_vnetgate:h.licensed_vnetgate_num,j(),e.generate_netgate_license_request_file(a,f,c,d).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c=new Blob([a.data],{type:"text/plain"}),d="vNetGate_license_request.txt",e=document.createElement("a");e.id="lic_request_file",document.body.appendChild(e),navigator.appVersion.toString().indexOf(".NET")>0?window.navigator.msSaveBlob(c,d):(e.download=d,e.href=URL.createObjectURL(c),e.click()),document.body.removeChild(document.getElementById("lic_request_file"))}else alert(g("T")("Failed to generate the license request file."))})},h.startVAInstance=function(a){var c=confirm(g("T")("Are you sure you want to start the VA instance?"));c&&(j(),RequestData={post_data:JSON.stringify({status:!0})},f.updateVAInstance(RequestData,a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.get_ag_license_assignment():alert(a.data[1]):alert(g("T")("Failed to start the VA instance."))}))},h.shutoffVAInstance=function(a){var c=confirm(g("T")("Are you sure you want to shut down the VA instance?"));c&&(j(),RequestData={post_data:JSON.stringify({status:!1})},f.updateVAInstance(RequestData,a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?h.get_ag_license_assignment():alert(a.data[1]):alert(g("T")("Failed to shut down the VA instance."))}))},h.applyNetgateLicense=function(a,b,c,e){var f={va_name:a,status:b,type:c,product_type:"netgate",va_size:e},g=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/apply_license.html",controller:"applyLicenseCtrl",controllerAs:"applyLicense",resolve:{modalData:f}});g.result.then(function(a){a&&(h.get_ag_license_assignment(),h.refresh_resource_assignment(),h.get_license_package_info())})},h.unassignLicense=function(a,c,d){if(c)return void alert(g("T")("Please shut down the VA instance first if you want to delete the license."));if(confirm(g("T")("This operation will delete the current license. Are you sure you want to do this?"))){var f={action:"Unassign",options:JSON.stringify({va_name:a,product_type:"netgate",license_type:d})};j(),e.unassignVapvNewLicense(f).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?(h.get_license_package_info(),h.get_ag_license_assignment(),h.get_license_assignment()):alert(a.data[1]):alert(g("T")("Internal server error."))})}},h.viewVxagLicense=function(a){var b;b=a.status?"Running":"Shutoff";var c={product_name:"vNetGate",status:b,va_name:a.va,hide_footer:!0,va_size:a.va_size};d.open({templateUrl:"app/modules/va/license/array/vNetgate.html",controller:"valicenseInfoViewCtrl",controllerAs:"vaLicenseInfo",size:"lg",resolve:{modalData:c}})},h.assignResource=function(a){var b,f,g,h,i=!1;e.get_netgate_sys_pool_license_assignment().then(function(e){if(e&&200===e.status){for(var j=e.data.length-1;j>=0;j--)if(e.data[j].va==a){i=!0,b=e.data[j].vs,f=e.data[j].user,g=e.data[j].s2s;break}var k={va:a,add:!0};i&&(k.add=!1,k.vs=b,k.user=f,k.s2s=g),h=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/pool_license_assign.html",controller:"avxPoolLinceseResourceAssignCtrl",controllerAs:"poolLicAssign",resolve:{modalData:k}}),h.closed.then(function(){c.go("index.system.sys_mgmt.license.netgate_license",{},{reload:!0})})}})},h.updateNetgateLicense=function(a,b,c,e){var f={va_name:a,status:b,type:c,product_type:"netgate",va_size:e},g=d.open({templateUrl:"app/modules/system/submenu/sys_mgmt/license/update_individual_license.html",controller:"updateLicenseCtrl",controllerAs:"updateLicense",resolve:{modalData:f}});g.result.then(function(a){a&&h.get_ag_license_assignment()})},h.get_license_package_info(),h.get_license_assignment(),h.get_ag_license_assignment()}]),angular.module("avx.system").controller("sys_shutdownrebootCtrl",["$scope","$rootScope","$filter","$state","$uibModal","sysResourceService",function(a,b,c,d,e,f){var g=this;b.title="System Shutdown/Reboot",a.allow_config=b.allow_config;var h=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};g.shutdown=function(){if(confirm(c("T")("This WebUI session will no longer be active if the system is shut down successfully. Are you sure you want to do this?"))){h();var a={option:g.option};f.system_shutdown(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"string"==typeof a.data?alert(c("T")("Your current WebUI connection is terminated.")):a.data[0]||alert(a.data[1]):alert(c("T")("Your current WebUI connection is terminated."))})}},g.reboot=function(){confirm(c("T")("This WebUI session will no longer be active if system reboot is successful. Are you sure you want to do this?"))&&(h(),f.system_reboot().then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?"string"==typeof a.data?alert(c("T")("Your current WebUI connection is terminated.")):a.data[0]||alert(a.data[1]):alert(c("T")("Your current WebUI connection is terminated."))}))}}]),angular.module("avx.system").controller("sys_mgmtCtrl",["$scope","$rootScope","$state","$location","sysResourceService",function(a,b,c,d,e){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]),angular.module("avx.system").controller("sys_updateCtrl",["$scope","$rootScope","$state","$filter","$uibModal","sysResourceService","FileUploader","$timeout",function(a,b,c,d,e,f,g,h){var i=this;b.title="System Update",a.allow_config=b.allow_config;var j=function(){var a=e.open({templateUrl:"app/modules/common/templates/progress_with_value.html",controller:"showProgressCtrlWithValue",controllerAs:"progress",backdrop:!1});a.result.then(function(){l.cancelAll(),l.clearQueue(),document.getElementById("textfield").value="",document.getElementById("uploadfield").value=""})},k=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},l=i.image_uploader=new g({queueLimit:1,url:"/upload",autoUpload:!0,removeAfterUpload:!0});l.onBeforeUploadItem=function(a){j()},l.onSuccessItem=function(a,c,d,e){c.error||(i.local=c.files[0].url,h(function(){b.$broadcast("endLoading",!0)},500))},l.onProgressItem=function(a,c){b.$broadcast("upLoading",c)},i.click_local_image=function(){i.choose_url_image=!1,i.choose_local_image=!0},i.click_url_image=function(){i.choose_url_image=!0,i.choose_local_image=!1},i.get_sys_version=function(){f.get_sys_version().then(function(a){a&&200===a.status&&(i.current_version=a.data.build.split(" build")[0])})},i.save=function(){var a="";if(a=i.choose_url_image?d("T")("It may take a long time to download the upgrade package. This WebUI session will no longer be active if system update is successful. Are you sure you want to do this?"):d("T")("This WebUI session will no longer be active if system update is successful. Are you sure you want to do this?"),confirm(a)){k();var c={option:i.option};i.choose_url_image?c.using={url:i.image_url}:(console.log(i.local),c.using={local:i.local}),f.system_update(c).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){if("string"==typeof a.data)alert(d("T")("Your current WebUI connection is terminated."));else if(!a.data[0]){var c=a.data[1];c.indexOf("to confirm upgrade:")!=-1&&(c=c.split("to confirm upgrade:")[1]),alert(c)}}else alert(d("T")("Your current WebUI connection is terminated."))})}},i.get_sys_version()}]),angular.module("avx.system").controller("user_mgmtCtrl",["$scope","$rootScope","$state","$uibModal","sysResourceService","$filter","$location","$window",function(a,b,c,d,e,f,g,h){function i(){e.get_user().then(function(b){b&&200===b.status&&(a.user_data=b.data)})}function j(){e.get_aaa_data().then(function(a){a&&200===a.status&&(k.aaa_data=a.data[0])})}var k=this;a.url_contain=function(a){return g.path().indexOf(a)!=-1},b.title="User Management",a.allow_config=b.allow_config,a.onLabel=f("T")("Enable"),a.offLabel=f("T")("Disable"),k.config_hover=f("T")("This mode allows you to make changes to any AVX configuration"),k.enable_hover=f("T")("This mode allow you to use view-only commands and some troubleshooting tools"),k.csrf_token="";var l=h.localStorage.getItem("user_info");k.csrf_token=JSON.parse(l).csrf_token,k.aaa_data={enable:!1,host_ip:"0.0.0.0",port:0,secret:"*****",server_name:"es01"},i(),k.showAddModal=function(){var a=d.open({templateUrl:"app/modules/system/submenu/user_mgmt/user-add.html",controller:"userAddCtrl",controllerAs:"userAdd"});a.result.then(function(){k.refresh()})},k.showAddAaaModal=function(){var a=d.open({templateUrl:"app/modules/system/submenu/user_mgmt/user-add-aaa.html",controller:"userAddAaaCtrl",controllerAs:"userAddAaa"});a.result.then(function(){k.refresh()})},k.showUserEdit=function(a,b,c){var e=d.open({templateUrl:"app/modules/system/submenu/user_mgmt/user-edit.html",controller:"userEditCtrl",controllerAs:"userEdit",resolve:{modalData:{username:a,password:b,level:c}}});e.closed.then(function(){i()})};var m=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};k["delete"]=function(a){m(),e.delete_user(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?k.refresh():alert(a.data[1]):alert("Internal error.")})},k.refresh=function(){a.user_data=[],i()},j(),b.$on("aaaDataUpdated",function(){j()}),k.change_aaa_status=function(a){e.change_aaa_status(a,k.csrf_token).then(function(){j()})},k.clear_aaa_data=function(){m(),e.clear_aaa_data(k.csrf_token).then(function(){b.$broadcast("endLoading",!0),j()})},k.delete_aaa_data=function(){m(),e.delete_aaa_data(k.csrf_token).then(function(){b.$broadcast("endLoading",!0),j()})}}]).controller("userAddCtrl",["$scope","$rootScope","$state","$filter","$uibModalInstance","$uibModal","sysResourceService",function(a,b,c,d,e,f,g){var h=this;h.data={},h.modalClose=function(){e.dismiss()};var i=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.add=function(a){if(a.passwords!=a.passwords2)return alert(d("T")("The passwords you typed do not match.")),!1;i();var c={username:a.username,passwords:a.passwords,level:a.level};g.add_user(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?e.close():alert(a.data[1]):alert("Internal error.")})}}]).controller("userEditCtrl",["$scope","$rootScope","$state","$filter","$uibModalInstance","$uibModal","sysResourceService","modalData",function(a,b,c,d,e,f,g,h){var i=this;i.data={username:h.username,level:h.level,passwords:"",passwords2:""},i.modalClose=function(){e.dismiss()};var j=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};i.save=function(a){if(a.passwords!=a.passwords2)return alert(d("T")("The passwords you typed do not match.")),!1;j();var c={username:a.username,passwords:a.passwords,level:a.level};g.update_user(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?e.close():alert(a.data[1]):alert("Internal error.")})}}]).controller("system_userDetailCtrl",["$scope","$rootScope","$state","$stateParams","$location",function(a,b,c,d,e){c.current.ncyBreadcrumb.label=d.name,b.title=d.name,a.name=d.name,a.url_contain=function(a){return e.path().indexOf(a)!=-1},e.path()=="/system/user_mgmt/detail/"+d.name&&c.go("index.system.user_mgmt.detail.ssh",{name:d.name})}]).controller("system_userDetailSSHCtrl",["$scope","$rootScope","$stateParams","$state","$filter","$uibModal","sysResourceService",function(a,b,c,d,e,f,g){function h(){g.get_user_ssh_key(k).then(function(a){a&&200===a.status&&(a.data.ssh.length>0?j.key=a.data.ssh[0]:j.key={length:"",finger:"",publickey:""})})}function i(){g.get_user_ssh_pwd(k).then(function(a){a&&200===a.status&&(j.data=a.data)})}var j=this,k=c.name;d.current.ncyBreadcrumb.label=c.name,b.title=c.name,a.name=c.name,j.name=k,j.data={sshkeys:!1,password:!0},h(),i();var l=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};j.show_key_AddModal=function(){var a=f.open({templateUrl:"app/modules/system/submenu/user_mgmt/user-ssh-add.html",controller:"userSSHAddCtrl",controllerAs:"userSSHAdd",resolve:{modalData:{name:k}}});a.result.then(function(){j.refresh()})};var l=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};j.delete_key=function(a){l(),g.delete_user_ssh(k).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?j.refresh():alert(e("T")(a.data[1])):403!=a.status&&alert(e("T")("Internal error!"))})},j.refresh=function(){j.key={},h()},j.save=function(a){l();var c={sshkeys:j.data.sshkeys,password:j.data.password};g.update_user_ssh(k,c).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?i():(alert(e("T")(c.data[1])),a.$dirty=!0):403!=c.status&&alert(e("T")("Internal error!"))})},j.cancel=function(){i()}}]).controller("system_userDetailBindCtrl",["$scope","$rootScope","$stateParams","$state","$uibModal","sysResourceService","$filter",function(a,b,c,d,e,f,g){function h(){f.get_user_bind_cert(j).then(function(c){c&&200===c.status&&(i.data=c.data,a.allow_config=b.allow_config,i.data.user_cert.length?(i.showCert=!0,i.certDN=i.data.user_cert[0].subject):i.showCert=!1)})}var i=this,j=c.name;d.current.ncyBreadcrumb.label=c.name,a.name=c.name,i.name=j,a.certDN=g("T")("No data available in the table"),b.title=c.name,a.allow_config=!0,i.data={two_factor:!1},h(),i.certDetail=function(){if(a.certDN!=g("T")("No data available in the table"))return!1;var b=e.open({templateUrl:"app/modules/system/submenu/user_mgmt/user-cert-detail.html",controller:"system_userCertDetail",controllerAs:"certDetail"});b.result.then(function(){i.refresh()})},i.showBindModal=function(){var a=e.open({templateUrl:"app/modules/system/submenu/user_mgmt/user-bind-certificate.html",controller:"system_userDetailBindCertificateCtrl",controllerAs:"userAdd"});a.result.then(function(){i.refresh()})};var k=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};i.save=function(a){k();var c={two_factor:i.data.two_factor};f.update_user_bind(j,c).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?h():(alert(g("T")(c.data[1])),a.$dirty=!0):403!=c.status&&alert(g("T")("Internal error!"))})},i.refresh=function(){h()},i.cancel=function(){h()}}]).controller("system_userCertDetail",["$scope","$rootScope","$stateParams","$state","$uibModalInstance","$uibModal","sysResourceService","$filter",function(a,b,c,d,e,f,g,h){function i(){g.get_user_bind_cert(k).then(function(a){a&&200===a.status&&(j.data={username:k,cert_text:a.data.user_cert[0].cert_text,full_attrs:a.data.user_cert[0].full_attrs,issuer:a.data.user_cert[0].issuer,subject:a.data.user_cert[0].subject,validity_not_after:a.data.user_cert[0].validity_not_after,validity_not_before:a.data.user_cert[0].validity_not_before})})}var j=this,k=c.name;b.title=c.name,i(),j.modalClose=function(){e.dismiss()}}]).controller("system_userDetailBindCertificateCtrl",["$scope","$rootScope","$stateParams","$state","$uibModalInstance","$uibModal","sysResourceService","$filter",function(a,b,c,d,e,f,g,h){function i(){s.IWSASendAvailable(),setTimeout("testCNGBack()",1e3)}function j(a){if(1==a.length&&"errorCode"in a[0])alert(h("T")("Failed to get certificate"));else{m.keycerts_data=[];for(var b=0;b<a.length;b++)"SM2"==a[b].CertType&&"signature"==a[b].KeyUsage.toLowerCase()&&m.keycerts_data.push(a[b]);m.keycerts_data.length?m.keycertDN=m.keycerts_data[0].certDN:(alert(h("T")("There is no signature certificate in ukey.")),m.modalClose())}}function k(a){var b,c=m.keycertDN;m.signCert=null;for(var d=0;d<a.length;d++)if("SM2"==a[d].CertType&&"signature"==a[d].KeyUsage.toLowerCase()&&c==a[d].certDN){b=d,m.signCert=a[d];break}return null==m.signCert?void alert(h("T")("Failed to get the selected certificate")):(p(),void s.IWSASkfGetCertInfoForIndex(b,l))}function l(a){var c={cert_text:a};g.import_user_bind_cert(n,c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?e.close():alert(h("T")(a.data[1])):403!=a.status&&alert(h("T")("Internal error!"))})}var m=this;b.title=c.name;var n=c.name;a.name=n,m.name=n,m.isShow="ture",m.signCert="",m.modalClose=function(){e.dismiss()};var o,p=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},q=navigator.platform.toLowerCase();if(q.indexOf("win")>=0)localPlatform="windows";else{if(!(q.indexOf("linux")>=0||q.indexOf("x11")>=0&&q.indexOf("mac")<0))return void alert(h("T")("This client is not supported. Please try another client."));localPlatform="linux",q.indexOf("x86_64")>=0?linuxType="x86_64":q.indexOf("aarch64")>=0&&(linuxType="aarch64")}var r="LongMai";"LongMai"==r?o="windows"==localPlatform?"mtoken_gm3000.dll":"libgm3000.1.0.so":"GuoXin"==r&&("windows"==localPlatform?alert("GuoXin key do not support windows now."):"aarch64"==linuxType?o="libskf_usb_ms_aarch64_19.1121_no_log.so":"x86_64"==linuxType&&(o="libskf_usb_ms_x86_64_19.1121_no_log.so"));var s=new IWSAgent;s.IWSASetAsyncMode(!0),m.bindCertificate=function(){i()},i(),testCNGBack=function(){s.IWSAGetAvailable()?getCerts():(alert(h("T")("You will be required to install the key plugin. Please refresh the page after installation.")),m.isShow=!1,a.$apply())},getCerts=function(){s.IWSASkfGetCertList(o,j)},m.downLoadCNG=function(){var a,b=navigator.platform.toLowerCase();return a=b.indexOf("win")>=0?"/media/docs/NetSignCNG_v2.2.158.0.exe":"/media/docs/NetSignCNG_for_Linux_ZX_v1.0.49.4.tgz",window.open(a,"_blank"),!1},m.save=function(){s.IWSASkfGetCertList(o,k)}}]).controller("userSSHAddCtrl",["$scope","$rootScope","$state","$filter","$uibModalInstance","$uibModal","sysResourceService","modalData",function(a,b,c,d,e,f,g,h){var i=this;i.modalClose=function(){e.dismiss()};var j=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};i["import"]=function(){j();var a={};a="import_url"==i.way?{using:{import_url:i.url.url}}:{using:{manual:i.manual.manual}},g.import_user_ssh_key(h.name,a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?e.close():alert(d("T")(a.data[1])):403!=a.status&&alert(d("T")("Internal error!"))})}}]).controller("userAddAaaCtrl",["$scope","$rootScope","$state","$filter","$uibModalInstance","$uibModal","sysResourceService","$window",function(a,b,c,d,e,f,g,h){function i(){g.get_aaa_data().then(function(a){a&&200===a.status&&(j.aaa_data.host_ip=a.data[0].host_ip.trim(),j.aaa_data.port=a.data[0].port,j.aaa_data.secret=a.data[0].secret.trim())})}var j=this;j.data={},j.aaa_data={enable:!1,host_ip:"0.0.0.0",port:0,secret:"*****",server_name:"es01"},j.csrf_token="";var k=h.localStorage.getItem("user_info");j.csrf_token=JSON.parse(k).csrf_token,j.secret_confirm="",i(),j.modalClose=function(){e.dismiss()};var l=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};j.add=function(){if(l(),j.aaa_data.secret===j.secret_confirm)var a={host_ip:j.aaa_data.host_ip,
+port:parseInt(j.aaa_data.port,10),secret:j.aaa_data.secret};else var a={host_ip:j.aaa_data.host_ip,port:parseInt(j.aaa_data.port,10)};g.update_aaa_data(a,j.csrf_token).then(function(a){b.$broadcast("endLoading",!0),b.$broadcast("aaaDataUpdated"),a&&200===a.status?(e.close(),j.modalClose()):alert("Internal error.")})}}]),angular.module("avx.system").controller("systemCtrl",["$scope","$rootScope","$state","$location",function(a,b,c,d){b.title="System"}]),angular.module("avx.system").service("sysResourceService",["$q","apiService",function(a,b){function c(){return b.get("/api/avx/system/config_mgmt/UdiskFileConfig/_get_list_data")}function d(){return b.get("/api/avx/system/config_mgmt/UdiskConfig/_get_list_data")}function e(){return b.get("/api/avx/system/HostSettings/_fields")}function f(a){var c="/api/avx/system/HostSettings/_update",d={post_data:JSON.stringify({hostname:a})};return b.post(c,d)}function g(){return b.post("/api/avx/system/HostSettings/_perform?action=Reset&options=%7B%22__pk_list%22%3A%5B%22%22%5D%7D")}function h(){return b.get("/api/avx/system/TimeSettings/_fields")}function i(a,c){var d="/api/avx/system/TimeSettings/_update",e={post_data:JSON.stringify({system_time:a,system_timezone:c})};return b.post(d,e)}function j(){var a="/api/avx/system/TimeSettings/_perform?action=Clear_timezone",c={action:"Clear_timezone",options:JSON.stringify({__pk_list:[]})};return b.post(a,c)}function k(){return b.get("/api/avx/system/NTPSettings/_fields?fields=[%22enable_ntp%22,%20%22ntp_server%22,%20%22ntp_stats%22,%20%22ntp_key%22]")}function l(a){var c="/api/avx/system/NTPSettings/_update",d={post_data:JSON.stringify({enable_ntp:a})};return b.post(c,d)}function m(a){var c="/api/avx/system/NTPServer/_add",d={post_data:JSON.stringify({ip:a.ip,options:a.options,key_id:a.key_id})};return b.post(c,d)}function n(a){var c="/api/avx/system/NTPServer/_delete",d={pk:JSON.stringify({ip:a.ip})};return b.post(c,d)}function o(){return b.get("/api/avx/system/user_mgmt/Administrator/_get_list_data?key="+JSON.stringify(["username","level","passwords"])+"&no_rest="+JSON.stringify(!0))}function p(a){var c="/api/avx/system/user_mgmt/Administrator/_add",d={post_data:JSON.stringify({username:a.username,passwords:a.passwords,level:a.level})};return b.post(c,d)}function q(a){var c="/api/avx/system/user_mgmt/Administrator/_update/username/%22"+a.username+"%22",d={post_data:JSON.stringify({username:a.username,passwords:a.passwords,level:a.level})};return b.post(c,d)}function r(a,c){var d="/api/avx/system/user_mgmt/Administrator/_update/username/%22"+a+"%22",e={post_data:JSON.stringify(c)};return b.post(d,e)}function s(a){var c="/api/avx/system/user_mgmt/Administrator/_delete",d={pk:JSON.stringify({username:a.username})};return b.post(c,d)}function t(a){var c='/api/avx/system/user_mgmt/Administrator/_field_group/username/"'+a+'"?field_group=ssh';return b.get(c)}function u(a){var c='/api/avx/system/user_mgmt/Administrator/_field_group/username/"'+a+'"?field_group=enable';return b.get(c)}function v(a){var c="/api/avx/system/user_mgmt/SSHKey/_delete",d={pk:JSON.stringify({user:[{_asso_idx:0,username:a}]})};return b.post(c,d)}function w(a,c){var d="/api/avx/system/user_mgmt/Administrator/_perform?action=ImportKey";c.__pk_list=[JSON.stringify({username:a})];var e={action:"ImportKey",options:JSON.stringify(c)};return b.post(d,e)}function x(a){var c="/api/avx/system/system_mgmt/SystemUpdate/_perform",d={action:"Update",options:JSON.stringify({option:a.option,using:a.using})};return b.post(c,d)}function y(a){var c="/api/avx/system/system_mgmt/SystemShutdownReboot/_perform",d={action:"Shutdown",options:JSON.stringify({option:a.option})};return b.post(c,d)}function z(a){var c="/api/avx/system/system_mgmt/SystemShutdownReboot/_perform",d={action:"Reboot",options:JSON.stringify({})};return b.post(c,d)}function A(){return b.get("/api/avx/system/system_mgmt/EmailSettings/_fields")}function B(a){var c="/api/avx/system/system_mgmt/EmailSettings/_update",d={post_data:JSON.stringify({from_string:a})};return b.post(c,d)}function C(){return b.get("/api/avx/system/system_mgmt/AlertMail/_fields")}function D(a){var c="/api/avx/system/system_mgmt/AlertMail/_update",d={post_data:JSON.stringify(a)};return b.post(c,d)}function E(){return b.get("/api/avx/system/system_mgmt/ExternalMailServer/_fields")}function F(a){var c="/api/avx/system/system_mgmt/ExternalMailServer/_update",d={post_data:JSON.stringify(a)};return b.post(c,d)}function G(a){var c="/api/avx/system/system_mgmt/ExternalMailServer/_perform?action=UpdateStatus",d={action:"UpdateStatus",options:JSON.stringify({__pk_list:[],value:a})};return b.post(c,d)}function H(){var a="/api/avx/system/system_mgmt/ExternalMailServer/_perform?action=DeleteServer&options=%7B%22__pk_list%22%3A%5B%5D%7D";return b.post(a,{})}function I(){return b.get("/api/avx/system/system_mgmt/ExternalSenderMail/_fields")}function J(a){var c="/api/avx/system/system_mgmt/ExternalSenderMail/_update",d={post_data:JSON.stringify(a)};return b.post(c,d)}function K(){var a="/api/avx/system/system_mgmt/ExternalSenderMail/_perform?action=DeleteEmail&options=%7B%22__pk_list%22%3A%5B%5D%7D";return b.post(a,{})}function L(){return b.get("/api/avx/system/system_mgmt/RelayServer/_get_list_data")}function M(a){var c="/api/avx/system/system_mgmt/RelayServer/_add",d={post_data:JSON.stringify(a)};return b.post(c,d)}function N(a){var c="/api/avx/system/system_mgmt/RelayServer/_perform?action=DeleteHost",d={action:"DeleteHost",options:JSON.stringify({__pk_list:[],hostname:a})};return b.post(c,d)}function O(){var a="/api/avx/system/system_mgmt/RelayServer/_perform?action=ClearServer&options=%7B%22__pk_list%22%3A%5B%5D%7D";return b.post(a,{})}function P(){var a="/api/avx/system/system_mgmt/RelayServer/_perform?action=GetStatus&options=%7B%22__pk_list%22%3A%5B%5D%7D";return b.post(a,{})}function Q(a){var c="/api/avx/system/system_mgmt/RelayServer/_perform",d={action:"UpdateStatus",options:JSON.stringify({__pk_list:[],value:a})};return b.post(c,d)}function R(){return b.get("/api/avx/system/config_mgmt/ViewConfig/_fields?fields=[%22running_config%22]")}function S(){return b.get("/api/avx/system/config_mgmt/ViewConfig/_fields?fields=[%22startup_config%22]")}function T(){return b.get("/api/avx/system/config_mgmt/ViewConfig/_fields?fields=[%22tech%22]")}function U(){var a="/api/avx/system/config_mgmt/LoadConfig/_perform",c={action:"LoadStartupConfig",options:JSON.stringify({})};return b.post(a,c)}function V(a){var c="/api/avx/system/config_mgmt/LoadConfig/_perform",d={servername:a.server_name,username:a.username,passwdscp:a.password,path:a.path,file_passwdscp:a.filePasswd},e={action:"LoadConfigSCP",options:JSON.stringify(d)};return b.post(c,e)}function W(a){var c="/api/avx/system/config_mgmt/LoadConfig/_perform",d={server:a.server_ip,filename:a.fileName,passwd:a.filePasswd},e={action:"LoadConfigTFTP",options:JSON.stringify(d)};return b.post(c,e)}function X(){return b.get("/api/avx/system/config_mgmt/SavedFile/_get_list_data")}function Y(a){var c="/api/avx/system/config_mgmt/LoadConfig/_perform",d={filename:a.split(".")[0]},e={action:"LoadConfigFile",options:JSON.stringify(d)};return b.post(c,e)}function Z(a,c){var d="/api/avx/system/config_mgmt/LoadConfig/_perform",e={file:a.split(".")[0],password:c},f={action:"LoadAllConfigFile",options:JSON.stringify(e)};return b.post(d,f)}function $(a,c){var d="/api/avx/system/config_mgmt/LoadConfig/_perform",e={disk_name:a,file_name:c},f={action:"LoadConfigUdisk",options:JSON.stringify(e)};return b.post(d,f)}function _(a){var c="/api/avx/system/config_mgmt/LoadConfig/_perform",d={local:a},e={action:"LoadRunningConfigLocal",options:JSON.stringify(d)};return b.post(c,e)}function aa(a,c){var d="/api/avx/system/config_mgmt/LoadConfig/_perform",e={local:a,password:c},f={action:"LoadAllConfigLocal",options:JSON.stringify(e)};return b.post(d,f)}function ba(){var a="/api/avx/system/config_mgmt/BackupConfig/_perform",c={action:"BackupStartupConfig",options:JSON.stringify({})};return b.post(a,c)}function ca(a){var c="/api/avx/system/config_mgmt/BackupConfig/_perform",d={server_name:a.server_name,user_name:a.user_name,password:a.password,path:a.path,file_password:a.passwd_file},e={action:"BackupConfigSCP",options:JSON.stringify(d)};return b.post(c,e)}function da(a){var c="/api/avx/system/config_mgmt/BackupConfig/_perform",d={ip:a.server_ip,file:a.file_name,file_password:a.passwd_file},e={action:"BackupConfigTFTP",options:JSON.stringify(d)};return b.post(c,e)}function ea(a){var c="/api/avx/system/config_mgmt/BackupConfig/_perform",d="BackupConfigSavedFile",e={file:a.filename};"all"==a.type&&(e.password=a.password,d="BackupAllConfigSavedFile");var f={action:d,options:JSON.stringify(e)};return b.post(c,f)}function fa(a){var c="/api/avx/system/config_mgmt/BackupConfig/_perform",d={file:a.filename,password:a.password},e={action:"BackupAllConfigSavedFile",options:JSON.stringify(d)};return b.post(c,e)}function ga(a){var c="/api/avx/system/config_mgmt/BackupConfig/_perform",d={disk_name:a.disk_name,file_name:a.file_name},e={action:"BackupConfigUdisk",options:JSON.stringify(d)};return b.post(c,e)}function ha(a,c){var d="/api/avx/system/config_mgmt/SavedFile/_delete",e={name:a,file_type:c},f={pk:JSON.stringify(e)};return b.post(d,f)}function ia(a,b){var c="/localfile/configfile/"+a;return window.open(c)}function ja(){return b.get("/api/avx/system/access_control/AccessControl/_field_group?field_group=webui_settings")}function ka(a){var c="/api/avx/system/access_control/AccessControl/_update",d={post_data:JSON.stringify(a)};return b.post(c,d)}function la(){return b.get("/api/avx/system/access_control/AccessControl/_field_group?field_group=webui_ssl_cert")}function ma(a){var c,d="/api/avx/system/access_control/AccessControl/_perform",e={__pk_list:[""]};c="cert"==a.type?"Import_Cert":"Import_Interca","File"==a.import_way?(e.using={local:{cert:a.local}},void 0!==a.pfx_pass&&(e.using.local.pfx_pass=a.pfx_pass),void 0!==a.passphrase&&(e.using.local.passphrase=a.passphrase)):"URL"==a.import_way?(e.using={online:{url:a.url}},void 0!==a.passphrase&&(e.using.online.passphrase=a.passphrase)):"INPUT"==a.import_way&&(e.using={manual_input:{cert_content:a.input}},void 0!==a.passphrase&&(e.using.manual_input.passphrase=a.passphrase));var f={action:c,options:JSON.stringify(e)};return b.post(d,f)}function na(a){var c,d="/api/avx/system/access_control/AccessControl/_perform";c="cert"==a.type?"Clear_Cert":"Clear_Interca";var e={__pk_list:[""]},f={action:c,options:JSON.stringify(e)};return b.post(d,f)}function oa(){return b.get("/api/avx/system/access_control/AccessControl/_field_group?field_group=xmlrpc_settings")}function pa(a){var c="/api/avx/system/access_control/AccessControl/_update",d={post_data:JSON.stringify(a)};return b.post(c,d)}function qa(){return b.get("/api/avx/system/access_control/AccessControl/_field_group?field_group=restapi_settings")}function ra(a){var c="/api/avx/system/access_control/AccessControl/_update",d={post_data:JSON.stringify(a)};return b.post(c,d)}function sa(){return b.get("/api/avx/system/access_control/AccessControl/_field_group?field_group=ssh_settings")}function ta(a){var c="/api/avx/system/access_control/AccessControl/_update",d={post_data:JSON.stringify(a)};return b.post(c,d)}function ua(){url="/api/avx/system/access_control/AccessControl/_perform?action=Regenerate";var a={action:"Regenerate",options:JSON.stringify({__pk_list:[""]})};return b.post(url,a)}function va(){return b.get("/api/avx/system/access_control/AccessControl/_field_group?field_group=enablemode_settings")}function wa(a){var c="/api/avx/system/access_control/AccessControl/_update",d={post_data:JSON.stringify(a)};return b.post(c,d)}function xa(){return b.get("/api/avx/system/access_control/AccessControl/_field_group?field_group=configmode_settings")}function ya(a){var c="/api/avx/system/access_control/AccessControl/_update",d={post_data:JSON.stringify(a)};return b.post(c,d)}function za(){var a="/api/avx/system/access_control/AccessControl/_perform?action=Reset",c={action:"Reset",options:JSON.stringify({__pk_list:[""]})};return b.post(a,c)}function Aa(a){return a=a||null,a?url="/api/avx/va/instance/VAInstance/_get_list_data?key="+JSON.stringify(a):url="/api/avx/va/instance/VAInstance/_get_list_data",b.get(url)}function Ba(){return b.get("/api/avx/system/system_mgmt/SystemResource/_fields")}function Ca(){return b.get("/sys_resource_occupation")}function Da(a){return a=a||null,a?url="/api/avx/network/interface/TrafficInterface/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/interface/TrafficInterface/_get_list_data",b.get(url)}function Ea(a){return a=a||null,a?url="/api/avx/network/interface/SSL/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/interface/SSL/_get_list_data",b.get(url)}function Fa(){return b.get("/api/avx/system/SystemInfo/_field_group?field_group=status")}function Ga(){return b.get("/api/avx/system/system_mgmt/SystemLicense/_field_group?field_group=sys_license")}function Ha(){return b.get("/api/avx/system/system_mgmt/SystemLicense/_field_group?field_group=apv_license")}function Ia(){return b.get("/api/avx/system/system_mgmt/SystemLicense/_field_group?field_group=ag_license")}function Ja(){return b.get("/api/avx/system/system_mgmt/SystemLicense/_field_group?field_group=apv_demo_license")}function Ka(a){return a=a||null,a?url="/api/avx/system/system_mgmt/VaLicense/_get_list_data?key="+JSON.stringify(a):url="/api/avx/system/system_mgmt/VaLicense/_get_list_data",b.get(url)}function La(a){return a=a||null,a?url="/api/avx/system/system_mgmt/APVLicense/_get_list_data?key="+JSON.stringify(a):url="/api/avx/system/system_mgmt/APVLicense/_get_list_data",b.get(url)}function Ma(a){return b.post("/avx/get_license_status",a)}function Na(a,c,d,e){var f={post_data:JSON.stringify({va:[{va_name:a,_asso_idx:0}],vs:c,user:d,s2s:e})};return b.post("/api/avx/system/system_mgmt/VaLicense/_add",f)}function Oa(a){var c=[{va:[{_asso_idx:0,va_name:a}]}],d={pk:JSON.stringify(c)};return b.post("/api/avx/system/system_mgmt/VaLicense/_delete2",d)}function Pa(a){return b.get('/api/avx/system/system_mgmt/VaLicense/_get_asso_list_data?initial_filter=%7B"va"%3A%5B%7B"va_name"%3A"'+a+'"%2C"_asso_idx"%3A0%7D%5D%7D')}function Qa(a,c,d,e){var f="/api/avx/system/system_mgmt/VaLicense/_update/va/%5B%7B%22va_name%22%3A%20%22"+a+"%22%2C%20%22_asso_idx%22%3A%200%7D%5D",g={post_data:JSON.stringify({vs:c,user:d,s2s:e})};return b.post(f,g)}function Ra(a){var c="/api/avx/system/system_mgmt/SystemLicense/_update",d={post_data:JSON.stringify({license_key:a})};return b.post(c,d)}function Sa(a,c,d){var e="/api/avx/va/instance/ImportVALicense/_perform",f={action:"Import",options:JSON.stringify({va_name:a,license:c,type:d})};return b.post(e,f)}function Ta(a){var c="/api/avx/system/system_mgmt/SystemLicense/_update",d={post_data:JSON.stringify({apv_license_key:a})};return b.post(c,d)}function Ua(a){var c="/api/avx/system/system_mgmt/SystemLicense/_update",d={post_data:JSON.stringify({ag_license_key:a})};return b.post(c,d)}function Va(a){var c="/lic_requset_file/generate",d={post_data:JSON.stringify({license_capacity:a})};return b.post(c,d)}function Wa(a,c,d,e,f,g){var h="/lic_requset_file/generate",i={post_data:JSON.stringify({current_va_name:a,licensed_vs:c,licensed_user:d,licensed_s2s:e,licensed_vxag:f,va_size:g})};return b.post(h,i)}function Xa(a){var c="/lic_requset_file/generate",d={post_data:JSON.stringify({licensed_vapv:a})};return b.post(c,d)}function Ya(a,c,d,e){var f="/lic_requset_file/generate",g={post_data:JSON.stringify({licensed_vs:a,licensed_user:c,licensed_s2s:d,licensed_vxag:e})};return b.post(f,g)}function Za(a){return b.post("/api/avx/system/config_mgmt/ClearConfiguration/_perform?action=Clear",a)}function $a(a){return b.post("/api/avx/system/system_mgmt/VaLicenseAssign/_perform?action=Unassign",a)}function _a(a){return b.post("/api/avx/system/system_mgmt/VaLicenseAssign/_perform?action=Assign",a)}function ab(a,c){var d="/api/avx/system/user_mgmt/Administrator/_update/username/%22"+a+"%22",e={post_data:JSON.stringify(c)};return b.post(d,e)}function bb(a){var c='/api/avx/system/user_mgmt/Administrator/_field_group/username/"'+a+'"?field_group=twofactor';return b.get(c)}function cb(a,c){var d="/api/avx/system/user_mgmt/Administrator/_perform?action=ImportCert";c.__pk_list=[JSON.stringify({username:a})];var e={action:"ImportCert",options:JSON.stringify(c)};return b.post(d,e)}function db(){return b.get("/api/avx/system/system_mgmt/SystemLicense/_field_group?field_group=netiag_license")}function eb(){return b.get("/api/avx/system/system_mgmt/SystemLicense/_field_group?field_group=netgate_license")}function fb(a){var c="/api/avx/system/system_mgmt/SystemLicense/_update",d={post_data:JSON.stringify({netiag_license_key:a})};return b.post(c,d)}function gb(a){var c="/api/avx/system/system_mgmt/SystemLicense/_update",d={post_data:JSON.stringify({netgate_license_key:a})};return b.post(c,d)}function hb(a,c,d,e){var f="/lic_requset_file/generate",g={post_data:JSON.stringify({licensed_vs:a,licensed_user:c,licensed_s2s:d,licensed_vnetiag:e})};return b.post(f,g)}function ib(a,c,d,e){var f="/lic_requset_file/generate",g={post_data:JSON.stringify({licensed_vs:a,licensed_user:c,licensed_s2s:d,licensed_vnetgate:e})};return b.post(f,g)}function jb(a){return a=a||null,a?url="/api/avx/system/system_mgmt/NetgateVaLicense/_get_list_data?key="+JSON.stringify(a):url="/api/avx/system/system_mgmt/NetgateVaLicense/_get_list_data",b.get(url)}function kb(a){return b.get('/api/avx/system/system_mgmt/NetiagVaLicense/_get_asso_list_data?initial_filter=%7B"va"%3A%5B%7B"va_name"%3A"'+a+'"%2C"_asso_idx"%3A0%7D%5D%7D')}function lb(a){return b.get('/api/avx/system/system_mgmt/NetgateVaLicense/_get_asso_list_data?initial_filter=%7B"va"%3A%5B%7B"va_name"%3A"'+a+'"%2C"_asso_idx"%3A0%7D%5D%7D')}function mb(){return b.get("/api/avx/system/user_mgmt/AAASettings/_get_list_data")}function nb(a,c){var d={action:"Enable",options:JSON.stringify({enable:a?1:0}),csrfmiddlewaretoken:c},e="/api/avx/system/user_mgmt/AAASettings/_perform";return b.post(e,d)}function ob(a,c){console.log(a,c);var d={action:"Update",options:JSON.stringify(a),csrfmiddlewaretoken:c},e="/api/avx/system/user_mgmt/AAASettings/_perform";return b.post(e,d)}function pb(a){var c="/api/avx/system/user_mgmt/AAASettings/_perform",d={action:"Clear",options:JSON.stringify([]),csrfmiddlewaretoken:a};return b.post(c,d)}function qb(a){var c="/api/avx/system/user_mgmt/AAASettings/_delete",d={pk:JSON.stringify({server_name:"es01"}),csrfmiddlewaretoken:a};return b.post(c,d)}function rb(a){var c="/api/avx/system/NTPSettings/_perform?action=Clear_ntp",d={action:"Clear_ntp",options:JSON.stringify([]),csrfmiddlewaretoken:a};return b.post(c,d)}function sb(a){var c="/api/avx/system/NTPKey/_add",d={post_data:JSON.stringify({key_id:a.key_id,auth_key:a.auth_key})};return b.post(c,d)}function tb(a){var c="/api/avx/system/NTPKey/_delete",d={pk:JSON.stringify({key_id:a.key_id})};return b.post(c,d)}function ub(){return b.get("/api/avx/system/NTPSettings/_fields?fields=[%22ntp_key%22]")}return{get_host:e,update_host:f,reset_host:g,get_time:h,update_time:i,clear_timezone:j,get_ntp:k,update_ntp:l,add_ntp_server:m,delete_ntp_server:n,get_user:o,add_user:p,update_user:q,delete_user:s,update_user_ssh:r,get_user_ssh_key:t,get_user_ssh_pwd:u,delete_user_ssh:v,import_user_ssh_key:w,system_update:x,system_shutdown:y,system_reboot:z,get_email:A,update_email:B,get_alert_mail:C,update_alert_mail:D,get_external_mail_server:E,update_external_mail_server:F,update_external_mail_server_status:G,delete_external_mail_server:H,get_external_sender_mail:I,update_external_sender_mail:J,delete_external_sender_mail:K,get_relay_server_list:L,add_relay_server:M,delete_relay_server:N,clear_relay_server:O,get_relay_status:P,update_relay_status:Q,get_config_running:R,get_config_startup:S,get_config_tech:T,load_config:U,load_config_scp:V,load_config_tftp:W,load_config_file:Y,load_config_local:_,backup_config:ba,backup_config_scp:ca,backup_config_tftp:da,backup_config_file:ea,get_saved_config_files:X,delete_config_file:ha,download_config_file:ia,get_webui:ja,update_webui:ka,get_webui_ssl:la,webui_ssl_import:ma,webui_ssl_clear:na,get_xmlrpc:oa,update_xmlrpc:pa,get_restapi:qa,update_restapi:ra,get_ssh:sa,update_ssh:ta,regenerate_ssh_key:ua,get_access_enable:va,update_access_enable:wa,get_access_config:xa,update_access_config:ya,reset_access_config:za,get_va_info:Aa,get_sys_resource:Ba,get_sys_resource_occupation_topN:Ca,get_port_resource:Da,get_ssl_resource:Ea,get_sys_version:Fa,get_sys_license_info:Ga,get_sys_central_license_info:Ha,get_sys_pool_license_info:Ia,get_sys_apv_demo_license_info:Ja,get_sys_pool_license_assignment:Ka,get_sys_central_license_assignment:La,assign_sys_pool_license_resource:Na,unassign_sys_pool_license_resource:Oa,get_per_va_sys_pool_license_assignment:Pa,update_per_va_sys_pool_license_assignment:Qa,update_avx_license:Ra,update_va_license:Sa,update_apv_license:Ta,update_avx_pool_license:Ua,generate_avx_license_request_file:Va,generate_va_individual_license_request_file:Wa,generate_apv_central_license_request_file:Xa,generate_avx_pool_license_request_file:Ya,get_license_status:Ma,clear_configuration:Za,unassignVapvLicense:$a,assignVapvLicense:_a,backup_all_config_file:fa,load_all_config_file:Z,load_all_config_local:aa,get_udisk_files:c,get_udisk_name:d,load_config_udisk:$,backup_config_udisk:ga,update_user_bind:ab,get_user_bind_cert:bb,import_user_bind_cert:cb,get_netiag_license_info:db,get_netgate_license_info:eb,update_netiag_license:fb,update_netgate_license:gb,generate_netiag_license_request_file:hb,generate_netgate_license_request_file:ib,get_netgate_sys_pool_license_assignment:jb,get_per_va_netiag_pool_license_assignment:kb,get_per_va_netgate_pool_license_assignment:lb,get_aaa_data:mb,change_aaa_status:nb,update_aaa_data:ob,clear_aaa_data:pb,delete_aaa_data:qb,clean_all_ntp:rb,add_ntp_key:sb,delete_ntp_key:tb,get_ntp_key:ub}}]),angular.module("avx.topology").controller("logicCtrl",["$scope","$rootScope","$filter","$window",function(a,b,c,d){b.title="Physical Topology",a.$on("$locationChangeStart",function(a,b,d){if(ArrayNode.graph&&ArrayNode.graph.edit_enable){var e=confirm(c("T")("Unsaved changes will be lost if you leave the current page."));e?ArrayNode.graph.edit_enable=!1:a.preventDefault()}}),a.$on("$stateChangeStart",function(a,b,d){if(ArrayNode.graph&&ArrayNode.graph.edit_enable){var e=confirm(c("T")("Unsaved changes will be lost if you leave the current page."));e?ArrayNode.graph.edit_enable=!1:a.preventDefault()}}),d.onbeforeunload=function(){if(ArrayNode.graph&&ArrayNode.graph.edit_enable)return c("T")("Unsaved changes will be lost if you refresh the current page.")}}]).controller("logicPortCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","logicService","port_name","va_name","$filter","vaTableService",function(a,b,c,d,e,f,g,h,i,j){var k=this;k.tab=1,k.changePort=[],k.readyRenderPort=function(){return!!(k.avxModel&&k.changePort&&k.showVAINStancePort&&k.vaPortLen&&k.vaPortVFSum)},j.querySystemInfo().then(function(a){if(a&&200===a.status)if(a.data.state)for(var b=a.data.data.domain,c=g.split("port")[1],d=0;d<b.length;d++){for(var e=!1,f=b[d].port.length-1;f>=0;f--)if(c==b[d].port[f].id){k.vaPortVFSum=parseInt(b[d].port[f].vf_sum),e=!0;break}if(e)break}else alert(i("T")("Internal server error."));else alert(i("T")("Internal server error."))}),k.avxModel={port_name:g},f.getPortVF(g).then(function(a){a.data[0]?(k.showVAINStancePort=a.data[1],k.vaPortLen=a.data[2]):alert(a.data[1])}),k.modalClose=function(){e.dismiss()},k.createVAPort=function(){if(!k.changePort)return void alert("No VF selected.");var a={post_data:{}},b=k.changePort[0].split("_")[1],c={va:[{va_name:h,_asso_idx:0}],vf_index:parseInt(b),port_name:[{interface_name:g,_asso_idx:0}]};a.post_data=JSON.stringify(c),f.bindPortVF(a).then(function(a){a.data[0]?(e.close({state:!0,vf:parseInt(b)}),console.log(a)):a.data[1].indexOf("The VA has been running")!=-1?alert(i("T")("The VA is running.")):alert(a.data[1])})},k.saveChange=function(){k.createVAPort()}}]).controller("logicVaVsCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","logicService","vs_name","va_name","$filter",function(a,b,c,d,e,f,g,h,i){var j=this;j.number=1,j.tag=0,j.modalClose=function(){e.dismiss()},j.bindvavsw=function(){var a={post_data:JSON.stringify({vs_name:[{name:g,_asso_idx:0}],va:[{va_name:h,_asso_idx:0}],vport:j.vport,tag:j.tag,number:j.number})};f.bindVAVSwitch(a).then(function(a){a.data[0]?(e.close({state:!0,vport:j.vport,vlan:j.tag,queues:j.number}),console.log(a)):a.data[1].indexOf("The VA has been running")!=-1?alert(i("T")("The VA is running.")):alert(a.data[1])})},j.saveChange=function(){j.bindvavsw()}}]).controller("vswitchAddCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","logicService",function(a,b,c,d,e,f){var g=this;g.modalClose=function(){e.dismiss()},g.createVSwitch=function(){var a={post_data:JSON.stringify({name:g.name})};f.addVSwitch(a).then(function(a){a.data[0]?(e.close({state:!0,name:g.name}),console.log(a)):alert(a.data[1])})},g.saveChange=function(){g.createVSwitch()}}]).controller("logicDetailPageCtrl",["$scope","$rootScope","$state","$stateParams","$filter","$uibModal","$uibModalInstance","logicService","vaTableService","netResourceService","modalData",function(a,b,c,d,e,f,g,h,i,j,k){function l(){n.connet_status=404,h.testConnection({from:o.from,to:o.to}).then(function(a){n.connet_status=a.data[0],n.connet_status_msg=a.data[1]})}function m(a){var b=null;"to"==a?(n.to_status=404,b=o.to):(n.from_status=404,b=o.from),h.getVAinterface(b).then(function(b){"to"==a?(n.to_status=b.data[0],1==b.data[0]&&(n.to_interface_list=b.data[1])):(n.from_status=b.data[0],1==b.data[0]&&(n.from_interface_list=b.data[1])),b.data[0]==-1&&alert(b.data[1])})}var n=this;n.type=k.type;var o=JSON.parse(k.data);if(o?n.edit_enable=o.edit_enable:n.edit_enable=!1,n.modalClose=function(){g.dismiss()},"conn_line"==k.type){var o=JSON.parse(k.data);n.info=[{name:e("T")("From"),value:o.from},{name:e("T")("To"),value:o.to}],"port_to_va"==o.data.type?n.info.push({name:e("T")("VF"),value:o.data.vf}):"switch_to_va"==o.data.type?(n.info.push({name:e("T")("Virtual Port"),value:o.data.vport}),n.info.push({name:e("T")("VLAN"),value:o.data.vlan}),n.info.push({name:e("T")("Queues"),value:o.data.queues})):"port_to_swtich"==o.data.type,n["delete"]=function(){var a=confirm(e("T")("Are you sure you want to delete the connection?"));a&&"graph"==o._src_&&ArrayNode.delete_by_id(ArrayNode.graph,o.id,function(){g.dismiss()})}}else if("app"==k.type||"va_ready"==k.type){n.loading_portMapping=!0;var p=function(){i.getPerVAPortMapping(o.name).then(function(a){a&&200===a.status&&(n.loading_portMapping=!1,n.portMappingData=a.data)})};p(),"app"==k.type&&(n.deleteva=function(){var a=confirm(e("T")("Are you sure you want to delete the VA instance?"));a&&("graph"==o._src_&&ArrayNode.graph.getElement(o.id)["delete"](ArrayNode.graph),g.dismiss())}),"va_ready"==k.type&&(n.deleteva=function(){var a=confirm(e("T")("This will delete the node from the service topology only, but will not delete the associated VA instance. Are you sure you want to delete the node?"));a&&("graph"==o._src_&&ArrayNode.graph.getElement(o.id).delete_graph_only(ArrayNode.graph),g.dismiss())},n.port_delete=function(a){var b=confirm(e("T")("Are you sure to perform the deletion?"));if(b){var c=a.resource.split(".");if(c[1].indexOf("vport")!=-1){var d={va:[{_asso_idx:0,va_name:o.name}],vport:c[1],vs_name:[{_asso_idx:0,name:c[0]}]},f={pk:JSON.stringify(d)};n.loading_portMapping=!0,j.delete_vswitch_instance(f).then(function(a){n.loading_portMapping=!1,a&&200===a.status?"None"!=a.data?"The VA has been running."===a.data[1]?alert(e("T")("The VA has been running.")):"System error occurred."===a.data[1]?alert(e("T")("System error occurred.")):alert(a.data[1]):p():alert(e("T")("Failed to detach the VA instance from the virtual switch."))})}else{var g=[{port_name:[{_asso_idx:0,interface_name:c[0]}],va:[{_asso_idx:0,va_name:o.name}],vf_index:parseInt(c[1])}],h={pk:JSON.stringify(g)};n.loading_portMapping=!0,j.unbind_port_vf_from_va(h).then(function(a){n.loading_portMapping=!1,a&&200===a.status?a.data[0]===!1?a.data[1].indexOf("The VA has been running")!=-1&&alert(e("T")("The VA has been running.")):p():alert(e("T")("Failed to unassign the VF from the VA instance."))})}}},n.shownetworkAddModal=function(){if(n.info.status==e("T")("Running"))return void alert(e("T")("VA: {0} has been running, can not change resource allocation. Please shutdown it first.",[o.name]));var a=f.open({templateUrl:"app/modules/topology/va-network-config.html",controller:"vaNetConfigCtrl",controllerAs:"vaCtrl",resolve:{data:function(){return{va_name:o.name,va_size:n.info.va_size}}}});a.result.then(function(a){n.loading_portMapping=!0,p()})}),n.showVAImageInfo=function(a){f.open({templateUrl:"app/modules/va/per_va_image_info.html",controller:"imageInfoViewCtrl",controllerAs:"imageInfo",size:"lg",resolve:{modalData:{image:a}}})},n.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},n.perVAStart=function(a){var c=confirm(e("T")("Are you sure you want to start the VA instance?"));c&&(n.showProgressBar(),RequestData={post_data:JSON.stringify({status:!0})},i.updateVAInstance(RequestData,a).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?n.modalClose():alert(c.data[1]):alert(e("T")("Failed to start the VA instance: ")+a)}))},n.perVAShutoff=function(a){var c=confirm(e("T")("Are you sure you want to shut down the VA instance?"));c&&(n.showProgressBar(),RequestData={post_data:JSON.stringify({status:!1})},i.updateVAInstance(RequestData,a).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?n.modalClose():alert(c.data[1]):alert(e("T")("Failed to shut down the VA instance: "+a))}))},n.connectVNC=function(a,b,c){"Shutoff"==c?alert(e("T")("Please start this VA instance first.")):b?(requestData={va_instance:a,va_vncport:b},i.connectVNC(requestData).then(function(c){if(c&&200===c.status)if(c.data.state){var d=c.data.data;window.open("/avx/va/vnc_html/"+a+"/"+b+"/"+d,"_blank")}else alert(c.data.data);else alert(e("T")("Failed to establish the VNC connection with the VA instance: "+a))})):alert(e("T")("The VA instance does not support VNC."))},n.perVADelete=function(){var a=confirm(e("T")("Are you sure you want to delete the VA instance?"));a&&"graph"==o._src_&&ArrayNode.delete_by_id(ArrayNode.graph,o.id,function(){g.dismiss()})};var o=JSON.parse(k.data);a.current_va_name=o.name,a.current_widget_name="network_throughput",h.getVAinfo(o.name).then(function(b){b.data[0]?(n.info=b.data[1],n.info.status?n.info.status=e("T")("Running"):n.info.status=e("T")("Shutoff"),a.current_va_status=n.info.status,a.current_va_vncport=n.info.va_vncport,a.current_va_ip=n.info.ip,a.current_va_product_name=n.info.product_name,a.widgets=[{name:"cpu_usage",icon:"line-chart",verbose_name:"CPU Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["cpu_usage"],from:"snmp_scada_node",where:["origin_id = '"+a.current_va_ip+"'"],time:["now() - 10m"]}]}},{name:"memory_usage",icon:"line-chart",verbose_name:"Memory Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["mem_usage"],from:"snmp_scada_node",where:["origin_id = '"+a.current_va_ip+"'"],time:["now() - 10m"]}]}}],"vNETSIGN"==a.current_va_product_name?a.widgets.push({name:"disk_usage",icon:"line-chart",verbose_name:"Disk Usage (%)",cls:"LineGraphWidget",args:{params:{
+flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["used_disk*100/(used_disk + free_disk)"],from:"snmp_scada_node",where:["origin_id = '"+a.current_va_ip+"'"],time:["now() - 10m"]}]}}):(a.widgets.push({name:"network_throughput",icon:"line-chart",verbose_name:"Network Throughput (Kbps)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["Receive","Send"],xAxis_splitNumber:3,yAxis_splitNumber:1,yAxis_axisLine_show:!1,legend_show:!1,gradient:!0},datasource:[{type:"influxdb",select:["inoctets/1024"],from:"snmp_throughput",where:["label = 'total' and origin_id = '"+a.current_va_ip+"'"],time:["now() - 5m"]},{type:"influxdb",select:["outoctets/1024"],from:"snmp_throughput",where:["label = 'total' and origin_id = '"+a.current_va_ip+"'"],time:["now() - 5m"]}]}}),"vxAG"==a.current_va_product_name||"vNETGATE"==a.current_va_product_name?a.widgets.push({name:"session_num",icon:"line-chart",verbose_name:"Session Number",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["num"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["session_num"],from:"snmp_scada_node",where:["origin_id = '"+a.current_va_ip+"'"],time:["now() - 10m"]}]}}):a.widgets.push({name:"disk_usage",icon:"line-chart",verbose_name:"Disk Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["(used*100)/size"],from:"snmp_storage",where:["origin_id = '"+a.current_va_ip+"'","label = 'total'"],time:["now() - 10m"]}]}})),a.current_va_info_loading=!1):(alert(b.data[1]),g.dismiss())}),a.get_current_widget=function(b){return widget_conf="",_.each(a.widgets,function(a){if(a.name===b)return widget_conf=a,!1}),widget_conf}}else if("va_empty"==k.type){var o=JSON.parse(k.data);a.va_vendor=o.va_vendor,a.product=o.product,a.category=o.category,n.deleteva=function(){var a=confirm(e("T")("Are you sure you want to delete Node {0}?",[o.product]));a&&("graph"==o._src_&&ArrayNode.graph.getElement(o.id).delete_graph_only(ArrayNode.graph),g.dismiss())},n.configva=function(){var a=f.open({templateUrl:"app/modules/topology/va-config.html",controller:"vaConfigCtrl",controllerAs:"vaCtrl",resolve:{type:function(){return{va_vendor:o.va_vendor,product:o.product,category:o.category,icon:o.icon}}}});a.result.then(function(a){ArrayNode.graph.getElement(o.id).name=a.va_name,ArrayNode.graph.getElement(o.id).va_image=a.image,g.dismiss()})}}else if("serviceline"==k.type){var q=!1;o.to&&o.from&&(q=!0),a.is_ready=q,q?(n.from_status=404,n.to_status=404,a.to_name=o.to,a.from_name=o.from,n.connet_status=404,n.connet_status_msg=null,l(),m("from"),m("to"),n.startva=function(a){RequestData={post_data:JSON.stringify({status:!0})},i.updateVAInstance(RequestData,a).then(function(b){b&&200===b.status?b.data[0]?a==o.from?(m("from"),l()):(m("to"),l()):alert(b.data[1]):alert(e("T")("Failed to start the VA instance: ")+a)})},n.check_from_status=function(a){return n.from_status===a},n.check_to_status=function(a){return n.to_status===a},n.test_connect=function(){return l()},a.newfromField=[],a.newtoField=[],n.edit=function(b,c){b?a.newfromField[c]=angular.copy(n.from_interface_list[c]):a.newtoField[c]=angular.copy(n.to_interface_list[c])},n.save=function(a,b){var c="",d="",e="",f="";a?(c=o.from,d=n.from_interface_list[b]["interface"],e=n.from_interface_list[b].ip,f="from",n.from_status=404,console.log(n.from_interface_list[b])):(c=o.to,d=n.to_interface_list[b]["interface"],e=n.to_interface_list[b].ip,f="to",n.to_status=404,console.log(n.to_interface_list[b])),h.updateVAinterface(c,d,e).then(function(a){m(f),l(),a.data[0]||alert(a.data[1])})},n.cancel=function(b,c){b?n.from_interface_list[c]=a.newfromField[c]:n.to_interface_list[c]=a.newtoField[c]}):"ArrayNode.PointNode"!=o.to_type&&"ArrayNode.PointNode"!=o.from_type?a.no_ready_msg=e("T")("The service node is not bound to any VA instance."):a.no_ready_msg=e("T")("Connectivity detection not applicable."),n["delete"]=function(){var a=confirm(e("T")("Are you sure you want to delete the connection?"));a&&("graph"==o._src_&&ArrayNode.graph.getElement(o.id)["delete"](ArrayNode.graph),g.dismiss())}}else if("pointnode"==k.type){var o=JSON.parse(k.data);o.disable_edge_to?a.point_type="Start Point":a.point_type="End Point",n.ip=o.name,n["delete"]=function(){var a=confirm(e("T")("Are you sure you want to delete the node?"));a&&("graph"==o._src_&&ArrayNode.graph.getElement(o.id)["delete"](ArrayNode.graph),g.dismiss())},n.save=function(){ArrayNode.graph.getElement(o.id).name=n.ip,g.dismiss()}}else if("vswitch"==k.type){var r=o.name;n.info=[],h.getVSwitch(r).then(function(a){a.data[0]?n.info.push({name:e("T")("Name"),value:a.data[1].name}):alert(a.data[1])}),n["delete"]=function(){var a=confirm(e("T")("Are you sure you want to delete the virtual switch?"));a&&(ArrayNode.graph.getElement(o.id)["delete"](ArrayNode.graph),g.dismiss())},j.get_vswitch_va_instance().then(function(a){if(a&&200===a.status){n.vswitch_va=[];for(var b=a.data.length-1;b>=0;b--)a.data[b].vs_name==r&&n.vswitch_va.push(a.data[b])}})}else if("port"==k.type){var r=o.name;n.info=[],h.getPort(r).then(function(a){console.log(a),a.data[0]?(n.info.push({name:e("T")("Name"),value:a.data[1].interface_name}),n.info.push({name:e("T")("Physical Name"),value:a.data[1].physical_name}),n.info.push({name:e("T")("MAC"),value:a.data[1].mac}),n.info.push({name:e("T")("MTU"),value:a.data[1].mtu}),n.info.push({name:e("T")("Available"),value:a.data[1].available})):alert(a.data[1])})}}]).controller("vaConfigCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","imageTableService","vaTableService","type","$uibModal",function(a,b,c,d,e,f,g,h,i){var j=this;j.tab=0,j.images=[],j.instances=[],j.tmp_instances=[],j.va_name="",j.va_size="",j.va_domain="",j.va_image="",j.set=function(a){j.tab=a},j.get=function(a){return j.tab===a},j.showAddVAModal=function(){var a=i.open({templateUrl:"app/modules/va/va-add.html",controller:"vaAddCtrl",controllerAs:"vaAdd",resolve:{type:function(){return{va_vendor:h.va_vendor,product:h.product,category:h.category,icon:h.icon,previous:!0}}}});a.result.then(function(a){var b={state:!0,va_name:a.va_name,image:a.image};e.close(b)})},h?(f.filterItems(h).then(function(a){j.images=[].concat(a.data)}),g.loadInstance(["va_name","vendor","product_name","product_category","tgt_name"]).then(function(a){for(var b=[].concat(a.data),c=[],d=0;d<b.length;d++)b[d].vendor==h.va_vendor&&b[d].product_category==h.category&&b[d].product_name==h.product&&ArrayNode.get_va_icon(b[d].tgt_name)==h.icon&&c.push(b[d]);j.instances=c})):(f.loadAllItems().then(function(a){j.images=[].concat(a.data)}),g.loadInstance(["va_name"]).then(function(a){j.instances=[].concat(a.data)})),g.querySystemInfo().then(function(a){if(j.domaonList=[],a&&200===a.status&&a.data.state){var b=a.data.data.domain_num;if(b)for(var c=1;c<=b;c++)j.domaonList.push(c.toString())}}),j.modalClose=function(){e.dismiss()},j.saveSelect=function(){j.vaInstanceAddRespone={state:!0,va_name:j.va_ins},e.close(j.vaInstanceAddRespone)}}]).controller("logicHelpCtrl",["$scope","$rootScope","$uibModalInstance",function(a,b,c){var d=this;a.selectedTab=0,d.setTab=function(b){a.selectedTab=b},d.isTab=function(b){return a.selectedTab==b},d.modalClose=function(){c.dismiss()}}]).controller("vaNetConfigCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$uibModalInstance","imageTableService","vaTableService","netResourceService","data",function(a,b,c,d,e,f,g,h,i,j){var k=this;k.tab=0,k.changePort=[],k.vSwitchList=[],k.passthroughPortNumber=0,k.va_name=j.va_name,k.set=function(a){k.tab=a},k.get=function(a){return k.tab===a},k.showProgressBar=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},k.renderPort=function(){return!!(k.avxModel&&k.changePort&&k.showVAINStancePort&&k.showPerVAINStancePort)},h.querySystemInfo().then(function(a){if(a&&200===a.status)if(a.data.state){for(var b=0,c=[],d=[],e=0;e<a.data.data.domain.length;e++){b+=a.data.data.domain[e].port.length;for(var f=0;f<a.data.data.domain[e].port.length;f++)c.push(parseInt(a.data.data.domain[e].port[f].vf_sum)),d.push(a.data.data.domain[e].port[f].id),0==a.data.data.domain[e].port[f].vf_sum&&k.passthroughPortNumber++}k.avxModel={model:a.data.data.model,port_num:b,each_port_vf_list:c,port_vf_index_list:d},h.showVAPort().then(function(a){if(a&&200===a.status){for(var b=a.data,c=[],d=[],e=0;e<b.length;e++)b[e].vf_index&&(c.push(b[e].port+"_"+b[e].vf_index.toString()),b[e].va_name==k.va_name&&d.push(b[e].port+"_"+b[e].vf_index.toString()));k.showPerVAINStancePort=d,k.showVAINStancePort=c}else k.showPerVAINStancePort=[],k.showVAINStancePort=[]})}else alert($filter("T")("Internal server error."));else k.avxModel={model:"",port_num:"",ssl_card_num:"",ssl_vf_type:[],each_port_vf_list:[],each_ssl_vf_list:[],ssl_vf_index_list:ssl_vf_index_list}}),i.get_virtual_switch().then(function(a){a&&200===a.status?k.vSwitchList=a.data:k.vSwitchList=[]}),k.modalClose=function(){f.dismiss()},"shared-entry"===j.va_size?(k.number="1",k.numberList=["1"]):"entry"===j.va_size?(k.number="1",k.numberList=["1"]):"small"===j.va_size?(k.number="1",k.numberList=["1","2"]):"medium"===j.va_size?(k.number="1",k.numberList=["1","2","3","4"]):"large"===j.va_size&&(k.number="1",k.numberList=["1","2","3","4","5","6","7","8"]),k.savePort=function(){k.showProgressBar();for(var a={post_data:{va_port:[]}},c=0;c<k.changePort.length;c++){port=k.changePort[c].split("_")[0],vf_index=k.changePort[c].split("_")[1];var d={va:[],vf_index:parseInt(vf_index),_asso_idx:0,port_name:[{interface_name:port,_asso_idx:0}]};a.post_data.va_port.push(d)}a.post_data=JSON.stringify(a.post_data),h.updateVAInstance(a,k.va_name).then(function(a){a&&200===a.status?a.data[0]?(b.$broadcast("endLoading",!0),f.close(!0)):(b.$broadcast("endLoading",!0),alert(a.data[1])):(b.$broadcast("endLoading",!0),alert($filter("T")("Failed to assign traffic interface for VA: {0}",[k.va_name])))})},k.saveSwitch=function(){k.showProgressBar();var a={vs_name:[{_asso_idx:0,name:k.vs_name}],va:k.va_name,vport:k.vport,tag:k.tag.toString(),number:k.number.toString()},c={post_data:JSON.stringify(a)};i.vswitch_bind_va_instance(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?a.data[2][0]?alert(a.data[2][0][1]):f.close(!0):alert(a.data[1]):alert($filter("T")("Failed to attach the VA instance to the virtual switch."))})}}]),AVAILABLE="./app/images/resource-assign-available.png",OCCUPIED="./app/images/resource-assign-occupied.png",SELECTED="./app/images/resource-assign-selected.png",angular.module("avx.topology").directive("logicviewHandler",["$uibModal","$aside","$state","netResourceService","$filter","logicService","$rootScope","sysResourceService",function(a,b,c,d,e,f,g,h){return function(c,i,j){$("#content").bind("create_app",function(b,c,d){var e=a.open({templateUrl:"app/modules/va/va-add.html",controller:"vaAddCtrl",controllerAs:"vaAdd",resolve:{type:function(){return c}}});e.result.then(function(a){d(a.state,a)})}),$("#content").bind("create_vswitch",function(b,c,d){var e=a.open({templateUrl:"app/modules/topology/vsw-add.html",controller:"vswitchAddCtrl",controllerAs:"vaAdd"});e.result.then(function(a){d(a.state,a)})}),$("#content").bind("createline_port_va",function(b,c,i){var j=function(){a.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},k=function(){var a=confirm(e("T")("Are you sure to bind the passthrough port to the VA instance?"));if(a){j();var b={post_data:{}},d={va:[{va_name:c.va_name,_asso_idx:0}],vf_index:0,port_name:[{interface_name:c.port_name,_asso_idx:0}]};b.post_data=JSON.stringify(d),f.bindPortVF(b).then(function(a){g.$broadcast("endLoading",!0),a&&200===a.status&&(a.data[0]?i(!0,{state:!0,vf:0}):a.data[1].indexOf("The VA has been running")!=-1?alert(e("T")("The VA is running.")):alert(a.data[1]))})}};d.get_work_mode(c.port_name).then(function(b){b&&200===b.status&&(b.data[0].passthrough_enable?k():h.get_port_resource(["interface_name","model"]).then(function(b){if(b&&200===b.status){for(var d=!1,e=b.data.length-1;e>=0;e--)if(b.data[e].interface_name==c.port_name){b.data[e].model.indexOf("1G")>-1&&(d=!0,k());break}if(!d){var f=a.open({templateUrl:"app/modules/topology/port-bind.html",controller:"logicPortCtrl",controllerAs:"vaAdd",resolve:{port_name:function(){return c.port_name},va_name:function(){return c.va_name}}});f.result.then(function(a){i(a.state,a)})}}}))})}),$("#content").bind("createline_va_vs",function(b,c,d){var e=a.open({templateUrl:"app/modules/topology/va-vsw-bind.html",controller:"logicVaVsCtrl",controllerAs:"vaAdd",resolve:{vs_name:function(){return c.vs_name},va_name:function(){return c.va_name}}});e.result.then(function(a){d(a.state,a)})}),$("#content").bind("show_detail",function(a,c){if(c.type){if("app"==c.type||"va_ready"==c.type)var d="app/modules/topology/detail/va_ready.html";else var d="app/modules/topology/detail/"+c.type+".html";b.open({templateUrl:d,controller:"logicDetailPageCtrl",controllerAs:"logicDetail",placement:"right",size:"sm chan-detail",resolve:{modalData:c}})}}),$("#content").bind("show_help",function(b,c){a.open({templateUrl:"app/modules/topology/chain-help.html",controller:"logicHelpCtrl",controllerAs:"logicHelpCtrl"})})}}]).directive("logicPort",["$filter",function(a){return{restrict:"EA",scope:{model:"=avxModel",change:"=changePort",display:"=displayPort",portlen:"=vaPortlen",portvfsum:"=vaPortvfsum"},link:function(b,c,d,e){function f(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return c;return-1}function g(a){for(var c="available",d="pointer",e=AVAILABLE,f=0;f<b.display.length;f++)if(a.port_name==b.display[f]){e=OCCUPIED,d="not-allowed",c="occupied";break}if(b.change&&b.change.length)for(var f=b.change.length-1;f>=0;f--)b.change[f]==a.port_name&&(e=SELECTED,c="selected");fabric.Image.fromURL(e,function(b){o.add(b.set({top:a.top,left:a.left,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,name:a.port_name,hoverCursor:d,status:c}))})}function h(a){16==j&&(m.width=1046);var b=new fabric.Rect(m);o.add(b);for(var c=0;c<=j-1;c++)g({top:10,left:35+65*c,port_name:a+"_"+(c+1).toString()})}function i(a,b,c,d){var e=arguments[4]?arguments[4]:1;fabric.Image.fromURL(c,function(c){o.add(c.set({top:a,left:b,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,vented:!1,opacity:e}))});var f;f=/^[\u4e00-\u9fa5]+$/.test(d)?b+4:b-2;var g=new fabric.Text("",{fill:"#000000",fontSize:13,fontFamily:"Open Sans",text:d,top:a+35,left:f,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1});o.add(g)}var j=b.portvfsum,k=150,l=566;16==j&&(l=1046),c[0].width=l,c[0].height=k;var m={left:0,top:4,width:566,height:44,fill:"#e9e9e9",hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1};fabric.Object.prototype.set({transparentCorners:!1,cornerColor:"rgba(102,153,255,0.5)",padding:5,cornerSize:15,hoverCursor:"pointer",selection:!1});var n={fill:"#000000",fontSize:13,fontFamily:"Open Sans",hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1},o=(new fabric.Text("",n),new fabric.Text("",n),window._canvas=new fabric.Canvas(c[0])),p=!1;o.on({"mouse:down":function(a){if(a.target)if("available"==a.target.status){if(b.change.length+b.portlen==20)return void(p=!0);a.target.setSrc(SELECTED),a.target.status="selected",o.renderAll(),b.change.push(a.target.name)}else if("selected"==a.target.status){a.target.setSrc(AVAILABLE),a.target.status="available",o.renderAll();var c=f(a.target.name,b.change);c>-1&&b.change.splice(c,1)}},"mouse:up":function(b){p&&(p=!1,alert(a("T")("Number of port VFs assigned to a VA instance should not exceed 20."))),o.renderAll()}}),h(b.model.port_name),i(70,360,AVAILABLE,a("T")("Available")),i(70,425,SELECTED,a("T")("Selected")),i(70,490,OCCUPIED,a("T")("Occupied"))}}}]),angular.module("avx.topology").factory("logicService",["$q","$filter","$http","apiService",function(a,b,c,d){return{getPortVF:function(b){var c=a.defer();return d.get("/api/avx/va/instance/ShowVAPort/_get_list_data").then(function(a){if(a&&200===a.status)if("string"==typeof a.data)a.data=[!1,"Internal server error."];else{for(var d=a.data,e=[],f=d.length,g=0;g<f;g++)d[g].port==b&&e.push(d[g].port+"_"+d[g].vf_index.toString());a.data=[!0,e,f]}else a.data=[!1,"Internal server error."];c.resolve(a)}),c.promise},bindPortVF:function(b){var c=a.defer();return d.post("/api/avx/network/interface/PortVF/_add",b).then(function(a){a&&200===a.status?"string"==typeof a.data&&(a.data=[!1,"Internal server error."]):a.data=[!1,"Internal server error."],c.resolve(a)}),c.promise},addVSwitch:function(b){var c=a.defer();return d.post("/api/avx/network/vswitch/VirtualSwitch/_add",b).then(function(a){a&&200===a.status?"string"==typeof a.data&&(a.data=[!1,"Internal server error."]):a.data=[!1,"Internal server error."],c.resolve(a)}),c.promise},bindVAVSwitch:function(b){var c=a.defer();return d.post("/api/avx/network/vswitch/VirtualSwitchVA/_add",b).then(function(a){a&&200===a.status?"string"==typeof a.data&&(a.data=[!1,"Internal server error."]):a.data=[!1,"Internal server error."],c.resolve(a)}),c.promise},getVAinfo:function(c){var e=a.defer();return d.get("/api/avx/va/instance/VAInstance/_field_group/va_name/%22"+c+"%22?field_group=default").then(function(a){a&&200===a.status?"string"==typeof a.data?a.data.indexOf("404 - Page not found")!=-1?a.data=[!1,b("T")("The information of VA {0} cannot be found! It may have been deleted.",[c])]:a.data=[!1,"Internal server error."]:a.data=[!0,a.data]:a.data=[!1,"Internal server error."],e.resolve(a)}),e.promise},getVAinterface:function(c){var e=a.defer();return d.get("/avx/getvainterface/"+c).then(function(a){a&&200===a.status?"string"==typeof a.data&&(a.data.indexOf("404 - Page not found")!=-1?a.data=[-1,b("T")("The information of VA {0} cannot be found! It may have been deleted.",[c])]:a.data=[-1,"Internal server error."]):a.data=[-1,"Internal server error."],e.resolve(a)}),e.promise},updateVAinterface:function(b,c,e){var f=a.defer(),g={port:c,ip:e};return d.post("/avx/setvainterface/"+b,g).then(function(a){a&&200===a.status?"string"==typeof a.data&&(a.data=[!1,"Internal server error."]):a.data=[!1,"Internal server error."],f.resolve(a)}),f.promise},testConnection:function(c){var e=a.defer();return d.get("/avx/testconnection/"+c.from+"/"+c.to).then(function(a){a&&200===a.status?"string"==typeof a.data&&(a.data.indexOf("404 - Page not found")!=-1?a.data=[-1,b("T")("The information of VA {0} cannot be found! It may have been deleted.",[name])]:a.data=[-1,"Internal server error."]):a.data=[-1,"Internal server error."],e.resolve(a)}),e.promise},getVSwitch:function(b){var c=a.defer(),e="/api/avx/network/vswitch/VirtualSwitch/_field_group/name/%22"+b+"%22?field_group=default";return d.get(e).then(function(a){a&&200===a.status?"string"==typeof a.data?a.data=[!1,"Internal server error."]:a.data=[!0,a.data]:a.data=[!1,"Internal server error."],c.resolve(a)}),c.promise},getPort:function(b){var c=a.defer(),e="/api/avx/network/interface/TrafficInterface/_field_group/interface_name/%22"+b+"%22?field_group=default";return d.get(e).then(function(a){a&&200===a.status?"string"==typeof a.data?a.data=[!1,"Internal server error."]:a.data=[!0,a.data]:a.data=[!1,"Internal server error."],c.resolve(a)}),c.promise}}}]),angular.module("avx.va_image").controller("udiskCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","imageTableService","$filter",function(a,b,c,d,e,f,g,h){var i=this;i.file="",i.disk="",i.device_name="",i.path="",i.has_file="loading",i.last_select_dom="",a.toggle=function(a){a.toggle()},g.get_udisk_file().then(function(b){if(b&&200===b.status){var c=b.data;c.state?c.data.length>0?(i.has_file=!0,i.device_name=c.device_name,a.list=c.data):i.has_file=!1:(alert(h("T")("No USB devices detected. Please make sure the USB device has been connected.")),e.dismiss())}else alert(h("T")("Internal server error."))}),i.choose_file=function(a,b,c,d){i.file=a,i.path=b,i.disk=c,i.last_select_dom&&$(i.last_select_dom.target).removeClass("choose-item"),$(d.target).addClass("choose-item"),i.last_select_dom=d},i.confirm=function(){var a={disk:i.disk,path:i.path,name:i.file};e.close(JSON.stringify(a))},i.modalClose=function(){e.dismiss()}}]),angular.module("avx.va_image").controller("imageController",["$scope","$rootScope","$state","$location",function(a,b,c,d){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]).controller("imageTableController",["$scope","$rootScope","$state","$stateParams","$uibModal","imageTableService","$filter",function(a,b,c,d,e,f,g){b.title="VA Image",a.allow_config=b.allow_config;var h=this;h.tableData=[],h.showImageAddModal=function(){f.get_image_number().then(function(a){if(a&&200===a.status){var b=a.data;if(b[0].number<16){var c=e.open({templateUrl:"app/modules/va_image/va_image-add.html",controller:"imageAddCtrl",controllerAs:"imageAdd",resolve:{}});c.result.then(function(a){a&&h.refresh()})}else alert(g("T")("Cannot store more than 16 VA images! Please delete existing image(s) to release storage."))}})},h.showVAAddModal=function(a){e.open({templateUrl:"app/modules/va/va-add.html",controller:"vaAddCtrl",controllerAs:"vaAdd",resolve:{type:function(){return a}}})},h.showImageDetailInfo=function(a){var b=e.open({templateUrl:"app/modules/va_image/image_detail_info.html",controller:"imageDetailViewCtrl",controllerAs:"imageDetail",size:"lg",resolve:{modalData:a}});b.result.then(function(a){a&&h.refresh()})},h["delete"]=function(a){var b=confirm(g("T")("Are you sure to delete this VA image?"));if(b){var c={pk:JSON.stringify({image_name:a.image_name})};f.deleteVAImage(c).then(function(a){a&&200===a.status&&("None"!=a.data?confirm(a.data[1]):h.refresh())})}},h.refresh=function(){h.tableData=[],h.getVAImage()},h.getVAImage=function(){f.loadAllItems().then(function(a){if(a&&200===a.status){for(var b=a.data.length-1;b>=0;b--)a.data[b].icon&&(a.data[b].icon=a.data[b].icon+"?"+(new Date).valueOf().toString());h.tableData=a.data;for(var b=0;b<h.tableData.length;b++)h.tableData[b].real_name=h.tableData[b].image_name,h.tableData[b].real_name.length>=18&&(h.tableData[b].real_name=h.tableData[b].real_name.slice(0,15)+"...")}})},h.create=function(){},h.getVAImage(),h.itemsByPage=10}]).controller("imageDetailViewCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","vaTableService","modalData","imageTableService","FileUploader",function(a,b,c,d,e,f,g,h,i){var j=this;a.current_image_name=g.image_name,j.editMode=!1,j.replaceIcon=!1,j.edit=function(){j.editMode=!0,a.current_image_data.size=a.current_image_data.size.split(", "),a.current_image_data.console_type=a.current_image_data.console_type.split(", ")},j.save=function(){j.editMode=!1,a.current_image_data.size=a.current_image_data.size.join(", "),a.current_image_data.console_type=a.current_image_data.console_type.join(", "),j.replaceIcon?a.current_image_data.replace_icon=!0:a.current_image_data.replace_icon=!1;var b={data:JSON.stringify(a.current_image_data)};h.editMetadataFile(b).then(function(a){a&&200===a.status?a.data.state||alert($filter("T")("Failed to save the modified Metadata file.")):alert($filter("T")("Internal server error."))})};var k=j.icon_uploader=new i({name:"test",queueLimit:1,url:"/upload_icon",autoUpload:!0,removeAfterUpload:!0});k.onSuccessItem=function(b,c,d,e){c.error||(a.current_image_data.icon=c.files[0].url+"?"+(new Date).valueOf().toString(),j.replaceIcon=!0)},f.loadAllImages().then(function(b){b&&200===b.status&&_.each(b.data,function(b){if(b.image_name==a.current_image_name)return b.icon&&(b.icon=b.icon+"?"+(new Date).valueOf().toString()),a.current_image_data=b,!1})}),j.modalClose=function(){e.close(!0)}}]).controller("vaCreatedBySpecifiedImageAddCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","modalData",function(a,b,c,d,e,f){var g=this;g.tab=0,g.select=function(a){g.tab=a},g.get=function(a){return this.tab===a},g.image_name=f.image_name,g.modalClose=function(){e.dismiss()}}]).controller("imageAddCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","FileUploader","apiService","imageTableService","$filter","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){var l=this;l.image_name="",l.version="",l.size=["entry"],l.description="",l.image_source="",l.image_type="ADC",l.console_type=["VNC"],l.product_name="",l.unsupport_model="",l.choose_local_image=!0,l.choose_url_image=!1,l.choose_udisk_image=!1,l.image_local="",l.image_url="",l.image_udisk="",l.metadata_url="",l.metadata_local="",l.metadata_generate={},l.image_format="ani",l.withOwnMetadata=!0,l.show_local_metadata={},l.icon_local="",l.other_category="",l.showDownloadField=!0,l.ratio=0,l.inputdisabled=!1,l.downloadStatus="",l.image_metadata="image",l.download_type="url",a.download_finished=!1,a.cancel_flag=!1,a.$watch(function(){return l.image_format},function(a){"ani"==a?l.image_metadata="image":l.image_metadata=""},!0),l.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};var m=function(){var a=f.open({templateUrl:"app/modules/common/templates/progress_with_value.html",controller:"showProgressCtrlWithValue",controllerAs:"progress",backdrop:!1});a.result.then(function(){o.cancelAll(),o.clearQueue(),document.getElementById("textfield1").value="",document.getElementById("uploadfield1").value="",n.cancelAll(),n.clearQueue(),document.getElementById("textfield2").value="",document.getElementById("uploadfield2").value="",p.cancelAll(),p.clearQueue(),document.getElementById("textfield2").value="",document.getElementById("uploadfield2").value=""})};l.isAniFormat=function(){return"ani"===l.image_format};var n=l.uploader=new g({queueLimit:1,url:"/upload_image",autoUpload:!0,removeAfterUpload:!0}),o=l.image_uploader=new g({queueLimit:1,url:"/upload",autoUpload:!0,removeAfterUpload:!0}),p=l.icon_uploader=new g({queueLimit:1,url:"/upload",autoUpload:!0,removeAfterUpload:!0});l.local_image_error=!1,l.click_local_image=function(){l.choose_url_image=!1,l.choose_local_image=!0,l.choose_udisk_image=!1,l.local_image_error=!1},l.uploadError=function(a,b,c){l.local_image_error=!0,alert(JSON.parse(b).msg)},l.uploadSuccess=function(a,b,c){l.flow=c,l.image_local="/var/tmp/"+a.file.name},l.fileProgress=function(a,b){var c=/[\u4e00-\u9fa5]/;c.test(a.file.name)&&(a.cancel(),alert(j("T")("Does not support Chinese")))},l.click_url_image=function(){l.choose_url_image=!0,l.choose_local_image=!1,l.choose_udisk_image=!1},l.click_udisk_image=function(){l.choose_url_image=!1,l.choose_local_image=!1,l.choose_udisk_image=!0;var a=f.open({templateUrl:"app/modules/va_image/va_image-udisk.html",controller:"udiskCtrl",controllerAs:"udisk",resolve:{type:function(){return null}}});a.result.then(function(a){if(a){l.selected_file=a;var b=JSON.parse(a);l.image_udisk=b.name;var c=l.image_udisk.split("."),d=c[c.length-1].toLowerCase();"ani"==d?l.image_format="ani":"tgz"==d?l.image_format="tgz":"qcow2"==d?l.image_format="qcow2":"raw"==d?l.image_format="raw":"vmdk"==d?l.image_format="vmdk":l.image_format="ani"}else l.image_format="ani"})},l.download=function(){if(l.downloadStatus="",0==l.image_url.indexOf("ftp://"))l.download_type="ftp";else if(0==l.image_url.indexOf("sftp://"))l.download_type="sftp";else{if(0!=l.image_url.indexOf("http://")&&0!=l.image_url.indexOf("https://"))return void alert(j("T")("URL format error."));l.download_type="url"}var b={image_url:l.image_url};i.downloadURLImage(b).then(function(b){b&&200===b.status&&(b.data.state?(a.cancel_flag=!1,l.showDownloadField=!1,l.interval(b.data.file_name)):0==b.data.data?alert(j("T")("Failed to start downloading image.")):1==b.data.data?alert(j("T")("URL format error.")):alert(j("T")("Internal server error.")))})},l.cancelDownloadedImage=function(){l.cancelDownload(),a.download_finished=!1,l.downloadStatus="",l.inputdisabled=!1,l.showDownloadField=!0,l.ratio=0,l.image_url=""},l.interval=function(b){var c="url";0==l.image_url.indexOf("sftp://")?c="sftp":0==l.image_url.indexOf("ftp://")&&(c="ftp");var d=setInterval(function(){var e={image_name:b,image_type:c};i.getRealProgressSchedule(e).then(function(b){b&&200===b.status?(result=b.data,result.state?0==result.data.error_code||200==result.data.error_code?(l.ratio=parseInt(parseFloat(result.data.ratio)),200!=result.data.error_code&&100!=l.ratio||(a.download_finished=!0)):100==result.data.error_code?clearInterval(d):(clearInterval(d),a.cancel_flag||(l.downloadStatus="pause",1==result.data.error_code?alert(j("T")("URL invalid.")):2==result.data.error_code?alert(j("T")("Request timeout.")):3==result.data.error_code?alert(j("T")("Failed to download the file from the URL.")):4==result.data.error_code?alert(j("T")("Failed to connect.")):5==result.data.error_code?alert(j("T")("Failed to login.")):6==result.data.error_code?alert(j("T")("Local file is bigger or equal remote file.")):7==result.data.error_code?alert(j("T")("Can not find the file.")):8==result.data.error_code?alert(j("T")("FTP server did not support breakpoint download. Please redownload this image.")):alert(j("T")("Internal server error.")))):(clearInterval(d),a.cancel_flag||(l.downloadStatus="pause",1==result.data?alert(j("T")("The VA image has not been downloaded.")):2==result.data?alert(j("T")("There is no download information about the VA image.")):3==result.data?alert(j("T")("There is no download file of the VA image.")):alert(j("T")("Internal server error."))))):(clearInterval(d),l.downloadStatus="pause",alert(j("T")("Failed to get the real-time progress.")))}),1==a.download_finished&&(clearInterval(d),l.image_url=b,l.showDownloadField=!0,l.inputdisabled=!0),a.cancel_flag&&clearInterval(d)},1e3)},l.continueDownload=function(){l.download()},l.cancelDownload=function(){a.cancel_flag=!0,a.download_finished?finished_flag=1:finished_flag=0;var b={image_url:l.image_url,type:l.download_type,download_finished:finished_flag};i.cancel_download_url(b).then(function(a){if(a&&200===a.status){var b=a.data;b.state?(l.ratio=0,l.downloadStatus="",l.inputdisabled=!1,l.showDownloadField=!0):1==b.error_code?alert(j("T")("Failed to cancel the VA image download.")):2==b.error_code?alert(j("T")("Failed to open the VA image progress file.")):3==b.error_code?alert(j("T")("There is no download file of the VA image.")):4==b.error_code?alert(j("T")("URL format error.")):alert(j("T")("Internal server error."))}})},n.onBeforeUploadItem=function(a){m()},n.onSuccessItem=function(a,c,d,e){c.error||(l.metadata_local=c.files[0].url,l.show_local_metadata=c.files[0].metadata,k(function(){b.$broadcast("endLoading",!0)},500))},n.onProgressItem=function(a,c){b.$broadcast("upLoading",c)},o.onBeforeUploadItem=function(a){m()},o.onSuccessItem=function(a,c,d,e){c.error||(l.image_local=c.files[0].url,b.$broadcast("endLoading",!0))},o.onProgressItem=function(a,c){b.$broadcast("upLoading",c)},p.onBeforeUploadItem=function(a){m()},p.onSuccessItem=function(a,c,d,e){c.error||(l.icon_local=c.files[0].url,k(function(){b.$broadcast("endLoading",!0)},500))},p.onProgressItem=function(a,c){b.$broadcast("upLoading",c)},l.show_local_md=function(){return!angular.equals({},l.show_local_metadata)},l.modalClose=function(){e.dismiss()},l.saveChange=function(){var c={post_data:{image_name:l.image_name,url:{},image_format:l.image_format,icon:l.icon_local}};if(l.choose_local_image&&(c.post_data.url={local:l.image_local}),l.choose_url_image){if(!a.download_finished)return void alert(j("T")("Please download this URL first."));c.post_data.url={local:"/var/tmp/"+l.image_url
+}}if(l.choose_udisk_image&&(c.post_data.url={udisk:l.selected_file}),"image"!=l.image_metadata&&("tgz"==l.image_format&&(c.post_data.tgz_image_metadata=!1),"local"==l.image_metadata&&(c.post_data.metadata_url={local:l.metadata_local}),"url"==l.image_metadata&&(c.post_data.metadata_url={md_url:l.metadata_url}),"manual"==l.image_metadata)){if(!l.size.length)return l.console_type.length?void alert(j("T")("Field of Supported VA Sizes is required.")):void alert(j("T")("Fields of Supported VA Sizes and Console Type are required."));if(!l.console_type.length)return void alert(j("T")("Field of Console Type is required."));c.post_data.metadata_url={manual:{description:l.description,version:l.version,size:l.size,product_category:l.image_type,other_category:l.other_category,vendor:l.image_source,product_name:l.product_name,console_type:l.console_type,unsupport_model:l.unsupport_model}}}l.showProgressBar(),c.post_data=JSON.stringify(c.post_data),i.createVAImage(c).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?a.data[2][0]?alert(a.data[2][0][1]):e.close(!0):(alert(j("T")(a.data[1])),l.image_url="",l.image_udisk="",l.image_local="",l.flow.files[0].cancel()):alert(j("T")("Failed to import the VA image."))})}}]).controller("repoSourceAddCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","imageTableService","$filter",function(a,b,c,d,e,f,g,h){var i=this;i.name="",i.protocol="http",i.ip="",i.port=80,i.url="",i.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},i.modalClose=function(){e.close(!0)},i.addRepoSource=function(){i.showProgressBar(),i.ip=i.url.split("/")[2].split(":")[0],i.protocol=i.url.split(":")[0],3==i.url.split(":").length?i.port=i.url.split(":")[2]:i.port=80;var a={data:JSON.stringify({action:"add",name:i.name,protocol:i.protocol,ip:i.ip,port:i.port,active:0})};g.operate_repo_source(a).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c=a.data;c.state?i.modalClose():1==c.data?alert(h("T")("The repository name {0} already exists.",[i.name])):alert(h("T")("Failed to add image repository."))}else alert(h("T")("Internal server error."))})}}]).controller("repoSourceEditCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","imageTableService","$filter","modalData",function(a,b,c,d,e,f,g,h,i){var j=this;j.name=i.name,j.url=i.url,j.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},j.modalClose=function(){e.dismiss()},j.save=function(){j.showProgressBar(),j.ip=j.url.split("/")[2].split(":")[0],j.protocol=j.url.split(":")[0],3==j.url.split(":").length?j.port=j.url.split(":")[2]:j.port=80;var a={data:JSON.stringify({action:"edit",name:j.name,protocol:j.protocol,ip:j.ip,port:j.port,active:0})};g.operate_repo_source(a).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c=a.data;c.state?e.close(!0):alert(h("T")("Failed to add image repository."))}else alert(h("T")("Internal server error."))})}}]).controller("imageRepoController",["$scope","$rootScope","$state","$stateParams","$location","imageTableService",function(a,b,c,d,e,f){var g=this;b.title="Image Repository",a.current_source_name=d.name,a.activeSourceList=[],g.getRepoSource=function(){f.get_repo_source().then(function(b){if(b&&200===b.status){var c=b.data;if(c.state)for(var d=c.data,e=d.length-1;e>=0;e--)d[e].active&&a.activeSourceList.push(d[e].name)}else alert($filter("T")("Internal server error."))})},a.url_contain=function(a){return e.path().indexOf(a)!=-1},g.getRepoSource()}]).controller("imageRepoGeneralController",["$scope","$rootScope","$state","$stateParams","FileUploader","apiService","imageTableService","$filter","vaTableService","$uibModal",function(a,b,c,d,e,f,g,h,i,j){var k=this;a.allow_config=!0,a.isActive=!0,a.onLabel=h("T")("Enable"),a.offLabel=h("T")("Disable"),k.getRepoSource=function(){a.allow_config=b.allow_config,g.get_repo_source().then(function(a){if(a&&200===a.status){var b=a.data;if(b.state){for(var c=b.data,d=c.length-1;d>=0;d--)c[d].active?c[d].active=!0:c[d].active=!1;k.sourceList=c}}else alert(h("T")("Internal server error."))})},k.configRepoSource=function(){if(k.sourceList.length>=10)alert(h("T")("The number of image repositories that can be added cannot exceed 10."));else{var a=j.open({templateUrl:"app/modules/va_image/repo_source_add.html",controller:"repoSourceAddCtrl",controllerAs:"sourceAdd"});a.result.then(function(a){a&&k.getRepoSource()})}},k.active_repo_num=function(a){for(var b=0,c=k.sourceList.length-1;c>=0;c--)k.sourceList[c].active&&(b+=1);return a?b--:b++,b},k.setRepoSource=function(a,b){if(k.active_repo_num(b)>=3&&b)alert(h("T")("The number of image repositories that can be enabled cannot exceed 3.")),c.go("index.va_image.repo.general_settings",{},{reload:!0});else{var d;d=b?"active":"inactive";var e={data:JSON.stringify({name:a,status:d})};g.active_repo_source(e).then(function(a){if(a&&200===a.status){var b=a.data;b.state?c.go("index.va_image.repo.general_settings",{},{reload:!0}):alert(h("T")("Failed to enable the image repository."))}else alert(h("T")("Internal server error."))})}},k.editRepoSource=function(a){var b=j.open({templateUrl:"app/modules/va_image/repo_source_edit.html",controller:"repoSourceEditCtrl",controllerAs:"sourceEdit",resolve:{modalData:a}});b.result.then(function(a){a&&k.getRepoSource()})},k.deleteRepoSource=function(a){var b=confirm(h("T")("Are you sure you want to delete this image repository?"));if(b){var d={data:JSON.stringify({name:a})};g.delete_repo_source(d).then(function(a){if(a&&200===a.status){var b=a.data;b.state?c.go("index.va_image.repo.general_settings",{},{reload:!0}):alert(h("T")("Failed to delete this image repository."))}else alert(h("T")("Internal server error."))})}},k.getRepoSource()}]).controller("imageRepoDetailController",["$scope","$rootScope","$state","$stateParams","FileUploader","apiService","imageTableService","$filter","vaTableService","$uibModal",function(a,b,c,d,e,f,g,h,i,j){var k=this;b.pause_flag=!1,b.cancel_flag=!1,a.download_finished=!1,k.render_repo="loading",k.sourceSelectIP="",k.sourceSelectProtocol="",k.sourceSelectPort="",k.collection={category:"ADC",vendor:"Array Networks"},i.getAVXModel().then(function(a){a&&200===a.status&&(k.avx_model=JSON.parse(a.data))}),k.getRepoSource=function(){g.get_repo_source().then(function(b){if(b&&200===b.status){var c=b.data;if(c.state){var e=c.data;a.sourceName=d.name;for(var f=e.length-1;f>=0;f--)e[f].name==a.sourceName&&(k.sourceSelectProtocol=e[f].protocol,k.sourceSelectIP=e[f].ip,k.sourceSelectPort=e[f].port,k.defaultProduct())}}else alert(h("T")("Internal server error."))})},k.chooseSource=function(a){k.sourceSelect=a,k.render_repo="loading",k.defaultProduct()},k.defaultProduct=function(){var b={"default":!0,proto:k.sourceSelectProtocol,ip:k.sourceSelectIP,port:k.sourceSelectPort,lang:window.localStorage.lang},c={data:JSON.stringify(b)};i.getAVXModel().then(function(b){b&&200===b.status&&(k.avx_model=JSON.parse(b.data),g.get_image_list(c).then(function(b){if(b&&200===b.status){var c=b.data;if(200==c.status){res=JSON.parse(c.body),k.categoryList=res.category;var d=res.default_data,e={data:JSON.stringify(d)};g.getImageStatus(e).then(function(b){if(b&&200===b.status)if(response=b.data,response.state){var c=response.data,e=!1,f="",g="",i="",j="";a.icon_path=d[0].icon_url;for(var l=d.length-1;l>=0;l--)for(var m=c.length-1;m>=0;m--)c[m].version==d[l].version&&(d[l].action=c[m].action,d[l].dynamic=0,"downloading"==c[m].action&&(d[l].dynamic=parseInt(parseFloat(c[m].ratio)),"normal"==c[m].status?(e=!0,f=d[l].image_link,g=d[l].version,i=d[l].name,j=d[l].shortname,d[l].status="normal"):d[l].status="pause"),k.avx_model.indexOf(d[l].unsupported_model)>0&&(d[l].action="unsupported"));k.imageVersionsList=d,k.render_repo="success",e&&k.interval(f,g,i,j)}else alert(response.data);else alert(h("T")("Failed to get the downloading status of the VA image."))})}else k.render_repo="error"}else k.render_repo="error"}))})},k.specifiedProduct=function(b,c){k.collection={category:b,vendor:c};var d={"default":!1,proto:k.sourceSelectProtocol,ip:k.sourceSelectIP,port:k.sourceSelectPort,vendor:c,category:b,lang:window.localStorage.lang},e={data:JSON.stringify(d)};i.getAVXModel().then(function(b){b&&200===b.status&&(k.avx_model=JSON.parse(b.data),g.get_image_list(e).then(function(b){if(b&&200===b.status){var c=b.data;if(200==c.status){res=JSON.parse(c.body);var d=res.data,e={data:JSON.stringify(d)};g.getImageStatus(e).then(function(b){if(b&&200===b.status)if(response=b.data,response.state){result=response.data;var c=!1,e="",f="",g="",i="";a.icon_path=d[0].icon_url;for(var j=d.length-1;j>=0;j--)for(var l=result.length-1;l>=0;l--)result[l].version==d[j].version&&(d[j].action=result[l].action,d[j].dynamic=0,"downloading"==result[l].action&&(d[j].dynamic=parseInt(parseFloat(result[l].ratio)),"normal"==result[l].status?(c=!0,e=d[j].image_link,f=d[j].version,g=d[j].name,i=d[j].shortname,d[j].status="normal"):d[j].status="pause"),k.avx_model.indexOf(d[j].unsupported_model)>0&&(d[j].action="unsupported"));k.imageVersionsList=d,k.render_repo="success",c&&k.interval(e,f,g,i)}else alert(response.data);else alert(h("T")("Failed to get the downloading status of the VA image."))})}else k.render_repo="error"}else k.render_repo="error"}))})},k.showProgressBar=function(){j.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},k["import"]=function(a,c,d,e,f){g.check_image_downloading().then(function(i){if(!i||200!==i.status)return void alert(h("T")("Failed to check if another VA image is being downloaded."));var j=i.data;return j.state?j.status?void alert(h("T")("Cannot start another download while the VA image({0}) is being downloaded. Please retry until the previous download is paused, cancelled or finished.",[j.image_name])):void g.get_image_number().then(function(i){if(i&&200===i.status){var l=i.data;if(l[0].number<16){b.cancel_flag=!1,b.pause_flag=!1;var m={image_link:a,image_url:e};g.downloadImage(m).then(function(b){if(b&&200===b.status)if(j=b.data,j.state){for(var e=k.imageVersionsList.length-1;e>=0;e--)k.imageVersionsList[e].version==c&&(k.imageVersionsList[e].action="downloading",k.imageVersionsList[e].status="normal");k.interval(a,c,d,f)}else alert(h("T")("Internal server error."));else alert(h("T")("Failed to import the VA image."))})}else alert(h("T")("Cannot store more than 16 VA images! Please delete existing image(s) to release storage."))}else alert(h("T")("Internal server error."))}):void alert(h("T")("Internal server error."))})},k.interval=function(c,d,e,f){var i=setInterval(function(){var j={image_link:c,image_type:"repo"};if(g.getRealProgressSchedule(j).then(function(c){if(c&&200===c.status)if(result=c.data,result.state)if(0==result.data.error_code||200==result.data.error_code){for(var e=k.imageVersionsList.length-1;e>=0;e--)k.imageVersionsList[e].version==d&&(k.imageVersionsList[e].dynamic=parseInt(parseFloat(result.data.ratio)));200==result.data.error_code&&(k.importing?k.importing=!1:a.download_finished=!0)}else if(100==result.data.error_code)clearInterval(i);else{clearInterval(i);for(var e=k.imageVersionsList.length-1;e>=0;e--)if(k.imageVersionsList[e].version==d){if("pause"==k.imageVersionsList[e].status)return;k.imageVersionsList[e].status="pause"}1==result.data.error_code?alert(h("T")("URL is invalid, please refresh the page.")):2==result.data.error_code?alert(h("T")("Network Exception: Request Timeout.")):3==result.data.error_code?alert(h("T")("Failed to import the VA image from the image repository.")):alert(h("T")("Internal server error."))}else{clearInterval(i);for(var e=k.imageVersionsList.length-1;e>=0;e--)k.imageVersionsList[e].version==d&&(k.imageVersionsList[e].status="pause");b.cancel_flag||(1==result.data?alert(h("T")("The VA image has not been downloaded.")):2==result.data?alert(h("T")("There is no download information about the VA image.")):3==result.data?alert(h("T")("There is no download file of the VA image.")):alert(h("T")("Internal server error.")))}else{clearInterval(i);for(var e=k.imageVersionsList.length-1;e>=0;e--)k.imageVersionsList[e].version==d&&(k.imageVersionsList[e].status="pause");alert(h("T")("Failed to get the real-time progress."))}}),1==a.download_finished){clearInterval(i),k.importing=!0,a.download_finished=!1;for(var l=k.imageVersionsList.length-1;l>=0;l--)k.imageVersionsList[l].version==d&&(k.imageVersionsList[l].action="importing");imageImportResData={image_link:c,image_version:d,image_product:e,image_shortname:f},g.importRepoImage(imageImportResData).then(function(a){if(a&&200===a.status)if(result=a.data,result.state)for(var b=k.imageVersionsList.length-1;b>=0;b--)k.imageVersionsList[b].version==d&&(k.imageVersionsList[b].action="imported");else{1==result.data?alert(h("T")("Failed to import the VA image.")):alert(h("T")("Internal server error."));for(var b=k.imageVersionsList.length-1;b>=0;b--)k.imageVersionsList[b].version==d&&(k.imageVersionsList[b].action="new")}else alert(h("T")("Failed to import the VA image from the image repository."))})}(b.pause_flag||b.cancel_flag)&&clearInterval(i)},1e3)},k.pause=function(a,c){b.pause_flag=!0;var d={action:"pause",image_link:c};g.perform_image_downloading(d).then(function(b){if(b&&200===b.status){var c=b.data;if(c.state)for(var d=k.imageVersionsList.length-1;d>=0;d--)k.imageVersionsList[d].version==a&&(k.imageVersionsList[d].status="pause");else 1==c.error_code?alert(h("T")("Failed to pause the VA image download.")):2==c.error_code?alert(h("T")("Failed to open the VA image progress file.")):3==c.error_code?alert(h("T")("There is no download file of the VA image.")):alert(h("T")("Internal server error."))}})},k.cancel=function(a,c){b.cancel_flag=!0;var d={action:"cancel",image_link:c};g.perform_image_downloading(d).then(function(b){if(b&&200===b.status){var c=b.data;if(c.state)for(var d=k.imageVersionsList.length-1;d>=0;d--)k.imageVersionsList[d].version==a&&(k.imageVersionsList[d].action="new",k.imageVersionsList[d].status="normal",k.imageVersionsList[d].dynamic=0);else 1==c.error_code?alert(h("T")("Failed to cancel the VA image download.")):2==c.error_code?alert(h("T")("Failed to open the VA image progress file.")):3==c.error_code?alert(h("T")("There is no download file of the VA image.")):alert(h("T")("Internal server error."))}})},k.refreshRepo=function(){k.imageVersionsList=[],k.specifiedProduct(k.collection.category,k.collection.vendor)},k.version_update=function(a){j.open({templateUrl:"app/modules/va_image/va_image_version_update.html",controller:"versionUpdateCtrl",controllerAs:"update",size:"lg",resolve:{modalData:a}})},k.getRepoSource()}]).controller("versionUpdateCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","modalData",function(a,b,c,d,e,f){var g=this;g.introduction=f.introduction.replace(/\n/g,"<br/>"),g.modalClose=function(){e.close(!0)},g.showProgressBar=function(){$uibModal.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})}}]),angular.module("avx.system").directive("imageSelect",[function(){return{restrict:"EA",scope:{options:"=selectOptions",methods:"=selectMethods",events:"=selectEvents"},link:function(a,b,c,d){b.selectpicker(a.options)}}}]),angular.module("avx.va_image").factory("imageTableService",["$q","$filter","$http","$base64","apiService",function(a,b,c,d,e){function f(b){var c=a.defer();if(b=b||null)var d="/api/avx/va/image/VAImageManagement/_get_list_data?key="+JSON.stringify(b);else var d="/api/avx/va/image/VAImageManagement/_get_list_data";return e.get(d).then(function(a){for(var b=0;b<a.data.length;b++)"Other"==a.data[b].product_category&&(a.data[b].product_category=a.data[b].other_category);c.resolve(a)}),c.promise}function g(a){return e.post("/api/avx/va/image/VAImageManagement/_delete",a)}function h(a){return e.post("/api/avx/va/image/VAImageManagement/_add",a)}function i(b,c){var d=a.defer();if(c){for(var f=!1,g=!1,h=!1,i=!1,j=0;j<c.length;j++)"vendor"==c[j]&&(f=!0),"product_name"==c[j]&&(g=!0),"product_category"==c[j]&&(h=!0),"icon"==c[j]&&(i=!0);f||c.push("vendor"),g||c.push("product_name"),h||c.push("product_category"),i||c.push("icon");var k="/api/avx/va/image/VAImageManagement/_get_list_data?key="+JSON.stringify(c)}else var k="/api/avx/va/image/VAImageManagement/_get_list_data";return e.get(k).then(function(a){for(var c=[],e=0;e<a.data.length;e++){var f=a.data[e];f.vendor==b.va_vendor&&f.product_category==b.category&&f.product_name==b.product&&f.icon==b.icon&&("Other"==f.product_category&&(f.product_category=f.other_category),c.push(f))}a.data=c,d.resolve(a)}),d.promise}function j(a){return e.post("/avx/image_repo/download_image",a)}function k(a){return e.post("/avx/va_image/download_url_image",a)}function l(a){return e.post("/avx/image_repo/get_progress_schedule",a)}function m(a){return e.post("/avx/image_repo/import_repo_image",a)}function n(a){return e.post("/avx/image_repo/get_image_status",a)}function o(a){return e.post("/avx/image_repo/perform_image_downloading",a)}function p(a){return e.post("/avx/va_image/cancel_downloading_url",a)}function q(){return e.get("/avx/image_repo/check_image_downloading")}function r(){return e.get("/api/avx/va/image/getVAImageNumber/_get_list_data")}function s(){return e.get("/avx/va_image/get_udisk_file")}function t(a){return e.post("/avx/va_image/edit_metadata_file",a)}function u(a){return e.post("/avx/image_repo/get_image_list",a)}function v(a){return e.post("/avx/image_repo/operate_repo_source",a)}function w(a){return e.post("/avx/image_repo/get_repo_source",a)}function x(a){return e.post("/avx/image_repo/delete_repo_source",a)}function y(a){return e.post("/avx/image_repo/active_repo_source",a)}function z(){return e.get("/avx/va_image/get_image_support_size")}return{loadAllItems:f,deleteVAImage:g,createVAImage:h,filterItems:i,downloadImage:j,getRealProgressSchedule:l,importRepoImage:m,getImageStatus:n,perform_image_downloading:o,check_image_downloading:q,get_image_number:r,get_udisk_file:s,editMetadataFile:t,get_image_list:u,operate_repo_source:v,get_repo_source:w,delete_repo_source:x,active_repo_source:y,getImageSupportSize:z,downloadURLImage:k,cancel_download_url:p}}]),angular.module("avx.va").controller("vaBasicCtrl",["$scope","$rootScope","$state","$stateParams","$location","$uibModal","$filter","vaTableService","netResourceService",function(a,b,c,d,e,f,g,h,i){b.get_current_va_config_by_va_run=!1,a.current_va_name=d.name,a.dhcp_ip=!1;var j=this;j.loading_basic_info=!0,a.allow_config=b.allow_config;var k=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};h.getVAInstanceDefault(a.current_va_name).then(function(e){if(e&&200===e.status){if(j.loading_basic_info=!1,a.current_va_ip=e.data.ip,h.is_dhcp_ip({ip:a.current_va_ip}).then(function(b){b&&200===b.status&&1==b.data.result&&(a.dhcp_ip=!0)}),a.current_va_status=e.data.status,a.current_va_vncport=e.data.va_vncport,a.current_va_size=e.data.va_size,a.current_va_domain=e.data.domain_id,a.current_va_product_name=e.data.product_name,a.current_va_vendor=e.data.vendor,a.current_va_memory=e.data.memory,a.current_va_cpu=e.data.cpu_thread,e.data.image=e.data.tgt_name,a.current_va_image=e.data.image,delete e.data.tgt_name,e.data.status?e.data.status="Running":e.data.status="Shutoff",a.current_va_data=e.data,["vAPV","vxAG"].indexOf(a.current_va_product_name)!=-1){if(a.current_va_is_array_va=!0,a.current_va_status){var l=function(){h.getVAConfigInfo(a.current_va_name,a.current_va_product_name).then(function(b){b&&200===b.status&&b.data[0]?(j.showVersion=b.data[1].show_version,j.showSNMP=b.data[1].show_snmp,j.showWEBUI=b.data[1].show_webui,j.showRESTAPI=b.data[1].show_restapi,a.current_va_snmp_on=b.data[1].show_snmp.enable_snmp):l()})};l()}}else a.current_va_is_array_va=!1;a.widgets=[{name:"cpu_usage",icon:"line-chart",verbose_name:"CPU Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["cpu_usage"],from:"snmp_scada_node",where:["origin_id = '"+a.current_va_ip+"'"],time:["now() - 10m"]}]}},{name:"memory_usage",icon:"line-chart",verbose_name:"Memory Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["mem_usage"],from:"snmp_scada_node",where:["origin_id = '"+a.current_va_ip+"'"],time:["now() - 10m"]}]}}],a.network_widget={name:"network_throughput",icon:"line-chart",verbose_name:"Network Throughput (Kbps)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["Receive","Send"],xAxis_splitNumber:3,yAxis_splitNumber:1,yAxis_axisLine_show:!1,legend_show:!1,gradient:!0},datasource:[{type:"influxdb",select:["inoctets/1024"],from:"snmp_throughput",where:["label = 'total' and origin_id = '"+a.current_va_ip+"'"],time:["now() - 5m"]},{type:"influxdb",select:["outoctets/1024"],from:"snmp_throughput",where:["label = 'total' and origin_id = '"+a.current_va_ip+"'"],time:["now() - 5m"]}]}},"vxAG"==a.current_va_product_name||"vNETGATE"==a.current_va_product_name?a.widgets.push({name:"session_num",icon:"line-chart",verbose_name:"Session Number",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["num"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["session_num"],from:"snmp_scada_node",where:["origin_id = '"+a.current_va_ip+"'"],time:["now() - 10m"]}]}}):a.widgets.push({name:"disk_usage",icon:"line-chart",verbose_name:"Disk Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["(used*100)/size"],from:"snmp_storage",where:["origin_id = '"+a.current_va_ip+"'","label = 'total'"],time:["now() - 10m"]}]}}),j.va_name=d.name,j.perVaInstanceResources={},j.systemResourcesAssign=[],j.loading_port=!0,j.loading_sslVF=!0,j.loading_attachedDisk=!0,j.loading_portMapping=!0,j.perVaInstanceResources.cpuThreads=a.current_va_cpu,j.perVaInstanceResources.ram=a.current_va_memory,j.getPerVAPort=function(){h.getPerVAInstancePort(j.va_name).then(function(a){if(a&&200===a.status){for(var b=a.data,c="",d="",e="",f=b.length-1;f>=0;f--)if(b[f].vf_index){var g=b[f].port+"-"+b[f].vf_index.toString();c?c+=", "+g:c=g}else{var h=b[f].port;h.split("port")[0]?d?d+=", "+h:d=h:e?e+=", "+h:e=h}j.perVaInstanceResources.portVF=c,j.perVaInstanceResources.vport=d,j.perVaInstanceResources.passthrough_port=e,j.loading_port=!1}})},j.getPerVASsl=function(){h.getPerVAInstanceSsl(j.va_name).then(function(a){if(a&&200===a.status){for(var b=a.data,c="",d=b.length-1;d>=0;d--){var e=b[d].ssl+"-"+b[d].vf_index.toString()+"-"+b[d].shared;c?c+=", "+e:c=e}j.perVaInstanceResources.sslVF=c,j.loading_sslVF=!1}})},j.getPerVACPUMemory=function(){h.getPerVACPUMemory(j.va_name).then(function(a){a&&200===a.status&&(j.perVaInstanceResources.cpuThreads=a.data[0].cpu_thread,j.perVaInstanceResources.ram=a.data[0].memory)})},j.getPerVAPortMapping=function(){h.getPerVAPortMapping(j.va_name).then(function(a){a&&200===a.status&&(j.loading_portMapping=!1,i.get_vswitch_va_instance().then(function(b){b&&200===b.status&&(_.each(a.data,function(a){_.each(b.data,function(b){b.vs_name+"."+b.vport==a.resource&&(a.vlan_tag=b.tag)})}),j.portMappingData=a.data)}))})},j.getPerVAInstanceAttachedDisk=function(){h.getPerVAInstanceAttachedDisk(j.va_name).then(function(a){if(a&&200===a.status){var b=a.data;j.attached_disk_list=b;for(var c=[],d=0;d<b.length;d++)c.push(b[d].disk_name+"-"+b[d].disk_size+"G-"+b[d].bus_type);j.perVaInstanceResources.attachedDisk=c.join(", "),j.loading_attachedDisk=!1}})},j.getPerVAPort(),j.getPerVASsl(),j.getPerVAPortMapping(),j.getPerVAInstanceAttachedDisk(),j.perVAStart=function(){k();var a={post_data:JSON.stringify({status:!0})};h.updateVAInstance(a,j.va_name).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status&&(a.data[0]?c.go("index.va.default.detail",{name:j.va_name},{reload:!0}):alert(a.data[1]))})},j.perVAShutoff=function(){k(),RequestData={post_data:JSON.stringify({status:!1})},h.updateVAInstance(RequestData,j.va_name).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status&&(a.data[0]?c.go("index.va.default.detail",{name:j.va_name},{reload:!0}):alert(a.data[1]))})},j.perVARefresh=function(){c.go("index.va.default.detail",{name:j.va_name},{reload:!0})},j.vaResourceEditModal=function(){var b={status:a.current_va_status,cpu_thread:j.perVaInstanceResources.cpuThreads,memory:j.perVaInstanceResources.ram,attached_disk:j.attached_disk_list,domain_id:a.current_va_domain},c=f.open({templateUrl:"app/modules/va/detail_pages/va-resource-edit.html",controller:"vaResourceEditCtrl",controllerAs:"vaResourceEdit",resolve:{modalData:b}});c.result.then(function(a){a&&(j.getPerVAPort(),j.getPerVASsl(),j.getPerVAPortMapping(),j.getPerVAInstanceAttachedDisk(),j.getPerVACPUMemory())})},j.vaIPConfigModal=function(){if(a.current_va_is_array_va&&!a.current_va_status)return alert(g("T")("Please start this VA instance first.")),!1;f.open({templateUrl:"app/modules/va/detail_pages/va-ip-config.html",controller:"vaIPConfigCtrl",controllerAs:"vaIPConfig",resolve:{modalData:{vendor:a.current_va_vendor,product_name:a.current_va_product_name}}})},j.showMgmtVLAN=function(){f.open({templateUrl:"app/modules/va/detail_pages/va-mgmtvlan-config.html",controller:"vaMgmtVLANConfigCtrl",controllerAs:"vaMgmtVLANConfig",resolve:{modalData:{current_va_name:a.current_va_data.va_name,current_va_vlan_tag:a.current_va_data.vlan_tag,flag:!0}}})},j.deleteVAmgmtip=function(){var d=confirm(g("T")("This operation will delete the recorded management IP of the VA instance from AVX, but will not delete the management IP within the VA instance."));d&&(k(),h.va_mgmtip_clear({va_name:a.current_va_name}).then(function(d){b.$broadcast("endLoading",!0),d&&200===d.status?d.data.result?alert(d.data.result):c.go("index.va.default.detail",{name:a.current_va_name},{reload:!0}):alert(g("T")("Failed to delete management IP for VA: {0}",[a.current_va_name]))}))},j.perVAVNC=function(){if(a.current_va_status)if(a.current_va_vncport){k();var c={va_instance:a.current_va_name,va_vncport:a.current_va_vncport};h.connectVNC(c).then(function(c){if(b.$broadcast("endLoading",!0),c&&200===c.status)if(c.data.state){var d=c.data.data;window.open("/avx/va/vnc_html/"+a.current_va_name+"/"+a.current_va_vncport+"/"+d,"_blank")}else alert(c.data.data);else alert(g("T")("Failed to connect to the VNC console of this VA instance: ")+a.current_va_name)})}else alert(g("T")("This VA instance does not provide a VNC console."));else alert(g("T")("Please start this VA instance first."))},j.showVALicenseInfo=function(){var b=a.current_va_product_name,c="app/modules/va/license/default/default.html";"vAPV"==b||"vxAG"==b||"vAWF"==b||"vWAN"==b?c="app/modules/va/license/array/"+b+".html":"PTAF-VM"==b?c="app/modules/va/license/pt/"+b+".html":"SG6000-VM"==b?c="app/modules/va/license/hillstone/"+b+".html":"vNETGATE "==b||"vNETGATE"==b?c="app/modules/va/license/array/vNetgate.html":"NetIAG"!=b&&"vNetIAG"!=b||(c="app/modules/va/license/array/vNetiag.html");f.open({templateUrl:c,controller:"valicenseInfoViewCtrl",controllerAs:"vaLicenseInfo",size:"lg",resolve:{modalData:a.current_va_data}})}}})}]),angular.module("avx.va").controller("vaDetailConfigCtrl",["$scope","$rootScope","$state","$stateParams","$filter","vaTableService",function(a,b,c,d,e,f){a.current_va_name=d.name;f.getVAInstanceDefault(a.current_va_name).then(function(b){b&&200===b.status&&(a.current_va_status=b.data.status,a.current_va_product_name=b.data.product_name,a.current_va_vendor=b.data.vendor,"Array Networks"==a.current_va_vendor&&"vAWF"!=a.current_va_product_name&&"vWAN"!=a.current_va_product_name?(a.current_va_is_array_va=!0,a.current_va_status&&f.getVARunningConfig(a.current_va_name).then(function(b){b&&200===b.status&&(a.showRun=b.data[0].running)})):a.current_va_is_array_va=!1)})}]),angular.module("avx.va").controller("vaLogBuffController",["$scope","$rootScope","$state","$stateParams","$filter","vaTableService",function(a,b,c,d,e,f){a.current_va_name=d.name,a.loading=!0;var g=this;f.getVAInstanceDefault(a.current_va_name).then(function(b){b&&200===b.status&&(a.current_va_status=b.data.status,a.current_va_product_name=b.data.product_name,a.current_va_vendor=b.data.vendor,"Array Networks"==a.current_va_vendor&&"vAWF"!=a.current_va_product_name&&"vWAN"!=a.current_va_product_name?(a.current_va_is_array_va=!0,a.current_va_status?"vxAG"==a.current_va_product_name?f.getVALogConfig(a.current_va_name).then(function(b){b&&200===b.status&&(b.data[0].enable_logging?(a.current_va_log_on=!0,f.getVASysLogBuff(a.current_va_name).then(function(b){b&&200===b.status&&(a.loading=!1,a.logbuf=b.data[0].logbuf,g.logbuf_data=[],_.each(a.logbuf.split("\n"),function(a){if(a){var b=new Object;b.level=a.split(" ")[0],b.time=a.substring(8,28),a.match(/msg=\"(.*)\"/)?b.msg=a.match(/msg=\"(.*)\"/)[1]:b.msg=a.substring(29).replace("&gt;",">"),g.logbuf_data.push(b)}}))})):(a.loading=!1,a.current_va_log_on=!1))}):"vAPV"==a.current_va_product_name&&f.getVARESTfulAPIConfig(a.current_va_name).then(function(b){if(b&&200===b.status)if(b.data[0].enable_restapi){a.current_va_restapi_on=!0;var c="/rest/apv/admintools/logbuf/SysLogBuf/stats";f.array_va_restapi(a.current_va_name,c).then(function(b){if(b&&200===b.status)if(a.loading=!1,2==b.data[0])alert(e("T")("This VA instance does not support RESTful API."));else if(1==b.data[0]){g.logbuf_data=[];var c=b.data[1].SysLogBuf.logbuf;_.each(c.split("start of buffer")[1].split("\n"),function(a){if("start of buffer"!=a){var b=new Object;b.level=a.substring(0,7),b.time=a.substring(8,28),b.msg=a.substring(29).replace("&gt;",">"),g.logbuf_data.push(b)}})}else 0==b.data[0]&&alert(b.data[1])})}else a.current_va_restapi_on=!1,a.loading=!1}):a.loading=!1):a.current_va_is_array_va=!1)})}]),AVAILABLE="./app/images/resource-assign-available.png",OCCUPIED="./app/images/resource-assign-occupied.png",SELECTED="./app/images/resource-assign-selected.png",angular.module("avx.va").directive("pervaPort",["$filter",function(a){return{restrict:"EA",scope:{model:"=avxModel",change:"=changePort",display:"=displayPort",pervadisplay:"=pervaDisplayport",ppNumber:"=passthroughNumber"},link:function(b,c,d,e){function f(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return c;return-1}function g(a,b,c,d){d.set({text:a,top:b,left:c}),s.add(d)}function h(a){var c="available",d="pointer",e=AVAILABLE;a.autoSelectedFlag&&(d="not-allowed");for(var f=0;f<b.display.length;f++){var g=!1;if(b.change&&b.change.length)for(var h=b.change.length-1;h>=0;h--)b.change[h]==a.port_name&&(e=SELECTED,c="selected",g=!0);if(a.port_name==b.display[f]&&0==g){e=OCCUPIED,d="not-allowed",c="occupied";break}}fabric.Image.fromURL(e,function(b){s.add(b.set({top:a.top,left:a.left,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,name:a.port_name,hoverCursor:d,status:c}))})}function i(a,c,d){for(var e=b.pervadisplay.length-1;e>=0;e--)b.change.push(b.pervadisplay[e]);for(var e=0;e<a;e++){p.top=4+50*e,16==d[e]?p.width=1046:p.width=566;var f=new fabric.Rect(p);s.add(f);var i=new fabric.Text("",r),j="Port"+m[e]+" VFs";g(j,20+50*e,5,i);for(var k=0;k<=d[e]-1;k++)h({top:10+50*e,left:80+60*k,port_name:"port"+m[e]+"_"+(k+1).toString(),autoSelectedFlag:c})}}var j,k=b.model.port_num,l=b.model.each_port_vf_list,m=b.model.port_vf_index_list,n=50*k;
+j=l.indexOf(16)<0?566:1046,c[0].width=j,c[0].height=n;for(var o=0;o<l.length;o++)1==l[o]&&b.display.push("port"+m[o].toString()+"_"+l[o].toString());var p={left:0,top:4,width:566,height:44,fill:"#e9e9e9",hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1},q=0;b.change&&b.change.length&&(q=1),fabric.Object.prototype.set({transparentCorners:!1,cornerColor:"rgba(102,153,255,0.5)",padding:5,cornerSize:15,hoverCursor:"pointer",selection:!1});var r={fill:"#000000",fontSize:13,fontFamily:"Open Sans",hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1},s=(new fabric.Text("",r),new fabric.Text("",r),window._canvas=new fabric.Canvas(c[0])),t=!1;s.on({"mouse:down":function(a){if(a.target&&!q)if("available"==a.target.status){if(b.change.length+b.ppNumber==20)return void(t=!0);a.target.setSrc(SELECTED),a.target.status="selected",s.renderAll(),b.change.push(a.target.name)}else if("selected"==a.target.status){a.target.setSrc(AVAILABLE),a.target.status="available",s.renderAll();var c=f(a.target.name,b.change);c>-1&&b.change.splice(c,1)}},"mouse:up":function(b){t&&(t=!1,alert(a("T")("Number of port VFs assigned to a VA instance should not exceed 20."))),s.renderAll()}}),i(k,q,l)}}}]).directive("pervaSsl",["$uibModal","$filter",function(a,b){return{restrict:"EA",scope:{model:"=avxModel",change:"=changeSsl",display:"=displaySsl",pervadisplay:"=pervaDisplayssl"},link:function(c,d,e,f){function g(a,b,c,d){d.set({text:a,top:b,left:c}),q.add(d)}function h(a){var b="available",d="pointer",e="shared",f=AVAILABLE;a.autoSelectedFlag&&(d="not-allowed");for(var g=0;g<c.display.length;g++){var h=!1;if(c.change&&c.change.length)for(var i=c.change.length-1;i>=0;i--)c.change[i].ssl_vf==a.ssl_name&&(f=SELECTED,e=c.change[i].shared,b="selected",h=!0);if(a.ssl_name==c.display[g].ssl&&0==h){f=OCCUPIED,b="occupied","dedicated"==c.display[g].shared&&(e="dedicated",d="not-allowed");break}}fabric.Image.fromURL(f,function(c){q.add(c.set({top:a.top,left:a.left,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,name:a.ssl_name,hoverCursor:d,status:b,occupancy:e,card_type:a.card_type}))})}function i(a,b,d,e){for(var f=c.pervadisplay.length-1;f>=0;f--)t.push(c.pervadisplay[f].ssl),c.change.push({ssl_vf:c.pervadisplay[f].ssl,shared:c.pervadisplay[f].shared});for(var f=0;f<a;f++){p.top=4+50*f,16==d[f]?p.width=1046:p.width=566;var i=new fabric.Rect(p);q.add(i);var j=new fabric.Text("",r),k="SSL"+n[f]+" VFs\n";g(k,20+50*f,5,j);for(var l=0;l<=d[f]-1;l++){var m;m="FisherMan"==e[f]?0:l+1,h({top:10+50*f,left:80+60*l,ssl_name:"ssl"+n[f]+"_"+m.toString(),autoSelectedFlag:b,card_type:e[f]})}}}var j,k=c.model.ssl_card_num,l=c.model.each_ssl_vf_list,m=(c.model.ssl_core_list,c.model.ssl_vf_type),n=c.model.ssl_vf_index_list,o=60*k;j=l.indexOf(16)<0?566:1046,d[0].width=j,d[0].height=o;var p={left:0,top:4,width:566,height:44,fill:"#e9e9e9",hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1};fabric.Object.prototype.set({transparentCorners:!1,cornerColor:"rgba(102,153,255,0.5)",padding:5,cornerSize:15,hoverCursor:"pointer",selectable:!1});var q=window._canvas=new fabric.Canvas(d[0]),r={fill:"#000000",fontSize:13,fontFamily:"Open Sans",hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1},s=(new fabric.Text("",r),new fabric.Text("",r),new fabric.Text("",r)),t=[],u=!1,v=8;q.on({"mouse:down":function(b){if(b.target&&!w)if("available"==b.target.status){if(c.change.length==v)return void(u=!0);var d=a.open({templateUrl:"app/modules/common/templates/confirm.html",controller:"vaConfirm",controllerAs:"confirm",size:"sm",resolve:{modalData:{card_type:b.target.card_type}}});d.result.then(function(a){var d,e=b.target.top,f=b.target.left,g=b.target.name,h=b.target.hoverCursor,i="selected";b.target.remove(),a?(d="shared",c.change.push({ssl_vf:b.target.name,shared:"shared"})):(d="dedicated",c.change.push({ssl_vf:b.target.name,shared:"dedicated"})),fabric.Image.fromURL(SELECTED,function(a){q.add(a.set({top:e,left:f,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,name:g,hoverCursor:h,status:i,occupancy:d,card_type:b.target.card_type}))})})}else if("selected"==b.target.status){for(var e=b.target.name,f=0,g=c.display.slice(),h=c.change.length-1;h>=0;h--)if(c.change[h].ssl_vf==e){if(c.change.splice(h,1),t.includes(e))for(var h=g.length-1;h>=0;h--)if(g[h].ssl==e){g.splice(h,1);break}break}for(var h=g.length-1;h>=0;h--)if(g[h].ssl==e){b.target.setSrc(OCCUPIED),b.target.set({status:"occupied"}),f=1;break}f||(b.target.setSrc(AVAILABLE),b.target.set({status:"available"})),q.renderAll()}else for(var e=b.target.name,h=c.display.length-1;h>=0;h--)if(c.display[h].ssl==e&&"shared"==c.display[h].shared){if(c.change.length==v)return void(u=!0);b.target.setSrc(SELECTED),b.target.set({status:"selected"}),q.renderAll(),c.change.push({ssl_vf:e,shared:"shared"});break}},"mouse:over":function(a){if(a.target&&a.target.name){var c,d,e,f;c=a.target.getPointByOrigin(),d=a.target.name,shared=a.target.occupancy,e=d.split("_")[0],f=d.split("_")[1],"available"!=a.target.status&&("shared"==shared?/^[\u4e00-\u9fa5]+$/.test(b("T")(shared))?g(b("T")(shared),c.y+15,c.x-18,s):g(b("T")(shared),c.y+15,c.x-21,s):/^[\u4e00-\u9fa5]+$/.test(b("T")(shared))?g(b("T")(shared),c.y+15,c.x-18,s):g(b("T")(shared),c.y+15,c.x-30,s))}},"mouse:out":function(a){a.target&&s.remove()},"mouse:up":function(a){u&&(u=!1,alert(b("T")("Number of SSL VFs assigned to a VA instance should not exceed {0}.",[v]))),q.renderAll()}});var w=0;c.change&&c.change.length&&(w=1),i(c.model.ssl_card_num,w,l,m)}}}]),angular.module("avx.va").controller("vaUSBController",["$scope","$rootScope","$state","$stateParams","$uibModal","$filter","vaTableService","sysResourceService",function(a,b,c,d,e,f,g,h){a.current_va_name=d.name,a.loading=!0;var i=this,j=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};i.addUSBDevice=function(){var a=e.open({templateUrl:"app/modules/va/detail_pages/usb-add.html",controller:"vaUSBAddCtrl",controllerAs:"vaUSBAdd"});a.result.then(function(a){a&&i.refresh()})},i.get_info=function(){g.loadInstance(["va_name","attached_usb"]).then(function(b){if(b&&200===b.status)for(var c=0;c<b.data.length;c++)b.data[c].va_name==a.current_va_name&&(i.va_usb_list=b.data[c].attached_usb)})},i.get_info(),i["delete"]=function(c){var d=confirm(f("T")("Are you sure you want to do this?"));if(d){j();var e={pk:JSON.stringify({usb_name:c.usb_name,va:[{va_name:a.current_va_name,_asso_idx:0}]})};g.deleteUSBDevice(e).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status&&(a.data[0]||(alert(a.data[1]),form.$dirty=!0),i.refresh())})}},i.refresh=function(){i.va_usb_list=void 0,i.get_info()}}]).controller("vaUSBAddCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","$filter","apiService","vaTableService",function(a,b,c,d,e,f,g,h,i){var j=this;a.current_va_name=d.name,i.get_usb_list().then(function(c){c&&200===c.status&&(j.usb_list=c.data,a.allow_config=b.allow_config)}),j.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},j.modalClose=function(){e.close(!0)},j.create=function(){j.showProgressBar();var c={post_data:{usb_name:j.usb_name,va:[{va_name:a.current_va_name,_asso_idx:"0"}]}};c.post_data=JSON.stringify(c.post_data),i.createUSBDevice(c).then(function(a){a&&200===a.status?(a.data[0]?(b.$broadcast("endLoading",!0),a.data[2].length>0&&"warning"==a.data[2][0][0]&&alert(g("T")(a.data[2][0][1]))):(b.$broadcast("endLoading",!0),alert(g("T")(a.data[1]))),j.modalClose()):alert(g("T")("Failed to add the USB device!"))})}}]),angular.module("avx.va").controller("vaIPConfigCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$uibModalInstance","$filter","vaTableService","modalData",function(a,b,c,d,e,f,g,h,i){var j=this;j.mgmtType="e1000",j.modalClose=function(){f.dismiss()};var k=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};a.current_va_name=d.name;var l=(i.vendor,i.product_name);["vAPV","vxAG","vNSAE","vNETOPTI","vNETGATE"].indexOf(l)!=-1?a.current_va_is_array_va=!0:a.current_va_is_array_va=!1,j.data={ip:"",netmask_prefix:"",write_memory:!1},j.config_va_mgmtip=function(d){k(),d.va_name=a.current_va_name,d.is_array_va=!1,a.current_va_is_array_va&&(d.is_array_va=!0),h.va_mgmtip_config(d).then(function(d){b.$broadcast("endLoading",!0),d&&200===d.status?d.data.result?alert(d.data.result):(j.modalClose(),c.go("index.va.default.detail",{name:a.current_va_name},{reload:!0})):alert(g("T")("Failed to configure the management IP for VA {0}",[a.current_va_name]))})}}]),angular.module("avx.va").controller("vaNICTypeConfigCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$uibModalInstance","$filter","vaTableService","modalData",function(a,b,c,d,e,f,g,h,i){var j=this;j.modalClose=function(){f.dismiss()};var k=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};a.current_va_name=i.current_va_name,j.type=i.current_va_nic_type,j.config_va_nictype=function(a,c){k();var d={post_data:JSON.stringify({nic_type:c})};h.updateVAInstance(d,a).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status?c.data[0]?j.modalClose():alert(c.data[1]):alert(g("T")("Failed to set the virtual NIC type of the management interface of VA: {0}.",[a]))})}}]),angular.module("avx.va").controller("vaResourceEditCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","imageTableService","vaTableService","$filter","modalData","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){var l=this;if(l.changePort=[],l.changeSsl=[],l.va_name=d.name,a.current_va_status=j.status,a.domain_id=j.domain_id,l.memorySlider=j.memory,l.passthroughPortList=[],l.passthroughPortNumber=0,l.memoryOptions={floor:1,ceil:64,step:1,showSelectionBar:!0,translate:function(a){return a+"G"}},l.cpuSlider=j.cpu_thread,l.cpuOptions={floor:1,ceil:16,step:1,showSelectionBar:!0},l.firstDisk=j.attached_disk[0],l.firstDisk?l.diskName=l.firstDisk.disk_name:l.diskName="",l.firstDisk?l.disk=l.firstDisk.disk_size:l.disk_size="",j.attached_disk.length>1){for(var m=[],n=1;n<j.attached_disk.length;n++)m.push({diskName:j.attached_disk[n].disk_name,disk:j.attached_disk[n].disk_size});l.diskList=m}else l.diskList=[];l.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},l.refreshSlider=function(){k(function(){a.$broadcast("rzSliderForceRender")})},l.renderAssignPort=function(){return!!(l.avxModel&&l.changePort&&l.showVAINStancePort&&l.showPerVAINStancePort)},l.renderAssignSsl=function(){return!!(l.avxModel&&l.changeSsl&&l.showVAINStanceSSL&&l.showPerVAINStanceSsl)},l.Remove=function(a){l.diskList[a].diskName;l.diskList.splice(a,1)},l.RemoveFirstExdisk=function(){l.diskName="",l.disk=""},l.attachedDisk=function(){var a=l.diskList.length;if(a){if(l.diskList[a-1].diskName&&l.diskList[a-1].disk){var b={diskName:"",disk:""};l.diskList.push(b)}}else{var b={diskName:"",disk:""};l.diskList.push(b)}},l.checkPortNumber=function(a){l.changePort.length+l.getPassthroughPortList().length>20&&(a.passthrougthPort=!1,alert(i("T")("Number of port VFs assigned to a VA instance should not exceed 20.")))},l.getPassthroughPortList=function(){for(var a=[],b=l.passthroughPortList.length-1;b>=0;b--)l.passthroughPortList[b].passthrougthPort&&!l.passthroughPortList[b].passthrougthPortEnable&&a.push(l.passthroughPortList[b].name);return a},a.$watch(function(){return l.passthroughPortList},function(a){l.passthroughPortNumber=l.getPassthroughPortList().length},!0),h.querySystemInfo().then(function(b){if(b&&200===b.status)if(l.refreshSlider(),b.data.state){for(var c=0,e=0,f=[],g=[],j=[],k=[],m=[],n=0;n<b.data.data.domain.length;n++){b.data.data.domain[n].id==a.domain_id&&(l.memoryOptions.ceil=parseInt(b.data.data.domain[n].memory.left)+l.memorySlider,l.cpuOptions.ceil=parseInt(b.data.data.domain[n].cpu.left)+l.cpuSlider),c+=b.data.data.domain[n].port.length;for(var o=0;o<b.data.data.domain[n].port.length;o++)f.push(parseInt(b.data.data.domain[n].port[o].vf_sum)),k.push(b.data.data.domain[n].port[o].id),0==b.data.data.domain[n].port[o].vf_sum&&l.passthroughPortList.push({passthrougthPort:!1,passthrougthPortEnable:!1,name:"port"+b.data.data.domain[n].port[o].id});e+=b.data.data.domain[n].ssl.length;for(var p=0;p<b.data.data.domain[n].ssl.length;p++)g.push(parseInt(b.data.data.domain[n].ssl[p].vf_sum)),j.push(b.data.data.domain[n].ssl[p].card_type),m.push(b.data.data.domain[n].ssl[p].id)}l.avxModel={model:b.data.data.model,port_num:c,ssl_card_num:e,each_port_vf_list:f,each_ssl_vf_list:g,ssl_vf_type:j,port_vf_index_list:k,ssl_vf_index_list:m},h.showVAPort().then(function(a){if(a&&200===a.status){for(var b=a.data,c=[],e=[],f=0;f<b.length;f++){b[f].vf_index&&(c.push(b[f].port+"_"+b[f].vf_index.toString()),b[f].va_name==d.name&&e.push(b[f].port+"_"+b[f].vf_index.toString()));for(var g=l.passthroughPortList.length-1;g>=0;g--)l.passthroughPortList[g].name==b[f].port&&(b[f].va_name==d.name?l.passthroughPortList[g].passthrougthPortEnable=!1:l.passthroughPortList[g].passthrougthPortEnable=!0,l.passthroughPortList[g].passthrougthPort=!0)}l.showPerVAINStancePort=e,l.showVAINStancePort=c}else l.showPerVAINStancePort=[],l.showVAINStancePort=[]})}else alert(i("T")("Internal server error."));else l.avxModel={model:"",port_num:"",ssl_card_num:"",ssl_vf_type:[],each_port_vf_list:[],each_ssl_vf_list:[],ssl_vf_index_list:m}}),h.showVASSL().then(function(a){if(a&&200===a.status){for(var b=a.data,c=[],e=[],f=0;f<b.length;f++){var g={ssl:b[f].ssl+"_"+b[f].vf_index.toString(),shared:b[f].shared};c.push(g),b[f].va_name==d.name&&e.push(g)}l.showPerVAINStanceSsl=e,l.showVAINStanceSSL=c}else l.showPerVAINStanceSsl=[],l.showVAINStanceSSL=[]}),h.getRestDisk().then(function(a){a&&200===a.status&&(a.data.state?l.attachedDiskLimit=a.data.data:alert(i("T")("Internal server error.")))}),l.modalClose=function(){e.close(!0)},l.createVAPortSsl=function(){for(var a={post_data:{va_ssl:[],va_port:[],attached_disk:[]}},c=[{diskName:l.diskName,disk:l.disk}].concat(l.diskList),d=0;d<l.changeSsl.length;d++){ssl=l.changeSsl[d].ssl_vf.split("_")[0],vf_index=l.changeSsl[d].ssl_vf.split("_")[1],shared=l.changeSsl[d].shared;var f={ssl_name:[{ssl_type:ssl,_asso_idx:0}],shared:shared,vf_index:vf_index,va:[],_asso_idx:0};a.post_data.va_ssl.push(f)}if(l.passthroughPortList.length>0)for(var g=l.getPassthroughPortList(),d=g.length-1;d>=0;d--){var k={va:[],vf_index:0,_asso_idx:0,port_name:[{interface_name:g[d],_asso_idx:0}]};a.post_data.va_port.push(k)}for(var d=0;d<l.changePort.length;d++){port=l.changePort[d].split("_")[0],vf_index=l.changePort[d].split("_")[1];var k={va:[],vf_index:parseInt(vf_index),_asso_idx:0,port_name:[{interface_name:port,_asso_idx:0}]};a.post_data.va_port.push(k)}if(c&&c.length>0)for(var d=0;d<c.length;d++)if(c[d].diskName&&c[d].disk){var m={disk_name:c[d].diskName,disk_size:c[d].disk,va:[],_asso_idx:0};a.post_data.attached_disk.push(m)}l.memorySlider!=j.memory&&(a.post_data.memory=l.memorySlider),l.cpuSlider!=j.cpu_thread&&(a.post_data.cpu_thread=l.cpuSlider),a.post_data=JSON.stringify(a.post_data),h.updateVAInstance(a,l.va_name).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?(h.loadInstance().then(function(a){a&&200===a.status&&(l.va_list=a.data)}),a.data[0]?e.close(!0):alert(a.data[1].replace(/<br \/>/g,"\n"))):alert(i("T")("Failed to assign resources."))})},l.saveChange=function(){if(a.current_va_status)alert(i("T")("VA: {0} is running, cannot change resource allocation. Please shut it down first.",[l.va_name]));else{if(l.diskName&&!l.disk||!l.diskName&&l.disk)return void alert(i("T")("Disk name and disk size must be either both specified or both empty."));for(var b=0,c=0;c<l.diskList.length;c++){if(l.diskList[c].diskName&&!l.diskList[c].disk||!l.diskList[c].diskName&&l.diskList[c].disk)return void alert(i("T")("Disk name and disk size must be either both specified or both empty."));l.diskList[c].disk&&(b+=l.diskList[c].disk)}l.showProgressBar(),l.createVAPortSsl()}}}]),angular.module("avx.va").controller("vaTableDetailController",["$scope","$rootScope","$state","$stateParams","$location","vaTableService",function(a,b,c,d,e,f){c.current.ncyBreadcrumb.label=d.name,a.url_contain=function(a){return e.path().indexOf(a)!=-1},b.title=d.name,a.current_va_name=d.name,f.getVAInstanceDefault(a.current_va_name).then(function(b){b&&200===b.status&&(a.current_va_status=b.data.status,a.current_va_product_name=b.data.product_name,a.current_va_vendor=b.data.vendor,"Array Networks"==a.current_va_vendor&&"vAWF"!=a.current_va_product_name&&"vWAN"!=a.current_va_product_name?a.current_va_is_array_va=!0:a.current_va_is_array_va=!1)}),e.path()=="/va/detail/"+a.current_va_name&&c.go("index.va.default.detail.basic",{name:a.current_va_name})}]),angular.module("avx.va").controller("valicenseInfoViewCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","vaTableService","sysResourceService","modalData","$filter",function(a,b,c,d,e,f,g,h,i,j){a.current_va_name=i.va_name,a.current_va_size=i.va_size,"Running"==i.status?a.current_va_status=!0:a.current_va_status=!1;var k=this;k.modalClose=function(){e.dismiss()};var l=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};k.showVXAGPoolLicensePage=function(){var b=f.open({templateUrl:"app/modules/va/license/array/vxAG_license-update.html",controller:"systemPoolLicenseCtrl",controllerAs:"poolLicense",size:"lg",resolve:{modalData:{va_name:a.current_va_name}}});b.closed.then(function(){o()})},k.showNetgatePoolLicensePage=function(){var b=f.open({templateUrl:"app/modules/va/license/array/vNetGate_license-update.html",controller:"netgatePoolLicenseCtrl",controllerAs:"poolLicense",size:"lg",resolve:{modalData:{va_name:a.current_va_name}}});b.closed.then(function(){o()})},k.showNetIagPoolLicensePage=function(){var b=f.open({templateUrl:"app/modules/va/license/array/vNetIag_license-update.html",controller:"netiagPoolLicenseCtrl",controllerAs:"poolLicense",size:"lg",resolve:{modalData:{va_name:a.current_va_name}}});b.closed.then(function(){o()})},k.showVAPVLicensePage=function(){var b=f.open({templateUrl:"app/modules/va/license/array/vAPV_license-update.html",controller:"apvCentralLicenseCtrl",controllerAs:"apvCentralLicense",size:"lg",resolve:{modalData:{va_name:a.current_va_name,va_size:a.current_va_size}}});b.closed.then(function(){m()})};var m=function(){k.showVersion_apv=void 0,g.getVAVersionInfo(a.current_va_name).then(function(a){if(a&&200===a.status){k.showVersion_apv=a.data[0];var b=a.data[0].license_status;b.indexOf("invalid")!=-1?k.invalid_license=!0:b.indexOf("expired")!=-1?k.expired_license=!0:b.indexOf("normal")!=-1&&(k.licensed=!0)}})},n=function(){k.showVersion_ag=void 0,g.getVAVersionInfo(a.current_va_name).then(function(a){if(a&&200===a.status){k.showVersion_ag=a.data[0];var b=a.data[0].license_status;b.indexOf("invalid")!=-1?k.invalid_license=!0:b.indexOf("expired")!=-1?k.expired_license=!0:b.indexOf("normal")!=-1&&(k.licensed=!0)}})},o=function(){h.get_sys_pool_license_info().then(function(c){c&&200===c.status&&h.get_per_va_sys_pool_license_assignment(a.current_va_name).then(function(a){if(a&&200===a.status){n(),k.showVersion=c.data,k.va_licensed_vs_pre=void 0==a.data[0]?0:a.data[0].vs,k.va_licensed_user_pre=void 0==a.data[0]?0:a.data[0].user,k.va_licensed_s2s_pre=void 0==a.data[0]?0:a.data[0].s2s,k.showVersion.va_licensed_vs=void 0==a.data[0]?0:a.data[0].vs,k.showVersion.va_licensed_user=void 0==a.data[0]?0:a.data[0].user,k.showVersion.va_licensed_s2s=void 0==a.data[0]?0:a.data[0].s2s,k.total_licensed_vs=c.data.licensed_vs.split(" (")[0],k.left_licensed_vs=parseInt(k.total_licensed_vs)-parseInt(c.data.licensed_vs.split(" (")[1].split(" Used)")[0]),k.total_licensed_user=c.data.licensed_user.split(" (")[0],k.left_licensed_user=parseInt(k.total_licensed_user)-parseInt(c.data.licensed_user.split(" (")[1].split(" Used)")[0]),k.total_licensed_s2s=c.data.licensed_s2s.split(" (")[0],k.left_licensed_s2s=parseInt(k.total_licensed_s2s)-parseInt(c.data.licensed_s2s.split(" (")[1].split(" Used)")[0]);var d=i.va_size;"shared-entry"==d||"entry"==d?(k.left_licensed_vs_display=20<k.left_licensed_vs+k.va_licensed_vs_pre?20:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=600<k.left_licensed_user+k.va_licensed_user_pre?600:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=600<k.left_licensed_s2s+k.va_licensed_s2s_pre?600:k.left_licensed_s2s+k.va_licensed_s2s_pre):"small"==d?(k.left_licensed_vs_display=256<k.left_licensed_vs+k.va_licensed_vs_pre?256:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=1e4<k.left_licensed_user+k.va_licensed_user_pre?1e4:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=1e4<k.left_licensed_s2s+k.va_licensed_s2s_pre?1e4:k.left_licensed_s2s+k.va_licensed_s2s_pre):"medium"==d?(k.left_licensed_vs_display=256<k.left_licensed_vs+k.va_licensed_vs_pre?256:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=25e3<k.left_licensed_user+k.va_licensed_user_pre?25e3:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=25e3<k.left_licensed_s2s+k.va_licensed_s2s_pre?25e3:k.left_licensed_s2s+k.va_licensed_s2s_pre):"large"==d&&(k.left_licensed_vs_display=256<k.left_licensed_vs+k.va_licensed_vs_pre?256:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=128e3<k.left_licensed_user+k.va_licensed_user_pre?128e3:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=128e3<k.left_licensed_s2s+k.va_licensed_s2s_pre?128e3:k.left_licensed_s2s+k.va_licensed_s2s_pre),0==a.data.length?k.assign=function(a,c){l(),h.assign_sys_pool_license_resource(a,c.va_licensed_vs,c.va_licensed_user,c.va_licensed_s2s).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?o():(alert(a.data[1]),o()):alert(j("T")("Failed to assign the resource from the vxAG pool license."))})}:k.assign=function(a,c){l(),h.update_per_va_sys_pool_license_assignment(a,c.va_licensed_vs,c.va_licensed_user,c.va_licensed_s2s).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?o():(alert(a.data[1]),o()):alert(j("T")("Failed to assign the resource from the vxAG pool license."))})}}})})},p=function(){h.get_netgate_license_info().then(function(c){c&&200===c.status&&h.get_per_va_netgate_pool_license_assignment(a.current_va_name).then(function(a){if(a&&200===a.status){n(),k.showVersion=c.data,k.va_licensed_vs_pre=void 0==a.data[0]?0:a.data[0].vs,k.va_licensed_user_pre=void 0==a.data[0]?0:a.data[0].user,k.va_licensed_s2s_pre=void 0==a.data[0]?0:a.data[0].s2s,k.showVersion.va_licensed_vs=void 0==a.data[0]?0:a.data[0].vs,k.showVersion.va_licensed_user=void 0==a.data[0]?0:a.data[0].user,k.showVersion.va_licensed_s2s=void 0==a.data[0]?0:a.data[0].s2s,k.total_licensed_vs=c.data.licensed_vs.split(" (")[0],k.left_licensed_vs=parseInt(k.total_licensed_vs)-parseInt(c.data.licensed_vs.split(" (")[1].split(" Used)")[0]),k.total_licensed_user=c.data.licensed_user.split(" (")[0],k.left_licensed_user=parseInt(k.total_licensed_user)-parseInt(c.data.licensed_user.split(" (")[1].split(" Used)")[0]),k.total_licensed_s2s=c.data.licensed_s2s.split(" (")[0],k.left_licensed_s2s=parseInt(k.total_licensed_s2s)-parseInt(c.data.licensed_s2s.split(" (")[1].split(" Used)")[0]);var d=i.va_size;"shared-entry"==d||"entry"==d?(k.left_licensed_vs_display=20<k.left_licensed_vs+k.va_licensed_vs_pre?20:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=600<k.left_licensed_user+k.va_licensed_user_pre?600:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=600<k.left_licensed_s2s+k.va_licensed_s2s_pre?600:k.left_licensed_s2s+k.va_licensed_s2s_pre):"small"==d?(k.left_licensed_vs_display=256<k.left_licensed_vs+k.va_licensed_vs_pre?256:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=1e4<k.left_licensed_user+k.va_licensed_user_pre?1e4:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=1e4<k.left_licensed_s2s+k.va_licensed_s2s_pre?1e4:k.left_licensed_s2s+k.va_licensed_s2s_pre):"medium"==d?(k.left_licensed_vs_display=256<k.left_licensed_vs+k.va_licensed_vs_pre?256:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=25e3<k.left_licensed_user+k.va_licensed_user_pre?25e3:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=25e3<k.left_licensed_s2s+k.va_licensed_s2s_pre?25e3:k.left_licensed_s2s+k.va_licensed_s2s_pre):"large"==d&&(k.left_licensed_vs_display=256<k.left_licensed_vs+k.va_licensed_vs_pre?256:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=128e3<k.left_licensed_user+k.va_licensed_user_pre?128e3:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=128e3<k.left_licensed_s2s+k.va_licensed_s2s_pre?128e3:k.left_licensed_s2s+k.va_licensed_s2s_pre),0==a.data.length?k.assign=function(a,c){l(),h.assign_sys_pool_license_resource(a,c.va_licensed_vs,c.va_licensed_user,c.va_licensed_s2s).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?p():(alert(a.data[1]),p()):alert(j("T")("Failed to assign the resource from the vxAG pool license."))})}:k.assign=function(a,c){l(),h.update_per_va_sys_pool_license_assignment(a,c.va_licensed_vs,c.va_licensed_user,c.va_licensed_s2s).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?p():(alert(a.data[1]),p()):alert(j("T")("Failed to assign the resource from the vxAG pool license."))})}}})})},q=function(){h.get_netiag_license_info().then(function(c){c&&200===c.status&&h.get_per_va_netiag_pool_license_assignment(a.current_va_name).then(function(a){if(a&&200===a.status){n(),k.showVersion=c.data,k.va_licensed_vs_pre=void 0==a.data[0]?0:a.data[0].vs,k.va_licensed_user_pre=void 0==a.data[0]?0:a.data[0].user,k.va_licensed_s2s_pre=void 0==a.data[0]?0:a.data[0].s2s,k.showVersion.va_licensed_vs=void 0==a.data[0]?0:a.data[0].vs,k.showVersion.va_licensed_user=void 0==a.data[0]?0:a.data[0].user,k.showVersion.va_licensed_s2s=void 0==a.data[0]?0:a.data[0].s2s,k.total_licensed_vs=c.data.licensed_vs.split(" (")[0],k.left_licensed_vs=parseInt(k.total_licensed_vs)-parseInt(c.data.licensed_vs.split(" (")[1].split(" Used)")[0]),k.total_licensed_user=c.data.licensed_user.split(" (")[0],k.left_licensed_user=parseInt(k.total_licensed_user)-parseInt(c.data.licensed_user.split(" (")[1].split(" Used)")[0]),k.total_licensed_s2s=c.data.licensed_s2s.split(" (")[0],k.left_licensed_s2s=parseInt(k.total_licensed_s2s)-parseInt(c.data.licensed_s2s.split(" (")[1].split(" Used)")[0]);var d=i.va_size;"shared-entry"==d||"entry"==d?(k.left_licensed_vs_display=20<k.left_licensed_vs+k.va_licensed_vs_pre?20:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=600<k.left_licensed_user+k.va_licensed_user_pre?600:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=600<k.left_licensed_s2s+k.va_licensed_s2s_pre?600:k.left_licensed_s2s+k.va_licensed_s2s_pre):"small"==d?(k.left_licensed_vs_display=256<k.left_licensed_vs+k.va_licensed_vs_pre?256:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=1e4<k.left_licensed_user+k.va_licensed_user_pre?1e4:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=1e4<k.left_licensed_s2s+k.va_licensed_s2s_pre?1e4:k.left_licensed_s2s+k.va_licensed_s2s_pre):"medium"==d?(k.left_licensed_vs_display=256<k.left_licensed_vs+k.va_licensed_vs_pre?256:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=25e3<k.left_licensed_user+k.va_licensed_user_pre?25e3:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=25e3<k.left_licensed_s2s+k.va_licensed_s2s_pre?25e3:k.left_licensed_s2s+k.va_licensed_s2s_pre):"large"==d&&(k.left_licensed_vs_display=256<k.left_licensed_vs+k.va_licensed_vs_pre?256:k.left_licensed_vs+k.va_licensed_vs_pre,k.left_licensed_user_display=128e3<k.left_licensed_user+k.va_licensed_user_pre?128e3:k.left_licensed_user+k.va_licensed_user_pre,k.left_licensed_s2s_display=128e3<k.left_licensed_s2s+k.va_licensed_s2s_pre?128e3:k.left_licensed_s2s+k.va_licensed_s2s_pre),0==a.data.length?k.assign=function(a,c){l(),h.assign_sys_pool_license_resource(a,c.va_licensed_vs,c.va_licensed_user,c.va_licensed_s2s).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?q():(alert(a.data[1]),q()):alert(j("T")("Failed to assign the resource from the vxAG pool license."))})}:k.assign=function(a,c){l(),h.update_per_va_sys_pool_license_assignment(a,c.va_licensed_vs,c.va_licensed_user,c.va_licensed_s2s).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?q():(alert(a.data[1]),q()):alert(j("T")("Failed to assign the resource from the vxAG pool license."))})}}})})},r=i.product_name;g.loadInstance(["va_name","type"]).then(function(b){b&&200===b.status&&_.each(b.data,function(b){b.va_name===a.current_va_name&&(b.type?k.license_type=b.type:k.license_type="N/A")})}),i.hide_footer?k.hide_footer=!0:k.hide_footer=!1,"vAPV"==r?m():"vxAG"==r?o():r.toLowerCase().indexOf("netgate")?p():r.toLowerCase().indexOf("netiag")&&q()}]).controller("apvCentralLicenseCtrl",["$scope","$rootScope","$state","$uibModal","modalData","$uibModalInstance","sysResourceService","$filter",function(a,b,c,d,e,f,g,h){var i=this;a.current_va_name=e.va_name,a.current_va_size=e.va_size,i.modalClose=function(){f.dismiss()};var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};i["import"]=function(a,c){j();var d={action:"Assign",options:JSON.stringify({va_name:a,license_type:"Individual",license_key:c,product_type:"apv"})};g.assignVapvLicense(d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?f.close(!0):alert(a.data[1]):alert(h("T")("Internal server error."))})},i.generate=function(c){j(),g.generate_va_individual_license_request_file(c,"","","","",a.current_va_size).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c=new Blob([a.data],{type:"text/plain"}),d="vAPV_individual_license_request.txt",e=document.createElement("a");e.id="lic_request_file",document.body.appendChild(e),navigator.appVersion.toString().indexOf(".NET")>0?window.navigator.msSaveBlob(c,d):(e.download=d,e.href=URL.createObjectURL(c),e.click()),document.body.removeChild(document.getElementById("lic_request_file"))}else alert(h("T")("Failed to generate the license request file."))})}}]).controller("systemPoolLicenseCtrl",["$scope","$rootScope","$state","$uibModal","modalData","$uibModalInstance","sysResourceService","$filter",function(a,b,c,d,e,f,g,h){var i=this;a.current_va_name=e.va_name,i.modalClose=function(){f.dismiss()};var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};i["import"]=function(a,c){j();var d={action:"Assign",options:JSON.stringify({va_name:a,license_type:"Individual",license_key:c,product_type:"ag"})};g.assignVapvLicense(d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?f.close(!0):alert(a.data[1]):alert(h("T")("Internal server error."))})},i.generate=function(a,c,d,e,f){var f;f="custom"==i.licensed_vxag_num?i.licensed_vxag:i.licensed_vxag_num,d="custom"==i.licensed_user_num?i.licensed_user:i.licensed_user_num,j(),g.generate_va_individual_license_request_file(a,c,d,e,f).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c=new Blob([a.data],{type:"text/plain"}),d="vxAG_individual_license_request.txt",e=document.createElement("a");
+e.id="lic_request_file",document.body.appendChild(e),navigator.appVersion.toString().indexOf(".NET")>0?window.navigator.msSaveBlob(c,d):(e.download=d,e.href=URL.createObjectURL(c),e.click()),document.body.removeChild(document.getElementById("lic_request_file"))}else alert(h("T")("Failed to generate the license request file."))})}}]).controller("netiagPoolLicenseCtrl",["$scope","$rootScope","$state","$uibModal","modalData","$uibModalInstance","sysResourceService","$filter",function(a,b,c,d,e,f,g,h){var i=this;a.current_va_name=e.va_name,i.modalClose=function(){f.dismiss()};var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};i["import"]=function(a,c){j();var d={action:"Assign",options:JSON.stringify({va_name:a,license_type:"Individual",license_key:c,product_type:"netiag"})};g.assignVapvLicense(d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?f.close(!0):alert(a.data[1]):alert(h("T")("Internal server error."))})},i.generate=function(a,c,d,e,f){var f;f="custom"==i.licensed_vxag_num?i.licensed_vnetiag:i.licensed_vxag_num,d="custom"==i.licensed_user_num?i.licensed_user:i.licensed_user_num,j(),g.generate_netiag_license_request_file(a,c,d,e,f).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c=new Blob([a.data],{type:"text/plain"}),d="vNetiag_individual_license_request.txt",e=document.createElement("a");e.id="lic_request_file",document.body.appendChild(e),navigator.appVersion.toString().indexOf(".NET")>0?window.navigator.msSaveBlob(c,d):(e.download=d,e.href=URL.createObjectURL(c),e.click()),document.body.removeChild(document.getElementById("lic_request_file"))}else alert(h("T")("Failed to generate the license request file."))})}}]).controller("netgatePoolLicenseCtrl",["$scope","$rootScope","$state","$uibModal","modalData","$uibModalInstance","sysResourceService","$filter",function(a,b,c,d,e,f,g,h){var i=this;a.current_va_name=e.va_name,i.modalClose=function(){f.dismiss()};var j=function(){d.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};i["import"]=function(a,c){j();var d={action:"Assign",options:JSON.stringify({va_name:a,license_type:"Individual",license_key:c,product_type:"netgate"})};g.assignVapvLicense(d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?f.close(!0):alert(a.data[1]):alert(h("T")("Internal server error."))})},i.generate=function(a,c,d,e,f){var f;f="custom"==i.licensed_vxag_num?i.licensed_vnetgate:i.licensed_vxag_num,d="custom"==i.licensed_user_num?i.licensed_user:i.licensed_user_num,j(),g.generate_netgate_license_request_file(a,c,d,e,f).then(function(a){if(b.$broadcast("endLoading",!0),a&&200===a.status){var c=new Blob([a.data],{type:"text/plain"}),d="vNetgate_individual_license_request.txt",e=document.createElement("a");e.id="lic_request_file",document.body.appendChild(e),navigator.appVersion.toString().indexOf(".NET")>0?window.navigator.msSaveBlob(c,d):(e.download=d,e.href=URL.createObjectURL(c),e.click()),document.body.removeChild(document.getElementById("lic_request_file"))}else alert(h("T")("Failed to generate the license request file."))})}}]),angular.module("avx.va").controller("MonitorCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$location","$filter","modalData",function(a,b,c,d,e,f,g,h){a.closeMonitorModal=function(){e.dismiss()},a.current_va_name=h.va_name,a.current_va_ip=h.ip,a.current_va_product_name=h.product_name,a.widgets=[{name:"cpu_usage",icon:"line-chart",verbose_name:"CPU Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["cpu_usage"],from:"snmp_scada_node",where:["origin_id = '"+a.current_va_ip+"'"],time:["now() - 10m"]}]}},{name:"memory_usage",icon:"line-chart",verbose_name:"Memory Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["mem_usage"],from:"snmp_scada_node",where:["origin_id = '"+a.current_va_ip+"'"],time:["now() - 10m"]}]}}],"vNETSIGN"==a.current_va_product_name?a.widgets.push({name:"disk_usage",icon:"line-chart",verbose_name:"Disk Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["used_disk*100/(used_disk + free_disk)"],from:"snmp_scada_node",where:["origin_id = '"+a.current_va_ip+"'"],time:["now() - 10m"]}]}}):(a.widgets.push({name:"network_throughput",icon:"line-chart",verbose_name:"Network Throughput (Kbps)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["Receive","Send"],xAxis_splitNumber:3,yAxis_splitNumber:1,yAxis_axisLine_show:!1,legend_show:!1,gradient:!0},datasource:[{type:"influxdb",select:["inoctets/1024"],from:"snmp_throughput",where:["label = 'total' and origin_id = '"+a.current_va_ip+"'"],time:["now() - 5m"]},{type:"influxdb",select:["outoctets/1024"],from:"snmp_throughput",where:["label = 'total' and origin_id = '"+a.current_va_ip+"'"],time:["now() - 5m"]}]}}),"vxAG"==a.current_va_product_name||"vNETGATE"==a.current_va_product_name?a.widgets.push({name:"session_num",icon:"line-chart",verbose_name:"Session Number",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["num"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["session_num"],from:"snmp_scada_node",where:["origin_id = '"+a.current_va_ip+"'"],time:["now() - 10m"]}]}}):a.widgets.push({name:"disk_usage",icon:"line-chart",verbose_name:"Disk Usage (%)",cls:"LineGraphWidget",args:{params:{flush:"1000",xAxis_line:20,yAxis_name:["used"],yAxis_max:100,xAxis_splitNumber:3,yAxis_splitNumber:2,yAxis_axisLine_show:!1,legend_show:!1},datasource:[{type:"influxdb",select:["(used*100)/size"],from:"snmp_storage",where:["origin_id = '"+a.current_va_ip+"'","label = 'total'"],time:["now() - 10m"]}]}}))}]),angular.module("avx.va").controller("vaBackupController",["$scope","$rootScope","$state","$stateParams","$location","$uibModal","$aside","vaTableService","$filter",function(a,b,c,d,e,f,g,h,i){b.title="VA Backup";var j=this;a.allow_config=b.allow_config,j.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},j["export"]=function(a){f.open({templateUrl:"app/modules/va/va-backup-export.html",controller:"vaBackupExportCtrl",controllerAs:"export",resolve:{modalData:a}})},j["import"]=function(){var a=f.open({templateUrl:"app/modules/va/va-backup-import.html",controller:"vaBackupImportCtrl",controllerAs:"import",resolve:{modalData:{tableData:j.tableData}}});a.result.then(function(a){a&&j.refresh()})},j.restore=function(a){f.open({templateUrl:"app/modules/va/va-backup-restore.html",controller:"vaBackupRestoreCtrl",controllerAs:"restore",resolve:{modalData:a}})},j.addBackup=function(){var a=f.open({templateUrl:"app/modules/va/va-backup.html",controller:"vaBackupCtrl",controllerAs:"backup",resolve:{modalData:{va_name:""}}});a.result.then(function(a){a&&j.refresh()})},j.getBackupData=function(){h.getVABackupList().then(function(a){a&&200===a.status&&(j.tableData=a.data)})},j.refresh=function(){j.tableData=void 0,j.getBackupData()},j["delete"]=function(a){confirm(i("T")("Are you sure to delete the Backup?"))&&(j.showProgressBar(),RequestData={pk:JSON.stringify({backup_name:a.backup_name})},h.deleteBackupVAInstance(RequestData).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?j.refresh():alert(a.data[1]):alert(i("T")("Failed to delete backup VA instance."))}))},j.getBackupData()}]).controller("vaBackupExportCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","$filter","vaTableService","modalData","sysResourceService",function(a,b,c,d,e,f,g,h,i,j){var k=this;k.type="url",k.backup_name=i.backup_name,k.backup_name&&(k.backupNameDisabled=!0),k.modalClose=function(){e.dismiss()},k.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},k.get_backup_udisk_info=function(){j.get_udisk_name().then(function(a){a&&200===a.status&&(k.diskNameList=a.data)})},k.save=function(){k.showProgressBar();var a={action:"Export"};"url"==k.type?a.options=JSON.stringify({__pk_list:[JSON.stringify({backup_name:k.backup_name})],type:k.type,url:k.url,user_name:k.user_name,password:k.password}):a.options=JSON.stringify({__pk_list:[JSON.stringify({backup_name:k.backup_name})],type:k.type,usb:k.disk_name,export_name:k.export_backup_name}),h.backupActionVAInstance(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?e.close(!0):alert(a.data[1]):alert(g("T")("Internal Error"))})},k.get_backup_udisk_info()}]).controller("vaBackupImportCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","$filter","vaTableService","sysResourceService","modalData",function(a,b,c,d,e,f,g,h,i,j){var k=this;k.type="url",k.modalClose=function(){e.dismiss()},k.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},a.$watch(function(){return k.disk_name},function(a){k.disk_name&&k.disk_name in k.udiskFileList&&(k.fileNameList=k.udiskFileList[k.disk_name])},!0),k.get_load_udisk_file=function(){i.get_udisk_name().then(function(a){if(a&&200===a.status){k.udiskNameList=a.data;for(var b={},c=0;c<a.data.length;c++)b[a.data[c].name]=[];i.get_udisk_files().then(function(a){if(a&&200===a.status){for(var c=0;c<a.data.length;c++){var d=a.data[c].udisk[0];d in b&&b[d].push(a.data[c].disk_file)}k.udiskFileList=b}})}})},k.save=function(){for(var a="url"==k.type?k.url.split("/").pop():k.import_name,c=j.tableData.length-1;c>=0;c--)if(j.tableData[c].backup_name==a){if(!confirm(g("T")("This VA instance backup file already exists! Are you sure you want to overwrite the existing file?")))return;break}k.showProgressBar();var d={action:"Import"};"url"==k.type?d.options=JSON.stringify({type:k.type,url:k.url,user_name:k.user_name,password:k.password}):d.options=JSON.stringify({type:k.type,usb:k.disk_name,import_name:k.import_name}),h.backupActionVAInstance(d).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?e.close(!0):alert(a.data[1]):alert(g("T")("Internal Error"))})},k.get_load_udisk_file()}]).controller("vaBackupRestoreCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","$filter","vaTableService","longPollingService","modalData",function(a,b,c,d,e,f,g,h,i,j){var k=this;k.domain="0",k.backup_name=j.backup_name,k.backup_name&&(k.backupNameDisabled=!0),k.modalClose=function(){e.dismiss()},k.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},h.querySystemInfo().then(function(a){if(a&&200===a.status&&a.data.state){var b=a.data.data,c=["0"];_.each(b.domain,function(a){c.push(a.id)}),k.domainList=c}}),k.save=function(){k.showProgressBar();var a={action:"Restore",options:JSON.stringify({__pk_list:[JSON.stringify({backup_name:k.backup_name})],domain:k.domain})};h.backupActionVAInstance(a).then(function(a){if(a&&200===a.status)if(a.data[0]){var c=a.data[1].pipeid,d=!1,h="",j="",l=function(a){i.long_polling(a).then(function(c){if(c&&200===c.status){if(d&&(d=!1),c.data.msg)if(c.data.msg.indexOf("Resouce Mapping")>-1)alert(c.data.msg);else if(c.data.msg.indexOf("specify a virtual switch")>-1){b.$broadcast("endLoading",!0);var i=f.open({templateUrl:"app/modules/va/specify-backup-name.html",controller:"specifyBackupCtrl",controllerAs:"specify",backdrop:!1,resolve:{modalData:{pipeid:a,image:h,instance:j,type:"switch"}}});i.result.then(function(a){k.showProgressBar()})}else if(c.data.msg.indexOf("please specify a new instance name")>-1){b.$broadcast("endLoading",!0);var i=f.open({templateUrl:"app/modules/va/specify-backup-name.html",controller:"specifyBackupCtrl",controllerAs:"specify",backdrop:!1,resolve:{modalData:{image:h,pipeid:a,type:"instance"}}});i.result.then(function(a){a&&(j=a,k.showProgressBar())})}else if(c.data.msg.indexOf("please specify a new image name")>-1){b.$broadcast("endLoading",!0);var i=f.open({templateUrl:"app/modules/va/specify-backup-name.html",controller:"specifyBackupCtrl",controllerAs:"specify",backdrop:!1,resolve:{modalData:{pipeid:a,type:"image"}}});i.result.then(function(a){a&&(h=a,k.showProgressBar())})}else if(c.data.msg.indexOf("The maximum number of virtual switch has been reached.")>-1)return b.$broadcast("endLoading",!0),void alert(g("T")("The maximum number of virtual switch has been reached."));c.data.is_finished?(b.$broadcast("endLoading",!0),e.close(!0)):setTimeout(function(){l(a)},3e3)}})};l(c)}else b.$broadcast("endLoading",!0),alert(a.data[1]);else b.$broadcast("endLoading",!0),alert(g("T")("Internal Error"))})}}]).controller("specifyBackupCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","$filter","longPollingService","modalData",function(a,b,c,d,e,f,g,h,i){var j=this;j.pipeid=i.pipeid,j.type=i.type,"image"in i&&i.image?j.imageDisabled=!0:"instance"in i&&i.instance&&(j.instanceDisabled=!0),j.modalClose=function(){e.dismiss()},j.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},j.save=function(){j.showProgressBar();var a="";"image"==j.type?a=j.image:"instance"==j.type?a=j.instance:"switch"==j.type&&(a=j["switch"]),h.post_long_polling(j.pipeid,a).then(function(c){b.$broadcast("endLoading",!0),c&&200===c.status&&e.close(a)})}}]),angular.module("avx.va").controller("vaTableController",["$scope","$rootScope","$state","$stateParams","$location","$uibModal","$aside","vaTableService","$filter","localStorageService",function(a,b,c,d,e,f,g,h,i,j){"System Statistics"!=b.title&&(b.title="VA");var k=this;a.allow_config=b.allow_config,k.imageData=[],k.refreshVAInstance=function(){c.go("index.va.default",{},{reload:!0})},h.loadAllImages().then(function(a){a&&200===a.status&&(k.imageData=a.data)}),h.loadInstance(["tgt_name","va_name","ip","product_category","va_size","status","va_vncport","product_name","vendor","boottime","type"]).then(function(a){a&&200===a.status&&(_.each(a.data,function(a){1==a.status?a.status="Running":a.status="Shutoff",a.image=a.tgt_name,delete a.tgt_name,_.each(k.imageData,function(b){b.image_name==a.image&&(a.image_support_size=b.size,1==a.image_support_size.split(", ").length?0==a.change_allow:a.change_allow=!0)})}),k.tableData=a.data)}),k.showMonitor=function(a){g.open({templateUrl:"app/modules/va/monitoring/monitoring.html",controller:"MonitorCtrl",controllerAs:"monitor",placement:"right",size:"md",resolve:{modalData:a}})},k.showVAImageInfo=function(a){f.open({templateUrl:"app/modules/va/per_va_image_info.html",controller:"imageInfoViewCtrl",controllerAs:"imageInfo",size:"lg",resolve:{modalData:a}})},k.showVALicenseInfo=function(a){var b=a.product_name,c="app/modules/va/license/default/default.html";"vAPV"==b||"vxAG"==b||"vAWF"==b||"vWAN"==b?c="app/modules/va/license/array/"+b+".html":"PTAF-VM"==b?c="app/modules/va/license/pt/"+b+".html":"SG6000-VM"==b?c="app/modules/va/license/hillstone/"+b+".html":"vNETGATE "==b||"vNETGATE"==b?c="app/modules/va/license/array/vNetgate.html":"NetIAG"!=b&&"vNetIAG"!=b||(c="app/modules/va/license/array/vNetiag.html");f.open({templateUrl:c,controller:"valicenseInfoViewCtrl",controllerAs:"vaLicenseInfo",size:"lg",resolve:{modalData:a}})},k.showVAAddModal=function(){var a=f.open({templateUrl:"app/modules/va/va-add.html",controller:"vaAddCtrl",controllerAs:"vaAdd",resolve:{type:function(){return null}}});a.result.then(function(a){k.vaCreatedObject=a,a.state&&k.refreshVAInstance()})},k.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},k.startVAInstance=function(a){var c=confirm(i("T")("Are you sure you want to start the VA instance?"));c&&(k.showProgressBar(),h.actionUpdateVAInstance("Start",a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?k.refreshVAInstance():alert(a.data[1]):alert(i("T")("Failed to start the VA instance."))}))},k.shutoffVAInstance=function(a){var c=confirm(i("T")("Are you sure you want to shut down the VA instance?"));c&&(k.showProgressBar(),h.actionUpdateVAInstance("Shutdown",a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?k.refreshVAInstance():alert(a.data[1]):alert(i("T")("Failed to shut down the VA instance."))}))},k.deleteVAInstance=function(a){var c=f.open({templateUrl:"app/modules/common/templates/delete_confirm.html",controller:"deleteConfirmCtrl",controllerAs:"confirm",resolve:{modalData:{info:i("T")("You are preparing to delete the VA instance: {0}. After the VA instance is deleted, services provided by it will no longer be available. Are you sure you want to coutinue?",[a])}}});c.result.then(function(c){c&&(k.showProgressBar(),RequestData={pk:JSON.stringify({va_name:a})},h.deleteVAInstance(RequestData).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?k.refreshVAInstance():alert(a.data[1]):alert(i("T")("Failed to delete VA instance."))}))})},k.changeVAInstanceSize=function(a,b,c){var d=f.open({templateUrl:"app/modules/va/va-change-size.html",controller:"vaChangeCtrl",controllerAs:"vaCtrl",resolve:{name:function(){return a},old_size:function(){return b},image_support_size:function(){return c}}});d.result.then(function(a){a&&k.refreshVAInstance()})},k.backupVAInstance=function(a){f.open({templateUrl:"app/modules/va/va-backup.html",controller:"vaBackupCtrl",controllerAs:"backup",resolve:{modalData:a}})},k.connectVNC=function(a,b,c){"Shutoff"==c?alert("Please start this VA instance first."):b?(requestData={va_instance:a,va_vncport:b},h.connectVNC(requestData).then(function(c){if(c&&200===c.status)if(c.data.state){var d=c.data.data;window.open("/avx/va/vnc_html/"+a+"/"+b+"/"+d,"_blank")}else alert(c.data.data);else alert("Connect VNC failed")})):alert("This VA instance does not provide a VNC console.")}}]).controller("imageInfoViewCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","vaTableService","modalData",function(a,b,c,d,e,f,g){var h=this;a.current_image_name=g.image,f.loadAllImages().then(function(b){b&&200===b.status&&_.each(b.data,function(b){if(b.image_name==g.image)return a.current_image_data=b,!1})}),h.modalClose=function(){e.dismiss()}}]).controller("vaChangeCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","imageTableService","vaTableService","name","old_size","image_support_size",function(a,b,c,d,e,f,g,h,i,j,k){var l=this;l.va_name=i,l.supprt_size_list=[];var m=k.split(", ");m.splice(m.indexOf(j),1),_.each(m,function(a){"custom"!=a&&l.supprt_size_list.push(a)}),l.modalClose=function(){e.dismiss()},l.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},l.save=function(){l.showProgressBar(),RequestData={post_data:JSON.stringify({va_size:l.va_size})},h.updateVAInstance(RequestData,i).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?e.close(!0):alert(a.data[1]):alert($filter("T")("Internal Error"))})}}]).controller("vaBackupCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","$filter","vaTableService","modalData",function(a,b,c,d,e,f,g,h,i){var j=this;j.va_list=void 0,j.va_name=i.va_name,j.va_name?(j.vaNameDisbaled=!0,j.va_list=[{va_name:j.va_name}]):h.loadInstance(["va_name"]).then(function(a){a&&200===a.status&&(j.va_list=a.data)}),j.enable=!1,a.onLabel=g("T")("Enable"),a.offLabel=g("T")("Disable"),j.modalClose=function(){e.dismiss()},j.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},j.save=function(){j.showProgressBar();var a={action:"Backup",options:JSON.stringify({__pk_list:[JSON.stringify({va_name:j.va_name})],backup_name:j.backup_name,enable:j.enable})};h.backupVAInstance(a).then(function(a){b.$broadcast("endLoading",!0),a&&200===a.status?a.data[0]?e.close(!0):alert(a.data[1]):alert(g("T")("Internal Error"))})}}]),angular.module("avx.va").controller("vaAddCtrl",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$uibModal","imageTableService","vaTableService","type","$filter","$timeout",function(a,b,c,d,e,f,g,h,i,j,k){var l=this;l.tab=1,a.count=0,l.images=[],l.changePort=[],l.changeSsl=[],l.va_name="",l.va_size="",l.va_domain="",l.va_image="",l.imageSpecified=!1,l.manualAssignResources=!1,l.autoAssignResources=!0,l.unAssignResourcesAuto=!1,l.unAssignResourcesManual=!1,l.unAssignResourcesCustom=!1,l.unAssignDisk=!0,l.unAssignDiskCustom=!0,l.diskName="",l.disk="",l.confirmLoading=!0,l.showPrevious=!1,l.vaDomainDisbale=!1,l.activeTabIndex=0,l.domainsInfo=[],l.unAssignPassthrough=!0,l.unAssignPassthroughCustom=!0,l.passthroughPortList=[],l.passthroughPortNumber=0,a.diskList=[],l.cpuThreadSize={"shared-entry":1,entry:1,small:2,medium:4,large:8},l.memorySize={"shared-entry":2,entry:2,small:4,medium:8,large:16},l.memorySliderManual=1,l.memoryManualOptions={floor:1,ceil:64,step:1,showSelectionBar:!0,disabled:!0,translate:function(a){return a+"G"}},l.memorySliderAuto=1,l.memoryAutoOptions={floor:1,ceil:64,step:1,showSelectionBar:!0,disabled:!0,translate:function(a){return a+"G"}},l.memorySliderCustom=1,l.memoryCustomOptions={floor:1,ceil:64,step:1,showSelectionBar:!0,translate:function(a){return a+"G"}},l.cpuSliderAuto=1,l.cpuAutoOptions={floor:1,ceil:16,step:1,disabled:!0,showSelectionBar:!0},l.cpuSliderManual=1,l.cpuManualOptions={floor:1,ceil:16,step:1,disabled:!0,showSelectionBar:!0},l.cpuSliderCustom=1,l.cpuCustomOptions={floor:1,ceil:16,step:1,showSelectionBar:!0},l.resetPortSslList=function(){l.changePort=[],l.changeSsl=[]},l.attachedDisk=function(){var b=a.diskList.length;if(b){if(a.diskList[b-1].diskName&&a.diskList[b-1].disk){var c={diskName:"",disk:""};a.diskList.push(c)}}else{var c={diskName:"",disk:""};a.diskList.push(c)}},l.Remove=function(b){a.diskList[b].diskName;a.diskList.splice(b,1)},l.refreshSlider=function(){k(function(){a.$broadcast("rzSliderForceRender")})},l.renderAutoPort=function(){return!!(l.avxModel&&l.autoChangePort&&l.showVAINStancePort)},l.renderAutoSsl=function(){return!!(l.avxModel&&l.autoChangeSsl&&l.showVAINStanceSSL)},l.renderManualPort=function(){return!!(l.avxModel&&l.changePort&&l.showVAINStancePort)},l.renderManualSsl=function(){return!!(l.avxModel&&l.changeSsl&&l.showVAINStanceSSL)},l.showProgressBar=function(){f.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})},l.set=function(a){l.tab=a,l.refreshSlider()},l.checkAndJump=function(){if(l.resetPortSslList(),"custom"!=l.va_size){var a={domain:l.va_domain,va_size:l.va_size};h.autoAssignResources(a).then(function(a){a&&200===a.status?a.data.state?(l.autoChangePort=a.data.port,l.autoChangeSsl=a.data.ssl,l.unsupportAutoAssign=!1,l.set(2)):(l.autoChangePort=[],l.autoChangeSsl=[],l.unsupportAutoAssign=!0,l.set(2)):alert(j("T")("Failed to assign resources."))}),l.memorySliderManual=l.memorySize[l.va_size],l.memorySliderAuto=l.memorySize[l.va_size],l.cpuSliderAuto=l.cpuThreadSize[l.va_size],l.cpuSliderManual=l.cpuThreadSize[l.va_size]}else l.set(3);for(var b=l.domainsInfo.length-1;b>=0;b--)l.domainsInfo[b].id==l.va_domain&&(l.memoryManualOptions.ceil=l.domainsInfo[b].memory.left,l.memoryAutoOptions.ceil=l.domainsInfo[b].memory.left,l.memoryCustomOptions.ceil=l.domainsInfo[b].memory.left,l.cpuAutoOptions.ceil=l.domainsInfo[b].cpu.left,l.cpuManualOptions.ceil=l.domainsInfo[b].cpu.left,l.cpuCustomOptions.ceil=l.domainsInfo[b].cpu.left);l.refreshSlider()},l.get=function(a){return l.tab===a},l.choose_manual=function(){l.manualAssignResources=!0,l.autoAssignResources=!1,l.unAssignResourcesAuto=!1,l.unAssignResourcesManual=!1,l.refreshSlider()},l.choose_atuo=function(){l.manualAssignResources=!1,l.autoAssignResources=!0,l.unAssignResourcesAuto=!1,l.unAssignResourcesManual=!1,l.refreshSlider()},l.previous=function(){"custom"==l.va_size?l.tab=3:l.tab=2,l.confirmLoading=!0,l.autoAssignResources?l.activeTabIndex=0:l.activeTabIndex=1},i?angular.isString(i)?g.loadAllItems().then(function(a){for(var b=a.data,c=b.length-1;c>=0;c--)if(b[c].image_name==i){l.images=[b[c]],l.va_image=i,l.imageSpecified=!0;break}}):angular.isNumber(i)?(l.va_domain=i.toString(),l.vaDomainDisbale=!0,g.loadAllItems().then(function(a){l.images=[].concat(a.data)})):("previous"in i&&(l.showPrevious=!0,delete i.previous),g.filterItems(i).then(function(a){l.images=[].concat(a.data)})):g.loadAllItems().then(function(a){l.images=[].concat(a.data)}),l.getPassthroughPortList=function(){for(var a=[],b=l.passthroughPortList.length-1;b>=0;b--)l.passthroughPortList[b].passthrougthPort&&!l.passthroughPortList[b].passthrougthPortEnable&&a.push(l.passthroughPortList[b].name);return a},l.checkPortNumber=function(a){l.changePort.length+l.getPassthroughPortList().length>20&&(a.passthrougthPort=!1,alert(j("T")("Number of port VFs assigned to a VA instance should not exceed 20.")))},l.confirm=function(){if("custom"==l.va_size){if(l.cpuSliderConfirm=l.cpuSliderCustom,l.memorySliderConfirm=l.memorySliderCustom,l.unAssignResourcesCustom)if(l.sslvfConfirm="N/A",l.unAssignPassthroughCustom)l.portvfConfirm="N/A";else{var b=l.getPassthroughPortList();b.length>0?l.portvfConfirm=b.join(", "):l.portvfConfirm="N/A"}else{var c=l.changePort.concat(l.getPassthroughPortList());l.portvfConfirm=c.length?c.join(", "):"N/A";for(var d=l.changeSsl,e=[],f=d.length-1;f>=0;f--)e.push(d[f].ssl_vf+"_"+d[f].shared);l.sslvfConfirm=e.length?e.join(", "):"N/A"}if(l.unAssignDiskCustom)l.attachedDiskConfirm="N/A";else{for(var g=[{diskName:l.diskName,disk:l.disk}].concat(a.diskList),h=[],f=g.length-1;f>=0;f--)(g[f].diskName||g[f].disk)&&h.push(g[f].diskName+"_"+g[f].disk);l.attachedDiskConfirm=h.join(", ")}}else if(l.autoAssignResources){if(l.cpuSliderConfirm=l.cpuSliderAuto,l.memorySliderConfirm=l.memorySliderAuto,l.unAssignResourcesAuto)l.portvfConfirm="N/A",l.sslvfConfirm="N/A";else{l.changePort=[],l.changeSsl=[],l.autoAssignPortAndSsl(),l.portvfConfirm=l.changePort.length?l.changePort.join(", "):"N/A";for(var d=l.changeSsl,e=[],f=d.length-1;f>=0;f--)e.push(d[f].ssl_vf+"_"+d[f].shared);l.sslvfConfirm=d.length?e.join(", "):"N/A"}l.attachedDiskConfirm="N/A"}else{if(l.cpuSliderConfirm=l.cpuSliderManual,l.memorySliderConfirm=l.memorySliderManual,l.unAssignResourcesManual)if(l.sslvfConfirm="N/A",l.unAssignPassthrough)l.portvfConfirm="N/A";else{var b=l.getPassthroughPortList();b.length>0?l.portvfConfirm=b.join(", "):l.portvfConfirm="N/A"}else{var c=l.changePort.concat(l.getPassthroughPortList());l.portvfConfirm=c.length?c.join(", "):"N/A";for(var d=l.changeSsl,e=[],f=d.length-1;f>=0;f--)e.push(d[f].ssl_vf+"_"+d[f].shared);l.sslvfConfirm=e.length?e.join(", "):"N/A"}if(l.unAssignDisk)l.attachedDiskConfirm="N/A";else{for(var g=[{diskName:l.diskName,disk:l.disk}].concat(a.diskList),h=[],f=g.length-1;f>=0;f--)(g[f].diskName||g[f].disk)&&h.push(g[f].diskName+"_"+g[f].disk);l.attachedDiskConfirm=h.join(", ")}}l.tab=4,l.confirmLoading=!1},h.querySystemInfo().then(function(a){if(a&&200===a.status)if(a.data.state){var b=0,c=[],d=[],e=[],f=[],g=[],i=[],k=0;l.systemInfoData=a.data,l.domainsInfo=a.data.data.domain;for(var m=0;m<a.data.data.domain.length;m++){b+=a.data.data.domain[m].port.length;for(var n=0;n<a.data.data.domain[m].port.length;n++)c.push(parseInt(a.data.data.domain[m].port[n].vf_sum)),e.push(a.data.data.domain[m].port[n].id),0==a.data.data.domain[m].port[n].vf_sum&&l.passthroughPortList.push({passthrougthPort:!1,passthrougthPortEnable:!1,name:"port"+a.data.data.domain[m].port[n].id});d.push(a.data.data.domain[m].id),k+=a.data.data.domain[m].ssl.length;for(var o=0;o<a.data.data.domain[m].ssl.length;o++)f.push(parseInt(a.data.data.domain[m].ssl[o].vf_sum)),g.push(a.data.data.domain[m].ssl[o].card_type),i.push(a.data.data.domain[m].ssl[o].id)}l.avxModel={model:a.data.data.model,port_num:b,each_port_vf_list:c,port_vf_index_list:e,each_ssl_vf_list:f,ssl_vf_index_list:i,ssl_vf_type:g,ssl_card_num:k},l.domainList=d,h.showVAPort().then(function(a){if(a&&200===a.status){var b=a.data;l.backupVAINStancePort=a.data;for(var c=[],d=0;d<b.length;d++){c.push(b[d].port+"_"+b[d].vf_index.toString());for(var e=l.passthroughPortList.length-1;e>=0;e--)l.passthroughPortList[e].name==b[d].port&&(l.passthroughPortList[e].passthrougthPortEnable=!0,l.passthroughPortList[e].passthrougthPort=!0)}l.showVAINStancePort=c}else l.showVAINStancePort=[]})}else alert(j("T")("Internal server error."));else l.avxModel={model:"",port_num:"",ssl_card_num:"",ssl_vf_type:[],each_port_vf_list:[],each_ssl_vf_list:[],port_vf_index_list:[],ssl_vf_index_list:[]}}),h.showVASSL().then(function(a){if(l.showVAINStanceSSL=[],a&&200===a.status){ssl_list=a.data;for(var b=0;b<ssl_list.length;b++){var c={ssl:ssl_list[b].ssl+"_"+ssl_list[b].vf_index.toString(),shared:ssl_list[b].shared};l.showVAINStanceSSL.push(c)}}}),h.getRestDisk().then(function(a){a&&200===a.status&&(a.data.state?l.attachedDiskLimit=a.data.data:alert(j("T")("Internal server error.")))}),a.$watch(function(){return l.va_image},function(a){g.getImageSupportSize().then(function(b){if(b&&200===b.status&&(l.imageSupportSizeList=b.data,l.imageSupportSizeList)){for(var c=!1,d=l.imageSupportSizeList.length-1;d>=0;d--)if(l.imageSupportSizeList[d].image==a){l.support_size=l.imageSupportSizeList[d].support_size,c=!0;break}c||(l.support_size=[])}})},!0),a.$watch(function(){return l.passthroughPortList},function(a){l.passthroughPortNumber=l.getPassthroughPortList().length},!0),a.$watch(function(){return l.va_size},function(a){l.refreshSlider()},!0),l.modalClose=function(){e.dismiss()},l.autoAssignPortAndSsl=function(){l.changePort=l.changePort.concat(l.autoChangePort),l.changeSsl=l.changeSsl.concat(l.autoChangeSsl)},l.createVAPortSSL=function(){for(var c={post_data:{va_port:[],va_ssl:[]}},d=[{diskName:l.diskName,disk:l.disk}].concat(a.diskList),f=0;f<l.changePort.length;f++){port=l.changePort[f].split("_")[0],vf_index=l.changePort[f].split("_")[1];var g={va:[],vf_index:parseInt(vf_index),_asso_idx:0,port_name:[{interface_name:port,_asso_idx:0}]};c.post_data.va_port.push(g),l.vaInstanceAddRespone.port.push({port:port,vf:vf_index})}if(l.manualAssignResources&&!l.unAssignPassthrough||"custom"==l.va_size&&!l.unAssignPassthroughCustom)for(var i=l.getPassthroughPortList(),f=i.length-1;f>=0;f--){var g={va:[],vf_index:0,_asso_idx:0,port_name:[{interface_name:i[f],_asso_idx:0}]};c.post_data.va_port.push(g)}for(var f=0;f<l.changeSsl.length;f++){ssl=l.changeSsl[f].ssl_vf.split("_")[0],vf_index=l.changeSsl[f].ssl_vf.split("_")[1],shared=l.changeSsl[f].shared;var j={ssl_name:[{ssl_type:ssl,_asso_idx:0}],shared:shared,vf_index:vf_index,va:[],_asso_idx:0};c.post_data.va_ssl.push(j)}if(!l.unAssignDisk&&"custom"!=l.va_size||!l.unAssignDiskCustom&&"custom"==l.va_size){c.post_data.attached_disk=[];for(var f=0;f<d.length;f++)if(d[f].diskName&&d[f].disk){var k={disk_name:d[f].diskName,disk_size:d[f].disk,va:[],_asso_idx:0};c.post_data.attached_disk.push(k)}}c.post_data=JSON.stringify(c.post_data),h.updateVAInstance(c,l.va_name).then(function(a){
+b.$broadcast("endLoading",!0),a&&200===a.status&&(a.data[0]?e.close(l.vaInstanceAddRespone):alert(a.data[1]))})},l.saveChange=function(){if(l.unAssignResources===!0&&(l.manualAssignResources=!1,l.autoAssignResources=!1),l.autoAssignResources===!0&&l.unsupportAutoAssign)return void alert(j("T")("Failed to assign resources automatically, please try to manually assign resources."));if(l.manualAssignResources&&!l.unAssignDisk||"custom"==l.va_size&&!l.unAssignDiskCustom){if(l.diskName&&!l.disk||!l.diskName&&l.disk)return void alert(j("T")("Disk name and disk size must be either both specified or both empty."));for(var c=0,d=0;d<a.diskList.length;d++){if(a.diskList[d].diskName&&!a.diskList[d].disk||!a.diskList[d].diskName&&a.diskList[d].disk)return void alert(j("T")("Disk name and disk size must be either both specified or both empty."));a.diskList[d].disk&&(c+=a.diskList[d].disk)}if(l.disk&&c+l.disk>l.attachedDiskLimit)return void alert(j("T")("The total number of disks attached to the VA instance has reached the upper limit."))}l.showProgressBar();var f={post_data:{va_name:l.va_name,va_size:l.va_size,starting_port:[],domain_id:l.va_domain,tgt_name:[{image_name:l.va_image,_asso_idx:0}]},is_insert_only:!0};"custom"==l.va_size&&(f.post_data.cpu_thread=l.cpuSliderConfirm,f.post_data.memory=l.memorySliderConfirm),f.post_data=JSON.stringify(f.post_data),h.createVAInstance(f).then(function(a){if(a&&200===a.status)if(a.data[0])if(a.data[2][0])b.$broadcast("endLoading",!0),alert(j("T")(a.data[2][0][1]));else{if(l.vaInstanceAddRespone={state:!0,va_name:JSON.parse(unescape(a.data[1]).split("=")[1]),image:l.va_image,port:[]},i)l.vaInstanceAddRespone.va_vendor=i.va_vendor,l.vaInstanceAddRespone.product=i.product,l.vaInstanceAddRespone.category=i.category;else for(var c=0;c<l.images;c++)if(l.images[c].image_name==l.va_image){l.vaInstanceAddRespone.va_vendor=l.images[c].vendor,l.vaInstanceAddRespone.product=l.images[c].product_name,l.vaInstanceAddRespone.category=l.images[c].product_category;break}l.manualAssignResources===!0||"custom"==l.va_size?(0==l.changePort.length&&0==l.changeSsl.length&&(b.$broadcast("endLoading",!0),e.close(l.vaInstanceAddRespone)),l.createVAPortSSL()):l.autoAssignResources===!0?(l.changePort=[],l.changeSsl=[],l.autoAssignPortAndSsl(),0==l.changePort.length&&0==l.changeSsl.length&&(b.$broadcast("endLoading",!0),e.close(l.vaInstanceAddRespone)),l.createVAPortSSL()):(b.$broadcast("endLoading",!0),e.close(l.vaInstanceAddRespone))}else b.$broadcast("endLoading",!0),alert(j("T")(a.data[1]))})}}]),angular.module("avx.va").controller("vaConfirm",["$scope","$rootScope","$state","$stateParams","$uibModalInstance","$filter","modalData",function(a,b,c,d,e,f,g){modalViewModel=this,modalViewModel.shared=!0,"FisherMan"==g.card_type&&(modalViewModel.shared=!1),modalViewModel.modalClose=function(){e.dismiss()},modalViewModel.confirm=function(){e.close(!0)},modalViewModel.unconfirm=function(){e.close(!1)}}]),angular.module("avx.va_image").controller("vaController",["$scope","$rootScope","$state","$location",function(a,b,c,d){a.url_contain=function(a){return d.path().indexOf(a)!=-1}}]),AVAILABLE="./app/images/resource-assign-available.png",OCCUPIED="./app/images/resource-assign-occupied.png",SELECTED="./app/images/resource-assign-selected.png",angular.module("avx.va").directive("vaInstanceport",["$filter",function(a){return{restrict:"EA",scope:{model:"=avxModel",change:"=changePort",display:"=displayPort",ppNumber:"=passthroughNumber"},link:function(b,c,d,e){function f(a,b){for(var c=0;c<b.length;c++)if(b[c]==a)return c;return-1}function g(a,b,c,d){d.set({text:a,top:b,left:c}),s.add(d)}function h(a){var c="available",d="pointer",e=AVAILABLE;a.autoSelectedFlag&&(d="not-allowed");for(var f=0;f<b.display.length;f++)if(a.port_name==b.display[f]){e=OCCUPIED,d="not-allowed",c="occupied";break}if(b.change&&b.change.length)for(var f=b.change.length-1;f>=0;f--)b.change[f]==a.port_name&&(e=SELECTED,c="selected");fabric.Image.fromURL(e,function(b){s.add(b.set({top:a.top,left:a.left,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,name:a.port_name,hoverCursor:d,status:c}))})}function i(a,b,c){for(var d=0;d<a;d++){p.top=4+50*d,16==c[d]?p.width=1046:p.width=566;var e=new fabric.Rect(p);s.add(e);var f=new fabric.Text("",r),i="Port"+m[d]+" VFs";g(i,20+50*d,5,f);for(var j=0;j<=c[d]-1;j++)h({top:10+50*d,left:80+60*j,port_name:"port"+m[d]+"_"+(j+1).toString(),autoSelectedFlag:b})}}var j,k=b.model.port_num,l=b.model.each_port_vf_list,m=b.model.port_vf_index_list,n=50*k;j=l.indexOf(16)<0?566:1046,c[0].width=j,c[0].height=n;for(var o=0;o<l.length;o++)1==l[o]&&b.display.push("port"+m[o].toString()+"_"+l[o].toString());var p={left:0,top:4,width:566,height:44,fill:"#e9e9e9",hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1},q=0;b.change&&b.change.length&&(q=1),fabric.Object.prototype.set({transparentCorners:!1,cornerColor:"rgba(102,153,255,0.5)",padding:5,cornerSize:15,hoverCursor:"pointer",selectable:!1});var r={fill:"#000000",fontSize:13,fontFamily:"Open Sans",hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1},s=(new fabric.Text("",r),new fabric.Text("",r),window._canvas=new fabric.Canvas(c[0])),t=!1;s.on({"mouse:down":function(a){if(a.target&&!q)if("available"==a.target.status){if(b.change.length+b.ppNumber==20)return void(t=!0);a.target.setSrc(SELECTED),a.target.status="selected",s.renderAll(),b.change.push(a.target.name)}else if("selected"==a.target.status){a.target.setSrc(AVAILABLE),a.target.status="available",s.renderAll();var c=f(a.target.name,b.change);c>-1&&b.change.splice(c,1)}},"mouse:up":function(b){t&&(t=!1,alert(a("T")("Number of port VFs assigned to a VA instance should not exceed 20."))),s.renderAll()}}),i(k,q,l)}}}]).directive("vaInstancessl",["$uibModal","$filter",function(a,b){return{restrict:"EA",scope:{model:"=avxModel",change:"=changeSsl",display:"=displaySsl"},link:function(c,d,e,f){function g(a,b,c,d){d.set({text:a,top:b,left:c}),q.add(d)}function h(a){var b="available",d="pointer",e="shared",f=AVAILABLE;a.autoSelectedFlag&&(d="not-allowed");for(var g=0;g<c.display.length;g++)a.ssl_name==c.display[g].ssl&&(f=OCCUPIED,b="occupied","dedicated"==c.display[g].shared&&(e="dedicated",d="not-allowed"));if(c.change&&c.change.length)for(var g=c.change.length-1;g>=0;g--)c.change[g].ssl_vf==a.ssl_name&&(f=SELECTED,e=c.change[g].shared,b="selected");fabric.Image.fromURL(f,function(c){q.add(c.set({top:a.top,left:a.left,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,name:a.ssl_name,hoverCursor:d,status:b,occupancy:e,card_type:a.card_type}))})}function i(a,b,c,d){for(var e=0;e<a;e++){p.top=4+50*e,16==c[e]?p.width=1046:p.width=566;var f=new fabric.Rect(p);q.add(f);var i=new fabric.Text("",r),j="SSL"+m[e]+" VFs\n";g(j,20+50*e,5,i);for(var k=0;k<=c[e]-1;k++){var l;l="FisherMan"==d[e]?0:k+1,h({top:10+50*e,left:80+60*k,ssl_name:"ssl"+m[e]+"_"+l.toString(),autoSelectedFlag:b,card_type:d[e]})}}}var j,k=c.model.ssl_card_num,l=c.model.each_ssl_vf_list,m=c.model.ssl_vf_index_list,n=c.model.ssl_vf_type,o=60*k;j=l.indexOf(16)<0?566:1046,d[0].width=j,d[0].height=o;var p={left:0,top:4,width:566,height:44,fill:"#e9e9e9",hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1};fabric.Object.prototype.set({transparentCorners:!1,cornerColor:"rgba(102,153,255,0.5)",padding:5,cornerSize:15,hoverCursor:"pointer",selectable:!1});var q=window._canvas=new fabric.Canvas(d[0]),r={fill:"#000000",fontSize:13,fontFamily:"Open Sans",hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1},s=(new fabric.Text("",r),new fabric.Text("",r),new fabric.Text("",r)),t=!1,u=8;q.on({"mouse:down":function(b){if(b.target&&!v)if("available"==b.target.status){if(c.change.length==u)return void(t=!0);var d=a.open({templateUrl:"app/modules/common/templates/confirm.html",controller:"vaConfirm",controllerAs:"confirm",size:"sm",resolve:{modalData:{card_type:b.target.card_type}}});d.result.then(function(a){var d,e=b.target.top,f=b.target.left,g=b.target.name,h=b.target.hoverCursor,i="selected";b.target.remove(),a?(d="shared",c.change.push({ssl_vf:b.target.name,shared:"shared"})):(d="dedicated",c.change.push({ssl_vf:b.target.name,shared:"dedicated"})),fabric.Image.fromURL(SELECTED,function(a){q.add(a.set({top:e,left:f,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,name:g,hoverCursor:h,status:i,occupancy:d,card_type:b.target.card_type}))})})}else if("selected"==b.target.status){for(var e=b.target.name,f=0,g=c.change.length-1;g>=0;g--)if(c.change[g].ssl_vf==e){c.change.splice(g,1);break}for(var g=c.display.length-1;g>=0;g--)if(c.display[g].ssl==e){b.target.setSrc(OCCUPIED),b.target.set({status:"occupied"}),f=1;break}f||(b.target.setSrc(AVAILABLE),b.target.set({status:"available"})),q.renderAll()}else for(var e=b.target.name,g=c.display.length-1;g>=0;g--)if(c.display[g].ssl==e&&"shared"==c.display[g].shared){if(c.change.length==u)return void(t=!0);b.target.setSrc(SELECTED),b.target.set({status:"selected"}),q.renderAll(),c.change.push({ssl_vf:e,shared:"shared"});break}},"mouse:over":function(a){if(a.target&&a.target.name){var c,d,e,f;c=a.target.getPointByOrigin(),d=a.target.name,shared=a.target.occupancy,e=d.split("_")[0],f=d.split("_")[1],"available"!=a.target.status&&("shared"==shared?/^[\u4e00-\u9fa5]+$/.test(b("T")(shared))?g(b("T")(shared),c.y+15,c.x-18,s):g(b("T")(shared),c.y+15,c.x-21,s):/^[\u4e00-\u9fa5]+$/.test(b("T")(shared))?g(b("T")(shared),c.y+15,c.x-18,s):g(b("T")(shared),c.y+15,c.x-30,s))}},"mouse:out":function(a){a.target&&s.remove()},"mouse:up":function(a){t&&(t=!1,alert(b("T")("Number of SSL VFs assigned to a VA instance should not exceed {0}.",[u]))),q.renderAll()}});var v=0;c.change&&c.change.length&&(v=1),i(k,v,l,n)}}}]).directive("vaLegend",["$filter",function(a){return{restrict:"EA",scope:{},link:function(b,c,d,e){function f(a,b,c,d){var e=arguments[4]?arguments[4]:1;fabric.Image.fromURL(c,function(c){g.add(c.set({top:a,left:b,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,vented:!1,opacity:e}))});var f;f=/^[\u4e00-\u9fa5]+$/.test(d)?b+4:b-2;var h=new fabric.Text("",{fill:"#000000",fontSize:13,fontFamily:"Open Sans",text:d,top:a+35,left:f,hasControls:!1,hasBorders:!1,lockMovementX:!0,lockMovementY:!0,evented:!1});g.add(h)}fabric.Object.prototype.set({transparentCorners:!1,cornerColor:"rgba(102,153,255,0.5)",padding:5,cornerSize:15,hoverCursor:"pointer",selectable:!1});var g=window._canvas=new fabric.Canvas(c[0]);f(0,380,AVAILABLE,a("T")("Available")),f(0,440,SELECTED,a("T")("Selected")),f(0,500,OCCUPIED,a("T")("Occupied"))}}}]),angular.module("avx.va").factory("vaTableService",["$q","$filter","$http","apiService",function(a,b,c,d){function e(a,b){var c={post_data:JSON.stringify({va_name:a,cli_str:b})};return d.post("/va_run",c)}function f(a,b){var c={post_data:JSON.stringify({va_name:a,va_product_name:b})};return d.post("/va_basic_config_by_va_run",c)}function g(a,b,c){if(c=c||null)var e={post_data:JSON.stringify({va_name:a,url:b,post_data:c})};else var e={post_data:JSON.stringify({va_name:a,url:b})};return d.post("/va_restapi",e)}function h(a){var b={post_data:JSON.stringify(a)};return d.post("/va_mgmtip_config",b)}function i(a){var b={post_data:JSON.stringify(a)};return d.post("/va_mgmtip_clear",b)}function j(a){var b={post_data:JSON.stringify(a)};return d.post("/is_dhcp_ip",b)}function k(a){return a=a||null,a?url="/api/avx/va/instance/VAInstance/_get_list_data?key="+JSON.stringify(a):url="/api/avx/va/instance/VAInstance/_get_list_data",d.get(url)}function l(b){var c=a.defer();return b=b||null,b?url="/api/avx/va/image/VAImageManagement/_get_list_data?key="+JSON.stringify(b):url="/api/avx/va/image/VAImageManagement/_get_list_data",d.get(url).then(function(a){for(var b=0;b<a.data.length;b++)"Other"==a.data[b].product_category&&(a.data[b].product_category=a.data[b].other_category);c.resolve(a)}),c.promise}function m(a){return a=a||null,a?url="/api/avx/system/SystemInfo/_field?field=model?key="+JSON.stringify(a):url="/api/avx/system/SystemInfo/_field?field=model",d.get(url)}function n(a){return a=a||null,a?url="/api/avx/va/instance/ShowVAPort/_get_list_data?key="+JSON.stringify(a):url="/api/avx/va/instance/ShowVAPort/_get_list_data",d.get(url)}function o(a){return a=a||null,a?url="/api/avx/va/instance/ShowAttachedDisk/_get_list_data?key="+JSON.stringify(a):url="/api/avx/va/instance/ShowAttachedDisk/_get_list_data",d.get(url)}function p(a){return a=a||null,a?url="/api/avx/va/instance/ShowVASSL/_get_list_data?key="+JSON.stringify(a):url="/api/avx/va/instance/ShowVASSL/_get_list_data",d.get(url)}function q(a){return a=a||null,a?url="/api/avx/network/interface/SSL/_get_list_data?key="+JSON.stringify(a):url="/api/avx/network/interface/SSL/_get_list_data",d.get(url)}function r(a){return d.get('/api/avx/va/instance/ShowVAPort/_get_asso_list_data?initial_filter=%7B"va_name"%3A"'+a+'"%7D')}function s(a){return d.get('/api/avx/va/instance/ShowVASSL/_get_asso_list_data?initial_filter=%7B"va_name"%3A"'+a+'"%7D')}function t(a){return d.get('/api/avx/va/instance/ShowAttachedDisk/_get_asso_list_data?initial_filter=%7B"va_name"%3A"'+a+'"%7D')}function u(a){return d.get('/api/avx/va/instance/ShowVAPortMapping/_get_asso_list_data?initial_filter=%7B"va_name"%3A"'+a+'"%7D')}function v(a){return d.get('/api/avx/va/instance/ShowCPUMemory/_get_asso_list_data?initial_filter=%7B"va_name"%3A"'+a+'"%7D')}function w(a){return d.post("/api/avx/va/instance/VAInstance/_add",a)}function x(a,b){return d.post("/api/avx/va/instance/VAInstance/_update/va_name/%22"+b+"%22",a)}function y(a,b){var c="/api/avx/va/instance/VAInstance/_perform",e={action:a,options:JSON.stringify({__pk_list:[JSON.stringify({va_name:b})]})};return d.post(c,e)}function z(a){return d.post("/api/avx/va/instance/VAInstance/_delete",a)}function A(a){return d.post("/avx/va/instance/vnc_connect",a)}function B(a){return d.get("/api/avx/va/instance/VAInstance/_field_group/va_name/%22"+a+"%22?field_group=default")}function C(a){return d.get('/api/avx/va/instance/ShowVAVersion/_get_asso_list_data?initial_filter=%7B"va_name"%3A"'+a+'"%7D')}function D(a){return d.get('/api/avx/va/instance/ShowVASNMPConfig/_get_asso_list_data?initial_filter=%7B"va_name"%3A"'+a+'"%7D')}function E(a){return d.get('/api/avx/va/instance/ShowVARESTfulAPIConfig/_get_asso_list_data?initial_filter=%7B"va_name"%3A"'+a+'"%7D')}function F(a){return d.get('/api/avx/va/instance/ShowVALogConfig/_get_asso_list_data?initial_filter=%7B"va_name"%3A"'+a+'"%7D')}function G(a){return d.get('/api/avx/va/instance/ShowVARunningConfig/_get_asso_list_data?initial_filter=%7B"va_name"%3A"'+a+'"%7D')}function H(a){return d.get('/api/avx/va/instance/ShowVASysLogBuf/_get_asso_list_data?initial_filter=%7B"va_name"%3A"'+a+'"%7D')}function I(a){return d.post("/avx/va/instance/auto_assign_resources",a)}function J(){return d.get("/avx/query_system_info")}function K(){return d.get("/avx/va/instance/get_rest_disk")}function L(){return d.get("/avx/get_ssl_status")}function M(a){return a=a||null,a?url="/api/avx/va/instance/VABackup/_get_list_data?key="+JSON.stringify(a):url="/api/avx/va/instance/VABackup/_get_list_data",d.get(url)}function N(a){var b="/api/avx/va/instance/VAInstance/_perform";return d.post(b,a)}function O(a){return d.post("/api/avx/va/instance/VABackup/_perform",a)}function P(a){return d.post("/api/avx/va/instance/VABackup/_delete",a)}function Q(){return url="/api/avx/system/access_control/USBDevice/_get_list_data",d.get(url)}function R(a){return d.post("/api/avx/va/instance/AttachedUSB/_add",a)}function S(a){return d.post("/api/avx/va/instance/AttachedUSB/_delete",a)}return{va_run:e,getVAConfigInfo:f,array_va_restapi:g,va_mgmtip_config:h,va_mgmtip_clear:i,is_dhcp_ip:j,loadInstance:k,loadAllImages:l,getAVXModel:m,showVAPort:n,showVASSL:p,getDomain:q,createVAInstance:w,updateVAInstance:x,actionUpdateVAInstance:y,deleteVAInstance:z,getPerVAInstancePort:r,getPerVAInstanceSsl:s,getPerVAPortMapping:u,connectVNC:A,getVAInstanceDefault:B,getVAVersionInfo:C,getVASNMPConfig:D,getVARESTfulAPIConfig:E,getVALogConfig:F,getVARunningConfig:G,getVASysLogBuff:H,autoAssignResources:I,querySystemInfo:J,showAttachedDisk:o,getRestDisk:K,getPerVAInstanceAttachedDisk:t,getPerVACPUMemory:v,getSslStatus:L,getVABackupList:M,backupVAInstance:N,backupActionVAInstance:O,deleteBackupVAInstance:P,get_usb_list:Q,createUSBDevice:R,deleteUSBDevice:S}}]),angular.module("unsavedChanges",["resettable"]).provider("unsavedWarningsConfig",function(){var a=this,b=!1,c=!0,d=["$locationChangeStart","$stateChangeStart"],e="Unsaved changes will be lost if you leave the current page.",f="Unsaved changes will be lost if you refresh the current page.";Object.defineProperty(a,"navigateMessage",{get:function(){return e},set:function(a){e=a}}),Object.defineProperty(a,"reloadMessage",{get:function(){return f},set:function(a){f=a}}),Object.defineProperty(a,"useTranslateService",{get:function(){return c},set:function(a){c=!!a}}),Object.defineProperty(a,"routeEvent",{get:function(){return d},set:function(a){"string"==typeof a&&(a=[a]),d=a}}),Object.defineProperty(a,"logEnabled",{get:function(){return b},set:function(a){b=!!a}}),this.$get=["$injector",function(a){function g(b){return!(!a.has("$translate")||!c)&&a.get("$translate").instant(b)}var h={log:function(){if(console.log&&b&&arguments.length){var a=[].slice.call(arguments);"object"==typeof console.log?log.apply.call(console.log,console,a):console.log.apply(console,a)}}};return Object.defineProperty(h,"useTranslateService",{get:function(){return c}}),Object.defineProperty(h,"reloadMessage",{get:function(){return g(f)||f}}),Object.defineProperty(h,"navigateMessage",{get:function(){return g(e)||e}}),Object.defineProperty(h,"routeEvent",{get:function(){return d}}),Object.defineProperty(h,"logEnabled",{get:function(){return b}}),h}]}).service("unsavedWarningSharedService",["$rootScope","unsavedWarningsConfig","$injector","$window",function(a,b,c,d){function e(){return j=!0,angular.forEach(i,function(a,c){b.log("Form : "+a.$name+" dirty : "+a.$dirty),a.$dirty&&(j=!1)}),j}function f(){b.log("No more forms, tearing down"),angular.forEach(k,function(a){a()}),k=[],d.onbeforeunload=null}function g(){b.log("Setting up"),d.onbeforeunload=h.confirmExit;var c=b.routeEvent;angular.forEach(c,function(c){var d=a.$on(c,function(d,f,g){b.log("user is moving with "+c),e()?b.log("all forms are clean"):(b.log("a form is dirty"),confirm(b.navigateMessage)?(b.log("user doesn't care about loosing stuff"),a.$broadcast("resetResettables")):(b.log("user wants to cancel leaving"),d.preventDefault()))});k.push(d)})}var h=this,i=[],j=!0,k=[];this.allForms=function(){return i},this.init=function(a){0===i.length&&g(),b.log("Registering form",a),i.push(a)},this.removeForm=function(a){var c=i.indexOf(a);c!==-1&&(i.splice(c,1),b.log("Removing form from watch list",a),0===i.length&&f())},this.confirmExit=function(){return e()?(a.$broadcast("resetResettables"),void f()):b.reloadMessage}}]).directive("unsavedWarningClear",["unsavedWarningSharedService",function(a){return{scope:{},require:"^form",priority:10,link:function(a,b,c,d){b.bind("click",function(a){d.$setPristine()})}}}]).directive("unsavedWarningForm",["unsavedWarningSharedService","$rootScope",function(a,b){return{scope:{},require:"^form",link:function(b,c,d,e){for(var f=0;"FORM"!==c[0].tagName&&f<3;)f++,c=c.parent();if(f>=3)throw"unsavedWarningForm must be inside a form element";a.init(e),c.bind("submit",function(a){e.$valid&&e.$setPristine()}),c.bind("reset",function(a){a.preventDefault();var d=angular.element(c[0].querySelectorAll("[resettable]"));d.length&&angular.forEach(d,function(a){b.$apply(angular.element(a).triggerHandler("resetResettables"))}),e.$setPristine()}),b.$on("$destroy",function(){a.removeForm(e)})}}}]),angular.module("resettable",[]).directive("resettable",["$parse","$compile","$rootScope",function(a,b,c){return{restrict:"A",link:function(b,c,d,e){var f,g,h;d.$observe("ngModel",function(c){g=a(d.ngModel),f=g.assign,h=g(b)});var i=function(){f(b,h)};c.on("resetResettables",i);var j=b.$on("resetResettables",i);b.$on("$destroy",j)}}}]),function(a){"use strict";function b(){}function c(){return{restrict:"A",scope:{},controller:"composerPaneCtrl",link:function(b,c,d,e){function f(){var c=d.composerPane?b.$parent.$eval(d.composerPane):{},e={};a.copy(c,e),b.paneConfig=e;var f=JSON.stringify(e);return f}b.destroy=function(){b.paneObj&&(b.paneObj.clear_timeouts(),b.paneObj=void 0),c.html("")},b.init=function(){!b.paneObj&&b.paneConfig&&(b.paneObj=$Composer.pane_factory(b.paneConfig)),b.paneObj&&b.paneObj.render(c)},b.$watch(f,function(){b.destroy(),b.init()},!0),b.$on("$destroy",function(){b.destroy()})}}}function d(){}function e(){return{restrict:"A",scope:{},controller:"composerWidgetCtrl",link:function(b,c,d,e){function f(){var c=d.composerWidget?b.$parent.$eval(d.composerWidget):{},e={};a.copy(c,e),b.widgetConfig=e;var f=JSON.stringify(e);return f}b.destroy=function(){b.widgetObj&&(b.widgetObj.clear_timeouts(),b.widgetObj=void 0),c.html("")},b.init=function(){!b.widgetObj&&b.widgetConfig&&(b.widgetObj=$Composer.widget_factory(b.widgetConfig)),b.widgetObj&&b.widgetObj.render(c)},b.$watch(f,function(){b.destroy(),b.init()},!0),b.$on("$destroy",function(){b.destroy()})}}}var f=a.module("ngComposerUI",[]);f.controller("composerPaneCtrl",b),f.directive("composerPane",c),f.controller("composerWidgetCtrl",d),f.directive("composerWidget",e)}(angular);var $Composer=function(a){function b(){this.title={x:"center",textStyle:{fontSize:14}},this.build=function(a,b){if(this.title.text=a.verbose_name,0!=b.error||null==b.data.legend)return void(this.title.subtext="No Data");if(this.title.subtext="",this.legend.data=b.data.legend,this.series=b.data.series,null!=a.yAxis_name){this.legend.data=a.yAxis_name;for(var c=0;c<this.series.length;c++)this.series[c].name=a.yAxis_name[c],_.each(this.series[c].data,function(a){a[1]=a[1].toFixed(2)})}switch(null!=a.datazoom&&(this.dataZoom=[{type:"slider",start:a.datazoom.start,end:a.datazoom.end}]),a.theme){case"white":case"black":null!=this.xAxis&&(this.xAxis.axisLine={lineStyle:{color:"#eee"}}),null!=this.yAxis&&(this.yAxis.axisLine={lineStyle:{color:"#eee"}}),this.legend.textStyle={color:"#eee"},this.title.textStyle.color="#fff",this.backgroundColor="#404a59"}},this.build_map=function(a){this.tooltip={trigger:"item",formatter:function(a){var b=(a.value+"").split(".");return b=b[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+"."+b[1],a.name+" : "+b}},this.geo={type:"map",map:"world",roam:!0,label:{emphasis:{show:!1}},itemStyle:{normal:{areaColor:"#323c48",borderColor:"#111"},emphasis:{areaColor:"#2a333d"}}},this.series=[{type:"scatter",coordinateSystem:"geo",data:{}}],null!=a&&(a.forEach(function(a){var b=Math.random();a.value=100*b,b>.25&&b<=.5?a.color="#de4c4f":b>.5&&b<=.75?a.color="#8aabb0":b>.75?a.color="#eea638":a.color="#86a965"}),this.series[0].data=a.map(function(a){return{name:a.name,value:[a.longitude,a.latitude,a.value],label:{emphasis:{position:"right",show:!0}},itemStyle:{normal:{color:a.color}}}}))}}var c=function(a,b){function c(){this.constructor=a}for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},d={}.hasOwnProperty,e=[];a.push_pane=function(a){if(0==e.length)return e.push(a),null;var b=e.shift();return e.push(a),b},a.clear_timeouts=function(){for(var a=0;a<e.length;a+=1)null!=e[a].widget?e[a].clear_timeouts():clearTimeout(e[a]);e=[]},a.Pane=function(){function a(a,b,c,d,e,f){this.app_name=e,this.model_path=f,this.name=a,this.verbose_name=b,this.args=c,this.widget_config=d,this.widgets=[];var g=this;_.each(this.widget_config,function(a){var b=$Composer.widget_factory(a,e,f);b&&g.widgets.push(b)})}return a.prototype.set_container=function(a,b){this.tab_container=a,this.content_container=b},a.prototype.render_tab=function(){this.tab_ele=$('<a class="btn btn-link" role="tab" data-toggle="tab" href="#'+this.name+'">'+this.verbose_name+"</a>"),this.tab_container.append(this.tab_ele);var a=this;this.tab_ele.on("click",function(){var b=$Composer.push_pane(a);return null!=b&&b.clear_timeouts(),a.show_content(),!1})},a.prototype.show_content=function(){this.content_container.html('<div role="tabpanel" class="tab-pane fade in active" id="'+this.name+'">'),this.render(this.content_container.find(".tab-pane"))},a.prototype.render=function(a){a.html($("<span>pane content: "+this.verbose_name+"</span>"))},a.prototype.clear_timeouts=function(){_.each(this.widgets,function(a){a.clear_timeouts()})},a}(),a.pane_factory=function(a){var b=$Composer[a.cls];if(!b)return null;var c=new b(a.name,a.verbose_name,a.args,a.widgets,a.app_name,a.model_path);return c},a.GraphPane=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return c(b,a),b.prototype.render=function(a){if(this.widgets.length>0){var b=this;_.each(this.widgets,function(c){b.args["grid-width"]||(b.args["grid-width"]="50%"),b.args["grid-height"]||(b.args["grid-height"]="300");var d=$('<div style="display:inline-block;width:'+b.args["grid-width"]+';"></div>'),e=$('<div style="padding:15px;height:'+b.args["grid-height"]+'px;" id="'+b.name+'"></div>');a.append(d),d.append(e),c.render(e)})}},b}(a.Pane),a.GeneralGraphPane=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return c(b,a),b.prototype.render=function(a){var b=this.args,c=this.args.params.model_path,d=this.args.params.instance_id,e=this;$.post("/composer/dashboard/local/"+c+"/"+d,JSON.stringify(b),function(b){e.widget_config=[],_.each(b.data,function(a){var b={name:"conn",verbose_name:"Concurrent Connections",cls:"DashboardGraphWidget",args:{type:"default",params:{query:a,flush:e.args.params.flush}}};e.widget_config.push(b)});var c=e;e.widgets=new Array,_.each(e.widget_config,function(a){var b=$Composer.widget_factory(a,this.app_name,this.model_path);b&&c.widgets.push(b)}),e.widgets.length>0&&_.each(e.widgets,function(b){c.args["grid-width"]||(c.args["grid-width"]="90%"),c.args["grid-height"]||(c.args["grid-height"]="300");var d=$('<div style="display:inline-block;width:90%;"></div>'),e=$('<div style="padding:15px;height:300px;" id="aaa"></div>');a.append(d),d.append(e),b.render(e)})})},b}(a.Pane),a.InstanceListPane=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return c(b,a),b.prototype.render=function(a){var b=$('            <div style="">                <div style="padding:15px;">                    <table class="instance_table"></table>                </div>            </div>'),c=this;b.find(".instance_table").bootstrapTable({url:"/composer/console/local/"+c.app_name+"."+c.model_path+"/get_instance_table_data",queryParams:function(a){a.args=c.args},ajaxOptions:{data:JSON.stringify({args:c.args})},responseHandler:function(a){return a.data=a.data,a},showHeader:!0,showColumns:!0,method:"post",columns:function(a){var b=[];return _.each(a.args.cols,function(a){var c={field:a.name,title:a.verbose_name,align:"left"};b.push(c)}),b}(c),toolbar:"#toolbar",search:!0,showRefresh:!0,showToggle:!1,pagination:!0}),$(".bootstrap-table").css({"dis-play":"inline-block","mar-gin":"0","max--width":"none","wid-th":"48%"}),a.html(b)},b}(a.Pane),a.AlertListPane=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return c(b,a),b}(a.Pane),a.SettingsPane=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return c(b,a),b}(a.Pane);var f=echarts,g="/bower_components/";return a.Widget=function(){function a(a,b,c,d,e,f){this.name=a,this.verbose_name=b,this.args=c,this.app_name=d,this.model_path=e,f?this.node=f:this.node="local"}return a.prototype.render=function(a){a.html($("<span>widget content: "+this.verbose_name+"</span>"))},a.prototype.clear_timeouts=function(){clearTimeout(this._timeouts)},a}(),a.widget_factory=function(a,b,c,d){b||(b=a.app_name),c||(c=a.model_path),d||(d=a.node);var e=$Composer[a.cls];if(!e)return null;var f=new e(a.name,a.verbose_name,a.args,b,c,d);return f},a.PieGraphWidget=function(a){function d(){return d.__super__.constructor.apply(this,arguments)}return c(d,a),d.prototype.render=function(a){var c=this.args,d=this,e=f.init(a.get(0));e.showLoading();var g=new b;g.legend={orient:"vertical",x:"left",padding:[30,10,5,20]},g.tooltip={trigger:"item",formatter:"{b} : {c} ({d}%)"},$("main").attr("sb520","sb");var h=function(){$.post("/composer/graph/local/pie",JSON.stringify(c.datasource),function(a){e.hideLoading(),g.build(c.params,a),_.each(g.series,function(a){a.type="pie",a.radius=c.params.serie_radius,a.center=["50%","60%"],a.label=c.params.serie_label}),e.setOption(g),null!=c.params&&null!=c.params.flush&&"sb"==$("main").attr("sb520")&&(d._timeouts=setTimeout(function(){h()},c.params.flush))})};h()},d}(a.Widget),a.HistogramGraphWidget=function(a){function d(){return d.__super__.constructor.apply(this,arguments)}return c(d,a),d.prototype.render=function(a){var c=this.args,d=this,e=f.init(a.get(0));e.showLoading();var g=new b;g.legend={orient:"horizontal",top:"10%"},g.tooltip={trigger:"axis"},g.xAxis={type:"category",axisTick:{alignWithLabel:!0}},g.yAxis={type:"value"},$("main").attr("sb520","sb");var h=function(){$.post("/composer/graph/local/histogram",JSON.stringify(c.datasource),function(a){e.hideLoading(),g.build(c.params,a);var b=new Array;_.each(g.series,function(a){a.type="bar",_.each(a.data,function(a){b.push(a[0])})}),g.xAxis.data=b,e.setOption(g),null!=c.params&&null!=c.params.flush&&"sb"==$("main").attr("sb520")&&(d._timeouts=setTimeout(function(){h()},c.params.flush))})};h()},d}(a.Widget),a.MapGraphWidget=function(a){function d(){return d.__super__.constructor.apply(this,arguments)}return c(d,a),d.prototype.render=function(a){var c=this.args,d=this;$.get(g+"echarts/map/json/world.json",function(e){f.registerMap("world",e);var g=f.init(a.get(0));g.showLoading();var h=new b;$("main").attr("sb520","sb");var i=function(){$.post("/composer/graph/local/map",JSON.stringify(c.datasource),function(a){g.hideLoading(),h.build_map(a.data.series),g.setOption(h),null!=c.params&&null!=c.params.flush&&"sb"==$("main").attr("sb520")&&(d._timeouts=setTimeout(function(){i()},c.params.flush))})};i()})},d}(a.Widget),a.LineGraphWidget=function(a){function d(){return d.__super__.constructor.apply(this,arguments)}return c(d,a),d.prototype.render=function(a){var c=this.args,d=this,e=f.init(a.get(0));$(window).resize(function(){e.resize()}),e.showLoading();var g=new b;g.legend={orient:"horizontal",top:"10%"},null!=c.params.legend_show&&(g.legend.show=c.params.legend_show),g.tooltip={trigger:"axis"},g.grid={top:20,bottom:30},g.xAxis={type:"time",axisTick:{alignWithLabel:!0},axisLabel:{formatter:function(a,b){var c=new Date(a),d=c.getHours(),e=c.getMinutes(),f=c.getSeconds();1==(""+d).length&&(d="0"+d),1==(""+e).length&&(e="0"+e),1==(""+f).length&&(f="0"+f);var g=[d,e,f];return g.join(":")}},splitLine:{show:!1}},g.yAxis={type:"value",splitLine:{show:!0},axisLine:{show:!0}},null!=c.params.yAxis_axisLabel_show&&(g.yAxis.axisLabel={show:c.params.yAxis_axisLabel_show}),null!=c.params.yAxis_max&&(g.yAxis.max=c.params.yAxis_max),null!=c.params.yAxis_splitNumber&&(g.yAxis.splitNumber=c.params.yAxis_splitNumber),null!=c.params.xAxis_splitNumber&&(g.xAxis.splitNumber=c.params.xAxis_splitNumber),null!=c.params.yAxis_axisTick&&(g.yAxis.axisTick=c.params.yAxis_axisTick),null!=c.params.yAxis_axisLine_show&&(g.yAxis.axisLine.show=c.params.yAxis_axisLine_show);var h="/composer/graph/xyAxis";if(null!=c.params.gradient&&c.params.gradient===!0)var h="/composer/graph/gradient";$("main").attr("sb520","sb");var i=function(){$.post(h,JSON.stringify(c.datasource),function(a){0==a.error&&(e.hideLoading(),g.build(c.params,a),_.each(g.series,function(a){a.type="line",a.showSymbol=!1}),e.setOption(g)),null!=c.params&&null!=c.params.flush&&"sb"==$("main").attr("sb520")&&(d._timeouts=setTimeout(function(){i()},c.params.flush)),e.resize()})};i()},d}(a.Widget),a.ScatterGraphWidget=function(a){
+function b(){return b.__super__.constructor.apply(this,arguments)}return c(b,a),b.prototype.render=function(a){var b=this,c={args:this.args},d=f.init(a.get(0)),e={baseOption:{timeline:{axisType:"category",currentIndex:0,bottom:0,data:[],label:{formatter:function(a){return new Date(a).toLocaleTimeString()}}},title:{subtext:"",x:"center",subtextStyle:{color:"#666"}},tooltip:{trigger:"axis",showDelay:0,axisPointer:{show:!0,type:"cross",lineStyle:{type:"dashed",width:1}}},grid:{top:80,bottom:100},xAxis:[{type:"value",scale:!0}],yAxis:[{type:"value",scale:!0}],series:[{name:"Stock",type:"scatter"}]},options:[]},g=[],h=[];$.ajax({type:"post",url:"/composer/graph/local/timeline",data:JSON.stringify(c.args),async:!1,success:function(a){g=a.data,_.each(g,function(a,b){var d=[];b==g.length-1?d.push(a):(d.push(a),d.push(g[b+1])),c.args.datasource[c.args.timeline_index].time=d,$.ajax({type:"post",url:"/composer/graph/local/scatter",data:JSON.stringify(c.args),async:!1,success:function(a){var b={series:[]},c=new Object;c.data=a.data.series[0].data,c.itemStyle={normal:{color:function(a){return"#7bb5eb"}}},b.series.push(c),h.push(b)}})})}}),$.ajax({type:"post",url:"/composer/console/local/"+b.app_name+"."+b.model_path+"/get_instance_scatter_data",data:JSON.stringify(c.args.datasource[1]),async:!1,success:function(a){if(0!=a.data.series[0].length){var b={series:[]},c=new Object;c.data=a.data.series[0],c.itemStyle={normal:{color:function(a){var b=["#c1d6ea","#a4c8e9","#7bb5eb","#50a1ec","#3393ec","#047ae9","#065fb3","#04335f","#04335f","#04335f","#04335f"];if(a.data.length<3)return"#86a965";var c=a.data[2],d=0;return c>1e7?d=7:c>1e6?d=6:c>1e5?d=5:c>8e4?d=4:c>4e4?d=3:c>1e4?d=3:c>5e3?d=2:c>1e3?d=1:c>100&&(d=0),b[d]}}},b.series.push(c),h.push(b),g.push(new Date)}}}),e.baseOption.timeline.data=g,e.options=h,d.setOption(e)},b}(a.Widget),a.SpecBarGraphWidget=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}return c(b,a),b.prototype.render=function(a){var b=this.args,c=this.args.dist_bar_max,d=this.args.dist_bar_min,e=this,g=f.init(a.get(0));g.showLoading();var h={title:{subtext:e.verbose_name,x:"center",subtextStyle:{color:"#666"}},tooltip:{trigger:"axis"},legend:{orient:"vertical",x:"left"},xAxis:[{type:"category",scale:!0,data:[]}],yAxis:[{type:"value"}],series:[{name:b.yname,type:"bar",data:[]}]};$.post("/composer/console/local/"+e.app_name+"."+e.model_path+"/get_instance_scatter_data",JSON.stringify(b),function(a){g.hideLoading();for(var e=[],f=1;f<b.dist_bar_count+1;f++)e.push((c-d)/b.dist_bar_count*f+d);h.xAxis[0].data=e;var i=_.map(new Array(b.dist_bar_count),function(a){return 0});_.each(a.data.series[0],function(a){for(var c=0;c<b.dist_bar_count;){if(a[0]<e[c]){i[c]+=1;break}c++}c==b.dist_bar_count&&(i[c-1]+=1)}),h.series[0].data=i,g.setOption(h)})},b}(a.Widget),a}(window.$Composer||{});angular.module("avx.va").controller("vaMgmtVLANConfigCtrl",["$scope","$rootScope","$state","$stateParams","$uibModal","$uibModalInstance","$filter","vaTableService","modalData",function(a,b,c,d,e,f,g,h,i){var j=this;j.modalClose=function(){f.dismiss()};var k=function(){e.open({templateUrl:"app/modules/common/templates/progress.html",controller:"showProgressCtrl",controllerAs:"progress",backdrop:!1})};a.current_va_name=i.current_va_name,a.current_va_vlan_tag=parseInt(i.current_va_vlan_tag),j.vlan_tag=a.current_va_vlan_tag;var l=i.flag;j.config_va_mgmtvlan=function(a,d){k();var e={post_data:JSON.stringify({vlan_tag:d})};h.updateVAInstance(e,a).then(function(d){b.$broadcast("endLoading",!0),d&&200===d.status?d.data[0]?(j.modalClose(),l&&c.go("index.va.default.detail",{name:a},{reload:!0})):alert(d.data[1]):alert(g("T")("Failed to configure the management interface VLAN for VA: {0}.",[a]))})}}]);
\ No newline at end of file
Index: /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/index.html
===================================================================
--- /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/index.html	(revision 9233)
+++ /branches/rel_avx_2_7_6/src/webui/webui/htdocs/new/src/client/index.html	(working copy)
@@ -16,6 +16,6 @@
     </head>
     <body ng-controller="avxCtrl">
         <div ui-view></div>
-        <script src="app/scripts/avx.built.9920aa1e.js"></script>
+        <script src="app/scripts/avx.built.fcd117a5.js"></script>
     </body>
 </html>
