Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 574 B |
Before Width: | Height: | Size: 574 B |
Before Width: | Height: | Size: 442 KiB |
Before Width: | Height: | Size: 722 KiB |
Before Width: | Height: | Size: 881 KiB |
Before Width: | Height: | Size: 213 KiB |
Before Width: | Height: | Size: 1.1 MiB |
@ -1,40 +0,0 @@ |
||||
'use strict'; |
||||
|
||||
/* Init Angular App */ |
||||
|
||||
var netStatsApp = angular.module('netStatsApp', ['netStatsApp.filters', 'netStatsApp.directives', 'ngStorage']); |
||||
|
||||
|
||||
/* Services */ |
||||
|
||||
netStatsApp.factory('socket', function ($rootScope) { |
||||
var socket = new Primus(); |
||||
return socket; |
||||
}); |
||||
|
||||
netStatsApp.factory('toastr', function ($rootScope) { |
||||
toastr = window.toastr; |
||||
toastr.options = { |
||||
"closeButton": false, |
||||
"debug": false, |
||||
"progressBar": false, |
||||
"newestOnTop": true, |
||||
"positionClass": "toast-top-right", |
||||
"preventDuplicates": false, |
||||
"onclick": null, |
||||
"showDuration": "300", |
||||
"hideDuration": "1000", |
||||
"timeOut": "5000", |
||||
"extendedTimeOut": "1000", |
||||
"showEasing": "swing", |
||||
"hideEasing": "linear", |
||||
"showMethod": "fadeIn", |
||||
"hideMethod": "fadeOut" |
||||
}; |
||||
return toastr; |
||||
}); |
||||
|
||||
netStatsApp.factory('_', function ($rootScope) { |
||||
var lodash = window._; |
||||
return lodash; |
||||
}); |
@ -1,654 +0,0 @@ |
||||
|
||||
/* Controllers */ |
||||
|
||||
netStatsApp.controller('StatsCtrl', function($scope, $filter, $localStorage, socket, _, toastr) { |
||||
|
||||
var MAX_BINS = 40; |
||||
|
||||
// Main Stats init
|
||||
// ---------------
|
||||
|
||||
$scope.frontierHash = '0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa'; |
||||
$scope.nodesTotal = 0; |
||||
$scope.nodesActive = 0; |
||||
$scope.bestBlock = 0; |
||||
$scope.lastBlock = 0; |
||||
$scope.lastDifficulty = 0; |
||||
$scope.upTimeTotal = 0; |
||||
$scope.avgBlockTime = 0; |
||||
$scope.blockPropagationAvg = 0; |
||||
$scope.avgHashrate = 0; |
||||
$scope.uncleCount = 0; |
||||
$scope.bestStats = {}; |
||||
|
||||
$scope.lastGasLimit = _.fill(Array(MAX_BINS), 2); |
||||
$scope.lastBlocksTime = _.fill(Array(MAX_BINS), 2); |
||||
$scope.difficultyChart = _.fill(Array(MAX_BINS), 2); |
||||
$scope.transactionDensity = _.fill(Array(MAX_BINS), 2); |
||||
$scope.gasSpending = _.fill(Array(MAX_BINS), 2); |
||||
$scope.miners = []; |
||||
|
||||
|
||||
$scope.nodes = []; |
||||
$scope.map = []; |
||||
$scope.blockPropagationChart = []; |
||||
$scope.uncleCountChart = _.fill(Array(MAX_BINS), 2); |
||||
$scope.coinbases = []; |
||||
|
||||
$scope.latency = 0; |
||||
|
||||
$scope.currentApiVersion = "0.1.1"; |
||||
|
||||
$scope.predicate = $localStorage.predicate || ['-pinned', '-stats.active', '-stats.block.number', 'stats.block.propagation']; |
||||
$scope.reverse = $localStorage.reverse || false; |
||||
$scope.pinned = $localStorage.pinned || []; |
||||
|
||||
$scope.prefixPredicate = ['-pinned', '-stats.active']; |
||||
$scope.originalPredicate = ['-stats.block.number', 'stats.block.propagation']; |
||||
|
||||
$scope.orderTable = function(predicate, reverse) |
||||
{ |
||||
if(!_.isEqual(predicate, $scope.originalPredicate)) |
||||
{ |
||||
$scope.reverse = reverse; |
||||
$scope.originalPredicate = predicate; |
||||
$scope.predicate = _.union($scope.prefixPredicate, predicate); |
||||
} |
||||
else |
||||
{ |
||||
$scope.reverse = !$scope.reverse; |
||||
|
||||
if($scope.reverse === true){ |
||||
_.forEach(predicate, function (value, key) { |
||||
predicate[key] = (value[0] === '-' ? value.replace('-', '') : '-' + value); |
||||
}); |
||||
} |
||||
|
||||
$scope.predicate = _.union($scope.prefixPredicate, predicate); |
||||
} |
||||
|
||||
$localStorage.predicate = $scope.predicate; |
||||
$localStorage.reverse = $scope.reverse; |
||||
} |
||||
|
||||
$scope.pinNode = function(id) |
||||
{ |
||||
index = findIndex({id: id}); |
||||
|
||||
if( !_.isUndefined($scope.nodes[index]) ) |
||||
{ |
||||
$scope.nodes[index].pinned = !$scope.nodes[index].pinned; |
||||
|
||||
if($scope.nodes[index].pinned) |
||||
{ |
||||
$scope.pinned.push(id); |
||||
} |
||||
else |
||||
{ |
||||
$scope.pinned.splice($scope.pinned.indexOf(id), 1); |
||||
} |
||||
} |
||||
|
||||
$localStorage.pinned = $scope.pinned; |
||||
} |
||||
|
||||
var timeout = setInterval(function () |
||||
{ |
||||
$scope.$apply(); |
||||
}, 300); |
||||
|
||||
$scope.getNumber = function (num) { |
||||
return new Array(num); |
||||
} |
||||
|
||||
// Socket listeners
|
||||
// ----------------
|
||||
|
||||
socket.on('open', function open() { |
||||
socket.emit('ready'); |
||||
console.log('The connection has been opened.'); |
||||
}) |
||||
.on('end', function end() { |
||||
console.log('Socket connection ended.') |
||||
}) |
||||
.on('error', function error(err) { |
||||
console.log(err); |
||||
}) |
||||
.on('reconnecting', function reconnecting(opts) { |
||||
console.log('We are scheduling a reconnect operation', opts); |
||||
}) |
||||
.on('data', function incoming(data) { |
||||
$scope.$apply(socketAction(data.action, data.data)); |
||||
}); |
||||
|
||||
socket.on('init', function(data) |
||||
{ |
||||
$scope.$apply(socketAction("init", data.nodes)); |
||||
}); |
||||
|
||||
socket.on('client-latency', function(data) |
||||
{ |
||||
$scope.latency = data.latency; |
||||
}) |
||||
|
||||
function socketAction(action, data) |
||||
{ |
||||
// filter data
|
||||
data = xssFilter(data); |
||||
|
||||
// console.log('Action: ', action);
|
||||
// console.log('Data: ', data);
|
||||
|
||||
switch(action) |
||||
{ |
||||
case "init": |
||||
$scope.nodes = data; |
||||
|
||||
_.forEach($scope.nodes, function (node, index) { |
||||
|
||||
// Init hashrate
|
||||
if( _.isUndefined(node.stats.hashrate) ) |
||||
node.stats.hashrate = 0; |
||||
|
||||
// Init latency
|
||||
latencyFilter(node); |
||||
|
||||
// Init history
|
||||
if( _.isUndefined(data.history) ) |
||||
{ |
||||
data.history = new Array(40); |
||||
_.fill(data.history, -1); |
||||
} |
||||
|
||||
// Init or recover pin
|
||||
node.pinned = ($scope.pinned.indexOf(node.id) >= 0 ? true : false); |
||||
}); |
||||
|
||||
if( $scope.nodes.length > 0 ) |
||||
{ |
||||
toastr['success']("Got nodes list", "Got nodes!"); |
||||
|
||||
updateActiveNodes(); |
||||
} |
||||
|
||||
break; |
||||
|
||||
case "add": |
||||
var index = findIndex({id: data.id}); |
||||
|
||||
// if( addNewNode(data) )
|
||||
// toastr['success']("New node "+ $scope.nodes[findIndex({id: data.id})].info.name +" connected!", "New node!");
|
||||
// else
|
||||
// toastr['info']("Node "+ $scope.nodes[index].info.name +" reconnected!", "Node is back!");
|
||||
|
||||
break; |
||||
|
||||
// TODO: Remove when everybody updates api client to 0.0.12
|
||||
case "update": |
||||
var index = findIndex({id: data.id}); |
||||
|
||||
if( index >= 0 && !_.isUndefined($scope.nodes[index]) && !_.isUndefined($scope.nodes[index].stats) ) |
||||
{ |
||||
if( !_.isUndefined($scope.nodes[index].stats.latency) ) |
||||
data.stats.latency = $scope.nodes[index].stats.latency; |
||||
|
||||
if( _.isUndefined(data.stats.hashrate) ) |
||||
data.stats.hashrate = 0; |
||||
|
||||
if( $scope.nodes[index].stats.block.number < data.stats.block.number ) |
||||
{ |
||||
var best = _.max($scope.nodes, function (node) { |
||||
return parseInt(node.stats.block.number); |
||||
}).stats.block; |
||||
|
||||
if (data.stats.block.number > best.number) { |
||||
data.stats.block.arrived = _.now(); |
||||
} else { |
||||
data.stats.block.arrived = best.arrived; |
||||
} |
||||
|
||||
$scope.nodes[index].history = data.history; |
||||
} |
||||
|
||||
$scope.nodes[index].stats = data.stats; |
||||
|
||||
if( !_.isUndefined(data.stats.latency) && _.get($scope.nodes[index], 'stats.latency', 0) !== data.stats.latency ) |
||||
{ |
||||
$scope.nodes[index].stats.latency = data.stats.latency; |
||||
|
||||
latencyFilter($scope.nodes[index]); |
||||
} |
||||
|
||||
updateBestBlock(); |
||||
} |
||||
|
||||
break; |
||||
|
||||
case "block": |
||||
var index = findIndex({id: data.id}); |
||||
|
||||
if( index >= 0 && !_.isUndefined($scope.nodes[index]) && !_.isUndefined($scope.nodes[index].stats) ) |
||||
{ |
||||
if( $scope.nodes[index].stats.block.number < data.block.number ) |
||||
{ |
||||
var best = _.max($scope.nodes, function (node) { |
||||
return parseInt(node.stats.block.number); |
||||
}).stats.block; |
||||
|
||||
if (data.block.number > best.number) { |
||||
data.block.arrived = _.now(); |
||||
} else { |
||||
data.block.arrived = best.arrived; |
||||
} |
||||
|
||||
$scope.nodes[index].history = data.history; |
||||
} |
||||
|
||||
$scope.nodes[index].stats.block = data.block; |
||||
$scope.nodes[index].stats.propagationAvg = data.propagationAvg; |
||||
|
||||
updateBestBlock(); |
||||
} |
||||
|
||||
break; |
||||
|
||||
case "pending": |
||||
var index = findIndex({id: data.id}); |
||||
|
||||
if( !_.isUndefined(data.id) && index >= 0 ) |
||||
{ |
||||
var node = $scope.nodes[index]; |
||||
|
||||
if( !_.isUndefined(node) && !_.isUndefined(node.stats.pending) && !_.isUndefined(data.pending) ) |
||||
$scope.nodes[index].stats.pending = data.pending; |
||||
} |
||||
|
||||
break; |
||||
|
||||
case "stats": |
||||
var index = findIndex({id: data.id}); |
||||
|
||||
if( !_.isUndefined(data.id) && index >= 0 ) |
||||
{ |
||||
var node = $scope.nodes[index]; |
||||
|
||||
if( !_.isUndefined(node) && !_.isUndefined(node.stats) ) |
||||
{ |
||||
$scope.nodes[index].stats.active = data.stats.active; |
||||
$scope.nodes[index].stats.mining = data.stats.mining; |
||||
$scope.nodes[index].stats.hashrate = data.stats.hashrate; |
||||
$scope.nodes[index].stats.peers = data.stats.peers; |
||||
$scope.nodes[index].stats.gasPrice = data.stats.gasPrice; |
||||
$scope.nodes[index].stats.uptime = data.stats.uptime; |
||||
|
||||
if( !_.isUndefined(data.stats.latency) && _.get($scope.nodes[index], 'stats.latency', 0) !== data.stats.latency ) |
||||
{ |
||||
$scope.nodes[index].stats.latency = data.stats.latency; |
||||
|
||||
latencyFilter($scope.nodes[index]); |
||||
} |
||||
|
||||
updateActiveNodes(); |
||||
} |
||||
} |
||||
|
||||
break; |
||||
|
||||
case "info": |
||||
var index = findIndex({id: data.id}); |
||||
|
||||
if( index >= 0 ) |
||||
{ |
||||
$scope.nodes[index].info = data.info; |
||||
|
||||
if( _.isUndefined($scope.nodes[index].pinned) ) |
||||
$scope.nodes[index].pinned = false; |
||||
|
||||
// Init latency
|
||||
latencyFilter($scope.nodes[index]); |
||||
|
||||
updateActiveNodes(); |
||||
} |
||||
|
||||
break; |
||||
|
||||
case "blockPropagationChart": |
||||
$scope.blockPropagationChart = data.histogram; |
||||
$scope.blockPropagationAvg = data.avg; |
||||
|
||||
break; |
||||
|
||||
case "uncleCount": |
||||
$scope.uncleCount = data[0] + data[1]; |
||||
data.reverse(); |
||||
$scope.uncleCountChart = data; |
||||
|
||||
break; |
||||
|
||||
case "charts": |
||||
if( !_.isEqual($scope.avgBlockTime, data.avgBlocktime) ) |
||||
$scope.avgBlockTime = data.avgBlocktime; |
||||
|
||||
if( !_.isEqual($scope.avgHashrate, data.avgHashrate) ) |
||||
$scope.avgHashrate = data.avgHashrate; |
||||
|
||||
if( !_.isEqual($scope.lastGasLimit, data.gasLimit) && data.gasLimit.length >= MAX_BINS ) |
||||
$scope.lastGasLimit = data.gasLimit; |
||||
|
||||
if( !_.isEqual($scope.lastBlocksTime, data.blocktime) && data.blocktime.length >= MAX_BINS ) |
||||
$scope.lastBlocksTime = data.blocktime; |
||||
|
||||
if( !_.isEqual($scope.difficultyChart, data.difficulty) && data.difficulty.length >= MAX_BINS ) |
||||
$scope.difficultyChart = data.difficulty; |
||||
|
||||
if( !_.isEqual($scope.blockPropagationChart, data.propagation.histogram) ) { |
||||
$scope.blockPropagationChart = data.propagation.histogram; |
||||
$scope.blockPropagationAvg = data.propagation.avg; |
||||
} |
||||
|
||||
data.uncleCount.reverse(); |
||||
|
||||
if( !_.isEqual($scope.uncleCountChart, data.uncleCount) && data.uncleCount.length >= MAX_BINS ) { |
||||
$scope.uncleCount = data.uncleCount[data.uncleCount.length-2] + data.uncleCount[data.uncleCount.length-1]; |
||||
$scope.uncleCountChart = data.uncleCount; |
||||
} |
||||
|
||||
if( !_.isEqual($scope.transactionDensity, data.transactions) && data.transactions.length >= MAX_BINS ) |
||||
$scope.transactionDensity = data.transactions; |
||||
|
||||
if( !_.isEqual($scope.gasSpending, data.gasSpending) && data.gasSpending.length >= MAX_BINS ) |
||||
$scope.gasSpending = data.gasSpending; |
||||
|
||||
if( !_.isEqual($scope.miners, data.miners) ) { |
||||
$scope.miners = data.miners; |
||||
getMinersNames(); |
||||
} |
||||
|
||||
break; |
||||
|
||||
case "inactive": |
||||
var index = findIndex({id: data.id}); |
||||
|
||||
if( index >= 0 ) |
||||
{ |
||||
if( !_.isUndefined(data.stats) ) |
||||
$scope.nodes[index].stats = data.stats; |
||||
|
||||
// toastr['error']("Node "+ $scope.nodes[index].info.name +" went away!", "Node connection was lost!");
|
||||
|
||||
updateActiveNodes(); |
||||
} |
||||
|
||||
break; |
||||
|
||||
case "latency": |
||||
if( !_.isUndefined(data.id) && !_.isUndefined(data.latency) ) |
||||
{ |
||||
var index = findIndex({id: data.id}); |
||||
|
||||
if( index >= 0 ) |
||||
{ |
||||
var node = $scope.nodes[index]; |
||||
|
||||
if( !_.isUndefined(node) && !_.isUndefined(node.stats) && !_.isUndefined(node.stats.latency) && node.stats.latency !== data.latency ) |
||||
{ |
||||
node.stats.latency = data.latency; |
||||
latencyFilter(node); |
||||
} |
||||
} |
||||
} |
||||
|
||||
break; |
||||
|
||||
case "client-ping": |
||||
socket.emit('client-pong', { |
||||
serverTime: data.serverTime, |
||||
clientTime: _.now() |
||||
}); |
||||
|
||||
break; |
||||
} |
||||
|
||||
// $scope.$apply();
|
||||
} |
||||
|
||||
function findIndex(search) |
||||
{ |
||||
return _.findIndex($scope.nodes, search); |
||||
} |
||||
|
||||
function getMinersNames() |
||||
{ |
||||
if( $scope.miners.length > 0 ) |
||||
{ |
||||
_.forIn($scope.miners, function (value, key) |
||||
{ |
||||
if(value.name !== false) |
||||
return; |
||||
|
||||
if(value.miner === "0x0000000000000000000000000000000000000000") |
||||
return; |
||||
|
||||
var name = _.result(_.find(_.pluck($scope.nodes, 'info'), 'coinbase', value.miner), 'name'); |
||||
|
||||
if( !_.isUndefined(name) ) |
||||
$scope.miners[key].name = name; |
||||
}); |
||||
} |
||||
} |
||||
|
||||
function addNewNode(data) |
||||
{ |
||||
var index = findIndex({id: data.id}); |
||||
|
||||
if( _.isUndefined(data.history) ) |
||||
{ |
||||
data.history = new Array(40); |
||||
_.fill(data.history, -1); |
||||
} |
||||
|
||||
if( index < 0 ) |
||||
{ |
||||
if( !_.isUndefined(data.stats) && _.isUndefined(data.stats.hashrate) ) |
||||
{ |
||||
data.stats.hashrate = 0; |
||||
} |
||||
|
||||
data.pinned = false; |
||||
|
||||
$scope.nodes.push(data); |
||||
|
||||
return true; |
||||
} |
||||
|
||||
data.pinned = ( !_.isUndefined($scope.nodes[index].pinned) ? $scope.nodes[index].pinned : false); |
||||
|
||||
if( !_.isUndefined($scope.nodes[index].history) ) |
||||
{ |
||||
data.history = $scope.nodes[index].history; |
||||
} |
||||
|
||||
$scope.nodes[index] = data; |
||||
|
||||
updateActiveNodes(); |
||||
|
||||
return false; |
||||
} |
||||
|
||||
function updateActiveNodes() |
||||
{ |
||||
updateBestBlock(); |
||||
|
||||
$scope.nodesTotal = $scope.nodes.length; |
||||
|
||||
$scope.nodesActive = _.filter($scope.nodes, function (node) { |
||||
// forkFilter(node);
|
||||
return node.stats.active == true; |
||||
}).length; |
||||
|
||||
$scope.upTimeTotal = _.reduce($scope.nodes, function (total, node) { |
||||
return total + node.stats.uptime; |
||||
}, 0) / $scope.nodes.length; |
||||
|
||||
$scope.map = _.map($scope.nodes, function (node) { |
||||
var fill = $filter('bubbleClass')(node.stats, $scope.bestBlock); |
||||
|
||||
if(node.geo != null) |
||||
return { |
||||
radius: 3, |
||||
latitude: node.geo.ll[0], |
||||
longitude: node.geo.ll[1], |
||||
nodeName: node.info.name, |
||||
fillClass: "text-" + fill, |
||||
fillKey: fill, |
||||
}; |
||||
else |
||||
return { |
||||
radius: 0, |
||||
latitude: 0, |
||||
longitude: 0 |
||||
}; |
||||
}); |
||||
} |
||||
|
||||
function updateBestBlock() |
||||
{ |
||||
if( $scope.nodes.length ) |
||||
{ |
||||
var chains = {}; |
||||
var maxScore = 0; |
||||
|
||||
// _($scope.nodes)
|
||||
// .map(function (item)
|
||||
// {
|
||||
// maxScore += (item.trusted ? 50 : 1);
|
||||
|
||||
// if( _.isUndefined(chains[item.stats.block.number]) )
|
||||
// chains[item.stats.block.number] = [];
|
||||
|
||||
// if( _.isUndefined(chains[item.stats.block.number][item.stats.block.fork]) )
|
||||
// chains[item.stats.block.number][item.stats.block.fork] = {
|
||||
// fork: item.stats.block.fork,
|
||||
// count: 0,
|
||||
// trusted: 0,
|
||||
// score: 0
|
||||
// };
|
||||
|
||||
// if(item.stats.block.trusted)
|
||||
// chains[item.stats.block.number][item.stats.block.fork].trusted++;
|
||||
// else
|
||||
// chains[item.stats.block.number][item.stats.block.fork].count++;
|
||||
|
||||
// chains[item.stats.block.number][item.stats.block.fork].score = chains[item.stats.block.number][item.stats.block.fork].trusted * 50 + chains[item.stats.block.number][item.stats.block.fork].count;
|
||||
// })
|
||||
// .value();
|
||||
|
||||
// $scope.maxScore = maxScore;
|
||||
// $scope.chains = _.reduce(chains, function (result, item, key)
|
||||
// {
|
||||
// result[key] = _.max(item, 'score');
|
||||
// return result;
|
||||
// }, {});
|
||||
|
||||
var bestBlock = _.max($scope.nodes, function (node) |
||||
{ |
||||
// if( $scope.chains[node.stats.block.number].fork === node.stats.block.fork && $scope.chains[node.stats.block.number].score / $scope.maxScore >= 0.5 )
|
||||
// {
|
||||
return parseInt(node.stats.block.number); |
||||
// }
|
||||
|
||||
// return 0;
|
||||
}).stats.block.number; |
||||
|
||||
if( bestBlock !== $scope.bestBlock ) |
||||
{ |
||||
$scope.bestBlock = bestBlock; |
||||
$scope.bestStats = _.max($scope.nodes, function (node) { |
||||
return parseInt(node.stats.block.number); |
||||
}).stats; |
||||
|
||||
$scope.lastBlock = $scope.bestStats.block.arrived; |
||||
$scope.lastDifficulty = $scope.bestStats.block.difficulty; |
||||
} |
||||
} |
||||
} |
||||
|
||||
// function forkFilter(node)
|
||||
// {
|
||||
// if( _.isUndefined(node.readable) )
|
||||
// node.readable = {};
|
||||
|
||||
// node.readable.forkClass = 'hidden';
|
||||
// node.readable.forkMessage = '';
|
||||
|
||||
// return true;
|
||||
|
||||
// if( $scope.chains[node.stats.block.number].fork === node.stats.block.fork && $scope.chains[node.stats.block.number].score / $scope.maxScore >= 0.5 )
|
||||
// {
|
||||
// node.readable.forkClass = 'hidden';
|
||||
// node.readable.forkMessage = '';
|
||||
|
||||
// return true;
|
||||
// }
|
||||
|
||||
// if( $scope.chains[node.stats.block.number].fork !== node.stats.block.fork )
|
||||
// {
|
||||
// node.readable.forkClass = 'text-danger';
|
||||
// node.readable.forkMessage = 'Wrong chain.<br/>This chain is a fork.';
|
||||
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// if( $scope.chains[node.stats.block.number].score / $scope.maxScore < 0.5)
|
||||
// {
|
||||
// node.readable.forkClass = 'text-warning';
|
||||
// node.readable.forkMessage = 'May not be main chain.<br/>Waiting for more confirmations.';
|
||||
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
|
||||
function latencyFilter(node) |
||||
{ |
||||
if( _.isUndefined(node.readable) ) |
||||
node.readable = {}; |
||||
|
||||
if( _.isUndefined(node.stats) ) { |
||||
node.readable.latencyClass = 'text-danger'; |
||||
node.readable.latency = 'offline'; |
||||
} |
||||
|
||||
if (node.stats.active === false) |
||||
{ |
||||
node.readable.latencyClass = 'text-danger'; |
||||
node.readable.latency = 'offline'; |
||||
} |
||||
else |
||||
{ |
||||
if (node.stats.latency <= 100) |
||||
node.readable.latencyClass = 'text-success'; |
||||
|
||||
if (node.stats.latency > 100 && node.stats.latency <= 1000) |
||||
node.readable.latencyClass = 'text-warning'; |
||||
|
||||
if (node.stats.latency > 1000) |
||||
node.readable.latencyClass = 'text-danger'; |
||||
|
||||
node.readable.latency = node.stats.latency + ' ms'; |
||||
} |
||||
} |
||||
|
||||
// very simple xss filter
|
||||
function xssFilter(obj){ |
||||
if(_.isArray(obj)) { |
||||
return _.map(obj, xssFilter); |
||||
|
||||
} else if(_.isObject(obj)) { |
||||
return _.mapValues(obj, xssFilter); |
||||
|
||||
} else if(_.isString(obj)) { |
||||
return obj.replace(/\< *\/* *script *>*/gi,'').replace(/javascript/gi,''); |
||||
} else |
||||
return obj; |
||||
} |
||||
}); |
@ -1,477 +0,0 @@ |
||||
|
||||
/* Directives */ |
||||
|
||||
angular.module('netStatsApp.directives', []) |
||||
.directive('appVersion', ['version', function (version) { |
||||
return function(scope, elm, attrs) { |
||||
elm.text(version); |
||||
}; |
||||
}]) |
||||
// .directive('timeAgo', ['$interval', function($interval) {
|
||||
// function link (scope, element, attrs)
|
||||
// {
|
||||
// var timestamp,
|
||||
// timeoutId;
|
||||
|
||||
// function updateTime() {
|
||||
// element.text(timeAgo())
|
||||
// }
|
||||
|
||||
// function timeAgo()
|
||||
// {
|
||||
// if(timestamp === 0)
|
||||
// return '∞';
|
||||
|
||||
// var time = (new Date()).getTime();
|
||||
// var diff = Math.floor((time - timestamp)/1000);
|
||||
|
||||
// if(diff < 60)
|
||||
// return Math.round(diff) + ' s ago';
|
||||
|
||||
// return moment.duration(Math.round(diff), 's').humanize() + ' ago';
|
||||
// };
|
||||
|
||||
// scope.$watch(attrs.timeAgo, function(value) {
|
||||
// timestamp = value;
|
||||
// updateTime();
|
||||
// });
|
||||
|
||||
// element.on('$destroy', function() {
|
||||
// $interval.cancel(timeoutId);
|
||||
// });
|
||||
|
||||
// timeoutId = $interval(function () {
|
||||
// updateTime();
|
||||
// }, 200);
|
||||
// };
|
||||
|
||||
// return {
|
||||
// link: link
|
||||
// };
|
||||
// }])
|
||||
|
||||
.directive('minerblock', function ($compile) { |
||||
return { |
||||
restrict: 'E', |
||||
template: '<div></div>', |
||||
replace: true, |
||||
link: function (scope, element, attrs) |
||||
{ |
||||
var makeClass = function (value) |
||||
{ |
||||
if(value <= 6) |
||||
return 'success'; |
||||
|
||||
if(value <= 12) |
||||
return 'info'; |
||||
|
||||
if(value <= 18) |
||||
return 'warning'; |
||||
|
||||
if(value <= 24) |
||||
return 'orange'; |
||||
|
||||
return 'danger'; |
||||
} |
||||
|
||||
attrs.$observe("blocks", function (newValue) |
||||
{ |
||||
var content = ''; |
||||
var blockClass = 'bg-' + makeClass(newValue); |
||||
|
||||
for(var i = 0; i < newValue; i++) |
||||
{ |
||||
content += '<div class="block ' + blockClass + '"></div>'; |
||||
} |
||||
|
||||
element.empty(); |
||||
element.html(content); |
||||
}); |
||||
} |
||||
}; |
||||
}) |
||||
.directive('sparkchart', function () { |
||||
return { |
||||
restrict: 'E', |
||||
scope: { |
||||
data: '@' |
||||
}, |
||||
compile: function (tElement, tAttrs, transclude) |
||||
{ |
||||
tElement.replaceWith('<span>' + tAttrs.data + "</span>"); |
||||
|
||||
// register resize watcher
|
||||
var timeout; |
||||
var width; |
||||
$(window).on('resize', function(e) { |
||||
if( $('body').width() < 600 ) |
||||
width = 4; |
||||
else if( $('body').width() < 1200 ) |
||||
width = 5; |
||||
else |
||||
width = 6; |
||||
|
||||
if(timeout) |
||||
clearTimeout(timeout); |
||||
timeout = setTimeout(function() { |
||||
$.fn.sparkline.defaults.bar.barWidth = width; |
||||
}, 200); |
||||
}); |
||||
|
||||
return function(scope, element, attrs) |
||||
{ |
||||
attrs.$observe("data", function (newValue) |
||||
{ |
||||
element.html(newValue); |
||||
element.addClass("big-details"); |
||||
element.sparkline('html', { |
||||
type: 'bar', |
||||
tooltipSuffix: (attrs.tooltipsuffix || '') |
||||
}); |
||||
}); |
||||
}; |
||||
} |
||||
}; |
||||
}) |
||||
.directive('nodepropagchart', function() { |
||||
return { |
||||
restrict: 'E', |
||||
scope: { |
||||
data: '@' |
||||
}, |
||||
compile: function (tElement, tAttrs, transclude) |
||||
{ |
||||
tElement.replaceWith('<span>' + tAttrs.data + "</span>"); |
||||
|
||||
function formatTime (ms) { |
||||
var result = 0; |
||||
|
||||
if(ms < 1000) { |
||||
return ms + " ms"; |
||||
} |
||||
|
||||
if(ms < 1000*60) { |
||||
result = ms/1000; |
||||
return result.toFixed(1) + " s"; |
||||
} |
||||
|
||||
if(ms < 1000*60*60) { |
||||
result = ms/1000/60; |
||||
return Math.round(result) + " min"; |
||||
} |
||||
|
||||
if(ms < 1000*60*60*24) { |
||||
result = ms/1000/60/60; |
||||
return Math.round(result) + " h"; |
||||
} |
||||
|
||||
result = ms/1000/60/60/24; |
||||
return Math.round(result) + " days"; |
||||
}; |
||||
|
||||
return function(scope, element, attrs) |
||||
{ |
||||
attrs.$observe("data", function (newValue) |
||||
{ |
||||
element.html(newValue); |
||||
element.sparkline('html', { |
||||
type: 'bar', |
||||
negBarColor: '#7f7f7f', |
||||
zeroAxis: false, |
||||
height: 20, |
||||
barWidth : 2, |
||||
barSpacing : 1, |
||||
tooltipSuffix: '', |
||||
chartRangeMax: 8000, |
||||
colorMap: jQuery.range_map({ |
||||
'0:1': '#8be9fd', |
||||
'1:1000': '#50fa7b', |
||||
'1001:3000': '#f1fa8c', |
||||
'3001:7000': '#ffb86c', |
||||
'7001:': '#ff5555' |
||||
}), |
||||
tooltipFormatter: function (spark, opt, ms) { |
||||
var tooltip = '<div class="tooltip-arrow"></div><div class="tooltip-inner">'; |
||||
tooltip += formatTime(ms[0].value); |
||||
tooltip += '</div>'; |
||||
|
||||
return tooltip; |
||||
} |
||||
}); |
||||
}); |
||||
}; |
||||
} |
||||
}; |
||||
}) |
||||
.directive('nodemap', ['$compile', function($compile) { |
||||
return { |
||||
restrict: 'EA', |
||||
scope: { |
||||
data: '=' |
||||
}, |
||||
link: function(scope, element, attrs) { |
||||
var bubbleConfig = { |
||||
borderWidth: 0, |
||||
highlightOnHover: false, |
||||
popupOnHover: true, |
||||
popupTemplate: function(geo, data) { |
||||
return ['<div class="tooltip-arrow"></div>', |
||||
'<div class="hoverinfo ' + data.fillClass + '">', |
||||
'<div class="propagationBox"></div>', |
||||
'<strong>', |
||||
data.nodeName, |
||||
'</strong>', |
||||
'</div>'].join(''); |
||||
} |
||||
}; |
||||
|
||||
scope.init = function() { |
||||
element.empty(); |
||||
|
||||
var width = 628, |
||||
height = 202; |
||||
|
||||
scope.map = new Datamap({ |
||||
element: element[0], |
||||
scope: 'world', |
||||
width: width, |
||||
height: 242, |
||||
fills: { |
||||
success: '#50fa7b', |
||||
info: '#8be9fd', |
||||
warning: '#f1fa8c', |
||||
orange: '#ffb86c', |
||||
danger: '#ff5555', |
||||
defaultFill: '#282828' |
||||
}, |
||||
geographyConfig: { |
||||
borderWidth: 0, |
||||
borderColor: '#000', |
||||
highlightOnHover: false, |
||||
popupOnHover: false |
||||
}, |
||||
bubblesConfig: { |
||||
borderWidth: 0, |
||||
highlightOnHover: false, |
||||
popupOnHover: true |
||||
}, |
||||
done: function(datamap) { |
||||
var ev; |
||||
|
||||
var zoomListener = d3.behavior.zoom() |
||||
.size([width, height]) |
||||
.scaleExtent([1, 3]) |
||||
.on("zoom", redraw) |
||||
.on("zoomend", animadraw); |
||||
|
||||
function redraw() { |
||||
datamap.svg.select(".datamaps-subunits").attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")"); |
||||
datamap.svg.select(".bubbles").selectAll("circle") |
||||
.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")") |
||||
.attr("r", 3/d3.event.scale); |
||||
|
||||
ev = d3.event; |
||||
} |
||||
|
||||
zoomListener(datamap.svg); |
||||
|
||||
function animadraw() { |
||||
var x = Math.min(0, Math.max(ev.translate[0], (-1) * width * (ev.scale-1))); |
||||
var y = Math.min(0, Math.max(ev.translate[1], (-1) * height * (ev.scale-1))); |
||||
|
||||
datamap.svg.select(".datamaps-subunits") |
||||
.transition() |
||||
.delay(150) |
||||
.duration(750) |
||||
.attr("transform", "translate(" + x + "," + y + ")scale(" + ev.scale + ")"); |
||||
|
||||
datamap.svg.select(".bubbles").selectAll("circle") |
||||
.transition() |
||||
.delay(150) |
||||
.duration(750) |
||||
.attr("transform", "translate(" + x + "," + y + ")scale(" + ev.scale + ")") |
||||
.attr("r", 3/ev.scale); |
||||
|
||||
zoomListener.translate([x,y]); |
||||
} |
||||
} |
||||
}); |
||||
|
||||
scope.map.bubbles(scope.data, bubbleConfig); |
||||
} |
||||
|
||||
scope.init(); |
||||
|
||||
scope.$watch('data', function() { |
||||
scope.map.bubbles(scope.data, bubbleConfig); |
||||
}, true); |
||||
} |
||||
}; |
||||
}]) |
||||
.directive('histogram', ['$compile', function($compile) { |
||||
return { |
||||
restrict: 'EA', |
||||
scope: { |
||||
data: '=' |
||||
}, |
||||
link: function(scope, element, attrs) |
||||
{ |
||||
var margin = {top: 0, right: 0, bottom: 0, left: 0}; |
||||
var width = 280 - margin.left - margin.right, |
||||
height = 63 - margin.top - margin.bottom; |
||||
|
||||
// fix for mobile devices
|
||||
if( $('body').width() < 600 ) |
||||
width = 200 - margin.left - margin.right; |
||||
else( $('body').width() < 1200 ) |
||||
width = 240 - margin.left - margin.right; |
||||
|
||||
var TICKS = 40; |
||||
|
||||
var x = d3.scale.linear() |
||||
.domain([0, 10000]) |
||||
.rangeRound([0, width]) |
||||
.interpolate(d3.interpolateRound); |
||||
|
||||
var y = d3.scale.linear() |
||||
.range([height, 0]) |
||||
.interpolate(d3.interpolateRound); |
||||
|
||||
var color = d3.scale.linear() |
||||
.domain([1000, 3000, 7000, 10000]) |
||||
.range(["#50fa7b", "#f1fa8c", "#ffb86c", "#ff5555"]); |
||||
|
||||
var xAxis = d3.svg.axis() |
||||
.scale(x) |
||||
.orient("bottom") |
||||
.ticks(4, ",.1s") |
||||
.tickFormat(function(t){ return t/1000 + "s"}); |
||||
|
||||
var yAxis = d3.svg.axis() |
||||
.scale(y) |
||||
.orient("left") |
||||
.ticks(3) |
||||
.tickFormat(d3.format("%")); |
||||
|
||||
var line = d3.svg.line() |
||||
.x(function(d) { return x(d.x + d.dx/2) - 1; }) |
||||
.y(function(d) { return y(d.y) - 2; }) |
||||
.interpolate('basis'); |
||||
|
||||
var tip = d3.tip() |
||||
.attr('class', 'd3-tip') |
||||
.offset([10, 0]) |
||||
.direction('s') |
||||
.html(function(d) { |
||||
return '<div class="tooltip-arrow"></div><div class="tooltip-inner"><b>' + (d.x/1000) + 's - ' + ((d.x + d.dx)/1000) + 's</b><div class="small">Percent: <b>' + Math.round(d.y * 100) + '%</b>' + '<br>Frequency: <b>' + d.frequency + '</b><br>Cumulative: <b>' + Math.round(d.cumpercent*100) + '%</b></div></div>'; |
||||
}) |
||||
|
||||
scope.init = function(width) |
||||
{ |
||||
var data = scope.data; |
||||
|
||||
var x = d3.scale.linear() |
||||
.domain([0, 10000]) |
||||
.rangeRound([0, width]) |
||||
.interpolate(d3.interpolateRound); |
||||
|
||||
var xAxis = d3.svg.axis() |
||||
.scale(x) |
||||
.orient("bottom") |
||||
.ticks(4, ",.1s") |
||||
.tickFormat(function(t){ return t/1000 + "s"}); |
||||
|
||||
var line = d3.svg.line() |
||||
.x(function(d) { return x(d.x + d.dx/2) - 1; }) |
||||
.y(function(d) { return y(d.y) - 2; }) |
||||
.interpolate('basis'); |
||||
|
||||
// Adjust y axis
|
||||
y.domain([0, d3.max(data, function(d) { return d.y; })]); |
||||
|
||||
// Delete previous histogram
|
||||
element.empty(); |
||||
|
||||
/* Start drawing */ |
||||
var svg = d3.select(".d3-blockpropagation").append("svg") |
||||
.attr("width", width + margin.left + margin.right) |
||||
.attr("height", height + margin.top + margin.bottom) |
||||
.append("g") |
||||
.attr("transform", "translate(" + margin.left + "," + margin.top + ")"); |
||||
|
||||
svg.call(tip); |
||||
|
||||
svg.append("g") |
||||
.attr("class", "x axis") |
||||
.attr("transform", "translate(0," + height + ")") |
||||
.call(xAxis) |
||||
.selectAll("text") |
||||
.attr("y", 6); |
||||
|
||||
svg.append("g") |
||||
.attr("class", "y axis") |
||||
.attr("transform", "translate(" + width + ", 0)") |
||||
.call(yAxis); |
||||
|
||||
|
||||
var bar = svg.append("g") |
||||
.attr("class", "bars") |
||||
.selectAll("g") |
||||
.data(data) |
||||
.enter().append("g") |
||||
.attr("transform", function(d) { return "translate(" + x(d.x) + ",0)"; }) |
||||
.on('mouseover', function(d) { tip.show(d, d3.select(this).select('.bar').node()); }) |
||||
.on('mouseout', tip.hide); |
||||
|
||||
bar.insert("rect") |
||||
.attr("class", "handle") |
||||
.attr("y", 0) |
||||
.attr("width", x(data[0].dx + data[0].x) - x(data[0].x)) |
||||
.attr("height", function(d) { return height; }); |
||||
|
||||
bar.insert("rect") |
||||
.attr("class", "bar") |
||||
.attr("y", function(d) { return y(d.y); }) |
||||
.attr("rx", 1) |
||||
.attr("ry", 1) |
||||
.attr("fill", function(d) { return color(d.x); }) |
||||
.attr("width", x(data[0].dx + data[0].x) - x(data[0].x) - 1) |
||||
.attr("height", function(d) { return height - y(d.y) + 1; }); |
||||
|
||||
bar.insert("rect") |
||||
.attr("class", "highlight") |
||||
.attr("y", function(d) { return y(d.y); }) |
||||
.attr("fill", function(d) { return d3.rgb(color(d.x)).brighter(.7).toString(); }) |
||||
.attr("rx", 1) |
||||
.attr("ry", 1) |
||||
.attr("width", x(data[0].dx + data[0].x) - x(data[0].x) - 1) |
||||
.attr("height", function(d) { return height - y(d.y) + 1; }); |
||||
|
||||
svg.append("path") |
||||
.attr("class", "line") |
||||
.attr("d", line(data)); |
||||
} |
||||
|
||||
scope.$watch('data', function() { |
||||
if(scope.data.length > 0) { |
||||
scope.init(width); |
||||
} |
||||
}, true); |
||||
|
||||
var timeout; |
||||
$(window).on('resize', function(e) { |
||||
var width = 280 - margin.left - margin.right; |
||||
if( $('body').width() < 768 ) |
||||
width = 200 - margin.left - margin.right; |
||||
|
||||
if(timeout) |
||||
clearTimeout(timeout); |
||||
|
||||
timeout = setTimeout(function() { |
||||
// redraw
|
||||
scope.init(width); |
||||
}, 200); |
||||
}); |
||||
} |
||||
}; |
||||
}]); |
@ -1,619 +0,0 @@ |
||||
|
||||
/* Filters */ |
||||
|
||||
angular.module('netStatsApp.filters', []) |
||||
.filter('nodesActiveClass', function() { |
||||
return function(active, total) { |
||||
var ratio = active/total; |
||||
|
||||
if(ratio >= 0.9) |
||||
return 'text-success'; |
||||
|
||||
if(ratio >= 0.75) |
||||
return 'text-info'; |
||||
|
||||
if(ratio >= 0.5) |
||||
return 'text-warning'; |
||||
|
||||
return 'text-danger'; |
||||
}; |
||||
}) |
||||
.filter('nodePinClass', function() { |
||||
return function(pinned) { |
||||
if(pinned) |
||||
return 'icon-check-o'; |
||||
|
||||
return 'icon-loader'; |
||||
}; |
||||
}) |
||||
.filter('mainClass', function() { |
||||
return function(node, bestBlock) { |
||||
return mainClass(node, bestBlock); |
||||
}; |
||||
}) |
||||
.filter('peerClass', function() { |
||||
return function(peers, active) { |
||||
return peerClass(peers, active); |
||||
}; |
||||
}) |
||||
.filter('miningClass', function() { |
||||
return function(mining, active) { |
||||
if(! active) |
||||
return 'text-gray'; |
||||
|
||||
return (! mining ? 'text-danger' : 'text-success'); |
||||
}; |
||||
}) |
||||
.filter('miningIconClass', function() { |
||||
return function(mining) { |
||||
return (! mining ? 'icon-cancel' : 'icon-check'); |
||||
}; |
||||
}) |
||||
.filter('hashrateClass', function() { |
||||
return function(mining, active) { |
||||
if(! mining || ! active) |
||||
return 'text-gray'; |
||||
|
||||
return 'text-success'; |
||||
}; |
||||
}) |
||||
.filter('hashrateFilter', ['$sce', '$filter', function($sce, filter) { |
||||
return function(hashes, isMining) { |
||||
if( !isMining ) |
||||
return $sce.trustAsHtml('<i class="icon-cancel"></i>'); |
||||
|
||||
var result = hashes; |
||||
var units = ['', 'K', 'M', 'G', 'T', 'P', 'E']; |
||||
var unit = 'K'; |
||||
|
||||
for(var i = 1; result > 1000; i++) |
||||
{ |
||||
result /= 1000; |
||||
unit = units[i]; |
||||
} |
||||
|
||||
return $sce.trustAsHtml('<span class="small">' + filter('number')(result.toFixed(1)) + ' <span class="small-hash">' + unit + 'H/s</span></span>'); |
||||
}; |
||||
}]) |
||||
.filter('totalDifficultyFilter', function() { |
||||
return function(hashes) { |
||||
var result = hashes; |
||||
var units = ['', 'K', 'M', 'G', 'T', 'P', 'E']; |
||||
var unit = ''; |
||||
|
||||
for(var i = 1; result > 1000; i++) |
||||
{ |
||||
result /= 1000; |
||||
unit = units[i]; |
||||
} |
||||
|
||||
return result.toFixed(2) + ' ' + unit + 'H'; |
||||
}; |
||||
}) |
||||
.filter('nodeVersion', function($sce) { |
||||
return function(version) { |
||||
if(version) |
||||
{ |
||||
var tmp = version.split('/'); |
||||
|
||||
tmp[0] = tmp[0].replace('Ethereum(++)', 'Eth'); |
||||
|
||||
if(tmp[0].indexOf('pyethapp') === 0) |
||||
{ |
||||
tmp[0] = 'pyeth'; |
||||
} |
||||
|
||||
if(tmp[1] && tmp[1][0] !== 'v' && tmp[1][2] !== '.') |
||||
{ |
||||
tmp.splice(1,1); |
||||
} |
||||
|
||||
if(tmp[2] && tmp[2] === 'Release'){ |
||||
tmp.splice(2,1); |
||||
} |
||||
|
||||
if(tmp[2] && tmp[2].indexOf('Linux') === 0) |
||||
tmp[2] = 'linux'; |
||||
|
||||
if(tmp[2] && tmp[2].indexOf('Darwin') === 0) |
||||
tmp[2] = 'darwin'; |
||||
|
||||
return $sce.trustAsHtml(tmp.join('/')); |
||||
} |
||||
|
||||
return ''; |
||||
}; |
||||
}) |
||||
.filter('blockClass', function() { |
||||
return function(current, best) { |
||||
if( ! current.active) |
||||
return 'text-gray'; |
||||
|
||||
return (best - current.block.number < 1 ? 'text-success' : (best - current.block.number === 1 ? 'text-warning' : (best - current.block.number > 1 && best - current.block.number < 4 ? 'text-orange' : 'text-danger'))); |
||||
}; |
||||
}) |
||||
.filter('gasPriceFilter', ['$filter', function(filter) { |
||||
var numberFilter = filter('number'); |
||||
return function(price) { |
||||
if(typeof price === 'undefined') |
||||
return "0 wei"; |
||||
|
||||
if(price.length < 4) |
||||
return numberFilter(price) + " wei"; |
||||
|
||||
if(price.length < 7) |
||||
return numberFilter(price/1000) + " kwei"; |
||||
|
||||
if(price.length < 10) |
||||
return numberFilter(price/1000000) + " mwei"; |
||||
|
||||
if(price.length < 13) |
||||
return numberFilter(price/1000000000) + " gwei"; |
||||
|
||||
if(price.length < 16) |
||||
return numberFilter(price/1000000000000) + " szabo"; |
||||
|
||||
if(price.length < 19) |
||||
return numberFilter(price.substr(0, price.length - 15)) + " finney"; |
||||
|
||||
return numberFilter(price.substr(0, price.length - 18)) + " ether"; |
||||
} |
||||
}]) |
||||
.filter('gasFilter', function() { |
||||
return function(gas) { |
||||
return (typeof gas !== 'undefined' ? parseInt(gas) : '?'); |
||||
} |
||||
}) |
||||
.filter('hashFilter', function() { |
||||
return function(hash) { |
||||
if(typeof hash === 'undefined') |
||||
return "?"; |
||||
|
||||
if(hash.substr(0,2) === '0x') |
||||
hash = hash.substr(2,64); |
||||
|
||||
return hash.substr(0, 8) + '...' + hash.substr(56, 8); |
||||
} |
||||
}) |
||||
.filter('timeClass', function() { |
||||
return function(timestamp, active) { |
||||
if( ! active) |
||||
return 'text-gray'; |
||||
|
||||
return timeClass(timestamp); |
||||
}; |
||||
}) |
||||
.filter('propagationTimeClass', function() { |
||||
return function(stats, bestBlock) { |
||||
if( ! stats.active) |
||||
return 'text-gray'; |
||||
|
||||
if(stats.block.number < bestBlock) |
||||
return 'text-gray'; |
||||
|
||||
if(stats.block.propagation == 0) |
||||
return 'text-info'; |
||||
|
||||
if(stats.block.propagation < 1000) |
||||
return 'text-success'; |
||||
|
||||
if(stats.block.propagation < 3000) |
||||
return 'text-warning'; |
||||
|
||||
if(stats.block.propagation < 7000) |
||||
return 'text-orange'; |
||||
|
||||
return 'text-danger' |
||||
}; |
||||
}) |
||||
.filter('propagationNodeAvgTimeClass', function() { |
||||
return function(stats, bestBlock) { |
||||
if( ! stats.active) |
||||
return 'text-gray'; |
||||
|
||||
if(stats.block.number < bestBlock) |
||||
return 'text-gray'; |
||||
|
||||
if(stats.propagationAvg == 0) |
||||
return 'text-info'; |
||||
|
||||
if(stats.propagationAvg < 1000) |
||||
return 'text-success'; |
||||
|
||||
if(stats.propagationAvg < 3000) |
||||
return 'text-warning'; |
||||
|
||||
if(stats.propagationAvg < 7000) |
||||
return 'text-orange'; |
||||
|
||||
return 'text-danger' |
||||
}; |
||||
}) |
||||
.filter('propagationAvgTimeClass', function() { |
||||
return function(propagationAvg, active) { |
||||
if( ! active) |
||||
return 'text-gray'; |
||||
|
||||
if(propagationAvg == 0) |
||||
return 'text-info'; |
||||
|
||||
if(propagationAvg < 1000) |
||||
return 'text-success'; |
||||
|
||||
if(propagationAvg < 3000) |
||||
return 'text-warning'; |
||||
|
||||
if(propagationAvg < 7000) |
||||
return 'text-orange'; |
||||
|
||||
return 'text-danger' |
||||
}; |
||||
}) |
||||
.filter('latencyFilter', function() { |
||||
return function(stats) { |
||||
if(stats.active === false) |
||||
return 'offline'; |
||||
else |
||||
return stats.latency + ' ms'; |
||||
} |
||||
}) |
||||
.filter('latencyClass', function() { |
||||
return function(stats) { |
||||
if(stats.active === false) |
||||
return 'text-danger'; |
||||
|
||||
if(stats.latency <= 100) |
||||
return 'text-success'; |
||||
|
||||
if(stats.latency <= 1000) |
||||
return 'text-warning'; |
||||
|
||||
return 'text-danger' |
||||
}; |
||||
}) |
||||
.filter('blockTimeFilter', function() { |
||||
return function(timestamp) { |
||||
if(timestamp === 0) |
||||
return '∞'; |
||||
|
||||
// var time = Math.floor((new Date()).getTime() / 1000);
|
||||
var time = (new Date()).getTime(); |
||||
var diff = Math.floor((time - timestamp)/1000); |
||||
|
||||
if(diff < 60) |
||||
return Math.round(diff) + ' s ago'; |
||||
|
||||
return moment.duration(Math.round(diff), 's').humanize() + ' ago'; |
||||
}; |
||||
}) |
||||
.filter('networkHashrateFilter', ['$sce', '$filter', function($sce, filter) { |
||||
return function(hashes, isMining) { |
||||
if(hashes === null) |
||||
hashes = 0; |
||||
|
||||
var result = hashes; |
||||
var units = ['', 'K', 'M', 'G', 'T', 'P']; |
||||
var unit = 'K'; |
||||
|
||||
for(var i = 1; result > 1000; i++) |
||||
{ |
||||
result /= 1000; |
||||
unit = units[i]; |
||||
} |
||||
|
||||
if( !isMining ) |
||||
return $sce.trustAsHtml(filter('number')(result.toFixed(1)) + ' <span class="small-hash">' + unit + 'H/s</span>'); |
||||
|
||||
return $sce.trustAsHtml('? <span class="small-hash">' + unit + 'KH/s</span>'); |
||||
}; |
||||
}]) |
||||
.filter('blockPropagationFilter', function() { |
||||
return function(ms, prefix) { |
||||
if(typeof prefix === 'undefined') |
||||
prefix = '+'; |
||||
|
||||
var result = 0; |
||||
|
||||
if(ms < 1000) { |
||||
return (ms === 0 ? "" : prefix) + ms + " ms"; |
||||
} |
||||
|
||||
if(ms < 1000*60) { |
||||
result = ms/1000; |
||||
return prefix + result.toFixed(1) + " s"; |
||||
} |
||||
|
||||
if(ms < 1000*60*60) { |
||||
result = ms/1000/60; |
||||
return prefix + Math.round(result) + " min"; |
||||
} |
||||
|
||||
if(ms < 1000*60*60*24) { |
||||
result = ms/1000/60/60; |
||||
return prefix + Math.round(result) + " h"; |
||||
} |
||||
|
||||
result = ms/1000/60/60/24; |
||||
return prefix + Math.round(result) + " days"; |
||||
}; |
||||
}) |
||||
.filter('blockPropagationAvgFilter', function() { |
||||
return function(stats, bestBlock) { |
||||
var ms = stats.propagationAvg; |
||||
|
||||
if(bestBlock - stats.block.number > 40) |
||||
return "∞"; |
||||
//ms = _.now() - stats.block.received;
|
||||
|
||||
prefix = ''; |
||||
|
||||
var result = 0; |
||||
|
||||
if(ms < 1000) { |
||||
return (ms === 0 ? "" : prefix) + ms + " ms"; |
||||
} |
||||
|
||||
if(ms < 1000*60) { |
||||
result = ms/1000; |
||||
return prefix + result.toFixed(1) + " s"; |
||||
} |
||||
|
||||
if(ms < 1000*60*60) { |
||||
result = ms/1000/60; |
||||
return prefix + Math.round(result) + " min"; |
||||
} |
||||
|
||||
if(ms < 1000*60*60*24) { |
||||
result = ms/1000/60/60; |
||||
return prefix + Math.round(result) + " h"; |
||||
} |
||||
|
||||
result = ms/1000/60/60/24; |
||||
return prefix + Math.round(result) + " days"; |
||||
}; |
||||
}) |
||||
.filter('avgTimeFilter', function() { |
||||
return function(time) { |
||||
if(time < 60) |
||||
return parseFloat(time).toFixed(2) + ' s'; |
||||
|
||||
return moment.duration(Math.round(time), 's').humanize(); |
||||
}; |
||||
}) |
||||
.filter('avgTimeClass', function() { |
||||
return function(time) { |
||||
return blockTimeClass(time); |
||||
} |
||||
}) |
||||
.filter('upTimeFilter', function() { |
||||
return function(uptime) { |
||||
return Math.round(uptime) + '%'; |
||||
}; |
||||
}) |
||||
.filter('upTimeClass', function() { |
||||
return function(uptime, active) { |
||||
if( ! active ) |
||||
return 'text-gray'; |
||||
|
||||
if(uptime >= 90) |
||||
return 'text-success'; |
||||
|
||||
if(uptime >= 75) |
||||
return 'text-warning'; |
||||
|
||||
return 'text-danger'; |
||||
}; |
||||
}) |
||||
.filter('geoTooltip', function() { |
||||
return function(node) { |
||||
var tooltip = []; |
||||
var string = ''; |
||||
|
||||
if(node.info.node) { |
||||
var eth_version = node.info.node.split('/'); |
||||
|
||||
if(eth_version[1]){ |
||||
if(eth_version[1][0] !== 'v' && eth_version[1][2] !== '.') |
||||
{ |
||||
eth_version.splice(1,1); |
||||
} |
||||
|
||||
string = "<b>" + node.info.node + "</b>"; |
||||
tooltip.push(string); |
||||
|
||||
string = "Version: <b>" + (eth_version[1]) + "</b>"; |
||||
tooltip.push(string); |
||||
} |
||||
} |
||||
|
||||
if(node.info.net !== '') { |
||||
string = "Network: <b>" + (typeof node.info.net !== 'undefined' ? node.info.net : '-') + "</b>"; |
||||
|
||||
tooltip.push(string); |
||||
} |
||||
|
||||
if(node.info.protocol !== '') { |
||||
string = "Protocol: <b>" + (typeof node.info.protocol !== 'undefined' ? node.info.protocol : '-') + "</b>"; |
||||
|
||||
tooltip.push(string); |
||||
} |
||||
|
||||
if(node.info.port !== '') { |
||||
string = "Port: <b>" + (typeof node.info.port !== 'undefined' ? node.info.port : '30303') + "</b>"; |
||||
|
||||
tooltip.push(string); |
||||
} |
||||
|
||||
if(node.info.api !== '') { |
||||
string = "Web3: <b>" + node.info.api + "</b>"; |
||||
|
||||
tooltip.push(string); |
||||
} |
||||
|
||||
if(node.info.client !== '') { |
||||
string = "API: <b>" + (typeof node.info.client !== 'undefined' ? node.info.client : '<= 0.0.3') + "</b>"; |
||||
|
||||
tooltip.push(string); |
||||
} |
||||
|
||||
if(node.info.os !== '') { |
||||
string = "OS: <b>" + (typeof node.info.os !== 'undefined' ? node.info.os + ' ' + node.info.os_v : '?') + "</b>"; |
||||
|
||||
tooltip.push(string); |
||||
} |
||||
|
||||
if(node.geo !== null) |
||||
{ |
||||
string = "Location: <b>"; |
||||
|
||||
if(node.geo.city !== '') |
||||
string += node.geo.city + ", "; |
||||
string += node.geo.country + "</b>"; |
||||
|
||||
tooltip.push(string); |
||||
} |
||||
|
||||
if(node.info.contact !== '') { |
||||
string = "Contact: <b>" + (typeof node.info.contact !== 'undefined' ? node.info.contact : '-') + "</b>"; |
||||
|
||||
tooltip.push(string); |
||||
} |
||||
|
||||
return tooltip.join("<br>"); |
||||
}; |
||||
}) |
||||
.filter('bubbleClass', function() { |
||||
return function(node, bestBlock) { |
||||
return mainClass(node, bestBlock).replace('text-', ''); |
||||
}; |
||||
}) |
||||
.filter('minerNameFilter', function() { |
||||
return function(address, name) { |
||||
if(typeof name !== 'undefined' && name !== false && name.length > 0) |
||||
return name; |
||||
|
||||
return address.replace('0x', ''); |
||||
}; |
||||
}) |
||||
.filter('minerBlocksClass', function() { |
||||
return function(blocks, prefix) { |
||||
if(typeof prefix === 'undefined') |
||||
prefix = 'bg-'; |
||||
if(blocks <= 6) |
||||
return prefix + 'success'; |
||||
|
||||
if(blocks <= 12) |
||||
return prefix + 'info'; |
||||
|
||||
if(blocks <= 18) |
||||
return prefix + 'warning'; |
||||
|
||||
return prefix + 'danger'; |
||||
}; |
||||
}) |
||||
.filter('nodeClientClass', function() { |
||||
return function(info, current) { |
||||
if(typeof info === 'undefined' || typeof info.client === 'undefined' || typeof info.client === '') |
||||
return 'text-danger'; |
||||
|
||||
if(compareVersions(info.client, '<', current)) |
||||
return 'text-danger'; |
||||
|
||||
return 'hidden'; |
||||
}; |
||||
}) |
||||
.filter('consensusClass', function() { |
||||
return function(nodes, bestBlock) { |
||||
var status = 'success'; |
||||
var now = _.now(); |
||||
|
||||
for(var x = 0; x < nodes.length; x++) |
||||
{ |
||||
if(nodes[x].stats.block.number === bestBlock.number && nodes[x].stats.block.hash !== bestBlock.hash) |
||||
return 'danger'; |
||||
|
||||
if((bestBlock.number - nodes[x].stats.block.number) > 1 && (now - bestBlock.received) >= 20*1000) |
||||
status = 'orange'; |
||||
|
||||
if((bestBlock.number - nodes[x].stats.block.number) === 1 && (now - bestBlock.received) >= 10*1000 && status !== 'orange') |
||||
status = 'warning'; |
||||
} |
||||
|
||||
return status; |
||||
}; |
||||
}) |
||||
.filter('consensusFilter', function() { |
||||
return function(nodes, bestBlock) { |
||||
var cnt = 0; |
||||
|
||||
for(var x = 0; x < nodes.length; x++) |
||||
{ |
||||
if(nodes[x].stats.block.number === bestBlock.number && nodes[x].stats.block.hash === bestBlock.hash) |
||||
cnt++; |
||||
} |
||||
|
||||
return cnt + '/' + nodes.length; |
||||
}; |
||||
}); |
||||
|
||||
function compareVersions(v1, comparator, v2) |
||||
{ |
||||
comparator = comparator == '=' ? '==' : comparator; |
||||
|
||||
var v1parts = v1.split('.'), v2parts = v2.split('.'); |
||||
var maxLen = Math.max(v1parts.length, v2parts.length); |
||||
var part1, part2; |
||||
var cmp = 0; |
||||
|
||||
for(var i = 0; i < maxLen && !cmp; i++) |
||||
{ |
||||
part1 = parseInt(v1parts[i], 10) || 0; |
||||
part2 = parseInt(v2parts[i], 10) || 0; |
||||
if(part1 < part2) |
||||
cmp = 1; |
||||
if(part1 > part2) |
||||
cmp = -1; |
||||
} |
||||
|
||||
return eval('0' + comparator + cmp); |
||||
} |
||||
|
||||
function mainClass(node, bestBlock) |
||||
{ |
||||
if( ! node.active) |
||||
return 'text-gray'; |
||||
|
||||
if(node.peers === 0) |
||||
return 'text-danger'; |
||||
|
||||
return peerClass(node.peers, node.active); |
||||
} |
||||
|
||||
function peerClass(peers, active) |
||||
{ |
||||
if( ! active) |
||||
return 'text-gray'; |
||||
|
||||
return (peers <= 1 ? 'text-danger' : (peers > 1 && peers < 4 ? 'text-warning' : 'text-success')); |
||||
} |
||||
|
||||
function timeClass(timestamp) |
||||
{ |
||||
var diff = ((new Date()).getTime() - timestamp)/1000; |
||||
|
||||
return blockTimeClass(diff); |
||||
} |
||||
|
||||
function blockTimeClass(diff) |
||||
{ |
||||
if(diff <= 13) |
||||
return 'text-success'; |
||||
|
||||
if(diff <= 20) |
||||
return 'text-warning'; |
||||
|
||||
if(diff <= 30) |
||||
return 'text-orange'; |
||||
|
||||
return 'text-danger' |
||||
} |
@ -1,217 +0,0 @@ |
||||
/* |
||||
AngularJS v1.2.28 |
||||
(c) 2010-2014 Google, Inc. http://angularjs.org
|
||||
License: MIT |
||||
*/ |
||||
(function(W,X,u){'use strict';function z(b){return function(){var a=arguments[0],c,a="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.2.28/"+(b?b+"/":"")+a;for(c=1;c<arguments.length;c++)a=a+(1==c?"?":"&")+"p"+(c-1)+"="+encodeURIComponent("function"==typeof arguments[c]?arguments[c].toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof arguments[c]?"undefined":"string"!=typeof arguments[c]?JSON.stringify(arguments[c]):arguments[c]);return Error(a)}}function Sa(b){if(null==b||Ja(b))return!1; |
||||
var a=b.length;return 1===b.nodeType&&a?!0:G(b)||L(b)||0===a||"number"===typeof a&&0<a&&a-1 in b}function r(b,a,c){var d;if(b)if(N(b))for(d in b)"prototype"==d||("length"==d||"name"==d||b.hasOwnProperty&&!b.hasOwnProperty(d))||a.call(c,b[d],d);else if(L(b)||Sa(b))for(d=0;d<b.length;d++)a.call(c,b[d],d);else if(b.forEach&&b.forEach!==r)b.forEach(a,c);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function Xb(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function Sc(b, |
||||
a,c){for(var d=Xb(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function Yb(b){return function(a,c){b(c,a)}}function ib(){for(var b=na.length,a;b;){b--;a=na[b].charCodeAt(0);if(57==a)return na[b]="A",na.join("");if(90==a)na[b]="0";else return na[b]=String.fromCharCode(a+1),na.join("")}na.unshift("0");return na.join("")}function Zb(b,a){a?b.$$hashKey=a:delete b.$$hashKey}function E(b){var a=b.$$hashKey;r(arguments,function(a){a!==b&&r(a,function(a,c){b[c]=a})});Zb(b,a);return b}function U(b){return parseInt(b, |
||||
10)}function $b(b,a){return E(new (E(function(){},{prototype:b})),a)}function v(){}function ga(b){return b}function aa(b){return function(){return b}}function F(b){return"undefined"===typeof b}function D(b){return"undefined"!==typeof b}function T(b){return null!=b&&"object"===typeof b}function G(b){return"string"===typeof b}function jb(b){return"number"===typeof b}function va(b){return"[object Date]"===Ba.call(b)}function N(b){return"function"===typeof b}function kb(b){return"[object RegExp]"===Ba.call(b)} |
||||
function Ja(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function Tc(b){return!(!b||!(b.nodeName||b.prop&&b.attr&&b.find))}function Uc(b,a,c){var d=[];r(b,function(b,f,g){d.push(a.call(c,b,f,g))});return d}function Ta(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function Ua(b,a){var c=Ta(b,a);0<=c&&b.splice(c,1);return a}function Ka(b,a,c,d){if(Ja(b)||b&&b.$evalAsync&&b.$watch)throw Va("cpws");if(a){if(b===a)throw Va("cpi");c=c||[]; |
||||
d=d||[];if(T(b)){var e=Ta(c,b);if(-1!==e)return d[e];c.push(b);d.push(a)}if(L(b))for(var f=a.length=0;f<b.length;f++)e=Ka(b[f],null,c,d),T(b[f])&&(c.push(b[f]),d.push(e)),a.push(e);else{var g=a.$$hashKey;L(a)?a.length=0:r(a,function(b,c){delete a[c]});for(f in b)e=Ka(b[f],null,c,d),T(b[f])&&(c.push(b[f]),d.push(e)),a[f]=e;Zb(a,g)}}else if(a=b)L(b)?a=Ka(b,[],c,d):va(b)?a=new Date(b.getTime()):kb(b)?(a=RegExp(b.source,b.toString().match(/[^\/]*$/)[0]),a.lastIndex=b.lastIndex):T(b)&&(a=Ka(b,{},c,d)); |
||||
return a}function ha(b,a){if(L(b)){a=a||[];for(var c=0;c<b.length;c++)a[c]=b[c]}else if(T(b))for(c in a=a||{},b)!lb.call(b,c)||"$"===c.charAt(0)&&"$"===c.charAt(1)||(a[c]=b[c]);return a||b}function Ca(b,a){if(b===a)return!0;if(null===b||null===a)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&"object"==c)if(L(b)){if(!L(a))return!1;if((c=b.length)==a.length){for(d=0;d<c;d++)if(!Ca(b[d],a[d]))return!1;return!0}}else{if(va(b))return va(a)?isNaN(b.getTime())&&isNaN(a.getTime())||b.getTime()=== |
||||
a.getTime():!1;if(kb(b)&&kb(a))return b.toString()==a.toString();if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||Ja(b)||Ja(a)||L(a))return!1;c={};for(d in b)if("$"!==d.charAt(0)&&!N(b[d])){if(!Ca(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c.hasOwnProperty(d)&&"$"!==d.charAt(0)&&a[d]!==u&&!N(a[d]))return!1;return!0}return!1}function Bb(b,a){var c=2<arguments.length?wa.call(arguments,2):[];return!N(a)||a instanceof RegExp?a:c.length?function(){return arguments.length?a.apply(b,c.concat(wa.call(arguments, |
||||
0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}}function Vc(b,a){var c=a;"string"===typeof b&&"$"===b.charAt(0)?c=u:Ja(a)?c="$WINDOW":a&&X===a?c="$DOCUMENT":a&&(a.$evalAsync&&a.$watch)&&(c="$SCOPE");return c}function oa(b,a){return"undefined"===typeof b?u:JSON.stringify(b,Vc,a?" ":null)}function ac(b){return G(b)?JSON.parse(b):b}function Wa(b){"function"===typeof b?b=!0:b&&0!==b.length?(b=x(""+b),b=!("f"==b||"0"==b||"false"==b||"no"==b||"n"==b||"[]"==b)):b=!1; |
||||
return b}function ia(b){b=A(b).clone();try{b.empty()}catch(a){}var c=A("<div>").append(b).html();try{return 3===b[0].nodeType?x(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+x(b)})}catch(d){return x(c)}}function bc(b){try{return decodeURIComponent(b)}catch(a){}}function cc(b){var a={},c,d;r((b||"").split("&"),function(b){b&&(c=b.replace(/\+/g,"%20").split("="),d=bc(c[0]),D(d)&&(b=D(c[1])?bc(c[1]):!0,lb.call(a,d)?L(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Cb(b){var a= |
||||
[];r(b,function(b,d){L(b)?r(b,function(b){a.push(Da(d,!0)+(!0===b?"":"="+Da(b,!0)))}):a.push(Da(d,!0)+(!0===b?"":"="+Da(b,!0)))});return a.length?a.join("&"):""}function mb(b){return Da(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Da(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,a?"%20":"+")}function Wc(b,a){function c(a){a&&d.push(a)}var d=[b],e,f,g=["ng:app","ng-app","x-ng-app", |
||||
"data-ng-app"],h=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;r(g,function(a){g[a]=!0;c(X.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(r(b.querySelectorAll("."+a),c),r(b.querySelectorAll("."+a+"\\:"),c),r(b.querySelectorAll("["+a+"]"),c))});r(d,function(a){if(!e){var b=h.exec(" "+a.className+" ");b?(e=a,f=(b[2]||"").replace(/\s+/g,",")):r(a.attributes,function(b){!e&&g[b.name]&&(e=a,f=b.value)})}});e&&a(e,f?[f]:[])}function dc(b,a){var c=function(){b=A(b);if(b.injector()){var c=b[0]===X? |
||||
"document":ia(b);throw Va("btstrpd",c.replace(/</,"<").replace(/>/,">"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");c=ec(a);c.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(a,b,c,d,e){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},d=/^NG_DEFER_BOOTSTRAP!/;if(W&&!d.test(W.name))return c();W.name=W.name.replace(d,"");Xa.resumeBootstrap=function(b){r(b,function(b){a.push(b)});c()}}function nb(b,a){a= |
||||
a||"_";return b.replace(Xc,function(b,d){return(d?a:"")+b.toLowerCase()})}function Db(b,a,c){if(!b)throw Va("areq",a||"?",c||"required");return b}function Ya(b,a,c){c&&L(b)&&(b=b[b.length-1]);Db(N(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function Ea(b,a){if("hasOwnProperty"===b)throw Va("badname",a);}function fc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;g<f;g++)d=a[g],b&&(b=(e=b)[d]);return!c&&N(b)?Bb(e,b):b}function Eb(b){var a= |
||||
b[0];b=b[b.length-1];if(a===b)return A(a);var c=[a];do{a=a.nextSibling;if(!a)break;c.push(a)}while(a!==b);return A(c)}function Yc(b){var a=z("$injector"),c=z("ng");b=b.angular||(b.angular={});b.$$minErr=b.$$minErr||z;return b.module||(b.module=function(){var b={};return function(e,f,g){if("hasOwnProperty"===e)throw c("badname","module");f&&b.hasOwnProperty(e)&&(b[e]=null);return b[e]||(b[e]=function(){function b(a,d,e){return function(){c[e||"push"]([a,d,arguments]);return n}}if(!f)throw a("nomod", |
||||
e);var c=[],d=[],l=b("$injector","invoke"),n={_invokeQueue:c,_runBlocks:d,requires:f,name:e,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:b("$provide","value"),constant:b("$provide","constant","unshift"),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),config:l,run:function(a){d.push(a);return this}};g&&l(g);return n}())}}())} |
||||
function Zc(b){E(b,{bootstrap:dc,copy:Ka,extend:E,equals:Ca,element:A,forEach:r,injector:ec,noop:v,bind:Bb,toJson:oa,fromJson:ac,identity:ga,isUndefined:F,isDefined:D,isString:G,isFunction:N,isObject:T,isNumber:jb,isElement:Tc,isArray:L,version:$c,isDate:va,lowercase:x,uppercase:La,callbacks:{counter:0},$$minErr:z,$$csp:Za});$a=Yc(W);try{$a("ngLocale")}catch(a){$a("ngLocale",[]).provider("$locale",ad)}$a("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:bd});a.provider("$compile", |
||||
gc).directive({a:cd,input:hc,textarea:hc,form:dd,script:ed,select:fd,style:gd,option:hd,ngBind:id,ngBindHtml:jd,ngBindTemplate:kd,ngClass:ld,ngClassEven:md,ngClassOdd:nd,ngCloak:od,ngController:pd,ngForm:qd,ngHide:rd,ngIf:sd,ngInclude:td,ngInit:ud,ngNonBindable:vd,ngPluralize:wd,ngRepeat:xd,ngShow:yd,ngStyle:zd,ngSwitch:Ad,ngSwitchWhen:Bd,ngSwitchDefault:Cd,ngOptions:Dd,ngTransclude:Ed,ngModel:Fd,ngList:Gd,ngChange:Hd,required:ic,ngRequired:ic,ngValue:Id}).directive({ngInclude:Jd}).directive(Fb).directive(jc); |
||||
a.provider({$anchorScroll:Kd,$animate:Ld,$browser:Md,$cacheFactory:Nd,$controller:Od,$document:Pd,$exceptionHandler:Qd,$filter:kc,$interpolate:Rd,$interval:Sd,$http:Td,$httpBackend:Ud,$location:Vd,$log:Wd,$parse:Xd,$rootScope:Yd,$q:Zd,$sce:$d,$sceDelegate:ae,$sniffer:be,$templateCache:ce,$timeout:de,$window:ee,$$rAF:fe,$$asyncCallback:ge})}])}function ab(b){return b.replace(he,function(a,b,d,e){return e?d.toUpperCase():d}).replace(ie,"Moz$1")}function Gb(b,a,c,d){function e(b){var e=c&&b?[this.filter(b)]: |
||||
[this],k=a,m,l,n,q,p,s;if(!d||null!=b)for(;e.length;)for(m=e.shift(),l=0,n=m.length;l<n;l++)for(q=A(m[l]),k?q.triggerHandler("$destroy"):k=!k,p=0,q=(s=q.children()).length;p<q;p++)e.push(Fa(s[p]));return f.apply(this,arguments)}var f=Fa.fn[b],f=f.$original||f;e.$original=f;Fa.fn[b]=e}function S(b){if(b instanceof S)return b;G(b)&&(b=$(b));if(!(this instanceof S)){if(G(b)&&"<"!=b.charAt(0))throw Hb("nosel");return new S(b)}if(G(b)){var a=b;b=X;var c;if(c=je.exec(a))b=[b.createElement(c[1])];else{var d= |
||||
b,e;b=d.createDocumentFragment();c=[];if(Ib.test(a)){d=b.appendChild(d.createElement("div"));e=(ke.exec(a)||["",""])[1].toLowerCase();e=da[e]||da._default;d.innerHTML="<div> </div>"+e[1]+a.replace(le,"<$1></$2>")+e[2];d.removeChild(d.firstChild);for(a=e[0];a--;)d=d.lastChild;a=0;for(e=d.childNodes.length;a<e;++a)c.push(d.childNodes[a]);d=b.firstChild;d.textContent=""}else c.push(d.createTextNode(a));b.textContent="";b.innerHTML="";b=c}Jb(this,b);A(X.createDocumentFragment()).append(this)}else Jb(this, |
||||
b)}function Kb(b){return b.cloneNode(!0)}function Ma(b){Lb(b);var a=0;for(b=b.childNodes||[];a<b.length;a++)Ma(b[a])}function lc(b,a,c,d){if(D(d))throw Hb("offargs");var e=pa(b,"events");pa(b,"handle")&&(F(a)?r(e,function(a,c){bb(b,c,a);delete e[c]}):r(a.split(" "),function(a){F(c)?(bb(b,a,e[a]),delete e[a]):Ua(e[a]||[],c)}))}function Lb(b,a){var c=b.ng339,d=cb[c];d&&(a?delete cb[c].data[a]:(d.handle&&(d.events.$destroy&&d.handle({},"$destroy"),lc(b)),delete cb[c],b.ng339=u))}function pa(b,a,c){var d= |
||||
b.ng339,d=cb[d||-1];if(D(c))d||(b.ng339=d=++me,d=cb[d]={}),d[a]=c;else return d&&d[a]}function Mb(b,a,c){var d=pa(b,"data"),e=D(c),f=!e&&D(a),g=f&&!T(a);d||g||pa(b,"data",d={});if(e)d[a]=c;else if(f){if(g)return d&&d[a];E(d,a)}else return d}function Nb(b,a){return b.getAttribute?-1<(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" "):!1}function ob(b,a){a&&b.setAttribute&&r(a.split(" "),function(a){b.setAttribute("class",$((" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g, |
||||
" ").replace(" "+$(a)+" "," ")))})}function pb(b,a){if(a&&b.setAttribute){var c=(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");r(a.split(" "),function(a){a=$(a);-1===c.indexOf(" "+a+" ")&&(c+=a+" ")});b.setAttribute("class",$(c))}}function Jb(b,a){if(a){a=a.nodeName||!D(a.length)||Ja(a)?[a]:a;for(var c=0;c<a.length;c++)b.push(a[c])}}function mc(b,a){return qb(b,"$"+(a||"ngController")+"Controller")}function qb(b,a,c){9==b.nodeType&&(b=b.documentElement);for(a=L(a)?a:[a];b;){for(var d= |
||||
0,e=a.length;d<e;d++)if((c=A.data(b,a[d]))!==u)return c;b=b.parentNode||11===b.nodeType&&b.host}}function nc(b){for(var a=0,c=b.childNodes;a<c.length;a++)Ma(c[a]);for(;b.firstChild;)b.removeChild(b.firstChild)}function oc(b,a){var c=rb[a.toLowerCase()];return c&&pc[b.nodeName]&&c}function ne(b,a){var c=function(c,e){c.preventDefault||(c.preventDefault=function(){c.returnValue=!1});c.stopPropagation||(c.stopPropagation=function(){c.cancelBubble=!0});c.target||(c.target=c.srcElement||X);if(F(c.defaultPrevented)){var f= |
||||
c.preventDefault;c.preventDefault=function(){c.defaultPrevented=!0;f.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=function(){return c.defaultPrevented||!1===c.returnValue};var g=ha(a[e||c.type]||[]);r(g,function(a){a.call(b,c)});8>=R?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};c.elem=b;return c}function Na(b,a){var c=typeof b,d;"function"==c||"object"==c&&null!==b?"function"==typeof(d= |
||||
b.$$hashKey)?d=b.$$hashKey():d===u&&(d=b.$$hashKey=(a||ib)()):d=b;return c+":"+d}function db(b,a){if(a){var c=0;this.nextUid=function(){return++c}}r(b,this.put,this)}function qc(b){var a,c;"function"===typeof b?(a=b.$inject)||(a=[],b.length&&(c=b.toString().replace(oe,""),c=c.match(pe),r(c[1].split(qe),function(b){b.replace(re,function(b,c,d){a.push(d)})})),b.$inject=a):L(b)?(c=b.length-1,Ya(b[c],"fn"),a=b.slice(0,c)):Ya(b,"fn",!0);return a}function ec(b){function a(a){return function(b,c){if(T(b))r(b, |
||||
Yb(a));else return a(b,c)}}function c(a,b){Ea(a,"service");if(N(b)||L(b))b=n.instantiate(b);if(!b.$get)throw eb("pget",a);return l[a+h]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[],c,d,f,h;r(a,function(a){if(!m.get(a)){m.put(a,!0);try{if(G(a))for(c=$a(a),b=b.concat(e(c.requires)).concat(c._runBlocks),d=c._invokeQueue,f=0,h=d.length;f<h;f++){var g=d[f],k=n.get(g[0]);k[g[1]].apply(k,g[2])}else N(a)?b.push(n.invoke(a)):L(a)?b.push(n.invoke(a)):Ya(a,"module")}catch(p){throw L(a)&&(a= |
||||
a[a.length-1]),p.message&&(p.stack&&-1==p.stack.indexOf(p.message))&&(p=p.message+"\n"+p.stack),eb("modulerr",a,p.stack||p.message||p);}}});return b}function f(a,b){function c(d){if(a.hasOwnProperty(d)){if(a[d]===g)throw eb("cdep",d+" <- "+k.join(" <- "));return a[d]}try{return k.unshift(d),a[d]=g,a[d]=b(d)}catch(e){throw a[d]===g&&delete a[d],e;}finally{k.shift()}}function d(a,b,e){var f=[],h=qc(a),g,k,p;k=0;for(g=h.length;k<g;k++){p=h[k];if("string"!==typeof p)throw eb("itkn",p);f.push(e&&e.hasOwnProperty(p)? |
||||
e[p]:c(p))}L(a)&&(a=a[g]);return a.apply(b,f)}return{invoke:d,instantiate:function(a,b){var c=function(){},e;c.prototype=(L(a)?a[a.length-1]:a).prototype;c=new c;e=d(a,c,b);return T(e)||N(e)?e:c},get:c,annotate:qc,has:function(b){return l.hasOwnProperty(b+h)||a.hasOwnProperty(b)}}}var g={},h="Provider",k=[],m=new db([],!0),l={$provide:{provider:a(c),factory:a(d),service:a(function(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,aa(b))}),constant:a(function(a, |
||||
b){Ea(a,"constant");l[a]=b;q[a]=b}),decorator:function(a,b){var c=n.get(a+h),d=c.$get;c.$get=function(){var a=p.invoke(d,c);return p.invoke(b,null,{$delegate:a})}}}},n=l.$injector=f(l,function(){throw eb("unpr",k.join(" <- "));}),q={},p=q.$injector=f(q,function(a){a=n.get(a+h);return p.invoke(a.$get,a)});r(e(b),function(a){p.invoke(a||v)});return p}function Kd(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null; |
||||
r(a,function(a){b||"a"!==x(a.nodeName)||(b=a)});return b}function f(){var b=c.hash(),d;b?(d=g.getElementById(b))?d.scrollIntoView():(d=e(g.getElementsByName(b)))?d.scrollIntoView():"top"===b&&a.scrollTo(0,0):a.scrollTo(0,0)}var g=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(f)});return f}]}function ge(){this.$get=["$$rAF","$timeout",function(b,a){return b.supported?function(a){return b(a)}:function(b){return a(b,0,!1)}}]}function se(b,a,c,d){function e(a){try{a.apply(null, |
||||
wa.call(arguments,1))}finally{if(s--,0===s)for(;J.length;)try{J.pop()()}catch(b){c.error(b)}}}function f(a,b){(function ea(){r(w,function(a){a()});t=b(ea,a)})()}function g(){y!=h.url()&&(y=h.url(),r(ba,function(a){a(h.url())}))}var h=this,k=a[0],m=b.location,l=b.history,n=b.setTimeout,q=b.clearTimeout,p={};h.isMock=!1;var s=0,J=[];h.$$completeOutstandingRequest=e;h.$$incOutstandingRequestCount=function(){s++};h.notifyWhenNoOutstandingRequests=function(a){r(w,function(a){a()});0===s?a():J.push(a)}; |
||||
var w=[],t;h.addPollFn=function(a){F(t)&&f(100,n);w.push(a);return a};var y=m.href,K=a.find("base"),B=null;h.url=function(a,c){m!==b.location&&(m=b.location);l!==b.history&&(l=b.history);if(a){if(y!=a){var e=y&&Ga(y)===Ga(a);y=a;!e&&d.history?c?l.replaceState(null,"",a):(l.pushState(null,"",a),K.attr("href",K.attr("href"))):(e||(B=a),c?m.replace(a):m.href=a);return h}}else return B||m.href.replace(/%27/g,"'")};var ba=[],O=!1;h.onUrlChange=function(a){if(!O){if(d.history)A(b).on("popstate",g);if(d.hashchange)A(b).on("hashchange", |
||||
g);else h.addPollFn(g);O=!0}ba.push(a);return a};h.$$checkUrlChange=g;h.baseHref=function(){var a=K.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var M={},ca="",P=h.baseHref();h.cookies=function(a,b){var d,e,f,h;if(a)b===u?k.cookie=escape(a)+"=;path="+P+";expires=Thu, 01 Jan 1970 00:00:00 GMT":G(b)&&(d=(k.cookie=escape(a)+"="+escape(b)+";path="+P).length+1,4096<d&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!"));else{if(k.cookie!== |
||||
ca)for(ca=k.cookie,d=ca.split("; "),M={},f=0;f<d.length;f++)e=d[f],h=e.indexOf("="),0<h&&(a=unescape(e.substring(0,h)),M[a]===u&&(M[a]=unescape(e.substring(h+1))));return M}};h.defer=function(a,b){var c;s++;c=n(function(){delete p[c];e(a)},b||0);p[c]=!0;return c};h.defer.cancel=function(a){return p[a]?(delete p[a],q(a),e(v),!0):!1}}function Md(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new se(b,d,a,c)}]}function Nd(){this.$get=function(){function b(b,d){function e(a){a!= |
||||
n&&(q?q==a&&(q=a.n):q=a,f(a.n,a.p),f(a,n),n=a,n.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(b in a)throw z("$cacheFactory")("iid",b);var g=0,h=E({},d,{id:b}),k={},m=d&&d.capacity||Number.MAX_VALUE,l={},n=null,q=null;return a[b]={put:function(a,b){if(m<Number.MAX_VALUE){var c=l[a]||(l[a]={key:a});e(c)}if(!F(b))return a in k||g++,k[a]=b,g>m&&this.remove(q.key),b},get:function(a){if(m<Number.MAX_VALUE){var b=l[a];if(!b)return;e(b)}return k[a]},remove:function(a){if(m<Number.MAX_VALUE){var b= |
||||
l[a];if(!b)return;b==n&&(n=b.p);b==q&&(q=b.n);f(b.n,b.p);delete l[a]}delete k[a];g--},removeAll:function(){k={};g=0;l={};n=q=null},destroy:function(){l=h=k=null;delete a[b]},info:function(){return E({},h,{size:g})}}}var a={};b.info=function(){var b={};r(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function ce(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function gc(b,a){var c={},d="Directive",e=/^\s*directive\:\s*([\d\w_\-]+)\s+(.*)$/,f=/(([\d\w_\-]+)(?:\:([^;]+))?;?)/, |
||||
g=/^(on[a-z]+|formaction)$/;this.directive=function k(a,e){Ea(a,"directive");G(a)?(Db(e,"directiveFactory"),c.hasOwnProperty(a)||(c[a]=[],b.factory(a+d,["$injector","$exceptionHandler",function(b,d){var e=[];r(c[a],function(c,f){try{var g=b.invoke(c);N(g)?g={compile:aa(g)}:!g.compile&&g.link&&(g.compile=aa(g.link));g.priority=g.priority||0;g.index=f;g.name=g.name||a;g.require=g.require||g.controller&&g.name;g.restrict=g.restrict||"A";e.push(g)}catch(k){d(k)}});return e}])),c[a].push(e)):r(a,Yb(k)); |
||||
return this};this.aHrefSanitizationWhitelist=function(b){return D(b)?(a.aHrefSanitizationWhitelist(b),this):a.aHrefSanitizationWhitelist()};this.imgSrcSanitizationWhitelist=function(b){return D(b)?(a.imgSrcSanitizationWhitelist(b),this):a.imgSrcSanitizationWhitelist()};this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(a,b,l,n,q,p,s,J,w,t,y,K){function B(a,b,c,d,e){a instanceof |
||||
A||(a=A(a));r(a,function(b,c){3==b.nodeType&&b.nodeValue.match(/\S+/)&&(a[c]=A(b).wrap("<span></span>").parent()[0])});var f=O(a,b,a,c,d,e);ba(a,"ng-scope");return function(b,c,d,e){Db(b,"scope");var g=c?Oa.clone.call(a):a;r(d,function(a,b){g.data("$"+b+"Controller",a)});d=0;for(var k=g.length;d<k;d++){var p=g[d].nodeType;1!==p&&9!==p||g.eq(d).data("$scope",b)}c&&c(g,b);f&&f(b,g,g,e);return g}}function ba(a,b){try{a.addClass(b)}catch(c){}}function O(a,b,c,d,e,f){function g(a,c,d,e){var f,p,l,m,q, |
||||
n,w;f=c.length;var s=Array(f);for(m=0;m<f;m++)s[m]=c[m];n=m=0;for(q=k.length;m<q;n++)p=s[n],c=k[m++],f=k[m++],c?(c.scope?(l=a.$new(),A.data(p,"$scope",l)):l=a,w=c.transcludeOnThisElement?M(a,c.transclude,e):!c.templateOnThisElement&&e?e:!e&&b?M(a,b):null,c(f,l,p,d,w)):f&&f(a,p.childNodes,u,e)}for(var k=[],p,l,m,q,n=0;n<a.length;n++)p=new Ob,l=ca(a[n],[],p,0===n?d:u,e),(f=l.length?I(l,a[n],p,b,c,null,[],[],f):null)&&f.scope&&ba(p.$$element,"ng-scope"),p=f&&f.terminal||!(m=a[n].childNodes)||!m.length? |
||||
null:O(m,f?(f.transcludeOnThisElement||!f.templateOnThisElement)&&f.transclude:b),k.push(f,p),q=q||f||p,f=null;return q?g:null}function M(a,b,c){return function(d,e,f){var g=!1;d||(d=a.$new(),g=d.$$transcluded=!0);e=b(d,e,f,c);if(g)e.on("$destroy",function(){d.$destroy()});return e}}function ca(a,b,c,d,g){var k=c.$attr,p;switch(a.nodeType){case 1:ea(b,qa(Pa(a).toLowerCase()),"E",d,g);for(var l,m,q,n=a.attributes,w=0,s=n&&n.length;w<s;w++){var t=!1,J=!1;l=n[w];if(!R||8<=R||l.specified){p=l.name;m= |
||||
$(l.value);l=qa(p);if(q=U.test(l))p=nb(l.substr(6),"-");var y=l.replace(/(Start|End)$/,"");l===y+"Start"&&(t=p,J=p.substr(0,p.length-5)+"end",p=p.substr(0,p.length-6));l=qa(p.toLowerCase());k[l]=p;if(q||!c.hasOwnProperty(l))c[l]=m,oc(a,l)&&(c[l]=!0);S(a,b,m,l);ea(b,l,"A",d,g,t,J)}}a=a.className;if(G(a)&&""!==a)for(;p=f.exec(a);)l=qa(p[2]),ea(b,l,"C",d,g)&&(c[l]=$(p[3])),a=a.substr(p.index+p[0].length);break;case 3:x(b,a.nodeValue);break;case 8:try{if(p=e.exec(a.nodeValue))l=qa(p[1]),ea(b,l,"M",d, |
||||
g)&&(c[l]=$(p[2]))}catch(B){}}b.sort(F);return b}function P(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ja("uterdir",b,c);1==a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--);d.push(a);a=a.nextSibling}while(0<e)}else d.push(a);return A(d)}function C(a,b,c){return function(d,e,f,g,k){e=P(e[0],b,c);return a(d,e,f,g,k)}}function I(a,c,d,e,f,g,k,q,n){function w(a,b,c,d){if(a){c&&(a=C(a,c,d));a.require=H.require;a.directiveName=z;if(K===H||H.$$isolateScope)a=rc(a, |
||||
{isolateScope:!0});k.push(a)}if(b){c&&(b=C(b,c,d));b.require=H.require;b.directiveName=z;if(K===H||H.$$isolateScope)b=rc(b,{isolateScope:!0});q.push(b)}}function t(a,b,c,d){var e,f="data",g=!1;if(G(b)){for(;"^"==(e=b.charAt(0))||"?"==e;)b=b.substr(1),"^"==e&&(f="inheritedData"),g=g||"?"==e;e=null;d&&"data"===f&&(e=d[b]);e=e||c[f]("$"+b+"Controller");if(!e&&!g)throw ja("ctreq",b,a);}else L(b)&&(e=[],r(b,function(b){e.push(t(a,b,c,d))}));return e}function J(a,e,f,g,n){function w(a,b){var c;2>arguments.length&& |
||||
(b=a,a=u);Ia&&(c=ca);return n(a,b,c)}var y,Q,B,M,C,P,ca={},ra;y=c===f?d:ha(d,new Ob(A(f),d.$attr));Q=y.$$element;if(K){var ue=/^\s*([@=&])(\??)\s*(\w*)\s*$/;P=e.$new(!0);!I||I!==K&&I!==K.$$originalDirective?Q.data("$isolateScopeNoTemplate",P):Q.data("$isolateScope",P);ba(Q,"ng-isolate-scope");r(K.scope,function(a,c){var d=a.match(ue)||[],f=d[3]||c,g="?"==d[2],d=d[1],k,l,n,q;P.$$isolateBindings[c]=d+f;switch(d){case "@":y.$observe(f,function(a){P[c]=a});y.$$observers[f].$$scope=e;y[f]&&(P[c]=b(y[f])(e)); |
||||
break;case "=":if(g&&!y[f])break;l=p(y[f]);q=l.literal?Ca:function(a,b){return a===b||a!==a&&b!==b};n=l.assign||function(){k=P[c]=l(e);throw ja("nonassign",y[f],K.name);};k=P[c]=l(e);P.$watch(function(){var a=l(e);q(a,P[c])||(q(a,k)?n(e,a=P[c]):P[c]=a);return k=a},null,l.literal);break;case "&":l=p(y[f]);P[c]=function(a){return l(e,a)};break;default:throw ja("iscp",K.name,c,a);}})}ra=n&&w;O&&r(O,function(a){var b={$scope:a===K||a.$$isolateScope?P:e,$element:Q,$attrs:y,$transclude:ra},c;C=a.controller; |
||||
"@"==C&&(C=y[a.name]);c=s(C,b);ca[a.name]=c;Ia||Q.data("$"+a.name+"Controller",c);a.controllerAs&&(b.$scope[a.controllerAs]=c)});g=0;for(B=k.length;g<B;g++)try{M=k[g],M(M.isolateScope?P:e,Q,y,M.require&&t(M.directiveName,M.require,Q,ca),ra)}catch(H){l(H,ia(Q))}g=e;K&&(K.template||null===K.templateUrl)&&(g=P);a&&a(g,f.childNodes,u,n);for(g=q.length-1;0<=g;g--)try{M=q[g],M(M.isolateScope?P:e,Q,y,M.require&&t(M.directiveName,M.require,Q,ca),ra)}catch(D){l(D,ia(Q))}}n=n||{};for(var y=-Number.MAX_VALUE, |
||||
M,O=n.controllerDirectives,K=n.newIsolateScopeDirective,I=n.templateDirective,ea=n.nonTlbTranscludeDirective,F=!1,E=!1,Ia=n.hasElementTranscludeDirective,x=d.$$element=A(c),H,z,V,S=e,R,Ha=0,sa=a.length;Ha<sa;Ha++){H=a[Ha];var U=H.$$start,Y=H.$$end;U&&(x=P(c,U,Y));V=u;if(y>H.priority)break;if(V=H.scope)M=M||H,H.templateUrl||(fb("new/isolated scope",K,H,x),T(V)&&(K=H));z=H.name;!H.templateUrl&&H.controller&&(V=H.controller,O=O||{},fb("'"+z+"' controller",O[z],H,x),O[z]=H);if(V=H.transclude)F=!0,H.$$tlb|| |
||||
(fb("transclusion",ea,H,x),ea=H),"element"==V?(Ia=!0,y=H.priority,V=x,x=d.$$element=A(X.createComment(" "+z+": "+d[z]+" ")),c=x[0],ra(f,wa.call(V,0),c),S=B(V,e,y,g&&g.name,{nonTlbTranscludeDirective:ea})):(V=A(Kb(c)).contents(),x.empty(),S=B(V,e));if(H.template)if(E=!0,fb("template",I,H,x),I=H,V=N(H.template)?H.template(x,d):H.template,V=W(V),H.replace){g=H;V=Ib.test(V)?A($(V)):[];c=V[0];if(1!=V.length||1!==c.nodeType)throw ja("tplrt",z,"");ra(f,x,c);sa={$attr:{}};V=ca(c,[],sa);var Z=a.splice(Ha+ |
||||
1,a.length-(Ha+1));K&&D(V);a=a.concat(V).concat(Z);v(d,sa);sa=a.length}else x.html(V);if(H.templateUrl)E=!0,fb("template",I,H,x),I=H,H.replace&&(g=H),J=te(a.splice(Ha,a.length-Ha),x,d,f,F&&S,k,q,{controllerDirectives:O,newIsolateScopeDirective:K,templateDirective:I,nonTlbTranscludeDirective:ea}),sa=a.length;else if(H.compile)try{R=H.compile(x,d,S),N(R)?w(null,R,U,Y):R&&w(R.pre,R.post,U,Y)}catch(ve){l(ve,ia(x))}H.terminal&&(J.terminal=!0,y=Math.max(y,H.priority))}J.scope=M&&!0===M.scope;J.transcludeOnThisElement= |
||||
F;J.templateOnThisElement=E;J.transclude=S;n.hasElementTranscludeDirective=Ia;return J}function D(a){for(var b=0,c=a.length;b<c;b++)a[b]=$b(a[b],{$$isolateScope:!0})}function ea(b,e,f,g,p,m,n){if(e===p)return null;p=null;if(c.hasOwnProperty(e)){var q;e=a.get(e+d);for(var w=0,s=e.length;w<s;w++)try{q=e[w],(g===u||g>q.priority)&&-1!=q.restrict.indexOf(f)&&(m&&(q=$b(q,{$$start:m,$$end:n})),b.push(q),p=q)}catch(y){l(y)}}return p}function v(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;r(a,function(d,e){"$"!= |
||||
e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});r(b,function(b,f){"class"==f?(ba(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function te(a,b,c,d,e,f,g,k){var p=[],l,m,w=b[0],s=a.shift(),y=E({},s,{templateUrl:null,transclude:null,replace:null,$$originalDirective:s}),J=N(s.templateUrl)?s.templateUrl(b,c):s.templateUrl; |
||||
b.empty();n.get(t.getTrustedResourceUrl(J),{cache:q}).success(function(q){var n,t;q=W(q);if(s.replace){q=Ib.test(q)?A($(q)):[];n=q[0];if(1!=q.length||1!==n.nodeType)throw ja("tplrt",s.name,J);q={$attr:{}};ra(d,b,n);var B=ca(n,[],q);T(s.scope)&&D(B);a=B.concat(a);v(c,q)}else n=w,b.html(q);a.unshift(y);l=I(a,n,c,e,b,s,f,g,k);r(d,function(a,c){a==n&&(d[c]=b[0])});for(m=O(b[0].childNodes,e);p.length;){q=p.shift();t=p.shift();var K=p.shift(),C=p.shift(),B=b[0];if(t!==w){var P=t.className;k.hasElementTranscludeDirective&& |
||||
s.replace||(B=Kb(n));ra(K,A(t),B);ba(A(B),P)}t=l.transcludeOnThisElement?M(q,l.transclude,C):C;l(m,q,B,d,t)}p=null}).error(function(a,b,c,d){throw ja("tpload",d.url);});return function(a,b,c,d,e){a=e;p?(p.push(b),p.push(c),p.push(d),p.push(a)):(l.transcludeOnThisElement&&(a=M(b,l.transclude,e)),l(m,b,c,d,a))}}function F(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 fb(a,b,c,d){if(b)throw ja("multidir",b.name,c.name,a,ia(d));}function x(a, |
||||
c){var d=b(c,!0);d&&a.push({priority:0,compile:function(a){var b=a.parent().length;b&&ba(a.parent(),"ng-binding");return function(a,c){var e=c.parent(),f=e.data("$binding")||[];f.push(d);e.data("$binding",f);b||ba(e,"ng-binding");a.$watch(d,function(a){c[0].nodeValue=a})}}})}function z(a,b){if("srcdoc"==b)return t.HTML;var c=Pa(a);if("xlinkHref"==b||"FORM"==c&&"action"==b||"IMG"!=c&&("src"==b||"ngSrc"==b))return t.RESOURCE_URL}function S(a,c,d,e){var f=b(d,!0);if(f){if("multiple"===e&&"SELECT"=== |
||||
Pa(a))throw ja("selmulti",ia(a));c.push({priority:100,compile:function(){return{pre:function(c,d,k){d=k.$$observers||(k.$$observers={});if(g.test(e))throw ja("nodomevents");if(f=b(k[e],!0,z(a,e)))k[e]=f(c),(d[e]||(d[e]=[])).$$inter=!0,(k.$$observers&&k.$$observers[e].$$scope||c).$watch(f,function(a,b){"class"===e&&a!=b?k.$updateClass(a,b):k.$set(e,a)})}}}})}}function ra(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,k;if(a)for(g=0,k=a.length;g<k;g++)if(a[g]==d){a[g++]=c;k=g+e-1;for(var p=a.length;g< |
||||
p;g++,k++)k<p?a[g]=a[k]:delete a[g];a.length-=e-1;break}f&&f.replaceChild(c,d);a=X.createDocumentFragment();a.appendChild(d);c[A.expando]=d[A.expando];d=1;for(e=b.length;d<e;d++)f=b[d],A(f).remove(),a.appendChild(f),delete b[d];b[0]=c;b.length=1}function rc(a,b){return E(function(){return a.apply(null,arguments)},a,b)}var Ob=function(a,b){this.$$element=a;this.$attr=b||{}};Ob.prototype={$normalize:qa,$addClass:function(a){a&&0<a.length&&y.addClass(this.$$element,a)},$removeClass:function(a){a&&0< |
||||
a.length&&y.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=sc(a,b),d=sc(b,a);0===c.length?y.removeClass(this.$$element,d):0===d.length?y.addClass(this.$$element,c):y.setClass(this.$$element,c,d)},$set:function(a,b,c,d){var e=oc(this.$$element[0],a);e&&(this.$$element.prop(a,b),d=e);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=nb(a,"-"));e=Pa(this.$$element);if("A"===e&&"href"===a||"IMG"===e&&"src"===a)this[a]=b=K(b,"src"===a);!1!==c&&(null===b||b===u?this.$$element.removeAttr(d): |
||||
this.$$element.attr(d,b));(c=this.$$observers)&&r(c[a],function(a){try{a(b)}catch(c){l(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);e.push(b);J.$evalAsync(function(){e.$$inter||b(c[a])});return b}};var sa=b.startSymbol(),Ia=b.endSymbol(),W="{{"==sa||"}}"==Ia?ga:function(a){return a.replace(/\{\{/g,sa).replace(/}}/g,Ia)},U=/^ngAttr[A-Z]/;return B}]}function qa(b){return ab(b.replace(we,""))}function sc(b,a){var c="",d=b.split(/\s+/),e=a.split(/\s+/), |
||||
f=0;a:for(;f<d.length;f++){for(var g=d[f],h=0;h<e.length;h++)if(g==e[h])continue a;c+=(0<c.length?" ":"")+g}return c}function Od(){var b={},a=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(a,d){Ea(a,"controller");T(a)?E(b,a):b[a]=d};this.$get=["$injector","$window",function(c,d){return function(e,f){var g,h,k;G(e)&&(g=e.match(a),h=g[1],k=g[3],e=b.hasOwnProperty(h)?b[h]:fc(f.$scope,h,!0)||fc(d,h,!0),Ya(e,h,!0));g=c.instantiate(e,f);if(k){if(!f||"object"!==typeof f.$scope)throw z("$controller")("noscp", |
||||
h||e.name,k);f.$scope[k]=g}return g}}]}function Pd(){this.$get=["$window",function(b){return A(b.document)}]}function Qd(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function tc(b){var a={},c,d,e;if(!b)return a;r(b.split("\n"),function(b){e=b.indexOf(":");c=x($(b.substr(0,e)));d=$(b.substr(e+1));c&&(a[c]=a[c]?a[c]+", "+d:d)});return a}function uc(b){var a=T(b)?b:u;return function(c){a||(a=tc(b));return c?a[x(c)]||null:a}}function vc(b,a,c){if(N(c))return c(b, |
||||
a);r(c,function(c){b=c(b,a)});return b}function Td(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d={"Content-Type":"application/json;charset=utf-8"},e=this.defaults={transformResponse:[function(d){G(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=ac(d)));return d}],transformRequest:[function(a){return T(a)&&"[object File]"!==Ba.call(a)&&"[object Blob]"!==Ba.call(a)?oa(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ha(d),put:ha(d),patch:ha(d)},xsrfCookieName:"XSRF-TOKEN", |
||||
xsrfHeaderName:"X-XSRF-TOKEN"},f=this.interceptors=[],g=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,d,n,q){function p(a){function b(a){var d=E({},a,{data:vc(a.data,a.headers,c.transformResponse)});return 200<=a.status&&300>a.status?d:n.reject(d)}var c={method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse},d=function(a){var b=e.headers,c=E({},a.headers),d,f,b=E({},b.common,b[x(a.method)]); |
||||
a:for(d in b){a=x(d);for(f in c)if(x(f)===a)continue a;c[d]=b[d]}(function(a){var b;r(a,function(c,d){N(c)&&(b=c(),null!=b?a[d]=b:delete a[d])})})(c);return c}(a);E(c,a);c.headers=d;c.method=La(c.method);var f=[function(a){d=a.headers;var c=vc(a.data,uc(d),a.transformRequest);F(c)&&r(d,function(a,b){"content-type"===x(b)&&delete d[b]});F(a.withCredentials)&&!F(e.withCredentials)&&(a.withCredentials=e.withCredentials);return s(a,c,d).then(b,b)},u],g=n.when(c);for(r(t,function(a){(a.request||a.requestError)&& |
||||
f.unshift(a.request,a.requestError);(a.response||a.responseError)&&f.push(a.response,a.responseError)});f.length;){a=f.shift();var h=f.shift(),g=g.then(a,h)}g.success=function(a){g.then(function(b){a(b.data,b.status,b.headers,c)});return g};g.error=function(a){g.then(null,function(b){a(b.data,b.status,b.headers,c)});return g};return g}function s(c,f,g){function m(a,b,c,e){C&&(200<=a&&300>a?C.put(A,[a,b,tc(c),e]):C.remove(A));q(b,a,c,e);d.$$phase||d.$apply()}function q(a,b,d,e){b=Math.max(b,0);(200<= |
||||
b&&300>b?t.resolve:t.reject)({data:a,status:b,headers:uc(d),config:c,statusText:e})}function s(){var a=Ta(p.pendingRequests,c);-1!==a&&p.pendingRequests.splice(a,1)}var t=n.defer(),r=t.promise,C,I,A=J(c.url,c.params);p.pendingRequests.push(c);r.then(s,s);!c.cache&&!e.cache||(!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method)||(C=T(c.cache)?c.cache:T(e.cache)?e.cache:w);if(C)if(I=C.get(A),D(I)){if(I&&N(I.then))return I.then(s,s),I;L(I)?q(I[1],I[0],ha(I[2]),I[3]):q(I,200,{},"OK")}else C.put(A,r);F(I)&& |
||||
((I=Pb(c.url)?b.cookies()[c.xsrfCookieName||e.xsrfCookieName]:u)&&(g[c.xsrfHeaderName||e.xsrfHeaderName]=I),a(c.method,A,f,m,g,c.timeout,c.withCredentials,c.responseType));return r}function J(a,b){if(!b)return a;var c=[];Sc(b,function(a,b){null===a||F(a)||(L(a)||(a=[a]),r(a,function(a){T(a)&&(a=va(a)?a.toISOString():oa(a));c.push(Da(b)+"="+Da(a))}))});0<c.length&&(a+=(-1==a.indexOf("?")?"?":"&")+c.join("&"));return a}var w=c("$http"),t=[];r(f,function(a){t.unshift(G(a)?q.get(a):q.invoke(a))});r(g, |
||||
function(a,b){var c=G(a)?q.get(a):q.invoke(a);t.splice(b,0,{response:function(a){return c(n.when(a))},responseError:function(a){return c(n.reject(a))}})});p.pendingRequests=[];(function(a){r(arguments,function(a){p[a]=function(b,c){return p(E(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){r(arguments,function(a){p[a]=function(b,c,d){return p(E(d||{},{method:a,url:b,data:c}))}})})("post","put","patch");p.defaults=e;return p}]}function xe(b){if(8>=R&&(!b.match(/^(get|post|head|put|delete|options)$/i)|| |
||||
!W.XMLHttpRequest))return new W.ActiveXObject("Microsoft.XMLHTTP");if(W.XMLHttpRequest)return new W.XMLHttpRequest;throw z("$httpBackend")("noxhr");}function Ud(){this.$get=["$browser","$window","$document",function(b,a,c){return ye(b,xe,b.defer,a.angular.callbacks,c[0])}]}function ye(b,a,c,d,e){function f(a,b,c){var f=e.createElement("script"),g=null;f.type="text/javascript";f.src=a;f.async=!0;g=function(a){bb(f,"load",g);bb(f,"error",g);e.body.removeChild(f);f=null;var h=-1,s="unknown";a&&("load"!== |
||||
a.type||d[b].called||(a={type:"error"}),s=a.type,h="error"===a.type?404:200);c&&c(h,s)};sb(f,"load",g);sb(f,"error",g);8>=R&&(f.onreadystatechange=function(){G(f.readyState)&&/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,g({type:"load"}))});e.body.appendChild(f);return g}var g=-1;return function(e,k,m,l,n,q,p,s){function J(){t=g;K&&K();B&&B.abort()}function w(a,d,e,f,g){O&&c.cancel(O);K=B=null;0===d&&(d=e?200:"file"==xa(k).protocol?404:0);a(1223===d?204:d,e,f,g||"");b.$$completeOutstandingRequest(v)} |
||||
var t;b.$$incOutstandingRequestCount();k=k||b.url();if("jsonp"==x(e)){var y="_"+(d.counter++).toString(36);d[y]=function(a){d[y].data=a;d[y].called=!0};var K=f(k.replace("JSON_CALLBACK","angular.callbacks."+y),y,function(a,b){w(l,a,d[y].data,"",b);d[y]=v})}else{var B=a(e);B.open(e,k,!0);r(n,function(a,b){D(a)&&B.setRequestHeader(b,a)});B.onreadystatechange=function(){if(B&&4==B.readyState){var a=null,b=null,c="";t!==g&&(a=B.getAllResponseHeaders(),b="response"in B?B.response:B.responseText);t===g&& |
||||
10>R||(c=B.statusText);w(l,t||B.status,b,a,c)}};p&&(B.withCredentials=!0);if(s)try{B.responseType=s}catch(ba){if("json"!==s)throw ba;}B.send(m||null)}if(0<q)var O=c(J,q);else q&&N(q.then)&&q.then(J)}}function Rd(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b};this.endSymbol=function(b){return b?(a=b,this):a};this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(f,m,l){for(var n,q,p=0,s=[],J=f.length,w=!1,t=[];p<J;)-1!=(n=f.indexOf(b,p))&&-1!=(q=f.indexOf(a, |
||||
n+g))?(p!=n&&s.push(f.substring(p,n)),s.push(p=c(w=f.substring(n+g,q))),p.exp=w,p=q+h,w=!0):(p!=J&&s.push(f.substring(p)),p=J);(J=s.length)||(s.push(""),J=1);if(l&&1<s.length)throw wc("noconcat",f);if(!m||w)return t.length=J,p=function(a){try{for(var b=0,c=J,g;b<c;b++){if("function"==typeof(g=s[b]))if(g=g(a),g=l?e.getTrusted(l,g):e.valueOf(g),null==g)g="";else switch(typeof g){case "string":break;case "number":g=""+g;break;default:g=oa(g)}t[b]=g}return t.join("")}catch(h){a=wc("interr",f,h.toString()), |
||||
d(a)}},p.exp=f,p.parts=s,p}var g=b.length,h=a.length;f.startSymbol=function(){return b};f.endSymbol=function(){return a};return f}]}function Sd(){this.$get=["$rootScope","$window","$q",function(b,a,c){function d(d,g,h,k){var m=a.setInterval,l=a.clearInterval,n=c.defer(),q=n.promise,p=0,s=D(k)&&!k;h=D(h)?h:0;q.then(null,null,d);q.$$intervalId=m(function(){n.notify(p++);0<h&&p>=h&&(n.resolve(p),l(q.$$intervalId),delete e[q.$$intervalId]);s||b.$apply()},g);e[q.$$intervalId]=n;return q}var e={};d.cancel= |
||||
function(b){return b&&b.$$intervalId in e?(e[b.$$intervalId].reject("canceled"),a.clearInterval(b.$$intervalId),delete e[b.$$intervalId],!0):!1};return d}]}function ad(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "), |
||||
SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function Qb(b){b=b.split("/");for(var a=b.length;a--;)b[a]= |
||||
mb(b[a]);return b.join("/")}function xc(b,a,c){b=xa(b,c);a.$$protocol=b.protocol;a.$$host=b.hostname;a.$$port=U(b.port)||ze[b.protocol]||null}function yc(b,a,c){var d="/"!==b.charAt(0);d&&(b="/"+b);b=xa(b,c);a.$$path=decodeURIComponent(d&&"/"===b.pathname.charAt(0)?b.pathname.substring(1):b.pathname);a.$$search=cc(b.search);a.$$hash=decodeURIComponent(b.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function ta(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Ga(b){var a= |
||||
b.indexOf("#");return-1==a?b:b.substr(0,a)}function Rb(b){return b.substr(0,Ga(b).lastIndexOf("/")+1)}function zc(b,a){this.$$html5=!0;a=a||"";var c=Rb(b);xc(b,this,b);this.$$parse=function(a){var e=ta(c,a);if(!G(e))throw Sb("ipthprfx",a,c);yc(e,this,b);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Cb(this.$$search),b=this.$$hash?"#"+mb(this.$$hash):"";this.$$url=Qb(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$parseLinkUrl=function(d, |
||||
e){var f,g;(f=ta(b,d))!==u?(g=f,g=(f=ta(a,f))!==u?c+(ta("/",f)||f):b+g):(f=ta(c,d))!==u?g=c+f:c==d+"/"&&(g=c);g&&this.$$parse(g);return!!g}}function Tb(b,a){var c=Rb(b);xc(b,this,b);this.$$parse=function(d){var e=ta(b,d)||ta(c,d),e="#"==e.charAt(0)?ta(a,e):this.$$html5?e:"";if(!G(e))throw Sb("ihshprfx",d,a);yc(e,this,b);d=this.$$path;var f=/^\/[A-Z]:(\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,""));f.exec(e)||(d=(e=f.exec(d))?e[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var c=Cb(this.$$search), |
||||
e=this.$$hash?"#"+mb(this.$$hash):"";this.$$url=Qb(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};this.$$parseLinkUrl=function(a,c){return Ga(b)==Ga(a)?(this.$$parse(a),!0):!1}}function Ac(b,a){this.$$html5=!0;Tb.apply(this,arguments);var c=Rb(b);this.$$parseLinkUrl=function(d,e){var f,g;b==Ga(d)?f=d:(g=ta(c,d))?f=b+a+g:c===d+"/"&&(f=c);f&&this.$$parse(f);return!!f};this.$$compose=function(){var c=Cb(this.$$search),e=this.$$hash?"#"+mb(this.$$hash):"";this.$$url=Qb(this.$$path)+ |
||||
(c?"?"+c:"")+e;this.$$absUrl=b+a+this.$$url}}function tb(b){return function(){return this[b]}}function Bc(b,a){return function(c){if(F(c))return this[b];this[b]=a(c);this.$$compose();return this}}function Vd(){var b="",a=!1;this.hashPrefix=function(a){return D(a)?(b=a,this):b};this.html5Mode=function(b){return D(b)?(a=b,this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,f){function g(a){c.$broadcast("$locationChangeSuccess",h.absUrl(),a)}var h,k=d.baseHref(),m=d.url(); |
||||
a?(k=m.substring(0,m.indexOf("/",m.indexOf("//")+2))+(k||"/"),e=e.history?zc:Ac):(k=Ga(m),e=Tb);h=new e(k,"#"+b);h.$$parseLinkUrl(m,m);var l=/^\s*(javascript|mailto):/i;f.on("click",function(a){if(!a.ctrlKey&&!a.metaKey&&2!=a.which){for(var b=A(a.target);"a"!==x(b[0].nodeName);)if(b[0]===f[0]||!(b=b.parent())[0])return;var e=b.prop("href"),g=b.attr("href")||b.attr("xlink:href");T(e)&&"[object SVGAnimatedString]"===e.toString()&&(e=xa(e.animVal).href);l.test(e)||(!e||(b.attr("target")||a.isDefaultPrevented())|| |
||||
!h.$$parseLinkUrl(e,g))||(a.preventDefault(),h.absUrl()!=d.url()&&(c.$apply(),W.angular["ff-684208-preventDefault"]=!0))}});h.absUrl()!=m&&d.url(h.absUrl(),!0);d.onUrlChange(function(a){h.absUrl()!=a&&(c.$evalAsync(function(){var b=h.absUrl();h.$$parse(a);c.$broadcast("$locationChangeStart",a,b).defaultPrevented?(h.$$parse(b),d.url(b)):g(b)}),c.$$phase||c.$digest())});var n=0;c.$watch(function(){var a=d.url(),b=h.$$replace;n&&a==h.absUrl()||(n++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart", |
||||
h.absUrl(),a).defaultPrevented?h.$$parse(a):(d.url(h.absUrl(),b),g(a))}));h.$$replace=!1;return n});return h}]}function Wd(){var b=!0,a=this;this.debugEnabled=function(a){return D(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||v;a=!1;try{a=!!e.apply}catch(k){}return a? |
||||
function(){var a=[];r(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function ka(b,a){if("__defineGetter__"===b||"__defineSetter__"===b||"__lookupGetter__"===b||"__lookupSetter__"===b||"__proto__"===b)throw la("isecfld",a);return b}function ma(b,a){if(b){if(b.constructor===b)throw la("isecfn",a);if(b.document&& |
||||
b.location&&b.alert&&b.setInterval)throw la("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw la("isecdom",a);if(b===Object)throw la("isecobj",a);}return b}function ub(b,a,c,d,e){ma(b,d);e=e||{};a=a.split(".");for(var f,g=0;1<a.length;g++){f=ka(a.shift(),d);var h=ma(b[f],d);h||(h={},b[f]=h);b=h;b.then&&e.unwrapPromises&&(ya(d),"$$v"in b||function(a){a.then(function(b){a.$$v=b})}(b),b.$$v===u&&(b.$$v={}),b=b.$$v)}f=ka(a.shift(),d);ma(b[f],d);return b[f]=c}function Qa(b){return"constructor"== |
||||
b}function Cc(b,a,c,d,e,f,g){ka(b,f);ka(a,f);ka(c,f);ka(d,f);ka(e,f);var h=function(a){return ma(a,f)},k=g.expensiveChecks,m=k||Qa(b)?h:ga,l=k||Qa(a)?h:ga,n=k||Qa(c)?h:ga,q=k||Qa(d)?h:ga,p=k||Qa(e)?h:ga;return g.unwrapPromises?function(g,h){var k=h&&h.hasOwnProperty(b)?h:g,t;if(null==k)return k;(k=m(k[b]))&&k.then&&(ya(f),"$$v"in k||(t=k,t.$$v=u,t.then(function(a){t.$$v=m(a)})),k=m(k.$$v));if(!a)return k;if(null==k)return u;(k=l(k[a]))&&k.then&&(ya(f),"$$v"in k||(t=k,t.$$v=u,t.then(function(a){t.$$v= |
||||
l(a)})),k=l(k.$$v));if(!c)return k;if(null==k)return u;(k=n(k[c]))&&k.then&&(ya(f),"$$v"in k||(t=k,t.$$v=u,t.then(function(a){t.$$v=n(a)})),k=n(k.$$v));if(!d)return k;if(null==k)return u;(k=q(k[d]))&&k.then&&(ya(f),"$$v"in k||(t=k,t.$$v=u,t.then(function(a){t.$$v=q(a)})),k=q(k.$$v));if(!e)return k;if(null==k)return u;(k=p(k[e]))&&k.then&&(ya(f),"$$v"in k||(t=k,t.$$v=u,t.then(function(a){t.$$v=p(a)})),k=p(k.$$v));return k}:function(f,g){var h=g&&g.hasOwnProperty(b)?g:f;if(null==h)return h;h=m(h[b]); |
||||
if(!a)return h;if(null==h)return u;h=l(h[a]);if(!c)return h;if(null==h)return u;h=n(h[c]);if(!d)return h;if(null==h)return u;h=q(h[d]);return e?null==h?u:h=p(h[e]):h}}function Ae(b,a){return function(c,d){return b(c,d,ya,ma,a)}}function Dc(b,a,c){var d=a.expensiveChecks,e=d?Be:Ce;if(e.hasOwnProperty(b))return e[b];var f=b.split("."),g=f.length,h;if(a.csp)h=6>g?Cc(f[0],f[1],f[2],f[3],f[4],c,a):function(b,d){var e=0,h;do h=Cc(f[e++],f[e++],f[e++],f[e++],f[e++],c,a)(b,d),d=u,b=h;while(e<g);return h}; |
||||
else{var k="var p;\n";d&&(k+="s = eso(s, fe);\nl = eso(l, fe);\n");var m=d;r(f,function(b,e){ka(b,c);var f=(e?"s":'((l&&l.hasOwnProperty("'+b+'"))?l:s)')+'["'+b+'"]',g=d||Qa(b);g&&(f="eso("+f+", fe)",m=!0);k+="if(s == null) return undefined;\ns="+f+";\n";a.unwrapPromises&&(k+='if (s && s.then) {\n pw("'+c.replace(/(["\r\n])/g,"\\$1")+'");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v='+(g?"eso(v)":"v")+";});\n}\n s="+(g?"eso(s.$$v)":"s.$$v")+"\n}\n")});k+="return s;"; |
||||
h=new Function("s","l","pw","eso","fe",k);h.toString=aa(k);if(m||a.unwrapPromises)h=Ae(h,c)}"hasOwnProperty"!==b&&(e[b]=h);return h}function Xd(){var b={},a={},c={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0,expensiveChecks:!1};this.unwrapPromises=function(a){return D(a)?(c.unwrapPromises=!!a,this):c.unwrapPromises};this.logPromiseWarnings=function(a){return D(a)?(c.logPromiseWarnings=a,this):c.logPromiseWarnings};this.$get=["$filter","$sniffer","$log",function(d,e,f){c.csp=e.csp;var g={csp:c.csp, |
||||
unwrapPromises:c.unwrapPromises,logPromiseWarnings:c.logPromiseWarnings,expensiveChecks:!0};ya=function(a){c.logPromiseWarnings&&!Ec.hasOwnProperty(a)&&(Ec[a]=!0,f.warn("[$parse] Promise found in the expression `"+a+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))};return function(e,f){var m;switch(typeof e){case "string":var l=f?a:b;if(l.hasOwnProperty(e))return l[e];m=f?g:c;var n=new Ub(m);m=(new gb(n,d,m)).parse(e);"hasOwnProperty"!==e&&(l[e]=m);return m;case "function":return e; |
||||
default:return v}}}]}function Zd(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return De(function(a){b.$evalAsync(a)},a)}]}function De(b,a){function c(a){return a}function d(a){return g(a)}var e=function(){var g=[],m,l;return l={resolve:function(a){if(g){var c=g;g=u;m=f(a);c.length&&b(function(){for(var a,b=0,d=c.length;b<d;b++)a=c[b],m.then(a[0],a[1],a[2])})}},reject:function(a){l.resolve(h(a))},notify:function(a){if(g){var c=g;g.length&&b(function(){for(var b,d=0,e=c.length;d<e;d++)b= |
||||
c[d],b[2](a)})}},promise:{then:function(b,f,h){var l=e(),J=function(d){try{l.resolve((N(b)?b:c)(d))}catch(e){l.reject(e),a(e)}},w=function(b){try{l.resolve((N(f)?f:d)(b))}catch(c){l.reject(c),a(c)}},t=function(b){try{l.notify((N(h)?h:c)(b))}catch(d){a(d)}};g?g.push([J,w,t]):m.then(J,w,t);return l.promise},"catch":function(a){return this.then(null,a)},"finally":function(a){function b(a,c){var d=e();c?d.resolve(a):d.reject(a);return d.promise}function d(e,f){var g=null;try{g=(a||c)()}catch(h){return b(h, |
||||
!1)}return g&&N(g.then)?g.then(function(){return b(e,f)},function(a){return b(a,!1)}):b(e,f)}return this.then(function(a){return d(a,!0)},function(a){return d(a,!1)})}}}},f=function(a){return a&&N(a.then)?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},g=function(a){var b=e();b.reject(a);return b.promise},h=function(c){return{then:function(f,g){var h=e();b(function(){try{h.resolve((N(g)?g:d)(c))}catch(b){h.reject(b),a(b)}});return h.promise}}};return{defer:e,reject:g, |
||||
when:function(h,m,l,n){var q=e(),p,s=function(b){try{return(N(m)?m:c)(b)}catch(d){return a(d),g(d)}},J=function(b){try{return(N(l)?l:d)(b)}catch(c){return a(c),g(c)}},w=function(b){try{return(N(n)?n:c)(b)}catch(d){a(d)}};b(function(){f(h).then(function(a){p||(p=!0,q.resolve(f(a).then(s,J,w)))},function(a){p||(p=!0,q.resolve(J(a)))},function(a){p||q.notify(w(a))})});return q.promise},all:function(a){var b=e(),c=0,d=L(a)?[]:{};r(a,function(a,e){c++;f(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a, |
||||
--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})});0===c&&b.resolve(d);return b.promise}}}function fe(){this.$get=["$window","$timeout",function(b,a){var c=b.requestAnimationFrame||b.webkitRequestAnimationFrame||b.mozRequestAnimationFrame,d=b.cancelAnimationFrame||b.webkitCancelAnimationFrame||b.mozCancelAnimationFrame||b.webkitCancelRequestAnimationFrame,e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:function(b){var c=a(b,16.66,!1);return function(){a.cancel(c)}};f.supported= |
||||
e;return f}]}function Yd(){var b=10,a=z("$rootScope"),c=null;this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$injector","$exceptionHandler","$parse","$browser",function(d,e,f,g){function h(){this.$id=ib();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this["this"]=this.$root=this;this.$$destroyed=!1;this.$$asyncQueue=[];this.$$postDigestQueue=[];this.$$listeners={};this.$$listenerCount={};this.$$isolateBindings= |
||||
{}}function k(b){if(q.$$phase)throw a("inprog",q.$$phase);q.$$phase=b}function m(a,b){var c=f(a);Ya(c,b);return c}function l(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function n(){}h.prototype={constructor:h,$new:function(a){a?(a=new h,a.$root=this.$root,a.$$asyncQueue=this.$$asyncQueue,a.$$postDigestQueue=this.$$postDigestQueue):(this.$$childScopeClass||(this.$$childScopeClass=function(){this.$$watchers=this.$$nextSibling=this.$$childHead= |
||||
this.$$childTail=null;this.$$listeners={};this.$$listenerCount={};this.$id=ib();this.$$childScopeClass=null},this.$$childScopeClass.prototype=this),a=new this.$$childScopeClass);a["this"]=a;a.$parent=this;a.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=a:this.$$childHead=this.$$childTail=a;return a},$watch:function(a,b,d){var e=m(a,"watch"),f=this.$$watchers,g={fn:b,last:n,get:e,exp:a,eq:!!d};c=null;if(!N(b)){var h=m(b||v,"listener");g.fn=function(a, |
||||
b,c){h(c)}}if("string"==typeof a&&e.constant){var k=g.fn;g.fn=function(a,b,c){k.call(this,a,b,c);Ua(f,g)}}f||(f=this.$$watchers=[]);f.unshift(g);return function(){Ua(f,g);c=null}},$watchCollection:function(a,b){var c=this,d,e,g,h=1<b.length,k=0,l=f(a),m=[],n={},q=!0,r=0;return this.$watch(function(){d=l(c);var a,b,f;if(T(d))if(Sa(d))for(e!==m&&(e=m,r=e.length=0,k++),a=d.length,r!==a&&(k++,e.length=r=a),b=0;b<a;b++)f=e[b]!==e[b]&&d[b]!==d[b],f||e[b]===d[b]||(k++,e[b]=d[b]);else{e!==n&&(e=n={},r=0, |
||||
k++);a=0;for(b in d)d.hasOwnProperty(b)&&(a++,e.hasOwnProperty(b)?(f=e[b]!==e[b]&&d[b]!==d[b],f||e[b]===d[b]||(k++,e[b]=d[b])):(r++,e[b]=d[b],k++));if(r>a)for(b in k++,e)e.hasOwnProperty(b)&&!d.hasOwnProperty(b)&&(r--,delete e[b])}else e!==d&&(e=d,k++);return k},function(){q?(q=!1,b(d,d,c)):b(d,g,c);if(h)if(T(d))if(Sa(d)){g=Array(d.length);for(var a=0;a<d.length;a++)g[a]=d[a]}else for(a in g={},d)lb.call(d,a)&&(g[a]=d[a]);else g=d})},$digest:function(){var d,f,h,l,m=this.$$asyncQueue,r=this.$$postDigestQueue, |
||||
K,B,u=b,O,M=[],A,P,C;k("$digest");g.$$checkUrlChange();c=null;do{B=!1;for(O=this;m.length;){try{C=m.shift(),C.scope.$eval(C.expression)}catch(I){q.$$phase=null,e(I)}c=null}a:do{if(l=O.$$watchers)for(K=l.length;K--;)try{if(d=l[K])if((f=d.get(O))!==(h=d.last)&&!(d.eq?Ca(f,h):"number"===typeof f&&"number"===typeof h&&isNaN(f)&&isNaN(h)))B=!0,c=d,d.last=d.eq?Ka(f,null):f,d.fn(f,h===n?f:h,O),5>u&&(A=4-u,M[A]||(M[A]=[]),P=N(d.exp)?"fn: "+(d.exp.name||d.exp.toString()):d.exp,P+="; newVal: "+oa(f)+"; oldVal: "+ |
||||
oa(h),M[A].push(P));else if(d===c){B=!1;break a}}catch(D){q.$$phase=null,e(D)}if(!(l=O.$$childHead||O!==this&&O.$$nextSibling))for(;O!==this&&!(l=O.$$nextSibling);)O=O.$parent}while(O=l);if((B||m.length)&&!u--)throw q.$$phase=null,a("infdig",b,oa(M));}while(B||m.length);for(q.$$phase=null;r.length;)try{r.shift()()}catch(x){e(x)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;this!==q&&(r(this.$$listenerCount,Bb(null,l,this)),a.$$childHead== |
||||
this&&(a.$$childHead=this.$$nextSibling),a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=null,this.$$listeners={},this.$$watchers=this.$$asyncQueue=this.$$postDigestQueue=[],this.$destroy=this.$digest=this.$apply=v,this.$on=this.$watch=function(){return v})}}, |
||||
$eval:function(a,b){return f(a)(this,b)},$evalAsync:function(a){q.$$phase||q.$$asyncQueue.length||g.defer(function(){q.$$asyncQueue.length&&q.$digest()});this.$$asyncQueue.push({scope:this,expression:a})},$$postDigest:function(a){this.$$postDigestQueue.push(a)},$apply:function(a){try{return k("$apply"),this.$eval(a)}catch(b){e(b)}finally{q.$$phase=null;try{q.$digest()}catch(c){throw e(c),c;}}},$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=Ta(c,b);-1!==d&&(c[d]=null,l(e,1,a))}},$emit:function(a,b){var c=[],d,f=this,g=!1,h={name:a,targetScope:f,stopPropagation:function(){g=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},k=[h].concat(wa.call(arguments,1)),l,m;do{d=f.$$listeners[a]||c;h.currentScope=f;l=0;for(m=d.length;l<m;l++)if(d[l])try{d[l].apply(null,k)}catch(n){e(n)}else d.splice(l,1),l--,m--;if(g)break; |
||||
f=f.$parent}while(f);return h},$broadcast:function(a,b){for(var c=this,d=this,f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1},g=[f].concat(wa.call(arguments,1)),h,k;c=d;){f.currentScope=c;d=c.$$listeners[a]||[];h=0;for(k=d.length;h<k;h++)if(d[h])try{d[h].apply(null,g)}catch(l){e(l)}else d.splice(h,1),h--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}return f}};var q=new h; |
||||
return q}]}function bd(){var b=/^\s*(https?|ftp|mailto|tel|file):/,a=/^\s*((https?|ftp|file):|data:image\/)/;this.aHrefSanitizationWhitelist=function(a){return D(a)?(b=a,this):b};this.imgSrcSanitizationWhitelist=function(b){return D(b)?(a=b,this):a};this.$get=function(){return function(c,d){var e=d?a:b,f;if(!R||8<=R)if(f=xa(c).href,""!==f&&!f.match(e))return"unsafe:"+f;return c}}}function Ee(b){if("self"===b)return b;if(G(b)){if(-1<b.indexOf("***"))throw za("iwcard",b);b=b.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, |
||||
"\\$1").replace(/\x08/g,"\\x08").replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*");return RegExp("^"+b+"$")}if(kb(b))return RegExp("^"+b.source+"$");throw za("imatcher");}function Fc(b){var a=[];D(b)&&r(b,function(b){a.push(Ee(b))});return a}function ae(){this.SCE_CONTEXTS=fa;var b=["self"],a=[];this.resourceUrlWhitelist=function(a){arguments.length&&(b=Fc(a));return b};this.resourceUrlBlacklist=function(b){arguments.length&&(a=Fc(b));return a};this.$get=["$injector",function(c){function d(a){var b= |
||||
function(a){this.$$unwrapTrustedValue=function(){return a}};a&&(b.prototype=new a);b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()};b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()};return b}var e=function(a){throw za("unsafe");};c.has("$sanitize")&&(e=c.get("$sanitize"));var f=d(),g={};g[fa.HTML]=d(f);g[fa.CSS]=d(f);g[fa.URL]=d(f);g[fa.JS]=d(f);g[fa.RESOURCE_URL]=d(g[fa.URL]);return{trustAs:function(a,b){var c=g.hasOwnProperty(a)?g[a]:null;if(!c)throw za("icontext", |
||||
a,b);if(null===b||b===u||""===b)return b;if("string"!==typeof b)throw za("itype",a);return new c(b)},getTrusted:function(c,d){if(null===d||d===u||""===d)return d;var f=g.hasOwnProperty(c)?g[c]:null;if(f&&d instanceof f)return d.$$unwrapTrustedValue();if(c===fa.RESOURCE_URL){var f=xa(d.toString()),l,n,q=!1;l=0;for(n=b.length;l<n;l++)if("self"===b[l]?Pb(f):b[l].exec(f.href)){q=!0;break}if(q)for(l=0,n=a.length;l<n;l++)if("self"===a[l]?Pb(f):a[l].exec(f.href)){q=!1;break}if(q)return d;throw za("insecurl", |
||||
d.toString());}if(c===fa.HTML)return e(d);throw za("unsafe");},valueOf:function(a){return a instanceof f?a.$$unwrapTrustedValue():a}}}]}function $d(){var b=!0;this.enabled=function(a){arguments.length&&(b=!!a);return b};this.$get=["$parse","$sniffer","$sceDelegate",function(a,c,d){if(b&&c.msie&&8>c.msieDocumentMode)throw za("iequirks");var e=ha(fa);e.isEnabled=function(){return b};e.trustAs=d.trustAs;e.getTrusted=d.getTrusted;e.valueOf=d.valueOf;b||(e.trustAs=e.getTrusted=function(a,b){return b}, |
||||
e.valueOf=ga);e.parseAs=function(b,c){var d=a(c);return d.literal&&d.constant?d:function(a,c){return e.getTrusted(b,d(a,c))}};var f=e.parseAs,g=e.getTrusted,h=e.trustAs;r(fa,function(a,b){var c=x(b);e[ab("parse_as_"+c)]=function(b){return f(a,b)};e[ab("get_trusted_"+c)]=function(b){return g(a,b)};e[ab("trust_as_"+c)]=function(b){return h(a,b)}});return e}]}function be(){this.$get=["$window","$document",function(b,a){var c={},d=U((/android (\d+)/.exec(x((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator|| |
||||
{}).userAgent),f=a[0]||{},g=f.documentMode,h,k=/^(Moz|webkit|O|ms)(?=[A-Z])/,m=f.body&&f.body.style,l=!1,n=!1;if(m){for(var q in m)if(l=k.exec(q)){h=l[0];h=h.substr(0,1).toUpperCase()+h.substr(1);break}h||(h="WebkitOpacity"in m&&"webkit");l=!!("transition"in m||h+"Transition"in m);n=!!("animation"in m||h+"Animation"in m);!d||l&&n||(l=G(f.body.style.webkitTransition),n=G(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hashchange:"onhashchange"in b&&(!g||7< |
||||
g),hasEvent:function(a){if("input"==a&&9==R)return!1;if(F(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:Za(),vendorPrefix:h,transitions:l,animations:n,android:d,msie:R,msieDocumentMode:g}}]}function de(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(b,a,c,d){function e(e,h,k){var m=c.defer(),l=m.promise,n=D(k)&&!k;h=a.defer(function(){try{m.resolve(e())}catch(a){m.reject(a),d(a)}finally{delete f[l.$$timeoutId]}n||b.$apply()},h);l.$$timeoutId=h;f[h]=m; |
||||
return l}var f={};e.cancel=function(b){return b&&b.$$timeoutId in f?(f[b.$$timeoutId].reject("canceled"),delete f[b.$$timeoutId],a.defer.cancel(b.$$timeoutId)):!1};return e}]}function xa(b,a){var c=b;R&&(Y.setAttribute("href",c),c=Y.href);Y.setAttribute("href",c);return{href:Y.href,protocol:Y.protocol?Y.protocol.replace(/:$/,""):"",host:Y.host,search:Y.search?Y.search.replace(/^\?/,""):"",hash:Y.hash?Y.hash.replace(/^#/,""):"",hostname:Y.hostname,port:Y.port,pathname:"/"===Y.pathname.charAt(0)?Y.pathname: |
||||
"/"+Y.pathname}}function Pb(b){b=G(b)?xa(b):b;return b.protocol===Gc.protocol&&b.host===Gc.host}function ee(){this.$get=aa(W)}function kc(b){function a(d,e){if(T(d)){var f={};r(d,function(b,c){f[c]=a(c,b)});return f}return b.factory(d+c,e)}var c="Filter";this.register=a;this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}];a("currency",Hc);a("date",Ic);a("filter",Fe);a("json",Ge);a("limitTo",He);a("lowercase",Ie);a("number",Jc);a("orderBy",Kc);a("uppercase",Je)}function Fe(){return function(b, |
||||
a,c){if(!L(b))return b;var d=typeof c,e=[];e.check=function(a){for(var b=0;b<e.length;b++)if(!e[b](a))return!1;return!0};"function"!==d&&(c="boolean"===d&&c?function(a,b){return Xa.equals(a,b)}:function(a,b){if(a&&b&&"object"===typeof a&&"object"===typeof b){for(var d in a)if("$"!==d.charAt(0)&&lb.call(a,d)&&c(a[d],b[d]))return!0;return!1}b=(""+b).toLowerCase();return-1<(""+a).toLowerCase().indexOf(b)});var f=function(a,b){if("string"===typeof b&&"!"===b.charAt(0))return!f(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return c(a, |
||||
b);case "object":switch(typeof b){case "object":return c(a,b);default:for(var d in a)if("$"!==d.charAt(0)&&f(a[d],b))return!0}return!1;case "array":for(d=0;d<a.length;d++)if(f(a[d],b))return!0;return!1;default:return!1}};switch(typeof a){case "boolean":case "number":case "string":a={$:a};case "object":for(var g in a)(function(b){"undefined"!==typeof a[b]&&e.push(function(c){return f("$"==b?c:c&&c[b],a[b])})})(g);break;case "function":e.push(a);break;default:return b}d=[];for(g=0;g<b.length;g++){var h= |
||||
b[g];e.check(h)&&d.push(h)}return d}}function Hc(b){var a=b.NUMBER_FORMATS;return function(b,d){F(d)&&(d=a.CURRENCY_SYM);return Lc(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Jc(b){var a=b.NUMBER_FORMATS;return function(b,d){return Lc(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Lc(b,a,c,d,e){if(null==b||!isFinite(b)||T(b))return"";var f=0>b;b=Math.abs(b);var g=b+"",h="",k=[],m=!1;if(-1!==g.indexOf("e")){var l=g.match(/([\d\.]+)e(-?)(\d+)/);l&&"-"==l[2]&& |
||||
l[3]>e+1?(g="0",b=0):(h=g,m=!0)}if(m)0<e&&(-1<b&&1>b)&&(h=b.toFixed(e));else{g=(g.split(Mc)[1]||"").length;F(e)&&(e=Math.min(Math.max(a.minFrac,g),a.maxFrac));b=+(Math.round(+(b.toString()+"e"+e)).toString()+"e"+-e);0===b&&(f=!1);b=(""+b).split(Mc);g=b[0];b=b[1]||"";var l=0,n=a.lgSize,q=a.gSize;if(g.length>=n+q)for(l=g.length-n,m=0;m<l;m++)0===(l-m)%q&&0!==m&&(h+=c),h+=g.charAt(m);for(m=l;m<g.length;m++)0===(g.length-m)%n&&0!==m&&(h+=c),h+=g.charAt(m);for(;b.length<e;)b+="0";e&&"0"!==e&&(h+=d+b.substr(0, |
||||
e))}k.push(f?a.negPre:a.posPre);k.push(h);k.push(f?a.negSuf:a.posSuf);return k.join("")}function Vb(b,a,c){var d="";0>b&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function Z(b,a,c,d){c=c||0;return function(e){e=e["get"+b]();if(0<c||e>-c)e+=c;0===e&&-12==c&&(e=12);return Vb(e,a,d)}}function vb(b,a){return function(c,d){var e=c["get"+b](),f=La(a?"SHORT"+b:b);return d[f][e]}}function Ic(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,g=0,h=b[8]? |
||||
a.setUTCFullYear:a.setFullYear,k=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=U(b[9]+b[10]),g=U(b[9]+b[11]));h.call(a,U(b[1]),U(b[2])-1,U(b[3]));f=U(b[4]||0)-f;g=U(b[5]||0)-g;h=U(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));k.call(a,f,g,h,b)}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,e){var f="",g=[],h,k;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;G(c)&&(c=Ke.test(c)?U(c):a(c));jb(c)&&(c=new Date(c)); |
||||
if(!va(c))return c;for(;e;)(k=Le.exec(e))?(g=g.concat(wa.call(k,1)),e=g.pop()):(g.push(e),e=null);r(g,function(a){h=Me[a];f+=h?h(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return f}}function Ge(){return function(b){return oa(b,!0)}}function He(){return function(b,a){if(!L(b)&&!G(b))return b;a=Infinity===Math.abs(Number(a))?Number(a):U(a);if(G(b))return a?0<=a?b.slice(0,a):b.slice(a,b.length):"";var c=[],d,e;a>b.length?a=b.length:a<-b.length&&(a=-b.length);0<a?(d=0,e=a):(d= |
||||
b.length+a,e=b.length);for(;d<e;d++)c.push(b[d]);return c}}function Kc(b){return function(a,c,d){function e(a,b){return Wa(b)?function(b,c){return a(c,b)}:a}function f(a,b){var c=typeof a,d=typeof b;return c==d?(va(a)&&va(b)&&(a=a.valueOf(),b=b.valueOf()),"string"==c&&(a=a.toLowerCase(),b=b.toLowerCase()),a===b?0:a<b?-1:1):c<d?-1:1}if(!Sa(a))return a;c=L(c)?c:[c];0===c.length&&(c=["+"]);c=Uc(c,function(a){var c=!1,d=a||ga;if(G(a)){if("+"==a.charAt(0)||"-"==a.charAt(0))c="-"==a.charAt(0),a=a.substring(1); |
||||
if(""===a)return e(function(a,b){return f(a,b)},c);d=b(a);if(d.constant){var m=d();return e(function(a,b){return f(a[m],b[m])},c)}}return e(function(a,b){return f(d(a),d(b))},c)});return wa.call(a).sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(0!==e)return e}return 0},d))}}function Aa(b){N(b)&&(b={link:b});b.restrict=b.restrict||"AC";return aa(b)}function Nc(b,a,c,d){function e(a,c){c=c?"-"+nb(c,"-"):"";d.setClass(b,(a?wb:xb)+c,(a?xb:wb)+c)}var f=this,g=b.parent().controller("form")|| |
||||
yb,h=0,k=f.$error={},m=[];f.$name=a.name||a.ngForm;f.$dirty=!1;f.$pristine=!0;f.$valid=!0;f.$invalid=!1;g.$addControl(f);b.addClass(Ra);e(!0);f.$addControl=function(a){Ea(a.$name,"input");m.push(a);a.$name&&(f[a.$name]=a)};f.$removeControl=function(a){a.$name&&f[a.$name]===a&&delete f[a.$name];r(k,function(b,c){f.$setValidity(c,!0,a)});Ua(m,a)};f.$setValidity=function(a,b,c){var d=k[a];if(b)d&&(Ua(d,c),d.length||(h--,h||(e(b),f.$valid=!0,f.$invalid=!1),k[a]=!1,e(!0,a),g.$setValidity(a,!0,f)));else{h|| |
||||
e(b);if(d){if(-1!=Ta(d,c))return}else k[a]=d=[],h++,e(!1,a),g.$setValidity(a,!1,f);d.push(c);f.$valid=!1;f.$invalid=!0}};f.$setDirty=function(){d.removeClass(b,Ra);d.addClass(b,zb);f.$dirty=!0;f.$pristine=!1;g.$setDirty()};f.$setPristine=function(){d.removeClass(b,zb);d.addClass(b,Ra);f.$dirty=!1;f.$pristine=!0;r(m,function(a){a.$setPristine()})}}function ua(b,a,c,d){b.$setValidity(a,c);return c?d:u}function Oc(b,a){var c,d;if(a)for(c=0;c<a.length;++c)if(d=a[c],b[d])return!0;return!1}function Ne(b, |
||||
a,c,d,e){T(e)&&(b.$$hasNativeValidators=!0,b.$parsers.push(function(f){if(b.$error[a]||Oc(e,d)||!Oc(e,c))return f;b.$setValidity(a,!1)}))}function Ab(b,a,c,d,e,f){var g=a.prop(Oe),h=a[0].placeholder,k={},m=x(a[0].type);d.$$validityState=g;if(!e.android){var l=!1;a.on("compositionstart",function(a){l=!0});a.on("compositionend",function(){l=!1;n()})}var n=function(e){if(!l){var f=a.val();if(R&&"input"===(e||k).type&&a[0].placeholder!==h)h=a[0].placeholder;else if("password"!==m&&Wa(c.ngTrim||"T")&& |
||||
(f=$(f)),e=g&&d.$$hasNativeValidators,d.$viewValue!==f||""===f&&e)b.$root.$$phase?d.$setViewValue(f):b.$apply(function(){d.$setViewValue(f)})}};if(e.hasEvent("input"))a.on("input",n);else{var q,p=function(){q||(q=f.defer(function(){n();q=null}))};a.on("keydown",function(a){a=a.keyCode;91===a||(15<a&&19>a||37<=a&&40>=a)||p()});if(e.hasEvent("paste"))a.on("paste cut",p)}a.on("change",n);d.$render=function(){a.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)};var s=c.ngPattern;s&&((e=s.match(/^\/(.*)\/([gim]*)$/))? |
||||
(s=RegExp(e[1],e[2]),e=function(a){return ua(d,"pattern",d.$isEmpty(a)||s.test(a),a)}):e=function(c){var e=b.$eval(s);if(!e||!e.test)throw z("ngPattern")("noregexp",s,e,ia(a));return ua(d,"pattern",d.$isEmpty(c)||e.test(c),c)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var r=U(c.ngMinlength);e=function(a){return ua(d,"minlength",d.$isEmpty(a)||a.length>=r,a)};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var w=U(c.ngMaxlength);e=function(a){return ua(d,"maxlength",d.$isEmpty(a)|| |
||||
a.length<=w,a)};d.$parsers.push(e);d.$formatters.push(e)}}function Wb(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;d<a.length;d++){for(var e=a[d],l=0;l<b.length;l++)if(e==b[l])continue a;c.push(e)}return c}function e(a){if(!L(a)){if(G(a))return a.split(" ");if(T(a)){var b=[];r(a,function(a,c){a&&(b=b.concat(c.split(" ")))});return b}}return a}return{restrict:"AC",link:function(f,g,h){function k(a,b){var c=g.data("$classCounts")||{},d=[];r(a,function(a){if(0< |
||||
b||c[a])c[a]=(c[a]||0)+b,c[a]===+(0<b)&&d.push(a)});g.data("$classCounts",c);return d.join(" ")}function m(b){if(!0===a||f.$index%2===a){var m=e(b||[]);if(!l){var p=k(m,1);h.$addClass(p)}else if(!Ca(b,l)){var s=e(l),p=d(m,s),m=d(s,m),m=k(m,-1),p=k(p,1);0===p.length?c.removeClass(g,m):0===m.length?c.addClass(g,p):c.setClass(g,p,m)}}l=ha(b)}var l;f.$watch(h[b],m,!0);h.$observe("class",function(a){m(f.$eval(h[b]))});"ngClass"!==b&&f.$watch("$index",function(c,d){var g=c&1;if(g!==(d&1)){var l=e(f.$eval(h[b])); |
||||
g===a?(g=k(l,1),h.$addClass(g)):(g=k(l,-1),h.$removeClass(g))}})}}}]}var Oe="validity",x=function(b){return G(b)?b.toLowerCase():b},lb=Object.prototype.hasOwnProperty,La=function(b){return G(b)?b.toUpperCase():b},R,A,Fa,wa=[].slice,Pe=[].push,Ba=Object.prototype.toString,Va=z("ng"),Xa=W.angular||(W.angular={}),$a,Pa,na=["0","0","0"];R=U((/msie (\d+)/.exec(x(navigator.userAgent))||[])[1]);isNaN(R)&&(R=U((/trident\/.*; rv:(\d+)/.exec(x(navigator.userAgent))||[])[1]));v.$inject=[];ga.$inject=[];var L= |
||||
function(){return N(Array.isArray)?Array.isArray:function(b){return"[object Array]"===Ba.call(b)}}(),$=function(){return String.prototype.trim?function(b){return G(b)?b.trim():b}:function(b){return G(b)?b.replace(/^\s\s*/,"").replace(/\s\s*$/,""):b}}();Pa=9>R?function(b){b=b.nodeName?b:b[0];return b.scopeName&&"HTML"!=b.scopeName?La(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var Za=function(){if(D(Za.isActive_))return Za.isActive_;var b=!(!X.querySelector("[ng-csp]")&& |
||||
!X.querySelector("[data-ng-csp]"));if(!b)try{new Function("")}catch(a){b=!0}return Za.isActive_=b},Xc=/[A-Z]/g,$c={full:"1.2.28",major:1,minor:2,dot:28,codeName:"finnish-disembarkation"};S.expando="ng339";var cb=S.cache={},me=1,sb=W.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},bb=W.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)};S._data=function(b){return this.cache[b[this.expando]]|| |
||||
{}};var he=/([\:\-\_]+(.))/g,ie=/^moz([A-Z])/,Hb=z("jqLite"),je=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,Ib=/<|&#?\w+;/,ke=/<([\w:]+)/,le=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,da={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,"",""]};da.optgroup=da.option;da.tbody=da.tfoot=da.colgroup= |
||||
da.caption=da.thead;da.th=da.td;var Oa=S.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===X.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),S(W).on("load",a))},toString:function(){var b=[];r(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?A(this[b]):A(this[this.length+b])},length:0,push:Pe,sort:[].sort,splice:[].splice},rb={};r("multiple selected checked disabled readOnly required open".split(" "),function(b){rb[x(b)]=b}); |
||||
var pc={};r("input select option textarea button form details".split(" "),function(b){pc[La(b)]=!0});r({data:Mb,removeData:Lb},function(b,a){S[a]=b});r({data:Mb,inheritedData:qb,scope:function(b){return A.data(b,"$scope")||qb(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return A.data(b,"$isolateScope")||A.data(b,"$isolateScopeNoTemplate")},controller:mc,injector:function(b){return qb(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Nb,css:function(b, |
||||
a,c){a=ab(a);if(D(c))b.style[a]=c;else{var d;8>=R&&(d=b.currentStyle&&b.currentStyle[a],""===d&&(d="auto"));d=d||b.style[a];8>=R&&(d=""===d?u:d);return d}},attr:function(b,a,c){var d=x(a);if(rb[d])if(D(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||v).specified?d:u;else if(D(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?u:b},prop:function(b,a,c){if(D(c))b[a]=c;else return b[a]},text:function(){function b(b, |
||||
d){var e=a[b.nodeType];if(F(d))return e?b[e]:"";b[e]=d}var a=[];9>R?(a[1]="innerText",a[3]="nodeValue"):a[1]=a[3]="textContent";b.$dv="";return b}(),val:function(b,a){if(F(a)){if("SELECT"===Pa(b)&&b.multiple){var c=[];r(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(F(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)Ma(d[c]);b.innerHTML=a},empty:nc},function(b,a){S.prototype[a]=function(a,d){var e, |
||||
f,g=this.length;if(b!==nc&&(2==b.length&&b!==Nb&&b!==mc?a:d)===u){if(T(a)){for(e=0;e<g;e++)if(b===Mb)b(this[e],a);else for(f in a)b(this[e],f,a[f]);return this}e=b.$dv;g=e===u?Math.min(g,1):g;for(f=0;f<g;f++){var h=b(this[f],a,d);e=e?e+h:h}return e}for(e=0;e<g;e++)b(this[e],a,d);return this}});r({removeData:Lb,dealoc:Ma,on:function a(c,d,e,f){if(D(f))throw Hb("onargs");var g=pa(c,"events"),h=pa(c,"handle");g||pa(c,"events",g={});h||pa(c,"handle",h=ne(c,g));r(d.split(" "),function(d){var f=g[d];if(!f){if("mouseenter"== |
||||
d||"mouseleave"==d){var l=X.body.contains||X.body.compareDocumentPosition?function(a,c){var d=9===a.nodeType?a.documentElement:a,e=c&&c.parentNode;return a===e||!!(e&&1===e.nodeType&&(d.contains?d.contains(e):a.compareDocumentPosition&&a.compareDocumentPosition(e)&16))}:function(a,c){if(c)for(;c=c.parentNode;)if(c===a)return!0;return!1};g[d]=[];a(c,{mouseleave:"mouseout",mouseenter:"mouseover"}[d],function(a){var c=a.relatedTarget;c&&(c===this||l(this,c))||h(a,d)})}else sb(c,d,h),g[d]=[];f=g[d]}f.push(e)})}, |
||||
off:lc,one:function(a,c,d){a=A(a);a.on(c,function f(){a.off(c,d);a.off(c,f)});a.on(c,d)},replaceWith:function(a,c){var d,e=a.parentNode;Ma(a);r(new S(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=[];r(a.childNodes,function(a){1===a.nodeType&&c.push(a)});return c},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,c){r(new S(c),function(c){1!==a.nodeType&&11!==a.nodeType||a.appendChild(c)})},prepend:function(a, |
||||
c){if(1===a.nodeType){var d=a.firstChild;r(new S(c),function(c){a.insertBefore(c,d)})}},wrap:function(a,c){c=A(c)[0];var d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:function(a){Ma(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,c){var d=a,e=a.parentNode;r(new S(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:pb,removeClass:ob,toggleClass:function(a,c,d){c&&r(c.split(" "),function(c){var f=d;F(f)&&(f=!Nb(a,c));(f?pb:ob)(a,c)})},parent:function(a){return(a= |
||||
a.parentNode)&&11!==a.nodeType?a:null},next:function(a){if(a.nextElementSibling)return a.nextElementSibling;for(a=a.nextSibling;null!=a&&1!==a.nodeType;)a=a.nextSibling;return a},find:function(a,c){return a.getElementsByTagName?a.getElementsByTagName(c):[]},clone:Kb,triggerHandler:function(a,c,d){var e,f;e=c.type||c;var g=(pa(a,"events")||{})[e];g&&(e={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopPropagation:v,type:e,target:a}, |
||||
c.type&&(e=E(e,c)),c=ha(g),f=d?[e].concat(d):[e],r(c,function(c){c.apply(a,f)}))}},function(a,c){S.prototype[c]=function(c,e,f){for(var g,h=0;h<this.length;h++)F(g)?(g=a(this[h],c,e,f),D(g)&&(g=A(g))):Jb(g,a(this[h],c,e,f));return D(g)?g:this};S.prototype.bind=S.prototype.on;S.prototype.unbind=S.prototype.off});db.prototype={put:function(a,c){this[Na(a,this.nextUid)]=c},get:function(a){return this[Na(a,this.nextUid)]},remove:function(a){var c=this[a=Na(a,this.nextUid)];delete this[a];return c}};var pe= |
||||
/^function\s*[^\(]*\(\s*([^\)]*)\)/m,qe=/,/,re=/^\s*(_?)(\S+?)\1\s*$/,oe=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,eb=z("$injector"),Qe=z("$animate"),Ld=["$provide",function(a){this.$$selectors={};this.register=function(c,d){var e=c+"-animation";if(c&&"."!=c.charAt(0))throw Qe("notcsel",c);this.$$selectors[c.substr(1)]=e;a.factory(e,d)};this.classNameFilter=function(a){1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null);return this.$$classNameFilter};this.$get=["$timeout","$$asyncCallback", |
||||
function(a,d){return{enter:function(a,c,g,h){g?g.after(a):(c&&c[0]||(c=g.parent()),c.append(a));h&&d(h)},leave:function(a,c){a.remove();c&&d(c)},move:function(a,c,d,h){this.enter(a,c,d,h)},addClass:function(a,c,g){c=G(c)?c:L(c)?c.join(" "):"";r(a,function(a){pb(a,c)});g&&d(g)},removeClass:function(a,c,g){c=G(c)?c:L(c)?c.join(" "):"";r(a,function(a){ob(a,c)});g&&d(g)},setClass:function(a,c,g,h){r(a,function(a){pb(a,c);ob(a,g)});h&&d(h)},enabled:v}}]}],ja=z("$compile");gc.$inject=["$provide","$$sanitizeUriProvider"]; |
||||
var we=/^(x[\:\-_]|data[\:\-_])/i,wc=z("$interpolate"),Re=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,ze={http:80,https:443,ftp:21},Sb=z("$location");Ac.prototype=Tb.prototype=zc.prototype={$$html5:!1,$$replace:!1,absUrl:tb("$$absUrl"),url:function(a){if(F(a))return this.$$url;a=Re.exec(a);a[1]&&this.path(decodeURIComponent(a[1]));(a[2]||a[1])&&this.search(a[3]||"");this.hash(a[5]||"");return this},protocol:tb("$$protocol"),host:tb("$$host"),port:tb("$$port"),path:Bc("$$path",function(a){a=null!==a?a.toString(): |
||||
"";return"/"==a.charAt(0)?a:"/"+a}),search:function(a,c){switch(arguments.length){case 0:return this.$$search;case 1:if(G(a)||jb(a))a=a.toString(),this.$$search=cc(a);else if(T(a))r(a,function(c,e){null==c&&delete a[e]}),this.$$search=a;else throw Sb("isrcharg");break;default:F(c)||null===c?delete this.$$search[a]:this.$$search[a]=c}this.$$compose();return this},hash:Bc("$$hash",function(a){return null!==a?a.toString():""}),replace:function(){this.$$replace=!0;return this}};var la=z("$parse"),Ec= |
||||
{},ya,Se=Function.prototype.call,Te=Function.prototype.apply,Pc=Function.prototype.bind,hb={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:v,"+":function(a,c,d,e){d=d(a,c);e=e(a,c);return D(d)?D(e)?d+e:d:D(e)?e:u},"-":function(a,c,d,e){d=d(a,c);e=e(a,c);return(D(d)?d:0)-(D(e)?e:0)},"*":function(a,c,d,e){return d(a,c)*e(a,c)},"/":function(a,c,d,e){return d(a,c)/e(a,c)},"%":function(a,c,d,e){return d(a,c)%e(a,c)},"^":function(a,c,d,e){return d(a,c)^ |
||||
e(a,c)},"=":v,"===":function(a,c,d,e){return d(a,c)===e(a,c)},"!==":function(a,c,d,e){return d(a,c)!==e(a,c)},"==":function(a,c,d,e){return d(a,c)==e(a,c)},"!=":function(a,c,d,e){return d(a,c)!=e(a,c)},"<":function(a,c,d,e){return d(a,c)<e(a,c)},">":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a, |
||||
c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Ue={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},Ub=function(a){this.options=a};Ub.prototype={constructor:Ub,lex:function(a){this.text=a;this.index=0;this.ch=u;this.lastCh=":";for(this.tokens=[];this.index<this.text.length;){this.ch=this.text.charAt(this.index);if(this.is("\"'"))this.readString(this.ch);else if(this.isNumber(this.ch)||this.is(".")&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(this.ch))this.readIdent(); |
||||
else if(this.is("(){}[].,;:?"))this.tokens.push({index:this.index,text:this.ch}),this.index++;else if(this.isWhitespace(this.ch)){this.index++;continue}else{a=this.ch+this.peek();var c=a+this.peek(2),d=hb[this.ch],e=hb[a],f=hb[c];f?(this.tokens.push({index:this.index,text:c,fn:f}),this.index+=3):e?(this.tokens.push({index:this.index,text:a,fn:e}),this.index+=2):d?(this.tokens.push({index:this.index,text:this.ch,fn:d}),this.index+=1):this.throwError("Unexpected next character ",this.index,this.index+ |
||||
1)}this.lastCh=this.ch}return this.tokens},is:function(a){return-1!==a.indexOf(this.ch)},was:function(a){return-1!==a.indexOf(this.lastCh)},peek:function(a){a=a||1;return this.index+a<this.text.length?this.text.charAt(this.index+a):!1},isNumber:function(a){return"0"<=a&&"9">=a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)}, |
||||
throwError:function(a,c,d){d=d||this.index;c=D(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw la("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index<this.text.length;){var d=x(this.text.charAt(this.index));if("."==d||this.isNumber(d))a+=d;else{var e=this.peek();if("e"==d&&this.isExpOperator(e))a+=d;else if(this.isExpOperator(d)&&e&&this.isNumber(e)&&"e"==a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||e&&this.isNumber(e)||"e"!=a.charAt(a.length- |
||||
1))break;else this.throwError("Invalid exponent")}this.index++}a*=1;this.tokens.push({index:c,text:a,literal:!0,constant:!0,fn:function(){return a}})},readIdent:function(){for(var a=this,c="",d=this.index,e,f,g,h;this.index<this.text.length;){h=this.text.charAt(this.index);if("."===h||this.isIdent(h)||this.isNumber(h))"."===h&&(e=this.index),c+=h;else break;this.index++}if(e)for(f=this.index;f<this.text.length;){h=this.text.charAt(f);if("("===h){g=c.substr(e-d+1);c=c.substr(0,e-d);this.index=f;break}if(this.isWhitespace(h))f++; |
||||
else break}d={index:d,text:c};if(hb.hasOwnProperty(c))d.fn=hb[c],d.literal=!0,d.constant=!0;else{var k=Dc(c,this.options,this.text);d.fn=E(function(a,c){return k(a,c)},{assign:function(d,e){return ub(d,c,e,a.text,a.options)}})}this.tokens.push(d);g&&(this.tokens.push({index:e,text:"."}),this.tokens.push({index:e+1,text:g}))},readString:function(a){var c=this.index;this.index++;for(var d="",e=a,f=!1;this.index<this.text.length;){var g=this.text.charAt(this.index),e=e+g;if(f)"u"===g?(f=this.text.substring(this.index+ |
||||
1,this.index+5),f.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+f+"]"),this.index+=4,d+=String.fromCharCode(parseInt(f,16))):d+=Ue[g]||g,f=!1;else if("\\"===g)f=!0;else{if(g===a){this.index++;this.tokens.push({index:c,text:e,string:d,literal:!0,constant:!0,fn:function(){return d}});return}d+=g}this.index++}this.throwError("Unterminated quote",c)}};var gb=function(a,c,d){this.lexer=a;this.$filter=c;this.options=d};gb.ZERO=E(function(){return 0},{constant:!0});gb.prototype={constructor:gb, |
||||
parse:function(a){this.text=a;this.tokens=this.lexer.lex(a);a=this.statements();0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]);a.literal=!!a.literal;a.constant=!!a.constant;return a},primary:function(){var a;if(this.expect("("))a=this.filterChain(),this.consume(")");else if(this.expect("["))a=this.arrayDeclaration();else if(this.expect("{"))a=this.object();else{var c=this.expect();(a=c.fn)||this.throwError("not a primary expression",c);a.literal=!!c.literal;a.constant= |
||||
!!c.constant}for(var d;c=this.expect("(","[",".");)"("===c.text?(a=this.functionCall(a,d),d=null):"["===c.text?(d=a,a=this.objectIndex(a)):"."===c.text?(d=a,a=this.fieldAccess(a)):this.throwError("IMPOSSIBLE");return a},throwError:function(a,c){throw la("syntax",c.text,a,c.index+1,this.text,this.text.substring(c.index));},peekToken:function(){if(0===this.tokens.length)throw la("ueoe",this.text);return this.tokens[0]},peek:function(a,c,d,e){if(0<this.tokens.length){var f=this.tokens[0],g=f.text;if(g=== |
||||
a||g===c||g===d||g===e||!(a||c||d||e))return f}return!1},expect:function(a,c,d,e){return(a=this.peek(a,c,d,e))?(this.tokens.shift(),a):!1},consume:function(a){this.expect(a)||this.throwError("is unexpected, expecting ["+a+"]",this.peek())},unaryFn:function(a,c){return E(function(d,e){return a(d,e,c)},{constant:c.constant})},ternaryFn:function(a,c,d){return E(function(e,f){return a(e,f)?c(e,f):d(e,f)},{constant:a.constant&&c.constant&&d.constant})},binaryFn:function(a,c,d){return E(function(e,f){return c(e, |
||||
f,a,d)},{constant:a.constant&&d.constant})},statements:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.filterChain()),!this.expect(";"))return 1===a.length?a[0]:function(c,d){for(var e,f=0;f<a.length;f++){var g=a[f];g&&(e=g(c,d))}return e}},filterChain:function(){for(var a=this.expression(),c;;)if(c=this.expect("|"))a=this.binaryFn(a,c.fn,this.filter());else return a},filter:function(){for(var a=this.expect(),c=this.$filter(a.text),d=[];;)if(a=this.expect(":"))d.push(this.expression()); |
||||
else{var e=function(a,e,h){h=[h];for(var k=0;k<d.length;k++)h.push(d[k](a,e));return c.apply(a,h)};return function(){return e}}},expression:function(){return this.assignment()},assignment:function(){var a=this.ternary(),c,d;return(d=this.expect("="))?(a.assign||this.throwError("implies assignment but ["+this.text.substring(0,d.index)+"] can not be assigned to",d),c=this.ternary(),function(d,f){return a.assign(d,c(d,f),f)}):a},ternary:function(){var a=this.logicalOR(),c,d;if(this.expect("?")){c=this.assignment(); |
||||
if(d=this.expect(":"))return this.ternaryFn(a,c,this.assignment());this.throwError("expected :",d)}else return a},logicalOR:function(){for(var a=this.logicalAND(),c;;)if(c=this.expect("||"))a=this.binaryFn(a,c.fn,this.logicalAND());else return a},logicalAND:function(){var a=this.equality(),c;if(c=this.expect("&&"))a=this.binaryFn(a,c.fn,this.logicalAND());return a},equality:function(){var a=this.relational(),c;if(c=this.expect("==","!=","===","!=="))a=this.binaryFn(a,c.fn,this.equality());return a}, |
||||
relational:function(){var a=this.additive(),c;if(c=this.expect("<",">","<=",">="))a=this.binaryFn(a,c.fn,this.relational());return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(gb.ZERO,a.fn, |
||||
this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=this,d=this.expect().text,e=Dc(d,this.options,this.text);return E(function(c,d,h){return e(h||a(c,d))},{assign:function(e,g,h){(h=a(e,h))||a.assign(e,h={});return ub(h,d,g,c.text,c.options)}})},objectIndex:function(a){var c=this,d=this.expression();this.consume("]");return E(function(e,f){var g=a(e,f),h=d(e,f),k;ka(h,c.text);if(!g)return u;(g=ma(g[h],c.text))&&(g.then&&c.options.unwrapPromises)&& |
||||
(k=g,"$$v"in g||(k.$$v=u,k.then(function(a){k.$$v=a})),g=g.$$v);return g},{assign:function(e,f,g){var h=ka(d(e,g),c.text);(g=ma(a(e,g),c.text))||a.assign(e,g={});return g[h]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text){do d.push(this.expression());while(this.expect(","))}this.consume(")");var e=this;return function(f,g){for(var h=[],k=c?c(f,g):f,m=0;m<d.length;m++)h.push(ma(d[m](f,g),e.text));m=a(f,g,k)||v;ma(k,e.text);var l=e.text;if(m){if(m.constructor===m)throw la("isecfn", |
||||
l);if(m===Se||m===Te||Pc&&m===Pc)throw la("isecff",l);}h=m.apply?m.apply(k,h):m(h[0],h[1],h[2],h[3],h[4]);return ma(h,e.text)}},arrayDeclaration:function(){var a=[],c=!0;if("]"!==this.peekToken().text){do{if(this.peek("]"))break;var d=this.expression();a.push(d);d.constant||(c=!1)}while(this.expect(","))}this.consume("]");return E(function(c,d){for(var g=[],h=0;h<a.length;h++)g.push(a[h](c,d));return g},{literal:!0,constant:c})},object:function(){var a=[],c=!0;if("}"!==this.peekToken().text){do{if(this.peek("}"))break; |
||||
var d=this.expect(),d=d.string||d.text;this.consume(":");var e=this.expression();a.push({key:d,value:e});e.constant||(c=!1)}while(this.expect(","))}this.consume("}");return E(function(c,d){for(var e={},k=0;k<a.length;k++){var m=a[k];e[m.key]=m.value(c,d)}return e},{literal:!0,constant:c})}};var Ce={},Be={},za=z("$sce"),fa={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Y=X.createElement("a"),Gc=xa(W.location.href,!0);kc.$inject=["$provide"];Hc.$inject=["$locale"];Jc.$inject=["$locale"]; |
||||
var Mc=".",Me={yyyy:Z("FullYear",4),yy:Z("FullYear",2,0,!0),y:Z("FullYear",1),MMMM:vb("Month"),MMM:vb("Month",!0),MM:Z("Month",2,1),M:Z("Month",1,1),dd:Z("Date",2),d:Z("Date",1),HH:Z("Hours",2),H:Z("Hours",1),hh:Z("Hours",2,-12),h:Z("Hours",1,-12),mm:Z("Minutes",2),m:Z("Minutes",1),ss:Z("Seconds",2),s:Z("Seconds",1),sss:Z("Milliseconds",3),EEEE:vb("Day"),EEE:vb("Day",!0),a:function(a,c){return 12>a.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=-1*a.getTimezoneOffset();return a=(0<=a?"+":"")+(Vb(Math[0< |
||||
a?"floor":"ceil"](a/60),2)+Vb(Math.abs(a%60),2))}},Le=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,Ke=/^\-?\d+$/;Ic.$inject=["$locale"];var Ie=aa(x),Je=aa(La);Kc.$inject=["$parse"];var cd=aa({restrict:"E",compile:function(a,c){8>=R&&(c.href||c.name||c.$set("href",""),a.append(X.createComment("IE fix")));if(!c.href&&!c.xlinkHref&&!c.name)return function(a,c){var f="[object SVGAnimatedString]"===Ba.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(f)|| |
||||
a.preventDefault()})}}}),Fb={};r(rb,function(a,c){if("multiple"!=a){var d=qa("ng-"+c);Fb[d]=function(){return{priority:100,link:function(a,f,g){a.$watch(g[d],function(a){g.$set(c,!!a)})}}}}});r(["src","srcset","href"],function(a){var c=qa("ng-"+a);Fb[c]=function(){return{priority:99,link:function(d,e,f){var g=a,h=a;"href"===a&&"[object SVGAnimatedString]"===Ba.call(e.prop("href"))&&(h="xlinkHref",f.$attr[h]="xlink:href",g=null);f.$observe(c,function(c){c?(f.$set(h,c),R&&g&&e.prop(g,f[h])):"href"=== |
||||
a&&f.$set(h,null)})}}}});var yb={$addControl:v,$removeControl:v,$setValidity:v,$setDirty:v,$setPristine:v};Nc.$inject=["$element","$attrs","$scope","$animate"];var Qc=function(a){return["$timeout",function(c){return{name:"form",restrict:a?"EAC":"E",controller:Nc,compile:function(){return{pre:function(a,e,f,g){if(!f.action){var h=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};sb(e[0],"submit",h);e.on("$destroy",function(){c(function(){bb(e[0],"submit",h)},0,!1)})}var k=e.parent().controller("form"), |
||||
m=f.name||f.ngForm;m&&ub(a,m,g,m);if(k)e.on("$destroy",function(){k.$removeControl(g);m&&ub(a,m,u,m);E(g,yb)})}}}}}]},dd=Qc(),qd=Qc(!0),Ve=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,We=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Xe=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Rc={text:Ab,number:function(a,c,d,e,f,g){Ab(a,c,d,e,f,g);e.$parsers.push(function(a){var c=e.$isEmpty(a);if(c||Xe.test(a))return e.$setValidity("number", |
||||
!0),""===a?null:c?a:parseFloat(a);e.$setValidity("number",!1);return u});Ne(e,"number",Ye,null,e.$$validityState);e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a});d.min&&(a=function(a){var c=parseFloat(d.min);return ua(e,"min",e.$isEmpty(a)||a>=c,a)},e.$parsers.push(a),e.$formatters.push(a));d.max&&(a=function(a){var c=parseFloat(d.max);return ua(e,"max",e.$isEmpty(a)||a<=c,a)},e.$parsers.push(a),e.$formatters.push(a));e.$formatters.push(function(a){return ua(e,"number",e.$isEmpty(a)|| |
||||
jb(a),a)})},url:function(a,c,d,e,f,g){Ab(a,c,d,e,f,g);a=function(a){return ua(e,"url",e.$isEmpty(a)||Ve.test(a),a)};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,f,g){Ab(a,c,d,e,f,g);a=function(a){return ua(e,"email",e.$isEmpty(a)||We.test(a),a)};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){F(d.name)&&c.attr("name",ib());c.on("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=d.value==e.$viewValue}; |
||||
d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var f=d.ngTrueValue,g=d.ngFalseValue;G(f)||(f=!0);G(g)||(g=!1);c.on("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return a!==f};e.$formatters.push(function(a){return a===f});e.$parsers.push(function(a){return a?f:g})},hidden:v,button:v,submit:v,reset:v,file:v},Ye=["badInput"],hc=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel", |
||||
link:function(d,e,f,g){g&&(Rc[x(f.type)]||Rc.text)(d,e,f,g,c,a)}}}],wb="ng-valid",xb="ng-invalid",Ra="ng-pristine",zb="ng-dirty",Ze=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate",function(a,c,d,e,f,g){function h(a,c){c=c?"-"+nb(c,"-"):"";g.removeClass(e,(a?xb:wb)+c);g.addClass(e,(a?wb:xb)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$name= |
||||
d.name;var k=f(d.ngModel),m=k.assign;if(!m)throw z("ngModel")("nonassign",d.ngModel,ia(e));this.$render=v;this.$isEmpty=function(a){return F(a)||""===a||null===a||a!==a};var l=e.inheritedData("$formController")||yb,n=0,q=this.$error={};e.addClass(Ra);h(!0);this.$setValidity=function(a,c){q[a]!==!c&&(c?(q[a]&&n--,n||(h(!0),this.$valid=!0,this.$invalid=!1)):(h(!1),this.$invalid=!0,this.$valid=!1,n++),q[a]=!c,h(c,a),l.$setValidity(a,c,this))};this.$setPristine=function(){this.$dirty=!1;this.$pristine= |
||||
!0;g.removeClass(e,zb);g.addClass(e,Ra)};this.$setViewValue=function(d){this.$viewValue=d;this.$pristine&&(this.$dirty=!0,this.$pristine=!1,g.removeClass(e,Ra),g.addClass(e,zb),l.$setDirty());r(this.$parsers,function(a){d=a(d)});this.$modelValue!==d&&(this.$modelValue=d,m(a,d),r(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}}))};var p=this;a.$watch(function(){var c=k(a);if(p.$modelValue!==c){var d=p.$formatters,e=d.length;for(p.$modelValue=c;e--;)c=d[e](c);p.$viewValue!==c&&(p.$viewValue= |
||||
c,p.$render())}return c})}],Fd=function(){return{require:["ngModel","^?form"],controller:Ze,link:function(a,c,d,e){var f=e[0],g=e[1]||yb;g.$addControl(f);a.$on("$destroy",function(){g.$removeControl(f)})}}},Hd=aa({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),ic=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required=!0;var f=function(a){if(d.required&&e.$isEmpty(a))e.$setValidity("required",!1);else return e.$setValidity("required", |
||||
!0),a};e.$formatters.push(f);e.$parsers.unshift(f);d.$observe("required",function(){f(e.$viewValue)})}}}},Gd=function(){return{require:"ngModel",link:function(a,c,d,e){var f=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",";e.$parsers.push(function(a){if(!F(a)){var c=[];a&&r(a.split(f),function(a){a&&c.push($(a))});return c}});e.$formatters.push(function(a){return L(a)?a.join(", "):u});e.$isEmpty=function(a){return!a||!a.length}}}},$e=/^(true|false|\d+)$/,Id=function(){return{priority:100, |
||||
compile:function(a,c){return $e.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},id=Aa({compile:function(a){a.addClass("ng-binding");return function(a,d,e){d.data("$binding",e.ngBind);a.$watch(e.ngBind,function(a){d.text(a==u?"":a)})}}}),kd=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}], |
||||
jd=["$sce","$parse",function(a,c){return{compile:function(d){d.addClass("ng-binding");return function(d,f,g){f.data("$binding",g.ngBindHtml);var h=c(g.ngBindHtml);d.$watch(function(){return(h(d)||"").toString()},function(c){f.html(a.getTrustedHtml(h(d))||"")})}}}}],ld=Wb("",!0),nd=Wb("Odd",0),md=Wb("Even",1),od=Aa({compile:function(a,c){c.$set("ngCloak",u);a.removeClass("ng-cloak")}}),pd=[function(){return{scope:!0,controller:"@",priority:500}}],jc={},af={blur:!0,focus:!0};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "), |
||||
function(a){var c=qa("ng-"+a);jc[c]=["$parse","$rootScope",function(d,e){return{compile:function(f,g){var h=d(g[c],!0);return function(c,d){d.on(a,function(d){var f=function(){h(c,{$event:d})};af[a]&&e.$$phase?c.$evalAsync(f):c.$apply(f)})}}}}]});var sd=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,k,m;c.$watch(e.ngIf,function(f){Wa(f)?k||(k=c.$new(),g(k,function(c){c[c.length++]=X.createComment(" end ngIf: "+e.ngIf+ |
||||
" ");h={clone:c};a.enter(c,d.parent(),d)})):(m&&(m.remove(),m=null),k&&(k.$destroy(),k=null),h&&(m=Eb(h.clone),a.leave(m,function(){m=null}),h=null))})}}}],td=["$http","$templateCache","$anchorScroll","$animate","$sce",function(a,c,d,e,f){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Xa.noop,compile:function(g,h){var k=h.ngInclude||h.src,m=h.onload||"",l=h.autoscroll;return function(g,h,p,r,J){var w=0,t,y,u,B=function(){y&&(y.remove(),y=null);t&&(t.$destroy(),t=null); |
||||
u&&(e.leave(u,function(){y=null}),y=u,u=null)};g.$watch(f.parseAsResourceUrl(k),function(f){var k=function(){!D(l)||l&&!g.$eval(l)||d()},p=++w;f?(a.get(f,{cache:c}).success(function(a){if(p===w){var c=g.$new();r.template=a;a=J(c,function(a){B();e.enter(a,null,h,k)});t=c;u=a;t.$emit("$includeContentLoaded");g.$eval(m)}}).error(function(){p===w&&B()}),g.$emit("$includeContentRequested")):(B(),r.template=null)})}}}}],Jd=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude", |
||||
link:function(c,d,e,f){d.html(f.template);a(d.contents())(c)}}}],ud=Aa({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),vd=Aa({terminal:!0,priority:1E3}),wd=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,f,g){var h=g.count,k=g.$attr.when&&f.attr(g.$attr.when),m=g.offset||0,l=e.$eval(k)||{},n={},q=c.startSymbol(),p=c.endSymbol(),s=/^when(Minus)?(.+)$/;r(g,function(a,c){s.test(c)&&(l[x(c.replace("when","").replace("Minus","-"))]= |
||||
f.attr(g.$attr[c]))});r(l,function(a,e){n[e]=c(a.replace(d,q+h+"-"+m+p))});e.$watch(function(){var c=parseFloat(e.$eval(h));if(isNaN(c))return"";c in l||(c=a.pluralCat(c-m));return n[c](e,f,!0)},function(a){f.text(a)})}}}],xd=["$parse","$animate",function(a,c){var d=z("ngRepeat");return{transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,link:function(e,f,g,h,k){var m=g.ngRepeat,l=m.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),n,q,p,s,u,w,t={$id:Na};if(!l)throw d("iexp", |
||||
m);g=l[1];h=l[2];(l=l[3])?(n=a(l),q=function(a,c,d){w&&(t[w]=a);t[u]=c;t.$index=d;return n(e,t)}):(p=function(a,c){return Na(c)},s=function(a){return a});l=g.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!l)throw d("iidexp",g);u=l[3]||l[1];w=l[2];var y={};e.$watchCollection(h,function(a){var g,h,l=f[0],n,t={},D,C,I,x,G,v,z,F=[];if(Sa(a))v=a,G=q||p;else{G=q||s;v=[];for(I in a)a.hasOwnProperty(I)&&"$"!=I.charAt(0)&&v.push(I);v.sort()}D=v.length;h=F.length=v.length;for(g=0;g<h;g++)if(I=a=== |
||||
v?g:v[g],x=a[I],n=G(I,x,g),Ea(n,"`track by` id"),y.hasOwnProperty(n))z=y[n],delete y[n],t[n]=z,F[g]=z;else{if(t.hasOwnProperty(n))throw r(F,function(a){a&&a.scope&&(y[a.id]=a)}),d("dupes",m,n,oa(x));F[g]={id:n};t[n]=!1}for(I in y)y.hasOwnProperty(I)&&(z=y[I],g=Eb(z.clone),c.leave(g),r(g,function(a){a.$$NG_REMOVED=!0}),z.scope.$destroy());g=0;for(h=v.length;g<h;g++){I=a===v?g:v[g];x=a[I];z=F[g];F[g-1]&&(l=F[g-1].clone[F[g-1].clone.length-1]);if(z.scope){C=z.scope;n=l;do n=n.nextSibling;while(n&&n.$$NG_REMOVED); |
||||
z.clone[0]!=n&&c.move(Eb(z.clone),null,A(l));l=z.clone[z.clone.length-1]}else C=e.$new();C[u]=x;w&&(C[w]=I);C.$index=g;C.$first=0===g;C.$last=g===D-1;C.$middle=!(C.$first||C.$last);C.$odd=!(C.$even=0===(g&1));z.scope||k(C,function(a){a[a.length++]=X.createComment(" end ngRepeat: "+m+" ");c.enter(a,null,A(l));l=a;z.scope=C;z.clone=a;t[z.id]=z})}y=t})}}}],yd=["$animate",function(a){return function(c,d,e){c.$watch(e.ngShow,function(c){a[Wa(c)?"removeClass":"addClass"](d,"ng-hide")})}}],rd=["$animate", |
||||
function(a){return function(c,d,e){c.$watch(e.ngHide,function(c){a[Wa(c)?"addClass":"removeClass"](d,"ng-hide")})}}],zd=Aa(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&r(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Ad=["$animate",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,f){var g=[],h=[],k=[],m=[];c.$watch(e.ngSwitch||e.on,function(d){var n,q;n=0;for(q=k.length;n<q;++n)k[n].remove();n=k.length=0;for(q= |
||||
m.length;n<q;++n){var p=h[n];m[n].$destroy();k[n]=p;a.leave(p,function(){k.splice(n,1)})}h.length=0;m.length=0;if(g=f.cases["!"+d]||f.cases["?"])c.$eval(e.change),r(g,function(d){var e=c.$new();m.push(e);d.transclude(e,function(c){var e=d.element;h.push(c);a.enter(c,e.parent(),e)})})})}}}],Bd=Aa({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["!"+d.ngSwitchWhen]=e.cases["!"+d.ngSwitchWhen]||[];e.cases["!"+d.ngSwitchWhen].push({transclude:f,element:c})}}),Cd= |
||||
Aa({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["?"]=e.cases["?"]||[];e.cases["?"].push({transclude:f,element:c})}}),Ed=Aa({link:function(a,c,d,e,f){if(!f)throw z("ngTransclude")("orphan",ia(c));f(function(a){c.empty();c.append(a)})}}),ed=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){"text/ng-template"==d.type&&a.put(d.id,c[0].text)}}}],bf=z("ngOptions"),Dd=aa({terminal:!0}),fd=["$compile","$parse",function(a,c){var d= |
||||
/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,e={$setViewValue:v};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,c,d){var k=this,m={},l=e,n;k.databound=d.ngModel;k.init=function(a,c,d){l=a;n=d};k.addOption=function(c){Ea(c,'"option value"');m[c]=!0;l.$viewValue==c&&(a.val(c),n.parent()&&n.remove())}; |
||||
k.removeOption=function(a){this.hasOption(a)&&(delete m[a],l.$viewValue==a&&this.renderUnknownOption(a))};k.renderUnknownOption=function(c){c="? "+Na(c)+" ?";n.val(c);a.prepend(n);a.val(c);n.prop("selected",!0)};k.hasOption=function(a){return m.hasOwnProperty(a)};c.$on("$destroy",function(){k.renderUnknownOption=v})}],link:function(e,g,h,k){function m(a,c,d,e){d.$render=function(){var a=d.$viewValue;e.hasOption(a)?(x.parent()&&x.remove(),c.val(a),""===a&&w.prop("selected",!0)):F(a)&&w?c.val(""):e.renderUnknownOption(a)}; |
||||
c.on("change",function(){a.$apply(function(){x.parent()&&x.remove();d.$setViewValue(c.val())})})}function l(a,c,d){var e;d.$render=function(){var a=new db(d.$viewValue);r(c.find("option"),function(c){c.selected=D(a.get(c.value))})};a.$watch(function(){Ca(e,d.$viewValue)||(e=ha(d.$viewValue),d.$render())});c.on("change",function(){a.$apply(function(){var a=[];r(c.find("option"),function(c){c.selected&&a.push(c.value)});d.$setViewValue(a)})})}function n(e,f,g){function h(){var a={"":[]},c=[""],d,k, |
||||
s,u,v;s=g.$modelValue;u=A(e)||[];var F=n?Xb(u):u,G,Q,C;Q={};C=!1;if(p)if(k=g.$modelValue,w&&L(k))for(C=new db([]),d={},v=0;v<k.length;v++)d[m]=k[v],C.put(w(e,d),k[v]);else C=new db(k);v=C;var E,K;for(C=0;G=F.length,C<G;C++){k=C;if(n){k=F[C];if("$"===k.charAt(0))continue;Q[n]=k}Q[m]=u[k];d=r(e,Q)||"";(k=a[d])||(k=a[d]=[],c.push(d));p?d=D(v.remove(w?w(e,Q):x(e,Q))):(w?(d={},d[m]=s,d=w(e,d)===w(e,Q)):d=s===x(e,Q),v=v||d);E=l(e,Q);E=D(E)?E:"";k.push({id:w?w(e,Q):n?F[C]:C,label:E,selected:d})}p||(z||null=== |
||||
s?a[""].unshift({id:"",label:"",selected:!v}):v||a[""].unshift({id:"?",label:"",selected:!0}));Q=0;for(F=c.length;Q<F;Q++){d=c[Q];k=a[d];B.length<=Q?(s={element:y.clone().attr("label",d),label:k.label},u=[s],B.push(u),f.append(s.element)):(u=B[Q],s=u[0],s.label!=d&&s.element.attr("label",s.label=d));E=null;C=0;for(G=k.length;C<G;C++)d=k[C],(v=u[C+1])?(E=v.element,v.label!==d.label&&(E.text(v.label=d.label),E.prop("label",v.label)),v.id!==d.id&&E.val(v.id=d.id),E[0].selected!==d.selected&&(E.prop("selected", |
||||
v.selected=d.selected),R&&E.prop("selected",v.selected))):(""===d.id&&z?K=z:(K=t.clone()).val(d.id).prop("selected",d.selected).attr("selected",d.selected).prop("label",d.label).text(d.label),u.push({element:K,label:d.label,id:d.id,selected:d.selected}),q.addOption(d.label,K),E?E.after(K):s.element.append(K),E=K);for(C++;u.length>C;)d=u.pop(),q.removeOption(d.label),d.element.remove()}for(;B.length>Q;)B.pop()[0].element.remove()}var k;if(!(k=s.match(d)))throw bf("iexp",s,ia(f));var l=c(k[2]||k[1]), |
||||
m=k[4]||k[6],n=k[5],r=c(k[3]||""),x=c(k[2]?k[1]:m),A=c(k[7]),w=k[8]?c(k[8]):null,B=[[{element:f,label:""}]];z&&(a(z)(e),z.removeClass("ng-scope"),z.remove());f.empty();f.on("change",function(){e.$apply(function(){var a,c=A(e)||[],d={},k,l,q,r,s,t,v;if(p)for(l=[],r=0,t=B.length;r<t;r++)for(a=B[r],q=1,s=a.length;q<s;q++){if((k=a[q].element)[0].selected){k=k.val();n&&(d[n]=k);if(w)for(v=0;v<c.length&&(d[m]=c[v],w(e,d)!=k);v++);else d[m]=c[k];l.push(x(e,d))}}else if(k=f.val(),"?"==k)l=u;else if(""=== |
||||
k)l=null;else if(w)for(v=0;v<c.length;v++){if(d[m]=c[v],w(e,d)==k){l=x(e,d);break}}else d[m]=c[k],n&&(d[n]=k),l=x(e,d);g.$setViewValue(l);h()})});g.$render=h;e.$watchCollection(A,h);e.$watchCollection(function(){var a={},c=A(e);if(c){for(var d=Array(c.length),f=0,g=c.length;f<g;f++)a[m]=c[f],d[f]=l(e,a);return d}},h);p&&e.$watchCollection(function(){return g.$modelValue},h)}if(k[1]){var q=k[0];k=k[1];var p=h.multiple,s=h.ngOptions,z=!1,w,t=A(X.createElement("option")),y=A(X.createElement("optgroup")), |
||||
x=t.clone();h=0;for(var B=g.children(),v=B.length;h<v;h++)if(""===B[h].value){w=z=B.eq(h);break}q.init(k,z,x);p&&(k.$isEmpty=function(a){return!a||0===a.length});s?n(e,g,k):p?l(e,g,k):m(e,g,k,q)}}}}],hd=["$interpolate",function(a){var c={addOption:v,removeOption:v};return{restrict:"E",priority:100,compile:function(d,e){if(F(e.value)){var f=a(d.text(),!0);f||e.$set("value",d.text())}return function(a,d,e){var m=d.parent(),l=m.data("$selectController")||m.parent().data("$selectController");l&&l.databound? |
||||
d.prop("selected",!1):l=c;f?a.$watch(f,function(a,c){e.$set("value",a);a!==c&&l.removeOption(c);l.addOption(a)}):l.addOption(e.value);d.on("$destroy",function(){l.removeOption(e.value)})}}}}],gd=aa({restrict:"E",terminal:!0});W.angular.bootstrap?console.log("WARNING: Tried to load angular more than once."):((Fa=W.jQuery)&&Fa.fn.on?(A=Fa,E(Fa.fn,{scope:Oa.scope,isolateScope:Oa.isolateScope,controller:Oa.controller,injector:Oa.injector,inheritedData:Oa.inheritedData}),Gb("remove",!0,!0,!1),Gb("empty", |
||||
!1,!1,!1),Gb("html",!1,!1,!0)):A=S,Xa.element=A,Zc(Xa),A(X).ready(function(){Wc(X,dc)}))})(window,document);!window.angular.$$csp()&&window.angular.element(document).find("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{display:none !important;}ng\\:form{display:block;}.ng-animate-block-transitions{transition:0s all!important;-webkit-transition:0s all!important;}.ng-hide-add-active,.ng-hide-remove{display:block!important;}</style>'); |
||||
//# sourceMappingURL=angular.min.js.map
|
@ -1 +0,0 @@ |
||||
d3.tip=function(){function t(t){v=d(t),w=v.createSVGPoint(),document.body.appendChild(x)}function e(){return"n"}function n(){return[0,0]}function r(){return" "}function o(){var t=y();return{top:t.n.y-x.offsetHeight,left:t.n.x-x.offsetWidth/2}}function l(){var t=y();return{top:t.s.y,left:t.s.x-x.offsetWidth/2}}function s(){var t=y();return{top:t.e.y-x.offsetHeight/2,left:t.e.x}}function f(){var t=y();return{top:t.w.y-x.offsetHeight/2,left:t.w.x-x.offsetWidth}}function i(){var t=y();return{top:t.nw.y-x.offsetHeight,left:t.nw.x-x.offsetWidth}}function u(){var t=y();return{top:t.ne.y-x.offsetHeight,left:t.ne.x}}function a(){var t=y();return{top:t.sw.y,left:t.sw.x-x.offsetWidth}}function c(){var t=y();return{top:t.se.y,left:t.e.x}}function p(){var t=d3.select(document.createElement("div"));return t.style({position:"absolute",opacity:0,pointerEvents:"none",boxSizing:"border-box"}),t.node()}function d(t){return t=t.node(),"svg"==t.tagName.toLowerCase()?t:t.ownerSVGElement}function y(){var t=T||d3.event.target,e={},n=t.getScreenCTM(),r=t.getBBox(),o=r.width,l=r.height,s=r.x,f=r.y,i=document.documentElement.scrollTop||document.body.scrollTop,u=document.documentElement.scrollLeft||document.body.scrollLeft;return w.x=s+u,w.y=f+i,e.nw=w.matrixTransform(n),w.x+=o,e.ne=w.matrixTransform(n),w.y+=l,e.se=w.matrixTransform(n),w.x-=o,e.sw=w.matrixTransform(n),w.y-=l/2,e.w=w.matrixTransform(n),w.x+=o,e.e=w.matrixTransform(n),w.x-=o/2,w.y-=l/2,e.n=w.matrixTransform(n),w.y+=l,e.s=w.matrixTransform(n),e}var m=e,g=n,h=r,x=p(),v=null,w=null,T=null;t.show=function(){var e=Array.prototype.slice.call(arguments);e[e.length-1]instanceof SVGElement&&(T=e.pop());var n,r=h.apply(this,e),o=g.apply(this,e),l=m.apply(this,e),s=d3.select(x),f=0;for(s.html(r).style({opacity:1,"pointer-events":"all"});f--;)s.classed(E[f],!1);return n=b.get(l).apply(this),s.classed(l,!0).style({top:n.top+o[0]+"px",left:n.left+o[1]+"px"}),t},t.hide=function(){return nodel=d3.select(x),nodel.style({opacity:0,"pointer-events":"none"}),t},t.attr=function(e){if(arguments.length<2&&"string"==typeof e)return d3.select(x).attr(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.attr.apply(d3.select(x),n),t},t.style=function(e){if(arguments.length<2&&"string"==typeof e)return d3.select(x).style(e);var n=Array.prototype.slice.call(arguments);return d3.selection.prototype.style.apply(d3.select(x),n),t},t.direction=function(e){return arguments.length?(m=null==e?e:d3.functor(e),t):m},t.offset=function(e){return arguments.length?(g=null==e?e:d3.functor(e),t):g},t.html=function(e){return arguments.length?(h=null==e?e:d3.functor(e),t):h};var b=d3.map({n:o,s:l,e:s,w:f,nw:i,ne:u,sw:a,se:c}),E=b.keys();return t}; |
@ -1,101 +0,0 @@ |
||||
/** |
||||
* @license |
||||
* lodash 3.9.0 (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE |
||||
* Build: `lodash compat -o ./lodash.js` |
||||
*/ |
||||
;(function(){function n(n,t){if(n!==t){var r=null===n,e=n===m,u=n===n,o=null===t,i=t===m,a=t===t;if(n>t&&!o||!u||r&&!i&&a||e&&a)return 1;if(n<t&&!r||!a||o&&!e&&u||i&&u)return-1}return 0}function t(n,t,r){for(var e=n.length,u=r?e:-1;r?u--:++u<e;)if(t(n[u],u,n))return u;return-1}function r(n,t,r){if(t!==t)return s(n,r);r-=1;for(var e=n.length;++r<e;)if(n[r]===t)return r;return-1}function e(n){return typeof n=="function"||false}function u(n){return typeof n=="string"?n:null==n?"":n+""}function o(n,t){for(var r=-1,e=n.length;++r<e&&-1<t.indexOf(n.charAt(r));); |
||||
return r}function i(n,t){for(var r=n.length;r--&&-1<t.indexOf(n.charAt(r)););return r}function a(t,r){return n(t.a,r.a)||t.b-r.b}function l(n){return Ln[n]}function f(n){return Pn[n]}function c(n){return"\\"+Bn[n]}function s(n,t,r){var e=n.length;for(t+=r?0:-1;r?t--:++t<e;){var u=n[t];if(u!==u)return t}return-1}function p(n){return!!n&&typeof n=="object"}function h(n){return 160>=n&&9<=n&&13>=n||32==n||160==n||5760==n||6158==n||8192<=n&&(8202>=n||8232==n||8233==n||8239==n||8287==n||12288==n||65279==n); |
||||
}function _(n,t){for(var r=-1,e=n.length,u=-1,o=[];++r<e;)n[r]===t&&(n[r]=P,o[++u]=r);return o}function v(n){for(var t=-1,r=n.length;++t<r&&h(n.charCodeAt(t)););return t}function g(n){for(var t=n.length;t--&&h(n.charCodeAt(t)););return t}function y(n){return Nn[n]}function d(h){function Ln(n){if(p(n)&&!(Lo(n)||n instanceof zn)){if(n instanceof Nn)return n;if(uu.call(n,"__chain__")&&uu.call(n,"__wrapped__"))return Mr(n)}return new Nn(n)}function Pn(){}function Nn(n,t,r){this.__wrapped__=n,this.__actions__=r||[], |
||||
this.__chain__=!!t}function zn(n){this.__wrapped__=n,this.__actions__=null,this.__dir__=1,this.__filtered__=false,this.__iteratees__=null,this.__takeCount__=Uu,this.__views__=null}function Bn(){this.__data__={}}function Mn(n){var t=n?n.length:0;for(this.data={hash:Au(null),set:new yu};t--;)this.push(n[t])}function qn(n,t){var r=n.data;return(typeof t=="string"||ye(t)?r.set.has(t):r.hash[t])?0:-1}function Dn(n,t){var r=-1,e=n.length;for(t||(t=Me(e));++r<e;)t[r]=n[r];return t}function Kn(n,t){for(var r=-1,e=n.length;++r<e&&false!==t(n[r],r,n);); |
||||
return n}function Zn(n,t){for(var r=-1,e=n.length;++r<e;)if(!t(n[r],r,n))return false;return true}function Xn(n,t){for(var r=-1,e=n.length,u=-1,o=[];++r<e;){var i=n[r];t(i,r,n)&&(o[++u]=i)}return o}function Gn(n,t){for(var r=-1,e=n.length,u=Me(e);++r<e;)u[r]=t(n[r],r,n);return u}function Hn(n,t,r,e){var u=-1,o=n.length;for(e&&o&&(r=n[++u]);++u<o;)r=t(r,n[u],u,n);return r}function Qn(n,t){for(var r=-1,e=n.length;++r<e;)if(t(n[r],r,n))return true;return false}function nt(n,t){return n===m?t:n}function tt(n,t,r,e){ |
||||
return n!==m&&uu.call(e,r)?n:t}function rt(n,t,r){for(var e=-1,u=Jo(t),o=u.length;++e<o;){var i=u[e],a=n[i],l=r(a,t[i],i,n,t);(l===l?l===a:a!==a)&&(a!==m||i in n)||(n[i]=l)}return n}function et(n,t){return null==t?n:ot(t,Jo(t),n)}function ut(n,t){for(var r=-1,e=null==n,u=!e&&Er(n),o=u?n.length:0,i=t.length,a=Me(i);++r<i;){var l=t[r];a[r]=u?Cr(l,o)?n[l]:m:e?m:n[l]}return a}function ot(n,t,r){r||(r={});for(var e=-1,u=t.length;++e<u;){var o=t[e];r[o]=n[o]}return r}function it(n,t,r){var e=typeof n;return"function"==e?t===m?n:Mt(n,t,r):null==n?Le:"object"==e?At(n):t===m?Be(n):jt(n,t); |
||||
}function at(n,t,r,e,u,o,i){var a;if(r&&(a=u?r(n,e,u):r(n)),a!==m)return a;if(!ye(n))return n;if(e=Lo(n)){if(a=Or(n),!t)return Dn(n,a)}else{var l=iu.call(n),f=l==D;if(l!=Z&&l!=N&&(!f||u))return Fn[l]?Ir(n,l,t):u?n:{};if(Yn(n))return u?n:{};if(a=kr(f?{}:n),!t)return et(a,n)}for(o||(o=[]),i||(i=[]),u=o.length;u--;)if(o[u]==n)return i[u];return o.push(n),i.push(a),(e?Kn:gt)(n,function(e,u){a[u]=at(e,t,r,u,n,o,i)}),a}function lt(n,t,r){if(typeof n!="function")throw new Ge(L);return du(function(){n.apply(m,r); |
||||
},t)}function ft(n,t){var e=n?n.length:0,u=[];if(!e)return u;var o=-1,i=xr(),a=i==r,l=a&&200<=t.length?Ju(t):null,f=t.length;l&&(i=qn,a=false,t=l);n:for(;++o<e;)if(l=n[o],a&&l===l){for(var c=f;c--;)if(t[c]===l)continue n;u.push(l)}else 0>i(t,l,0)&&u.push(l);return u}function ct(n,t){var r=true;return Du(n,function(n,e,u){return r=!!t(n,e,u)}),r}function st(n,t,r,e){var u=e,o=u;return Du(n,function(n,i,a){i=+t(n,i,a),(r(i,u)||i===e&&i===o)&&(u=i,o=n)}),o}function pt(n,t){var r=[];return Du(n,function(n,e,u){ |
||||
t(n,e,u)&&r.push(n)}),r}function ht(n,t,r,e){var u;return r(n,function(n,r,o){return t(n,r,o)?(u=e?r:n,false):void 0}),u}function _t(n,t,r){for(var e=-1,u=n.length,o=-1,i=[];++e<u;){var a=n[e];if(p(a)&&Er(a)&&(r||Lo(a)||he(a))){t&&(a=_t(a,t,r));for(var l=-1,f=a.length;++l<f;)i[++o]=a[l]}else r||(i[++o]=a)}return i}function vt(n,t){Zu(n,t,ke)}function gt(n,t){return Zu(n,t,Jo)}function yt(n,t){return Vu(n,t,Jo)}function dt(n,t){for(var r=-1,e=t.length,u=-1,o=[];++r<e;){var i=t[r];No(n[i])&&(o[++u]=i); |
||||
}return o}function mt(n,t,r){if(null!=n){n=zr(n),r!==m&&r in n&&(t=[r]),r=-1;for(var e=t.length;null!=n&&++r<e;)n=zr(n)[t[r]];return r&&r==e?n:m}}function wt(n,t,r,e,u,o){if(n===t)n=true;else if(null==n||null==t||!ye(n)&&!ye(t))n=n!==n&&t!==t;else n:{var i=wt,a=Lo(n),l=Lo(t),f=z,c=z;a||(f=iu.call(n),f==N?f=Z:f!=Z&&(a=xe(n))),l||(c=iu.call(t),c==N?c=Z:c!=Z&&xe(t));var s=f==Z&&!Yn(n),l=c==Z&&!Yn(t),c=f==c;if(!c||a||s){if(!e&&(f=s&&uu.call(n,"__wrapped__"),l=l&&uu.call(t,"__wrapped__"),f||l)){n=i(f?n.value():n,l?t.value():t,r,e,u,o); |
||||
break n}if(c){for(u||(u=[]),o||(o=[]),f=u.length;f--;)if(u[f]==n){n=o[f]==t;break n}u.push(n),o.push(t),n=(a?yr:mr)(n,t,i,r,e,u,o),u.pop(),o.pop()}else n=false}else n=dr(n,t,f)}return n}function bt(n,t,r){var e=t.length,u=e,o=!r;if(null==n)return!u;for(n=zr(n);e--;){var i=t[e];if(o&&i[2]?i[1]!==n[i[0]]:!(i[0]in n))return false}for(;++e<u;){var i=t[e],a=i[0],l=n[a],f=i[1];if(o&&i[2]){if(l===m&&!(a in n))return false}else if(i=r?r(l,f,a):m,i===m?!wt(f,l,r,true):!i)return false}return true}function xt(n,t){var r=-1,e=Er(n)?Me(n.length):[]; |
||||
return Du(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function At(n){var t=Ar(n);if(1==t.length&&t[0][2]){var r=t[0][0],e=t[0][1];return function(n){return null==n?false:(n=zr(n),n[r]===e&&(e!==m||r in n))}}return function(n){return bt(n,t)}}function jt(n,t){var r=Lo(n),e=Tr(n)&&t===t&&!ye(t),u=n+"";return n=Br(n),function(o){if(null==o)return false;var i=u;if(o=zr(o),!(!r&&e||i in o)){if(o=1==n.length?o:mt(o,St(n,0,-1)),null==o)return false;i=Vr(n),o=zr(o)}return o[i]===t?t!==m||i in o:wt(t,o[i],m,true)}}function Ot(n,t,r,e,u){ |
||||
if(!ye(n))return n;var o=Er(t)&&(Lo(t)||xe(t)),i=o?null:Jo(t);return Kn(i||t,function(a,l){if(i&&(l=a,a=t[l]),p(a)){e||(e=[]),u||(u=[]);n:{for(var f=l,c=e,s=u,h=c.length,_=t[f];h--;)if(c[h]==_){n[f]=s[h];break n}var h=n[f],v=r?r(h,_,f,n,t):m,g=v===m;g&&(v=_,Er(_)&&(Lo(_)||xe(_))?v=Lo(h)?h:Er(h)?Dn(h):[]:zo(_)||he(_)?v=he(h)?je(h):zo(h)?h:{}:g=false),c.push(_),s.push(v),g?n[f]=Ot(v,_,r,c,s):(v===v?v!==h:h===h)&&(n[f]=v)}}else f=n[l],c=r?r(f,a,l,n,t):m,(s=c===m)&&(c=a),c===m&&(!o||l in n)||!s&&(c===c?c===f:f!==f)||(n[l]=c); |
||||
}),n}function kt(n){return function(t){return null==t?m:zr(t)[n]}}function It(n){var t=n+"";return n=Br(n),function(r){return mt(r,n,t)}}function Rt(n,t){for(var r=n?t.length:0;r--;){var e=t[r];if(e!=u&&Cr(e)){var u=e;mu.call(n,e,1)}}}function Et(n,t){return n+hu(Tu()*(t-n+1))}function Ct(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function St(n,t,r){var e=-1,u=n.length;for(t=null==t?0:+t||0,0>t&&(t=-t>u?0:u+t),r=r===m||r>u?u:+r||0,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Me(u);++e<u;)r[e]=n[e+t]; |
||||
return r}function Tt(n,t){var r;return Du(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function Ut(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].c;return n}function Wt(t,r,e){var u=wr(),o=-1;return r=Gn(r,function(n){return u(n)}),t=xt(t,function(n){return{a:Gn(r,function(t){return t(n)}),b:++o,c:n}}),Ut(t,function(t,r){var u;n:{u=-1;for(var o=t.a,i=r.a,a=o.length,l=e.length;++u<a;){var f=n(o[u],i[u]);if(f){u=u<l?f*(e[u]?1:-1):f;break n}}u=t.b-r.b}return u})}function Ft(n,t){var r=0;return Du(n,function(n,e,u){ |
||||
r+=+t(n,e,u)||0}),r}function $t(n,t){var e=-1,u=xr(),o=n.length,i=u==r,a=i&&200<=o,l=a?Ju():null,f=[];l?(u=qn,i=false):(a=false,l=t?[]:f);n:for(;++e<o;){var c=n[e],s=t?t(c,e,n):c;if(i&&c===c){for(var p=l.length;p--;)if(l[p]===s)continue n;t&&l.push(s),f.push(c)}else 0>u(l,s,0)&&((t||a)&&l.push(s),f.push(c))}return f}function Lt(n,t){for(var r=-1,e=t.length,u=Me(e);++r<e;)u[r]=n[t[r]];return u}function Pt(n,t,r,e){for(var u=n.length,o=e?u:-1;(e?o--:++o<u)&&t(n[o],o,n););return r?St(n,e?0:o,e?o+1:u):St(n,e?o+1:0,e?u:o); |
||||
}function Nt(n,t){var r=n;r instanceof zn&&(r=r.value());for(var e=-1,u=t.length;++e<u;){var r=[r],o=t[e];vu.apply(r,o.args),r=o.func.apply(o.thisArg,r)}return r}function zt(n,t,r){var e=0,u=n?n.length:e;if(typeof t=="number"&&t===t&&u<=Fu){for(;e<u;){var o=e+u>>>1,i=n[o];(r?i<=t:i<t)&&null!==i?e=o+1:u=o}return u}return Bt(n,t,Le,r)}function Bt(n,t,r,e){t=r(t);for(var u=0,o=n?n.length:0,i=t!==t,a=null===t,l=t===m;u<o;){var f=hu((u+o)/2),c=r(n[f]),s=c!==m,p=c===c;(i?p||e:a?p&&s&&(e||null!=c):l?p&&(e||s):null==c?0:e?c<=t:c<t)?u=f+1:o=f; |
||||
}return Ru(o,Wu)}function Mt(n,t,r){if(typeof n!="function")return Le;if(t===m)return n;switch(r){case 1:return function(r){return n.call(t,r)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)};case 5:return function(r,e,u,o,i){return n.call(t,r,e,u,o,i)}}return function(){return n.apply(t,arguments)}}function qt(n){return cu.call(n,0)}function Dt(n,t,r){for(var e=r.length,u=-1,o=Iu(n.length-e,0),i=-1,a=t.length,l=Me(o+a);++i<a;)l[i]=t[i]; |
||||
for(;++u<e;)l[r[u]]=n[u];for(;o--;)l[i++]=n[u++];return l}function Kt(n,t,r){for(var e=-1,u=r.length,o=-1,i=Iu(n.length-u,0),a=-1,l=t.length,f=Me(i+l);++o<i;)f[o]=n[o];for(i=o;++a<l;)f[i+a]=t[a];for(;++e<u;)f[i+r[e]]=n[o++];return f}function Zt(n,t){return function(r,e,u){var o=t?t():{};if(e=wr(e,u,3),Lo(r)){u=-1;for(var i=r.length;++u<i;){var a=r[u];n(o,a,e(a,u,r),r)}}else Du(r,function(t,r,u){n(o,t,e(t,r,u),u)});return o}}function Vt(n){return se(function(t,r){var e=-1,u=null==t?0:r.length,o=2<u?r[u-2]:m,i=2<u?r[2]:m,a=1<u?r[u-1]:m; |
||||
for(typeof o=="function"?(o=Mt(o,a,5),u-=2):(o=typeof a=="function"?a:m,u-=o?1:0),i&&Sr(r[0],r[1],i)&&(o=3>u?m:o,u=1);++e<u;)(i=r[e])&&n(t,i,o);return t})}function Yt(n,t){return function(r,e){var u=r?Gu(r):0;if(!Wr(u))return n(r,e);for(var o=t?u:-1,i=zr(r);(t?o--:++o<u)&&false!==e(i[o],o,i););return r}}function Jt(n){return function(t,r,e){var u=zr(t);e=e(t);for(var o=e.length,i=n?o:-1;n?i--:++i<o;){var a=e[i];if(false===r(u[a],a,u))break}return t}}function Xt(n,t){function r(){return(this&&this!==Vn&&this instanceof r?e:n).apply(t,arguments); |
||||
}var e=Ht(n);return r}function Gt(n){return function(t){var r=-1;t=We(Ee(t));for(var e=t.length,u="";++r<e;)u=n(u,t[r],r);return u}}function Ht(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4])}var r=qu(n.prototype),t=n.apply(r,t);return ye(t)?t:r}}function Qt(n){function t(r,e,u){return u&&Sr(r,e,u)&&(e=null), |
||||
r=gr(r,n,null,null,null,null,null,e),r.placeholder=t.placeholder,r}return t}function nr(n,t){return function(r,e,u){if(u&&Sr(r,e,u)&&(e=null),e=wr(e,u,3),1==e.length){u=r=Nr(r);for(var o=e,i=-1,a=u.length,l=t,f=l;++i<a;){var c=u[i],s=+o(c);n(s,l)&&(l=s,f=c)}if(u=f,!r.length||u!==t)return u}return st(r,e,n,t)}}function tr(n,r){return function(e,u,o){return u=wr(u,o,3),Lo(e)?(u=t(e,u,r),-1<u?e[u]:m):ht(e,u,n)}}function rr(n){return function(r,e,u){return r&&r.length?(e=wr(e,u,3),t(r,e,n)):-1}}function er(n){ |
||||
return function(t,r,e){return r=wr(r,e,3),ht(t,r,n,true)}}function ur(n){return function(){for(var t,r=arguments.length,e=n?r:-1,u=0,o=Me(r);n?e--:++e<r;){var i=o[u++]=arguments[e];if(typeof i!="function")throw new Ge(L);!t&&Nn.prototype.thru&&"wrapper"==br(i)&&(t=new Nn([]))}for(e=t?-1:r;++e<r;){var i=o[e],u=br(i),a="wrapper"==u?Xu(i):null;t=a&&Ur(a[0])&&a[1]==(R|j|k|E)&&!a[4].length&&1==a[9]?t[br(a[0])].apply(t,a[3]):1==i.length&&Ur(i)?t[u]():t.thru(i)}return function(){var n=arguments;if(t&&1==n.length&&Lo(n[0]))return t.plant(n[0]).value(); |
||||
for(var e=0,n=r?o[e].apply(this,n):n[0];++e<r;)n=o[e].call(this,n);return n}}}function or(n,t){return function(r,e,u){return typeof e=="function"&&u===m&&Lo(r)?n(r,e):t(r,Mt(e,u,3))}}function ir(n){return function(t,r,e){return(typeof r!="function"||e!==m)&&(r=Mt(r,e,3)),n(t,r,ke)}}function ar(n){return function(t,r,e){return(typeof r!="function"||e!==m)&&(r=Mt(r,e,3)),n(t,r)}}function lr(n){return function(t,r,e){var u={};return r=wr(r,e,3),gt(t,function(t,e,o){o=r(t,e,o),e=n?o:e,t=n?t:o,u[e]=t}), |
||||
u}}function fr(n){return function(t,r,e){return t=u(t),(n?t:"")+hr(t,r,e)+(n?"":t)}}function cr(n){var t=se(function(r,e){var u=_(e,t.placeholder);return gr(r,n,null,e,u)});return t}function sr(n,t){return function(r,e,u,o){var i=3>arguments.length;return typeof e=="function"&&o===m&&Lo(r)?n(r,e,u,i):Ct(r,wr(e,o,4),u,i,t)}}function pr(n,t,r,e,u,o,i,a,l,f){function c(){for(var w=arguments.length,A=w,j=Me(w);A--;)j[A]=arguments[A];if(e&&(j=Dt(j,e,u)),o&&(j=Kt(j,o,i)),v||y){var A=c.placeholder,O=_(j,A),w=w-O.length; |
||||
if(w<f){var R=a?Dn(a):null,w=Iu(f-w,0),E=v?O:null,O=v?null:O,C=v?j:null,j=v?null:j;return t|=v?k:I,t&=~(v?I:k),g||(t&=~(b|x)),j=[n,t,r,C,E,j,O,R,l,w],R=pr.apply(m,j),Ur(n)&&Hu(R,j),R.placeholder=A,R}}if(A=p?r:this,R=h?A[n]:n,a)for(w=j.length,E=Ru(a.length,w),O=Dn(j);E--;)C=a[E],j[E]=Cr(C,w)?O[C]:m;return s&&l<j.length&&(j.length=l),this&&this!==Vn&&this instanceof c&&(R=d||Ht(n)),R.apply(A,j)}var s=t&R,p=t&b,h=t&x,v=t&j,g=t&A,y=t&O,d=h?null:Ht(n);return c}function hr(n,t,r){return n=n.length,t=+t, |
||||
n<t&&Ou(t)?(t-=n,r=null==r?" ":r+"",Te(r,su(t/r.length)).slice(0,t)):""}function _r(n,t,r,e){function u(){for(var t=-1,a=arguments.length,l=-1,f=e.length,c=Me(a+f);++l<f;)c[l]=e[l];for(;a--;)c[l++]=arguments[++t];return(this&&this!==Vn&&this instanceof u?i:n).apply(o?r:this,c)}var o=t&b,i=Ht(n);return u}function vr(n){return function(t,r,e,u){var o=wr(e);return null==e&&o===it?zt(t,r,n):Bt(t,r,o(e,u,1),n)}}function gr(n,t,r,e,u,o,i,a){var l=t&x;if(!l&&typeof n!="function")throw new Ge(L);var f=e?e.length:0; |
||||
if(f||(t&=~(k|I),e=u=null),f-=u?u.length:0,t&I){var c=e,s=u;e=u=null}var p=l?null:Xu(n);return r=[n,t,r,e,u,c,s,o,i,a],p&&(e=r[1],t=p[1],a=e|t,u=t==R&&e==j||t==R&&e==E&&r[7].length<=p[8]||t==(R|E)&&e==j,(a<R||u)&&(t&b&&(r[2]=p[2],a|=e&b?0:A),(e=p[3])&&(u=r[3],r[3]=u?Dt(u,e,p[4]):Dn(e),r[4]=u?_(r[3],P):Dn(p[4])),(e=p[5])&&(u=r[5],r[5]=u?Kt(u,e,p[6]):Dn(e),r[6]=u?_(r[5],P):Dn(p[6])),(e=p[7])&&(r[7]=Dn(e)),t&R&&(r[8]=null==r[8]?p[8]:Ru(r[8],p[8])),null==r[9]&&(r[9]=p[9]),r[0]=p[0],r[1]=a),t=r[1],a=r[9]), |
||||
r[9]=null==a?l?0:n.length:Iu(a-f,0)||0,(p?Yu:Hu)(t==b?Xt(r[0],r[2]):t!=k&&t!=(b|k)||r[4].length?pr.apply(m,r):_r.apply(m,r),r)}function yr(n,t,r,e,u,o,i){var a=-1,l=n.length,f=t.length;if(l!=f&&(!u||f<=l))return false;for(;++a<l;){var c=n[a],f=t[a],s=e?e(u?f:c,u?c:f,a):m;if(s!==m){if(s)continue;return false}if(u){if(!Qn(t,function(n){return c===n||r(c,n,e,u,o,i)}))return false}else if(c!==f&&!r(c,f,e,u,o,i))return false}return true}function dr(n,t,r){switch(r){case B:case M:return+n==+t;case q:return n.name==t.name&&n.message==t.message; |
||||
case K:return n!=+n?t!=+t:n==+t;case V:case Y:return n==t+""}return false}function mr(n,t,r,e,u,o,i){var a=Jo(n),l=a.length,f=Jo(t).length;if(l!=f&&!u)return false;for(f=l;f--;){var c=a[f];if(!(u?c in t:uu.call(t,c)))return false}for(var s=u;++f<l;){var c=a[f],p=n[c],h=t[c],_=e?e(u?h:p,u?p:h,c):m;if(_===m?!r(p,h,e,u,o,i):!_)return false;s||(s="constructor"==c)}return s||(r=n.constructor,e=t.constructor,!(r!=e&&"constructor"in n&&"constructor"in t)||typeof r=="function"&&r instanceof r&&typeof e=="function"&&e instanceof e)?true:false; |
||||
}function wr(n,t,r){var e=Ln.callback||Fe,e=e===Fe?it:e;return r?e(n,t,r):e}function br(n){for(var t=n.name,r=Nu[t],e=r?r.length:0;e--;){var u=r[e],o=u.func;if(null==o||o==n)return u.name}return t}function xr(n,t,e){var u=Ln.indexOf||Zr,u=u===Zr?r:u;return n?u(n,t,e):u}function Ar(n){n=Ie(n);for(var t=n.length;t--;){var r=n[t][1];n[t][2]=r===r&&!ye(r)}return n}function jr(n,t){var r=null==n?m:n[t];return de(r)?r:m}function Or(n){var t=n.length,r=new n.constructor(t);return t&&"string"==typeof n[0]&&uu.call(n,"index")&&(r.index=n.index, |
||||
r.input=n.input),r}function kr(n){return n=n.constructor,typeof n=="function"&&n instanceof n||(n=Ye),new n}function Ir(n,t,r){var e=n.constructor;switch(t){case J:return qt(n);case B:case M:return new e(+n);case X:case G:case H:case Q:case nn:case tn:case rn:case en:case un:return e instanceof e&&(e=zu[t]),t=n.buffer,new e(r?qt(t):t,n.byteOffset,n.length);case K:case Y:return new e(n);case V:var u=new e(n.source,jn.exec(n));u.lastIndex=n.lastIndex}return u}function Rr(n,t,r){return null==n||Tr(t,n)||(t=Br(t), |
||||
n=1==t.length?n:mt(n,St(t,0,-1)),t=Vr(t)),t=null==n?n:n[t],null==t?m:t.apply(n,r)}function Er(n){return null!=n&&Wr(Gu(n))}function Cr(n,t){return n=typeof n=="number"?n:parseFloat(n),t=null==t?Lu:t,-1<n&&0==n%1&&n<t}function Sr(n,t,r){if(!ye(r))return false;var e=typeof t;return("number"==e?Er(r)&&Cr(t,r.length):"string"==e&&t in r)?(t=r[t],n===n?n===t:t!==t):false}function Tr(n,t){var r=typeof n;return"string"==r&&yn.test(n)||"number"==r?true:Lo(n)?false:!gn.test(n)||null!=t&&n in zr(t)}function Ur(n){var t=br(n); |
||||
return!!t&&n===Ln[t]&&t in zn.prototype}function Wr(n){return typeof n=="number"&&-1<n&&0==n%1&&n<=Lu}function Fr(n,t){n=zr(n);for(var r=-1,e=t.length,u={};++r<e;){var o=t[r];o in n&&(u[o]=n[o])}return u}function $r(n,t){var r={};return vt(n,function(n,e,u){t(n,e,u)&&(r[e]=n)}),r}function Lr(n){var t,r=Ln.support;if(!p(n)||iu.call(n)!=Z||Yn(n)||!(uu.call(n,"constructor")||(t=n.constructor,typeof t!="function"||t instanceof t))||!r.argsTag&&he(n))return false;var e;return r.ownLast?(vt(n,function(n,t,r){ |
||||
return e=uu.call(r,t),false}),false!==e):(vt(n,function(n,t){e=t}),e===m||uu.call(n,e))}function Pr(n){for(var t=ke(n),r=t.length,e=r&&n.length,u=!!e&&Wr(e)&&(Lo(n)||he(n)||be(n)),o=-1,i=[];++o<r;){var a=t[o];(u&&Cr(a,e)||uu.call(n,a))&&i.push(a)}return i}function Nr(n){return null==n?[]:Er(n)?Ln.support.unindexedChars&&be(n)?n.split(""):ye(n)?n:Ye(n):Re(n)}function zr(n){if(Ln.support.unindexedChars&&be(n)){for(var t=-1,r=n.length,e=Ye(n);++t<r;)e[t]=n.charAt(t);return e}return ye(n)?n:Ye(n)}function Br(n){ |
||||
if(Lo(n))return n;var t=[];return u(n).replace(dn,function(n,r,e,u){t.push(e?u.replace(xn,"$1"):r||n)}),t}function Mr(n){return n instanceof zn?n.clone():new Nn(n.__wrapped__,n.__chain__,Dn(n.__actions__))}function qr(n,t,r){return n&&n.length?((r?Sr(n,t,r):null==t)&&(t=1),St(n,0>t?0:t)):[]}function Dr(n,t,r){var e=n?n.length:0;return e?((r?Sr(n,t,r):null==t)&&(t=1),t=e-(+t||0),St(n,0,0>t?0:t)):[]}function Kr(n){return n?n[0]:m}function Zr(n,t,e){var u=n?n.length:0;if(!u)return-1;if(typeof e=="number")e=0>e?Iu(u+e,0):e;else if(e)return e=zt(n,t), |
||||
n=n[e],(t===t?t===n:n!==n)?e:-1;return r(n,t,e||0)}function Vr(n){var t=n?n.length:0;return t?n[t-1]:m}function Yr(n){return qr(n,1)}function Jr(n,t,e,u){if(!n||!n.length)return[];null!=t&&typeof t!="boolean"&&(u=e,e=Sr(n,t,u)?null:t,t=false);var o=wr();if((null!=e||o!==it)&&(e=o(e,u,3)),t&&xr()==r){t=e;var i;e=-1,u=n.length;for(var o=-1,a=[];++e<u;){var l=n[e],f=t?t(l,e,n):l;e&&i===f||(i=f,a[++o]=l)}n=a}else n=$t(n,e);return n}function Xr(n){if(!n||!n.length)return[];var t=-1,r=0;n=Xn(n,function(n){ |
||||
return Er(n)?(r=Iu(n.length,r),true):void 0});for(var e=Me(r);++t<r;)e[t]=Gn(n,kt(t));return e}function Gr(n,t,r){return n&&n.length?(n=Xr(n),null==t?n:(t=Mt(t,r,4),Gn(n,function(n){return Hn(n,t,m,true)}))):[]}function Hr(n,t){var r=-1,e=n?n.length:0,u={};for(!e||t||Lo(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Qr(n){return n=Ln(n),n.__chain__=true,n}function ne(n,t,r){return t.call(r,n)}function te(n,t,r){var e=Lo(n)?Zn:ct;return r&&Sr(n,t,r)&&(t=null),(typeof t!="function"||r!==m)&&(t=wr(t,r,3)), |
||||
e(n,t)}function re(n,t,r){var e=Lo(n)?Xn:pt;return t=wr(t,r,3),e(n,t)}function ee(n,t,r,e){var u=n?Gu(n):0;return Wr(u)||(n=Re(n),u=n.length),u?(r=typeof r!="number"||e&&Sr(t,r,e)?0:0>r?Iu(u+r,0):r||0,typeof n=="string"||!Lo(n)&&be(n)?r<u&&-1<n.indexOf(t,r):-1<xr(n,t,r)):false}function ue(n,t,r){var e=Lo(n)?Gn:xt;return t=wr(t,r,3),e(n,t)}function oe(n,t,r){return(r?Sr(n,t,r):null==t)?(n=Nr(n),t=n.length,0<t?n[Et(0,t-1)]:m):(n=ie(n),n.length=Ru(0>t?0:+t||0,n.length),n)}function ie(n){n=Nr(n);for(var t=-1,r=n.length,e=Me(r);++t<r;){ |
||||
var u=Et(0,t);t!=u&&(e[t]=e[u]),e[u]=n[t]}return e}function ae(n,t,r){var e=Lo(n)?Qn:Tt;return r&&Sr(n,t,r)&&(t=null),(typeof t!="function"||r!==m)&&(t=wr(t,r,3)),e(n,t)}function le(n,t){var r;if(typeof t!="function"){if(typeof n!="function")throw new Ge(L);var e=n;n=t,t=e}return function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}}function fe(n,t,r){function e(){var r=t-(jo()-f);0>=r||r>t?(a&&pu(a),r=p,a=s=p=m,r&&(h=jo(),l=n.apply(c,i),s||a||(i=c=null))):s=du(e,r)}function u(){ |
||||
s&&pu(s),a=s=p=m,(v||_!==t)&&(h=jo(),l=n.apply(c,i),s||a||(i=c=null))}function o(){if(i=arguments,f=jo(),c=this,p=v&&(s||!g),false===_)var r=g&&!s;else{a||g||(h=f);var o=_-(f-h),y=0>=o||o>_;y?(a&&(a=pu(a)),h=f,l=n.apply(c,i)):a||(a=du(u,o))}return y&&s?s=pu(s):s||t===_||(s=du(e,t)),r&&(y=true,l=n.apply(c,i)),!y||s||a||(i=c=null),l}var i,a,l,f,c,s,p,h=0,_=false,v=true;if(typeof n!="function")throw new Ge(L);if(t=0>t?0:+t||0,true===r)var g=true,v=false;else ye(r)&&(g=r.leading,_="maxWait"in r&&Iu(+r.maxWait||0,t),v="trailing"in r?r.trailing:v); |
||||
return o.cancel=function(){s&&pu(s),a&&pu(a),a=s=p=m},o}function ce(n,t){function r(){var e=arguments,u=t?t.apply(this,e):e[0],o=r.cache;return o.has(u)?o.get(u):(e=n.apply(this,e),r.cache=o.set(u,e),e)}if(typeof n!="function"||t&&typeof t!="function")throw new Ge(L);return r.cache=new ce.Cache,r}function se(n,t){if(typeof n!="function")throw new Ge(L);return t=Iu(t===m?n.length-1:+t||0,0),function(){for(var r=arguments,e=-1,u=Iu(r.length-t,0),o=Me(u);++e<u;)o[e]=r[t+e];switch(t){case 0:return n.call(this,o); |
||||
case 1:return n.call(this,r[0],o);case 2:return n.call(this,r[0],r[1],o)}for(u=Me(t+1),e=-1;++e<t;)u[e]=r[e];return u[t]=o,n.apply(this,u)}}function pe(n,t){return n>t}function he(n){return p(n)&&Er(n)&&iu.call(n)==N}function _e(n){return!!n&&1===n.nodeType&&p(n)&&(Ln.support.nodeTag?-1<iu.call(n).indexOf("Element"):Yn(n))}function ve(n,t,r,e){return e=(r=typeof r=="function"?Mt(r,e,3):m)?r(n,t):m,e===m?wt(n,t,r):!!e}function ge(n){return p(n)&&typeof n.message=="string"&&iu.call(n)==q}function ye(n){ |
||||
var t=typeof n;return!!n&&("object"==t||"function"==t)}function de(n){return null==n?false:iu.call(n)==D?lu.test(eu.call(n)):p(n)&&(Yn(n)?lu:kn).test(n)}function me(n){return typeof n=="number"||p(n)&&iu.call(n)==K}function we(n){return ye(n)&&iu.call(n)==V}function be(n){return typeof n=="string"||p(n)&&iu.call(n)==Y}function xe(n){return p(n)&&Wr(n.length)&&!!Wn[iu.call(n)]}function Ae(n,t){return n<t}function je(n){return ot(n,ke(n))}function Oe(n){return dt(n,ke(n))}function ke(n){if(null==n)return[]; |
||||
ye(n)||(n=Ye(n));for(var t=n.length,r=Ln.support,t=t&&Wr(t)&&(Lo(n)||he(n)||be(n))&&t||0,e=n.constructor,u=-1,e=No(e)&&e.prototype||nu,o=e===n,i=Me(t),a=0<t,l=r.enumErrorProps&&(n===Qe||n instanceof De),f=r.enumPrototypes&&No(n);++u<t;)i[u]=u+"";for(var c in n)f&&"prototype"==c||l&&("message"==c||"name"==c)||a&&Cr(c,t)||"constructor"==c&&(o||!uu.call(n,c))||i.push(c);if(r.nonEnumShadows&&n!==nu)for(t=n===tu?Y:n===Qe?q:iu.call(n),r=Bu[t]||Bu[Z],t==Z&&(e=nu),t=Un.length;t--;)c=Un[t],u=r[c],o&&u||(u?!uu.call(n,c):n[c]===e[c])||i.push(c); |
||||
return i}function Ie(n){n=zr(n);for(var t=-1,r=Jo(n),e=r.length,u=Me(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u}function Re(n){return Lt(n,Jo(n))}function Ee(n){return(n=u(n))&&n.replace(In,l).replace(bn,"")}function Ce(n){return(n=u(n))&&wn.test(n)?n.replace(mn,"\\$&"):n}function Se(n,t,r){return r&&Sr(n,t,r)&&(t=0),Su(n,t)}function Te(n,t){var r="";if(n=u(n),t=+t,1>t||!n||!Ou(t))return r;do t%2&&(r+=n),t=hu(t/2),n+=n;while(t);return r}function Ue(n,t,r){var e=n;return(n=u(n))?(r?Sr(e,t,r):null==t)?n.slice(v(n),g(n)+1):(t+="", |
||||
n.slice(o(n,t),i(n,t)+1)):n}function We(n,t,r){return r&&Sr(n,t,r)&&(t=null),n=u(n),n.match(t||Cn)||[]}function Fe(n,t,r){return r&&Sr(n,t,r)&&(t=null),p(n)?Pe(n):it(n,t)}function $e(n){return function(){return n}}function Le(n){return n}function Pe(n){return At(at(n,true))}function Ne(n,t,r){if(null==r){var e=ye(t),u=e?Jo(t):null;((u=u&&u.length?dt(t,u):null)?u.length:e)||(u=false,r=t,t=n,n=this)}u||(u=dt(t,Jo(t)));var o=true,e=-1,i=No(n),a=u.length;false===r?o=false:ye(r)&&"chain"in r&&(o=r.chain);for(;++e<a;){ |
||||
r=u[e];var l=t[r];n[r]=l,i&&(n.prototype[r]=function(t){return function(){var r=this.__chain__;if(o||r){var e=n(this.__wrapped__);return(e.__actions__=Dn(this.__actions__)).push({func:t,args:arguments,thisArg:n}),e.__chain__=r,e}return r=[this.value()],vu.apply(r,arguments),t.apply(n,r)}}(l))}return n}function ze(){}function Be(n){return Tr(n)?kt(n):It(n)}h=h?Jn.defaults(Vn.Object(),h,Jn.pick(Vn,Tn)):Vn;var Me=h.Array,qe=h.Date,De=h.Error,Ke=h.Function,Ze=h.Math,Ve=h.Number,Ye=h.Object,Je=h.RegExp,Xe=h.String,Ge=h.TypeError,He=Me.prototype,Qe=De.prototype,nu=Ye.prototype,tu=Xe.prototype,ru=(ru=h.window)?ru.document:null,eu=Ke.prototype.toString,uu=nu.hasOwnProperty,ou=0,iu=nu.toString,au=h._,lu=Je("^"+Ce(eu.call(uu)).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fu=jr(h,"ArrayBuffer"),cu=jr(fu&&new fu(0),"slice"),su=Ze.ceil,pu=h.clearTimeout,hu=Ze.floor,_u=jr(Ye,"getPrototypeOf"),vu=He.push,gu=nu.propertyIsEnumerable,yu=jr(h,"Set"),du=h.setTimeout,mu=He.splice,wu=jr(h,"Uint8Array"),bu=jr(h,"WeakMap"),xu=function(){ |
||||
try{var n=jr(h,"Float64Array"),t=new n(new fu(10),0,1)&&n}catch(r){}return t||null}(),Au=jr(Ye,"create"),ju=jr(Me,"isArray"),Ou=h.isFinite,ku=jr(Ye,"keys"),Iu=Ze.max,Ru=Ze.min,Eu=jr(qe,"now"),Cu=jr(Ve,"isFinite"),Su=h.parseInt,Tu=Ze.random,Uu=Ve.POSITIVE_INFINITY,Wu=4294967294,Fu=2147483647,$u=xu?xu.BYTES_PER_ELEMENT:0,Lu=9007199254740991,Pu=bu&&new bu,Nu={},zu={};zu[X]=h.Float32Array,zu[G]=h.Float64Array,zu[H]=h.Int8Array,zu[Q]=h.Int16Array,zu[nn]=h.Int32Array,zu[tn]=h.Uint8Array,zu[rn]=h.Uint8ClampedArray, |
||||
zu[en]=h.Uint16Array,zu[un]=h.Uint32Array;var Bu={};Bu[z]=Bu[M]=Bu[K]={constructor:true,toLocaleString:true,toString:true,valueOf:true},Bu[B]=Bu[Y]={constructor:true,toString:true,valueOf:true},Bu[q]=Bu[D]=Bu[V]={constructor:true,toString:true},Bu[Z]={constructor:true},Kn(Un,function(n){for(var t in Bu)if(uu.call(Bu,t)){var r=Bu[t];r[n]=uu.call(r,n)}});var Mu=Ln.support={};!function(n){function t(){this.x=n}var r={0:n,length:n},e=[];t.prototype={valueOf:n,y:n};for(var u in new t)e.push(u);Mu.argsTag=iu.call(arguments)==N, |
||||
Mu.enumErrorProps=gu.call(Qe,"message")||gu.call(Qe,"name"),Mu.enumPrototypes=gu.call(t,"prototype"),Mu.nodeTag=iu.call(ru)!=Z,Mu.nonEnumShadows=!/valueOf/.test(e),Mu.ownLast="x"!=e[0],Mu.spliceObjects=(mu.call(r,0,1),!r[0]),Mu.unindexedChars="xx"!="x"[0]+Ye("x")[0];try{Mu.dom=11===ru.createDocumentFragment().nodeType}catch(o){Mu.dom=false}}(1,0),Ln.templateSettings={escape:hn,evaluate:_n,interpolate:vn,variable:"",imports:{_:Ln}};var qu=function(){function n(){}return function(t){if(ye(t)){n.prototype=t; |
||||
var r=new n;n.prototype=null}return r||{}}}(),Du=Yt(gt),Ku=Yt(yt,true),Zu=Jt(),Vu=Jt(true),Yu=Pu?function(n,t){return Pu.set(n,t),n}:Le;cu||(qt=fu&&wu?function(n){var t=n.byteLength,r=xu?hu(t/$u):0,e=r*$u,u=new fu(t);if(r){var o=new xu(u,0,r);o.set(new xu(n,0,r))}return t!=e&&(o=new wu(u,e),o.set(new wu(n,e))),u}:$e(null));var Ju=Au&&yu?function(n){return new Mn(n)}:$e(null),Xu=Pu?function(n){return Pu.get(n)}:ze,Gu=kt("length"),Hu=function(){var n=0,t=0;return function(r,e){var u=jo(),o=U-(u-t);if(t=u, |
||||
0<o){if(++n>=T)return r}else n=0;return Yu(r,e)}}(),Qu=se(function(n,t){return Er(n)?ft(n,_t(t,false,true)):[]}),no=rr(),to=rr(true),ro=se(function(n){for(var t=n.length,e=t,u=Me(c),o=xr(),i=o==r,a=[];e--;){var l=n[e]=Er(l=n[e])?l:[];u[e]=i&&120<=l.length?Ju(e&&l):null}var i=n[0],f=-1,c=i?i.length:0,s=u[0];n:for(;++f<c;)if(l=i[f],0>(s?qn(s,l):o(a,l,0))){for(e=t;--e;){var p=u[e];if(0>(p?qn(p,l):o(n[e],l,0)))continue n}s&&s.push(l),a.push(l)}return a}),eo=se(function(t,r){r=_t(r);var e=ut(t,r);return Rt(t,r.sort(n)), |
||||
e}),uo=vr(),oo=vr(true),io=se(function(n){return $t(_t(n,false,true))}),ao=se(function(n,t){return Er(n)?ft(n,t):[]}),lo=se(Xr),fo=se(function(n){var t=n.length,r=2<t?n[t-2]:m,e=1<t?n[t-1]:m;return 2<t&&typeof r=="function"?t-=2:(r=1<t&&typeof e=="function"?(--t,e):m,e=m),n.length=t,Gr(n,r,e)}),co=se(function(n,t){return Er(n)&&(n=Nr(n)),ut(n,_t(t))}),so=Zt(function(n,t,r){uu.call(n,r)?++n[r]:n[r]=1}),po=tr(Du),ho=tr(Ku,true),_o=or(Kn,Du),vo=or(function(n,t){for(var r=n.length;r--&&false!==t(n[r],r,n););return n; |
||||
},Ku),go=Zt(function(n,t,r){uu.call(n,r)?n[r].push(t):n[r]=[t]}),yo=Zt(function(n,t,r){n[r]=t}),mo=se(function(n,t,r){var e=-1,u=typeof t=="function",o=Tr(t),i=Er(n)?Me(n.length):[];return Du(n,function(n){var a=u?t:o&&null!=n?n[t]:null;i[++e]=a?a.apply(n,r):Rr(n,t,r)}),i}),wo=Zt(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),bo=sr(Hn,Du),xo=sr(function(n,t,r,e){var u=n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r},Ku),Ao=se(function(n,t){if(null==n)return[];var r=t[2];return r&&Sr(t[0],t[1],r)&&(t.length=1), |
||||
Wt(n,_t(t),[])}),jo=Eu||function(){return(new qe).getTime()},Oo=se(function(n,t,r){var e=b;if(r.length)var u=_(r,Oo.placeholder),e=e|k;return gr(n,e,t,r,u)}),ko=se(function(n,t){t=t.length?_t(t):Oe(n);for(var r=-1,e=t.length;++r<e;){var u=t[r];n[u]=gr(n[u],b,n)}return n}),Io=se(function(n,t,r){var e=b|x;if(r.length)var u=_(r,Io.placeholder),e=e|k;return gr(t,e,n,r,u)}),Ro=Qt(j),Eo=Qt(O),Co=se(function(n,t){return lt(n,1,t)}),So=se(function(n,t,r){return lt(n,t,r)}),To=ur(),Uo=ur(true),Wo=cr(k),Fo=cr(I),$o=se(function(n,t){ |
||||
return gr(n,E,null,null,null,_t(t))});Mu.argsTag||(he=function(n){return p(n)&&Er(n)&&uu.call(n,"callee")&&!gu.call(n,"callee")});var Lo=ju||function(n){return p(n)&&Wr(n.length)&&iu.call(n)==z};Mu.dom||(_e=function(n){return!!n&&1===n.nodeType&&p(n)&&!zo(n)});var Po=Cu||function(n){return typeof n=="number"&&Ou(n)},No=e(/x/)||wu&&!e(wu)?function(n){return iu.call(n)==D}:e,zo=_u?function(n){if(!n||iu.call(n)!=Z||!Ln.support.argsTag&&he(n))return false;var t=jr(n,"valueOf"),r=t&&(r=_u(t))&&_u(r);return r?n==r||_u(n)==r:Lr(n); |
||||
}:Lr,Bo=Vt(function(n,t,r){return r?rt(n,t,r):et(n,t)}),Mo=se(function(n){var t=n[0];return null==t?t:(n.push(nt),Bo.apply(m,n))}),qo=er(gt),Do=er(yt),Ko=ir(Zu),Zo=ir(Vu),Vo=ar(gt),Yo=ar(yt),Jo=ku?function(n){var t=null==n?null:n.constructor;return typeof t=="function"&&t.prototype===n||(typeof n=="function"?Ln.support.enumPrototypes:Er(n))?Pr(n):ye(n)?ku(n):[]}:Pr,Xo=lr(true),Go=lr(),Ho=Vt(Ot),Qo=se(function(n,t){if(null==n)return{};if("function"!=typeof t[0])return t=Gn(_t(t),Xe),Fr(n,ft(ke(n),t)); |
||||
var r=Mt(t[0],t[1],3);return $r(n,function(n,t,e){return!r(n,t,e)})}),ni=se(function(n,t){return null==n?{}:"function"==typeof t[0]?$r(n,Mt(t[0],t[1],3)):Fr(n,_t(t))}),ti=Gt(function(n,t,r){return t=t.toLowerCase(),n+(r?t.charAt(0).toUpperCase()+t.slice(1):t)}),ri=Gt(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),ei=fr(),ui=fr(true);8!=Su(Sn+"08")&&(Se=function(n,t,r){return(r?Sr(n,t,r):null==t)?t=0:t&&(t=+t),n=Ue(n),Su(n,t||(On.test(n)?16:10))});var oi=Gt(function(n,t,r){return n+(r?"_":"")+t.toLowerCase(); |
||||
}),ii=Gt(function(n,t,r){return n+(r?" ":"")+(t.charAt(0).toUpperCase()+t.slice(1))}),ai=se(function(n,t){try{return n.apply(m,t)}catch(r){return ge(r)?r:new De(r)}}),li=se(function(n,t){return function(r){return Rr(r,n,t)}}),fi=se(function(n,t){return function(r){return Rr(n,r,t)}}),ci=nr(pe,-(1/0)),si=nr(Ae,1/0);return Ln.prototype=Pn.prototype,Nn.prototype=qu(Pn.prototype),Nn.prototype.constructor=Nn,zn.prototype=qu(Pn.prototype),zn.prototype.constructor=zn,Bn.prototype["delete"]=function(n){return this.has(n)&&delete this.__data__[n]; |
||||
},Bn.prototype.get=function(n){return"__proto__"==n?m:this.__data__[n]},Bn.prototype.has=function(n){return"__proto__"!=n&&uu.call(this.__data__,n)},Bn.prototype.set=function(n,t){return"__proto__"!=n&&(this.__data__[n]=t),this},Mn.prototype.push=function(n){var t=this.data;typeof n=="string"||ye(n)?t.set.add(n):t.hash[n]=true},ce.Cache=Bn,Ln.after=function(n,t){if(typeof t!="function"){if(typeof n!="function")throw new Ge(L);var r=n;n=t,t=r}return n=Ou(n=+n)?n:0,function(){return 1>--n?t.apply(this,arguments):void 0; |
||||
}},Ln.ary=function(n,t,r){return r&&Sr(n,t,r)&&(t=null),t=n&&null==t?n.length:Iu(+t||0,0),gr(n,R,null,null,null,null,t)},Ln.assign=Bo,Ln.at=co,Ln.before=le,Ln.bind=Oo,Ln.bindAll=ko,Ln.bindKey=Io,Ln.callback=Fe,Ln.chain=Qr,Ln.chunk=function(n,t,r){t=(r?Sr(n,t,r):null==t)?1:Iu(+t||1,1),r=0;for(var e=n?n.length:0,u=-1,o=Me(su(e/t));r<e;)o[++u]=St(n,r,r+=t);return o},Ln.compact=function(n){for(var t=-1,r=n?n.length:0,e=-1,u=[];++t<r;){var o=n[t];o&&(u[++e]=o)}return u},Ln.constant=$e,Ln.countBy=so,Ln.create=function(n,t,r){ |
||||
var e=qu(n);return r&&Sr(n,t,r)&&(t=null),t?et(e,t):e},Ln.curry=Ro,Ln.curryRight=Eo,Ln.debounce=fe,Ln.defaults=Mo,Ln.defer=Co,Ln.delay=So,Ln.difference=Qu,Ln.drop=qr,Ln.dropRight=Dr,Ln.dropRightWhile=function(n,t,r){return n&&n.length?Pt(n,wr(t,r,3),true,true):[]},Ln.dropWhile=function(n,t,r){return n&&n.length?Pt(n,wr(t,r,3),true):[]},Ln.fill=function(n,t,r,e){var u=n?n.length:0;if(!u)return[];for(r&&typeof r!="number"&&Sr(n,t,r)&&(r=0,e=u),u=n.length,r=null==r?0:+r||0,0>r&&(r=-r>u?0:u+r),e=e===m||e>u?u:+e||0, |
||||
0>e&&(e+=u),u=r>e?0:e>>>0,r>>>=0;r<u;)n[r++]=t;return n},Ln.filter=re,Ln.flatten=function(n,t,r){var e=n?n.length:0;return r&&Sr(n,t,r)&&(t=false),e?_t(n,t):[]},Ln.flattenDeep=function(n){return n&&n.length?_t(n,true):[]},Ln.flow=To,Ln.flowRight=Uo,Ln.forEach=_o,Ln.forEachRight=vo,Ln.forIn=Ko,Ln.forInRight=Zo,Ln.forOwn=Vo,Ln.forOwnRight=Yo,Ln.functions=Oe,Ln.groupBy=go,Ln.indexBy=yo,Ln.initial=function(n){return Dr(n,1)},Ln.intersection=ro,Ln.invert=function(n,t,r){r&&Sr(n,t,r)&&(t=null),r=-1;for(var e=Jo(n),u=e.length,o={};++r<u;){ |
||||
var i=e[r],a=n[i];t?uu.call(o,a)?o[a].push(i):o[a]=[i]:o[a]=i}return o},Ln.invoke=mo,Ln.keys=Jo,Ln.keysIn=ke,Ln.map=ue,Ln.mapKeys=Xo,Ln.mapValues=Go,Ln.matches=Pe,Ln.matchesProperty=function(n,t){return jt(n,at(t,true))},Ln.memoize=ce,Ln.merge=Ho,Ln.method=li,Ln.methodOf=fi,Ln.mixin=Ne,Ln.negate=function(n){if(typeof n!="function")throw new Ge(L);return function(){return!n.apply(this,arguments)}},Ln.omit=Qo,Ln.once=function(n){return le(2,n)},Ln.pairs=Ie,Ln.partial=Wo,Ln.partialRight=Fo,Ln.partition=wo, |
||||
Ln.pick=ni,Ln.pluck=function(n,t){return ue(n,Be(t))},Ln.property=Be,Ln.propertyOf=function(n){return function(t){return mt(n,Br(t),t+"")}},Ln.pull=function(){var n=arguments,t=n[0];if(!t||!t.length)return t;for(var r=0,e=xr(),u=n.length;++r<u;)for(var o=0,i=n[r];-1<(o=e(t,i,o));)mu.call(t,o,1);return t},Ln.pullAt=eo,Ln.range=function(n,t,r){r&&Sr(n,t,r)&&(t=r=null),n=+n||0,r=null==r?1:+r||0,null==t?(t=n,n=0):t=+t||0;var e=-1;t=Iu(su((t-n)/(r||1)),0);for(var u=Me(t);++e<t;)u[e]=n,n+=r;return u},Ln.rearg=$o, |
||||
Ln.reject=function(n,t,r){var e=Lo(n)?Xn:pt;return t=wr(t,r,3),e(n,function(n,r,e){return!t(n,r,e)})},Ln.remove=function(n,t,r){var e=[];if(!n||!n.length)return e;var u=-1,o=[],i=n.length;for(t=wr(t,r,3);++u<i;)r=n[u],t(r,u,n)&&(e.push(r),o.push(u));return Rt(n,o),e},Ln.rest=Yr,Ln.restParam=se,Ln.set=function(n,t,r){if(null==n)return n;var e=t+"";t=null!=n[e]||Tr(t,n)?[e]:Br(t);for(var e=-1,u=t.length,o=u-1,i=n;null!=i&&++e<u;){var a=t[e];ye(i)&&(e==o?i[a]=r:null==i[a]&&(i[a]=Cr(t[e+1])?[]:{})),i=i[a]; |
||||
}return n},Ln.shuffle=ie,Ln.slice=function(n,t,r){var e=n?n.length:0;return e?(r&&typeof r!="number"&&Sr(n,t,r)&&(t=0,r=e),St(n,t,r)):[]},Ln.sortBy=function(n,t,r){if(null==n)return[];r&&Sr(n,t,r)&&(t=null);var e=-1;return t=wr(t,r,3),n=xt(n,function(n,r,u){return{a:t(n,r,u),b:++e,c:n}}),Ut(n,a)},Ln.sortByAll=Ao,Ln.sortByOrder=function(n,t,r,e){return null==n?[]:(e&&Sr(t,r,e)&&(r=null),Lo(t)||(t=null==t?[]:[t]),Lo(r)||(r=null==r?[]:[r]),Wt(n,t,r))},Ln.spread=function(n){if(typeof n!="function")throw new Ge(L); |
||||
return function(t){return n.apply(this,t)}},Ln.take=function(n,t,r){return n&&n.length?((r?Sr(n,t,r):null==t)&&(t=1),St(n,0,0>t?0:t)):[]},Ln.takeRight=function(n,t,r){var e=n?n.length:0;return e?((r?Sr(n,t,r):null==t)&&(t=1),t=e-(+t||0),St(n,0>t?0:t)):[]},Ln.takeRightWhile=function(n,t,r){return n&&n.length?Pt(n,wr(t,r,3),false,true):[]},Ln.takeWhile=function(n,t,r){return n&&n.length?Pt(n,wr(t,r,3)):[]},Ln.tap=function(n,t,r){return t.call(r,n),n},Ln.throttle=function(n,t,r){var e=true,u=true;if(typeof n!="function")throw new Ge(L); |
||||
return false===r?e=false:ye(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),$n.leading=e,$n.maxWait=+t,$n.trailing=u,fe(n,t,$n)},Ln.thru=ne,Ln.times=function(n,t,r){if(n=hu(n),1>n||!Ou(n))return[];var e=-1,u=Me(Ru(n,4294967295));for(t=Mt(t,r,1);++e<n;)4294967295>e?u[e]=t(e):t(e);return u},Ln.toArray=function(n){var t=n?Gu(n):0;return Wr(t)?t?Ln.support.unindexedChars&&be(n)?n.split(""):Dn(n):[]:Re(n)},Ln.toPlainObject=je,Ln.transform=function(n,t,r,e){var u=Lo(n)||xe(n);return t=wr(t,e,4), |
||||
null==r&&(u||ye(n)?(e=n.constructor,r=u?Lo(n)?new e:[]:qu(No(e)?e.prototype:null)):r={}),(u?Kn:gt)(n,function(n,e,u){return t(r,n,e,u)}),r},Ln.union=io,Ln.uniq=Jr,Ln.unzip=Xr,Ln.unzipWith=Gr,Ln.values=Re,Ln.valuesIn=function(n){return Lt(n,ke(n))},Ln.where=function(n,t){return re(n,At(t))},Ln.without=ao,Ln.wrap=function(n,t){return t=null==t?Le:t,gr(t,k,null,[n],[])},Ln.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(Er(r))var e=e?ft(e,r).concat(ft(r,e)):r}return e?$t(e):[]; |
||||
},Ln.zip=lo,Ln.zipObject=Hr,Ln.zipWith=fo,Ln.backflow=Uo,Ln.collect=ue,Ln.compose=Uo,Ln.each=_o,Ln.eachRight=vo,Ln.extend=Bo,Ln.iteratee=Fe,Ln.methods=Oe,Ln.object=Hr,Ln.select=re,Ln.tail=Yr,Ln.unique=Jr,Ne(Ln,Ln),Ln.add=function(n,t){return(+n||0)+(+t||0)},Ln.attempt=ai,Ln.camelCase=ti,Ln.capitalize=function(n){return(n=u(n))&&n.charAt(0).toUpperCase()+n.slice(1)},Ln.clone=function(n,t,r,e){return t&&typeof t!="boolean"&&Sr(n,t,r)?t=false:typeof t=="function"&&(e=r,r=t,t=false),typeof r=="function"?at(n,t,Mt(r,e,1)):at(n,t); |
||||
},Ln.cloneDeep=function(n,t,r){return typeof t=="function"?at(n,true,Mt(t,r,1)):at(n,true)},Ln.deburr=Ee,Ln.endsWith=function(n,t,r){n=u(n),t+="";var e=n.length;return r=r===m?e:Ru(0>r?0:+r||0,e),r-=t.length,0<=r&&n.indexOf(t,r)==r},Ln.escape=function(n){return(n=u(n))&&pn.test(n)?n.replace(cn,f):n},Ln.escapeRegExp=Ce,Ln.every=te,Ln.find=po,Ln.findIndex=no,Ln.findKey=qo,Ln.findLast=ho,Ln.findLastIndex=to,Ln.findLastKey=Do,Ln.findWhere=function(n,t){return po(n,At(t))},Ln.first=Kr,Ln.get=function(n,t,r){ |
||||
return n=null==n?m:mt(n,Br(t),t+""),n===m?r:n},Ln.gt=pe,Ln.gte=function(n,t){return n>=t},Ln.has=function(n,t){if(null==n)return false;var r=uu.call(n,t);if(!r&&!Tr(t)){if(t=Br(t),n=1==t.length?n:mt(n,St(t,0,-1)),null==n)return false;t=Vr(t),r=uu.call(n,t)}return r||Wr(n.length)&&Cr(t,n.length)&&(Lo(n)||he(n)||be(n))},Ln.identity=Le,Ln.includes=ee,Ln.indexOf=Zr,Ln.inRange=function(n,t,r){return t=+t||0,"undefined"===typeof r?(r=t,t=0):r=+r||0,n>=Ru(t,r)&&n<Iu(t,r)},Ln.isArguments=he,Ln.isArray=Lo,Ln.isBoolean=function(n){ |
||||
return true===n||false===n||p(n)&&iu.call(n)==B},Ln.isDate=function(n){return p(n)&&iu.call(n)==M},Ln.isElement=_e,Ln.isEmpty=function(n){return null==n?true:Er(n)&&(Lo(n)||be(n)||he(n)||p(n)&&No(n.splice))?!n.length:!Jo(n).length},Ln.isEqual=ve,Ln.isError=ge,Ln.isFinite=Po,Ln.isFunction=No,Ln.isMatch=function(n,t,r,e){return r=typeof r=="function"?Mt(r,e,3):m,bt(n,Ar(t),r)},Ln.isNaN=function(n){return me(n)&&n!=+n},Ln.isNative=de,Ln.isNull=function(n){return null===n},Ln.isNumber=me,Ln.isObject=ye,Ln.isPlainObject=zo, |
||||
Ln.isRegExp=we,Ln.isString=be,Ln.isTypedArray=xe,Ln.isUndefined=function(n){return n===m},Ln.kebabCase=ri,Ln.last=Vr,Ln.lastIndexOf=function(n,t,r){var e=n?n.length:0;if(!e)return-1;var u=e;if(typeof r=="number")u=(0>r?Iu(e+r,0):Ru(r||0,e-1))+1;else if(r)return u=zt(n,t,true)-1,n=n[u],(t===t?t===n:n!==n)?u:-1;if(t!==t)return s(n,u,true);for(;u--;)if(n[u]===t)return u;return-1},Ln.lt=Ae,Ln.lte=function(n,t){return n<=t},Ln.max=ci,Ln.min=si,Ln.noConflict=function(){return h._=au,this},Ln.noop=ze,Ln.now=jo, |
||||
Ln.pad=function(n,t,r){n=u(n),t=+t;var e=n.length;return e<t&&Ou(t)?(e=(t-e)/2,t=hu(e),e=su(e),r=hr("",e,r),r.slice(0,t)+n+r):n},Ln.padLeft=ei,Ln.padRight=ui,Ln.parseInt=Se,Ln.random=function(n,t,r){r&&Sr(n,t,r)&&(t=r=null);var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Tu(),Ru(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):Et(n,t)},Ln.reduce=bo,Ln.reduceRight=xo,Ln.repeat=Te, |
||||
Ln.result=function(n,t,r){var e=null==n?m:zr(n)[t];return e===m&&(null==n||Tr(t,n)||(t=Br(t),n=1==t.length?n:mt(n,St(t,0,-1)),e=null==n?m:zr(n)[Vr(t)]),e=e===m?r:e),No(e)?e.call(n):e},Ln.runInContext=d,Ln.size=function(n){var t=n?Gu(n):0;return Wr(t)?t:Jo(n).length},Ln.snakeCase=oi,Ln.some=ae,Ln.sortedIndex=uo,Ln.sortedLastIndex=oo,Ln.startCase=ii,Ln.startsWith=function(n,t,r){return n=u(n),r=null==r?0:Ru(0>r?0:+r||0,n.length),n.lastIndexOf(t,r)==r},Ln.sum=function(n,t,r){r&&Sr(n,t,r)&&(t=null);var e=wr(),u=null==t; |
||||
if(u&&e===it||(u=false,t=e(t,r,3)),u){for(n=Lo(n)?n:Nr(n),t=n.length,r=0;t--;)r+=+n[t]||0;n=r}else n=Ft(n,t);return n},Ln.template=function(n,t,r){var e=Ln.templateSettings;r&&Sr(n,t,r)&&(t=r=null),n=u(n),t=rt(et({},r||t),e,tt),r=rt(et({},t.imports),e.imports,tt);var o,i,a=Jo(r),l=Lt(r,a),f=0;r=t.interpolate||Rn;var s="__p+='";r=Je((t.escape||Rn).source+"|"+r.source+"|"+(r===vn?An:Rn).source+"|"+(t.evaluate||Rn).source+"|$","g");var p="sourceURL"in t?"//# sourceURL="+t.sourceURL+"\n":"";if(n.replace(r,function(t,r,e,u,a,l){ |
||||
return e||(e=u),s+=n.slice(f,l).replace(En,c),r&&(o=true,s+="'+__e("+r+")+'"),a&&(i=true,s+="';"+a+";\n__p+='"),e&&(s+="'+((__t=("+e+"))==null?'':__t)+'"),f=l+t.length,t}),s+="';",(t=t.variable)||(s="with(obj){"+s+"}"),s=(i?s.replace(on,""):s).replace(an,"$1").replace(ln,"$1;"),s="function("+(t||"obj")+"){"+(t?"":"obj||(obj={});")+"var __t,__p=''"+(o?",__e=_.escape":"")+(i?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+s+"return __p}",t=ai(function(){return Ke(a,p+"return "+s).apply(m,l); |
||||
}),t.source=s,ge(t))throw t;return t},Ln.trim=Ue,Ln.trimLeft=function(n,t,r){var e=n;return(n=u(n))?n.slice((r?Sr(e,t,r):null==t)?v(n):o(n,t+"")):n},Ln.trimRight=function(n,t,r){var e=n;return(n=u(n))?(r?Sr(e,t,r):null==t)?n.slice(0,g(n)+1):n.slice(0,i(n,t+"")+1):n},Ln.trunc=function(n,t,r){r&&Sr(n,t,r)&&(t=null);var e=C;if(r=S,null!=t)if(ye(t)){var o="separator"in t?t.separator:o,e="length"in t?+t.length||0:e;r="omission"in t?u(t.omission):r}else e=+t||0;if(n=u(n),e>=n.length)return n;if(e-=r.length, |
||||
1>e)return r;if(t=n.slice(0,e),null==o)return t+r;if(we(o)){if(n.slice(e).search(o)){var i,a=n.slice(0,e);for(o.global||(o=Je(o.source,(jn.exec(o)||"")+"g")),o.lastIndex=0;n=o.exec(a);)i=n.index;t=t.slice(0,null==i?e:i)}}else n.indexOf(o,e)!=e&&(o=t.lastIndexOf(o),-1<o&&(t=t.slice(0,o)));return t+r},Ln.unescape=function(n){return(n=u(n))&&sn.test(n)?n.replace(fn,y):n},Ln.uniqueId=function(n){var t=++ou;return u(n)+t},Ln.words=We,Ln.all=te,Ln.any=ae,Ln.contains=ee,Ln.eq=ve,Ln.detect=po,Ln.foldl=bo, |
||||
Ln.foldr=xo,Ln.head=Kr,Ln.include=ee,Ln.inject=bo,Ne(Ln,function(){var n={};return gt(Ln,function(t,r){Ln.prototype[r]||(n[r]=t)}),n}(),false),Ln.sample=oe,Ln.prototype.sample=function(n){return this.__chain__||null!=n?this.thru(function(t){return oe(t,n)}):oe(this.value())},Ln.VERSION=w,Kn("bind bindKey curry curryRight partial partialRight".split(" "),function(n){Ln[n].placeholder=Ln}),Kn(["dropWhile","filter","map","takeWhile"],function(n,t){var r=t!=$,e=t==W;zn.prototype[n]=function(n,u){var o=this.__filtered__,i=o&&e?new zn(this):this.clone(); |
||||
return(i.__iteratees__||(i.__iteratees__=[])).push({done:false,count:0,index:0,iteratee:wr(n,u,1),limit:-1,type:t}),i.__filtered__=o||r,i}}),Kn(["drop","take"],function(n,t){var r=n+"While";zn.prototype[n]=function(r){var e=this.__filtered__,u=e&&!t?this.dropWhile():this.clone();return r=null==r?1:Iu(hu(r)||0,0),e?t?u.__takeCount__=Ru(u.__takeCount__,r):Vr(u.__iteratees__).limit=r:(u.__views__||(u.__views__=[])).push({size:r,type:n+(0>u.__dir__?"Right":"")}),u},zn.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse(); |
||||
},zn.prototype[n+"RightWhile"]=function(n,t){return this.reverse()[r](n,t).reverse()}}),Kn(["first","last"],function(n,t){var r="take"+(t?"Right":"");zn.prototype[n]=function(){return this[r](1).value()[0]}}),Kn(["initial","rest"],function(n,t){var r="drop"+(t?"":"Right");zn.prototype[n]=function(){return this[r](1)}}),Kn(["pluck","where"],function(n,t){var r=t?"filter":"map",e=t?At:Be;zn.prototype[n]=function(n){return this[r](e(n))}}),zn.prototype.compact=function(){return this.filter(Le)},zn.prototype.reject=function(n,t){ |
||||
return n=wr(n,t,1),this.filter(function(t){return!n(t)})},zn.prototype.slice=function(n,t){n=null==n?0:+n||0;var r=this;return 0>n?r=this.takeRight(-n):n&&(r=this.drop(n)),t!==m&&(t=+t||0,r=0>t?r.dropRight(-t):r.take(t-n)),r},zn.prototype.toArray=function(){return this.drop(0)},gt(zn.prototype,function(n,t){var r=Ln[t];if(r){var e=/^(?:filter|map|reject)|While$/.test(t),u=/^(?:first|last)$/.test(t);Ln.prototype[t]=function(){function t(n){return n=[n],vu.apply(n,o),r.apply(Ln,n)}var o=arguments,i=this.__chain__,a=this.__wrapped__,l=!!this.__actions__.length,f=a instanceof zn,c=o[0],s=f||Lo(a); |
||||
return s&&e&&typeof c=="function"&&1!=c.length&&(f=s=false),f=f&&!l,u&&!i?f?n.call(a):r.call(Ln,this.value()):s?(a=n.apply(f?a:new zn(this),o),u||!l&&!a.__actions__||(a.__actions__||(a.__actions__=[])).push({func:ne,args:[t],thisArg:Ln}),new Nn(a,i)):this.thru(t)}}}),Kn("concat join pop push replace shift sort splice split unshift".split(" "),function(n){var t=(/^(?:replace|split)$/.test(n)?tu:He)[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:join|pop|replace|shift)$/.test(n),u=Mu.spliceObjects||!/^(?:pop|shift|splice)$/.test(n)?t:function(){ |
||||
var n=t.apply(this,arguments);return 0===this.length&&delete this[0],n};Ln.prototype[n]=function(){var n=arguments;return e&&!this.__chain__?u.apply(this.value(),n):this[r](function(t){return u.apply(t,n)})}}),gt(zn.prototype,function(n,t){var r=Ln[t];if(r){var e=r.name;(Nu[e]||(Nu[e]=[])).push({name:t,func:r})}}),Nu[pr(null,x).name]=[{name:"wrapper",func:null}],zn.prototype.clone=function(){var n=this.__actions__,t=this.__iteratees__,r=this.__views__,e=new zn(this.__wrapped__);return e.__actions__=n?Dn(n):null, |
||||
e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=t?Dn(t):null,e.__takeCount__=this.__takeCount__,e.__views__=r?Dn(r):null,e},zn.prototype.reverse=function(){if(this.__filtered__){var n=new zn(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n},zn.prototype.value=function(){var n=this.__wrapped__.value();if(!Lo(n))return Nt(n,this.__actions__);var t,r=this.__dir__,e=0>r;t=n.length;for(var u=this.__views__,o=0,i=-1,a=u?u.length:0;++i<a;){var l=u[i],f=l.size; |
||||
switch(l.type){case"drop":o+=f;break;case"dropRight":t-=f;break;case"take":t=Ru(t,o+f);break;case"takeRight":o=Iu(o,t-f)}}t={start:o,end:t},u=t.start,o=t.end,t=o-u,u=e?o:u-1,o=Ru(t,this.__takeCount__),a=(i=this.__iteratees__)?i.length:0,l=0,f=[];n:for(;t--&&l<o;){for(var u=u+r,c=-1,s=n[u];++c<a;){var p=i[c],h=p.iteratee,_=p.type;if(_==W){if(p.done&&(e?u>p.index:u<p.index)&&(p.count=0,p.done=false),p.index=u,!(p.done||(_=p.limit,p.done=-1<_?p.count++>=_:!h(s))))continue n}else if(p=h(s),_==$)s=p;else if(!p){ |
||||
if(_==F)continue n;break n}}f[l++]=s}return f},Ln.prototype.chain=function(){return Qr(this)},Ln.prototype.commit=function(){return new Nn(this.value(),this.__chain__)},Ln.prototype.plant=function(n){for(var t,r=this;r instanceof Pn;){var e=Mr(r);t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__}return u.__wrapped__=n,t},Ln.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof zn?(this.__actions__.length&&(n=new zn(this)),new Nn(n.reverse(),this.__chain__)):this.thru(function(n){return n.reverse(); |
||||
})},Ln.prototype.toString=function(){return this.value()+""},Ln.prototype.run=Ln.prototype.toJSON=Ln.prototype.valueOf=Ln.prototype.value=function(){return Nt(this.__wrapped__,this.__actions__)},Ln.prototype.collect=Ln.prototype.map,Ln.prototype.head=Ln.prototype.first,Ln.prototype.select=Ln.prototype.filter,Ln.prototype.tail=Ln.prototype.rest,Ln}var m,w="3.9.0",b=1,x=2,A=4,j=8,O=16,k=32,I=64,R=128,E=256,C=30,S="...",T=150,U=16,W=0,F=1,$=2,L="Expected a function",P="__lodash_placeholder__",N="[object Arguments]",z="[object Array]",B="[object Boolean]",M="[object Date]",q="[object Error]",D="[object Function]",K="[object Number]",Z="[object Object]",V="[object RegExp]",Y="[object String]",J="[object ArrayBuffer]",X="[object Float32Array]",G="[object Float64Array]",H="[object Int8Array]",Q="[object Int16Array]",nn="[object Int32Array]",tn="[object Uint8Array]",rn="[object Uint8ClampedArray]",en="[object Uint16Array]",un="[object Uint32Array]",on=/\b__p\+='';/g,an=/\b(__p\+=)''\+/g,ln=/(__e\(.*?\)|\b__t\))\+'';/g,fn=/&(?:amp|lt|gt|quot|#39|#96);/g,cn=/[&<>"'`]/g,sn=RegExp(fn.source),pn=RegExp(cn.source),hn=/<%-([\s\S]+?)%>/g,_n=/<%([\s\S]+?)%>/g,vn=/<%=([\s\S]+?)%>/g,gn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,yn=/^\w*$/,dn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,mn=/[.*+?^${}()|[\]\/\\]/g,wn=RegExp(mn.source),bn=/[\u0300-\u036f\ufe20-\ufe23]/g,xn=/\\(\\)?/g,An=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,jn=/\w*$/,On=/^0[xX]/,kn=/^\[object .+?Constructor\]$/,In=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Rn=/($^)/,En=/['\n\r\u2028\u2029\\]/g,Cn=RegExp("[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?=[A-Z\\xc0-\\xd6\\xd8-\\xde][a-z\\xdf-\\xf6\\xf8-\\xff]+)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|[0-9]+","g"),Sn=" \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",Tn="Array ArrayBuffer Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Math Number Object RegExp Set String _ clearTimeout document isFinite parseInt setTimeout TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap window".split(" "),Un="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Wn={}; |
||||
Wn[X]=Wn[G]=Wn[H]=Wn[Q]=Wn[nn]=Wn[tn]=Wn[rn]=Wn[en]=Wn[un]=true,Wn[N]=Wn[z]=Wn[J]=Wn[B]=Wn[M]=Wn[q]=Wn[D]=Wn["[object Map]"]=Wn[K]=Wn[Z]=Wn[V]=Wn["[object Set]"]=Wn[Y]=Wn["[object WeakMap]"]=false;var Fn={};Fn[N]=Fn[z]=Fn[J]=Fn[B]=Fn[M]=Fn[X]=Fn[G]=Fn[H]=Fn[Q]=Fn[nn]=Fn[K]=Fn[Z]=Fn[V]=Fn[Y]=Fn[tn]=Fn[rn]=Fn[en]=Fn[un]=true,Fn[q]=Fn[D]=Fn["[object Map]"]=Fn["[object Set]"]=Fn["[object WeakMap]"]=false;var $n={leading:false,maxWait:0,trailing:false},Ln={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A", |
||||
"\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u", |
||||
"\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss"},Pn={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Nn={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},zn={"function":true,object:true},Bn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Mn=zn[typeof exports]&&exports&&!exports.nodeType&&exports,qn=zn[typeof module]&&module&&!module.nodeType&&module,Dn=zn[typeof self]&&self&&self.Object&&self,Kn=zn[typeof window]&&window&&window.Object&&window,Zn=qn&&qn.exports===Mn&&Mn,Vn=Mn&&qn&&typeof global=="object"&&global&&global.Object&&global||Kn!==(this&&this.window)&&Kn||Dn||this,Yn=function(){ |
||||
try{Object({toString:0}+"")}catch(n){return function(){return false}}return function(n){return typeof n.toString!="function"&&typeof(n+"")=="string"}}(),Jn=d();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Vn._=Jn, define(function(){return Jn})):Mn&&qn?Zn?(qn.exports=Jn)._=Jn:Mn._=Jn:Vn._=Jn}).call(this); |
@ -1 +0,0 @@ |
||||
!function(e){"function"==typeof define&&define.amd?define(["moment"],e):"object"==typeof exports?module.exports=e(require("../moment")):e(("undefined"!=typeof global?global:this).moment)}(function(e){return e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few sec",m:"1 min",mm:"%d min",h:"1 h",hh:"%d h",d:"a day",dd:"%d days",M:"a month",MM:"%d mon",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,d=1===~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";return e+d},week:{dow:1,doy:4}})}); |
@ -1 +0,0 @@ |
||||
/*! ngstorage 0.3.4 | Copyright (c) 2015 Gias Kay Lee | MIT License */!function(a,b){"use strict";return"function"==typeof define&&define.amd?void define("ngStorage",["angular"],function(a){return b(a)}):b(a)}("undefined"==typeof angular?null:angular,function(a){"use strict";function b(b){return["$rootScope","$window","$log","$timeout",function(c,d,e,f){function g(a){var b=d[a];if(b&&"localStorage"===a){var c="__"+Math.round(1e7*Math.random());try{localStorage.setItem(c,c),localStorage.removeItem(c)}catch(e){b=!1}}return b}var h,i,j=g(b)||(e.warn("This browser does not support Web Storage!"),{setItem:function(){},getItem:function(){}}),k={$default:function(b){for(var c in b)a.isDefined(k[c])||(k[c]=b[c]);return k},$reset:function(a){for(var b in k)"$"===b[0]||delete k[b];return k.$default(a)}};try{j=d[b],j.length}catch(l){e.warn("This browser does not support Web Storage!"),j={}}for(var m,n=0,o=j.length;o>n;n++)(m=j.key(n))&&"ngStorage-"===m.slice(0,10)&&(k[m.slice(10)]=a.fromJson(j.getItem(m)));return h=a.copy(k),c.$watch(function(){var b;i||(i=f(function(){if(i=null,!a.equals(k,h)){b=a.copy(h),a.forEach(k,function(c,d){a.isDefined(c)&&"$"!==d[0]&&j.setItem("ngStorage-"+d,a.toJson(c)),delete b[d]});for(var c in b)j.removeItem("ngStorage-"+c);h=a.copy(k)}},100,!1))}),"localStorage"===b&&d.addEventListener&&d.addEventListener("storage",function(b){"ngStorage-"===b.key.slice(0,10)&&(b.newValue?k[b.key.slice(10)]=a.fromJson(b.newValue):delete k[b.key.slice(10)],h=a.copy(k),c.$apply())}),k}]}a.module("ngStorage",[]).factory("$localStorage",b("localStorage")).factory("$sessionStorage",b("sessionStorage"))}); |
@ -1 +0,0 @@ |
||||
!function(e){e(["jquery"],function(e){return function(){function t(e,t,n){return f({type:O.error,iconClass:g().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=g()),v=e("#"+t.containerId),v.length?v:(n&&(v=c(t)),v)}function i(e,t,n){return f({type:O.info,iconClass:g().iconClasses.info,message:e,optionsOverride:n,title:t})}function o(e){w=e}function s(e,t,n){return f({type:O.success,iconClass:g().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return f({type:O.warning,iconClass:g().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e){var t=g();v||n(t),l(e,t)||u(t)}function d(t){var i=g();return v||n(i),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function u(t){for(var n=v.children(),i=n.length-1;i>=0;i--)l(e(n[i]),t)}function l(t,n){return t&&0===e(":focus",t).length?(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0):!1}function c(t){return v=e("<div/>").attr("id",t.containerId).addClass(t.positionClass).attr("aria-live","polite").attr("role","alert"),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toast",containerId:"toast-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},iconClass:"toast-info",positionClass:"toast-top-right",timeOut:5e3,titleClass:"toast-title",messageClass:"toast-message",target:"body",closeHtml:"<button>×</button>",newestOnTop:!0,preventDuplicates:!1,progressBar:!1}}function m(e){w&&w(e)}function f(t){function i(t){return!e(":focus",l).length||t?(clearTimeout(O.intervalId),l[r.hideMethod]({duration:r.hideDuration,easing:r.hideEasing,complete:function(){h(l),r.onHidden&&"hidden"!==b.state&&r.onHidden(),b.state="hidden",b.endTime=new Date,m(b)}})):void 0}function o(){(r.timeOut>0||r.extendedTimeOut>0)&&(u=setTimeout(i,r.extendedTimeOut),O.maxHideTime=parseFloat(r.extendedTimeOut),O.hideEta=(new Date).getTime()+O.maxHideTime)}function s(){clearTimeout(u),O.hideEta=0,l.stop(!0,!0)[r.showMethod]({duration:r.showDuration,easing:r.showEasing})}function a(){var e=(O.hideEta-(new Date).getTime())/O.maxHideTime*100;f.width(e+"%")}var r=g(),d=t.iconClass||r.iconClass;if(r.preventDuplicates){if(t.message===C)return;C=t.message}"undefined"!=typeof t.optionsOverride&&(r=e.extend(r,t.optionsOverride),d=t.optionsOverride.iconClass||d),T++,v=n(r,!0);var u=null,l=e("<div/>"),c=e("<div/>"),p=e("<div/>"),f=e("<div/>"),w=e(r.closeHtml),O={intervalId:null,hideEta:null,maxHideTime:null},b={toastId:T,state:"visible",startTime:new Date,options:r,map:t};return t.iconClass&&l.addClass(r.toastClass).addClass(d),t.title&&(c.append(t.title).addClass(r.titleClass),l.append(c)),t.message&&(p.append(t.message).addClass(r.messageClass),l.append(p)),r.closeButton&&(w.addClass("toast-close-button").attr("role","button"),l.prepend(w)),r.progressBar&&(f.addClass("toast-progress"),l.prepend(f)),l.hide(),r.newestOnTop?v.prepend(l):v.append(l),l[r.showMethod]({duration:r.showDuration,easing:r.showEasing,complete:r.onShown}),r.timeOut>0&&(u=setTimeout(i,r.timeOut),O.maxHideTime=parseFloat(r.timeOut),O.hideEta=(new Date).getTime()+O.maxHideTime,r.progressBar&&(O.intervalId=setInterval(a,10))),l.hover(s,o),!r.onclick&&r.tapToDismiss&&l.click(i),r.closeButton&&w&&w.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),i(!0)}),r.onclick&&l.click(function(){r.onclick(),i()}),m(b),r.debug&&console&&console.log(b),l}function g(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&v.remove())}var v,w,C,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:d,error:t,getContainer:n,info:i,options:{},subscribe:o,success:s,version:"2.1.0",warning:a};return b}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)}); |
@ -1,33 +0,0 @@ |
||||
(function() { |
||||
$('body').on('mouseenter', '[data-toggle="tooltip"]', function( event ) { |
||||
$(this).tooltip('show'); |
||||
}).on('mouseleave', '[data-toggle="tooltip"]', function( event ) { |
||||
$(this).tooltip('hide'); |
||||
}); |
||||
|
||||
$.fn.sparkline.defaults.bar.height = 63; |
||||
$.fn.sparkline.defaults.bar.barWidth = 6; |
||||
|
||||
if( $('body').width() < 600 ) |
||||
$.fn.sparkline.defaults.bar.barWidth = 4; |
||||
else if( $('body').width() < 1200 ) |
||||
$.fn.sparkline.defaults.bar.barWidth = 5; |
||||
$.fn.sparkline.defaults.bar.barSpacing = 1; |
||||
$.fn.sparkline.defaults.bar.tooltipClassname = 'jqstooltip'; |
||||
$.fn.sparkline.defaults.bar.tooltipOffsetX = 0; |
||||
$.fn.sparkline.defaults.bar.tooltipFormat = $.spformat('<div class="tooltip-arrow"></div><div class="tooltip-inner">{{prefix}}{{value}} {{suffix}}</div>'); |
||||
$.fn.sparkline.defaults.bar.colorMap = $.range_map({ |
||||
'0:6': '#8be9fd', |
||||
'6:15': '#50fa7b', |
||||
'15:40': '#f1fa8c', |
||||
'40:60': '#ffb86c', |
||||
'60:': '#ff5555' |
||||
}); |
||||
|
||||
moment.relativeTimeThreshold('s', 60); |
||||
moment.relativeTimeThreshold('m', 60); |
||||
moment.relativeTimeThreshold('h', 24); |
||||
moment.relativeTimeThreshold('d', 28); |
||||
moment.relativeTimeThreshold('M', 12); |
||||
|
||||
})(); |