commit 02e34b1e20e06be9dc7d686dd5cdaeb1ec555f66 Author: vsphim Date: Wed May 20 12:49:03 2026 +0700 Initial commit diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/README.md b/README.md new file mode 100644 index 0000000..9bc8bde --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# THEME - HHTQ 2022 - VSMOV CMS + +## Demo +### Trang Chủ +![Alt text](https://i.ibb.co/L5RJkJb/HHTQ-INDEX.png "Home Page") + +### Trang Danh Sách Phim +![Alt text](https://i.ibb.co/nMxHy5m/HHTQ-CATALOG.png "Catalog Page") + +### Trang Thông Tin Phim +![Alt text](https://i.ibb.co/B4XjKWr/HHTQ-SINGLE.png "Single Page") + +### Trang Xem Phim +![Alt text](https://i.ibb.co/X5190BS/HHTQ-EPISODE.png "Episode Page") + +## Requirements +https://github.com/vsphim/vsmov-core + +## Install +1. Tại thư mục của Project: `composer require vsmov/theme-hhtq` +2. Kích hoạt giao diện trong Admin Panel + +## Update +1. Tại thư mục của Project: `composer update vsmov/theme-hhtq` +2. Re-Activate giao diện trong Admin Panel + +## Note +- Một vài lưu ý quan trọng của các nút chức năng: + + `Activate` và `Re-Activate` sẽ publish toàn bộ file js,css trong themes ra ngoài public của laravel. + + `Reset` reset lại toàn bộ cấu hình của themes + +## Document +### List +- Trang chủ: `Label|relation|find_by_field|value|sort_by_field|sort_algo|limit|show_more_url` + + Ví dụ theo định dạng: `Phim lẻ mới||type|single|updated_at|desc|12|/danh-sach/phim-le` + + Ví dụ theo định dạng: `Phim bộ mới||type|series|updated_at|desc|12|/danh-sach/phim-bo` + + Ví dụ theo thể loại: `Phim hành động|categories|slug|hanh-dong|updated_at|desc|12|/the-loai/hanh-dong` + + Ví dụ theo quốc gia: `Phim hàn quốc|regions|slug|han-quoc|updated_at|desc|12|/quoc-gia/han-quoc` + + Ví dụ với các field khác: `Phim thịnh hành||is_copyright|0|view_week|desc|12|` + + +### Custom View Blade +- File blade gốc trong Package: `/vendor/vsmov/theme-hhtq/resources/views/themehhtq` +- Copy file cần custom đến: `/resources/views/vendor/themes/themehhtq` diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..7a91ae2 --- /dev/null +++ b/composer.json @@ -0,0 +1,32 @@ +{ + "name": "vsmov/theme-hhtq", + "description": "VsMov's hhtq theme", + "type": "library", + "authors": [ + { + "name": "vsmov", + "email": "vsmov@gmail.com" + } + ], + "require": { + "laravel/framework": "^6|^7|^8", + "ckfinder/ckfinder-laravel-package": "v3.5.2.1", + "vsmov/vsmov-core": "^1.0.0" + }, + "license": "MIT", + "autoload": { + "psr-4": { + "VsMov\\ThemeHhtq\\": "src/", + "VsMov\\ThemeHhtq\\Database\\Factories\\": "database/factories/", + "VsMov\\ThemeHhtq\\Database\\Seeders\\": "database/seeders/" + } + }, + "extra": { + "laravel": { + "providers": [ + "VsMov\\ThemeHhtq\\ThemeHhtqServiceProvider" + ] + } + }, + "minimum-stability": "stable" +} diff --git a/resources/assets/libs/jquery-raty/fonts/raty.eot b/resources/assets/libs/jquery-raty/fonts/raty.eot new file mode 100644 index 0000000..2faa8e6 Binary files /dev/null and b/resources/assets/libs/jquery-raty/fonts/raty.eot differ diff --git a/resources/assets/libs/jquery-raty/fonts/raty.svg b/resources/assets/libs/jquery-raty/fonts/raty.svg new file mode 100644 index 0000000..8bd28d0 --- /dev/null +++ b/resources/assets/libs/jquery-raty/fonts/raty.svg @@ -0,0 +1,15 @@ + + + +Generated by IcoMoon + + + + + + + + + + + \ No newline at end of file diff --git a/resources/assets/libs/jquery-raty/fonts/raty.ttf b/resources/assets/libs/jquery-raty/fonts/raty.ttf new file mode 100644 index 0000000..fdb5061 Binary files /dev/null and b/resources/assets/libs/jquery-raty/fonts/raty.ttf differ diff --git a/resources/assets/libs/jquery-raty/fonts/raty.woff b/resources/assets/libs/jquery-raty/fonts/raty.woff new file mode 100644 index 0000000..06d1106 Binary files /dev/null and b/resources/assets/libs/jquery-raty/fonts/raty.woff differ diff --git a/resources/assets/libs/jquery-raty/images/cancel-off.png b/resources/assets/libs/jquery-raty/images/cancel-off.png new file mode 100644 index 0000000..508d084 Binary files /dev/null and b/resources/assets/libs/jquery-raty/images/cancel-off.png differ diff --git a/resources/assets/libs/jquery-raty/images/cancel-on.png b/resources/assets/libs/jquery-raty/images/cancel-on.png new file mode 100644 index 0000000..2612ea3 Binary files /dev/null and b/resources/assets/libs/jquery-raty/images/cancel-on.png differ diff --git a/resources/assets/libs/jquery-raty/images/star-half.png b/resources/assets/libs/jquery-raty/images/star-half.png new file mode 100644 index 0000000..a315a82 Binary files /dev/null and b/resources/assets/libs/jquery-raty/images/star-half.png differ diff --git a/resources/assets/libs/jquery-raty/images/star-off.png b/resources/assets/libs/jquery-raty/images/star-off.png new file mode 100644 index 0000000..956fa7c Binary files /dev/null and b/resources/assets/libs/jquery-raty/images/star-off.png differ diff --git a/resources/assets/libs/jquery-raty/images/star-on.png b/resources/assets/libs/jquery-raty/images/star-on.png new file mode 100644 index 0000000..975fe7f Binary files /dev/null and b/resources/assets/libs/jquery-raty/images/star-on.png differ diff --git a/resources/assets/libs/jquery-raty/jquery.raty.css b/resources/assets/libs/jquery-raty/jquery.raty.css new file mode 100644 index 0000000..2c81574 --- /dev/null +++ b/resources/assets/libs/jquery-raty/jquery.raty.css @@ -0,0 +1,46 @@ +.cancel-on-png, .cancel-off-png, .star-on-png, .star-off-png, .star-half-png { + font-size: 2em; +} + +@font-face { + font-family: "raty"; + font-style: normal; + font-weight: normal; + src: url("./fonts/raty.eot"); + src: url("./fonts/raty.eot?#iefix") format("embedded-opentype"); + src: url("./fonts/raty.svg#raty") format("svg"); + src: url("./fonts/raty.ttf") format("truetype"); + src: url("./fonts/raty.woff") format("woff"); +} + +.cancel-on-png, .cancel-off-png, .star-on-png, .star-off-png, .star-half-png { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + font-family: "raty"; + font-style: normal; + font-variant: normal; + font-weight: normal; + line-height: 1; + speak: none; + text-transform: none; +} + +.cancel-on-png:before { + content: "\e600"; +} + +.cancel-off-png:before { + content: "\e601"; +} + +.star-on-png:before { + content: "\f005"; +} + +.star-off-png:before { + content: "\f006"; +} + +.star-half-png:before { + content: "\f123"; +} diff --git a/resources/assets/libs/jquery-raty/jquery.raty.js b/resources/assets/libs/jquery-raty/jquery.raty.js new file mode 100644 index 0000000..fa0cf06 --- /dev/null +++ b/resources/assets/libs/jquery-raty/jquery.raty.js @@ -0,0 +1,777 @@ +/*! + * Raty - A Star Rating Plugin + * + * The MIT License + * + * author: Washington Botelho + * github: wbotelhos/raty + * version: 3.1.0 + * + */ + +(function(root, factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + module.exports = factory(require('jquery')); + } else { + factory(root.jQuery); + } +}(this, function($) { + 'use strict'; + + $.raty = { + cancelButton: false, + cancelClass: 'raty-cancel', + cancelHint: 'Cancel this rating!', + cancelOff: 'cancel-off.png', + cancelOn: 'cancel-on.png', + cancelPlace: 'left', + click: undefined, + half: false, + halfShow: true, + hints: ['bad', 'poor', 'regular', 'good', 'gorgeous'], + iconRange: undefined, + iconRangeSame: false, + mouseout: undefined, + mouseover: undefined, + noRatedMsg: 'Not rated yet!', + number: 5, + numberMax: 20, + path: undefined, + precision: false, + readOnly: false, + round: { down: 0.25, full: 0.6, up: 0.76 }, + score: undefined, + scoreName: 'score', + single: false, + space: true, + starHalf: 'star-half.png', + starOff: 'star-off.png', + starOn: 'star-on.png', + starType: 'img', + target: undefined, + targetFormat: '{score}', + targetKeep: false, + targetScore: undefined, + targetText: '', + targetType: 'hint' + }; + + $.fn.raty = function(options) { + return this.each(function() { + var instance = new $.raty.Raty(this, options); + + return instance._create(); + }); + }; + + $.raty.Raty = (function() { + var Raty = function(element, options) { + this.element = element; + this.self = $(element); + this.opt = $.extend(true, {}, $.raty, options, this.self.data()); + }; + + Raty.prototype = { + _create: function() { + this._executeCallbacks(); + this._adjustNumber(); + this._adjustHints(); + + this.opt.score = this._adjustedScore(this.opt.score); + + if (this.opt.starType !== 'img') { + this._adjustStarName(); + } + + this._setPath(); + this._createStars(); + + if (this.opt.cancelButton) { + this._createCancel(); + } + + if (this.opt.precision) { + this._adjustPrecision(); + } + + this._createScore(); + + this._apply(this.opt.score); + this._setTitle(this.opt.score); + this._target(this.opt.score); + + if (this.opt.readOnly) { + this._lock(); + } else { + this.element.style.cursor = 'pointer'; + + this._binds(); + } + + this.self.data('raty', this); + }, + + // TODO: model spec + _adjustedScore: function(score) { + if (score || score === 0) { + return this._between(score, 0, this.opt.number); + } + }, + + _adjustHints: function() { + if (!this.opt.hints) { + this.opt.hints = []; + } + + if (!this.opt.halfShow && !this.opt.half) { + return; + } + + var steps = this.opt.precision ? 10 : 2; + + for (var i = 0; i < this.opt.number; i++) { + var group = this.opt.hints[i]; + + if (Object.prototype.toString.call(group) !== '[object Array]') { + group = [group]; + } + + this.opt.hints[i] = []; + + for (var j = 0; j < steps; j++) { + var hint = group[j]; + var last = group[group.length - 1]; + + if (last === undefined) { + last = null; + } + + this.opt.hints[i][j] = hint === undefined ? last : hint; + } + } + }, + + _adjustNumber: function() { + this.opt.number = this._between(this.opt.number, 1, this.opt.numberMax); + }, + + _adjustPrecision: function() { + this.opt.half = true; + }, + + _adjustStarName: function() { + var replaces = ['cancelOff', 'cancelOn', 'starHalf', 'starOff', 'starOn']; + + this.opt.path = ''; + + for (var i = 0; i < replaces.length; i++) { + this.opt[replaces[i]] = this.opt[replaces[i]].replace('.', '-'); + } + }, + + // TODO: model spec + _apply: function(score) { + this._fill(score); + + if (score) { + if (score > 0) { + this.scoreField.val(score); + } + + this._roundStars(score); + } + }, + + _attributesForIndex: function(i) { + var name = this._nameForIndex(i); + var attributes = { alt: i, src: this.opt.path + this.opt[name] }; + + if (this.opt.starType !== 'img') { + attributes = { 'data-alt': i, 'class': this.opt[name] }; + } + + attributes.title = this._getHint(i); + + return attributes; + }, + + _between: function(value, min, max) { + return Math.min(Math.max(parseFloat(value), min), max); + }, + + // TODO: model spec + _binds: function() { + if (this.cancelButton) { + this._bindOverCancel(); + this._bindClickCancel(); + this._bindOutCancel(); + } + + this._bindOver(); + this._bindClick(); + this._bindOut(); + }, + + // TODO: model spec + _bindClick: function() { + var that = this; + + this.stars.on('click.raty', function(evt) { + if (that.self.data('readonly')) { + return; + } + + var execute = true; + var score = (that.opt.half || that.opt.precision) ? that.self.data('score') : (this.alt || $(this).data('alt')); + + if (that.opt.half && !that.opt.precision) { + score = that._roundHalfScore(score); + } + + if (that.opt.click) { + execute = that.opt.click.call(that.element, +score, evt); + } + + if (execute || execute === undefined) { + that._apply(+score); + } + }); + }, + + // TODO: model spec + _bindClickCancel: function() { + this.cancelButton.on('click.raty', function(evt) { + this.scoreField.removeAttr('value'); + + if (this.opt.click) { + this.opt.click.call(this.element, null, evt); + } + }.bind(this)); + }, + + // TODO: model spec + _bindOut: function() { + this.self.on('mouseleave.raty', function(evt) { + var score = +this.scoreField.val() || undefined; + + this._apply(score); + this._target(score, evt); + this._resetTitle(); + + if (this.opt.mouseout) { + this.opt.mouseout.call(this.element, score, evt); + } + }.bind(this)); + }, + + // TODO: model spec + _bindOutCancel: function() { + var that = this; + + this.cancelButton.on('mouseleave.raty', function(evt) { + var icon = that.opt.cancelOff; + + if (that.opt.starType !== 'img') { + icon = that.opt.cancelClass + ' ' + icon; + } + + that._setIcon(this, icon); + + if (that.opt.mouseout) { + var score = +that.scoreField.val() || undefined; + + that.opt.mouseout.call(that.element, score, evt); + } + }); + }, + + // TODO: model spec + _bindOver: function() { + var that = this; + var action = that.opt.half ? 'mousemove.raty' : 'mouseover.raty'; + + this.stars.on(action, function(evt) { + var score = that._getScoreByPosition(evt, this); + + that._fill(score); + + if (that.opt.half) { + that._roundStars(score, evt); + that._setTitle(score, evt); + + that.self.data('score', score); + } + + that._target(score, evt); + + if (that.opt.mouseover) { + that.opt.mouseover.call(that.element, score, evt); + } + }); + }, + + // TODO: model spec + _bindOverCancel: function() { + var that = this; + + this.cancelButton.on('mouseover.raty', function(evt) { + if (that.self.data('readonly')) { + return; + } + + var starOff = that.opt.path + that.opt.starOff; + var icon = that.opt.cancelOn; + + if (that.opt.starType === 'img') { + that.stars.attr('src', starOff); + } else { + icon = that.opt.cancelClass + ' ' + icon; + + that.stars.attr('class', starOff); + } + + that._setIcon(this, icon); + that._target(null, evt); + + if (that.opt.mouseover) { + that.opt.mouseover.call(that.element, null); + } + }); + }, + + // TODO: model spec + _buildScoreField: function() { + return $('', { name: this.opt.scoreName, type: 'hidden' }).appendTo(this.self); + }, + + // TODO: model spec + _createCancel: function() { + var icon = this.opt.path + this.opt.cancelOff; + var button = $('<' + this.opt.starType + ' />', { title: this.opt.cancelHint, 'class': this.opt.cancelClass }); + + if (this.opt.starType === 'img') { + button.attr({ src: icon, alt: 'x' }); + } else { + // TODO: use $.data + button.attr('data-alt', 'x').addClass(icon); + } + + if (this.opt.cancelPlace === 'left') { + this.self.prepend(' ').prepend(button); + } else { + this.self.append(' ').append(button); + } + + this.cancelButton = button; + }, + + // TODO: model spec + _createScore: function() { + var score = $(this.opt.targetScore); + + this.scoreField = score.length ? score : this._buildScoreField(); + }, + + _createStars: function() { + for (var i = 1; i <= this.opt.number; i++) { + var attributes = this._attributesForIndex(i); + + $('<' + this.opt.starType + ' />', attributes).appendTo(this.element); + + if (this.opt.space && i < this.opt.number) { + this.self.append(' '); + } + } + + this.stars = this.self.children(this.opt.starType); + }, + + // TODO: model spec + _error: function(message) { + $(this).text(message); + + $.error(message); + }, + + _executeCallbacks: function() { + var options = ['number', 'readOnly', 'score', 'scoreName', 'target', 'path']; + + for (var i = 0; i < options.length; i++) { + if (typeof this.opt[options[i]] === 'function') { + var value = this.opt[options[i]].call(this.element); + + if (value) { + this.opt[options[i]] = value; + } else { + delete this.opt[options[i]]; + } + } + } + }, + + // TODO: model spec + _fill: function(score) { + var hash = 0; + + if (this.opt.iconRangeSame && this.opt.iconRange) { + while (hash < this.opt.iconRange.length && this.opt.iconRange[hash].range < score) { + hash++; + } + } + + for (var i = 1; i <= this.stars.length; i++) { + var icon; + var star = this.stars[i - 1]; + var turnOn = this._turnOn(i, score); + + if (this.opt.iconRange && this.opt.iconRange.length > hash) { + var irange = this.opt.iconRange[hash]; + + icon = this._getRangeIcon(irange, turnOn); + + if (i <= irange.range) { + this._setIcon(star, icon); + } + + if (i === irange.range) { + hash++; + } + } else { + icon = this.opt[turnOn ? 'starOn' : 'starOff']; + + this._setIcon(star, icon); + } + } + }, + + _getDecimal: function(number, fractions) { + var decimal = number.toString().split('.')[1]; + var result = 0; + + if (decimal) { + result = parseInt(decimal.slice(0, fractions), 10); + + if (decimal.slice(1, 5) === '9999') { + result++; + } + } + + return result; + }, + + // TODO: model spec + _getRangeIcon: function(irange, turnOn) { + return turnOn ? irange.on || this.opt.starOn : irange.off || this.opt.starOff; + }, + + // TODO: model spec + _getScoreByPosition: function(evt, icon) { + var score = parseInt(icon.alt || icon.getAttribute('data-alt'), 10); + + if (this.opt.half) { + var size = this._getWidth(); + var percent = parseFloat((evt.pageX - $(icon).offset().left) / size); + + score = score - 1 + percent; + } + + return score; + }, + + // TODO: model spec + _getHint: function(score, evt) { + if (score !== 0 && !score) { + return this.opt.noRatedMsg; + } + + var decimal = this._getDecimal(score, 1); + var integer = Math.ceil(score); + var group = this.opt.hints[(integer || 1) - 1]; + var hint = group; + var set = !evt || this.isMove; + + if (this.opt.precision) { + if (set) { + decimal = decimal === 0 ? 9 : decimal - 1; + } + + hint = group[decimal]; + } else if (this.opt.halfShow || this.opt.half) { + decimal = set && decimal === 0 ? 1 : decimal > 5 ? 1 : 0; + + hint = group[decimal]; + } + + return hint === '' ? '' : hint || score; + }, + + // TODO: model spec + _getWidth: function() { + var width = this.stars[0].width || parseFloat(this.stars.eq(0).css('font-size')); + + if (!width) { + this._error('Could not get the icon width!'); + } + + return width; + }, + + // TODO: model spec + _lock: function() { + var hint = this._getHint(this.scoreField.val()); + + this.element.style.cursor = ''; + this.element.title = hint; + + this.scoreField.prop('readonly', true); + this.stars.prop('title', hint); + + if (this.cancelButton) { + this.cancelButton.hide(); + } + + this.self.data('readonly', true); + }, + + _nameForIndex: function(i) { + return this.opt.score && this.opt.score >= i ? 'starOn' : 'starOff'; + }, + + // TODO: model spec + _resetTitle: function() { + for (var i = 0; i < this.opt.number; i++) { + this.stars[i].title = this._getHint(i + 1); + } + }, + + // TODO: model spec + _roundHalfScore: function(score) { + var integer = parseInt(score, 10); + var decimal = this._getDecimal(score, 1); + + if (decimal !== 0) { + decimal = decimal > 5 ? 1 : 0.5; + } + + return integer + decimal; + }, + + // TODO: model spec + _roundStars: function(score, evt) { + var name = this._starName(score, evt); + + if (name) { + var icon = this.opt[name]; + var star = this.stars[Math.ceil(score) - 1]; + + this._setIcon(star, icon); + } // Full down: [x.00 .. x.25] + }, + + // TODO: model spec + _setIcon: function(star, icon) { + star[this.opt.starType === 'img' ? 'src' : 'className'] = this.opt.path + icon; + }, + + _setPath: function() { + this.opt.path = this.opt.path || ''; + + if (this.opt.path && this.opt.path.slice(-1)[0] !== '/') { + this.opt.path += '/'; + } + }, + + // TODO: model spec + _setTarget: function(target, score) { + if (score) { + score = this.opt.targetFormat.toString().replace('{score}', score); + } + + if (target.is(':input')) { + target.val(score); + } else { + target.html(score); + } + }, + + // TODO: model spec + _setTitle: function(score, evt) { + if (score) { + var integer = parseInt(Math.ceil(score), 10); + var star = this.stars[integer - 1]; + + star.title = this._getHint(score, evt); + } + }, + + _starName: function(score, evt) { + var decimal = +(score % 1).toFixed(2); + + if (evt || this.isMove) { + return decimal > 0.5 ? 'starOn' : 'starHalf'; + } + + if (decimal <= this.opt.round.down) { // Down: [x.00 ... x.25] + return; + } + + if (this.opt.halfShow && decimal < this.opt.round.up) { // Half: [x.26 ... x.75] + return 'starHalf'; + } + + if (decimal < this.opt.round.full) { // Off: [x.26 .. x.6] + return 'starOff'; + } + + return 'starOn'; // Up: [x.26 ...] || [x.6 ...] + }, + + // TODO: model spec + _target: function(score, evt) { + if (this.opt.target) { + var target = $(this.opt.target); + + if (!target.length) { + this._error('Target selector invalid or missing!'); + } + + var mouseover = evt && evt.type === 'mouseover'; + + if (score === undefined) { + score = this.opt.targetText; + } else if (score === null) { + score = mouseover ? this.opt.cancelHint : this.opt.targetText; + } else { + if (this.opt.targetType === 'hint') { + score = this._getHint(score, evt); + } else if (this.opt.precision) { + score = parseFloat(score).toFixed(1); + } + + var mousemove = evt && evt.type === 'mousemove'; + + if (!mouseover && !mousemove && !this.opt.targetKeep) { + score = this.opt.targetText; + } + } + + this._setTarget(target, score); + } + }, + + // TODO: model spec + _turnOn: function(i, score) { + return this.opt.single ? (i === score) : (i <= score); + }, + + // TODO: model spec + _unlock: function() { + this.element.style.cursor = 'pointer'; + this.element.removeAttribute('title'); + + this.scoreField.removeAttr('readonly'); + + this.self.data('readonly', false); + + this._resetTitle(); + + if (this.cancelButton) { + this.cancelButton.css('display', ''); + } + }, + + // TODO: model spec + cancel: function(click) { + if (this.self.data('readonly') !== true) { + this[click ? 'click' : 'score'].call(this, null); + + this.scoreField.removeAttr('value'); + } + }, + + // TODO: model spec + click: function(score) { + if (this.self.data('readonly') !== true) { + score = this._adjustedScore(score); + + this._apply(score); + + if (this.opt.click) { + this.opt.click.call(this.element, score, $.Event('click')); + } + + this._target(score); + } + }, + + // TODO: model spec + getScore: function() { + var score = []; + var value ; + + value = this.scoreField.val(); + + score.push(value ? +value : undefined); + + return (score.length > 1) ? score : score[0]; + }, + + // TODO: model spec + move: function(score) { + var integer = parseInt(score, 10); + var decimal = this._getDecimal(score, 1); + + if (integer >= this.opt.number) { + integer = this.opt.number - 1; + decimal = 10; + } + + var width = this._getWidth(); + var steps = width / 10; + var star = $(this.stars[integer]); + var percent = star.offset().left + steps * decimal; + var evt = $.Event('mousemove', { pageX: percent }); + + this.isMove = true; + + star.trigger(evt); + + this.isMove = false; + }, + + // TODO: model spec + readOnly: function(readonly) { + if (this.self.data('readonly') !== readonly) { + if (readonly) { + this.self.off('.raty').children(this.opt.starType).off('.raty'); + + this._lock(); + } else { + this._binds(); + this._unlock(); + } + + this.self.data('readonly', readonly); + } + }, + + // TODO: model spec + score: function() { + return arguments.length ? this.setScore.apply(this, arguments) : this.getScore(); + }, + + setScore: function(score) { + if (this.self.data('readonly') !== true) { + score = this._adjustedScore(score); + + this._apply(score); + this._target(score); + } + } + }; + + return Raty; + })(); +})); diff --git a/resources/assets/player/1s_blank.mp4 b/resources/assets/player/1s_blank.mp4 new file mode 100644 index 0000000..d584a58 Binary files /dev/null and b/resources/assets/player/1s_blank.mp4 differ diff --git a/resources/assets/player/js/p2p-media-loader-core.min.js b/resources/assets/player/js/p2p-media-loader-core.min.js new file mode 100644 index 0000000..2a25b93 --- /dev/null +++ b/resources/assets/player/js/p2p-media-loader-core.min.js @@ -0,0 +1 @@ +require=function e(t,n,r){function i(o,a){if(!n[o]){if(!t[o]){var u="function"==typeof require&&require;if(!a&&u)return u(o,!0);if(s)return s(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var h=n[o]={exports:{}};t[o][0].call(h.exports,function(e){return i(t[o][1][e]||e)},h,h.exports,e,t,n,r)}return n[o].exports}for(var s="function"==typeof require&&require,o=0;or;)this.currentBytesSum-=this.lastBytes.shift().value;this.lastBandwidth.push(new s(this.currentBytesSum/r,t))}getBandwidth(e){for(;0!=this.lastBandwidth.length&&e-this.lastBandwidth[0].timeStamp>i;)this.lastBandwidth.shift();let t=0;for(const e of this.lastBandwidth)e.value>t&&(t=e.value);return t}getSmoothInterval(){return r}getMeasureInterval(){return i}}},{}],2:[function(e,t,n){window.p2pml||(window.p2pml={}),window.p2pml.core=e("./index")},{"./index":"p2p-media-loader-core"}],3:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});const r=e("debug"),i=e("./stringly-typed-event-emitter");n.HttpMediaManager=class extends i.STEEmitter{constructor(e){super(),this.settings=e,this.xhrRequests=new Map,this.failedSegments=new Map,this.debug=r("p2pml:http-media-manager"),this.now=()=>performance.now()}download(e,t){if(this.isDownloading(e))return;this.cleanTimedOutFailedSegments();const n=this.settings.segmentUrlBuilder?this.settings.segmentUrlBuilder(e):e.url;this.debug("http segment download",n),e.requestUrl=n;const r=new XMLHttpRequest;if(r.open("GET",n,!0),r.responseType="arraybuffer",e.range)r.setRequestHeader("Range",e.range),t=void 0;else if(void 0!==t&&this.settings.httpUseRanges){let e=0;for(const n of t)e+=n.byteLength;r.setRequestHeader("Range",`bytes=${e}-`),this.debug("continue download from",e)}else t=void 0;this.setupXhrEvents(r,e,t),this.settings.xhrSetup&&this.settings.xhrSetup(r,n),this.xhrRequests.set(e.id,{xhr:r,segment:e}),r.send()}abort(e){const t=this.xhrRequests.get(e.id);t&&(t.xhr.abort(),this.xhrRequests.delete(e.id),this.debug("http segment abort",e.id))}isDownloading(e){return this.xhrRequests.has(e.id)}isFailed(e){const t=this.failedSegments.get(e.id);return void 0!==t&&t>this.now()}getActiveDownloads(){return this.xhrRequests}getActiveDownloadsCount(){return this.xhrRequests.size}destroy(){this.xhrRequests.forEach(e=>e.xhr.abort()),this.xhrRequests.clear()}setupXhrEvents(e,t,n){let r=0;e.addEventListener("progress",e=>{const t=e.loaded-r;this.emit("bytes-downloaded",t),r=e.loaded}),e.addEventListener("load",async r=>{if(r.target.status<200||r.target.status>=300)return void this.segmentFailure(t,r,e);let i=r.target.response;if(void 0!==n&&206===r.target.status){let e=0;for(const t of n)e+=t.byteLength;const t=new Uint8Array(e+i.byteLength);let r=0;for(const e of n)t.set(new Uint8Array(e),r),r+=e.byteLength;t.set(new Uint8Array(i),r),i=t.buffer}await this.segmentDownloadFinished(t,i,e)}),e.addEventListener("error",n=>{this.segmentFailure(t,n,e)}),e.addEventListener("timeout",n=>{this.segmentFailure(t,n,e)})}async segmentDownloadFinished(e,t,n){if(e.responseUrl=null===n.responseURL?void 0:n.responseURL,this.settings.segmentValidator)try{await this.settings.segmentValidator(Object.assign(Object.assign({},e),{data:t}),"http")}catch(t){return this.debug("segment validator failed",t),void this.segmentFailure(e,t,n)}this.xhrRequests.delete(e.id),this.emit("segment-loaded",e,t)}segmentFailure(e,t,n){e.responseUrl=null===n.responseURL?void 0:n.responseURL,this.xhrRequests.delete(e.id),this.failedSegments.set(e.id,this.now()+this.settings.httpFailedSegmentTimeout),this.emit("segment-error",e,t)}cleanTimedOutFailedSegments(){const e=this.now(),t=[];this.failedSegments.forEach((n,r)=>{nthis.failedSegments.delete(e))}}},{"./stringly-typed-event-emitter":9,debug:"debug"}],4:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});const r=e("debug"),i=e("./loader-interface"),s=e("events"),o=e("./http-media-manager"),a=e("./p2p-media-manager"),u=e("./media-peer"),c=e("./bandwidth-approximator"),h=e("./segments-memory-storage"),l=e("get-browser-rtc"),d={cachedSegmentExpiration:3e5,cachedSegmentsCount:30,useP2P:!0,consumeOnly:!1,requiredSegmentsPriority:1,simultaneousHttpDownloads:2,httpDownloadProbability:.1,httpDownloadProbabilityInterval:1e3,httpDownloadProbabilitySkipIfNoPeers:!1,httpFailedSegmentTimeout:1e4,httpDownloadMaxPriority:20,httpDownloadInitialTimeout:0,httpDownloadInitialTimeoutPerSegment:4e3,httpUseRanges:!1,simultaneousP2PDownloads:3,p2pDownloadMaxPriority:20,p2pSegmentDownloadTimeout:6e4,webRtcMaxMessageSize:65535,trackerAnnounce:["wss://tracker.novage.com.ua","wss://tracker.openwebtorrent.com"],peerRequestsPerAnnounce:10,rtcConfig:e("simple-peer").config};n.HybridLoader=class extends s.EventEmitter{constructor(e={}){super(),this.debug=r("p2pml:hybrid-loader"),this.debugSegments=r("p2pml:hybrid-loader-segments"),this.segmentsQueue=[],this.bandwidthApproximator=new c.BandwidthApproximator,this.httpDownloadInitialTimeoutTimestamp=-1/0,this.processInitialSegmentTimeout=async()=>{if(void 0!==this.httpRandomDownloadInterval){if(void 0!==this.masterSwarmId){const e=await this.segmentsStorage.getSegmentsMap(this.masterSwarmId);this.processSegmentsQueue(e)&&!this.settings.consumeOnly&&this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(e))}this.httpDownloadInitialTimeoutTimestamp!==-1/0&&setTimeout(this.processInitialSegmentTimeout,this.settings.httpDownloadInitialTimeoutPerSegment)}},this.downloadRandomSegmentOverHttp=async()=>{if(void 0===this.masterSwarmId||void 0===this.httpRandomDownloadInterval||this.httpDownloadInitialTimeoutTimestamp!==-1/0||this.httpManager.getActiveDownloadsCount()>=this.settings.simultaneousHttpDownloads||this.settings.httpDownloadProbabilitySkipIfNoPeers&&0===this.p2pManager.getPeers().size||this.settings.consumeOnly)return;const e=await this.segmentsStorage.getSegmentsMap(this.masterSwarmId),t=this.p2pManager.getOvrallSegmentsMap(),n=this.segmentsQueue.filter(n=>!this.p2pManager.isDownloading(n)&&!this.httpManager.isDownloading(n)&&!t.has(n.id)&&!this.httpManager.isFailed(n)&&n.priority<=this.settings.httpDownloadMaxPriority&&!e.has(n.id));if(0==n.length)return;if(Math.random()>this.settings.httpDownloadProbability*n.length)return;const r=n[Math.floor(Math.random()*n.length)];this.debugSegments("HTTP download (random)",r.priority,r.url),this.httpManager.download(r),this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(e))},this.onPieceBytesDownloaded=(e,t,n)=>{this.bandwidthApproximator.addBytes(t,this.now()),this.emit(i.Events.PieceBytesDownloaded,e,t,n)},this.onPieceBytesUploaded=(e,t,n)=>{this.emit(i.Events.PieceBytesUploaded,e,t,n)},this.onSegmentLoaded=async(e,t,n)=>{if(this.debugSegments("segment loaded",e.id,e.url),void 0===this.masterSwarmId)return;let r;e.data=t,e.downloadBandwidth=this.bandwidthApproximator.getBandwidth(this.now()),await this.segmentsStorage.storeSegment(e),this.emit(i.Events.SegmentLoaded,e,n),r=void 0===r?await this.segmentsStorage.getSegmentsMap(this.masterSwarmId):r,this.processSegmentsQueue(r),this.settings.consumeOnly||this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(r))},this.onSegmentError=async(e,t,n)=>{if(this.debugSegments("segment error",e.id,e.url,n,t),this.emit(i.Events.SegmentError,e,t,n),void 0!==this.masterSwarmId){const e=await this.segmentsStorage.getSegmentsMap(this.masterSwarmId);this.processSegmentsQueue(e)&&!this.settings.consumeOnly&&this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(e))}},this.onPeerConnect=async e=>{this.emit(i.Events.PeerConnect,e),this.settings.consumeOnly||void 0===this.masterSwarmId||this.p2pManager.sendSegmentsMap(e.id,this.createSegmentsMap(await this.segmentsStorage.getSegmentsMap(this.masterSwarmId)))},this.onPeerClose=e=>{this.emit(i.Events.PeerClose,e)},this.onTrackerUpdate=async e=>{if(this.httpDownloadInitialTimeoutTimestamp!==-1/0&&void 0!==e.incomplete&&e.incomplete<=1&&(this.debugSegments("cancel initial HTTP download timeout - no peers"),this.httpDownloadInitialTimeoutTimestamp=-1/0,void 0!==this.masterSwarmId)){const e=await this.segmentsStorage.getSegmentsMap(this.masterSwarmId);this.processSegmentsQueue(e)&&!this.settings.consumeOnly&&this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(e))}},this.settings=Object.assign(Object.assign({},d),e),e.bufferedSegmentsCount&&(void 0===e.p2pDownloadMaxPriority&&(this.settings.p2pDownloadMaxPriority=e.bufferedSegmentsCount),void 0===e.httpDownloadMaxPriority&&(this.settings.p2pDownloadMaxPriority=e.bufferedSegmentsCount),delete this.settings.bufferedSegmentsCount),this.segmentsStorage=void 0===this.settings.segmentsStorage?new h.SegmentsMemoryStorage(this.settings):this.settings.segmentsStorage,this.debug("loader settings",this.settings),this.httpManager=this.createHttpManager(),this.httpManager.on("segment-loaded",this.onSegmentLoaded),this.httpManager.on("segment-error",this.onSegmentError),this.httpManager.on("bytes-downloaded",e=>this.onPieceBytesDownloaded("http",e)),this.p2pManager=this.createP2PManager(),this.p2pManager.on("segment-loaded",this.onSegmentLoaded),this.p2pManager.on("segment-error",this.onSegmentError),this.p2pManager.on("peer-data-updated",async()=>{if(void 0===this.masterSwarmId)return;const e=await this.segmentsStorage.getSegmentsMap(this.masterSwarmId);this.processSegmentsQueue(e)&&!this.settings.consumeOnly&&this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(e))}),this.p2pManager.on("bytes-downloaded",(e,t)=>this.onPieceBytesDownloaded("p2p",e,t)),this.p2pManager.on("bytes-uploaded",(e,t)=>this.onPieceBytesUploaded("p2p",e,t)),this.p2pManager.on("peer-connected",this.onPeerConnect),this.p2pManager.on("peer-closed",this.onPeerClose),this.p2pManager.on("tracker-update",this.onTrackerUpdate)}static isSupported(){const e=l();return e&&void 0!==e.RTCPeerConnection.prototype.createDataChannel}createHttpManager(){return new o.HttpMediaManager(this.settings)}createP2PManager(){return new a.P2PMediaManager(this.segmentsStorage,this.settings)}async load(e,t){void 0===this.httpRandomDownloadInterval&&(this.httpRandomDownloadInterval=setInterval(this.downloadRandomSegmentOverHttp,this.settings.httpDownloadProbabilityInterval),this.settings.httpDownloadInitialTimeout>0&&this.settings.httpDownloadInitialTimeoutPerSegment>0&&(this.debugSegments("enable initial HTTP download timeout",this.settings.httpDownloadInitialTimeout,"per segment",this.settings.httpDownloadInitialTimeoutPerSegment),this.httpDownloadInitialTimeoutTimestamp=this.now(),setTimeout(this.processInitialSegmentTimeout,this.settings.httpDownloadInitialTimeoutPerSegment+100))),e.length>0&&(this.masterSwarmId=e[0].masterSwarmId),void 0!==this.masterSwarmId&&this.p2pManager.setStreamSwarmId(t,this.masterSwarmId),this.debug("load segments");let n=!1;for(const t of this.segmentsQueue)e.find(e=>e.url==t.url)||(this.debug("remove segment",t.url),this.httpManager.isDownloading(t)?(n=!0,this.httpManager.abort(t)):this.p2pManager.abort(t),this.emit(i.Events.SegmentAbort,t));if(this.debug.enabled)for(const t of e)this.segmentsQueue.find(e=>e.url==t.url)||this.debug("add segment",t.url);if(this.segmentsQueue=e,void 0===this.masterSwarmId)return;let r=await this.segmentsStorage.getSegmentsMap(this.masterSwarmId);n=this.processSegmentsQueue(r)||n,await this.cleanSegmentsStorage()&&(r=await this.segmentsStorage.getSegmentsMap(this.masterSwarmId),n=!0),n&&!this.settings.consumeOnly&&this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(r))}async getSegment(e){return void 0===this.masterSwarmId?void 0:this.segmentsStorage.getSegment(e,this.masterSwarmId)}getSettings(){return this.settings}getDetails(){return{peerId:this.p2pManager.getPeerId()}}async destroy(){void 0!==this.httpRandomDownloadInterval&&(clearInterval(this.httpRandomDownloadInterval),this.httpRandomDownloadInterval=void 0),this.httpDownloadInitialTimeoutTimestamp=-1/0,this.segmentsQueue=[],this.httpManager.destroy(),this.p2pManager.destroy(),this.masterSwarmId=void 0,await this.segmentsStorage.destroy()}processSegmentsQueue(e){if(this.debugSegments("process segments queue. priority",this.segmentsQueue.length>0?this.segmentsQueue[0].priority:0),void 0===this.masterSwarmId||0===this.segmentsQueue.length)return!1;let t,n=!1,r=!0;if(this.httpDownloadInitialTimeoutTimestamp!==-1/0){let t;for(const n of this.segmentsQueue)if(!e.has(n.id)){t=n.priority;break}const n=this.now()-this.httpDownloadInitialTimeoutTimestamp;(r=n>=this.settings.httpDownloadInitialTimeout||void 0!==t&&n>this.settings.httpDownloadInitialTimeoutPerSegment&&t<=0)&&(this.debugSegments("cancel initial HTTP download timeout - timed out"),this.httpDownloadInitialTimeoutTimestamp=-1/0)}for(let i=0;i=this.settings.simultaneousHttpDownloads)for(let e=this.segmentsQueue.length-1;e>i;e--){const t=this.segmentsQueue[e];if(this.httpManager.isDownloading(t)){this.debugSegments("cancel HTTP download",t.priority,t.url),this.httpManager.abort(t);break}}if(this.httpManager.getActiveDownloadsCount()=this.settings.simultaneousP2PDownloads)for(let e=this.segmentsQueue.length-1;e>i;e--){const t=this.segmentsQueue[e];if(this.p2pManager.isDownloading(t)){this.debugSegments("cancel P2P download",t.priority,t.url),this.p2pManager.abort(t);break}}if(this.p2pManager.getActiveDownloadsCount(){const r=this.getStreamSwarmId(e),i=e.sequence;let s=t[r];void 0===s&&(s=["",[]],t[r]=s);const o=s[1];s[0]+=0==o.length?i:`|${i}`,o.push(n)};for(const t of e.values())n(t.segment,u.MediaPeerSegmentStatus.Loaded);for(const e of this.httpManager.getActiveDownloads().values())n(e.segment,u.MediaPeerSegmentStatus.LoadingByHttp);return t}async cleanSegmentsStorage(){return void 0!==this.masterSwarmId&&this.segmentsStorage.clean(this.masterSwarmId,e=>void 0!==this.segmentsQueue.find(t=>t.id===e))}now(){return performance.now()}}},{"./bandwidth-approximator":1,"./http-media-manager":3,"./loader-interface":5,"./media-peer":6,"./p2p-media-manager":7,"./segments-memory-storage":8,debug:"debug",events:"events","get-browser-rtc":18,"simple-peer":44}],5:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),function(e){e.SegmentLoaded="segment_loaded",e.SegmentError="segment_error",e.SegmentAbort="segment_abort",e.PeerConnect="peer_connect",e.PeerClose="peer_close",e.PieceBytesDownloaded="piece_bytes_downloaded",e.PieceBytesUploaded="piece_bytes_uploaded"}(n.Events||(n.Events={}))},{}],6:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});const r=e("debug"),i=e("./stringly-typed-event-emitter"),s=e("buffer");var o,a;!function(e){e[e.SegmentData=0]="SegmentData",e[e.SegmentAbsent=1]="SegmentAbsent",e[e.SegmentsMap=2]="SegmentsMap",e[e.SegmentRequest=3]="SegmentRequest",e[e.CancelSegmentRequest=4]="CancelSegmentRequest"}(o||(o={})),function(e){e[e.Loaded=0]="Loaded",e[e.LoadingByHttp=1]="LoadingByHttp"}(a=n.MediaPeerSegmentStatus||(n.MediaPeerSegmentStatus={}));class u{constructor(e,t){this.id=e,this.size=t,this.bytesDownloaded=0,this.pieces=[]}}n.MediaPeer=class extends i.STEEmitter{constructor(e,t){super(),this.peer=e,this.settings=t,this.remoteAddress="",this.downloadingSegmentId=null,this.downloadingSegment=null,this.segmentsMap=new Map,this.debug=r("p2pml:media-peer"),this.timer=null,this.onPeerConnect=()=>{this.debug("peer connect",this.id,this),this.remoteAddress=this.peer.remoteAddress,this.emit("connect",this)},this.onPeerClose=()=>{this.debug("peer close",this.id,this),this.terminateSegmentRequest(),this.emit("close",this)},this.onPeerError=e=>{this.debug("peer error",this.id,e,this)},this.onPeerData=e=>{const t=this.getJsonCommand(e);if(null!=t){if(this.downloadingSegment){this.debug("peer segment download is interrupted by a command",this.id,this);const e=this.downloadingSegment.id;return this.terminateSegmentRequest(),void this.emit("segment-error",this,e,"Segment download is interrupted by a command")}switch(this.debug("peer receive command",this.id,t,this),t.c){case o.SegmentsMap:this.segmentsMap=this.createSegmentsMap(t.m),this.emit("data-updated");break;case o.SegmentRequest:this.emit("segment-request",this,t.i);break;case o.SegmentData:this.downloadingSegmentId===t.i&&(this.downloadingSegment=new u(t.i,t.s),this.cancelResponseTimeoutTimer());break;case o.SegmentAbsent:this.downloadingSegmentId===t.i&&(this.terminateSegmentRequest(),this.segmentsMap.delete(t.i),this.emit("segment-absent",this,t.i));break;case o.CancelSegmentRequest:}}else this.receiveSegmentPiece(e)},this.peer.on("connect",this.onPeerConnect),this.peer.on("close",this.onPeerClose),this.peer.on("error",this.onPeerError),this.peer.on("data",this.onPeerData),this.id=e.id}receiveSegmentPiece(e){if(!this.downloadingSegment)return void this.debug("peer segment not requested",this.id,this);this.downloadingSegment.bytesDownloaded+=e.byteLength,this.downloadingSegment.pieces.push(e),this.emit("bytes-downloaded",this,e.byteLength);const t=this.downloadingSegment.id;if(this.downloadingSegment.bytesDownloaded==this.downloadingSegment.size){const e=new Uint8Array(this.downloadingSegment.size);let n=0;for(const t of this.downloadingSegment.pieces)e.set(new Uint8Array(t),n),n+=t.byteLength;this.debug("peer segment download done",this.id,t,this),this.terminateSegmentRequest(),this.emit("segment-loaded",this,t,e.buffer)}else this.downloadingSegment.bytesDownloaded>this.downloadingSegment.size&&(this.debug("peer segment download bytes mismatch",this.id,t,this),this.terminateSegmentRequest(),this.emit("segment-error",this,t,"Too many bytes received for segment"))}getJsonCommand(e){const t=new Uint8Array(e);if(123==t[0]&&34==t[1]&&125==t[e.byteLength-1])try{return JSON.parse((new TextDecoder).decode(e))}catch(e){}return null}createSegmentsMap(e){if(null==e||!(e instanceof Object))return new Map;const t=new Map;for(const n of Object.keys(e)){const r=e[n];if(!(r instanceof Array&&2===r.length&&"string"==typeof r[0]&&r[1]instanceof Array))return new Map;const i=r[0].split("|"),s=r[1];if(i.length!==s.length)return new Map;for(let e=0;e0;){const e=n>=this.settings.webRtcMaxMessageSize?this.settings.webRtcMaxMessageSize:n,r=s.Buffer.from(t,t.byteLength-n,e);this.peer.write(r),n-=e}this.emit("bytes-uploaded",this,t.byteLength)}sendSegmentAbsent(e){this.sendCommand({c:o.SegmentAbsent,i:e})}requestSegment(e){if(this.downloadingSegmentId)throw new Error("A segment is already downloading: "+this.downloadingSegmentId);this.sendCommand({c:o.SegmentRequest,i:e}),this.downloadingSegmentId=e,this.runResponseTimeoutTimer()}cancelSegmentRequest(){let e;if(this.downloadingSegmentId){const t=this.downloadingSegmentId;e=this.downloadingSegment?this.downloadingSegment.pieces:void 0,this.terminateSegmentRequest(),this.sendCommand({c:o.CancelSegmentRequest,i:t})}return e}runResponseTimeoutTimer(){this.timer=setTimeout(()=>{if(this.timer=null,!this.downloadingSegmentId)return;const e=this.downloadingSegmentId;this.cancelSegmentRequest(),this.emit("segment-timeout",this,e)},this.settings.p2pSegmentDownloadTimeout)}cancelResponseTimeoutTimer(){this.timer&&(clearTimeout(this.timer),this.timer=null)}terminateSegmentRequest(){this.downloadingSegmentId=null,this.downloadingSegment=null,this.cancelResponseTimeoutTimer()}}},{"./stringly-typed-event-emitter":9,buffer:16,debug:"debug"}],7:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});const r=e("debug"),i=e("bittorrent-tracker/client"),s=e("./stringly-typed-event-emitter"),o=e("./media-peer"),a=e("buffer"),u=e("sha.js/sha1"),c=e("./index"),h=2,l=`-WW${c.version.replace(/\d*./g,e=>`0${parseInt(e,10)%100}`.slice(-2)).slice(0,4)}-`;class d{constructor(e,t){this.peerId=e,this.segment=t}}n.P2PMediaManager=class extends s.STEEmitter{constructor(e,t){super(),this.sementsStorage=e,this.settings=t,this.trackerClient=null,this.peers=new Map,this.peerCandidates=new Map,this.peerSegmentRequests=new Map,this.streamSwarmId=null,this.debug=r("p2pml:p2p-media-manager"),this.pendingTrackerClient=null,this.onTrackerError=e=>{this.debug("tracker error",e)},this.onTrackerWarning=e=>{this.debug("tracker warning",e)},this.onTrackerUpdate=e=>{this.debug("tracker update",e),this.emit("tracker-update",e)},this.onTrackerPeer=e=>{if(this.debug("tracker peer",e.id,e),this.peers.has(e.id))return this.debug("tracker peer already connected",e.id,e),void e.destroy();const t=new o.MediaPeer(e,this.settings);t.on("connect",this.onPeerConnect),t.on("close",this.onPeerClose),t.on("data-updated",this.onPeerDataUpdated),t.on("segment-request",this.onSegmentRequest),t.on("segment-loaded",this.onSegmentLoaded),t.on("segment-absent",this.onSegmentAbsent),t.on("segment-error",this.onSegmentError),t.on("segment-timeout",this.onSegmentTimeout),t.on("bytes-downloaded",this.onPieceBytesDownloaded),t.on("bytes-uploaded",this.onPieceBytesUploaded);let n=this.peerCandidates.get(t.id);n||(n=[],this.peerCandidates.set(t.id,n)),n.push(t)},this.onPieceBytesDownloaded=(e,t)=>{this.emit("bytes-downloaded",t,e.id)},this.onPieceBytesUploaded=(e,t)=>{this.emit("bytes-uploaded",t,e.id)},this.onPeerConnect=e=>{if(this.peers.get(e.id))return this.debug("tracker peer already connected (in peer connect)",e.id,e),void e.destroy();this.peers.set(e.id,e);const t=this.peerCandidates.get(e.id);if(t){for(const n of t)n!=e&&n.destroy();this.peerCandidates.delete(e.id)}this.emit("peer-connected",{id:e.id,remoteAddress:e.remoteAddress})},this.onPeerClose=e=>{if(this.peers.get(e.id)!=e){const t=this.peerCandidates.get(e.id);if(!t)return;const n=t.indexOf(e);return-1!=n&&t.splice(n,1),void(0==t.length&&this.peerCandidates.delete(e.id))}for(const[t,n]of this.peerSegmentRequests)n.peerId==e.id&&this.peerSegmentRequests.delete(t);this.peers.delete(e.id),this.emit("peer-data-updated"),this.emit("peer-closed",e.id)},this.onPeerDataUpdated=()=>{this.emit("peer-data-updated")},this.onSegmentRequest=async(e,t)=>{if(void 0===this.masterSwarmId)return;const n=await this.sementsStorage.getSegment(t,this.masterSwarmId);n?e.sendSegmentData(t,n.data):e.sendSegmentAbsent(t)},this.onSegmentLoaded=async(e,t,n)=>{const r=this.peerSegmentRequests.get(t);if(!r)return;const i=r.segment;if(this.settings.segmentValidator)try{await this.settings.segmentValidator(Object.assign(Object.assign({},i),{data:n}),"p2p",e.id)}catch(n){return this.debug("segment validator failed",n),this.peerSegmentRequests.delete(t),this.emit("segment-error",i,n,e.id),void this.onPeerClose(e)}this.peerSegmentRequests.delete(t),this.emit("segment-loaded",i,n,e.id)},this.onSegmentAbsent=(e,t)=>{this.peerSegmentRequests.delete(t),this.emit("peer-data-updated")},this.onSegmentError=(e,t,n)=>{const r=this.peerSegmentRequests.get(t);r&&(this.peerSegmentRequests.delete(t),this.emit("segment-error",r.segment,n,e.id))},this.onSegmentTimeout=(e,t)=>{const n=this.peerSegmentRequests.get(t);n&&(this.peerSegmentRequests.delete(t),e.destroy(),this.peers.delete(n.peerId)&&this.emit("peer-data-updated"))},this.peerId=t.useP2P?function(){const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let t=l;for(let n=0;n<20-l.length;n++)t+=e.charAt(Math.floor(Math.random()*e.length));return(new TextEncoder).encode(t).buffer}():new ArrayBuffer(0),this.debug.enabled&&this.debug("peer ID",this.getPeerId(),(new TextDecoder).decode(this.peerId))}getPeers(){return this.peers}getPeerId(){return a.Buffer.from(this.peerId).toString("hex")}async setStreamSwarmId(e,t){if(this.streamSwarmId===e)return;this.destroy(!0),this.streamSwarmId=e,this.masterSwarmId=t,this.debug("stream swarm ID",this.streamSwarmId),this.pendingTrackerClient={isDestroyed:!1};const n=this.pendingTrackerClient,r=(new u).update(h+this.streamSwarmId).digest();n.isDestroyed?null!=this.trackerClient&&(this.trackerClient.destroy(),this.trackerClient=null):(this.pendingTrackerClient=null,this.createClient(r))}createClient(e){if(!this.settings.useP2P)return;const t={infoHash:a.Buffer.from(e,0,20),peerId:a.Buffer.from(this.peerId,0,20),announce:this.settings.trackerAnnounce,rtcConfig:this.settings.rtcConfig,port:6881,getAnnounceOpts:()=>({numwant:this.settings.peerRequestsPerAnnounce})};let n=this.trackerClient;this.trackerClient=new i(t),this.trackerClient.on("error",this.onTrackerError),this.trackerClient.on("warning",this.onTrackerWarning),this.trackerClient.on("update",this.onTrackerUpdate),this.trackerClient.on("peer",this.onTrackerPeer),this.trackerClient.start(),null!=n&&(n.destroy(),n=null)}download(e){if(this.isDownloading(e))return!1;const t=[];for(const n of this.peers.values())null==n.getDownloadingSegmentId()&&n.getSegmentsMap().get(e.id)===o.MediaPeerSegmentStatus.Loaded&&t.push(n);if(0===t.length)return!1;const n=t[Math.floor(Math.random()*t.length)];return n.requestSegment(e.id),this.peerSegmentRequests.set(e.id,new d(n.id,e)),!0}abort(e){let t;const n=this.peerSegmentRequests.get(e.id);if(n){const r=this.peers.get(n.peerId);r&&(t=r.cancelSegmentRequest()),this.peerSegmentRequests.delete(e.id)}return t}isDownloading(e){return this.peerSegmentRequests.has(e.id)}getActiveDownloadsCount(){return this.peerSegmentRequests.size}destroy(e=!1){this.streamSwarmId=null,this.trackerClient&&(this.trackerClient.stop(),e?(this.trackerClient.removeAllListeners("error"),this.trackerClient.removeAllListeners("warning"),this.trackerClient.removeAllListeners("update"),this.trackerClient.removeAllListeners("peer")):(this.trackerClient.destroy(),this.trackerClient=null)),this.pendingTrackerClient&&(this.pendingTrackerClient.isDestroyed=!0,this.pendingTrackerClient=null),this.peers.forEach(e=>e.destroy()),this.peers.clear(),this.peerSegmentRequests.clear();for(const e of this.peerCandidates.values())for(const t of e)t.destroy();this.peerCandidates.clear()}sendSegmentsMapToAll(e){this.peers.forEach(t=>t.sendSegmentsMap(e))}sendSegmentsMap(e,t){const n=this.peers.get(e);n&&n.sendSegmentsMap(t)}getOvrallSegmentsMap(){const e=new Map;for(const t of this.peers.values())for(const[n,r]of t.getSegmentsMap())r===o.MediaPeerSegmentStatus.Loaded?e.set(n,o.MediaPeerSegmentStatus.Loaded):e.get(n)||e.set(n,o.MediaPeerSegmentStatus.LoadingByHttp);return e}}},{"./index":"p2p-media-loader-core","./media-peer":6,"./stringly-typed-event-emitter":9,"bittorrent-tracker/client":11,buffer:16,debug:"debug","sha.js/sha1":43}],8:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.SegmentsMemoryStorage=class{constructor(e){this.settings=e,this.cache=new Map}async storeSegment(e){this.cache.set(e.id,{segment:e,lastAccessed:performance.now()})}async getSegmentsMap(e){return this.cache}async getSegment(e,t){const n=this.cache.get(e);if(void 0!==n)return n.lastAccessed=performance.now(),n.segment}async hasSegment(e,t){return this.cache.has(e)}async clean(e,t){const n=[],r=[],i=performance.now();for(const e of this.cache.values())i-e.lastAccessed>this.settings.cachedSegmentExpiration?n.push(e.segment.id):r.push(e);let s=r.length-this.settings.cachedSegmentsCount;if(s>0){r.sort((e,t)=>e.lastAccessed-t.lastAccessed);for(const e of r)if((void 0===t||!t(e.segment.id))&&(n.push(e.segment.id),0==--s))break}return n.forEach(e=>this.cache.delete(e)),n.length>0}async destroy(){this.cache.clear()}}},{}],9:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});const r=e("events");n.STEEmitter=class extends r.EventEmitter{on(e,t){return super.on(e,t)}emit(e,...t){return super.emit(e,...t)}}},{events:"events"}],10:[function(e,t,n){"use strict";n.byteLength=function(e){var t=c(e),n=t[0],r=t[1];return 3*(n+r)/4-r},n.toByteArray=function(e){var t,n,r=c(e),o=r[0],a=r[1],u=new s(function(e,t,n){return 3*(t+n)/4-n}(0,o,a)),h=0,l=a>0?o-4:o;for(n=0;n>16&255,u[h++]=t>>8&255,u[h++]=255&t;2===a&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,u[h++]=255&t);1===a&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,u[h++]=t>>8&255,u[h++]=255&t);return u},n.fromByteArray=function(e){for(var t,n=e.length,i=n%3,s=[],o=0,a=n-i;oa?a:o+16383));1===i?(t=e[n-1],s.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],s.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return s.join("")};for(var r=[],i=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,u=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function h(e,t,n){for(var i,s,o=[],a=t;a>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],11:[function(e,t,n){(function(n,r){const i=e("debug")("bittorrent-tracker:client"),s=e("events"),o=e("once"),a=e("run-parallel"),u=e("simple-peer"),c=e("uniq"),h=e("./lib/common"),l=e("./lib/client/http-tracker"),d=e("./lib/client/udp-tracker"),f=e("./lib/client/websocket-tracker");class p extends s{constructor(e={}){if(super(),!e.peerId)throw new Error("Option `peerId` is required");if(!e.infoHash)throw new Error("Option `infoHash` is required");if(!e.announce)throw new Error("Option `announce` is required");if(!n.browser&&!e.port)throw new Error("Option `port` is required");this.peerId="string"==typeof e.peerId?e.peerId:e.peerId.toString("hex"),this._peerIdBuffer=r.from(this.peerId,"hex"),this._peerIdBinary=this._peerIdBuffer.toString("binary"),this.infoHash="string"==typeof e.infoHash?e.infoHash.toLowerCase():e.infoHash.toString("hex"),this._infoHashBuffer=r.from(this.infoHash,"hex"),this._infoHashBinary=this._infoHashBuffer.toString("binary"),i("new client %s",this.infoHash),this.destroyed=!1,this._port=e.port,this._getAnnounceOpts=e.getAnnounceOpts,this._rtcConfig=e.rtcConfig,this._userAgent=e.userAgent,this._wrtc="function"==typeof e.wrtc?e.wrtc():e.wrtc;let t="string"==typeof e.announce?[e.announce]:null==e.announce?[]:e.announce;t=t.map(e=>("/"===(e=e.toString())[e.length-1]&&(e=e.substring(0,e.length-1)),e)),t=c(t);const s=!1!==this._wrtc&&(!!this._wrtc||u.WEBRTC_SUPPORT),o=e=>{n.nextTick(()=>{this.emit("warning",e)})};this._trackers=t.map(e=>{let t;try{t=new URL(e)}catch(t){return o(new Error(`Invalid tracker URL: ${e}`)),null}const n=t.port;if(n<0||n>65535)return o(new Error(`Invalid tracker port: ${e}`)),null;const r=t.protocol;return"http:"!==r&&"https:"!==r||"function"!=typeof l?"udp:"===r&&"function"==typeof d?new d(this,e):"ws:"!==r&&"wss:"!==r||!s?(o(new Error(`Unsupported tracker protocol: ${e}`)),null):"ws:"===r&&"undefined"!=typeof window&&"https:"===window.location.protocol?(o(new Error(`Unsupported tracker protocol: ${e}`)),null):new f(this,e):new l(this,e)}).filter(Boolean)}start(e){(e=this._defaultAnnounceOpts(e)).event="started",i("send `start` %o",e),this._announce(e),this._trackers.forEach(e=>{e.setInterval()})}stop(e){(e=this._defaultAnnounceOpts(e)).event="stopped",i("send `stop` %o",e),this._announce(e)}complete(e){e||(e={}),(e=this._defaultAnnounceOpts(e)).event="completed",i("send `complete` %o",e),this._announce(e)}update(e){(e=this._defaultAnnounceOpts(e)).event&&delete e.event,i("send `update` %o",e),this._announce(e)}_announce(e){this._trackers.forEach(t=>{t.announce(e)})}scrape(e){i("send `scrape`"),e||(e={}),this._trackers.forEach(t=>{t.scrape(e)})}setInterval(e){i("setInterval %d",e),this._trackers.forEach(t=>{t.setInterval(e)})}destroy(e){if(this.destroyed)return;this.destroyed=!0,i("destroy");const t=this._trackers.map(e=>t=>{e.destroy(t)});a(t,e),this._trackers=[],this._getAnnounceOpts=null}_defaultAnnounceOpts(e={}){return null==e.numwant&&(e.numwant=h.DEFAULT_ANNOUNCE_PEERS),null==e.uploaded&&(e.uploaded=0),null==e.downloaded&&(e.downloaded=0),this._getAnnounceOpts&&(e=Object.assign({},e,this._getAnnounceOpts())),e}}p.scrape=(e,t)=>{if(t=o(t),!e.infoHash)throw new Error("Option `infoHash` is required");if(!e.announce)throw new Error("Option `announce` is required");const n=Object.assign({},e,{infoHash:Array.isArray(e.infoHash)?e.infoHash[0]:e.infoHash,peerId:r.from("01234567890123456789"),port:6881}),i=new p(n);i.once("error",t),i.once("warning",t);let s=Array.isArray(e.infoHash)?e.infoHash.length:1;const a={};return i.on("scrape",e=>{if(s-=1,a[e.infoHash]=e,0===s){i.destroy();const e=Object.keys(a);1===e.length?t(null,a[e[0]]):t(null,a)}}),e.infoHash=Array.isArray(e.infoHash)?e.infoHash.map(e=>r.from(e,"hex")):r.from(e.infoHash,"hex"),i.scrape({infoHash:e.infoHash}),i},t.exports=p}).call(this,e("_process"),e("buffer").Buffer)},{"./lib/client/http-tracker":15,"./lib/client/udp-tracker":15,"./lib/client/websocket-tracker":13,"./lib/common":14,_process:23,buffer:16,debug:"debug",events:"events",once:22,"run-parallel":40,"simple-peer":44,uniq:47}],12:[function(e,t,n){const r=e("events");t.exports=class extends r{constructor(e,t){super(),this.client=e,this.announceUrl=t,this.interval=null,this.destroyed=!1}setInterval(e){null==e&&(e=this.DEFAULT_ANNOUNCE_INTERVAL),clearInterval(this.interval),e&&(this.interval=setInterval(()=>{this.announce(this.client._defaultAnnounceOpts())},e),this.interval.unref&&this.interval.unref())}}},{events:"events"}],13:[function(e,t,n){const r=e("debug")("bittorrent-tracker:websocket-tracker"),i=e("simple-peer"),s=e("randombytes"),o=e("simple-websocket"),a=e("../common"),u=e("./tracker"),c={},h=1e4,l=18e5,d=12e4,f=5e4;class p extends u{constructor(e,t,n){super(e,t),r("new websocket tracker %s",t),this.peers={},this.socket=null,this.reconnecting=!1,this.retries=0,this.reconnectTimer=null,this.expectingResponse=!1,this._openSocket()}announce(e){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected)return void this.socket.once("connect",()=>{this.announce(e)});const t=Object.assign({},e,{action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary});if(this._trackerId&&(t.trackerid=this._trackerId),"stopped"===e.event||"completed"===e.event)this._send(t);else{const n=Math.min(e.numwant,10);this._generateOffers(n,e=>{t.numwant=n,t.offers=e,this._send(t)})}}scrape(e){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected)return void this.socket.once("connect",()=>{this.scrape(e)});const t={action:"scrape",info_hash:Array.isArray(e.infoHash)&&e.infoHash.length>0?e.infoHash.map(e=>e.toString("binary")):e.infoHash&&e.infoHash.toString("binary")||this.client._infoHashBinary};this._send(t)}destroy(e=g){if(this.destroyed)return e(null);this.destroyed=!0,clearInterval(this.interval),clearTimeout(this.reconnectTimer);for(const e in this.peers){const t=this.peers[e];clearTimeout(t.trackerTimeout),t.destroy()}if(this.peers=null,this.socket&&(this.socket.removeListener("connect",this._onSocketConnectBound),this.socket.removeListener("data",this._onSocketDataBound),this.socket.removeListener("close",this._onSocketCloseBound),this.socket.removeListener("error",this._onSocketErrorBound),this.socket=null),this._onSocketConnectBound=null,this._onSocketErrorBound=null,this._onSocketDataBound=null,this._onSocketCloseBound=null,c[this.announceUrl]&&(c[this.announceUrl].consumers-=1),c[this.announceUrl].consumers>0)return e();let t=c[this.announceUrl];if(delete c[this.announceUrl],t.on("error",g),t.once("close",e),!this.expectingResponse)return r();var n=setTimeout(r,a.DESTROY_TIMEOUT);function r(){n&&(clearTimeout(n),n=null),t.removeListener("data",r),t.destroy(),t=null}t.once("data",r)}_openSocket(){this.destroyed=!1,this.peers||(this.peers={}),this._onSocketConnectBound=()=>{this._onSocketConnect()},this._onSocketErrorBound=e=>{this._onSocketError(e)},this._onSocketDataBound=e=>{this._onSocketData(e)},this._onSocketCloseBound=()=>{this._onSocketClose()},this.socket=c[this.announceUrl],this.socket?(c[this.announceUrl].consumers+=1,this.socket.connected&&this._onSocketConnectBound()):(this.socket=c[this.announceUrl]=new o(this.announceUrl),this.socket.consumers=1,this.socket.once("connect",this._onSocketConnectBound)),this.socket.on("data",this._onSocketDataBound),this.socket.once("close",this._onSocketCloseBound),this.socket.once("error",this._onSocketErrorBound)}_onSocketConnect(){this.destroyed||this.reconnecting&&(this.reconnecting=!1,this.retries=0,this.announce(this.client._defaultAnnounceOpts()))}_onSocketData(e){if(!this.destroyed){this.expectingResponse=!1;try{e=JSON.parse(e)}catch(e){return void this.client.emit("warning",new Error("Invalid tracker response"))}"announce"===e.action?this._onAnnounceResponse(e):"scrape"===e.action?this._onScrapeResponse(e):this._onSocketError(new Error(`invalid action in WS response: ${e.action}`))}}_onAnnounceResponse(e){if(e.info_hash!==this.client._infoHashBinary)return void r("ignoring websocket data from %s for %s (looking for %s: reused socket)",this.announceUrl,a.binaryToHex(e.info_hash),this.client.infoHash);if(e.peer_id&&e.peer_id===this.client._peerIdBinary)return;r("received %s from %s for %s",JSON.stringify(e),this.announceUrl,this.client.infoHash);const t=e["failure reason"];if(t)return this.client.emit("warning",new Error(t));const n=e["warning message"];n&&this.client.emit("warning",new Error(n));const i=e.interval||e["min interval"];i&&this.setInterval(1e3*i);const s=e["tracker id"];if(s&&(this._trackerId=s),null!=e.complete){const t=Object.assign({},e,{announce:this.announceUrl,infoHash:a.binaryToHex(e.info_hash)});this.client.emit("update",t)}let o;if(e.offer&&e.peer_id&&(r("creating peer (from remote offer)"),(o=this._createPeer()).id=a.binaryToHex(e.peer_id),o.once("signal",t=>{const n={action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary,to_peer_id:e.peer_id,answer:t,offer_id:e.offer_id};this._trackerId&&(n.trackerid=this._trackerId),this._send(n)}),o.signal(e.offer),this.client.emit("peer",o)),e.answer&&e.peer_id){const t=a.binaryToHex(e.offer_id);(o=this.peers[t])?(o.id=a.binaryToHex(e.peer_id),o.signal(e.answer),this.client.emit("peer",o),clearTimeout(o.trackerTimeout),o.trackerTimeout=null,delete this.peers[t]):r(`got unexpected answer: ${JSON.stringify(e.answer)}`)}}_onScrapeResponse(e){e=e.files||{};const t=Object.keys(e);0!==t.length?t.forEach(t=>{const n=Object.assign(e[t],{announce:this.announceUrl,infoHash:a.binaryToHex(t)});this.client.emit("scrape",n)}):this.client.emit("warning",new Error("invalid scrape response"))}_onSocketClose(){this.destroyed||(this.destroy(),this._startReconnectTimer())}_onSocketError(e){this.destroyed||(this.destroy(),this.client.emit("warning",e),this._startReconnectTimer())}_startReconnectTimer(){const e=Math.floor(Math.random()*d)+Math.min(Math.pow(2,this.retries)*h,l);this.reconnecting=!0,clearTimeout(this.reconnectTimer),this.reconnectTimer=setTimeout(()=>{this.retries++,this._openSocket()},e),this.reconnectTimer.unref&&this.reconnectTimer.unref(),r("reconnecting socket in %s ms",e)}_send(e){if(this.destroyed)return;this.expectingResponse=!0;const t=JSON.stringify(e);r("send %s",t),this.socket.send(t)}_generateOffers(e,t){const n=this,i=[];r("generating %s offers",e);for(let t=0;t{i.push({offer:t,offer_id:a.hexToBinary(e)}),u()}),t.trackerTimeout=setTimeout(()=>{r("tracker timeout: destroying peer"),t.trackerTimeout=null,delete n.peers[e],t.destroy()},f),t.trackerTimeout.unref&&t.trackerTimeout.unref()}function u(){i.length===e&&(r("generated %s offers",e),t(i))}u()}_createPeer(e){const t=this;e=Object.assign({trickle:!1,config:t.client._rtcConfig,wrtc:t.client._wrtc},e);const n=new i(e);return n.once("error",r),n.once("connect",function e(){n.removeListener("error",r);n.removeListener("connect",e)}),n;function r(e){t.client.emit("warning",new Error(`Connection error: ${e.message}`)),n.destroy()}}}function g(){}p.prototype.DEFAULT_ANNOUNCE_INTERVAL=3e4,p._socketPool=c,t.exports=p},{"../common":14,"./tracker":12,debug:"debug",randombytes:24,"simple-peer":44,"simple-websocket":45}],14:[function(e,t,n){(function(t){n.DEFAULT_ANNOUNCE_PEERS=50,n.MAX_ANNOUNCE_PEERS=82,n.binaryToHex=function(e){return"string"!=typeof e&&(e=String(e)),t.from(e,"binary").toString("hex")},n.hexToBinary=function(e){return"string"!=typeof e&&(e=String(e)),t.from(e,"hex").toString("binary")};var r=e("./common-node");Object.assign(n,r)}).call(this,e("buffer").Buffer)},{"./common-node":15,buffer:16}],15:[function(e,t,n){},{}],16:[function(e,t,n){(function(t){"use strict";var r=e("base64-js"),i=e("ieee754"),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;n.Buffer=t,n.SlowBuffer=function(e){+e!=e&&(e=0);return t.alloc(+e)},n.INSPECT_MAX_BYTES=50;var o=2147483647;function a(e){if(e>o)throw new RangeError('The value "'+e+'" is invalid for option "size"');var n=new Uint8Array(e);return Object.setPrototypeOf(n,t.prototype),n}function t(e,t,n){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return h(e)}return u(e,t,n)}function u(e,n,r){if("string"==typeof e)return function(e,n){"string"==typeof n&&""!==n||(n="utf8");if(!t.isEncoding(n))throw new TypeError("Unknown encoding: "+n);var r=0|f(e,n),i=a(r),s=i.write(e,n);s!==r&&(i=i.slice(0,s));return i}(e,n);if(ArrayBuffer.isView(e))return l(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(q(e,ArrayBuffer)||e&&q(e.buffer,ArrayBuffer))return function(e,n,r){if(n<0||e.byteLength=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|e}function f(e,n){if(t.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||q(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;for(var s=!1;;)switch(n){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return U(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return j(e).length;default:if(s)return i?-1:U(e).length;n=(""+n).toLowerCase(),s=!0}}function p(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return M(this,t,n);case"utf8":case"utf-8":return T(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return A(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function m(e,n,r,i,s){if(0===e.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),H(r=+r)&&(r=s?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(s)return-1;r=e.length-1}else if(r<0){if(!s)return-1;r=0}if("string"==typeof n&&(n=t.from(n,i)),t.isBuffer(n))return 0===n.length?-1:y(e,n,r,i,s);if("number"==typeof n)return n&=255,"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,n,r):Uint8Array.prototype.lastIndexOf.call(e,n,r):y(e,[n],r,i,s);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var s,o=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,a/=2,u/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var h=-1;for(s=n;sa&&(n=a-u),s=n;s>=0;s--){for(var l=!0,d=0;di&&(r=i):r=i;var s=t.length;r>s/2&&(r=s/2);for(var o=0;o>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function C(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function T(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+l<=n)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(s=e[i+1]))&&(u=(31&c)<<6|63&s)>127&&(h=u);break;case 3:s=e[i+1],o=e[i+2],128==(192&s)&&128==(192&o)&&(u=(15&c)<<12|(63&s)<<6|63&o)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:s=e[i+1],o=e[i+2],a=e[i+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(u=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,r.push(h>>>10&1023|55296),h=56320|1023&h),r.push(h),i+=l}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rt&&(e+=" ... "),""},s&&(t.prototype[s]=t.prototype.inspect),t.prototype.compare=function(e,n,r,i,s){if(q(e,Uint8Array)&&(e=t.from(e,e.offset,e.byteLength)),!t.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===n&&(n=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===s&&(s=this.length),n<0||r>e.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&n>=r)return 0;if(i>=s)return-1;if(n>=r)return 1;if(this===e)return 0;for(var o=(s>>>=0)-(i>>>=0),a=(r>>>=0)-(n>>>=0),u=Math.min(o,a),c=this.slice(i,s),h=e.slice(n,r),l=0;l>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":return _(this,e,t,n);case"latin1":case"binary":return v(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},t.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;function k(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",s=t;sn)throw new RangeError("Trying to access beyond buffer length")}function x(e,n,r,i,s,o){if(!t.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(n>s||ne.length)throw new RangeError("Index out of range")}function O(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(e,t,n,r,s){return t=+t,n>>>=0,s||O(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function D(e,t,n,r,s){return t=+t,n>>>=0,s||O(e,0,n,8),i.write(e,t,n,r,52,8),n+8}t.prototype.slice=function(e,n){var r=this.length;(e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(n=void 0===n?r:~~n)<0?(n+=r)<0&&(n=0):n>r&&(n=r),n>>=0,t>>>=0,n||P(e,t,this.length);for(var r=this[e],i=1,s=0;++s>>=0,t>>>=0,n||P(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},t.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},t.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},t.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},t.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},t.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},t.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var r=this[e],i=1,s=0;++s=(i*=128)&&(r-=Math.pow(2,8*t)),r},t.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||P(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},t.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},t.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},t.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},t.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},t.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},t.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!0,23,4)},t.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!1,23,4)},t.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!0,52,8)},t.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!1,52,8)},t.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t>>>=0,n>>>=0,r)||x(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,s=0;for(this[t]=255&e;++s>>=0,n>>>=0,r)||x(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},t.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||x(this,e,t,1,255,0),this[t]=255&e,t+1},t.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||x(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},t.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||x(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},t.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||x(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},t.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||x(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},t.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);x(this,e,t,n,i-1,-i)}var s=0,o=1,a=0;for(this[t]=255&e;++s>0)-a&255;return t+n},t.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){var i=Math.pow(2,8*n-1);x(this,e,t,n,i-1,-i)}var s=n-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o>>0)-a&255;return t+n},t.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||x(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},t.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||x(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},t.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||x(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},t.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||x(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},t.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||x(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},t.prototype.writeFloatLE=function(e,t,n){return L(this,e,t,!0,n)},t.prototype.writeFloatBE=function(e,t,n){return L(this,e,t,!1,n)},t.prototype.writeDoubleLE=function(e,t,n){return D(this,e,t,!0,n)},t.prototype.writeDoubleBE=function(e,t,n){return D(this,e,t,!1,n)},t.prototype.copy=function(e,n,r,i){if(!t.isBuffer(e))throw new TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),n>=e.length&&(n=e.length),n||(n=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-n=0;--o)e[o+n]=this[o+r];else Uint8Array.prototype.set.call(e,this.subarray(r,i),n);return s},t.prototype.fill=function(e,n,r,i){if("string"==typeof e){if("string"==typeof n?(i=n,n=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!t.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===e.length){var s=e.charCodeAt(0);("utf8"===i&&s<128||"latin1"===i)&&(e=s)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(n<0||this.length>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(o=n;o55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function j(e){return r.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(B,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function F(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function q(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function H(e){return e!=e}}).call(this,e("buffer").Buffer)},{"base64-js":10,buffer:16,ieee754:19}],17:[function(e,t,n){t.exports=function(t){function n(e){let t=0;for(let n=0;n{if("%%"===t)return t;a++;const s=r.formatters[i];if("function"==typeof s){const r=e[a];t=s.call(n,r),e.splice(a,1),a--}return t}),r.formatArgs.call(n,e),(n.log||r.log).apply(n,e)}return o.namespace=e,o.enabled=r.enabled(e),o.useColors=r.useColors(),o.color=n(e),o.destroy=i,o.extend=s,"function"==typeof r.init&&r.init(o),r.instances.push(o),o}function i(){const e=r.instances.indexOf(this);return-1!==e&&(r.instances.splice(e,1),!0)}function s(e,t){const n=r(this.namespace+(void 0===t?":":t)+e);return n.log=this.log,n}function o(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return r.debug=r,r.default=r,r.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},r.disable=function(){const e=[...r.names.map(o),...r.skips.map(o).map(e=>"-"+e)].join(",");return r.enable(""),e},r.enable=function(e){let t;r.save(e),r.names=[],r.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),i=n.length;for(t=0;t{r[e]=t[e]}),r.instances=[],r.names=[],r.skips=[],r.formatters={},r.selectColor=n,r.enable(r.load()),r}},{ms:21}],18:[function(e,t,n){t.exports=function(){if("undefined"==typeof window)return null;var e={RTCPeerConnection:window.RTCPeerConnection||window.mozRTCPeerConnection||window.webkitRTCPeerConnection,RTCSessionDescription:window.RTCSessionDescription||window.mozRTCSessionDescription||window.webkitRTCSessionDescription,RTCIceCandidate:window.RTCIceCandidate||window.mozRTCIceCandidate||window.webkitRTCIceCandidate};return e.RTCPeerConnection?e:null}},{}],19:[function(e,t,n){n.read=function(e,t,n,r,i){var s,o,a=8*i-r-1,u=(1<>1,h=-7,l=n?i-1:0,d=n?-1:1,f=e[t+l];for(l+=d,s=f&(1<<-h)-1,f>>=-h,h+=a;h>0;s=256*s+e[t+l],l+=d,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=r;h>0;o=256*o+e[t+l],l+=d,h-=8);if(0===s)s=1-c;else{if(s===u)return o?NaN:1/0*(f?-1:1);o+=Math.pow(2,r),s-=c}return(f?-1:1)*o*Math.pow(2,s-r)},n.write=function(e,t,n,r,i,s){var o,a,u,c=8*s-i-1,h=(1<>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:s-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=h):(o=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-o))<1&&(o--,u*=2),(t+=o+l>=1?d/u:d*Math.pow(2,1-l))*u>=2&&(o++,u/=2),o+l>=h?(a=0,o=h):o+l>=1?(a=(t*u-1)*Math.pow(2,i),o+=l):(a=t*Math.pow(2,l-1)*Math.pow(2,i),o=0));i>=8;e[n+f]=255&a,f+=p,a/=256,i-=8);for(o=o<0;e[n+f]=255&o,f+=p,o/=256,c-=8);e[n+f-p]|=128*g}},{}],20:[function(e,t,n){"function"==typeof Object.create?t.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},{}],21:[function(e,t,n){var r=1e3,i=60*r,s=60*i,o=24*s,a=7*o,u=365.25*o;function c(e,t,n,r){var i=t>=1.5*n;return Math.round(e/n)+" "+r+(i?"s":"")}t.exports=function(e,t){t=t||{};var n=typeof e;if("string"===n&&e.length>0)return function(e){if((e=String(e)).length>100)return;var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!t)return;var n=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*u;case"weeks":case"week":case"w":return n*a;case"days":case"day":case"d":return n*o;case"hours":case"hour":case"hrs":case"hr":case"h":return n*s;case"minutes":case"minute":case"mins":case"min":case"m":return n*i;case"seconds":case"second":case"secs":case"sec":case"s":return n*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}(e);if("number"===n&&isFinite(e))return t.long?function(e){var t=Math.abs(e);if(t>=o)return c(e,t,o,"day");if(t>=s)return c(e,t,s,"hour");if(t>=i)return c(e,t,i,"minute");if(t>=r)return c(e,t,r,"second");return e+" ms"}(e):function(e){var t=Math.abs(e);if(t>=o)return Math.round(e/o)+"d";if(t>=s)return Math.round(e/s)+"h";if(t>=i)return Math.round(e/i)+"m";if(t>=r)return Math.round(e/r)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},{}],22:[function(e,t,n){var r=e("wrappy");function i(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function s(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||"Function wrapped with `once`";return t.onceError=n+" shouldn't be called more than once",t.called=!1,t}t.exports=r(i),t.exports.strict=r(s),i.proto=i(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return i(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return s(this)},configurable:!0})})},{wrappy:49}],23:[function(e,t,n){var r,i,s=t.exports={};function o(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function u(e){if(r===setTimeout)return setTimeout(e,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:o}catch(e){r=o}try{i="function"==typeof clearTimeout?clearTimeout:a}catch(e){i=a}}();var c,h=[],l=!1,d=-1;function f(){l&&c&&(l=!1,c.length?h=c.concat(h):d=-1,h.length&&p())}function p(){if(!l){var e=u(f);l=!0;for(var t=h.length;t;){for(c=h,h=[];++d1)for(var n=1;ns)throw new RangeError("requested too many random bytes");var r=o.allocUnsafe(e);if(e>0)if(e>i)for(var u=0;u2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}i("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError),i("ERR_INVALID_ARG_TYPE",function(e,t,n){var r,i,o,a;if("string"==typeof t&&(i="not ",t.substr(!o||o<0?0:+o,i.length)===i)?(r="must not be",t=t.replace(/^not /,"")):r="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))a="The ".concat(e," ").concat(r," ").concat(s(t,"type"));else{var u=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,".")?"property":"argument";a='The "'.concat(e,'" ').concat(u," ").concat(r," ").concat(s(t,"type"))}return a+=". Received type ".concat(typeof n)},TypeError),i("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),i("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),i("ERR_STREAM_PREMATURE_CLOSE","Premature close"),i("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),i("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),i("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),i("ERR_STREAM_WRITE_AFTER_END","write after end"),i("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),i("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),i("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.codes=r},{}],26:[function(e,t,n){(function(e){"use strict";var n=new Set;t.exports.emitExperimentalWarning=e.emitWarning?function(t){if(!n.has(t)){var r=t+" is an experimental feature. This feature could change at any time";n.add(t),e.emitWarning(r,"ExperimentalWarning")}}:function(){}}).call(this,e("_process"))},{_process:23}],27:[function(e,t,n){(function(n){"use strict";var r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};t.exports=c;var i=e("./_stream_readable"),s=e("./_stream_writable");e("inherits")(c,i);for(var o=r(s.prototype),a=0;a0)if("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===a.prototype||(t=function(e){return a.from(e)}(t)),r)o.endEmitted?e.emit("error",new _):R(e,o,t,!0);else if(o.ended)e.emit("error",new b);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||0!==t.length?R(e,o,t,!1):P(e,o)):R(e,o,t,!1)}else r||(o.reading=!1,P(e,o));return!o.ended&&(o.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=k?e=k:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function M(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(c("emitReadable",t.flowing),t.emittedReadable=!0,n.nextTick(I,e))}function I(e){var t=e._readableState;c("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||e.emit("readable"),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,B(e)}function P(e,t){t.readingMore||(t.readingMore=!0,n.nextTick(x,e,t))}function x(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function L(e){c("readable nexttick read 0"),e.read(0)}function D(e,t){c("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),B(e),t.flowing&&!t.reading&&e.read(0)}function B(e){var t=e._readableState;for(c("flow",t.flowing);t.flowing&&null!==e.read(););}function N(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function U(e){var t=e._readableState;c("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,n.nextTick(j,t,e))}function j(e,t){c("endReadableNT",e.endEmitted,e.length),e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function F(e,t){for(var n=0,r=e.length;n=t.highWaterMark:t.length>0)||t.ended))return c("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?U(this):M(this),null;if(0===(e=A(e,t))&&t.ended)return 0===t.length&&U(this),null;var r,i=t.needReadable;return c("need readable",i),(0===t.length||t.length-e0?N(e,t):null)?(t.needReadable=!0,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&U(this)),null!==r&&this.emit("data",r),r},C.prototype._read=function(e){this.emit("error",new w("_read()"))},C.prototype.pipe=function(e,t){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e)}i.pipesCount+=1,c("pipe count=%d opts=%j",i.pipesCount,t);var o=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?u:m;function a(t,n){c("onunpipe"),t===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,c("cleanup"),e.removeListener("close",p),e.removeListener("finish",g),e.removeListener("drain",h),e.removeListener("error",f),e.removeListener("unpipe",a),r.removeListener("end",u),r.removeListener("end",m),r.removeListener("data",d),l=!0,!i.awaitDrain||e._writableState&&!e._writableState.needDrain||h())}function u(){c("onend"),e.end()}i.endEmitted?n.nextTick(o):r.once("end",o),e.on("unpipe",a);var h=function(e){return function(){var t=e._readableState;c("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(e,"data")&&(t.flowing=!0,B(e))}}(r);e.on("drain",h);var l=!1;function d(t){c("ondata");var n=e.write(t);c("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===e||i.pipesCount>1&&-1!==F(i.pipes,e))&&!l&&(c("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(t){c("onerror",t),m(),e.removeListener("error",f),0===s(e,"error")&&e.emit("error",t)}function p(){e.removeListener("finish",g),m()}function g(){c("onfinish"),e.removeListener("close",p),m()}function m(){c("unpipe"),r.unpipe(e)}return r.on("data",d),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",f),e.once("close",p),e.once("finish",g),e.emit("pipe",r),i.flowing||(c("pipe resume"),r.resume()),e},C.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s0,!1!==i.flowing&&this.resume()):"readable"===e&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,c("on readable",i.length,i.reading),i.length?M(this):i.reading||n.nextTick(L,this))),r},C.prototype.addListener=C.prototype.on,C.prototype.removeListener=function(e,t){var r=o.prototype.removeListener.call(this,e,t);return"readable"===e&&n.nextTick(O,this),r},C.prototype.removeAllListeners=function(e){var t=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||n.nextTick(O,this),t},C.prototype.resume=function(){var e=this._readableState;return e.flowing||(c("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,n.nextTick(D,e,t))}(this,e)),e.paused=!1,this},C.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",function(){if(c("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(i){(c("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause()))}),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var s=0;s-1))throw new v(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(e,t,n){n(new g("_write()"))},C.prototype._writev=null,C.prototype.end=function(e,t,r){var i=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||function(e,t,r){t.ending=!0,I(e,t),r&&(t.finished?n.nextTick(r):e.once("finish",r));t.ended=!0,e.writable=!1}(this,i,r),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),C.prototype.destroy=l.destroy,C.prototype._undestroy=l.undestroy,C.prototype._destroy=function(e,t){t(e)}}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../errors":25,"./_stream_duplex":27,"./internal/streams/destroy":34,"./internal/streams/state":37,"./internal/streams/stream":38,_process:23,buffer:16,inherits:20,"util-deprecate":48}],32:[function(e,t,n){(function(n){"use strict";var r;function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var s=e("./end-of-stream"),o=Symbol("lastResolve"),a=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),h=Symbol("lastPromise"),l=Symbol("handlePromise"),d=Symbol("stream");function f(e,t){return{value:e,done:t}}function p(e){var t=e[o];if(null!==t){var n=e[d].read();null!==n&&(e[h]=null,e[o]=null,e[a]=null,t(f(n,!1)))}}function g(e){n.nextTick(p,e)}var m=Object.getPrototypeOf(function(){}),y=Object.setPrototypeOf((i(r={get stream(){return this[d]},next:function(){var e=this,t=this[u];if(null!==t)return Promise.reject(t);if(this[c])return Promise.resolve(f(void 0,!0));if(this[d].destroyed)return new Promise(function(t,r){n.nextTick(function(){e[u]?r(e[u]):t(f(void 0,!0))})});var r,i=this[h];if(i)r=new Promise(function(e,t){return function(n,r){e.then(function(){t[c]?n(f(void 0,!0)):t[l](n,r)},r)}}(i,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(f(s,!1));r=new Promise(this[l])}return this[h]=r,r}},Symbol.asyncIterator,function(){return this}),i(r,"return",function(){var e=this;return new Promise(function(t,n){e[d].destroy(null,function(e){e?n(e):t(f(void 0,!0))})})}),r),m);t.exports=function(e){var t,n=Object.create(y,(i(t={},d,{value:e,writable:!0}),i(t,o,{value:null,writable:!0}),i(t,a,{value:null,writable:!0}),i(t,u,{value:null,writable:!0}),i(t,c,{value:e._readableState.endEmitted,writable:!0}),i(t,l,{value:function(e,t){var r=n[d].read();r?(n[h]=null,n[o]=null,n[a]=null,e(f(r,!1))):(n[o]=e,n[a]=t)},writable:!0}),t));return n[h]=null,s(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=n[a];return null!==t&&(n[h]=null,n[o]=null,n[a]=null,t(e)),void(n[u]=e)}var r=n[o];null!==r&&(n[h]=null,n[o]=null,n[a]=null,r(f(void 0,!0))),n[c]=!0}),e.on("readable",g.bind(null,n)),n}}).call(this,e("_process"))},{"./end-of-stream":35,_process:23}],33:[function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var i=e("buffer").Buffer,s=e("util").inspect,o=s&&s.custom||"inspect";t.exports=function(){function e(){this.head=null,this.tail=null,this.length=0}var t=e.prototype;return t.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},t.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},t.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},t.clear=function(){this.head=this.tail=null,this.length=0},t.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},t.concat=function(e){if(0===this.length)return i.alloc(0);for(var t,n,r,s=i.allocUnsafe(e>>>0),o=this.head,a=0;o;)t=o.data,n=s,r=a,i.prototype.copy.call(t,n,r),a+=o.data.length,o=o.next;return s},t.consume=function(e,t){var n;return ei.length?i.length:e;if(s===i.length?r+=i:r+=i.slice(0,e),0===(e-=s)){s===i.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(s));break}++n}return this.length-=n,r},t._getBuffer=function(e){var t=i.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var s=n.data,o=e>s.length?s.length:e;if(s.copy(t,t.length-e,0,o),0===(e-=o)){o===s.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=s.slice(o));break}++r}return this.length-=r,t},t[o]=function(e,t){return s(this,function(e){for(var t=1;t0,function(e){h||(h=e),e&&d.forEach(u),s||(d.forEach(u),l(h))})});return n.reduce(c)}},{"../../../errors":25,"./end-of-stream":35}],37:[function(e,t,n){"use strict";var r=e("../../../errors").codes.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(e,t,n,i){var s=function(e,t,n){return null!=e.highWaterMark?e.highWaterMark:t?e[n]:null}(t,i,n);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new r(i?n:"highWaterMark",s);return Math.floor(s)}return e.objectMode?16:16384}}},{"../../../errors":25}],38:[function(e,t,n){t.exports=e("events").EventEmitter},{events:"events"}],39:[function(e,t,n){(n=t.exports=e("./lib/_stream_readable.js")).Stream=n,n.Readable=n,n.Writable=e("./lib/_stream_writable.js"),n.Duplex=e("./lib/_stream_duplex.js"),n.Transform=e("./lib/_stream_transform.js"),n.PassThrough=e("./lib/_stream_passthrough.js"),n.finished=e("./lib/internal/streams/end-of-stream.js"),n.pipeline=e("./lib/internal/streams/pipeline.js")},{"./lib/_stream_duplex.js":27,"./lib/_stream_passthrough.js":28,"./lib/_stream_readable.js":29,"./lib/_stream_transform.js":30,"./lib/_stream_writable.js":31,"./lib/internal/streams/end-of-stream.js":35,"./lib/internal/streams/pipeline.js":36}],40:[function(e,t,n){(function(e){t.exports=function(t,n){var r,i,s,o=!0;Array.isArray(t)?(r=[],i=t.length):(s=Object.keys(t),r={},i=s.length);function a(t){function i(){n&&n(t,r),n=null}o?e.nextTick(i):i()}function u(e,t,n){r[e]=n,(0==--i||t)&&a(t)}i?s?s.forEach(function(e){t[e](function(t,n){u(e,t,n)})}):t.forEach(function(e,t){e(function(e,n){u(t,e,n)})}):a(null);o=!1}}).call(this,e("_process"))},{_process:23}],41:[function(e,t,n){var r=e("buffer"),i=r.Buffer;function s(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(s(r,n),n.Buffer=o),o.prototype=Object.create(i.prototype),s(i,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},{buffer:16}],42:[function(e,t,n){var r=e("safe-buffer").Buffer;function i(e,t){this._block=r.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=r.from(e,t));for(var n=this._block,i=this._blockSize,s=e.length,o=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(4294967295&n)>>>0,i=(n-r)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var s=this._hash();return e?s.toString(e):s},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},t.exports=i},{"safe-buffer":41}],43:[function(e,t,n){var r=e("inherits"),i=e("./hash"),s=e("safe-buffer").Buffer,o=[1518500249,1859775393,-1894007588,-899497514],a=new Array(80);function u(){this.init(),this._w=a,i.call(this,64,56)}function c(e){return e<<5|e>>>27}function h(e){return e<<30|e>>>2}function l(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}r(u,i),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,s=0|this._c,a=0|this._d,u=0|this._e,d=0;d<16;++d)n[d]=e.readInt32BE(4*d);for(;d<80;++d)n[d]=(t=n[d-3]^n[d-8]^n[d-14]^n[d-16])<<1|t>>>31;for(var f=0;f<80;++f){var p=~~(f/20),g=c(r)+l(p,i,s,a)+u+n[f]+o[p]|0;u=a,a=s,s=h(i),i=r,r=g}this._a=r+this._a|0,this._b=i+this._b|0,this._c=s+this._c|0,this._d=a+this._d|0,this._e=u+this._e|0},u.prototype._hash=function(){var e=s.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},t.exports=u},{"./hash":42,inherits:20,"safe-buffer":41}],44:[function(e,t,n){(function(n){t.exports=c;var r=e("debug")("simple-peer"),i=e("get-browser-rtc"),s=e("inherits"),o=e("randombytes"),a=e("readable-stream"),u=5e3;function c(e){var t=this;if(!(t instanceof c))return new c(e);if(t._id=o(4).toString("hex").slice(0,7),t._debug("new peer %o",e),e=Object.assign({allowHalfOpen:!1},e),a.Duplex.call(t,e),t.channelName=e.initiator?e.channelName||o(20).toString("hex"):null,t.initiator=e.initiator||!1,t.channelConfig=e.channelConfig||c.channelConfig,t.config=Object.assign({},c.config,e.config),t.offerOptions=e.offerOptions||{},t.answerOptions=e.answerOptions||{},t.sdpTransform=e.sdpTransform||function(e){return e},t.streams=e.streams||(e.stream?[e.stream]:[]),t.trickle=void 0===e.trickle||e.trickle,t.allowHalfTrickle=void 0!==e.allowHalfTrickle&&e.allowHalfTrickle,t.iceCompleteTimeout=e.iceCompleteTimeout||u,t.destroyed=!1,t._connected=!1,t.remoteAddress=void 0,t.remoteFamily=void 0,t.remotePort=void 0,t.localAddress=void 0,t.localFamily=void 0,t.localPort=void 0,t._wrtc=e.wrtc&&"object"==typeof e.wrtc?e.wrtc:i(),!t._wrtc)throw"undefined"==typeof window?l("No WebRTC support: Specify `opts.wrtc` option in this environment","ERR_WEBRTC_SUPPORT"):l("No WebRTC support: Not a supported browser","ERR_WEBRTC_SUPPORT");t._pcReady=!1,t._channelReady=!1,t._iceComplete=!1,t._iceCompleteTimer=null,t._channel=null,t._pendingCandidates=[],t._isNegotiating=!t.initiator,t._batchedNegotiation=!1,t._queuedNegotiation=!1,t._sendersAwaitingStable=[],t._senderMap=new Map,t._firstStable=!0,t._closingInterval=null,t._remoteTracks=[],t._remoteStreams=[],t._chunk=null,t._cb=null,t._interval=null;try{t._pc=new t._wrtc.RTCPeerConnection(t.config)}catch(e){return void setTimeout(()=>t.destroy(e),0)}t._isReactNativeWebrtc="number"==typeof t._pc._peerConnectionId,t._pc.oniceconnectionstatechange=function(){t._onIceStateChange()},t._pc.onicegatheringstatechange=function(){t._onIceStateChange()},t._pc.onsignalingstatechange=function(){t._onSignalingStateChange()},t._pc.onicecandidate=function(e){t._onIceCandidate(e)},t.initiator?t._setupData({channel:t._pc.createDataChannel(t.channelName,t.channelConfig)}):t._pc.ondatachannel=function(e){t._setupData(e)},t.streams&&t.streams.forEach(function(e){t.addStream(e)}),t._pc.ontrack=function(e){t._onTrack(e)},t.initiator&&t._needsNegotiation(),t._onFinishBound=function(){t._onFinish()},t.once("finish",t._onFinishBound)}function h(e){return e.replace(/a=ice-options:trickle\s\n/g,"")}function l(e,t){var n=new Error(e);return n.code=t,n}s(c,a.Duplex),c.WEBRTC_SUPPORT=!!i(),c.config={iceServers:[{urls:"stun:stun.l.google.com:19302"},{urls:"stun:global.stun.twilio.com:3478?transport=udp"}],sdpSemantics:"unified-plan"},c.channelConfig={},Object.defineProperty(c.prototype,"bufferSize",{get:function(){return this._channel&&this._channel.bufferedAmount||0}}),Object.defineProperty(c.prototype,"connected",{get:function(){return this._connected&&"open"===this._channel.readyState}}),c.prototype.address=function(){return{port:this.localPort,family:this.localFamily,address:this.localAddress}},c.prototype.signal=function(e){var t=this;if(t.destroyed)throw l("cannot signal after peer is destroyed","ERR_SIGNALING");if("string"==typeof e)try{e=JSON.parse(e)}catch(t){e={}}t._debug("signal()"),e.renegotiate&&t.initiator&&(t._debug("got request to renegotiate"),t._needsNegotiation()),e.transceiverRequest&&t.initiator&&(t._debug("got request for transceiver"),t.addTransceiver(e.transceiverRequest.kind,e.transceiverRequest.init)),e.candidate&&(t._pc.localDescription&&t._pc.localDescription.type&&t._pc.remoteDescription&&t._pc.remoteDescription.type?t._addIceCandidate(e.candidate):t._pendingCandidates.push(e.candidate)),e.sdp&&t._pc.setRemoteDescription(new t._wrtc.RTCSessionDescription(e)).then(function(){t.destroyed||(t._pendingCandidates.forEach(function(e){t._addIceCandidate(e)}),t._pendingCandidates=[],"offer"===t._pc.remoteDescription.type&&t._createAnswer())}).catch(function(e){t.destroy(l(e,"ERR_SET_REMOTE_DESCRIPTION"))}),e.sdp||e.candidate||e.renegotiate||e.transceiverRequest||t.destroy(l("signal() called with invalid signal data","ERR_SIGNALING"))},c.prototype._addIceCandidate=function(e){var t=this,n=new t._wrtc.RTCIceCandidate(e);t._pc.addIceCandidate(n).catch(function(e){var r;!n.address||n.address.endsWith(".local")?(r="Ignoring unsupported ICE candidate.",console.warn(r)):t.destroy(l(e,"ERR_ADD_ICE_CANDIDATE"))})},c.prototype.send=function(e){this._channel.send(e)},c.prototype.addTransceiver=function(e,t){if(this._debug("addTransceiver()"),this.initiator)try{this._pc.addTransceiver(e,t),this._needsNegotiation()}catch(e){this.destroy(e)}else this.emit("signal",{transceiverRequest:{kind:e,init:t}})},c.prototype.addStream=function(e){var t=this;t._debug("addStream()"),e.getTracks().forEach(function(n){t.addTrack(n,e)})},c.prototype.addTrack=function(e,t){this._debug("addTrack()");var n=this._senderMap.get(e)||new Map,r=n.get(t);r?r.removed?this.destroy(l("Track has been removed. You should enable/disable tracks that you want to re-add.","ERR_SENDER_REMOVED")):this.destroy(l("Track has already been added to that stream.","ERR_SENDER_ALREADY_ADDED")):(r=this._pc.addTrack(e,t),n.set(t,r),this._senderMap.set(e,n),this._needsNegotiation())},c.prototype.replaceTrack=function(e,t,n){this._debug("replaceTrack()");var r=this._senderMap.get(e),i=r?r.get(n):null;i||this.destroy(l("Cannot replace track that was never added.","ERR_TRACK_NOT_ADDED")),t&&this._senderMap.set(t,r),null!=i.replaceTrack?i.replaceTrack(t):this.destroy(l("replaceTrack is not supported in this browser","ERR_UNSUPPORTED_REPLACETRACK"))},c.prototype.removeTrack=function(e,t){this._debug("removeSender()");var n=this._senderMap.get(e),r=n?n.get(t):null;r||this.destroy(l("Cannot remove track that was never added.","ERR_TRACK_NOT_ADDED"));try{r.removed=!0,this._pc.removeTrack(r)}catch(e){"NS_ERROR_UNEXPECTED"===e.name?this._sendersAwaitingStable.push(r):this.destroy(e)}this._needsNegotiation()},c.prototype.removeStream=function(e){var t=this;t._debug("removeSenders()"),e.getTracks().forEach(function(n){t.removeTrack(n,e)})},c.prototype._needsNegotiation=function(){var e=this;e._debug("_needsNegotiation"),e._batchedNegotiation||(e._batchedNegotiation=!0,setTimeout(function(){e._batchedNegotiation=!1,e._debug("starting batched negotiation"),e.negotiate()},0))},c.prototype.negotiate=function(){var e=this;e.initiator?e._isNegotiating?(e._queuedNegotiation=!0,e._debug("already negotiating, queueing")):(e._debug("start negotiation"),setTimeout(()=>{e._createOffer()},0)):e._isNegotiating||(e._debug("requesting negotiation from initiator"),e.emit("signal",{renegotiate:!0})),e._isNegotiating=!0},c.prototype.destroy=function(e){this._destroy(e,function(){})},c.prototype._destroy=function(e,t){if(!this.destroyed){if(this._debug("destroy (error: %s)",e&&(e.message||e)),this.readable=this.writable=!1,this._readableState.ended||this.push(null),this._writableState.finished||this.end(),this.destroyed=!0,this._connected=!1,this._pcReady=!1,this._channelReady=!1,this._remoteTracks=null,this._remoteStreams=null,this._senderMap=null,clearInterval(this._closingInterval),this._closingInterval=null,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._onFinishBound&&this.removeListener("finish",this._onFinishBound),this._onFinishBound=null,this._channel){try{this._channel.close()}catch(e){}this._channel.onmessage=null,this._channel.onopen=null,this._channel.onclose=null,this._channel.onerror=null}if(this._pc){try{this._pc.close()}catch(e){}this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ontrack=null,this._pc.ondatachannel=null}this._pc=null,this._channel=null,e&&this.emit("error",e),this.emit("close"),t()}},c.prototype._setupData=function(e){var t=this;if(!e.channel)return t.destroy(l("Data channel event is missing `channel` property","ERR_DATA_CHANNEL"));t._channel=e.channel,t._channel.binaryType="arraybuffer","number"==typeof t._channel.bufferedAmountLowThreshold&&(t._channel.bufferedAmountLowThreshold=65536),t.channelName=t._channel.label,t._channel.onmessage=function(e){t._onChannelMessage(e)},t._channel.onbufferedamountlow=function(){t._onChannelBufferedAmountLow()},t._channel.onopen=function(){t._onChannelOpen()},t._channel.onclose=function(){t._onChannelClose()},t._channel.onerror=function(e){t.destroy(l(e,"ERR_DATA_CHANNEL"))};var n=!1;t._closingInterval=setInterval(function(){t._channel&&"closing"===t._channel.readyState?(n&&t._onChannelClose(),n=!0):n=!1},5e3)},c.prototype._read=function(){},c.prototype._write=function(e,t,n){if(this.destroyed)return n(l("cannot write after peer is destroyed","ERR_DATA_CHANNEL"));if(this._connected){try{this.send(e)}catch(e){return this.destroy(l(e,"ERR_DATA_CHANNEL"))}this._channel.bufferedAmount>65536?(this._debug("start backpressure: bufferedAmount %d",this._channel.bufferedAmount),this._cb=n):n(null)}else this._debug("write before connect"),this._chunk=e,this._cb=n},c.prototype._onFinish=function(){var e=this;function t(){setTimeout(function(){e.destroy()},1e3)}e.destroyed||(e._connected?t():e.once("connect",t))},c.prototype._startIceCompleteTimeout=function(){var e=this;e.destroyed||e._iceCompleteTimer||(e._debug("started iceComplete timeout"),e._iceCompleteTimer=setTimeout(function(){e._iceComplete||(e._iceComplete=!0,e._debug("iceComplete timeout completed"),e.emit("iceTimeout"),e.emit("_iceComplete"))},e.iceCompleteTimeout))},c.prototype._createOffer=function(){var e=this;e.destroyed||e._pc.createOffer(e.offerOptions).then(function(t){function n(){if(!e.destroyed){var n=e._pc.localDescription||t;e._debug("signal"),e.emit("signal",{type:n.type,sdp:n.sdp})}}e.destroyed||(e.trickle||e.allowHalfTrickle||(t.sdp=h(t.sdp)),t.sdp=e.sdpTransform(t.sdp),e._pc.setLocalDescription(t).then(function(){if(e._debug("createOffer success"),e.destroyed)return;e.trickle||e._iceComplete?n():e.once("_iceComplete",n)}).catch(function(t){e.destroy(l(t,"ERR_SET_LOCAL_DESCRIPTION"))}))}).catch(function(t){e.destroy(l(t,"ERR_CREATE_OFFER"))})},c.prototype._requestMissingTransceivers=function(){var e=this;e._pc.getTransceivers&&e._pc.getTransceivers().forEach(t=>{t.mid||!t.sender.track||t.requested||(t.requested=!0,e.addTransceiver(t.sender.track.kind))})},c.prototype._createAnswer=function(){var e=this;e.destroyed||e._pc.createAnswer(e.answerOptions).then(function(t){function n(){if(!e.destroyed){var n=e._pc.localDescription||t;e._debug("signal"),e.emit("signal",{type:n.type,sdp:n.sdp}),e.initiator||e._requestMissingTransceivers()}}e.destroyed||(e.trickle||e.allowHalfTrickle||(t.sdp=h(t.sdp)),t.sdp=e.sdpTransform(t.sdp),e._pc.setLocalDescription(t).then(function(){if(e.destroyed)return;e.trickle||e._iceComplete?n():e.once("_iceComplete",n)}).catch(function(t){e.destroy(l(t,"ERR_SET_LOCAL_DESCRIPTION"))}))}).catch(function(t){e.destroy(l(t,"ERR_CREATE_ANSWER"))})},c.prototype._onIceStateChange=function(){if(!this.destroyed){var e=this._pc.iceConnectionState,t=this._pc.iceGatheringState;this._debug("iceStateChange (connection: %s) (gathering: %s)",e,t),this.emit("iceStateChange",e,t),"connected"!==e&&"completed"!==e||(this._pcReady=!0,this._maybeReady()),"failed"===e&&this.destroy(l("Ice connection failed.","ERR_ICE_CONNECTION_FAILURE")),"closed"===e&&this.destroy(l("Ice connection closed.","ERR_ICE_CONNECTION_CLOSED"))}},c.prototype.getStats=function(e){var t=this;function n(e){return"[object Array]"===Object.prototype.toString.call(e.values)&&e.values.forEach(function(t){Object.assign(e,t)}),e}0===t._pc.getStats.length?t._pc.getStats().then(function(t){var r=[];t.forEach(function(e){r.push(n(e))}),e(null,r)},function(t){e(t)}):t._isReactNativeWebrtc?t._pc.getStats(null,function(t){var r=[];t.forEach(function(e){r.push(n(e))}),e(null,r)},function(t){e(t)}):t._pc.getStats.length>0?t._pc.getStats(function(r){if(!t.destroyed){var i=[];r.result().forEach(function(e){var t={};e.names().forEach(function(n){t[n]=e.stat(n)}),t.id=e.id,t.type=e.type,t.timestamp=e.timestamp,i.push(n(t))}),e(null,i)}},function(t){e(t)}):e(null,[])},c.prototype._maybeReady=function(){var e=this;e._debug("maybeReady pc %s channel %s",e._pcReady,e._channelReady),!e._connected&&!e._connecting&&e._pcReady&&e._channelReady&&(e._connecting=!0,function t(){e.destroyed||e.getStats(function(n,r){if(!e.destroyed){n&&(r=[]);var i={},s={},o={},a=!1;if(r.forEach(function(e){"remotecandidate"!==e.type&&"remote-candidate"!==e.type||(i[e.id]=e),"localcandidate"!==e.type&&"local-candidate"!==e.type||(s[e.id]=e),"candidatepair"!==e.type&&"candidate-pair"!==e.type||(o[e.id]=e)}),r.forEach(function(e){"transport"===e.type&&e.selectedCandidatePairId&&c(o[e.selectedCandidatePairId]),("googCandidatePair"===e.type&&"true"===e.googActiveConnection||("candidatepair"===e.type||"candidate-pair"===e.type)&&e.selected)&&c(e)}),a||Object.keys(o).length&&!Object.keys(s).length){if(e._connecting=!1,e._connected=!0,e._chunk){try{e.send(e._chunk)}catch(n){return e.destroy(l(n,"ERR_DATA_CHANNEL"))}e._chunk=null,e._debug('sent chunk from "write before connect"');var u=e._cb;e._cb=null,u(null)}"number"!=typeof e._channel.bufferedAmountLowThreshold&&(e._interval=setInterval(function(){e._onInterval()},150),e._interval.unref&&e._interval.unref()),e._debug("connect"),e.emit("connect")}else setTimeout(t,100)}function c(t){a=!0;var n=s[t.localCandidateId];n&&(n.ip||n.address)?(e.localAddress=n.ip||n.address,e.localPort=Number(n.port)):n&&n.ipAddress?(e.localAddress=n.ipAddress,e.localPort=Number(n.portNumber)):"string"==typeof t.googLocalAddress&&(n=t.googLocalAddress.split(":"),e.localAddress=n[0],e.localPort=Number(n[1])),e.localAddress&&(e.localFamily=e.localAddress.includes(":")?"IPv6":"IPv4");var r=i[t.remoteCandidateId];r&&(r.ip||r.address)?(e.remoteAddress=r.ip||r.address,e.remotePort=Number(r.port)):r&&r.ipAddress?(e.remoteAddress=r.ipAddress,e.remotePort=Number(r.portNumber)):"string"==typeof t.googRemoteAddress&&(r=t.googRemoteAddress.split(":"),e.remoteAddress=r[0],e.remotePort=Number(r[1])),e.remoteAddress&&(e.remoteFamily=e.remoteAddress.includes(":")?"IPv6":"IPv4"),e._debug("connect local: %s:%s remote: %s:%s",e.localAddress,e.localPort,e.remoteAddress,e.remotePort)}})}())},c.prototype._onInterval=function(){!this._cb||!this._channel||this._channel.bufferedAmount>65536||this._onChannelBufferedAmountLow()},c.prototype._onSignalingStateChange=function(){var e=this;e.destroyed||("stable"!==e._pc.signalingState||e._firstStable||(e._isNegotiating=!1,e._debug("flushing sender queue",e._sendersAwaitingStable),e._sendersAwaitingStable.forEach(function(t){e._pc.removeTrack(t),e._queuedNegotiation=!0}),e._sendersAwaitingStable=[],e._queuedNegotiation&&(e._debug("flushing negotiation queue"),e._queuedNegotiation=!1,e._needsNegotiation()),e._debug("negotiate"),e.emit("negotiate")),e._firstStable=!1,e._debug("signalingStateChange %s",e._pc.signalingState),e.emit("signalingStateChange",e._pc.signalingState))},c.prototype._onIceCandidate=function(e){this.destroyed||(e.candidate&&this.trickle?this.emit("signal",{candidate:{candidate:e.candidate.candidate,sdpMLineIndex:e.candidate.sdpMLineIndex,sdpMid:e.candidate.sdpMid}}):e.candidate||this._iceComplete||(this._iceComplete=!0,this.emit("_iceComplete")),e.candidate&&this._startIceCompleteTimeout())},c.prototype._onChannelMessage=function(e){if(!this.destroyed){var t=e.data;t instanceof ArrayBuffer&&(t=n.from(t)),this.push(t)}},c.prototype._onChannelBufferedAmountLow=function(){if(!this.destroyed&&this._cb){this._debug("ending backpressure: bufferedAmount %d",this._channel.bufferedAmount);var e=this._cb;this._cb=null,e(null)}},c.prototype._onChannelOpen=function(){this._connected||this.destroyed||(this._debug("on channel open"),this._channelReady=!0,this._maybeReady())},c.prototype._onChannelClose=function(){this.destroyed||(this._debug("on channel close"),this.destroy())},c.prototype._onTrack=function(e){var t=this;t.destroyed||e.streams.forEach(function(n){t._debug("on track"),t.emit("track",e.track,n),t._remoteTracks.push({track:e.track,stream:n}),t._remoteStreams.some(function(e){return e.id===n.id})||(t._remoteStreams.push(n),setTimeout(function(){t.emit("stream",n)},0))})},c.prototype._debug=function(){var e=this,t=[].slice.call(arguments);t[0]="["+e._id+"] "+t[0],r.apply(null,t)}}).call(this,e("buffer").Buffer)},{buffer:16,debug:"debug","get-browser-rtc":18,inherits:20,randombytes:24,"readable-stream":39}],45:[function(e,t,n){(function(n,r){const i=e("debug")("simple-websocket"),s=e("randombytes"),o=e("readable-stream"),a=e("ws"),u="function"!=typeof a?WebSocket:a,c=65536;class h extends o.Duplex{constructor(e={}){if("string"==typeof e&&(e={url:e}),super(e=Object.assign({allowHalfOpen:!1},e)),null==e.url&&null==e.socket)throw new Error("Missing required `url` or `socket` option");if(null!=e.url&&null!=e.socket)throw new Error("Must specify either `url` or `socket` option, not both");if(this._id=s(4).toString("hex").slice(0,7),this._debug("new websocket: %o",e),this.connected=!1,this.destroyed=!1,this._chunk=null,this._cb=null,this._interval=null,e.socket)this.url=e.socket.url,this._ws=e.socket,this.connected=e.socket.readyState===u.OPEN;else{this.url=e.url;try{this._ws="function"==typeof a?new u(e.url,e):new u(e.url)}catch(e){return void n.nextTick(()=>this.destroy(e))}}this._ws.binaryType="arraybuffer",this._ws.onopen=()=>{this._onOpen()},this._ws.onmessage=e=>{this._onMessage(e)},this._ws.onclose=()=>{this._onClose()},this._ws.onerror=()=>{this.destroy(new Error("connection error to "+this.url))},this._onFinishBound=()=>{this._onFinish()},this.once("finish",this._onFinishBound)}send(e){this._ws.send(e)}destroy(e){this._destroy(e,()=>{})}_destroy(e,t){if(!this.destroyed){if(this._debug("destroy (error: %s)",e&&(e.message||e)),this.readable=this.writable=!1,this._readableState.ended||this.push(null),this._writableState.finished||this.end(),this.connected=!1,this.destroyed=!0,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._onFinishBound&&this.removeListener("finish",this._onFinishBound),this._onFinishBound=null,this._ws){const t=this._ws,n=()=>{t.onclose=null};if(t.readyState===u.CLOSED)n();else try{t.onclose=n,t.close()}catch(e){n()}t.onopen=null,t.onmessage=null,t.onerror=()=>{}}if(this._ws=null,e){if("undefined"!=typeof DOMException&&e instanceof DOMException){const t=e.code;(e=new Error(e.message)).code=t}this.emit("error",e)}this.emit("close"),t()}}_read(){}_write(e,t,n){if(this.destroyed)return n(new Error("cannot write after socket is destroyed"));if(this.connected){try{this.send(e)}catch(e){return this.destroy(e)}"function"!=typeof a&&this._ws.bufferedAmount>c?(this._debug("start backpressure: bufferedAmount %d",this._ws.bufferedAmount),this._cb=n):n(null)}else this._debug("write before connect"),this._chunk=e,this._cb=n}_onFinish(){if(this.destroyed)return;const e=()=>{setTimeout(()=>this.destroy(),1e3)};this.connected?e():this.once("connect",e)}_onMessage(e){if(this.destroyed)return;let t=e.data;t instanceof ArrayBuffer&&(t=r.from(t)),this.push(t)}_onOpen(){if(!this.connected&&!this.destroyed){if(this.connected=!0,this._chunk){try{this.send(this._chunk)}catch(e){return this.destroy(e)}this._chunk=null,this._debug('sent chunk from "write before connect"');const e=this._cb;this._cb=null,e(null)}"function"!=typeof a&&(this._interval=setInterval(()=>this._onInterval(),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit("connect")}}_onInterval(){if(!this._cb||!this._ws||this._ws.bufferedAmount>c)return;this._debug("ending backpressure: bufferedAmount %d",this._ws.bufferedAmount);const e=this._cb;this._cb=null,e(null)}_onClose(){this.destroyed||(this._debug("on close"),this.destroy())}_debug(){const e=[].slice.call(arguments);e[0]="["+this._id+"] "+e[0],i.apply(null,e)}}h.WEBSOCKET_SUPPORT=!!u,t.exports=h}).call(this,e("_process"),e("buffer").Buffer)},{_process:23,buffer:16,debug:"debug",randombytes:24,"readable-stream":39,ws:15}],46:[function(e,t,n){"use strict";var r=e("safe-buffer").Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=u,this.end=c,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=h,this.end=l,t=3;break;default:return this.write=d,void(this.end=f)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function h(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function l(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}n.StringDecoder=s,s.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return i>0&&(e.lastNeed=i-1),i;if(--r=0)return i>0&&(e.lastNeed=i-2),i;if(--r=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},s.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},{"safe-buffer":41}],47:[function(e,t,n){"use strict";t.exports=function(e,t,n){return 0===e.length?e:t?(n||e.sort(t),function(e,t){for(var n=1,r=e.length,i=e[0],s=e[0],o=1;o{"%%"!==e&&(r++,"%c"===e&&(i=r))}),e.splice(i,0,n)},n.save=function(e){try{e?n.storage.setItem("debug",e):n.storage.removeItem("debug")}catch(e){}},n.load=function(){let e;try{e=n.storage.getItem("debug")}catch(e){}!e&&void 0!==r&&"env"in r&&(e=r.env.DEBUG);return e},n.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},n.storage=function(){try{return localStorage}catch(e){}}(),n.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.exports=e("./common")(n);const{formatters:i}=t.exports;i.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}).call(this,e("_process"))},{"./common":17,_process:23}],events:[function(e,t,n){var r=Object.create||function(e){var t=function(){};return t.prototype=e,new t},i=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return n},s=Function.prototype.bind||function(e){var t=this;return function(){return t.apply(e,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=r(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}t.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var a,u=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,"x",{value:0}),a=0===c.x}catch(e){a=!1}function h(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function l(e,t,n){if(t)e.call(n);else for(var r=e.length,i=v(e,r),s=0;s0&&a.length>s){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+' "'+String(t)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=a.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",u.name,u.message)}}else a=o[t]=n,++e._eventsCount;return e}function y(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var e=new Array(arguments.length),t=0;t1&&(t=arguments[1]),t instanceof Error)throw t;var u=new Error('Unhandled "error" event. ('+t+")");throw u.context=t,u}if(!(n=o[e]))return!1;var c="function"==typeof n;switch(r=arguments.length){case 1:l(n,c,this);break;case 2:d(n,c,this,arguments[1]);break;case 3:f(n,c,this,arguments[1],arguments[2]);break;case 4:p(n,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),s=1;s=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,s=o;break}if(s<0)return this;0===s?n.shift():function(e,t){for(var n=t,r=n+1,i=e.length;r=0;s--)this.removeListener(e,t[s]);return this},o.prototype.listeners=function(e){return w(this,e,!0)},o.prototype.rawListeners=function(e){return w(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):_.call(e,t)},o.prototype.listenerCount=_,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],"p2p-media-loader-core":[function(e,t,n){"use strict";function r(e){for(var t in e)n.hasOwnProperty(t)||(n[t]=e[t])}Object.defineProperty(n,"__esModule",{value:!0}),n.version="0.6.2",r(e("./loader-interface")),r(e("./hybrid-loader"))},{"./hybrid-loader":4,"./loader-interface":5}]},{},[2]); diff --git a/resources/assets/player/js/p2p-media-loader-hlsjs.min.js b/resources/assets/player/js/p2p-media-loader-hlsjs.min.js new file mode 100644 index 0000000..10be8a9 --- /dev/null +++ b/resources/assets/player/js/p2p-media-loader-hlsjs.min.js @@ -0,0 +1,28 @@ +require=function t(e,r,n){function i(a,o){if(!r[a]){if(!e[a]){var u="function"==typeof require&&require;if(!o&&u)return u(a,!0);if(s)return s(a,!0);var f=new Error("Cannot find module '"+a+"'");throw f.code="MODULE_NOT_FOUND",f}var l=r[a]={exports:{}};e[a][0].call(l.exports,(function(t){return i(e[a][1][t]||t)}),l,l.exports,t,e,r,n)}return r[a].exports}for(var s="function"==typeof require&&require,a=0;ai.Events[t])).forEach((t=>this.loader.on(t,((...e)=>this.emit(t,...e)))))}static isSupported(){return i.HybridLoader.isSupported()}createLoaderClass(){return o.createHlsJsLoaderClass(a.HlsJsLoader,this)}async destroy(){await this.segmentManager.destroy()}getSettings(){return{segments:this.segmentManager.getSettings(),loader:this.loader.getSettings()}}getDetails(){return{loader:this.loader.getDetails()}}setPlayingSegment(t,e,r,n){this.segmentManager.setPlayingSegment(t,e,r,n)}setPlayingSegmentByCurrentTime(t){this.segmentManager.setPlayingSegmentByCurrentTime(t)}}r.Engine=u},{"./hlsjs-loader":4,"./hlsjs-loader-class":3,"./segment-manager":5,events:"events","p2p-media-loader-core":"p2p-media-loader-core"}],3:[function(t,e,r){e.exports.createHlsJsLoaderClass=function(t,e){function r(){this.impl=new t(e.segmentManager),this.stats=this.impl.stats}return r.prototype.load=function(t,e,r){this.context=t,this.impl.load(t,e,r)},r.prototype.abort=function(){this.impl.abort(this.context)},r.prototype.destroy=function(){this.context&&this.impl.abort(this.context)},r.getEngine=function(){return e},r}},{}],4:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.HlsJsLoader=void 0;r.HlsJsLoader=class{constructor(t){this.stats={},this.segmentManager=t}async load(t,e,r){if(t.type)try{const e=await this.segmentManager.loadPlaylist(t.url);this.successPlaylist(e,t,r)}catch(e){this.error(e,t,r)}else if(t.frag)try{const e=await this.segmentManager.loadSegment(t.url,null==t.rangeStart||null==t.rangeEnd?void 0:{offset:t.rangeStart,length:t.rangeEnd-t.rangeStart});void 0!==e.content&&setTimeout((()=>this.successSegment(e.content,e.downloadBandwidth,t,r)),0)}catch(e){setTimeout((()=>this.error(e,t,r)),0)}else console.warn("Unknown load request",t)}abort(t){this.segmentManager.abortSegment(t.url,null==t.rangeStart||null==t.rangeEnd?void 0:{offset:t.rangeStart,length:t.rangeEnd-t.rangeStart})}successPlaylist(t,e,r){const n=performance.now();this.stats.trequest=n-300,this.stats.tfirst=n-200,this.stats.tload=n,this.stats.loaded=t.response.length,r.onSuccess({url:t.responseURL,data:t.response},this.stats,e)}successSegment(t,e,r,n){const i=performance.now(),s=t.byteLength/(void 0===e||e<=0?12500:e);this.stats.trequest=i-1-s,this.stats.tfirst=i-s,this.stats.tload=i,this.stats.loaded=t.byteLength,n.onSuccess({url:r.url,data:t},this.stats,r)}error(t,e,r){r.onError(t,e)}}},{}],5:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.SegmentManager=void 0;const n=t("p2p-media-loader-core"),i=t("m3u8-parser"),s={forwardSegmentCount:20,swarmId:void 0,assetsStorage:void 0};r.SegmentManager=class{constructor(t,e={}){this.masterPlaylist=null,this.variantPlaylists=new Map,this.segmentRequest=null,this.playQueue=[],this.onSegmentLoaded=t=>{this.segmentRequest&&this.segmentRequest.segmentUrl===t.url&&f(this.segmentRequest.segmentByterange)===t.range&&(this.segmentRequest.onSuccess(t.data.slice(0),t.downloadBandwidth),this.segmentRequest=null)},this.onSegmentError=(t,e)=>{this.segmentRequest&&this.segmentRequest.segmentUrl===t.url&&f(this.segmentRequest.segmentByterange)===t.range&&(this.segmentRequest.onError(e),this.segmentRequest=null)},this.onSegmentAbort=t=>{this.segmentRequest&&this.segmentRequest.segmentUrl===t.url&&f(this.segmentRequest.segmentByterange)===t.range&&(this.segmentRequest.onError("Loading aborted: internal abort"),this.segmentRequest=null)},this.settings=Object.assign(Object.assign({},s),e),this.loader=t,this.loader.on(n.Events.SegmentLoaded,this.onSegmentLoaded),this.loader.on(n.Events.SegmentError,this.onSegmentError),this.loader.on(n.Events.SegmentAbort,this.onSegmentAbort)}getSettings(){return this.settings}processPlaylist(t,e,r){const n=new i.Parser;n.push(e),n.end();const s=new a(t,r,n.manifest);if(s.manifest.playlists){this.masterPlaylist=s;for(const[t,e]of this.variantPlaylists){const{streamSwarmId:r,found:n,index:i}=this.getStreamSwarmId(e.requestUrl);n?(e.streamSwarmId=r,e.streamId="V"+i.toString()):this.variantPlaylists.delete(t)}}else{const{streamSwarmId:e,found:r,index:n}=this.getStreamSwarmId(t);(r||null===this.masterPlaylist)&&(s.streamSwarmId=e,s.streamId=null===this.masterPlaylist?void 0:"V"+n.toString(),this.variantPlaylists.set(t,s),this.updateSegments())}}async loadPlaylist(t){const e=this.settings.assetsStorage;let r;if(void 0!==e){let n;n=this.getMasterSwarmId(),void 0===n&&(n=t.split("?")[0]);const i=await e.getAsset(t,void 0,n);void 0!==i?r={responseURL:i.responseUri,response:i.data}:(r=await this.loadContent(t,"text"),e.storeAsset({masterManifestUri:null!==this.masterPlaylist?this.masterPlaylist.requestUrl:t,masterSwarmId:n,requestUri:t,responseUri:r.responseURL,data:r.response}))}else r=await this.loadContent(t,"text");return this.processPlaylist(t,r.response,r.responseURL),r}async loadSegment(t,e){const r=this.getSegmentLocation(t,e),n=f(e);if(!r){let e;const r=this.settings.assetsStorage;if(void 0!==r){let i,s=null!==this.masterPlaylist?this.masterPlaylist.requestUrl:void 0;if(i=this.getMasterSwarmId(),void 0===i&&1===this.variantPlaylists.size&&(i=this.variantPlaylists.values().next().value.requestUrl.split("?")[0]),void 0===s&&1===this.variantPlaylists.size&&(s=this.variantPlaylists.values().next().value.requestUrl),void 0!==i&&void 0!==s){const a=await r.getAsset(t,n,i);if(void 0!==a)e=a.data;else{const a=await this.loadContent(t,"arraybuffer",n);e=a.response,r.storeAsset({masterManifestUri:s,masterSwarmId:i,requestUri:t,requestRange:n,responseUri:a.responseURL,data:e})}}}if(void 0===e){e=(await this.loadContent(t,"arraybuffer",n)).response}return{content:e,downloadBandwidth:0}}const i=(r.playlist.manifest.mediaSequence?r.playlist.manifest.mediaSequence:0)+r.segmentIndex;if(this.playQueue.length>0){this.playQueue[this.playQueue.length-1].segmentSequence!==i-1&&(this.playQueue=[])}this.segmentRequest&&this.segmentRequest.onError("Cancel segment request: simultaneous segment requests are not supported");const s=new Promise(((n,s)=>{this.segmentRequest=new o(t,e,i,r.playlist.requestUrl,((t,e)=>n({content:t,downloadBandwidth:e})),(t=>s(t)))}));return this.playQueue.push({segmentUrl:t,segmentByterange:e,segmentSequence:i}),this.loadSegments(r.playlist,r.segmentIndex,!0),s}setPlayingSegment(t,e,r,n){const i=this.playQueue.findIndex((r=>r.segmentUrl==t&&u(r.segmentByterange,e)));i>=0&&(this.playQueue=this.playQueue.slice(i),this.playQueue[0].playPosition={start:r,duration:n},this.updateSegments())}setPlayingSegmentByCurrentTime(t){if(0===this.playQueue.length||!this.playQueue[0].playPosition)return;const e=this.playQueue[0].playPosition;e.start+e.duration-t<.2&&(this.playQueue=this.playQueue.slice(1),this.updateSegments())}abortSegment(t,e){this.segmentRequest&&this.segmentRequest.segmentUrl===t&&u(this.segmentRequest.segmentByterange,e)&&(this.segmentRequest.onSuccess(void 0,0),this.segmentRequest=null)}async destroy(){this.segmentRequest&&(this.segmentRequest.onError("Loading aborted: object destroyed"),this.segmentRequest=null),this.masterPlaylist=null,this.variantPlaylists.clear(),this.playQueue=[],void 0!==this.settings.assetsStorage&&await this.settings.assetsStorage.destroy(),await this.loader.destroy()}updateSegments(){if(!this.segmentRequest)return;const t=this.getSegmentLocation(this.segmentRequest.segmentUrl,this.segmentRequest.segmentByterange);t&&this.loadSegments(t.playlist,t.segmentIndex,!1)}getSegmentLocation(t,e){for(const r of this.variantPlaylists.values()){const n=r.getSegmentIndex(t,e);if(n>=0)return{playlist:r,segmentIndex:n}}}async loadSegments(t,e,r){const n=[],i=t.manifest.segments,s=t.manifest.mediaSequence?t.manifest.mediaSequence:0;let a=null,o=Math.max(0,this.playQueue.length-1);const u=this.getMasterSwarmId();for(let l=e;l{const s=new XMLHttpRequest;s.open("GET",t,!0),s.responseType=e,r&&s.setRequestHeader("Range",r),s.addEventListener("readystatechange",(()=>{4===s.readyState&&(s.status>=200&&s.status<300?n(s):i(s.statusText))}));const a=this.loader.getSettings().xhrSetup;a&&a(s,t),s.send()}))}};class a{constructor(t,e,r){this.requestUrl=t,this.responseUrl=e,this.manifest=r,this.streamSwarmId=""}getSegmentIndex(t,e){for(let r=0;r-1},e.trigger=function(t){var e=this.listeners[t];if(e)if(2===arguments.length)for(var r=e.length,n=0;n0?a-4:a;for(r=0;r>16&255,u[l++]=e>>8&255,u[l++]=255&e;2===o&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,u[l++]=255&e);1===o&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,u[l++]=e>>8&255,u[l++]=255&e);return u},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,s=[],a=16383,o=0,u=r-i;ou?u:o+a));1===i?(e=t[r-1],s.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],s.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return s.join("")};for(var n=[],i=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,u=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,r){for(var i,s,a=[],o=e;o>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],13:[function(t,e,r){(function(e){(function(){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ +"use strict";var e=t("base64-js"),n=t("ieee754");r.Buffer=a,r.SlowBuffer=function(t){+t!=t&&(t=0);return a.alloc(+t)},r.INSPECT_MAX_BYTES=50;var i=2147483647;function s(t){if(t>i)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return e.__proto__=a.prototype,e}function a(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return o(t,e,r)}function o(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!a.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|g(t,e),n=s(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e);if(ArrayBuffer.isView(t))return l(t);if(null==t)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(X(t,ArrayBuffer)||t&&X(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|t}function g(t,e){if(a.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||X(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return j(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return D(t).length;default:if(i)return n?-1:j(t).length;e=(""+e).toLowerCase(),i=!0}}function c(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return P(this,e,r);case"utf8":case"utf-8":return T(this,e,r);case"ascii":return R(this,e,r);case"latin1":case"binary":return U(this,e,r);case"base64":return I(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function p(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),k(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=a.from(e,n)),a.isBuffer(e))return 0===e.length?-1:y(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):y(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function y(t,e,r,n,i){var s,a=1,o=t.length,u=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;a=2,o/=2,u/=2,r/=2}function f(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var l=-1;for(s=r;so&&(r=o-u),s=r;s>=0;s--){for(var h=!0,g=0;gi&&(n=i):n=i;var s=e.length;n>s/2&&(n=s/2);for(var a=0;a>8,i=r%256,s.push(i),s.push(n);return s}(e,t.length-r),t,r,n)}function I(t,r,n){return 0===r&&n===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,n))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:f>223?3:f>191?2:1;if(i+h<=r)switch(h){case 1:f<128&&(l=f);break;case 2:128==(192&(s=t[i+1]))&&(u=(31&f)<<6|63&s)>127&&(l=u);break;case 3:s=t[i+1],a=t[i+2],128==(192&s)&&128==(192&a)&&(u=(15&f)<<12|(63&s)<<6|63&a)>2047&&(u<55296||u>57343)&&(l=u);break;case 4:s=t[i+1],a=t[i+2],o=t[i+3],128==(192&s)&&128==(192&a)&&128==(192&o)&&(u=(15&f)<<18|(63&s)<<12|(63&a)<<6|63&o)>65535&&u<1114112&&(l=u)}null===l?(l=65533,h=1):l>65535&&(l-=65536,n.push(l>>>10&1023|55296),l=56320|1023&l),n.push(l),i+=h}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r="",n=0;for(;ne&&(t+=" ... "),""},a.prototype.compare=function(t,e,r,n,i){if(X(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var s=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),u=Math.min(s,o),f=this.slice(n,i),l=t.slice(e,r),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return m(this,t,e,r);case"utf8":case"utf-8":return b(this,t,e,r);case"ascii":return v(this,t,e,r);case"latin1":case"binary":return w(this,t,e,r);case"base64":return E(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return S(this,t,e,r);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function R(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",s=e;sr)throw new RangeError("Trying to access beyond buffer length")}function M(t,e,r,n,i,s){if(!a.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function x(t,e,r,n,i,s){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function B(t,e,r,i,s){return e=+e,r>>>=0,s||x(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function L(t,e,r,i,s){return e=+e,r>>>=0,s||x(t,0,r,8),n.write(t,e,r,i,52,8),r+8}a.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||O(t,e,this.length);for(var n=this[t],i=1,s=0;++s>>=0,e>>>=0,r||O(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},a.prototype.readUInt8=function(t,e){return t>>>=0,e||O(t,1,this.length),this[t]},a.prototype.readUInt16LE=function(t,e){return t>>>=0,e||O(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUInt16BE=function(t,e){return t>>>=0,e||O(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUInt32LE=function(t,e){return t>>>=0,e||O(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},a.prototype.readUInt32BE=function(t,e){return t>>>=0,e||O(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||O(t,e,this.length);for(var n=this[t],i=1,s=0;++s=(i*=128)&&(n-=Math.pow(2,8*e)),n},a.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||O(t,e,this.length);for(var n=e,i=1,s=this[t+--n];n>0&&(i*=256);)s+=this[t+--n]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*e)),s},a.prototype.readInt8=function(t,e){return t>>>=0,e||O(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},a.prototype.readInt16LE=function(t,e){t>>>=0,e||O(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt16BE=function(t,e){t>>>=0,e||O(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},a.prototype.readInt32LE=function(t,e){return t>>>=0,e||O(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t>>>=0,e||O(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t>>>=0,e||O(t,4,this.length),n.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t>>>=0,e||O(t,4,this.length),n.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t>>>=0,e||O(t,8,this.length),n.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t>>>=0,e||O(t,8,this.length),n.read(this,t,!1,52,8)},a.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||M(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,s=0;for(this[e]=255&t;++s>>=0,r>>>=0,n)||M(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,s=1;for(this[e+i]=255&t;--i>=0&&(s*=256);)this[e+i]=t/s&255;return e+r},a.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,1,255,0),this[e]=255&t,e+1},a.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},a.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var s=0,a=1,o=0;for(this[e]=255&t;++s>0)-o&255;return e+r},a.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);M(this,t,e,r,i-1,-i)}var s=r-1,a=1,o=0;for(this[e+s]=255&t;--s>=0&&(a*=256);)t<0&&0===o&&0!==this[e+s+1]&&(o=1),this[e+s]=(t/a>>0)-o&255;return e+r},a.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},a.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},a.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},a.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||M(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},a.prototype.writeFloatLE=function(t,e,r){return B(this,t,e,!0,r)},a.prototype.writeFloatBE=function(t,e,r){return B(this,t,e,!1,r)},a.prototype.writeDoubleLE=function(t,e,r){return L(this,t,e,!0,r)},a.prototype.writeDoubleBE=function(t,e,r){return L(this,t,e,!1,r)},a.prototype.copy=function(t,e,r,n){if(!a.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--s)t[s+e]=this[s+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},a.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!a.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var i=t.charCodeAt(0);("utf8"===n&&i<128||"latin1"===n)&&(t=i)}}else"number"==typeof t&&(t&=255);if(e<0||this.length>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(s=e;s55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(e-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function D(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(q,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function X(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function k(t){return t!=t}}).call(this)}).call(this,t("buffer").Buffer)},{"base64-js":12,buffer:13,ieee754:15}],14:[function(t,e,r){(function(t){(function(){var r;r="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{},e.exports=r}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],15:[function(t,e,r){ +/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ +r.read=function(t,e,r,n,i){var s,a,o=8*i-n-1,u=(1<>1,l=-7,h=r?i-1:0,g=r?-1:1,c=t[e+h];for(h+=g,s=c&(1<<-l)-1,c>>=-l,l+=o;l>0;s=256*s+t[e+h],h+=g,l-=8);for(a=s&(1<<-l)-1,s>>=-l,l+=n;l>0;a=256*a+t[e+h],h+=g,l-=8);if(0===s)s=1-f;else{if(s===u)return a?NaN:1/0*(c?-1:1);a+=Math.pow(2,n),s-=f}return(c?-1:1)*a*Math.pow(2,s-n)},r.write=function(t,e,r,n,i,s){var a,o,u,f=8*s-i-1,l=(1<>1,g=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,c=n?0:s-1,d=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?g/u:g*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=l?(o=0,a=l):a+h>=1?(o=(e*u-1)*Math.pow(2,i),a+=h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+c]=255&o,c+=d,o/=256,i-=8);for(a=a<0;t[r+c]=255&a,c+=d,a/=256,f-=8);t[r+c-d]|=128*p}},{}],16:[function(t,e,r){ +/*! @name m3u8-parser @version 4.5.2 @license Apache-2.0 */ +"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@babel/runtime/helpers/inheritsLoose"),i=t("@videojs/vhs-utils/cjs/stream.js"),s=t("@babel/runtime/helpers/extends"),a=t("@babel/runtime/helpers/assertThisInitialized"),o=t("@videojs/vhs-utils/cjs/decode-b64-to-uint8-array.js");function u(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var f=u(n),l=u(i),h=u(s),g=u(a),c=u(o),d=function(t){function e(){var e;return(e=t.call(this)||this).buffer="",e}return f.default(e,t),e.prototype.push=function(t){var e;for(this.buffer+=t,e=this.buffer.indexOf("\n");e>-1;e=this.buffer.indexOf("\n"))this.trigger("data",this.buffer.substring(0,e)),this.buffer=this.buffer.substring(e+1)},e}(l.default),p=function(t){for(var e,r=t.split(new RegExp('(?:^|,)((?:[^=]*)=(?:"[^"]*"|[^,]*))')),n={},i=r.length;i--;)""!==r[i]&&((e=/([^=]*)=(.*)/.exec(r[i]).slice(1))[0]=e[0].replace(/^\s+|\s+$/g,""),e[1]=e[1].replace(/^\s+|\s+$/g,""),e[1]=e[1].replace(/^['"](.*)['"]$/g,"$1"),n[e[0]]=e[1]);return n},y=function(t){function e(){var e;return(e=t.call(this)||this).customParsers=[],e.tagMappers=[],e}f.default(e,t);var r=e.prototype;return r.push=function(t){var e,r,n=this;0!==(t=t.trim()).length&&("#"===t[0]?this.tagMappers.reduce((function(e,r){var n=r(t);return n===t?e:e.concat([n])}),[t]).forEach((function(t){for(var i=0;i0&&(a.duration=t.duration),0===t.duration&&(a.duration=.01,this.trigger("info",{message:"updating zero segment duration to a small value"})),this.manifest.segments=s},key:function(){if(t.attributes)if("NONE"!==t.attributes.METHOD)if(t.attributes.URI){if("urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"===t.attributes.KEYFORMAT){return-1===["SAMPLE-AES","SAMPLE-AES-CTR","SAMPLE-AES-CENC"].indexOf(t.attributes.METHOD)?void this.trigger("warn",{message:"invalid key method provided for Widevine"}):("SAMPLE-AES-CENC"===t.attributes.METHOD&&this.trigger("warn",{message:"SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead"}),"data:text/plain;base64,"!==t.attributes.URI.substring(0,23)?void this.trigger("warn",{message:"invalid key URI provided for Widevine"}):t.attributes.KEYID&&"0x"===t.attributes.KEYID.substring(0,2)?void(this.manifest.contentProtection={"com.widevine.alpha":{attributes:{schemeIdUri:t.attributes.KEYFORMAT,keyId:t.attributes.KEYID.substring(2)},pssh:c.default(t.attributes.URI.split(",")[1])}}):void this.trigger("warn",{message:"invalid key ID provided for Widevine"}))}t.attributes.METHOD||this.trigger("warn",{message:"defaulting key method to AES-128"}),n={method:t.attributes.METHOD||"AES-128",uri:t.attributes.URI},void 0!==t.attributes.IV&&(n.iv=t.attributes.IV)}else this.trigger("warn",{message:"ignoring key declaration without URI"});else n=null;else this.trigger("warn",{message:"ignoring key declaration without attribute list"})},"media-sequence":function(){isFinite(t.number)?this.manifest.mediaSequence=t.number:this.trigger("warn",{message:"ignoring invalid media sequence: "+t.number})},"discontinuity-sequence":function(){isFinite(t.number)?(this.manifest.discontinuitySequence=t.number,f=t.number):this.trigger("warn",{message:"ignoring invalid discontinuity sequence: "+t.number})},"playlist-type":function(){/VOD|EVENT/.test(t.playlistType)?this.manifest.playlistType=t.playlistType:this.trigger("warn",{message:"ignoring unknown playlist type: "+t.playlist})},map:function(){r={},t.uri&&(r.uri=t.uri),t.byterange&&(r.byterange=t.byterange)},"stream-inf":function(){this.manifest.playlists=s,this.manifest.mediaGroups=this.manifest.mediaGroups||u,t.attributes?(a.attributes||(a.attributes={}),h.default(a.attributes,t.attributes)):this.trigger("warn",{message:"ignoring empty stream-inf attributes"})},media:function(){if(this.manifest.mediaGroups=this.manifest.mediaGroups||u,t.attributes&&t.attributes.TYPE&&t.attributes["GROUP-ID"]&&t.attributes.NAME){var r=this.manifest.mediaGroups[t.attributes.TYPE];r[t.attributes["GROUP-ID"]]=r[t.attributes["GROUP-ID"]]||{},e=r[t.attributes["GROUP-ID"]],(g={default:/yes/i.test(t.attributes.DEFAULT)}).default?g.autoselect=!0:g.autoselect=/yes/i.test(t.attributes.AUTOSELECT),t.attributes.LANGUAGE&&(g.language=t.attributes.LANGUAGE),t.attributes.URI&&(g.uri=t.attributes.URI),t.attributes["INSTREAM-ID"]&&(g.instreamId=t.attributes["INSTREAM-ID"]),t.attributes.CHARACTERISTICS&&(g.characteristics=t.attributes.CHARACTERISTICS),t.attributes.FORCED&&(g.forced=/yes/i.test(t.attributes.FORCED)),e[t.attributes.NAME]=g}else this.trigger("warn",{message:"ignoring incomplete or missing media group"})},discontinuity:function(){f+=1,a.discontinuity=!0,this.manifest.discontinuityStarts.push(s.length)},"program-date-time":function(){void 0===this.manifest.dateTimeString&&(this.manifest.dateTimeString=t.dateTimeString,this.manifest.dateTimeObject=t.dateTimeObject),a.dateTimeString=t.dateTimeString,a.dateTimeObject=t.dateTimeObject},targetduration:function(){!isFinite(t.duration)||t.duration<0?this.trigger("warn",{message:"ignoring invalid target duration: "+t.duration}):this.manifest.targetDuration=t.duration},totalduration:function(){!isFinite(t.duration)||t.duration<0?this.trigger("warn",{message:"ignoring invalid total duration: "+t.duration}):this.manifest.totalDuration=t.duration},start:function(){t.attributes&&!isNaN(t.attributes["TIME-OFFSET"])?this.manifest.start={timeOffset:t.attributes["TIME-OFFSET"],precise:t.attributes.PRECISE}:this.trigger("warn",{message:"ignoring start declaration without appropriate attribute list"})},"cue-out":function(){a.cueOut=t.data},"cue-out-cont":function(){a.cueOutCont=t.data},"cue-in":function(){a.cueIn=t.data}}[t.tagType]||o).call(i)},uri:function(){a.uri=t.uri,s.push(a),this.manifest.targetDuration&&!("duration"in a)&&(this.trigger("warn",{message:"defaulting segment duration to the target duration"}),a.duration=this.manifest.targetDuration),n&&(a.key=n),a.timeline=f,r&&(a.map=r),a={}},comment:function(){},custom:function(){t.segment?(a.custom=a.custom||{},a.custom[t.customType]=t.data):(this.manifest.custom=this.manifest.custom||{},this.manifest.custom[t.customType]=t.data)}})[t.type].call(i)})),e}f.default(e,t);var r=e.prototype;return r.push=function(t){this.lineStream.push(t)},r.end=function(){this.lineStream.push("\n")},r.addParser=function(t){this.parseStream.addParser(t)},r.addTagMapper=function(t){this.parseStream.addTagMapper(t)},e}(l.default);r.LineStream=d,r.ParseStream=y,r.Parser=m},{"@babel/runtime/helpers/assertThisInitialized":6,"@babel/runtime/helpers/extends":7,"@babel/runtime/helpers/inheritsLoose":8,"@videojs/vhs-utils/cjs/decode-b64-to-uint8-array.js":10,"@videojs/vhs-utils/cjs/stream.js":11}],"p2p-media-loader-hlsjs":[function(t,e,r){"use strict"; +/** + * @license Apache-2.0 + * Copyright 2018 Novage LLC. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),i=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)};function s(t){t&&t.config&&t.config.loader&&"function"==typeof t.config.loader.getEngine&&a(t,t.config.loader.getEngine())}function a(t,e){t.on("hlsFragChanged",((t,r)=>{const n=r.frag,i=2!==n.byteRange.length?void 0:{offset:n.byteRange[0],length:n.byteRange[1]-n.byteRange[0]};e.setPlayingSegment(n.url,i,n.start,n.duration)})),t.on("hlsDestroying",(async()=>{await e.destroy()})),t.on("hlsError",((r,n)=>{if("bufferStalledError"===n.details){const r=void 0===t.media?t.el_:t.media;if(void 0===r)return;e.setPlayingSegmentByCurrentTime(r.currentTime)}}))}Object.defineProperty(r,"__esModule",{value:!0}),r.initJwPlayer=r.initMediaElementJsPlayer=r.initVideoJsHlsJsPlugin=r.initVideoJsContribHlsJsPlayer=r.initFlowplayerHlsJsPlayer=r.initClapprPlayer=r.initHlsJsPlayer=r.version=void 0,r.version="0.6.2",i(t("./engine"),r),i(t("./segment-manager"),r),r.initHlsJsPlayer=s,r.initClapprPlayer=function(t){t.on("play",(()=>{const e=t.core.getCurrentPlayback();e._hls&&!e._hls._p2pm_linitialized&&(e._hls._p2pm_linitialized=!0,s(t.core.getCurrentPlayback()._hls))}))},r.initFlowplayerHlsJsPlayer=function(t){t.on("ready",(()=>s(t.engine.hlsjs?t.engine.hlsjs:t.engine.hls)))},r.initVideoJsContribHlsJsPlayer=function(t){t.ready((()=>{const e=t.tech_.options_;e&&e.hlsjsConfig&&e.hlsjsConfig.loader&&"function"==typeof e.hlsjsConfig.loader.getEngine&&a(t.tech_,e.hlsjsConfig.loader.getEngine())}))},r.initVideoJsHlsJsPlugin=function(){null!=videojs&&null!=videojs.Html5Hlsjs&&videojs.Html5Hlsjs.addHook("beforeinitialize",((t,e)=>{e.config&&e.config.loader&&"function"==typeof e.config.loader.getEngine&&a(e,e.config.loader.getEngine())}))},r.initMediaElementJsPlayer=function(t){t.addEventListener("hlsFragChanged",(e=>{const r=t.hlsPlayer;if(r&&r.config&&r.config.loader&&"function"==typeof r.config.loader.getEngine){const t=r.config.loader.getEngine();if(e.data&&e.data.length>1){const r=e.data[1].frag,n=2!==r.byteRange.length?void 0:{offset:r.byteRange[0],length:r.byteRange[1]-r.byteRange[0]};t.setPlayingSegment(r.url,n,r.start,r.duration)}}})),t.addEventListener("hlsDestroying",(async()=>{const e=t.hlsPlayer;if(e&&e.config&&e.config.loader&&"function"==typeof e.config.loader.getEngine){const t=e.config.loader.getEngine();await t.destroy()}})),t.addEventListener("hlsError",(e=>{const r=t.hlsPlayer;if(r&&r.config&&r.config.loader&&"function"==typeof r.config.loader.getEngine&&void 0!==e.data&&"bufferStalledError"===e.data.details){r.config.loader.getEngine().setPlayingSegmentByCurrentTime(r.media.currentTime)}}))},r.initJwPlayer=function(t,e){const r=setInterval((()=>{t.hls&&t.hls.config&&(clearInterval(r),Object.assign(t.hls.config,e),s(t.hls))}),200)}},{"./engine":2,"./segment-manager":5}]},{},[1]); diff --git a/resources/assets/template/statics/css/custom.css b/resources/assets/template/statics/css/custom.css new file mode 100644 index 0000000..3105f39 --- /dev/null +++ b/resources/assets/template/statics/css/custom.css @@ -0,0 +1,277 @@ +body { + font-family: "Microsoft YaHei", "STHeiti", "WenQuanYi Micro Hei", SimSun, sans-serif; +} + +[class*=col-], +.myui-content__list li, +.myui-vodlist__media.col li { + padding: 10px +} + +.btn { + border-radius: 5px; +} + +.myui-vodlist__thumb { + border-radius: 15px; + padding-top: 150%; + background: url(../ae01.alicdn.com/kf/Ufe6157eb158e4f7d8a268d830bc7b512m.jpg) no-repeat; +} + +.myui-vodlist__thumb.square { + padding-top: 100%; + background: url(https://tva1.sinaimg.cn/large/007X8olVly1g7jy68sr1kg30dc0a03yg.jpg) no-repeat; +} + +.myui-vodlist__thumb.wide { + padding-top: 60%; + background: url(https://ae01.alicdn.com/kf/Ufe6157eb158e4f7d8a268d830bc7b512m.gif) no-repeat; +} + +.myui-vodlist__thumb.actor { + padding-top: 140%; +} + +.flickity-prev-next-button.previous { + left: 10px; +} + +.flickity-prev-next-button.next { + right: 10px; +} + +.myui-sidebar { + padding: 0 0 0 20px; +} + +.myui-panel { + margin-bottom: 20px; + border-radius: 20px; +} + +.myui-panel-mb { + margin-bottom: 20px; +} + +.myui-player__item .fixed { + width: 500px; +} + +.myui-vodlist__text li a, +.myui-vodlist__media li { + padding: 10px 0; +} + +.myui-screen__list { + padding: 10px 10px 0; +} + +.myui-screen__list li { + margin-bottom: 10px; + margin-right: 10px; +} + +.myui-page { + padding: 10px 0; + margin-bottom: 0 !important; +} + +.myui-extra { + right: 20px; + bottom: 30px; +} + +@media (min-width: 1200px) { + .container { + max-width: 1200px; + } + + .container { + padding-left: 0px; + padding-right: 0px; + } + + .container.min { + width: 1200px; + padding: 0; + } +} + +@media (max-width: 767px) { + + body, + body.active { + padding-bottom: 50px; + } + + [class*=col-], + .myui-panel, + .myui-content__list li { + padding: 2px + } + + .myui-content__detail { + float: left; + width: calc(100% - 120px); + padding-left: 5px; + } + + .myui-content__detail .content { + font-size: 14px; + font-weight: 600; + } + + .myui-panel-box { + padding: 5px; + } + + .flickity-prev-next-button.previous { + left: 5px; + } + + .flickity-prev-next-button.next { + right: 5px; + } + + .myui-vodlist__text li a, + .myui-vodlist__media li { + padding: 10px 0; + } + + .myui-screen__list { + padding: 10px 5px 0; + } + + .myui-screen__list li { + margin-bottom: 5px; + margin-right: 5px; + } + + .myui-extra { + right: 20px; + bottom: 80px; + } + + .myui-page { + padding: 0 5px; + } + + .btn_watch { + font-size: 14px !important; + } +} + +.myui-topbg { + position: absolute; + top: 0; + left: 0; + right: 0; + width: 100%; +} + +.block-comments { + margin: 10px 0px 0px; +} + +.page-single { + padding: 10px; + width: 670px; +} + +.block-wrapper { + position: relative; + padding: 2px; + background: #fff; + border-bottom: 1px solid #868489; + color: #ddd; + height: auto; + display: block; +} + +.myui-header__logo { + padding: 5px 0; +} + +.select_filter { + font-size: 14px; + background-color: #333; + color: #ddd; + border: 0; + box-shadow: 0 0 2px 0 #adadad; +} + +.btn_watch { + font-size: 16px; +} + +.button_filter:hover, .btn_watch:hover { + opacity: 0.8; +} +.myui-page li { + padding: 5px 0 !important; + margin-left: 0 !important; +} +.myui-page li .num, .myui-page li a { + background-color: #333; +} + +.myui-page li a.active { + background-color: rgb(24 23 23); +} + + +.myui-vodlist__media .detail h4.title { + margin: 0 !important; +} + +.quality1 { + z-index: 99; + padding: 2px 5px; + font-size: 12px; + border-radius: 2px; + color: #fff; + background-color: #00000066; +} + +.imdbpost { + text-align: center; + margin-top: 2px; +} + +.myui-panel, .myui-panel-box { + padding: 3px; +} + +.the_tag_list a { + background: #00000066; + border-radius: 2px; + margin: 0 5px 5px 0; + padding: 0 5px; +} + +.myui-content__detail .box-rating { + overflow: hidden; +} + +.box-rating { + margin: 0 0 5px; +} + +.myui-player__operate { + justify-content: space-between; +} + +.myui-player__operate ul { + display: flex; +} + +.myui-player__operate > li > a.streaming-server { + cursor: pointer; + padding: 4px 8px; + color: #000; + margin-bottom: 2px; +} + +.myui-player__operate > li > a.streaming-server:hover { + background: #ff9e11; +} diff --git a/resources/assets/template/statics/css/header.css b/resources/assets/template/statics/css/header.css new file mode 100644 index 0000000..09dd581 --- /dev/null +++ b/resources/assets/template/statics/css/header.css @@ -0,0 +1,1555 @@ +button, +input, +select, +textarea { + box-sizing: border-box; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #0285b5; +} +a, +a:focus, +a:hover { + text-decoration: none; +} +a:focus, +a:hover { + color: #07bbfc; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-circle { + border-radius: 50%; +} +hr { + border: 0; + border-top: 1px solid #444; + margin-bottom: 20px; + margin-top: 20px; +} +[role="button"] { + cursor: pointer; +} /*!normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css*/ +html { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + font-family: sans-serif; +} +body { + background: #333; + color: #bbb; + font-family: Open Sans, sans-serif; + font-size: 14px; + line-height: 1.428571429; + margin: 0 auto; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: 700; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid silver; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: 700; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +.navbar, +td, +th { + padding: 0; +} +.navbar { + background-color: #333; + border: 0; + box-shadow: 0 0 1px 0 #adadad; + height: 60px; + left: 0; + min-height: 40px; + right: 0; + top: 0; + z-index: 1030; +} +.navbar-container { + margin: auto; + position: relative; +} +.navbar-header .navbar-menu-toggle { + float: left; +} +.navbar-header .navbar-header-user { + float: right; +} +.navbar-left { + float: left; +} +.navbar-left .navbar-close { + right: 10px; +} +.navbar-right { + background: rgba(0, 0, 0, 0.9); + bottom: 0; + float: right; + position: fixed; + right: -300px; + top: 0; + transition: right 0.3s, box-shadow 0.3s; + width: 300px; + z-index: 1070; +} +.navbar-right hr { + border-color: #555; +} +.navbar-right .navbar-close { + left: 10px; +} +.navbar-right .loading { + top: 175px; +} +.navbar-right.activated { + box-shadow: 0 0 10px #999; + right: 0; +} +.navbar-right.activated .big-avatar { + cursor: default; + height: 100px; + width: 100px; +} +.navbar-right.activated .big-avatar.icon-person { + font-size: 80px; + line-height: 90px; + text-align: center; +} +.navbar-brand { + float: left; + height: 60px; + padding: 10px 0; +} +.navbar-brand .logo { + display: block; + height: 40px; + padding: 9px 0; +} +.navbar-brand .logo img { + height: 22px; +} +.navbar-search { + float: right; + position: relative; +} +.navbar-search .search-box { + position: relative; + z-index: 2; +} +.navbar-search .search-box input[type="text"] { + -webkit-appearance: none; + background: 0 0; + border: 1px solid #444; + border-radius: 15px; + display: block; + font-size: 13px; + height: 30px; + padding-left: 10px; + padding-right: 30px; + width: 100%; +} +.navbar-search .search-box input[type="text"]:focus { + border-color: #0285b5; + outline: none; +} +.navbar-search .icon { + color: #999; + cursor: pointer; + font-size: 20px; + height: 20px; + line-height: 20px; + position: absolute; + right: 5px; + text-align: center; + top: 5px; + width: 20px; +} +.navbar-search .icon:hover { + color: #0285b5; +} +.navbar-search .search-result { + overflow: hidden; + transition: height 0.3s; +} +.navbar-search .search-result mark { + background: 0 0; + color: #d7522d; +} +.navbar-search .search-result .result-body { + position: relative; +} +.navbar-search .search-result .result-item { + margin-bottom: 10px; + overflow: hidden; + position: relative; +} +.navbar-search .search-result .result-item.activated .result-item-time, +.navbar-search .search-result .result-item.activated .result-item-title, +.navbar-search .search-result .result-item:hover .result-item-time, +.navbar-search .search-result .result-item:hover .result-item-title { + color: #0285b5; +} +.navbar-search .search-result .result-item.activated .result-item-views, +.navbar-search .search-result .result-item:hover .result-item-views { + color: rgba(2, 133, 181, 0.65); +} +.navbar-search .search-result .result-item:hover .result-item-thumbnail img { + transform: scale(1.2); +} +.navbar-search .search-result .result-item.activated .result-item-thumbnail { + border: 1px solid #0285b5; +} +.navbar-search .search-result .result-item-thumbnail { + float: left; + height: 50px; + margin-right: 10px; + overflow: hidden; + width: 100px; +} +.navbar-search .search-result .result-item-thumbnail img { + height: 100%; + transition: transform 0.3s; + width: 100%; +} +.navbar-search .search-result .result-item-meta { + float: left; +} +.navbar-search .search-result .result-item-title { + font-size: 13px; + margin-bottom: 3px; + margin-top: -3px; + max-height: 40px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.navbar-search .search-result .result-item-time { + font-size: 11px; +} +.navbar-search .search-result .result-item-views { + color: #888; + font-size: 11px; +} +.navbar-search .search-result .result-noitem { + text-align: center; +} +.navbar-search .search-result .loading { + top: 55px; +} +.navbar-menu { + float: left; +} +.navbar-menu .navbar-menu-item { + cursor: pointer; + font-size: 14px; + list-style: none; + transition: color 0.5s, background 0.5s; +} +.user-avatar { + background: rgba(0, 0, 0, 0.25); + border-radius: 50%; + box-shadow: 0 0 5px #ccc; + color: #fff; + cursor: pointer; + float: right; + height: 40px; + overflow: hidden; + position: relative; + transition: width 0.5s, height 0.5s; + width: 40px; +} +.user-avatar img { + height: 100%; + width: 100%; +} +.user-avatar .user-avatar-file, +.user-avatar .user-avatar-update { + cursor: pointer; + height: 30px; + left: 35px; + opacity: 0; + position: absolute; + top: 35px; + width: 30px; +} +.user-avatar .user-avatar-update { + background: rgba(0, 0, 0, 0.5); + border-radius: 5px; + font-size: 25px; + line-height: 30px; + text-align: center; + transition: opacity 0.3s; +} +.user-avatar .user-avatar-file { + z-index: 1; +} +.user-avatar:hover .user-avatar-update { + opacity: 0.5; +} +.user-vip { + background: #0285b5; + border-radius: 3px; + color: #fff; + font-size: 10px; + font-weight: 700; + padding: 0 5px; + position: absolute; + right: 5px; + top: 5px; +} +.navbar-header-user { + height: 60px; + padding-top: 9px; +} +.navbar-header-user .user-login { + border-radius: 50%; + cursor: pointer; + font-size: 20px; + height: 40px; + line-height: 40px; + text-align: center; + width: 40px; +} +.navbar-header-user .user-film, +.navbar-header-user .user-notification { + cursor: pointer; + float: right; + font-size: 25px; + height: 30px; + line-height: 30px; + margin-right: 10px; + margin-top: 5px; + text-align: center; + width: 30px; +} +.navbar-header-user .user-display { + float: right; + line-height: 40px; + margin-right: 10px; + overflow: hidden; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; +} +.navbar-header-user .fanpage { + background: #4267b2; + border-radius: 15px; + color: #fff; + float: right; + font-size: 20px; + height: 30px; + line-height: 30px; + margin: 5px 10px; + text-align: center; + width: 30px; +} +.navbar-header-user .fanpage a { + color: #fff; + display: block; + height: 100%; + width: 100%; +} +.navbar-user-tab { + bottom: 0; + height: 30px; + left: 10px; + line-height: 30px; + position: absolute; +} +.navbar-user-tab .navbar-user-tab-item { + cursor: pointer; + float: left; + font-size: 12px; + font-weight: 600; + height: 100%; + margin-right: 30px; + text-transform: uppercase; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.navbar-user-tab .navbar-user-tab-item.activated { + border-bottom: 3px solid #0285b5; +} +.navbar-user-welcome { + position: absolute; + top: 55px; + transition: opacity 0.3s; +} +.navbar-user-welcome span { + display: block; + font-weight: 600; + overflow: hidden; + white-space: nowrap; + width: 165px; +} +.navbar-close { + cursor: pointer; + font-size: 20px; + height: 20px; + line-height: 20px; + opacity: 0; + position: absolute; + text-align: center; + top: 10px; + transition: opacity 0.1s, visibility 0.1s; + visibility: hidden; + width: 20px; +} +.activated .navbar-close { + opacity: 1; + visibility: visible; +} +.navbar-user-header { + height: 120px; + padding: 10px; + position: relative; + transition: height 0.3s; +} +.navbar-user-header.small-mode { + height: 60px; +} +.navbar-user-header.small-mode .navbar-user-welcome { + opacity: 0; +} +.navbar-user-header.small-mode .big-avatar { + height: 40px; + position: absolute; + right: 0; + top: 0; + width: 40px; + z-index: 1; +} +.navbar-form-group { + display: block; + margin-bottom: 10px; + overflow: hidden; + position: relative; +} +.navbar-form-group label { + display: block; + font-size: 12px; +} +.navbar-form-group input[type="button"], +.navbar-form-group input[type="number"], +.navbar-form-group input[type="password"], +.navbar-form-group input[type="text"] { + -webkit-appearance: none; + background: 0 0; + border: 1px solid #444; + border-radius: 2px; + display: block; + font-size: 13px; + height: 30px; + outline: none; + padding-left: 30px; + padding-right: 15px; + width: 100%; +} +.navbar-form-group input[type="number"] { + padding-left: 15px; + padding-right: 5px; +} +.navbar-form-group input[type="button"] { + background: #0285b5; + border-color: #0285b5; + color: #fff; + font-weight: 600; +} +.navbar-form-group input[type="button"].facebook, +.navbar-form-group input[type="button"].google { + color: #fff; + font-weight: 500; +} +.navbar-form-group input[type="button"].facebook { + background: #3b5998; + border-color: #3b5998; +} +.navbar-form-group input[type="button"].google { + background: #c23321; + border-color: #c23321; +} +.navbar-form-group ul { + border: 1px dashed rgba(217, 14, 22, 0.4); + color: #d90e16; + font-size: 12px; + margin: 0; + padding: 5px 5px 5px 25px; +} +.navbar-form-group .social-login { + color: #fff; +} +.navbar-form-group .icon { + bottom: 0; + font-size: 16px; + left: 0; + line-height: 30px; + position: absolute; + text-align: center; + width: 30px; +} +.navbar-form-group .tip { + color: #0285b5; + font-size: 10px; + position: absolute; + right: 0; + top: -15px; + transition: top 0.3s; +} +.navbar-form-group .forgot-password { + color: #888; + cursor: pointer; + font-size: 12px; + position: absolute; + right: 0; + text-decoration: underline; + top: 5px; +} +.navbar-form-group.submit { + margin-top: 20px; +} +.navbar-form-group.warning input[type="number"], +.navbar-form-group.warning input[type="password"], +.navbar-form-group.warning input[type="text"] { + border-color: rgba(2, 133, 181, 0.25); +} +.navbar-form-group.warning .icon { + color: #0285b5; +} +.navbar-form-group.warning .tip { + top: 2px; +} +.navbar-form-group.birthday { + padding-bottom: 10px; +} +.navbar-form-group.birthday .tip { + bottom: -12px; + top: auto; + transition: bottom 0.3s; +} +.navbar-form-group.birthday.warning .tip { + bottom: -1px; +} +.navbar-form-checkbox, +.navbar-form-radio { + color: #888; + cursor: pointer; + display: inline-block !important; + font-size: 12px; + margin-right: 40px; + margin-top: 5px; + position: relative; +} +.navbar-form-checkbox span, +.navbar-form-radio span { + padding-left: 20px; + position: relative; +} +.navbar-form-checkbox span:after, +.navbar-form-radio span:after { + border: 1px solid; + border-radius: 2px; + content: ""; + height: 12px; + left: 0; + position: absolute; + top: 2px; + width: 12px; +} +.navbar-form-checkbox input[type="checkbox"], +.navbar-form-checkbox input[type="radio"], +.navbar-form-radio input[type="checkbox"], +.navbar-form-radio input[type="radio"] { + cursor: pointer; + filter: alpha(opacity=0); + -ms-filter: "alpha(opacity=0)"; + height: 100%; + opacity: 0; + position: absolute; + width: 100%; + z-index: 1; +} +.navbar-form-checkbox input[type="checkbox"]:checked + span, +.navbar-form-checkbox input[type="radio"]:checked + span, +.navbar-form-radio input[type="checkbox"]:checked + span, +.navbar-form-radio input[type="radio"]:checked + span { + color: #d80f16; +} +.navbar-form-checkbox input[type="checkbox"]:checked + span:before, +.navbar-form-checkbox input[type="radio"]:checked + span:before, +.navbar-form-radio input[type="checkbox"]:checked + span:before, +.navbar-form-radio input[type="radio"]:checked + span:before { + background: #d80f16; + content: ""; + height: 6px; + left: 3px; + position: absolute; + top: 5px; + width: 6px; +} +.navbar-form-select { + float: left; + margin-right: 10px; + position: relative; + width: 75px; +} +.navbar-form-select.year { + margin-right: 0; + width: 110px; +} +.navbar-user-body { + height: 100%; + padding: 20px 10px; + position: relative; + width: 100%; +} +.navbar-user-content { + height: 100%; + transition: opacity 0.3s, visibility 0.3s; + width: 100%; +} +.navbar-user-content hr { + margin-bottom: 10px; + margin-top: 10px; +} +.navbar-user-content .user-item { + line-height: 30px; + overflow: hidden; + padding-left: 35px; + position: relative; + text-overflow: ellipsis; + white-space: nowrap; +} +.navbar-user-content .user-item .icon { + font-size: 18px; + left: 5px; + position: absolute; + top: 5px; +} +.navbar-user-content .user-item:last-child { + cursor: pointer; + margin-bottom: 20px; +} +.notification-item { + border-bottom: 1px solid #444; + margin-bottom: 10px; + overflow: hidden; + padding-bottom: 10px; +} +.notification-item .notification-item-thumbnail { + float: left; + height: 57px; + margin-right: 5px; + overflow: hidden; + width: 57px; +} +.notification-item .notification-item-thumbnail img { + height: 100%; + width: auto; +} +.notification-item .notification-item-body { + float: left; + height: 57px; + overflow: hidden; + width: 218px; +} +.notification-item .notification-item-title { + font-size: 13px; + line-height: 20px; + margin-bottom: 5px; + margin-top: -3px; + max-height: 40px; + overflow: hidden; +} +.notification-item .notification-item-time { + color: #888; + font-size: 11px; +} +.notification-item .notification-item-time .icon { + color: #333; + font-size: 13px; + margin-right: 3px; +} +.notification-more { + border: 1px solid #444; + border-radius: 2px; + cursor: pointer; + display: block; + font-size: 14px; + height: 30px; + line-height: 28px; + padding-left: 30px; + padding-right: 15px; + text-align: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + width: 100%; +} +.notification-more:hover { + background: #444; +} +@media (max-width: 1023px) { + .navbar { + position: absolute; + } + .navbar-container { + padding: 0 10px; + } + .navbar-header .navbar-menu-toggle { + cursor: pointer; + font-size: 25px; + height: 40px; + line-height: 40px; + margin-left: 10px; + margin-top: 9px; + text-align: center; + width: 40px; + } + .navbar-left { + background: rgba(0, 0, 0, 0.8); + bottom: 0; + left: -300px; + padding: 60px 10px 10px; + position: fixed; + top: 0; + transition: left 0.3s, box-shadow 0.3s; + width: 300px; + z-index: 1068; + } + .navbar-left.activated { + box-shadow: 0 0 10px #999; + left: 0; + } + .navbar-left.activated .navbar-menu-toggle { + right: 10px; + } + .navbar-left .navbar-brand { + left: 10px; + padding: 0 !important; + position: absolute; + top: 10px; + } + .navbar-left .navbar-menu-toggle { + cursor: pointer; + font-size: 25px; + height: 40px; + line-height: 40px; + position: absolute; + right: -200px; + text-align: center; + top: 10px; + transition: right 0.3s; + width: 40px; + } + .navbar-search { + margin: 10px 0; + width: 280px; + } + .navbar-search .search-result { + background: rgba(0, 0, 0, 0.8); + height: 0; + width: 100%; + } + .navbar-search .search-result.activated { + height: auto; + padding: 10px 0 0; + } + .navbar-search .search-result.activated .result-noitem { + position: absolute; + top: 60px; + } + .navbar-search .result-item-meta { + width: 170px; + } + .navbar-menu { + border-right: #ccc; + height: 100%; + position: relative; + width: 100%; + } + .navbar-menu .navbar-menu-item { + clear: both; + display: block; + height: 40px; + line-height: 40px; + overflow: hidden; + padding: 0 40px; + position: relative; + } + .navbar-menu .navbar-menu-item .icon { + font-size: 20px; + left: 0; + position: absolute; + top: 10px; + } + .navbar-menu .navbar-menu-item.activated { + height: auto; + overflow: unset; + } + .navbar-menu .navbar-menu-item.activated .navbar-submenu { + max-height: 400px; + opacity: 1; + visibility: visible; + } + .navbar-submenu { + margin: 0 0 0 -20px; + max-height: 0; + opacity: 0; + overflow: hidden; + padding: 5px 10px; + transition: max-height 0.3s, box-shadow 0.3s, opacity 0.3s, visibility 0.3s; + visibility: hidden; + width: 260px; + } + .navbar-submenu .navbar-submenu-item { + float: left; + height: 30px; + line-height: 30px; + list-style: none; + padding: 0 10px; + text-transform: none; + width: 120px; + } + .navbar-submenu .navbar-submenu-item a { + color: rgba(2, 133, 181, 0.8) !important; + } + .navbar-header-user .user-display { + display: none; + } +} +@media (min-width: 1024px) { + .navbar { + position: fixed; + } + .navbar-container { + padding: 0; + } + .navbar-brand { + overflow: hidden; + } + .navbar-menu-toggle { + display: none; + } + .navbar-menu { + position: relative; + } + .navbar-submenu { + background: rgba(0, 0, 0, 0.8); + left: 0; + margin: 0; + max-height: 0; + opacity: 0; + overflow: hidden; + padding: 5px 10px; + position: absolute; + top: 60px; + transition: max-height 0.3s, box-shadow 0.3s, opacity 0.3s, visibility 0.3s; + visibility: hidden; + width: 470px; + } + .navbar-submenu .navbar-submenu-item { + float: left; + height: 30px; + line-height: 30px; + list-style: none; + padding: 0 10px; + text-transform: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + width: 150px; + } + .navbar-submenu .navbar-submenu-item a { + color: #ccc !important; + display: block; + } + .navbar-submenu .navbar-submenu-item a:hover { + color: #ff4c00 !important; + } + .navbar-menu-item { + height: 60px; + line-height: 60px; + text-transform: uppercase; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .navbar-menu-item a { + color: #ccc; + } + .navbar-menu-item:hover .navbar-submenu { + box-shadow: 0 2px 1px #555; + max-height: 350px; + opacity: 1; + visibility: visible; + z-index: 999999999; + } + .navbar-menu-item:hover a { + color: #ff4c00; + } + .navbar-search { + float: right; + } + .navbar-search .search-result { + background: rgba(0, 0, 0, 0.8); + box-shadow: 0 0 5px #333; + height: 0; + margin-left: -10px; + margin-top: -40px; + max-height: 400px; + min-height: 50px; + opacity: 0; + padding: 50px 2px 0 10px; + transition: opacity 0.3s; + width: 320px; + } + .navbar-search .search-result .result-item-thumbnail { + transition: width 0.3s; + width: 0; + } + .navbar-search .search-result.activated { + height: auto; + min-height: 129px; + opacity: 1; + } + .navbar-search .search-result.activated .result-item-thumbnail { + width: 100px; + } + .navbar-search .search-result.activated .result-item-meta { + width: 190px; + } + .navbar-search .result-body { + max-height: 350px; + } + .navbar-search .result-noitem { + margin-top: 20px; + } + .navbar-search .result-item-meta { + transition: width 0.3s; + width: 100px; + } + .navbar-left .navbar-brand { + display: none; + } +} +@media (min-width: 1024px) and (max-width: 1279px) { + .navbar-left { + position: relative; + width: 687px; + } + .navbar-search { + position: absolute; + right: 0; + top: 14px; + transition: width 0.3s; + width: 120px; + z-index: 69; + } + .navbar-search .search-result { + transition: width 0.3s; + width: 140px; + } + .navbar-search.activated { + width: 300px; + } + .navbar-search.activated .search-result { + width: 320px; + } + .navbar-menu { + height: 60px; + margin-left: 20px; + } + .navbar-menu .navbar-menu-item { + float: left; + margin: 0 8px; + padding: 0 5px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .navbar-menu .navbar-menu-item a { + color: #ccc; + } + .navbar-menu .navbar-menu-item:hover, + .navbar-menu .navbar-menu-item:hover a { + color: #ff4c00; + } + .navbar-menu .navbar-menu-item .icon { + display: none; + } +} +@media (min-width: 1280px) { + .navbar-menu { + height: 60px; + margin-left: 40px; + } + .navbar-menu .navbar-menu-item { + float: left; + margin: 0 15px; + padding: 0 5px; + } + .navbar-menu .navbar-menu-item a { + color: #ccc; + } + .navbar-menu .navbar-menu-item:hover, + .navbar-menu .navbar-menu-item:hover a { + color: #ff4c00; + } + .navbar-menu .navbar-menu-item .icon { + display: none; + } + .navbar-header-user .user-display { + max-width: 160px; + } + .navbar-search { + margin-top: 14px; + } +} +@media (min-width: 1280px) and (max-width: 1365px) { + .navbar-left { + position: relative; + width: 980px; + } + .navbar-search { + width: 300px; + } + .navbar-search .search-result { + width: 320px; + } +} +@media (max-width: 359px) { + .navbar-container { + width: 320px; + } +} +@media (min-width: 360px) and (max-width: 374px) { + .navbar-container { + width: 360px; + } +} +@media (min-width: 375px) and (max-width: 411px) { + .navbar-container { + width: 375px; + } +} +@media (min-width: 412px) and (max-width: 479px) { + .navbar-container { + width: 412px; + } +} +@media (min-width: 480px) and (max-width: 639px) { + .navbar-container { + width: 480px; + } +} +@media (min-width: 640px) and (max-width: 767px) { + .navbar-container { + width: 640px; + } +} +@media (min-width: 768px) and (max-width: 799px) { + .navbar-container { + width: 768px; + } +} +@media (min-width: 800px) and (max-width: 1023px) { + .navbar-container { + width: 800px; + } +} +@media (min-width: 1024px) and (max-width: 1279px) { + .navbar-container { + width: 990px; + } +} +@media (min-width: 1280px) and (max-width: 1365px) { + .navbar-container { + width: 1230px; + } +} +@media (min-width: 1366px) { + .navbar-container { + width: 1310px; + } + .navbar-left { + width: 1000px; + } + .navbar-search { + width: 320px; + } + .navbar-search .search-result { + width: 340px; + } + .navbar-search .result-item-meta { + width: 210px; + } +} +@media (max-width: 1023px) { + ::-webkit-scrollbar { + display: none; + } +} + +@font-face { + font-family: Open Sans; + font-style: normal; + font-weight: 400; + src: url(data:application/font-woff;charset=utf-8;base64,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) + format("woff2"); + unicode-range: U+0102-0103, U+0110-0111, U+1ea0-1ef9, U+20ab; +} +@font-face { + font-family: Open Sans; + font-style: normal; + font-weight: 400; + src: local("Open Sans Regular"), local("OpenSans-Regular"), + url(data:application/font-woff;charset=utf-8;base64,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) + format("woff2"); + unicode-range: U+0100-024f, U+0259, U+1e??, U+20a0-20ab, U+20ad-20cf, + U+2c60-2c7f, U+a720-a7ff; +} +@font-face { + font-family: Open Sans; + font-style: normal; + font-weight: 400; + src: url(data:application/font-woff;charset=utf-8;base64,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) + format("woff2"); + unicode-range: U+00??, U+0131, U+0152-0153, U+02bb-02bc, U+02c6, U+02da, + U+02dc, U+2000-206f, U+2074, U+20ac, U+2122, U+2212, U+2215; +} +@font-face { + font-family: Open Sans; + font-style: normal; + font-weight: 600; + src: url(data:application/font-woff;charset=utf-8;base64,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) + format("woff2"); + unicode-range: U+0102-0103, U+0110-0111, U+1ea0-1ef9, U+20ab; +} +@font-face { + font-family: Open Sans; + font-style: normal; + font-weight: 600; + src: local("Open Sans SemiBold"), local("OpenSans-SemiBold"), + url(data:application/font-woff;charset=utf-8;base64,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) + format("woff2"); + unicode-range: U+0100-024f, U+0259, U+1e??, U+20a0-20ab, U+20ad-20cf, + U+2c60-2c7f, U+a720-a7ff; +} +@font-face { + font-family: Open Sans; + font-style: normal; + font-weight: 600; + src: url(data:application/font-woff;charset=utf-8;base64,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) + format("woff2"); + unicode-range: U+00??, U+0131, U+0152-0153, U+02bb-02bc, U+02c6, U+02da, + U+02dc, U+2000-206f, U+2074, U+20ac, U+2122, U+2212, U+2215; +} +@font-face { + font-family: vuighe; + font-style: normal; + font-weight: 400; + src: url(data:application/font-woff;charset=utf-8;base64,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) + format("woff2"); +} +[class*=" icon-"], +[class^="icon-"] { + speak: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-family: vuighe !important; + font-style: normal; + font-variant: normal; + font-weight: 400; + line-height: 1; + text-transform: none; +} +.icon-maximise:before { + content: "\e901"; +} +.icon-minimise:before { + content: "\e902"; +} +.icon-alert:before { + content: "\f102"; +} +.icon-down:before { + content: "\f123"; +} +.icon-up:before { + content: "\f126"; +} +.icon-menu:before { + content: "\f20d"; +} +.icon-youtube:before { + content: "\f24d"; +} +.icon-volume-medium:before { + content: "\f259"; +} +.icon-download:before { + content: "\f2dd"; +} +.icon-settings:before { + content: "\f2f7"; +} +.icon-contract:before { + content: "\f37d"; +} +.icon-expand:before { + content: "\f386"; +} +.icon-person:before { + content: "\f3a0"; +} +.icon-reload:before { + content: "\f3a8"; +} +.icon-share:before { + content: "\f3ac"; +} +.icon-sunny:before { + content: "\f3b0"; +} +.icon-volume-down:before { + content: "\f3b7"; +} +.icon-volume-mute:before { + content: "\f3b8"; +} +.icon-volume-up:before { + content: "\f3ba"; +} +.icon-camera:before { + content: "\f3f6"; +} +.icon-film-none:before { + content: "\f42a"; +} +.icon-pause:before { + content: "\f478"; +} +.icon-play:before { + content: "\f488"; +} +.icon-backward:before { + content: "\f4ab"; +} +.icon-forward:before { + content: "\f4ad"; +} +.icon-attach:before { + content: "\f367"; +} +.icon-comment:before { + content: "\f2d4"; +} +.icon-close:before { + content: "\f2d7"; +} +.icon-delete:before { + content: "\f381"; +} +.icon-done:before { + content: "\f385"; +} +.icon-heart-none:before { + content: "\f38a"; +} +.icon-heart:before { + content: "\f38b"; +} +.icon-globe:before { + content: "\f38f"; +} +.icon-smile:before { + content: "\f391"; +} +.icon-home:before { + content: "\f392"; +} +.icon-news:before { + content: "\f394"; +} +.icon-lock:before { + content: "\f395"; +} +.icon-notifications-none:before { + content: "\f39c"; +} +.icon-notifications-off:before { + content: "\f39d"; +} +.icon-notifications:before { + content: "\f39e"; +} +.icon-people:before { + content: "\f3a2"; +} +.icon-star:before { + content: "\f2fc"; +} +.icon-time:before { + content: "\f3bd"; +} +.icon-unlock:before { + content: "\f3bf"; +} +.icon-graph-up:before { + content: "\f262"; +} +.icon-email:before { + content: "\f110"; +} +.icon-calendar:before { + content: "\f118"; +} +.icon-left:before { + content: "\f127"; +} +.icon-right:before { + content: "\f128"; +} +.icon-edit:before { + content: "\f130"; +} +.icon-fireball:before { + content: "\f319"; +} +.icon-headphone:before { + content: "\f141"; +} +.icon-images:before { + content: "\f148"; +} +.icon-book:before { + content: "\f3f2"; +} +.icon-film:before { + content: "\f437"; +} +.icon-help:before { + content: "\f453"; +} +.icon-information:before { + content: "\f45a"; +} +.icon-musical:before { + content: "\f47a"; +} +.icon-timer:before { + content: "\f4d2"; +} +.icon-reply:before { + content: "\f4d8"; +} +.icon-graph:before { + content: "\f2a5"; +} +.icon-chart:before { + content: "\f344"; +} +.icon-power:before { + content: "\f2a9"; +} +.icon-ribbon:before { + content: "\f349"; +} +.icon-search:before { + content: "\f220"; +} +.icon-ion-settings:before { + content: "\f2ad"; +} +.icon-facebook:before { + content: "\f233"; +} +.icon-google:before { + content: "\f34f"; +} +.icon-assistive:before { + content: "\f3ad"; +} +.icon-fastforward:before { + content: "\f433"; +} +.icon-rewind:before { + content: "\f4b2"; +} diff --git a/resources/assets/template/statics/css/mytheme-color26654.css b/resources/assets/template/statics/css/mytheme-color26654.css new file mode 100644 index 0000000..6021018 --- /dev/null +++ b/resources/assets/template/statics/css/mytheme-color26654.css @@ -0,0 +1,120 @@ +@charset "utf-8"; +.myui-panel,.myui-panel-box{ padding: 10px;} +.myui-panel_hd{ padding: 10px;} +.myui-panel-box.active{ margin: -10px;} + +/* all */ +body{ background: #343434; color: #999;} + +/* text */ +a,h1, h2, h3, h4, h5, h6,h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{ color: #ddd;} +a:hover{ color: cornflowerblue;} +a.disabled{ cursor: not-allowed; opacity: 0.6;} +.text-333{ color: #333;} +.text-muted{ color: #fff;} +.text-red{ color: red;} +.text-link{ color: blue;} +.text-fff{ color: #fff;} + +/* form */ +.form-control{ background-color:#F5F5F5; color: #999999; border: 1px solid #eee;} +.form-control:focus{ border-color:#ff9900; -webkit-box-shadow:inset 0 1px 1px rgba(255,136,0,.075),0 0 8px rgba(255,136,0,.6);} + +/* btn */ +.btn-default{ background-color: #eee; color: #333; background: linear-gradient(to right,#eeeeee 0,#f6f6f6 100%); box-shadow: 0 5px 10px rgba(246,246,246,.25);} +.btn-warm{ background-color: #ff9900; background: linear-gradient(to right,#ff9900 0,#ff9f16 100%); box-shadow: 0 5px 10px rgba(255,111,0,.25);} +.btn-primary{ background-color: #4fb1f7; background: linear-gradient(to right,#4fb1f7 0,#6bb8ee 100%); box-shadow: 0 5px 10px rgba(107,184,238,.25);} +.btn-danger{ background-color: #fc000c; background: linear-gradient(to right,#fc000c 0,#f9444d 100%); box-shadow: 0 5px 10px rgba(249,68,77,.25);} +.btn-info{ background-color: #5bc0de; background: linear-gradient(to right,#5bc0de 0,#7cc1d6 100%); box-shadow: 0 5px 10px rgba(124,193,214,.25);} +.btn-gray{ background-color: #282828; color: #ddd; background: linear-gradient(to right,#282828 0,#3b3b3b 100%); box-shadow: 0 5px 10px rgba(59,59,59,.25);} +.btn-warm,.btn-primary,.btn-danger,.btn-info{ color: #fff;} +.btn-warm:hover,.btn-primary:hover,.btn-danger:hover,.btn-info:hover,.btn-gray:hover{ color: #fff;} +.btn.disabled{ cursor: not-allowed; opacity: 0.6;} + +/* border */ +.border{ border-color: #383737;} +.border-primary{ border-color: #4fb1f7;} +.border-danger{ border-color: red;} +.border-info{ border-color: #5bc0de;} + +/* line */ +.spot{ border-color: #ff9900;} +.split-line{ background-color: #383737;} +.top-line:before,.bottom-line:after,.top-line-dot:before,.bottom-line-dot:before{ border-color: #383737;} + +/* badge */ +.badge{ background-color: #eee; color: #333;} +.badge-first{ background-color: #ff4a4a; color: #fff;} +.badge-second{ background-color: #ff7701; color: #fff;} +.badge-third{ background-color: #ffb400; color: #fff;} + +/* dropdown */ +.dropdown-box .item{ background-color: #fff; box-shadow: 0 2px 5px rgba(0,0,0,.1);} + +/* pic-tag */ +.pic-tag{ background-color: rgba(0,0,0,0.6); color: #fff;} +.pic-tag.active,.pic-tag-h{ background-color: #ff9900; color: #fff;} +.pic-text,.pic-title-bottom{ background-repeat: no-repeat; background-image: linear-gradient(transparent,rgba(0,0,0,.5)); color: #fff;} +.pic-text.active{ background: rgba(0,0,0,0.6); color: #fff;} +.pic-title-top{background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%,rgba(0,0,0,0) 100%); color: #fff;} + +/* link */ +.myui-link__pic li img{ display: block; padding: 2px 6px; border-radius: 4px; background-color: #fff;} + +/* nav */ +.nav li.active a{ border-color: #ff9900; color: #ff9900;} +.nav-tabs li .dropdown-box .item li a{ color: #333;} +.nav-tabs li .dropdown-box .item li.active a{ color: #ff9900;} + +/* panel */ +.myui-panel-bg{background-color: #2B2A2A;} +.myui-panel-bg2{background-color: #272727;} + +/* vodlist */ +.myui-vodlist__bg{background-color: #f5f5f5;} +.myui-vodlist__bg:hover{ box-shadow: 0 3px 5px rgba(0,0,0,.08);} + +/* text-list */ +.myui-vodlist__text.striped .striped-head,.myui-vodlist__text.to-color li:nth-of-type(odd){ background-color: #272727;} + +/* table */ +.myui-table>thead>tr>th,.myui-table>tbody>tr>td, .myui-table>tbody>tr>th, .myui-table>tfoot>tr>td, .myui-table>tfoot>tr>th, .myui-table>thead>tr>td, .myui-table>thead>tr>th { border-color: #ddd;} + +/* playlist */ +.myui-content__list::-webkit-scrollbar,.myui-playdown__list::-webkit-scrollbar{ width: 4px; background-color: #f5f5f5;} +.myui-content__list::-webkit-scrollbar-thumb,.myui-playdown__list::-webkit-scrollbar-thumb{background-color: #ccc;} + +/* player */ +.myui-player__video{ background-color: #000;} +.myui-player__operate > li > a{ color: #999;} + +/* popup */ +.popup{ background-color: #f8f8f8;} +.popup-head{ background-color: #fff;} + +/* content */ +.myui-content__detail .score .rating li .fa,.myui-content__detail .score .branch{ color: #ff9900;} + +/* flickity */ +.flickity-page-dots .dot{ background-color: #ff9900;} + +/* carousel */ +.carousel-indicators-dots li{ background-color: #ff9900;} +.carousel-indicators-text li.active .title{ color: red;} +.carousel-indicators-thumb li.active{ border: 3px solid #ff9900;} + +/* extra */ +.myui-extra li a{ background-color: #272727; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);} +.myui-extra li a.backtop{ background-color: rgba(0,0,0,0.6); color: #fff; } + +/* autocomplete */ +.autocomplete-suggestions{ background-color: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.05);} +.autocomplete-suggestion, .autocomplete-suggestions li,.autocomplete-suggestion, .autocomplete-suggestions li a{ color: #333;} +.autocomplete-suggestions li strong{ color: red;} + +/* tabbar */ +.myui-nav__tabbar{background-color: #f8f8f8; border-color: #eee;} +.myui-nav__tabbar .item .title{ color: #999;} + +/* footer */ +.myui-foot{ background-color: #2B2A2A;} \ No newline at end of file diff --git a/resources/assets/template/statics/css/mytheme-font.css b/resources/assets/template/statics/css/mytheme-font.css new file mode 100644 index 0000000..e8f6772 --- /dev/null +++ b/resources/assets/template/statics/css/mytheme-font.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont3e6e.eot?v=4.7.0');src:url('../fonts/fontawesome-webfontd41d.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont3e6e.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont3e6e.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont3e6e.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont3e6e.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} .fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%} .fa-2x{font-size:2em} .fa-3x{font-size:3em} .fa-4x{font-size:4em} .fa-5x{font-size:5em} .fa-fw{width:1.28571429em;text-align:center} .fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none} .fa-ul>li{position:relative} .fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center} .fa-li.fa-lg{left:-1.85714286em} .fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em} .fa-pull-left{float:left} .fa-pull-right{float:right} .fa.fa-pull-left{margin-right:.3em} .fa.fa-pull-right{margin-left:.3em} .pull-right{float:right} .pull-left{float:left} .fa.pull-left{margin-right:.3em} .fa.pull-right{margin-left:.3em} .fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear} .fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)} @-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)} 100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} @keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)} 100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}} .fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)} .fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)} .fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)} .fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)} .fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)} :root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none} .fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle} .fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center} .fa-stack-1x{line-height:inherit} .fa-stack-2x{font-size:2em} .fa-inverse{color:#fff} .fa-glass:before{content:"\f000"} .fa-music:before{content:"\f001"} .fa-search:before{content:"\f002"} .fa-envelope-o:before{content:"\f003"} .fa-heart:before{content:"\f004"} .fa-star:before{content:"\f005"} .fa-star-o:before{content:"\f006"} .fa-user:before{content:"\f007"} .fa-film:before{content:"\f008"} .fa-th-large:before{content:"\f009"} .fa-th:before{content:"\f00a"} .fa-th-list:before{content:"\f00b"} .fa-check:before{content:"\f00c"} .fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"} .fa-search-plus:before{content:"\f00e"} .fa-search-minus:before{content:"\f010"} .fa-power-off:before{content:"\f011"} .fa-signal:before{content:"\f012"} .fa-gear:before,.fa-cog:before{content:"\f013"} .fa-trash-o:before{content:"\f014"} .fa-home:before{content:"\f015"} .fa-file-o:before{content:"\f016"} .fa-clock-o:before{content:"\f017"} .fa-road:before{content:"\f018"} .fa-download:before{content:"\f019"} .fa-arrow-circle-o-down:before{content:"\f01a"} .fa-arrow-circle-o-up:before{content:"\f01b"} .fa-inbox:before{content:"\f01c"} .fa-play-circle-o:before{content:"\f01d"} .fa-rotate-right:before,.fa-repeat:before{content:"\f01e"} .fa-refresh:before{content:"\f021"} .fa-list-alt:before{content:"\f022"} .fa-lock:before{content:"\f023"} .fa-flag:before{content:"\f024"} .fa-headphones:before{content:"\f025"} .fa-volume-off:before{content:"\f026"} .fa-volume-down:before{content:"\f027"} .fa-volume-up:before{content:"\f028"} .fa-qrcode:before{content:"\f029"} .fa-barcode:before{content:"\f02a"} .fa-tag:before{content:"\f02b"} .fa-tags:before{content:"\f02c"} .fa-book:before{content:"\f02d"} .fa-bookmark:before{content:"\f02e"} .fa-print:before{content:"\f02f"} .fa-camera:before{content:"\f030"} .fa-font:before{content:"\f031"} .fa-bold:before{content:"\f032"} .fa-italic:before{content:"\f033"} .fa-text-height:before{content:"\f034"} .fa-text-width:before{content:"\f035"} .fa-align-left:before{content:"\f036"} .fa-align-center:before{content:"\f037"} .fa-align-right:before{content:"\f038"} .fa-align-justify:before{content:"\f039"} .fa-list:before{content:"\f03a"} .fa-dedent:before,.fa-outdent:before{content:"\f03b"} .fa-indent:before{content:"\f03c"} .fa-video-camera:before{content:"\f03d"} .fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"} .fa-pencil:before{content:"\f040"} .fa-map-marker:before{content:"\f041"} .fa-adjust:before{content:"\f042"} .fa-tint:before{content:"\f043"} .fa-edit:before,.fa-pencil-square-o:before{content:"\f044"} .fa-share-square-o:before{content:"\f045"} .fa-check-square-o:before{content:"\f046"} .fa-arrows:before{content:"\f047"} .fa-step-backward:before{content:"\f048"} .fa-fast-backward:before{content:"\f049"} .fa-backward:before{content:"\f04a"} .fa-play:before{content:"\f04b"} .fa-pause:before{content:"\f04c"} .fa-stop:before{content:"\f04d"} .fa-forward:before{content:"\f04e"} .fa-fast-forward:before{content:"\f050"} .fa-step-forward:before{content:"\f051"} .fa-eject:before{content:"\f052"} .fa-chevron-left:before{content:"\f053"} .fa-chevron-right:before{content:"\f054"} .fa-plus-circle:before{content:"\f055"} .fa-minus-circle:before{content:"\f056"} .fa-times-circle:before{content:"\f057"} .fa-check-circle:before{content:"\f058"} .fa-question-circle:before{content:"\f059"} .fa-info-circle:before{content:"\f05a"} .fa-crosshairs:before{content:"\f05b"} .fa-times-circle-o:before{content:"\f05c"} .fa-check-circle-o:before{content:"\f05d"} .fa-ban:before{content:"\f05e"} .fa-arrow-left:before{content:"\f060"} .fa-arrow-right:before{content:"\f061"} .fa-arrow-up:before{content:"\f062"} .fa-arrow-down:before{content:"\f063"} .fa-mail-forward:before,.fa-share:before{content:"\f064"} .fa-expand:before{content:"\f065"} .fa-compress:before{content:"\f066"} .fa-plus:before{content:"\f067"} .fa-minus:before{content:"\f068"} .fa-asterisk:before{content:"\f069"} .fa-exclamation-circle:before{content:"\f06a"} .fa-gift:before{content:"\f06b"} .fa-leaf:before{content:"\f06c"} .fa-fire:before{content:"\f06d"} .fa-eye:before{content:"\f06e"} .fa-eye-slash:before{content:"\f070"} .fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"} .fa-plane:before{content:"\f072"} .fa-calendar:before{content:"\f073"} .fa-random:before{content:"\f074"} .fa-comment:before{content:"\f075"} .fa-magnet:before{content:"\f076"} .fa-chevron-up:before{content:"\f077"} .fa-chevron-down:before{content:"\f078"} .fa-retweet:before{content:"\f079"} .fa-shopping-cart:before{content:"\f07a"} .fa-folder:before{content:"\f07b"} .fa-folder-open:before{content:"\f07c"} .fa-arrows-v:before{content:"\f07d"} .fa-arrows-h:before{content:"\f07e"} .fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"} .fa-twitter-square:before{content:"\f081"} .fa-facebook-square:before{content:"\f082"} .fa-camera-retro:before{content:"\f083"} .fa-key:before{content:"\f084"} .fa-gears:before,.fa-cogs:before{content:"\f085"} .fa-comments:before{content:"\f086"} .fa-thumbs-o-up:before{content:"\f087"} .fa-thumbs-o-down:before{content:"\f088"} .fa-star-half:before{content:"\f089"} .fa-heart-o:before{content:"\f08a"} .fa-sign-out:before{content:"\f08b"} .fa-linkedin-square:before{content:"\f08c"} .fa-thumb-tack:before{content:"\f08d"} .fa-external-link:before{content:"\f08e"} .fa-sign-in:before{content:"\f090"} .fa-trophy:before{content:"\f091"} .fa-github-square:before{content:"\f092"} .fa-upload:before{content:"\f093"} .fa-lemon-o:before{content:"\f094"} .fa-phone:before{content:"\f095"} .fa-square-o:before{content:"\f096"} .fa-bookmark-o:before{content:"\f097"} .fa-phone-square:before{content:"\f098"} .fa-twitter:before{content:"\f099"} .fa-facebook-f:before,.fa-facebook:before{content:"\f09a"} .fa-github:before{content:"\f09b"} .fa-unlock:before{content:"\f09c"} .fa-credit-card:before{content:"\f09d"} .fa-feed:before,.fa-rss:before{content:"\f09e"} .fa-hdd-o:before{content:"\f0a0"} .fa-bullhorn:before{content:"\f0a1"} .fa-bell:before{content:"\f0f3"} .fa-certificate:before{content:"\f0a3"} .fa-hand-o-right:before{content:"\f0a4"} .fa-hand-o-left:before{content:"\f0a5"} .fa-hand-o-up:before{content:"\f0a6"} .fa-hand-o-down:before{content:"\f0a7"} .fa-arrow-circle-left:before{content:"\f0a8"} .fa-arrow-circle-right:before{content:"\f0a9"} .fa-arrow-circle-up:before{content:"\f0aa"} .fa-arrow-circle-down:before{content:"\f0ab"} .fa-globe:before{content:"\f0ac"} .fa-wrench:before{content:"\f0ad"} .fa-tasks:before{content:"\f0ae"} .fa-filter:before{content:"\f0b0"} .fa-briefcase:before{content:"\f0b1"} .fa-arrows-alt:before{content:"\f0b2"} .fa-group:before,.fa-users:before{content:"\f0c0"} .fa-chain:before,.fa-link:before{content:"\f0c1"} .fa-cloud:before{content:"\f0c2"} .fa-flask:before{content:"\f0c3"} .fa-cut:before,.fa-scissors:before{content:"\f0c4"} .fa-copy:before,.fa-files-o:before{content:"\f0c5"} .fa-paperclip:before{content:"\f0c6"} .fa-save:before,.fa-floppy-o:before{content:"\f0c7"} .fa-square:before{content:"\f0c8"} .fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"} .fa-list-ul:before{content:"\f0ca"} .fa-list-ol:before{content:"\f0cb"} .fa-strikethrough:before{content:"\f0cc"} .fa-underline:before{content:"\f0cd"} .fa-table:before{content:"\f0ce"} .fa-magic:before{content:"\f0d0"} .fa-truck:before{content:"\f0d1"} .fa-pinterest:before{content:"\f0d2"} .fa-pinterest-square:before{content:"\f0d3"} .fa-google-plus-square:before{content:"\f0d4"} .fa-google-plus:before{content:"\f0d5"} .fa-money:before{content:"\f0d6"} .fa-caret-down:before{content:"\f0d7"} .fa-caret-up:before{content:"\f0d8"} .fa-caret-left:before{content:"\f0d9"} .fa-caret-right:before{content:"\f0da"} .fa-columns:before{content:"\f0db"} .fa-unsorted:before,.fa-sort:before{content:"\f0dc"} .fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"} .fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"} .fa-envelope:before{content:"\f0e0"} .fa-linkedin:before{content:"\f0e1"} .fa-rotate-left:before,.fa-undo:before{content:"\f0e2"} .fa-legal:before,.fa-gavel:before{content:"\f0e3"} .fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"} .fa-comment-o:before{content:"\f0e5"} .fa-comments-o:before{content:"\f0e6"} .fa-flash:before,.fa-bolt:before{content:"\f0e7"} .fa-sitemap:before{content:"\f0e8"} .fa-umbrella:before{content:"\f0e9"} .fa-paste:before,.fa-clipboard:before{content:"\f0ea"} .fa-lightbulb-o:before{content:"\f0eb"} .fa-exchange:before{content:"\f0ec"} .fa-cloud-download:before{content:"\f0ed"} .fa-cloud-upload:before{content:"\f0ee"} .fa-user-md:before{content:"\f0f0"} .fa-stethoscope:before{content:"\f0f1"} .fa-suitcase:before{content:"\f0f2"} .fa-bell-o:before{content:"\f0a2"} .fa-coffee:before{content:"\f0f4"} .fa-cutlery:before{content:"\f0f5"} .fa-file-text-o:before{content:"\f0f6"} .fa-building-o:before{content:"\f0f7"} .fa-hospital-o:before{content:"\f0f8"} .fa-ambulance:before{content:"\f0f9"} .fa-medkit:before{content:"\f0fa"} .fa-fighter-jet:before{content:"\f0fb"} .fa-beer:before{content:"\f0fc"} .fa-h-square:before{content:"\f0fd"} .fa-plus-square:before{content:"\f0fe"} .fa-angle-double-left:before{content:"\f100"} .fa-angle-double-right:before{content:"\f101"} .fa-angle-double-up:before{content:"\f102"} .fa-angle-double-down:before{content:"\f103"} .fa-angle-left:before{content:"\f104"} .fa-angle-right:before{content:"\f105"} .fa-angle-up:before{content:"\f106"} .fa-angle-down:before{content:"\f107"} .fa-desktop:before{content:"\f108"} .fa-laptop:before{content:"\f109"} .fa-tablet:before{content:"\f10a"} .fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"} .fa-circle-o:before{content:"\f10c"} .fa-quote-left:before{content:"\f10d"} .fa-quote-right:before{content:"\f10e"} .fa-spinner:before{content:"\f110"} .fa-circle:before{content:"\f111"} .fa-mail-reply:before,.fa-reply:before{content:"\f112"} .fa-github-alt:before{content:"\f113"} .fa-folder-o:before{content:"\f114"} .fa-folder-open-o:before{content:"\f115"} .fa-smile-o:before{content:"\f118"} .fa-frown-o:before{content:"\f119"} .fa-meh-o:before{content:"\f11a"} .fa-gamepad:before{content:"\f11b"} .fa-keyboard-o:before{content:"\f11c"} .fa-flag-o:before{content:"\f11d"} .fa-flag-checkered:before{content:"\f11e"} .fa-terminal:before{content:"\f120"} .fa-code:before{content:"\f121"} .fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"} .fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"} .fa-location-arrow:before{content:"\f124"} .fa-crop:before{content:"\f125"} .fa-code-fork:before{content:"\f126"} .fa-unlink:before,.fa-chain-broken:before{content:"\f127"} .fa-question:before{content:"\f128"} .fa-info:before{content:"\f129"} .fa-exclamation:before{content:"\f12a"} .fa-superscript:before{content:"\f12b"} .fa-subscript:before{content:"\f12c"} .fa-eraser:before{content:"\f12d"} .fa-puzzle-piece:before{content:"\f12e"} .fa-microphone:before{content:"\f130"} .fa-microphone-slash:before{content:"\f131"} .fa-shield:before{content:"\f132"} .fa-calendar-o:before{content:"\f133"} .fa-fire-extinguisher:before{content:"\f134"} .fa-rocket:before{content:"\f135"} .fa-maxcdn:before{content:"\f136"} .fa-chevron-circle-left:before{content:"\f137"} .fa-chevron-circle-right:before{content:"\f138"} .fa-chevron-circle-up:before{content:"\f139"} .fa-chevron-circle-down:before{content:"\f13a"} .fa-html5:before{content:"\f13b"} .fa-css3:before{content:"\f13c"} .fa-anchor:before{content:"\f13d"} .fa-unlock-alt:before{content:"\f13e"} .fa-bullseye:before{content:"\f140"} .fa-ellipsis-h:before{content:"\f141"} .fa-ellipsis-v:before{content:"\f142"} .fa-rss-square:before{content:"\f143"} .fa-play-circle:before{content:"\f144"} .fa-ticket:before{content:"\f145"} .fa-minus-square:before{content:"\f146"} .fa-minus-square-o:before{content:"\f147"} .fa-level-up:before{content:"\f148"} .fa-level-down:before{content:"\f149"} .fa-check-square:before{content:"\f14a"} .fa-pencil-square:before{content:"\f14b"} .fa-external-link-square:before{content:"\f14c"} .fa-share-square:before{content:"\f14d"} .fa-compass:before{content:"\f14e"} .fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"} .fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"} .fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"} .fa-euro:before,.fa-eur:before{content:"\f153"} .fa-gbp:before{content:"\f154"} .fa-dollar:before,.fa-usd:before{content:"\f155"} .fa-rupee:before,.fa-inr:before{content:"\f156"} .fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"} .fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"} .fa-won:before,.fa-krw:before{content:"\f159"} .fa-bitcoin:before,.fa-btc:before{content:"\f15a"} .fa-file:before{content:"\f15b"} .fa-file-text:before{content:"\f15c"} .fa-sort-alpha-asc:before{content:"\f15d"} .fa-sort-alpha-desc:before{content:"\f15e"} .fa-sort-amount-asc:before{content:"\f160"} .fa-sort-amount-desc:before{content:"\f161"} .fa-sort-numeric-asc:before{content:"\f162"} .fa-sort-numeric-desc:before{content:"\f163"} .fa-thumbs-up:before{content:"\f164"} .fa-thumbs-down:before{content:"\f165"} .fa-youtube-square:before{content:"\f166"} .fa-youtube:before{content:"\f167"} .fa-xing:before{content:"\f168"} .fa-xing-square:before{content:"\f169"} .fa-youtube-play:before{content:"\f16a"} .fa-dropbox:before{content:"\f16b"} .fa-stack-overflow:before{content:"\f16c"} .fa-instagram:before{content:"\f16d"} .fa-flickr:before{content:"\f16e"} .fa-adn:before{content:"\f170"} .fa-bitbucket:before{content:"\f171"} .fa-bitbucket-square:before{content:"\f172"} .fa-tumblr:before{content:"\f173"} .fa-tumblr-square:before{content:"\f174"} .fa-long-arrow-down:before{content:"\f175"} .fa-long-arrow-up:before{content:"\f176"} .fa-long-arrow-left:before{content:"\f177"} .fa-long-arrow-right:before{content:"\f178"} .fa-apple:before{content:"\f179"} .fa-windows:before{content:"\f17a"} .fa-android:before{content:"\f17b"} .fa-linux:before{content:"\f17c"} .fa-dribbble:before{content:"\f17d"} .fa-skype:before{content:"\f17e"} .fa-foursquare:before{content:"\f180"} .fa-trello:before{content:"\f181"} .fa-female:before{content:"\f182"} .fa-male:before{content:"\f183"} .fa-gittip:before,.fa-gratipay:before{content:"\f184"} .fa-sun-o:before{content:"\f185"} .fa-moon-o:before{content:"\f186"} .fa-archive:before{content:"\f187"} .fa-bug:before{content:"\f188"} .fa-vk:before{content:"\f189"} .fa-weibo:before{content:"\f18a"} .fa-renren:before{content:"\f18b"} .fa-pagelines:before{content:"\f18c"} .fa-stack-exchange:before{content:"\f18d"} .fa-arrow-circle-o-right:before{content:"\f18e"} .fa-arrow-circle-o-left:before{content:"\f190"} .fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"} .fa-dot-circle-o:before{content:"\f192"} .fa-wheelchair:before{content:"\f193"} .fa-vimeo-square:before{content:"\f194"} .fa-turkish-lira:before,.fa-try:before{content:"\f195"} .fa-plus-square-o:before{content:"\f196"} .fa-space-shuttle:before{content:"\f197"} .fa-slack:before{content:"\f198"} .fa-envelope-square:before{content:"\f199"} .fa-wordpress:before{content:"\f19a"} .fa-openid:before{content:"\f19b"} .fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"} .fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"} .fa-yahoo:before{content:"\f19e"} .fa-google:before{content:"\f1a0"} .fa-reddit:before{content:"\f1a1"} .fa-reddit-square:before{content:"\f1a2"} .fa-stumbleupon-circle:before{content:"\f1a3"} .fa-stumbleupon:before{content:"\f1a4"} .fa-delicious:before{content:"\f1a5"} .fa-digg:before{content:"\f1a6"} .fa-pied-piper-pp:before{content:"\f1a7"} .fa-pied-piper-alt:before{content:"\f1a8"} .fa-drupal:before{content:"\f1a9"} .fa-joomla:before{content:"\f1aa"} .fa-language:before{content:"\f1ab"} .fa-fax:before{content:"\f1ac"} .fa-building:before{content:"\f1ad"} .fa-child:before{content:"\f1ae"} .fa-paw:before{content:"\f1b0"} .fa-spoon:before{content:"\f1b1"} .fa-cube:before{content:"\f1b2"} .fa-cubes:before{content:"\f1b3"} .fa-behance:before{content:"\f1b4"} .fa-behance-square:before{content:"\f1b5"} .fa-steam:before{content:"\f1b6"} .fa-steam-square:before{content:"\f1b7"} .fa-recycle:before{content:"\f1b8"} .fa-automobile:before,.fa-car:before{content:"\f1b9"} .fa-cab:before,.fa-taxi:before{content:"\f1ba"} .fa-tree:before{content:"\f1bb"} .fa-spotify:before{content:"\f1bc"} .fa-deviantart:before{content:"\f1bd"} .fa-soundcloud:before{content:"\f1be"} .fa-database:before{content:"\f1c0"} .fa-file-pdf-o:before{content:"\f1c1"} .fa-file-word-o:before{content:"\f1c2"} .fa-file-excel-o:before{content:"\f1c3"} .fa-file-powerpoint-o:before{content:"\f1c4"} .fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"} .fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"} .fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"} .fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"} .fa-file-code-o:before{content:"\f1c9"} .fa-vine:before{content:"\f1ca"} .fa-codepen:before{content:"\f1cb"} .fa-jsfiddle:before{content:"\f1cc"} .fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"} .fa-circle-o-notch:before{content:"\f1ce"} .fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"} .fa-ge:before,.fa-empire:before{content:"\f1d1"} .fa-git-square:before{content:"\f1d2"} .fa-git:before{content:"\f1d3"} .fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"} .fa-tencent-weibo:before{content:"\f1d5"} .fa-qq:before{content:"\f1d6"} .fa-wechat:before,.fa-weixin:before{content:"\f1d7"} .fa-send:before,.fa-paper-plane:before{content:"\f1d8"} .fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"} .fa-history:before{content:"\f1da"} .fa-circle-thin:before{content:"\f1db"} .fa-header:before{content:"\f1dc"} .fa-paragraph:before{content:"\f1dd"} .fa-sliders:before{content:"\f1de"} .fa-share-alt:before{content:"\f1e0"} .fa-share-alt-square:before{content:"\f1e1"} .fa-bomb:before{content:"\f1e2"} .fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"} .fa-tty:before{content:"\f1e4"} .fa-binoculars:before{content:"\f1e5"} .fa-plug:before{content:"\f1e6"} .fa-slideshare:before{content:"\f1e7"} .fa-twitch:before{content:"\f1e8"} .fa-yelp:before{content:"\f1e9"} .fa-newspaper-o:before{content:"\f1ea"} .fa-wifi:before{content:"\f1eb"} .fa-calculator:before{content:"\f1ec"} .fa-paypal:before{content:"\f1ed"} .fa-google-wallet:before{content:"\f1ee"} .fa-cc-visa:before{content:"\f1f0"} .fa-cc-mastercard:before{content:"\f1f1"} .fa-cc-discover:before{content:"\f1f2"} .fa-cc-amex:before{content:"\f1f3"} .fa-cc-paypal:before{content:"\f1f4"} .fa-cc-stripe:before{content:"\f1f5"} .fa-bell-slash:before{content:"\f1f6"} .fa-bell-slash-o:before{content:"\f1f7"} .fa-trash:before{content:"\f1f8"} .fa-copyright:before{content:"\f1f9"} .fa-at:before{content:"\f1fa"} .fa-eyedropper:before{content:"\f1fb"} .fa-paint-brush:before{content:"\f1fc"} .fa-birthday-cake:before{content:"\f1fd"} .fa-area-chart:before{content:"\f1fe"} .fa-pie-chart:before{content:"\f200"} .fa-line-chart:before{content:"\f201"} .fa-lastfm:before{content:"\f202"} .fa-lastfm-square:before{content:"\f203"} .fa-toggle-off:before{content:"\f204"} .fa-toggle-on:before{content:"\f205"} .fa-bicycle:before{content:"\f206"} .fa-bus:before{content:"\f207"} .fa-ioxhost:before{content:"\f208"} .fa-angellist:before{content:"\f209"} .fa-cc:before{content:"\f20a"} .fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"} .fa-meanpath:before{content:"\f20c"} .fa-buysellads:before{content:"\f20d"} .fa-connectdevelop:before{content:"\f20e"} .fa-dashcube:before{content:"\f210"} .fa-forumbee:before{content:"\f211"} .fa-leanpub:before{content:"\f212"} .fa-sellsy:before{content:"\f213"} .fa-shirtsinbulk:before{content:"\f214"} .fa-simplybuilt:before{content:"\f215"} .fa-skyatlas:before{content:"\f216"} .fa-cart-plus:before{content:"\f217"} .fa-cart-arrow-down:before{content:"\f218"} .fa-diamond:before{content:"\f219"} .fa-ship:before{content:"\f21a"} .fa-user-secret:before{content:"\f21b"} .fa-motorcycle:before{content:"\f21c"} .fa-street-view:before{content:"\f21d"} .fa-heartbeat:before{content:"\f21e"} .fa-venus:before{content:"\f221"} .fa-mars:before{content:"\f222"} .fa-mercury:before{content:"\f223"} .fa-intersex:before,.fa-transgender:before{content:"\f224"} .fa-transgender-alt:before{content:"\f225"} .fa-venus-double:before{content:"\f226"} .fa-mars-double:before{content:"\f227"} .fa-venus-mars:before{content:"\f228"} .fa-mars-stroke:before{content:"\f229"} .fa-mars-stroke-v:before{content:"\f22a"} .fa-mars-stroke-h:before{content:"\f22b"} .fa-neuter:before{content:"\f22c"} .fa-genderless:before{content:"\f22d"} .fa-facebook-official:before{content:"\f230"} .fa-pinterest-p:before{content:"\f231"} .fa-whatsapp:before{content:"\f232"} .fa-server:before{content:"\f233"} .fa-user-plus:before{content:"\f234"} .fa-user-times:before{content:"\f235"} .fa-hotel:before,.fa-bed:before{content:"\f236"} .fa-viacoin:before{content:"\f237"} .fa-train:before{content:"\f238"} .fa-subway:before{content:"\f239"} .fa-medium:before{content:"\f23a"} .fa-yc:before,.fa-y-combinator:before{content:"\f23b"} .fa-optin-monster:before{content:"\f23c"} .fa-opencart:before{content:"\f23d"} .fa-expeditedssl:before{content:"\f23e"} .fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"} .fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"} .fa-battery-2:before,.fa-battery-half:before{content:"\f242"} .fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"} .fa-battery-0:before,.fa-battery-empty:before{content:"\f244"} .fa-mouse-pointer:before{content:"\f245"} .fa-i-cursor:before{content:"\f246"} .fa-object-group:before{content:"\f247"} .fa-object-ungroup:before{content:"\f248"} .fa-sticky-note:before{content:"\f249"} .fa-sticky-note-o:before{content:"\f24a"} .fa-cc-jcb:before{content:"\f24b"} .fa-cc-diners-club:before{content:"\f24c"} .fa-clone:before{content:"\f24d"} .fa-balance-scale:before{content:"\f24e"} .fa-hourglass-o:before{content:"\f250"} .fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"} .fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"} .fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"} .fa-hourglass:before{content:"\f254"} .fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"} .fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"} .fa-hand-scissors-o:before{content:"\f257"} .fa-hand-lizard-o:before{content:"\f258"} .fa-hand-spock-o:before{content:"\f259"} .fa-hand-pointer-o:before{content:"\f25a"} .fa-hand-peace-o:before{content:"\f25b"} .fa-trademark:before{content:"\f25c"} .fa-registered:before{content:"\f25d"} .fa-creative-commons:before{content:"\f25e"} .fa-gg:before{content:"\f260"} .fa-gg-circle:before{content:"\f261"} .fa-tripadvisor:before{content:"\f262"} .fa-odnoklassniki:before{content:"\f263"} .fa-odnoklassniki-square:before{content:"\f264"} .fa-get-pocket:before{content:"\f265"} .fa-wikipedia-w:before{content:"\f266"} .fa-safari:before{content:"\f267"} .fa-chrome:before{content:"\f268"} .fa-firefox:before{content:"\f269"} .fa-opera:before{content:"\f26a"} .fa-internet-explorer:before{content:"\f26b"} .fa-tv:before,.fa-television:before{content:"\f26c"} .fa-contao:before{content:"\f26d"} .fa-500px:before{content:"\f26e"} .fa-amazon:before{content:"\f270"} .fa-calendar-plus-o:before{content:"\f271"} .fa-calendar-minus-o:before{content:"\f272"} .fa-calendar-times-o:before{content:"\f273"} .fa-calendar-check-o:before{content:"\f274"} .fa-industry:before{content:"\f275"} .fa-map-pin:before{content:"\f276"} .fa-map-signs:before{content:"\f277"} .fa-map-o:before{content:"\f278"} .fa-map:before{content:"\f279"} .fa-commenting:before{content:"\f27a"} .fa-commenting-o:before{content:"\f27b"} .fa-houzz:before{content:"\f27c"} .fa-vimeo:before{content:"\f27d"} .fa-black-tie:before{content:"\f27e"} .fa-fonticons:before{content:"\f280"} .fa-reddit-alien:before{content:"\f281"} .fa-edge:before{content:"\f282"} .fa-credit-card-alt:before{content:"\f283"} .fa-codiepie:before{content:"\f284"} .fa-modx:before{content:"\f285"} .fa-fort-awesome:before{content:"\f286"} .fa-usb:before{content:"\f287"} .fa-product-hunt:before{content:"\f288"} .fa-mixcloud:before{content:"\f289"} .fa-scribd:before{content:"\f28a"} .fa-pause-circle:before{content:"\f28b"} .fa-pause-circle-o:before{content:"\f28c"} .fa-stop-circle:before{content:"\f28d"} .fa-stop-circle-o:before{content:"\f28e"} .fa-shopping-bag:before{content:"\f290"} .fa-shopping-basket:before{content:"\f291"} .fa-hashtag:before{content:"\f292"} .fa-bluetooth:before{content:"\f293"} .fa-bluetooth-b:before{content:"\f294"} .fa-percent:before{content:"\f295"} .fa-gitlab:before{content:"\f296"} .fa-wpbeginner:before{content:"\f297"} .fa-wpforms:before{content:"\f298"} .fa-envira:before{content:"\f299"} .fa-universal-access:before{content:"\f29a"} .fa-wheelchair-alt:before{content:"\f29b"} .fa-question-circle-o:before{content:"\f29c"} .fa-blind:before{content:"\f29d"} .fa-audio-description:before{content:"\f29e"} .fa-volume-control-phone:before{content:"\f2a0"} .fa-braille:before{content:"\f2a1"} .fa-assistive-listening-systems:before{content:"\f2a2"} .fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"} .fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"} .fa-glide:before{content:"\f2a5"} .fa-glide-g:before{content:"\f2a6"} .fa-signing:before,.fa-sign-language:before{content:"\f2a7"} .fa-low-vision:before{content:"\f2a8"} .fa-viadeo:before{content:"\f2a9"} .fa-viadeo-square:before{content:"\f2aa"} .fa-snapchat:before{content:"\f2ab"} .fa-snapchat-ghost:before{content:"\f2ac"} .fa-snapchat-square:before{content:"\f2ad"} .fa-pied-piper:before{content:"\f2ae"} .fa-first-order:before{content:"\f2b0"} .fa-yoast:before{content:"\f2b1"} .fa-themeisle:before{content:"\f2b2"} .fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"} .fa-fa:before,.fa-font-awesome:before{content:"\f2b4"} .fa-handshake-o:before{content:"\f2b5"} .fa-envelope-open:before{content:"\f2b6"} .fa-envelope-open-o:before{content:"\f2b7"} .fa-linode:before{content:"\f2b8"} .fa-address-book:before{content:"\f2b9"} .fa-address-book-o:before{content:"\f2ba"} .fa-vcard:before,.fa-address-card:before{content:"\f2bb"} .fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"} .fa-user-circle:before{content:"\f2bd"} .fa-user-circle-o:before{content:"\f2be"} .fa-user-o:before{content:"\f2c0"} .fa-id-badge:before{content:"\f2c1"} .fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"} .fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"} .fa-quora:before{content:"\f2c4"} .fa-free-code-camp:before{content:"\f2c5"} .fa-telegram:before{content:"\f2c6"} .fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"} .fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"} .fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"} .fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"} .fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"} .fa-shower:before{content:"\f2cc"} .fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"} .fa-podcast:before{content:"\f2ce"} .fa-window-maximize:before{content:"\f2d0"} .fa-window-minimize:before{content:"\f2d1"} .fa-window-restore:before{content:"\f2d2"} .fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"} .fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"} .fa-bandcamp:before{content:"\f2d5"} .fa-grav:before{content:"\f2d6"} .fa-etsy:before{content:"\f2d7"} .fa-imdb:before{content:"\f2d8"} .fa-ravelry:before{content:"\f2d9"} .fa-eercast:before{content:"\f2da"} .fa-microchip:before{content:"\f2db"} .fa-snowflake-o:before{content:"\f2dc"} .fa-superpowers:before{content:"\f2dd"} .fa-wpexplorer:before{content:"\f2de"} .fa-meetup:before{content:"\f2e0"} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0} .sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/resources/assets/template/statics/css/mytheme-site6654.css b/resources/assets/template/statics/css/mytheme-site6654.css new file mode 100644 index 0000000..bb2a65c --- /dev/null +++ b/resources/assets/template/statics/css/mytheme-site6654.css @@ -0,0 +1,181 @@ +@charset "utf-8"; + +/* all */ +body{ padding-top: 80px;} +body.active{ padding-top: 80px;} + +/* header */ +.myui-header__top{position:fixed; top:0; z-index:999; width:100%; background-color: #2B2A2A; height: 111px; box-shadow: 0 2px 5px rgba(0,0,0,.05);} +.top-fixed-down{margin-top:-61px;} + +/* header-logo */ +.myui-header__logo,.myui-header__menu{float:left;} + +/* header-seacrh */ +.myui-header__search{ padding: 0; width: 100%; box-shadow: 0 0 1px 0 #adadad;} +.myui-header__search .search-hot{ line-height: 48px;} +.myui-header__search .search-hot a{ display: inline-block; margin-left: 20px; color: #fff;} +.myui-header__search .search-hot span{ color: #666;} +.myui-header__search li{ float: left;} +.myui-header__search li.search-box{ position: relative; width: 260px; height: 50px;} +.myui-header__search li.search-box .form-control{ height: 50px; padding-left: 30px; border-radius: 0; background: none; border: 0;} +.myui-header__search li.search-box .form-control:focus{ border-color: none; -webkit-box-shadow: none;} +.myui-header__search li.search-box .submit{ display:block; position:absolute; top: 0; left: 10px; height: 50px; line-height: 50px; text-align:center; background: none; border: 0; color: #999;} +.myui-header__search li.search-box .dropdown-box{ margin-left: -130px; padding-top: 0;} +.myui-header__search li.search-box .dropdown-box .item{ width: 260px; padding: 20px;} +.myui-header__search li.search-box.search-box:hover .search-dropdown-hot{ display: block;} +.myui-header__search li.search-select{ position: relative; margin-top: 15px; padding: 0 10px 0 15px; border-right: 1px solid #eee; cursor: pointer;} +.myui-header__search li.search-select .dropdown-box{ margin-left: -40px; z-index: 101;} +.myui-header__search li.search-select .dropdown-box .item{ width: 80px; padding: 10px; text-align: center;} +.myui-header__search li.search-select .dropdown-box .item p{ margin: 0; padding: 5px 0;} +.myui-header__search li.search-ul{ position: relative; height: 50px; padding: 15px 20px 0; border-right: 1px solid #eee; cursor: pointer;} +.myui-header__search li.search-ul .fa{ font-size: 20px;} +.myui-header__search li.search-ul .dropdown-box{ margin-left: -30px; padding-top: 0;} +.myui-header__search li.search-ul .dropdown-box .item{ width: 500px;} +.myui-header__search li.search-ul .dropdown-box .item li{ padding: 6px;} + +/* header-menu */ +.myui-header__menu{position:relative;} +.myui-header__menu > li{ position: relative; float: left; margin-left: 35px;} +.myui-header__menu > li > a{ font-size: 15px; line-height: 60px; color: #fff;} +.myui-header__menu > li.active > a{ color: #ff9900 !important;} + +/* header-user */ +.myui-header__user{float:right;} +.myui-header__user > li{ float:left; position: relative; padding: 18px 0 10px; margin-left: 20px;} +.myui-header__user > li > a,.myui-header__user > li > a .fa{ display: inline-block; font-size: 22px; line-height: 24px; color: #333;} +.myui-header__user > li .dropdown-box{ right: 0; margin-left: 0; margin-right: -120px; padding-top: 10px;} +.myui-header__user > li .dropdown-box .item{ width: 260px; padding: 20px;} +.myui-header__user > li.menu .dropdown-box{ right: 0; margin-left: 0; margin-right: -40px; padding-top: 10px;} +.myui-header__user > li.menu .dropdown-box .item{ width: 90px; padding: 10px;} +.myui-header__user > li.menu .dropdown-box .item li{ padding: 5px 0; text-align: center;} + +/* header-color */ +.myui-header__top.color{ background: none; border-bottom: 1px solid rgba(255,255,255,0.1); box-shadow: none;} +.myui-header__top.color .myui-header__menu > li > a,.myui-header__top.color .myui-header__user > li > a,.myui-header__top.color .myui-header__user > li > a .fa,.myui-header__top.color .myui-header__search li.search-box .form-control,.myui-header__top.color .myui-header__search li.search-ul .fa,.myui-header__top.color .myui-header__search li.search-select .text{ color: #ffffff;} +.myui-header__top.color .myui-header__search li.search-ul,.myui-header__top.color .myui-header__search li.search-select{ border-right: 1px solid rgba(255,255,255,0.1);} +.myui-header__top.color .myui-header__search{ border-top: 1px solid rgba(255,255,255,0.1);} +.myui-header__top.color .myui-header__search .search-hot a{ color: #ddd;} + +/* content */ +/* content */ +.myui-content__thumb{ float: left;} +.myui-content__thumb .myui-vodlist__thumb{ width: 220px;} +.myui-content__thumb.active .myui-vodlist__thumb{ width: 150px;} +.myui-content__detail,.myui-content__operate{ float: left; width: calc(100% - 220px); padding-left: 20px;} +.myui-content__detail.active{ width: calc(100% - 150px);} +.myui-content__detail .title{ margin:10px 0 10px; font-size: 24px; line-height:30px} +.myui-content__detail .title .score{ display: inline-block; margin-left: 10px; font-family: Georgia,"Times New Roman",Times,serif;} +.myui-content__detail .data{ margin-bottom:10px; line-height: 20px; word-wrap: break-word; white-space: normal; word-break: normal;} +.myui-content__detail .score{ margin-bottom: 20px;} +.myui-content__detail .score .rating{ display: inline-block; position: relative; top: 5px;} +.myui-content__detail .score .rating li{ cursor:pointer; display: inline-block; margin-right: 5px;} +.myui-content__detail .score .rating li .fa{ font-size: 24px;} +.myui-content__detail .score .branch{ display: inline-block; font-family: Georgia,"Times New Roman",Times,serif; font-size: 24px; line-height: 24px;} +.myui-content__operate{ float: left; margin-top: 10px} +.myui-content__operate .btn{ margin-left: 10px; margin-bottom: 10px;} +.myui-content__operate .btn:first-child{ margin-left: 0;} +.myui-content__tag a{ display: inline-block; line-height: 20px; padding: 2px 10px; margin-left: 5px; border: 1px solid rgb(255 255 255); font-size: 12px; border-radius: 15px;} +.myui-content__detail .topline{ position: relative; margin: 0; padding: 10px 0;} + +/* player */ +.myui-player{ margin-top: 20px; padding-bottom: 15px;} +.myui-player__item{ position: relative;} +.myui-player__item .fixed{ position: fixed; z-index: 998; right: 0; bottom: 0; padding: 10px; background-color: #ffffff; box-shadow: 0 2px 5px rgba(0,0,0,.1);} +.myui-player__item .is-btn{ position: absolute; z-index: 99; top: 50%; right: -12px; margin-top: -30px; display: block; width: 12px; text-align: center; height: 60px; line-height: 60px; font-size: 10px; border-radius: 0 4px 4px 0; background-color: #404040; color: #999;} +.myui-player__item .player-fixed-off{display: none; position: absolute; top: -10px; left: -10px; width: 20px; height: 20px; text-align: center; line-height: 20px; background-color: #ffffff; border-radius: 50%; color: #333; box-shadow: 0 2px 5px rgba(0,0,0,.1);} +.myui-player__item .tips{ position: relative; height: 40px; line-height: 40px; overflow: hidden; padding: 0 20px; color: #ffffff;} +.myui-player__operate{ padding: 20px 10px; display: -webkit-box; display: -webkit-flex; display: flex;} +.myui-player__operate li{ display: block; text-align: center; -webkit-box-flex: 1; -webkit-flex: 1; flex: 1;} +.myui-player__detail .title{margin:0 0 10px} +.myui-player__detail .detail-content{padding-top:10px} +.myui-player__detail .desc{padding-left:42px} +.myui-player__detail .desc .left{margin-left:-42px} +#player-sidebar::-webkit-scrollbar{ width: 4px; background-color: #1c1b1e;} +#player-sidebar::-webkit-scrollbar-thumb{background-color: #434145;} +.myui-player__notice{ position: absolute; top: 50%; left: 0; width: 100%; margin-top: -65px;} +.myui-player__notice h3,.myui-player__notice h5,.myui-player__notice p{ color: #ffffff;} +.myui-player-links{ position: relative; top: 15px; right: 10px;} +.myui-player-links .btn{ position: absolute; top: 0; right: -5px; border-radius: 0 5px 5px 0;} + +/* news */ +.myui-newslist li{ padding: 30px 0;} +.myui-newslist li .title{ margin: 0; font-size: 22px; line-height: 30px; font-weight: 600;} +.myui-newslist li .desc{ text-indent: 2em; margin: 0; padding: 20px 0; line-height: 25px;} +.myui-newslist__text li .title{ margin: 0; font-size: 15px;} +.myui-art__nav li{ padding: 6px 0;} +.myui-art__nav li.active a{ font-weight: bold; color: #ff9900;} + +/* footer */ +.myui-foot{ padding: 20px 0;} +.myui-foot p{ line-height: 25px;} + +@media (max-width:1400px){ + + /* header */ + .myui-header__top{ padding: 0 20px;} + .myui-header__search li.search-box{ width: 180px;} + .myui-header__menu > li{ margin-left: 20px;} + .myui-header__user > li{ margin-left: 20px;} + .myui-header__menu > li:hover .head-dropdown,.myui-header__user > li:hover .head-dropdown{ display: none;} + +} + +@media (max-width:767px){ + + .myui-panel-bg,.myui-vodlist__bg,.myui-vodlist__bg:hover{box-shadow: none;} + .myui-panel__head .title, .myui-panel__head .title a{ font-size: 18px;} + + /* header */ + .myui-header__top{ padding: 0 10px;} + .myui-header__search{ width: 100%; margin: 0;} + .myui-header__search li.search-box{ position: absolute; width: 100%; left: 120px; top: 0;} + .myui-header__search li.search-box .dropdown-box{ margin-left: -180px; padding-top: 0;} + .myui-header__search li.search-box .dropdown-box .item{ width: 240px;} + .myui-header__search li.search-ul .dropdown-box .item{ width: 300px;} + .myui-header__menu > li .dropdown-box{ margin-left: -150px; padding-top: 0;} + .myui-header__menu > li .dropdown-box .item{ width: 300px;} + .myui-header__user > li{ margin-left: 15px; padding: 15px 0 10px;} + .myui-header__user > li > a .fa{ font-size: 20px; line-height: 20px;} + .myui-header__user > li.menu .dropdown-box{ margin-right: 0;} + .myui-header__user > li.hist .dropdown-box{margin-right: -80px;} + + + + /* content */ + .myui-content__thumb .myui-vodlist__thumb{ width: 120px;} + .myui-content__thumb.active .myui-vodlist__thumb{ width: 120px;} + .myui-content__detail{ float: left; width: calc(100% - 120px);} + .myui-content__detail.active{ width: calc(100% - 120px);} + .myui-content__detail .title{ margin: 5px 0 8px; font-size:18px; line-height:18px} + .myui-content__detail .data{margin:0 0 10px; font-size:12px; line-height: 18px; word-wrap: break-word; white-space: normal;word-break: normal;} + .myui-content__detail .topline{ padding: 5px 0;} + .myui-content__thumb.actor{ display: none;} + .myui-content__detail .score { margin-bottom: 5px;} + .myui-content__detail .score .branch{ font-size: 16px;} + .myui-content__detail .score .rating{ top: 0;} + .myui-content__detail .score .rating li{ margin: 0;} + .myui-content__detail .score .rating li .fa{ font-size: 18px;} + .myui-content__operate{ margin-top: 20px; width: 100%; padding: 0; display: -webkit-box; display: -webkit-flex; display: flex;} + .myui-content__operate .btn{ text-align: center; padding: 8px; -webkit-box-flex: 1; -webkit-flex: 1; flex: 1;} + + + /* player */ + .myui-player{ margin-top: 0;} + .myui-player__item{ padding: 0;} + .myui-player__detail{ margin: 0;} + .myui-player__detail .data .title{font-size:16px} + .myui-player__detail.detail .title{font-size:18px;} + .myui-player__operate{} + .myui-player__operate li{ margin: 0;} + .myui-player__operate li .fa{ display: block; margin-bottom: 5px; font-size: 16px;} + .myui-player-links{ top: 0; right: 0; padding: 0 10px;} + .myui-player-links .btn{ height: 35px; right: 8px;} + + /* news */ + .myui-newslist li .title{ font-size: 18px; line-height: 30px;} + .myui-art__nav li{ display: inline-block; margin-right: 10px;} + .myui-art__nav li.active a{ font-weight: bold; color: #ff9900;} + +} + diff --git a/resources/assets/template/statics/css/mytheme-ui1b26.css b/resources/assets/template/statics/css/mytheme-ui1b26.css new file mode 100644 index 0000000..14ebf8d --- /dev/null +++ b/resources/assets/template/statics/css/mytheme-ui1b26.css @@ -0,0 +1,543 @@ +@charset "utf-8"; + +body, html{ width:100%; } +body{ font-size:14px; line-height: 140%} +body,ul,ol,li,p,h1,h2,h3,h4,h5,h6,form,fieldset,table,td,img,div,tr{ margin:0; padding:0; font-weight:normal} +input,select{ font-size:12px; vertical-align:middle; border:none;} +ul,li{ list-style-type:none;} +img{ border:0 none;} +p{ margin-bottom: 10px;} + +/* container */ +*{ margin:0; padding:0; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box} +:after,:before{-webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box} +.container{ position: relative; margin-right: auto; margin-left: auto;} +.row{ position: relative; margin: 0; padding: 0;} +.container:before,.container:after,.row:before,.row:after,.clearfix:before, .clearfix:after{ display: table; content: " "; clear: both;} + +/* text */ +h1{ font-size:36px;} +h2{ font-size:32px;} +h3{ font-size:24px;} +h4{ font-size:18px;} +h5{ font-size:16px;} +h6{ font-size:14px;} +h1,h2,h3,h4,h5,h6{ font-weight: 400; margin-bottom:10px} +a,button{ text-decoration:none; outline:none; -webkit-tap-highlight-color:rgba(0,0,0,0);} +button{ border: 0;} +button:hover,input.btn{ cursor: pointer;} +a:focus,a:hover,a:active{ text-decoration:none;} +.text-center{ text-align: center;} +.text-left{ text-align: left;} +.text-right{ text-align: right;} +.text-overflow{ width:100%; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap;} +.content{ font-size: 16px; line-height: 30px; word-wrap: break-word; white-space: normal; word-break: normal;} + +/* font */ +.font-12{font-size:12px;} +.font-13{font-size:13px;} +.font-14{font-size:14px;} +.font-15{font-size:15px;} +.font-16{font-size:16px;} +.font-18{font-size:18px;} +.font-20{font-size:20px;} +.font-22{font-size:22px;} +.font-24{font-size:24px;} +.font-25{font-size:24px;} +.font-40{font-size:40px;} +.font-bold{ font-weight: 700;} + +/* img */ +img{border: 0; vertical-align:middle} +.img-circle{ border-radius: 50%;} +.img-rounded{ border-radius: 5px;} +.img-thumbnail{ padding: 5px; border-radius: 5px;} +.img-responsive{ max-width: 100%;} +.img-thumb{ width: 220px;} +.content img{ display: block; max-width: 100%;} + +/* form */ +select{cursor: pointer; border: none; outline: none;} +input,textarea{outline: medium none; outline: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);} +input.form-control,input.btn{ outline:0px; -webkit-appearance: none;} +input[type="checkbox"]{ vertical-align: -2px;} +.form-control{display:block; width:100%; height:35px; padding: 0 10px; font-size:12px; line-height: 20px; border-radius:4px; transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;} +textarea.form-control{ height: auto; padding: 10px;} +.form-control.verify{ width: 90px; text-align: center; margin-right: 10px; display: inline-block;} + +/* padding */ +.pb10{ padding-bottom: 10px;} +.pt10{ padding-top: 10px;} +.pb15{ padding-bottom: 15px;} +.pt15{ padding-top: 15px;} +.pb20{ padding-bottom: 20px;} +.pt20{ padding-top: 20px;} +.pb30{ padding-bottom: 30px;} +.pt30{ padding-top: 30px;} + +/* padding */ +.mb10{ margin-bottom: 10px;} +.mt10{ margin-top: 10px;} +.mb15{ margin-bottom: 15px;} +.mt15{ margin-top: 15px;} +.mb20{ margin-bottom: 20px;} +.mt20{ margin-top: 20px;} +.mb30{ margin-bottom:30px;} +.mt30{ margin-top: 30px;} + +/* line */ +.spot{display: inline-block; margin-right: 5px; width: 8px; height: 8px; background-color: #fff; border-radius: 50%; border: 2px solid;} +.split-line{display: inline-block; margin-left: 12px; margin-right: 12px; width: 1px; height: 14px; vertical-align: -2px;} +.top-line,.top-line-dot,.bottom-line,.bottom-line-dot{ position: relative;} +.top-line:before,.top-line-dot:before{content: " "; position: absolute; left: 0; top: 0; right: 0; width: 100%; height: 1px;} +.bottom-line:after,.bottom-line-dot:before{content: " "; position: absolute; left: 0; bottom: 0; right: 0; width: 100%; height: 1px;} +.top-line:before{ border-top: 1px solid;} +.bottom-line:after{ border-bottom: 1px solid;} +.top-line-dot:before{ border-top: 1px dotted;} +.bottom-line-dot:before{ border-bottom: 1px dotted;} + +/* border */ +.border{ border: 1px solid;} +.border-2x{ border: 2px solid;} +.border-3x{ border: 3px solid;} +.border-4x{ border: 4px solid;} +.border-5x{ border: 5px solid;} + +/* badge */ +.badge{display: inline-block; margin-right: 10px; width: 18px; height: 18px; text-align: center; line-height: 18px; border-radius: 2px; font-size: 12px;} + +/* btn */ +.btn{display: inline-block; padding: 8px 30px; font-size: 12px;} +.btn.btn-xs{ padding: 4px 15px;} +.btn.btn-sm{ padding: 6px 20px;} +.btn.btn-md{ padding: 8px 25px;} +.btn.btn-lg{ padding: 12px 30px;} +.btn.btn-block{ display: block; width: 100%; padding-left: 5px; padding-right: 5px; text-align: center; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap;} +.btn.disabled{cursor: not-allowed;} + +/* nav */ +.nav{ position: relative;} +.nav > li{ float: left;} +.nav > li.active > a{ border-bottom: 2px solid;} +.nav-head > li,.nav-tabs > li{ margin-top: 10px; margin-left: 30px;} +.nav-head > li > a{ padding-bottom: 8px; font-size: 16px;} +.nav-tabs > li > a{ padding-bottom: 10px;} +.nav-tabs > li .dropdown-box{ margin-left: -50px; padding-top: 0;} +.nav-tabs > li .dropdown-box .item{ width: 100px; text-align: center;} +.nav-tabs > li .dropdown-box .item li{ padding: 5px;} +.nav-tag > li{ margin-left: 10px;} +.nav-tag > li > a{ display: inline-block; padding:0 10px; height: 25px; line-height: 23px; font-size: 14px; border-radius: 20px;} +.nav-text > li{line-height: 30px;} +.nav-text > li.active > a{ color: #f80;} +.nav-page{ margin-left: 10px;} +.nav-page > li{ margin-left: 5px;} +.nav-page > li > a{ display: inline-block; font-size: 14px; padding: 0 6px; height: 25px; line-height: 23px;} +.nav-page > li:first-child{ margin-left: 0;} +.nav-page > li:first-child > a{ border-radius: 4px 0 0 4px;} +.nav-page > li:last-child > a{ border-radius: 0 4px 4px 0;} + +/* pic-tag */ +.pic-tag{ position: absolute; z-index: 99; padding:2px 5px; font-size: 12px; border-radius: 2px;} +.pic-tag-top{top: 5px; left: 5px;} +.pic-tag-left{bottom: 5px; left: 5px;} +.pic-tag-bottom{bottom: 5px; right: 5px;} +.pic-tag-right{top: 5px; right: 5px;} +.pic-tag-h{left: 0; top: 0; padding:2px 8px; border-radius: 0 0 8px 0;} +.pic-tag-lg{ padding: 4px 10px;} +.pic-text{display: block; width: 100%; position: absolute; z-index: 99; bottom: 0; left: 0; padding:5px 10px; font-size: 12px; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap;} +.pic-text-silde{ padding-bottom: 20px; font-size: 14px;} +.pic-text-lg{ padding: 8px 20px; font-size: 14px;} +.pic-title-top{display: block; width: 100%; position: absolute; top: 0; left: 0; padding:5px 10px 10px; font-size: 12px; word-break:break-all; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;} +.pic-title-bottom{display: block; width: 100%; position: absolute; bottom: 0; left: 0; padding:5px 10px; font-size: 12px; word-break:break-all; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;} + +/* qrcode */ +.qrcode-box{ display: inline-block; position: relative; margin-bottom: 10px;} +.qrcode-box .icon{ position: absolute; top: 50%; left: 50%; margin-top: -12.5px; margin-left: -12.5px; border-radius: 2px; background-color: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.1);} + +/* dropdown */ +.dropdown{ position: relative;} +.dropdown-box{ display: none; position: absolute; z-index: 99;} +.dropdown-box.top{ bottom: 100%; padding-bottom: 10px; left: 50%; margin-left: -80px;} +.dropdown-box.bottom{ top: 100%; padding-top: 10px; left: 50%; margin-left: -80px;} +.dropdown-box.left{ left: 100%; padding-left: 10px; bottom: 0;} +.dropdown-box.right{ right: 100%; padding-right: 10px; bottom: 0;} +.dropdown-box .item{ padding: 10px; width: 160px; border-radius: 2px;} +.dropdown-hover{ position: relative;} +.dropdown-hover:hover .dropdown-box{ display: block;} +.open>.dropdown-box{display: block;} + +/* layout */ +.myui-layout{ position: relative;} + +/* panel */ +.myui-panel{position: relative;} +.myui-panel-box.active{ padding: 0;} + +/* panel-head */ +.myui-panel__head{ position: relative; height: 30px;} +.myui-panel__head .title{ float: left; display: inline-block; margin:0; padding-right: 10px; line-height: 30px;} +.myui-panel__head .title img{ display: inline-block; width: 24px; height: 24px; margin-right: 10px; vertical-align: -5px;} +.myui-panel__head .title, .myui-panel__head .title a{ font-size: 24px;} +.myui-panel__head .more{ line-height: 30px;} +.myui-panel__head .operate{ position: relative; padding-bottom: 5px;} +.myui-panel__head .operate.open .dropdown-menu{ display: block;} +.myui-panel__head.active{ height: 42px;} + +/* vod-list */ +.myui-vodlist__thumb{ display: block; position: relative; background-position: 50% 50% !important; background-size: cover !important; overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,.1);} +.myui-vodlist__thumb.picture { background: none; overflow: hidden;} +.myui-vodlist__thumb.picture img{ position: absolute; top: 0; left: 0; width: 100%; height: 100%;} +.myui-vodlist__thumb .play{ opacity: 0; position: absolute; top: 0; z-index: 1; width: 100%; height: 100%; background: rgba(0,0,0,0.2) url(../img/play6654.png?v1) center no-repeat; background-color: rgba(0,0,0,.2); -webkit-transition: all ease-out .35s; transition: all ease-out .35s;} +.myui-vodlist__thumb .play-v{ opacity: 0; position: absolute; top: 0; z-index: 1; width: 100%; height: 100%; background-color: rgba(0,0,0,.2); -webkit-transition: all ease-out .35s; transition: all ease-out .35s;} +.myui-vodlist__thumb .play.active{ opacity: 1;} +.myui-vodlist__thumb:hover .play,.myui-vodlist__thumb:hover .play-v{ opacity: 1;} +.myui-vodlist__detail.active{ padding: 0 10px 10px;} +.myui-vodlist__detail .title{ margin: 10px 0 0; font-size: 15px; font-weight: 700;} +.myui-vodlist__detail .title.active{ font-size: 16px; margin-bottom: 10px;} +.myui-vodlist__detail .text{ min-height: 19px; font-size: 12px; margin-bottom: 0; margin-top: 5px;} +.myui-vodlist__detail .text-title{ font-size: 14px; line-height: 18px; margin:11px 0 0; height: 36px; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;} + +/* text-list */ +.myui-vodlist__text li a{ display: block;} +.myui-vodlist__text.active li a{ padding: 0 0 15px;} +.myui-vodlist__text.active li:first-child a{ padding-top: 0;} +.myui-vodlist__text.striped li{ padding: 10px 0 10px;} +.myui-vodlist__text.striped li a{ display: inline-block; padding: 0;} +.myui-vodlist__text.striped .striped-head{ padding: 10px; border-radius: 5px;} +.myui-vodlist__text .striped-head{ font-weight: 700;} +.myui-vodlist__text.to-color li{ padding: 10px; border-radius: 5px;} +.myui-vodlist__text.to-color li a{ padding: 0;} +.myui-vodlist__text.downlist{ padding-top: 0;} +.myui-vodlist__text.downlist li{ padding: 10px 0;} +.myui-vodlist__text.downlist li .text{ line-height: 30px; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap;} +.myui-vodlist__text.downlist li a{ display: inline-block; padding: 0;} +.myui-vodlist__text.downlist li a.btn{ padding: 4px 12px; margin-left: 10px;} + +/* media-list */ +.myui-vodlist__media li:first-child{ padding-top: 0;} +.myui-vodlist__media li:last-child{ padding-bottom: 0;} +.myui-vodlist__media .thumb,.myui-vodlist__media .detail{display: table-cell; vertical-align: top;} +.myui-vodlist__media .detail{ width: 100%; padding: 0 0 0 20px;} +.myui-vodlist__media .detail .desc{ height: 40px;} +.myui-vodlist__media .detail-side{ padding:0 10px 0;} +.myui-vodlist__media .detail-left{ padding: 0 20px 0 0;} +.myui-vodlist__media .detail h4.title{ margin: 10px 0 10px; font-size: 18px; line-height: 25px;} +.myui-vodlist__media .detail h5.title{ font-size: 15px; height: 38px; line-height: 20px;} + +/* screen-list */ +.myui-vodlist__screen { padding:10px 0 5px;} +.myui-vodlist__screen:first-child{ padding-top: 0;} +.myui-vodlist__screen:last-child{ padding-bottom: 0;} +.myui-vodlist__screen li{ float: left; width: 25%; margin-bottom: 5px;} + +/* rank-list */ +.myui-vodlist__rank li{ margin-bottom: 10px;} +.myui-vodlist__rank li:last-child{ margin-bottom: 0;} + +/* link-list */ +.myui-link__text li{ float: left; margin-right: 15px; margin-bottom: 10px;} + +/* play-list */ +.myui-content__list{ position: relative;} +.myui-content__list li{ float: left; padding: 10px;} +.myui-content__list li a{ display: block; padding: 8px; text-align: center; width:100%; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap;} +.myui-play__list li{ float: left;} +.myui-play__list li a{ display: block; padding: 8px 0; text-align: center;} + +/* article */ +.myui-article__title{ margin: 0 0 10px; font-size: 24px; line-height: 30px; font-weight: 700;} +.myui-article__sub{ margin-bottom: 10px; padding-bottom: 10px;} +.myui-article__content{ line-height: 30px; font-size: 16px;} +.myui-article__content img{ display: block; max-width: 100%;} + +/* screen */ +.myui-screen__list{ position:relative;} +.myui-screen__list li{ float:left;} +.myui-screen__list li a.btn{ padding: 5px 12px; font-size: 14px;} + +/* table */ +.myui-table{ position: relative; width: 100%; max-width: 100%; border-spacing: 0; border-collapse: collapse;} +.myui-table>thead>tr>th { vertical-align: bottom; border-bottom: 2px solid;} +.myui-table>tbody>tr>td, .myui-table>tbody>tr>th, .myui-table>tfoot>tr>td, .myui-table>tfoot>tr>th, .myui-table>thead>tr>td, .myui-table>thead>tr>th { padding: 8px; line-height: 25px; vertical-align: top; border-bottom: 1px solid;} + +/* message */ +.styu-message__list{ position: relative; padding: 20px 0;} +.styu-message__list .avatar{ float: left; width: 60px;} +.styu-message__list .data{ margin-left: 60px;} +.styu-message__list .data .name{ margin: 0; font-size: 16px;} +.styu-message__list .data .content{ padding: 5px 0; line-height: 20px; word-wrap: break-word; white-space: normal;} +.styu-message__list .data .admin,.styu-message__list .data .content{ margin: 0; font-size: 14px;} +.styu-message__list.child{ margin-top: 20px; padding-bottom: 0;} + +/* page */ +.myui-page{ margin-bottom:30px} +.myui-page li{ display:inline-block; margin-left:10px} +.myui-page li .num,.myui-page li a{ padding:5px 15px;} + +/* extra */ +.myui-extra{position:fixed;right:50px;bottom:50px} +.myui-extra li{position:relative;padding:15px 10px 0} +.myui-extra li a{display:block;width:50px;height:50px;line-height:50px;text-align:center;border-radius:4px;font-size:18px;cursor:pointer;} + +/* flickity */ +.flickity{ position: relative; white-space: nowrap;overflow:hidden;} +.flickity [class^="col-"]{ float: none !important; display: inline-block !important;} +.flickity.dots{ padding-bottom: 20px;} +.flickity-enabled{ position:relative;} +.flickity-enabled:focus{ outline:0} +.flickity-viewport{ position:relative; overflow:hidden; height:100%} +.flickity-slider{ position:absolute; width:100%; height:100%} +.flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing} +.flickity-prev-next-button{ opacity: 0; position:absolute; top:50%; width: 25px; height: 50px; border:none; background-color: rgba(0,0,0,.6); cursor:pointer; -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); -webkit-transition: all ease-out .35s; transition: all ease-out .35s;} +.flickity-prev-next-button.previous{ left: 0; border-radius: 0 6px 6px 0} +.flickity-prev-next-button.next{ right: 0; border-radius: 6px 0 0 6px} +.flickity-prev-next-button:disabled{ opacity:0; cursor:auto} +.flickity-prev-next-button svg{ position:absolute; left:20%; top:20%; width:60%; height:60%;} +.flickity-prev-next-button .arrow{ fill:#fff} +.flickity-prev-next-button.no-svg{ color:#fff; font-size:18px} +.flickity-page-dots{ position: relative; text-align:center;} +.flickity-page-dots .dot{ display:inline-block; width:15px; height:3px; margin:0 5px; opacity:.25; cursor:pointer} +.flickity-page-dots .dot.is-selected{ opacity:1} +.flickity:hover .flickity-prev-next-button{ opacity: 1;} +.flickity.active .flickity-prev-next-button{ margin-top: -25px;} +.flickity.center .flickity-prev-next-button.previous{ left: 0;} +.flickity.center .flickity-prev-next-button.next{ right: 0;} + +/* slide */ +.carousel{ position: relative;} +.carousel-control{ position: absolute; z-index: 99; top: 0; bottom: 0; display: block; width: 50px; height: 100%;} +.carousel-control.left{ left: 30px;} +.carousel-control.right{ right: 30px; } +.carousel-control .fa{ position: absolute; top: 50%; margin-top: -25px; display: block; width: 50px; height: 50px; text-align: center; font-size: 30px; line-height: 50px; background-color: rgba(0,0,0,0.6); color: #fff; border-radius: 50%; opacity: 0.5;} +.carousel-control:hover .fa{ opacity: 1;} +.carousel-indicators{ position: absolute; z-index: 101;} +.carousel-indicators-dots{ width: 100%; bottom: 20px; left: 0; text-align: center;} +.carousel-indicators-dots li{ display: inline-block; margin: 0 5px; width:15px; height:3px; opacity:.25; cursor:pointer} +.carousel-indicators-dots li.active{ opacity:1;} +.carousel-indicators-text{ z-index: 2; top: 0; bottom: 0; right: 150px; width: 260px; padding: 50px 20px; background-color: rgba(32,32,32,.6);} +.carousel-indicators-text li{ padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.1); cursor: pointer;} +.carousel-indicators-text li:last-child{ border-bottom: 0;} +.carousel-indicators-text li .title{ margin: 0; color: #ccc;} +.carousel-indicators-text li .text{ margin: 0; font-size: 12px; color: #999;} +.carousel-indicators-thumb{ bottom: 20px; left: 0; width: 100%; text-align: center;} +.carousel-indicators-thumb li{ display: inline-block; margin: 0 2px; border: 3px solid rgba(255,255,255,.6); box-shadow: 0 2px 5px rgba(0,0,0,.1); border-radius: 2px; overflow: hidden;} + +/* popup */ +.popup{position: fixed; z-index: 1001; overflow-y: scroll; -webkit-overflow-scrolling: touch; -webkit-transition:.5s; -o-transition:.5s; -moz-transition:.5s; -ms-transition:.5s; transition:.5s;} +.popup.left{ left: -100%; top: 0;} +.popup.right{ right: -100%; top: 0;} +.popup.top{ top: -100%; left: 0;} +.popup.bottom{ bottom: -100%; right: 0;} +.popup-visible.left{ left: 0;} +.popup-visible.right{ right: 0;} +.popup-visible.top{ top: 0;} +.popup-visible.bottom{ bottom: 0;} +.popup-head{ position: relative; padding: 10px 20px;} +.popup-body{ position: relative; padding: 10px;} + +/* embed */ +.embed-responsive{position:relative;display:block;overflow:hidden;padding:0;height:0} +.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0} +.embed-responsive-16by9{padding-bottom:56.25%} +.embed-responsive-4by3{padding-bottom:75%} + +/* bootstrap*/ +.fade{opacity: 0;-webkit-transition: opacity .15s linear;-o-transition: opacity .15s linear;transition: opacity .15s linear;} +.fade.in{opacity: 1;} +.collapse{ display: none;} +.collapse.in{ display: block;} +.tab-content>.tab-pane,.carousel-inner>.item{ display: none;} +.tab-content>.tab-pane.active,.carousel-inner>.item.active{ display: block;} + +/* modal */ +.modal-open{ overflow: hidden;} +.modal-backdrop{position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1040; background-color: #000;} +.modal-backdrop.fade{ opacity: 0;} +.modal-backdrop.fade.in{ opacity: .5;} + +/* autocomplete */ +.autocomplete-suggestions{ position: absolute; top: 100%; width: 100%; z-index: 9999; padding: 10px; margin-top: 5px; border-radius:4px;} +.autocomplete-suggestion,.autocomplete-suggestions li{padding: 5px 0; cursor:pointer;} +.autocomplete-suggestion:first-child{border-top:0} + +/* mobile-share */ +.mobile-share{ position: fixed; z-index: 999; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; animation: fade-in; animation-duration: .5s; -webkit-animation:fade-in .5s;} +.share-weixin{ background: url(../img/share_weixin.html) rgba(0, 0, 0, .8) no-repeat; background-position: right top 10px; background-size: 80%;} +.share-other{ background: url(../img/share_other.png) rgba(0, 0, 0, .8) no-repeat; background-position: center bottom 10px; background-size: 80%;} + +/* taddar */ +.myui-nav__tabbar{ display: none;} + +/* more */ +.hidden{ overflow: hidden !important;} +.relative{ position: relative;} +.fixed{ position: fixed;} +.block{ display: block !important;} +.inline-block{ display: inline-block !important;} +.top-fixed-up{ margin-top: 0 !important;} +.top-fixed{ -webkit-transition:.5s; -o-transition:.5s; -moz-transition:.5s; -ms-transition:.5s; transition:.5s;} +.pull-left{ float: left !important;} +.pull-right{ float: right !important;} +.margin-0{ margin: 0 !important;} +.padding-0{ padding: 0 !important;} +.margin-t0{ margin: 0 !important;} +.padding-t0{ padding-top: 0 !important;} +.margin-b0{ margin-bottom: 0 !important;} +.padding-b0{ padding-top: 0 !important;} +.radius-0{ border-radius: 0 !important;} +.hide,.visible-lg, .visible-md, .visible-sm, .visible-xs, .visible-mi,.visible-inline-lg, .visible-inline-md, .visible-inline-sm, .visible-inline-xs, .visible-inline-mi{ display: none !important;} +.mask{ position: fixed; top: 0; left: 0; bottom: 0; z-index: 999; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); animation: fade-in; animation-duration: .5s; -webkit-animation:fade-in .5s;} +.fadeInDown{ -webkit-animation: fadeInDown .5s .2s ease both; -moz-animation: fadeInDown .5s .2s ease both;} +@keyframes fade-in {0% {opacity: 0;}40% {opacity: 0;}100% {opacity: 1;}} +@-webkit-keyframes fade-in { 0% {opacity: 0;} 40% {opacity: 0;}100% {opacity: 1;}} +@-webkit-keyframes fadeInDown{0%{opacity: 0; -webkit-transform: translateY(-10px);} 100%{opacity: 1; -webkit-transform: translateY(0);}} +@-moz-keyframes fadeInDown{0%{opacity: 0; -moz-transform: translateY(-10px);} 100%{opacity: 1; -moz-transform: translateY(0);}} + +/* media */ +.col-pd,.col-lg-1,.col-lg-10,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px}.col-xs-1,.col-xs-10,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-wide-1,.col-xs-wide-10,.col-xs-wide-15,.col-xs-wide-2,.col-xs-wide-25,.col-xs-wide-3,.col-xs-wide-35,.col-xs-wide-4,.col-xs-wide-45,.col-xs-wide-5,.col-xs-wide-55,.col-xs-wide-6,.col-xs-wide-65,.col-xs-wide-7,.col-xs-wide-75,.col-xs-wide-8,.col-xs-wide-85,.col-xs-wide-9,.col-xs-wide-95{float:left}.col-xs-10{width:10%}.col-xs-9{width:11.1111111%}.col-xs-8{width:12.5%}.col-xs-7{width:14.2857143%}.col-xs-6{width:16.6666667%}.col-xs-5{width:20%}.col-xs-4{width:25%}.col-xs-3{width:33.3333333%}.col-xs-2{width:50%}.col-xs-1{width:100%}.col-xs-wide-10{width:10%}.col-xs-wide-9{width:90%}.col-xs-wide-8{width:80%}.col-xs-wide-7{width:70%}.col-xs-wide-6{width:60%}.col-xs-wide-5{width:50%}.col-xs-wide-4{width:40%}.col-xs-wide-3{width:30%}.col-xs-wide-2{width:20%}.col-xs-wide-15{width:15%}.col-xs-wide-95{width:95%}.col-xs-wide-85{width:85%}.col-xs-wide-75{width:75%}.col-xs-wide-65{width:65%}.col-xs-wide-55{width:55%}.col-xs-wide-45{width:45%}.col-xs-wide-35{width:35%}.col-xs-wide-25{width:25%}.img-xs-300{ width: 300px;}.img-xs-220{ width: 220px;}.img-xs-190{ width: 190px;}.img-xs-160{ width: 160px;}.img-xs-150{ width: 150px;}.img-xs-140{ width: 140px;}.img-xs-130{ width: 130px;}.img-xs-120{ width: 120px;}.img-xs-110{ width: 110px;}.img-xs-100{ width: 100px;}.img-xs-90{ width: 90px;}.img-xs-80{ width: 80px;}.img-xs-70{ width: 70px;} + +@media (min-width: 768px){ + .col-sm-1,.col-sm-10,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-wide-1,.col-sm-wide-10,.col-sm-wide-15,.col-sm-wide-2,.col-sm-wide-25,.col-sm-wide-3,.col-sm-wide-35,.col-sm-wide-4,.col-sm-wide-45,.col-sm-wide-5,.col-sm-wide-55,.col-sm-wide-6,.col-sm-wide-65,.col-sm-wide-7,.col-sm-wide-75,.col-sm-wide-8,.col-sm-wide-85,.col-sm-wide-9,.col-sm-wide-95{float:left}.col-sm-10{width:10%}.col-sm-9{width:11.1111111%}.col-sm-8{width:12.5%}.col-sm-7{width:14.2857143%}.col-sm-6{width:16.6666667%}.col-sm-5{width:20%}.col-sm-4{width:25%}.col-sm-3{width:33.3333333%}.col-sm-2{width:50%}.col-sm-1{width:100%}.col-sm-wide-10{width:10%}.col-sm-wide-9{width:90%}.col-sm-wide-8{width:80%}.col-sm-wide-7{width:70%}.col-sm-wide-6{width:60%}.col-sm-wide-5{width:50%}.col-sm-wide-4{width:40%}.col-sm-wide-3{width:30%}.col-sm-wide-2{width:20%}.col-sm-wide-15{width:15%}.col-sm-wide-95{width:95%}.col-sm-wide-85{width:85%}.col-sm-wide-75{width:75%}.col-sm-wide-65{width:65%}.col-sm-wide-55{width:55%}.col-sm-wide-45{width:45%}.col-sm-wide-35{width:35%}.col-sm-wide-25{width:25%}.img-sm-300{ width: 300px;}.img-sm-220{ width: 220px;}.img-sm-190{ width: 190px;}.img-sm-160{ width: 160px;}.img-sm-150{ width: 150px;}.img-sm-140{ width: 140px;}.img-sm-130{ width: 130px;}.img-sm-120{ width: 120px;}.img-sm-110{ width: 110px;}.img-sm-100{ width: 100px;}.img-sm-90{ width: 90px;}.img-sm-80{ width: 80px;}.img-sm-70{ width: 70px;} +} + +@media (min-width: 1024px){ + .col-md-1,.col-md-10,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-wide-1,.col-md-wide-10,.col-md-wide-15,.col-md-wide-2,.col-md-wide-25,.col-md-wide-3,.col-md-wide-35,.col-md-wide-4,.col-md-wide-45,.col-md-wide-5,.col-md-wide-55,.col-md-wide-6,.col-md-wide-65,.col-md-wide-7,.col-md-wide-75,.col-md-wide-8,.col-md-wide-85,.col-md-wide-9,.col-md-wide-95{float:left}.col-md-10{width:10%}.col-md-9{width:11.1111111%}.col-md-8{width:12.5%}.col-md-7{width:14.2857143%}.col-md-6{width:16.6666667%}.col-md-5{width:20%}.col-md-4{width:25%}.col-md-3{width:33.3333333%}.col-md-2{width:50%}.col-md-1{width:100%}.col-md-wide-10{width:10%}.col-md-wide-9{width:90%}.col-md-wide-8{width:80%}.col-md-wide-7{width:70%}.col-md-wide-6{width:60%}.col-md-wide-5{width:50%}.col-md-wide-4{width:40%}.col-md-wide-3{width:30%}.col-md-wide-2{width:20%}.col-md-wide-15{width:15%}.col-md-wide-95{width:95%}.col-md-wide-85{width:85%}.col-md-wide-75{width:75%}.col-md-wide-65{width:65%}.col-md-wide-55{width:55%}.col-md-wide-45{width:45%}.col-md-wide-35{width:35%}.col-md-wide-25{width:25%}.img-md-300{ width: 300px;}.img-md-220{ width: 220px;}.img-md-190{ width: 190px;}.img-md-160{ width: 160px;}.img-md-150{ width: 150px;}.img-md-140{ width: 140px;}.img-md-130{ width: 130px;}.img-md-120{ width: 120px;}.img-md-110{ width: 110px;}.img-md-100{ width: 100px;}.img-md-90{ width: 90px;}.img-md-80{ width: 80px;}.img-md-70{ width: 70px;} +} + +@media (min-width: 1440px){ + .col-lg-1,.col-lg-10,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-wide-1,.col-lg-wide-10,.col-lg-wide-15,.col-lg-wide-2,.col-lg-wide-25,.col-lg-wide-3,.col-lg-wide-35,.col-lg-wide-4,.col-lg-wide-45,.col-lg-wide-5,.col-lg-wide-55,.col-lg-wide-6,.col-lg-wide-65,.col-lg-wide-7,.col-lg-wide-75,.col-lg-wide-8,.col-lg-wide-85,.col-lg-wide-9,.col-lg-wide-95{float:left}.col-lg-10{width:10%}.col-lg-9{width:11.1111111%}.col-lg-8{width:12.5%}.col-lg-7{width:14.2857143%}.col-lg-6{width:16.6666667%}.col-lg-5{width:20%}.col-lg-4{width:25%}.col-lg-3{width:33.3333333%}.col-lg-2{width:50%}.col-lg-1{width:100%}.col-lg-wide-10{width:10%}.col-lg-wide-9{width:90%}.col-lg-wide-8{width:80%}.col-lg-wide-7{width:70%}.col-lg-wide-6{width:60%}.col-lg-wide-5{width:50%}.col-lg-wide-4{width:40%}.col-lg-wide-3{width:30%}.col-lg-wide-2{width:20%}.col-lg-wide-15{width:15%}.col-lg-wide-95{width:95%}.col-lg-wide-85{width:85%}.col-lg-wide-75{width:75%}.col-lg-wide-65{width:65%}.col-lg-wide-55{width:55%}.col-lg-wide-45{width:45%}.col-lg-wide-35{width:35%}.col-lg-wide-25{width:25%}.img-lg-300{ width: 300px;}.img-lg-220{ width: 220px;}.img-lg-190{ width: 190px;}.img-lg-160{ width: 160px;}.img-lg-150{ width: 150px;}.img-lg-140{ width: 140px;}.img-lg-130{ width: 130px;}.img-lg-120{ width: 120px;}.img-lg-110{ width: 110px;}.img-lg-100{ width: 100px;}.img-lg-90{ width: 90px;}.img-lg-80{ width: 80px;}.img-lg-70{ width: 70px;} + +} +@media (min-width: 1600px){ + .visible-lg { display: block !important;} + .hidden-lg {display: none !important;} + .visible-inline-lg { display: inline-block !important;} + .visible-text-lg { visibility: visible !important;} + .hidden-text-lg {visibility: hidden !important;} +} + +@media (max-width: 1199px) and (min-width: 1023px){ + .visible-md { display: block !important;} + .hidden-md { display: none!important;} + .visible-inline-md { display: inline-block !important;} + .visible-text-md { visibility: visible !important;} + .hidden-text-md { visibility: hidden !important;} +} + +@media (max-width: 1023px) and (min-width: 767px){ + .visible-sm { display: block !important;} + .hidden-sm { display: none !important;} + .visible-inline-sm { display: inline-block !important;} + .visible-text-sm { visibility: visible !important;} + .hidden-text-sm { visibility: hidden !important;} +} + +@media (max-width: 1023px){ + + .dropdown-hover:hover .dropdown-box{ display: none;} + + /* panel-head */ + .myui-panel__head .more{ line-height: 35px;} + .myui-panel__head.active{ height: 35px;} + + /* nav */ + .nav-head > li, .nav-tabs > li{ margin-top: 8px; margin-left: 15px;} + .nav-tabs.active{ height: 35px; white-space:nowrap; overflow-y:hidden; overflow-x:scroll; -webkit-overflow-scrolling:touch} + .nav-tabs.active li{ float: none; display: inline-block;} + .nav-tabs > li .dropdown-box{ margin-left: -80px;} + + /* screen */ + .myui-screen__list{ white-space:nowrap; overflow-y: hidden;} + .myui-screen__list li{ float: none; display: inline-block; margin-bottom: 0;} + .myui-screen__list li a.btn{ font-size: 12px; white-space:nowrap} + + /* vod-list */ + .myui-vodlist__detail .title.active{ font-size: 14px; margin-bottom: 0;} + + /* play-list */ + .myui-content__playlist{ -webkit-overflow-scrolling : touch;} + + /* modal */ + .myui-modal__dialog{ width: 320px; margin: 50px auto;} + +@media (max-width: 767px){ + + .visible-xs { display: block !important;} + .hidden-xs {display: none!important;} + .visible-inline-xs { display: inline-block !important;} + .visible-text-xs { visibility: visible !important;} + .hidden-text-xs {visibility: hidden !important;} + + /* all */ + body{ font-size: 12px;} + + /* text */ + h1{ font-size:24px;} + h2{ font-size:20px;} + h3{ font-size:18px;} + h4{ font-size:16px;} + h5{ font-size:14px;} + h6{ font-size:12px;} + + /* btn */ + .btn{ padding: 8px 16px;} + .btn.btn-xs{ padding: 4px 8px;} + .btn.btn-sm{ padding: 6px 12px;} + .btn.btn-md{ padding: 8px 16px;} + .btn.btn-lg{ padding: 12px 24px;} + + /* tabbar */ + .myui-nav__tabbar{ position: fixed; bottom: 0; width: 100%; padding: 5px 0 0; z-index: 999; display: -webkit-box; display: -webkit-flex; display: flex; border-top: 1px solid;} + .myui-nav__tabbar .item{ display: block; text-align: center; -webkit-box-flex: 1; -webkit-flex: 1; flex: 1;} + .myui-nav__tabbar .item .icon{ display: block; text-align: center; font-size: 20px; line-height: 20px;} + .myui-nav__tabbar .item .icon-img{display: inline-block; margin-top: 5px; width: 24px; height: 24px;} + .myui-nav__tabbar .item .title{ margin: 5px 0;font-size: 12px;} + + /* line */ + .split-line{ height: 12px; margin-left: 5px; margin-right: 5px;} + .top-line:before,.top-line-dot:before{-webkit-transform-origin: 0 0;transform-origin: 0 0;-webkit-transform: scaleY(0.5);transform: scaleY(0.5);} + .bottom-line:after,.bottom-line-dot:before{ -webkit-transform-origin: 0 100%;transform-origin: 0 100%; -webkit-transform: scaleY(0.5);transform: scaleY(0.5);} + + /* panel-head */ + .myui-panel__head .title,.myui-panel__head .title a{font-size: 18px;} + + /* vod-list */ + .myui-vodlist__thumb .tag{ padding: 0 5px;} + .myui-vodlist__thumb .silde-title{ font-size: 12px;} + .myui-vodlist__detail .title,.myui-vodlist__detail .title.active{margin-bottom: 0; font-size: 12px;} + + /* media-list */ + .myui-vodlist__media li .detail.active{ padding-left: 0; padding-right: 10px;} + .myui-vodlist__media .detail h4.title{ margin-top: 0; font-size: 14px; line-height: 18px;} + + /* text-list */ + .myui-vodlist__text li a{ padding:10px 0;} + .myui-vodlist__text.downlist li{ padding: 5px 0 0;} + + /* article */ + .myui-article__title{ font-size: 18px;} + + /* page */ + .myui-page li{ float:left; width:20%; margin:0; padding:0 5px 0 5px} + .myui-page li a{ display:block; padding:5px 0; text-align:center} + + /* extra */ + .myui-extra li{padding:8px 0 0} + .myui-extra li a{width:35px;height:35px;line-height:35px;font-size:16px} + + /* flickity */ + .flickity-prev-next-button{ width: 20px; height: 40px;} + .flickity-prev-next-button.previous{ border-radius:0 5px 5px 0} + .flickity-prev-next-button.next{ border-radius:5px 0 0 5px} + + /* slide */ + .carousel-control{ width: 30px; height: 100%;} + .carousel-control .fa{ margin-top: -15px; display: block; width: 30px; height: 30px; font-size: 20px; line-height: 30px;} + .carousel-control.left{ left: 10px;} + .carousel-control.right{ right: 10px; } + + /* more */ + .m-margin-0{ margin: 0 !important;} + .m-padding-0{ padding: 0 !important;} + +} \ No newline at end of file diff --git a/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.eot b/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.eot differ diff --git a/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.svg b/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.svg new file mode 100644 index 0000000..edd9cd0 --- /dev/null +++ b/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.svg @@ -0,0 +1,719 @@ +This XML file does not appear to have any style information associated with it. The document tree is shown below. + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 By ,,, Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.ttf b/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.ttf new file mode 100644 index 0000000..35acda2 Binary files /dev/null and b/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.ttf differ diff --git a/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.woff b/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.woff new file mode 100644 index 0000000..400014a Binary files /dev/null and b/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.woff differ diff --git a/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.woff2 b/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.woff2 new file mode 100644 index 0000000..4d13fc6 Binary files /dev/null and b/resources/assets/template/statics/fonts/fontawesome-webfont3e6e.woff2 differ diff --git a/resources/assets/template/statics/fonts/fontawesome-webfontd41d.eot b/resources/assets/template/statics/fonts/fontawesome-webfontd41d.eot new file mode 100644 index 0000000..e9f60ca Binary files /dev/null and b/resources/assets/template/statics/fonts/fontawesome-webfontd41d.eot differ diff --git a/resources/assets/template/statics/img/play6654.png b/resources/assets/template/statics/img/play6654.png new file mode 100644 index 0000000..2a72324 Binary files /dev/null and b/resources/assets/template/statics/img/play6654.png differ diff --git a/resources/assets/template/statics/js/header.js b/resources/assets/template/statics/js/header.js new file mode 100644 index 0000000..66d5cea --- /dev/null +++ b/resources/assets/template/statics/js/header.js @@ -0,0 +1,51 @@ +$(document).ready(function () { + var psNavbar, + navbar = getElement("nav"), + navbarToggle = getElement("#navbar-toggle"); + (navbarLeft = getElement("#navbar-left")), + (floatingAction = getElement(".floating-action")); + + var onKeyTimeout, + navbarHasSub = getAllElements(".navbar-menu-has-sub"); + for (i = 0; i < navbarHasSub.length; i++) showSubMenu(navbarHasSub[i]); + + function showSubMenu(e) { + e.onclick = function () { + this.classList.toggle("activated"); + }; + } + + function getElement(e) { + return document.querySelector(e); + } + + function getAllElements(e) { + return document.querySelectorAll(e); + } + + function activeNavbarLeft() { + navbarLeft.classList.add("activated"), (navbar.style.zIndex = "8888"); + } + + $("#navbar-toggle").on("click", function () { + activeNavbarLeft(); + }); + + navbarLeft.querySelector(".navbar-close").onclick = function () { + navbarLeft.classList.remove("activated"), (navbar.style.zIndex = ""); + }; + + function closeNavbar(e) { + var t = 0, + n = e.target; + "ok" != n.className && + (navbarLeft.contains(n) || + navbarToggle.contains(n) || + (navbarLeft.classList.remove("activated"), t++), + t > 1 && (navbar.style.zIndex = "")); + } + + window.addEventListener("click", function (e) { + closeNavbar(e); + }); +}); diff --git a/resources/assets/template/statics/js/jquery-3.6.1.min.js b/resources/assets/template/statics/js/jquery-3.6.1.min.js new file mode 100644 index 0000000..2c69bc9 --- /dev/null +++ b/resources/assets/template/statics/js/jquery-3.6.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0r;r++)n[r].fn.apply(n[r].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),r=n[t],o=[];if(r&&e)for(var i=0,a=r.length;a>i;i++)r[i].fn!==e&&r[i].fn._!==e&&o.push(r[i]);return o.length?n[t]=o:delete n[t],this}},e.exports=r},{}],8:[function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{"default":t}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var i=function(){function t(t,e){for(var n=0;nthis.getScrollerHeight();return b||c},toleranceExceeded:function(a,b){return Math.abs(a-this.lastKnownScrollY)>=this.tolerance[b]},shouldUnpin:function(a,b){var c=a>this.lastKnownScrollY,d=a>=this.offset;return c&&d&&b},shouldPin:function(a,b){var c=athis.lastKnownScrollY?"down":"up",c=this.toleranceExceeded(a,b);this.isOutOfBounds(a)||(a<=this.offset?this.top():this.notTop(),a+this.getViewportHeight()>=this.getScrollerHeight()?this.bottom():this.notBottom(),this.shouldUnpin(a,c)?this.unpin():this.shouldPin(a,c)&&this.pin(),this.lastKnownScrollY=a)}},e.options={tolerance:{up:0,down:0},offset:0,scroller:window,classes:{pinned:"headroom--pinned",unpinned:"headroom--unpinned",top:"headroom--top",notTop:"headroom--not-top",bottom:"headroom--bottom",notBottom:"headroom--not-bottom",initial:"headroom"}},e.cutsTheMustard="undefined"!=typeof f&&f.rAF&&f.bind&&f.classList,e}); +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?a(require("jquery")):a(jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+86400000*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}}); +if("undefined"==typeof jQuery){throw new Error("Bootstrap's JavaScript requires jQuery")}+function(a){var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3){throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}}(jQuery),+function(a){function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b){if(void 0!==a.style[c]){return{end:b[c]}}}return !1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this)){return b.handleObj.handler.apply(this,arguments)}}})})}(jQuery),+function(a){function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this +},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else{this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")}};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide; +e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart" in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5000,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap){return b}var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0)){return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))}},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding){return this.slide("next") +}},c.prototype.prev=function(){if(!this.sliding){return this.slide("prev")}},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active")){return this.sliding=!1}var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b); +!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition){return h.call(this)}var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1; +var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open"); +if(c(),!g){"ontouchstart" in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented()){return}e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return !1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which){return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click")}var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""}) +},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0] instanceof document.constructor&&!this.options.selector){throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!") +}for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g){this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this))}else{if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void (c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void (c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState){if(this.inState[a]){return !0}}return !1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue()){return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void (c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide() +},c.options.delay.hide)):c.hide()}},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d){return}var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do{a+=~~(1000000*Math.random())}while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length)){throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!")}return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip){throw new Error("Popover requires tooltip.js")}c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS +},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0] +}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d){return g!=(a=f[f.length-1])&&this.activate(a)}if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed){return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset){return this.pinnedOffset +}this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented()){return}this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); +var QRCode;!function(){function a(a){this.mode=c.MODE_8BIT_BYTE,this.data=a,this.parsedData=[];for(var b=[],d=0,e=this.data.length;e>d;d++){var f=this.data.charCodeAt(d);f>65536?(b[0]=240|(1835008&f)>>>18,b[1]=128|(258048&f)>>>12,b[2]=128|(4032&f)>>>6,b[3]=128|63&f):f>2048?(b[0]=224|(61440&f)>>>12,b[1]=128|(4032&f)>>>6,b[2]=128|63&f):f>128?(b[0]=192|(1984&f)>>>6,b[1]=128|63&f):b[0]=f,this.parsedData=this.parsedData.concat(b)}this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function b(a,b){this.typeNumber=a,this.errorCorrectLevel=b,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}function i(a,b){if(void 0==a.length){throw new Error(a.length+"/"+b)}for(var c=0;c=f;f++){var h=0;switch(b){case d.L:h=l[f][0];break;case d.M:h=l[f][1];break;case d.Q:h=l[f][2];break;case d.H:h=l[f][3]}if(h>=e){break}c++}if(c>l.length){throw new Error("Too long data")}return c}function s(a){var b=encodeURI(a).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return b.length+(b.length!=a?3:0)}a.prototype={getLength:function(){return this.parsedData.length},write:function(a){for(var b=0,c=this.parsedData.length;c>b;b++){a.put(this.parsedData[b],8)}}},b.prototype={addData:function(b){var c=new a(b);this.dataList.push(c),this.dataCache=null},isDark:function(a,b){if(0>a||this.moduleCount<=a||0>b||this.moduleCount<=b){throw new Error(a+","+b)}return this.modules[a][b]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern()) +},makeImpl:function(a,c){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var d=0;d=7&&this.setupTypeNumber(a),null==this.dataCache&&(this.dataCache=b.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,c)},setupPositionProbePattern:function(a,b){for(var c=-1;7>=c;c++){if(!(-1>=a+c||this.moduleCount<=a+c)){for(var d=-1;7>=d;d++){-1>=b+d||this.moduleCount<=b+d||(this.modules[a+c][b+d]=c>=0&&6>=c&&(0==d||6==d)||d>=0&&6>=d&&(0==c||6==c)||c>=2&&4>=c&&d>=2&&4>=d?!0:!1)}}}},getBestMaskPattern:function(){for(var a=0,b=0,c=0;8>c;c++){this.makeImpl(!0,c);var d=f.getLostPoint(this);(0==c||a>d)&&(a=d,b=c)}return b},createMovieClip:function(a,b,c){var d=a.createEmptyMovieClip(b,c),e=1;this.make();for(var f=0;f=g;g++){for(var h=-2;2>=h;h++){this.modules[d+g][e+h]=-2==g||2==g||-2==h||2==h||0==g&&0==h?!0:!1}}}}}},setupTypeNumber:function(a){for(var b=f.getBCHTypeNumber(this.typeNumber),c=0;18>c;c++){var d=!a&&1==(1&b>>c);this.modules[Math.floor(c/3)][c%3+this.moduleCount-8-3]=d +}for(var c=0;18>c;c++){var d=!a&&1==(1&b>>c);this.modules[c%3+this.moduleCount-8-3][Math.floor(c/3)]=d}},setupTypeInfo:function(a,b){for(var c=this.errorCorrectLevel<<3|b,d=f.getBCHTypeInfo(c),e=0;15>e;e++){var g=!a&&1==(1&d>>e);6>e?this.modules[e][8]=g:8>e?this.modules[e+1][8]=g:this.modules[this.moduleCount-15+e][8]=g}for(var e=0;15>e;e++){var g=!a&&1==(1&d>>e);8>e?this.modules[8][this.moduleCount-e-1]=g:9>e?this.modules[8][15-e-1+1]=g:this.modules[8][15-e-1]=g}this.modules[this.moduleCount-8][8]=!a},mapData:function(a,b){for(var c=-1,d=this.moduleCount-1,e=7,g=0,h=this.moduleCount-1;h>0;h-=2){for(6==h&&h--;;){for(var i=0;2>i;i++){if(null==this.modules[d][h-i]){var j=!1;g>>e));var k=f.getMask(b,d,h-i);k&&(j=!j),this.modules[d][h-i]=j,e--,-1==e&&(g++,e=7)}}if(d+=c,0>d||this.moduleCount<=d){d-=c,c=-c;break}}}}},b.PAD0=236,b.PAD1=17,b.createData=function(a,c,d){for(var e=j.getRSBlocks(a,c),g=new k,h=0;h8*l){throw new Error("code length overflow. ("+g.getLengthInBits()+">"+8*l+")")}for(g.getLengthInBits()+4<=8*l&&g.put(0,4);0!=g.getLengthInBits()%8;){g.putBit(!1)}for(;;){if(g.getLengthInBits()>=8*l){break}if(g.put(b.PAD0,8),g.getLengthInBits()>=8*l){break}g.put(b.PAD1,8)}return b.createBytes(g,e)},b.createBytes=function(a,b){for(var c=0,d=0,e=0,g=new Array(b.length),h=new Array(b.length),j=0;j=0?p.get(q):0}}for(var r=0,m=0;mm;m++){for(var j=0;jm;m++){for(var j=0;j=0;){b^=f.G15<=0;){b^=f.G18<>>=1}return b},getPatternPosition:function(a){return f.PATTERN_POSITION_TABLE[a-1]},getMask:function(a,b,c){switch(a){case e.PATTERN000:return 0==(b+c)%2;case e.PATTERN001:return 0==b%2;case e.PATTERN010:return 0==c%3;case e.PATTERN011:return 0==(b+c)%3;case e.PATTERN100:return 0==(Math.floor(b/2)+Math.floor(c/3))%2;case e.PATTERN101:return 0==b*c%2+b*c%3;case e.PATTERN110:return 0==(b*c%2+b*c%3)%2;case e.PATTERN111:return 0==(b*c%3+(b+c)%2)%2;default:throw new Error("bad maskPattern:"+a)}},getErrorCorrectPolynomial:function(a){for(var b=new i([1],0),c=0;a>c;c++){b=b.multiply(new i([1,g.gexp(c)],0))}return b},getLengthInBits:function(a,b){if(b>=1&&10>b){switch(a){case c.MODE_NUMBER:return 10; +case c.MODE_ALPHA_NUM:return 9;case c.MODE_8BIT_BYTE:return 8;case c.MODE_KANJI:return 8;default:throw new Error("mode:"+a)}}else{if(27>b){switch(a){case c.MODE_NUMBER:return 12;case c.MODE_ALPHA_NUM:return 11;case c.MODE_8BIT_BYTE:return 16;case c.MODE_KANJI:return 10;default:throw new Error("mode:"+a)}}else{if(!(41>b)){throw new Error("type:"+b)}switch(a){case c.MODE_NUMBER:return 14;case c.MODE_ALPHA_NUM:return 13;case c.MODE_8BIT_BYTE:return 16;case c.MODE_KANJI:return 12;default:throw new Error("mode:"+a)}}}},getLostPoint:function(a){for(var b=a.getModuleCount(),c=0,d=0;b>d;d++){for(var e=0;b>e;e++){for(var f=0,g=a.isDark(d,e),h=-1;1>=h;h++){if(!(0>d+h||d+h>=b)){for(var i=-1;1>=i;i++){0>e+i||e+i>=b||(0!=h||0!=i)&&g==a.isDark(d+h,e+i)&&f++}}}f>5&&(c+=3+f-5)}}for(var d=0;b-1>d;d++){for(var e=0;b-1>e;e++){var j=0;a.isDark(d,e)&&j++,a.isDark(d+1,e)&&j++,a.isDark(d,e+1)&&j++,a.isDark(d+1,e+1)&&j++,(0==j||4==j)&&(c+=3)}}for(var d=0;b>d;d++){for(var e=0;b-6>e;e++){a.isDark(d,e)&&!a.isDark(d,e+1)&&a.isDark(d,e+2)&&a.isDark(d,e+3)&&a.isDark(d,e+4)&&!a.isDark(d,e+5)&&a.isDark(d,e+6)&&(c+=40)}}for(var e=0;b>e;e++){for(var d=0;b-6>d;d++){a.isDark(d,e)&&!a.isDark(d+1,e)&&a.isDark(d+2,e)&&a.isDark(d+3,e)&&a.isDark(d+4,e)&&!a.isDark(d+5,e)&&a.isDark(d+6,e)&&(c+=40)}}for(var k=0,e=0;b>e;e++){for(var d=0;b>d;d++){a.isDark(d,e)&&k++}}var l=Math.abs(100*k/b/b-50)/5;return c+=10*l}},g={glog:function(a){if(1>a){throw new Error("glog("+a+")")}return g.LOG_TABLE[a]},gexp:function(a){for(;0>a;){a+=255}for(;a>=256;){a-=255}return g.EXP_TABLE[a]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},h=0;8>h;h++){g.EXP_TABLE[h]=1<h;h++){g.EXP_TABLE[h]=g.EXP_TABLE[h-4]^g.EXP_TABLE[h-5]^g.EXP_TABLE[h-6]^g.EXP_TABLE[h-8]}for(var h=0;255>h;h++){g.LOG_TABLE[g.EXP_TABLE[h]]=h}i.prototype={get:function(a){return this.num[a]},getLength:function(){return this.num.length},multiply:function(a){for(var b=new Array(this.getLength()+a.getLength()-1),c=0;cf;f++){for(var g=c[3*f+0],h=c[3*f+1],i=c[3*f+2],k=0;g>k;k++){e.push(new j(h,i))}}return e},j.getRsBlockTable=function(a,b){switch(b){case d.L:return j.RS_BLOCK_TABLE[4*(a-1)+0];case d.M:return j.RS_BLOCK_TABLE[4*(a-1)+1];case d.Q:return j.RS_BLOCK_TABLE[4*(a-1)+2];case d.H:return j.RS_BLOCK_TABLE[4*(a-1)+3];default:return void 0}},k.prototype={get:function(a){var b=Math.floor(a/8);return 1==(1&this.buffer[b]>>>7-a%8)},put:function(a,b){for(var c=0;b>c;c++){this.putBit(1==(1&a>>>b-c-1))}},getLengthInBits:function(){return this.length},putBit:function(a){var b=Math.floor(this.length/8);this.buffer.length<=b&&this.buffer.push(0),a&&(this.buffer[b]|=128>>>this.length%8),this.length++}};var l=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]],o=function(){var a=function(a,b){this._el=a,this._htOption=b};return a.prototype.draw=function(a){function g(a,b){var c=document.createElementNS("http://www.w3.org/2000/svg",a);for(var d in b){b.hasOwnProperty(d)&&c.setAttribute(d,b[d])}return c}var b=this._htOption,c=this._el,d=a.getModuleCount();Math.floor(b.width/d),Math.floor(b.height/d),this.clear();var h=g("svg",{viewBox:"0 0 "+String(d)+" "+String(d),width:"100%",height:"100%",fill:b.colorLight}); +h.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),c.appendChild(h),h.appendChild(g("rect",{fill:b.colorDark,width:"1",height:"1",id:"template"}));for(var i=0;d>i;i++){for(var j=0;d>j;j++){if(a.isDark(i,j)){var k=g("use",{x:String(i),y:String(j)});k.setAttributeNS("http://www.w3.org/1999/xlink","href","#template"),h.appendChild(k)}}}},a.prototype.clear=function(){for(;this._el.hasChildNodes();){this._el.removeChild(this._el.lastChild)}},a}(),p="svg"===document.documentElement.tagName.toLowerCase(),q=p?o:m()?function(){function a(){this._elImage.src=this._elCanvas.toDataURL("image/png"),this._elImage.style.display="inline-block",this._elCanvas.style.display="none"}function d(a,b){var c=this;if(c._fFail=b,c._fSuccess=a,null===c._bSupportDataURI){var d=document.createElement("img"),e=function(){c._bSupportDataURI=!1,c._fFail&&_fFail.call(c)},f=function(){c._bSupportDataURI=!0,c._fSuccess&&c._fSuccess.call(c)};return d.onabort=e,d.onerror=e,d.onload=f,d.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",void 0}c._bSupportDataURI===!0&&c._fSuccess?c._fSuccess.call(c):c._bSupportDataURI===!1&&c._fFail&&c._fFail.call(c)}if(this._android&&this._android<=2.1){var b=1/window.devicePixelRatio,c=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(a,d,e,f,g,h,i,j){if("nodeName" in a&&/img/i.test(a.nodeName)){for(var l=arguments.length-1;l>=1;l--){arguments[l]=arguments[l]*b}}else{"undefined"==typeof j&&(arguments[1]*=b,arguments[2]*=b,arguments[3]*=b,arguments[4]*=b)}c.apply(this,arguments)}}var e=function(a,b){this._bIsPainted=!1,this._android=n(),this._htOption=b,this._elCanvas=document.createElement("canvas"),this._elCanvas.width=b.width,this._elCanvas.height=b.height,a.appendChild(this._elCanvas),this._el=a,this._oContext=this._elCanvas.getContext("2d"),this._bIsPainted=!1,this._elImage=document.createElement("img"),this._elImage.style.display="none",this._el.appendChild(this._elImage),this._bSupportDataURI=null +};return e.prototype.draw=function(a){var b=this._elImage,c=this._oContext,d=this._htOption,e=a.getModuleCount(),f=d.width/e,g=d.height/e,h=Math.round(f),i=Math.round(g);b.style.display="none",this.clear();for(var j=0;e>j;j++){for(var k=0;e>k;k++){var l=a.isDark(j,k),m=k*f,n=j*g;c.strokeStyle=l?d.colorDark:d.colorLight,c.lineWidth=1,c.fillStyle=l?d.colorDark:d.colorLight,c.fillRect(m,n,f,g),c.strokeRect(Math.floor(m)+0.5,Math.floor(n)+0.5,h,i),c.strokeRect(Math.ceil(m)-0.5,Math.ceil(n)-0.5,h,i)}}this._bIsPainted=!0},e.prototype.makeImage=function(){this._bIsPainted&&d.call(this,a)},e.prototype.isPainted=function(){return this._bIsPainted},e.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},e.prototype.round=function(a){return a?Math.floor(1000*a)/1000:a},e}():function(){var a=function(a,b){this._el=a,this._htOption=b};return a.prototype.draw=function(a){for(var b=this._htOption,c=this._el,d=a.getModuleCount(),e=Math.floor(b.width/d),f=Math.floor(b.height/d),g=[''],h=0;d>h;h++){g.push("");for(var i=0;d>i;i++){g.push('')}g.push("")}g.push("
"),c.innerHTML=g.join("");var j=c.childNodes[0],k=(b.width-j.offsetWidth)/2,l=(b.height-j.offsetHeight)/2;k>0&&l>0&&(j.style.margin=l+"px "+k+"px")},a.prototype.clear=function(){this._el.innerHTML=""},a}();QRCode=function(a,b){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:d.H},"string"==typeof b&&(b={text:b}),b){for(var c in b){this._htOption[c]=b[c]}}"string"==typeof a&&(a=document.getElementById(a)),this._android=n(),this._el=a,this._oQRCode=null,this._oDrawing=new q(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)},QRCode.prototype.makeCode=function(a){this._oQRCode=new b(r(a,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(a),this._oQRCode.make(),this._el.title=a,this._oDrawing.draw(this._oQRCode),this.makeImage() +},QRCode.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},QRCode.prototype.clear=function(){this._oDrawing.clear()},QRCode.CorrectLevel=d}(); +!function(a,b,c,d){var e=a(b);a.fn.lazyload=function(f){function g(){var b=0;i.each(function(){var c=a(this);if(!j.skip_invisible||c.is(":visible")){if(a.abovethetop(this,j)||a.leftofbegin(this,j)){}else{if(a.belowthefold(this,j)||a.rightoffold(this,j)){if(++b>j.failure_limit){return !1}}else{c.trigger("appear"),b=0}}}})}var h,i=this,j={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:b,data_attribute:"original",skip_invisible:!0,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return f&&(d!==f.failurelimit&&(f.failure_limit=f.failurelimit,delete f.failurelimit),d!==f.effectspeed&&(f.effect_speed=f.effectspeed,delete f.effectspeed),a.extend(j,f)),h=j.container===d||j.container===b?e:a(j.container),0===j.event.indexOf("scroll")&&h.bind(j.event,function(){return g()}),this.each(function(){var b=this,c=a(b);b.loaded=!1,(c.attr("src")===d||c.attr("src")===!1)&&c.is("img")&&c.attr("src",j.placeholder),c.one("appear",function(){if(!this.loaded){if(j.appear){var d=i.length;j.appear.call(b,d,j)}a("").bind("load",function(){var d=c.attr("data-"+j.data_attribute);c.hide(),c.is("img")?c.attr("src",d):c.css("background-image","url('"+d+"')"),c[j.effect](j.effect_speed),b.loaded=!0;var e=a.grep(i,function(a){return !a.loaded});if(i=a(e),j.load){var f=i.length;j.load.call(b,f,j)}}).attr("src",c.attr("data-"+j.data_attribute))}}),0!==j.event.indexOf("scroll")&&c.bind(j.event,function(){b.loaded||c.trigger("appear")})}),e.bind("resize",function(){g()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&e.bind("pageshow",function(b){b.originalEvent&&b.originalEvent.persisted&&i.each(function(){a(this).trigger("appear")})}),a(c).ready(function(){g()}),this},a.belowthefold=function(c,f){var g;return g=f.container===d||f.container===b?(b.innerHeight?b.innerHeight:e.height())+e.scrollTop():a(f.container).offset().top+a(f.container).height(),g<=a(c).offset().top-f.threshold +},a.rightoffold=function(c,f){var g;return g=f.container===d||f.container===b?e.width()+e.scrollLeft():a(f.container).offset().left+a(f.container).width(),g<=a(c).offset().left-f.threshold},a.abovethetop=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollTop():a(f.container).offset().top,g>=a(c).offset().top+f.threshold+a(c).height()},a.leftofbegin=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollLeft():a(f.container).offset().left,g>=a(c).offset().left+f.threshold+a(c).width()},a.inviewport=function(b,c){return !(a.rightoffold(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.abovethetop(b,c))},a.extend(a.expr[":"],{"below-the-fold":function(b){return a.belowthefold(b,{threshold:0})},"above-the-top":function(b){return !a.belowthefold(b,{threshold:0})},"right-of-screen":function(b){return a.rightoffold(b,{threshold:0})},"left-of-screen":function(b){return !a.rightoffold(b,{threshold:0})},"in-viewport":function(b){return a.inviewport(b,{threshold:0})},"above-the-fold":function(b){return !a.belowthefold(b,{threshold:0})},"right-of-fold":function(b){return a.rightoffold(b,{threshold:0})},"left-of-fold":function(b){return !a.rightoffold(b,{threshold:0})}})}(jQuery,window,document); +!function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){function i(i,o,a){function h(t,e,n){var s,o="$()."+i+'("'+e+'")';return t.each(function(t,h){var l=a.data(h,i);if(!l){return void r(i+" not initialized. Cannot call methods, i.e. "+o)}var c=l[e];if(!c||"_"==e.charAt(0)){return void r(o+" is not a valid method")}var d=c.apply(l,n);s=void 0===s?d:s}),void 0!==s?s:t}function l(t,e){t.each(function(t,n){var s=a.data(n,i);s?(s.option(e),s._init()):(s=new o(n,e),a.data(n,i,s))})}a=a||e||t.jQuery,a&&(o.prototype.option||(o.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=s.call(arguments,1);return h(this,t,e)}return l(this,t),this},n(a))}function n(t){!t||t&&t.bridget||(t.bridget=i)}var s=Array.prototype.slice,o=t.console,r="undefined"==typeof o?function(){}:function(t){o.error(t)};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return n.indexOf(e)==-1&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return n!=-1&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t]; +if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],s=0;s