uploadcare-rails 0.4.2 → 0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +12 -3
- data/app/assets/javascripts/{uploadcare-0.6.9.2.js → uploadcare-0.8.js} +1918 -713
- data/app/assets/javascripts/uploadcare.js +1 -1
- data/lib/uploadcare/rails/active_record.rb +12 -15
- data/lib/uploadcare/rails/file.rb +24 -0
- data/lib/uploadcare/rails/settings.rb +1 -1
- data/lib/uploadcare/rails/version.rb +1 -1
- metadata +8 -7
data/README.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
[](http://travis-ci.org/uploadcare/uploadcare-rails)
|
2
2
|
|
3
|
+
**Warning!** This plugin is of alpha quality. Some things may not work or be unexpectedly slow.
|
4
|
+
You are welcome to try it with your projects and report any issues with the latest release.
|
5
|
+
|
3
6
|
# Installation
|
4
7
|
|
5
8
|
This is a Rails gem for using the [Uploadcare.com](https://uploadcare.com) service. To install it, add it in your Gemfile: `gem 'uploadcare-rails'`, then run:
|
@@ -16,7 +19,7 @@ The first thing is to configure stuff for Uploadcare. Create a file `config/init
|
|
16
19
|
Uploadcare::Rails::Engine.configure do
|
17
20
|
config.uploadcare.public_key = 'demopublickey'
|
18
21
|
config.uploadcare.private_key = 'demoprivatekey'
|
19
|
-
config.uploadcare.widget_version = '0.
|
22
|
+
config.uploadcare.widget_version = '0.8'
|
20
23
|
end
|
21
24
|
```
|
22
25
|
|
@@ -36,10 +39,10 @@ class Post < ActiveRecord::Base
|
|
36
39
|
end
|
37
40
|
```
|
38
41
|
|
39
|
-
To display nice widgets for file upload, include the script for desired widget version (here we use 0.
|
42
|
+
To display nice widgets for file upload, include the script for desired widget version (here we use 0.8) in your layout.
|
40
43
|
|
41
44
|
```erb
|
42
|
-
<%= uploadcare_include_tag version: '0.
|
45
|
+
<%= uploadcare_include_tag version: '0.8' %>
|
43
46
|
```
|
44
47
|
|
45
48
|
This will include the widget script from Uploadcare CDN via a tag, which is the preferred way to do it. If you omit the version argument (which is fine), the value from `config/initializers/uploadcare.rb` will be used.
|
@@ -66,3 +69,9 @@ Uploadcare-rails gem takes care of storing files when saving a model, so as soon
|
|
66
69
|
```erb
|
67
70
|
<%= image_tag @post.file.public_url("scale_crop/500x200", "effect/grayscale/") %>
|
68
71
|
```
|
72
|
+
|
73
|
+
[Other information](https://uploadcare.com/documentation/rest/#file) about the file is accessed through the `api` method that makes a single HTTP request to Uploadcare servers **for each file**. Use cautiously or cache the returned information somewhere.
|
74
|
+
|
75
|
+
```erb
|
76
|
+
File size: <%= @post.file.api.size %> byte(s)
|
77
|
+
```
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
|
-
* Uploadcare (0.
|
3
|
-
* Date: 2013-04-
|
4
|
-
* Rev:
|
2
|
+
* Uploadcare (0.8)
|
3
|
+
* Date: 2013-04-19 13:52:01 +0300
|
4
|
+
* Rev: 99aa9e7346
|
5
5
|
*/
|
6
6
|
;(function(uploadcare){(function() {
|
7
7
|
|
@@ -16698,16 +16698,6 @@ var _require = (function() {
|
|
16698
16698
|
|
16699
16699
|
|
16700
16700
|
|
16701
|
-
}).call(this);
|
16702
|
-
(function() {
|
16703
|
-
var __slice = [].slice;
|
16704
|
-
|
16705
|
-
uploadcare.debug = function() {
|
16706
|
-
var args;
|
16707
|
-
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
16708
|
-
return uploadcare.jQuery(uploadcare).trigger('log.uploadcare', [args]);
|
16709
|
-
};
|
16710
|
-
|
16711
16701
|
}).call(this);
|
16712
16702
|
(function() {
|
16713
16703
|
|
@@ -16723,9 +16713,6 @@ var _require = (function() {
|
|
16723
16713
|
|
16724
16714
|
}).call(this);
|
16725
16715
|
(function() {
|
16726
|
-
var debug;
|
16727
|
-
|
16728
|
-
debug = uploadcare.debug;
|
16729
16716
|
|
16730
16717
|
uploadcare.namespace('uploadcare.utils.pusher', function(ns) {
|
16731
16718
|
var hasOwners, pusherInstance, pusherWrapped, pushers, releasePusher, updateConnection;
|
@@ -16744,9 +16731,7 @@ var _require = (function() {
|
|
16744
16731
|
return pusherWrapped(key, owner);
|
16745
16732
|
};
|
16746
16733
|
releasePusher = function(key, owner) {
|
16747
|
-
debug('releasing', owner);
|
16748
16734
|
if (!pushers[key].owners[owner]) {
|
16749
|
-
debug('this pusher has already been released');
|
16750
16735
|
return;
|
16751
16736
|
}
|
16752
16737
|
pushers[key].owners[owner] = false;
|
@@ -16771,12 +16756,8 @@ var _require = (function() {
|
|
16771
16756
|
if (hasOwners(key)) {
|
16772
16757
|
return instance.connect();
|
16773
16758
|
} else {
|
16774
|
-
debug('disconnect timeout started', key);
|
16775
16759
|
return setTimeout((function() {
|
16776
|
-
if (hasOwners(key)) {
|
16777
|
-
return debug('not disconnecting in the end');
|
16778
|
-
} else {
|
16779
|
-
debug('actual disconnect', key);
|
16760
|
+
if (!hasOwners(key)) {
|
16780
16761
|
return instance.disconnect();
|
16781
16762
|
}
|
16782
16763
|
}), 5000);
|
@@ -16787,7 +16768,6 @@ var _require = (function() {
|
|
16787
16768
|
if (((_ref = pushers[key]) != null ? _ref.instance : void 0) != null) {
|
16788
16769
|
return pushers[key].instance;
|
16789
16770
|
}
|
16790
|
-
debug('new actual Pusher');
|
16791
16771
|
return pushers[key].instance = new Pusher(key);
|
16792
16772
|
};
|
16793
16773
|
return pusherWrapped = function(key, owner) {
|
@@ -16806,135 +16786,142 @@ var _require = (function() {
|
|
16806
16786
|
|
16807
16787
|
}).call(this);
|
16808
16788
|
(function() {
|
16809
|
-
var $,
|
16810
|
-
|
16811
|
-
|
16789
|
+
var $, namespace,
|
16790
|
+
__hasProp = {}.hasOwnProperty,
|
16791
|
+
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
|
16792
|
+
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
|
16793
|
+
__slice = [].slice;
|
16812
16794
|
|
16813
|
-
|
16795
|
+
namespace = uploadcare.namespace, $ = uploadcare.jQuery;
|
16814
16796
|
|
16815
|
-
|
16816
|
-
|
16817
|
-
ns.PubSub = (function() {
|
16797
|
+
namespace('uploadcare.utils', function(utils) {
|
16798
|
+
utils.Collection = (function() {
|
16818
16799
|
|
16819
|
-
function
|
16820
|
-
|
16821
|
-
|
16822
|
-
|
16823
|
-
|
16824
|
-
|
16825
|
-
|
16826
|
-
this.
|
16827
|
-
|
16800
|
+
function Collection(items) {
|
16801
|
+
var item, _i, _len;
|
16802
|
+
if (items == null) {
|
16803
|
+
items = [];
|
16804
|
+
}
|
16805
|
+
this.onAdd = $.Callbacks();
|
16806
|
+
this.onRemove = $.Callbacks();
|
16807
|
+
this.__items = [];
|
16808
|
+
for (_i = 0, _len = items.length; _i < _len; _i++) {
|
16809
|
+
item = items[_i];
|
16810
|
+
this.add(item);
|
16811
|
+
}
|
16828
16812
|
}
|
16829
16813
|
|
16830
|
-
|
16831
|
-
|
16832
|
-
this.
|
16833
|
-
this.pollw.watch();
|
16834
|
-
return $(this.pusherw).on('started', function() {
|
16835
|
-
return _this.pollw.stop();
|
16836
|
-
});
|
16814
|
+
Collection.prototype.add = function(item) {
|
16815
|
+
this.__items.push(item);
|
16816
|
+
return this.onAdd.fire(item);
|
16837
16817
|
};
|
16838
16818
|
|
16839
|
-
|
16840
|
-
this.
|
16841
|
-
|
16819
|
+
Collection.prototype.remove = function(item) {
|
16820
|
+
if (utils.remove(this.__items, item)) {
|
16821
|
+
return this.onRemove.fire(item);
|
16822
|
+
}
|
16842
16823
|
};
|
16843
16824
|
|
16844
|
-
|
16845
|
-
|
16846
|
-
|
16847
|
-
|
16825
|
+
Collection.prototype.clear = function() {
|
16826
|
+
var item, _i, _len, _ref, _results;
|
16827
|
+
_ref = this.get();
|
16828
|
+
_results = [];
|
16829
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
16830
|
+
item = _ref[_i];
|
16831
|
+
_results.push(this.remove(item));
|
16848
16832
|
}
|
16833
|
+
return _results;
|
16849
16834
|
};
|
16850
16835
|
|
16851
|
-
|
16852
|
-
|
16853
|
-
|
16836
|
+
Collection.prototype.get = function(index) {
|
16837
|
+
if (index != null) {
|
16838
|
+
return this.__items[index];
|
16839
|
+
} else {
|
16840
|
+
return this.__items.slice(0);
|
16841
|
+
}
|
16854
16842
|
};
|
16855
16843
|
|
16856
|
-
|
16844
|
+
Collection.prototype.length = function() {
|
16845
|
+
return this.__items.length;
|
16846
|
+
};
|
16857
16847
|
|
16858
|
-
|
16859
|
-
|
16848
|
+
Collection.prototype.readOnly = function() {
|
16849
|
+
return utils.bindAll(this, ['get', 'length', 'onAdd', 'onRemove']);
|
16850
|
+
};
|
16860
16851
|
|
16861
|
-
|
16862
|
-
this.ps = ps;
|
16863
|
-
this.pusher = pusher.getPusher(pusherKey, this.__channelName());
|
16864
|
-
}
|
16852
|
+
return Collection;
|
16865
16853
|
|
16866
|
-
|
16867
|
-
|
16868
|
-
};
|
16854
|
+
})();
|
16855
|
+
utils.UniqCollection = (function(_super) {
|
16869
16856
|
|
16870
|
-
|
16871
|
-
var onStarted,
|
16872
|
-
_this = this;
|
16873
|
-
this.channel = this.pusher.subscribe(this.__channelName());
|
16874
|
-
this.channel.bind('event', function(data) {
|
16875
|
-
return _this.ps.__update($.parseJSON(data));
|
16876
|
-
});
|
16877
|
-
onStarted = function() {
|
16878
|
-
debug('wow, listening with pusher');
|
16879
|
-
$(_this).trigger('started');
|
16880
|
-
return _this.channel.unbind('event', onStarted);
|
16881
|
-
};
|
16882
|
-
return this.channel.bind('event', onStarted);
|
16883
|
-
};
|
16857
|
+
__extends(UniqCollection, _super);
|
16884
16858
|
|
16885
|
-
|
16886
|
-
|
16887
|
-
|
16859
|
+
function UniqCollection() {
|
16860
|
+
return UniqCollection.__super__.constructor.apply(this, arguments);
|
16861
|
+
}
|
16862
|
+
|
16863
|
+
UniqCollection.prototype.add = function(item) {
|
16864
|
+
if (__indexOf.call(this.__items, item) >= 0) {
|
16865
|
+
return;
|
16888
16866
|
}
|
16889
|
-
return this
|
16867
|
+
return UniqCollection.__super__.add.apply(this, arguments);
|
16890
16868
|
};
|
16891
16869
|
|
16892
|
-
return
|
16870
|
+
return UniqCollection;
|
16893
16871
|
|
16894
|
-
})();
|
16895
|
-
return
|
16872
|
+
})(utils.Collection);
|
16873
|
+
return utils.CollectionOfPromises = (function(_super) {
|
16896
16874
|
|
16897
|
-
|
16898
|
-
this.ps = ps;
|
16899
|
-
}
|
16875
|
+
__extends(CollectionOfPromises, _super);
|
16900
16876
|
|
16901
|
-
|
16902
|
-
|
16903
|
-
|
16904
|
-
|
16905
|
-
|
16906
|
-
|
16877
|
+
function CollectionOfPromises() {
|
16878
|
+
this.onAnyDone = $.Callbacks();
|
16879
|
+
this.onAnyFail = $.Callbacks();
|
16880
|
+
this.onAnyProgress = $.Callbacks();
|
16881
|
+
this.onAnyProgress.add(function(item, firstArgument) {
|
16882
|
+
return $(item).data('lastProgress', firstArgument);
|
16883
|
+
});
|
16884
|
+
CollectionOfPromises.__super__.constructor.apply(this, arguments);
|
16885
|
+
}
|
16907
16886
|
|
16908
|
-
|
16909
|
-
|
16910
|
-
|
16887
|
+
CollectionOfPromises.prototype.lastProgresses = function() {
|
16888
|
+
var item, _i, _len, _ref, _results;
|
16889
|
+
_ref = this.__items;
|
16890
|
+
_results = [];
|
16891
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
16892
|
+
item = _ref[_i];
|
16893
|
+
_results.push($(item).data('lastProgress'));
|
16911
16894
|
}
|
16912
|
-
return
|
16895
|
+
return _results;
|
16913
16896
|
};
|
16914
16897
|
|
16915
|
-
|
16916
|
-
var
|
16898
|
+
CollectionOfPromises.prototype.add = function(item) {
|
16899
|
+
var handler,
|
16917
16900
|
_this = this;
|
16918
|
-
|
16919
|
-
|
16920
|
-
|
16921
|
-
|
16922
|
-
|
16923
|
-
|
16901
|
+
if (!(item && item.done && item.fail && item.then)) {
|
16902
|
+
return;
|
16903
|
+
}
|
16904
|
+
CollectionOfPromises.__super__.add.apply(this, arguments);
|
16905
|
+
handler = function(callbacks) {
|
16906
|
+
return function() {
|
16907
|
+
var args;
|
16908
|
+
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
16909
|
+
if (__indexOf.call(_this.__items, item) >= 0) {
|
16910
|
+
args.unshift(item);
|
16911
|
+
return callbacks.fire.apply(callbacks, args);
|
16912
|
+
}
|
16913
|
+
};
|
16924
16914
|
};
|
16925
|
-
return
|
16926
|
-
dataType: 'jsonp'
|
16927
|
-
}).fail(fail).done(function(data) {
|
16928
|
-
if (data.error) {
|
16929
|
-
return fail();
|
16930
|
-
}
|
16931
|
-
return _this.ps.__update(data);
|
16932
|
-
});
|
16915
|
+
return item.then(handler(this.onAnyDone), handler(this.onAnyFail), handler(this.onAnyProgress));
|
16933
16916
|
};
|
16934
16917
|
|
16935
|
-
|
16918
|
+
CollectionOfPromises.prototype.readOnly = function() {
|
16919
|
+
return $.extend(CollectionOfPromises.__super__.readOnly.call(this), utils.bindAll(this, ['onAnyDone', 'onAnyFail', 'onAnyProgress', 'lastProgresses']));
|
16920
|
+
};
|
16936
16921
|
|
16937
|
-
|
16922
|
+
return CollectionOfPromises;
|
16923
|
+
|
16924
|
+
})(utils.UniqCollection);
|
16938
16925
|
});
|
16939
16926
|
|
16940
16927
|
}).call(this);
|
@@ -16943,7 +16930,115 @@ var _require = (function() {
|
|
16943
16930
|
|
16944
16931
|
namespace = uploadcare.namespace, $ = uploadcare.jQuery;
|
16945
16932
|
|
16933
|
+
namespace('uploadcare.utils', function(utils) {
|
16934
|
+
return utils.squareImage = function(container, src, size, attempts) {
|
16935
|
+
var img;
|
16936
|
+
if (attempts == null) {
|
16937
|
+
attempts = 5;
|
16938
|
+
}
|
16939
|
+
container = $(container);
|
16940
|
+
if (size == null) {
|
16941
|
+
size = container.width();
|
16942
|
+
}
|
16943
|
+
container.css({
|
16944
|
+
position: 'relative',
|
16945
|
+
overflow: 'hidden'
|
16946
|
+
});
|
16947
|
+
img = new Image();
|
16948
|
+
img.src = src;
|
16949
|
+
$(img).hide().appendTo(container);
|
16950
|
+
return $(img).on({
|
16951
|
+
load: function() {
|
16952
|
+
if (this.width > this.height) {
|
16953
|
+
this.width = this.width * size / this.height;
|
16954
|
+
this.height = size;
|
16955
|
+
} else {
|
16956
|
+
this.height = this.height * size / this.width;
|
16957
|
+
this.width = size;
|
16958
|
+
}
|
16959
|
+
return $(this).css({
|
16960
|
+
top: Math.round((this.height - size) / -2),
|
16961
|
+
left: Math.round((this.width - size) / -2)
|
16962
|
+
}).fadeIn();
|
16963
|
+
},
|
16964
|
+
error: function() {
|
16965
|
+
var d;
|
16966
|
+
if (attempts-- > 0) {
|
16967
|
+
d = src.split('?')[1] ? '&' : '?';
|
16968
|
+
return this.src = "" + src + d + (new Date().getTime());
|
16969
|
+
}
|
16970
|
+
}
|
16971
|
+
});
|
16972
|
+
};
|
16973
|
+
});
|
16974
|
+
|
16975
|
+
}).call(this);
|
16976
|
+
(function() {
|
16977
|
+
var namespace;
|
16978
|
+
|
16979
|
+
namespace = uploadcare.namespace;
|
16980
|
+
|
16981
|
+
namespace('uploadcare.utils', function(ns) {
|
16982
|
+
var common, messages;
|
16983
|
+
ns.log = function(msg) {
|
16984
|
+
if (console && console.log) {
|
16985
|
+
return console.log(msg);
|
16986
|
+
}
|
16987
|
+
};
|
16988
|
+
ns.warn = function(msg) {
|
16989
|
+
if (console && console.warn) {
|
16990
|
+
return console.warn(msg);
|
16991
|
+
} else {
|
16992
|
+
return ns.log(msg);
|
16993
|
+
}
|
16994
|
+
};
|
16995
|
+
messages = {};
|
16996
|
+
ns.warnOnce = function(msg) {
|
16997
|
+
if (messages[msg] == null) {
|
16998
|
+
messages[msg] = true;
|
16999
|
+
return ns.warn(msg);
|
17000
|
+
}
|
17001
|
+
};
|
17002
|
+
common = {
|
17003
|
+
autostore: "You have enabled autostore in the widget, but not on the server.\nTo use autostore, make sure it's enabled in project settings.\n\nhttps://uploadcare.com/accounts/settings/",
|
17004
|
+
publicKey: "Global public key not set. Uploads may not work!\nAdd this to the <head> tag to set your key:\n\n<script>\nUPLOADCARE_PUBLIC_KEY = 'your_public_key';\n</script>"
|
17005
|
+
};
|
17006
|
+
return ns.commonWarning = function(name) {
|
17007
|
+
if (common[name] != null) {
|
17008
|
+
return ns.warnOnce(common[name]);
|
17009
|
+
}
|
17010
|
+
};
|
17011
|
+
});
|
17012
|
+
|
17013
|
+
}).call(this);
|
17014
|
+
(function() {
|
17015
|
+
var $, namespace,
|
17016
|
+
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
|
17017
|
+
|
17018
|
+
namespace = uploadcare.namespace, $ = uploadcare.jQuery;
|
17019
|
+
|
16946
17020
|
namespace('uploadcare.utils', function(ns) {
|
17021
|
+
var own;
|
17022
|
+
own = Object.prototype.hasOwnProperty;
|
17023
|
+
ns.own = function(o, prop) {
|
17024
|
+
return own.call(o, prop);
|
17025
|
+
};
|
17026
|
+
ns.uniq = function(arr, cond) {
|
17027
|
+
var item, result, _i, _len;
|
17028
|
+
if (cond == null) {
|
17029
|
+
cond = function() {
|
17030
|
+
return true;
|
17031
|
+
};
|
17032
|
+
}
|
17033
|
+
result = [];
|
17034
|
+
for (_i = 0, _len = arr.length; _i < _len; _i++) {
|
17035
|
+
item = arr[_i];
|
17036
|
+
if (cond(item) && __indexOf.call(result, item) < 0) {
|
17037
|
+
result.push(item);
|
17038
|
+
}
|
17039
|
+
}
|
17040
|
+
return result;
|
17041
|
+
};
|
16947
17042
|
ns.defer = function(fn) {
|
16948
17043
|
return setTimeout(fn, 0);
|
16949
17044
|
};
|
@@ -16959,6 +17054,33 @@ var _require = (function() {
|
|
16959
17054
|
return result;
|
16960
17055
|
};
|
16961
17056
|
};
|
17057
|
+
ns.wrapToPromise = function(value) {
|
17058
|
+
return $.Deferred().resolve(value).promise();
|
17059
|
+
};
|
17060
|
+
ns.remove = function(array, item) {
|
17061
|
+
var index;
|
17062
|
+
if ((index = array.indexOf(item)) !== -1) {
|
17063
|
+
array.splice(index, 1);
|
17064
|
+
return true;
|
17065
|
+
} else {
|
17066
|
+
return false;
|
17067
|
+
}
|
17068
|
+
};
|
17069
|
+
ns.then = function(pr, doneFilter, failFilter, progressFilter) {
|
17070
|
+
var compose, df;
|
17071
|
+
df = $.Deferred();
|
17072
|
+
compose = function(fn1, fn2) {
|
17073
|
+
if (fn1 && fn2) {
|
17074
|
+
return function() {
|
17075
|
+
return fn2.call(this, fn1.apply(this, arguments));
|
17076
|
+
};
|
17077
|
+
} else {
|
17078
|
+
return fn1 || fn2;
|
17079
|
+
}
|
17080
|
+
};
|
17081
|
+
pr.then(compose(doneFilter, df.resolve), compose(failFilter, df.reject), compose(progressFilter, df.notify));
|
17082
|
+
return df.promise();
|
17083
|
+
};
|
16962
17084
|
ns.bindAll = function(source, methods) {
|
16963
17085
|
var method, target, _fn, _i, _len;
|
16964
17086
|
target = {};
|
@@ -16981,6 +17103,9 @@ var _require = (function() {
|
|
16981
17103
|
}
|
16982
17104
|
return target;
|
16983
17105
|
};
|
17106
|
+
ns.upperCase = function(s) {
|
17107
|
+
return s.replace(/-/g, '_').toUpperCase();
|
17108
|
+
};
|
16984
17109
|
ns.publicCallbacks = function(callbacks) {
|
16985
17110
|
var result;
|
16986
17111
|
result = callbacks.add;
|
@@ -16997,6 +17122,7 @@ var _require = (function() {
|
|
16997
17122
|
});
|
16998
17123
|
};
|
16999
17124
|
ns.uuidRegex = /[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}/i;
|
17125
|
+
ns.groupIdRegex = new RegExp("" + ns.uuidRegex.source + "~[0-9]+", 'i');
|
17000
17126
|
ns.fullUuidRegex = new RegExp("^" + ns.uuidRegex.source + "$", 'i');
|
17001
17127
|
ns.cdnUrlModifiersRegex = /(?:-\/(?:[a-z0-9_,]+\/)+)+/i;
|
17002
17128
|
ns.normalizeUrl = function(url) {
|
@@ -17005,66 +17131,6 @@ var _require = (function() {
|
|
17005
17131
|
}
|
17006
17132
|
return url.replace(/\/+$/, '');
|
17007
17133
|
};
|
17008
|
-
ns.buildSettings = function(settings) {
|
17009
|
-
var crop, key, ratio, size, value, _i, _j, _len, _len1, _ref, _ref1;
|
17010
|
-
settings = $.extend({}, uploadcare.defaults, settings || {});
|
17011
|
-
if ($.type(settings.tabs) === "string") {
|
17012
|
-
settings.tabs = settings.tabs.split(' ');
|
17013
|
-
}
|
17014
|
-
settings.tabs = settings.tabs || [];
|
17015
|
-
_ref = ['urlBase', 'socialBase', 'cdnBase'];
|
17016
|
-
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
17017
|
-
key = _ref[_i];
|
17018
|
-
settings[key] = ns.normalizeUrl(settings[key]);
|
17019
|
-
}
|
17020
|
-
_ref1 = ['previewStep', 'multiple', 'imagesOnly', 'pathValue'];
|
17021
|
-
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
|
17022
|
-
key = _ref1[_j];
|
17023
|
-
if (typeof settings[key] === 'string') {
|
17024
|
-
value = $.trim(settings[key]).toLowerCase();
|
17025
|
-
settings[key] = !(value === 'false' || value === 'disabled');
|
17026
|
-
} else {
|
17027
|
-
settings[key] = !!settings[key];
|
17028
|
-
}
|
17029
|
-
}
|
17030
|
-
if (settings.multiple) {
|
17031
|
-
console.log('Sorry, the multiupload is not working now');
|
17032
|
-
settings.multiple = false;
|
17033
|
-
}
|
17034
|
-
if (settings.multiple) {
|
17035
|
-
settings.crop = 'disabled';
|
17036
|
-
}
|
17037
|
-
settings.__cropParsed = {
|
17038
|
-
enabled: true,
|
17039
|
-
scale: false,
|
17040
|
-
upscale: false,
|
17041
|
-
preferedSize: null
|
17042
|
-
};
|
17043
|
-
crop = '' + settings.crop;
|
17044
|
-
if (crop.match(/(disabled|false)/i)) {
|
17045
|
-
crop = 'disabled';
|
17046
|
-
settings.__cropParsed.enabled = false;
|
17047
|
-
} else if (ratio = crop.match(/[0-9]+\:[0-9]+/)) {
|
17048
|
-
crop = ratio[0];
|
17049
|
-
settings.__cropParsed.preferedSize = ratio[0].replace(':', 'x');
|
17050
|
-
} else if (size = crop.match(/[0-9]+x[0-9]+/i)) {
|
17051
|
-
settings.__cropParsed.preferedSize = size[0];
|
17052
|
-
settings.__cropParsed.scale = true;
|
17053
|
-
if (crop.match(/upscale/i)) {
|
17054
|
-
crop = size[0] + ' upscale';
|
17055
|
-
settings.__cropParsed.upscale = true;
|
17056
|
-
} else {
|
17057
|
-
crop = size[0];
|
17058
|
-
}
|
17059
|
-
} else {
|
17060
|
-
crop = '';
|
17061
|
-
}
|
17062
|
-
settings.crop = crop;
|
17063
|
-
if (settings.__cropParsed.enabled || settings.multiple) {
|
17064
|
-
settings.previewStep = true;
|
17065
|
-
}
|
17066
|
-
return settings;
|
17067
|
-
};
|
17068
17134
|
ns.fitText = function(text, max) {
|
17069
17135
|
var head, tail;
|
17070
17136
|
if (text.length > max) {
|
@@ -17079,7 +17145,7 @@ var _require = (function() {
|
|
17079
17145
|
var input;
|
17080
17146
|
container.find('input:file').remove();
|
17081
17147
|
input = multiple ? $('<input type="file" multiple>') : $('<input type="file">');
|
17082
|
-
input.
|
17148
|
+
input.css({
|
17083
17149
|
position: 'absolute',
|
17084
17150
|
top: 0,
|
17085
17151
|
opacity: 0,
|
@@ -17093,6 +17159,11 @@ var _require = (function() {
|
|
17093
17159
|
position: 'relative',
|
17094
17160
|
overflow: 'hidden'
|
17095
17161
|
}).append(input);
|
17162
|
+
input.on('change', function(e) {
|
17163
|
+
fn(e);
|
17164
|
+
input.remove();
|
17165
|
+
return ns.fileInput(container, multiple, fn);
|
17166
|
+
});
|
17096
17167
|
return container.mousemove(function(e) {
|
17097
17168
|
var left, top, width, _ref;
|
17098
17169
|
_ref = $(this).offset(), left = _ref.left, top = _ref.top;
|
@@ -17109,7 +17180,7 @@ var _require = (function() {
|
|
17109
17180
|
a.href = url;
|
17110
17181
|
return a;
|
17111
17182
|
};
|
17112
|
-
|
17183
|
+
ns.createObjectUrl = function(object) {
|
17113
17184
|
var URL;
|
17114
17185
|
URL = window.URL || window.webkitURL;
|
17115
17186
|
if (URL) {
|
@@ -17117,28 +17188,210 @@ var _require = (function() {
|
|
17117
17188
|
}
|
17118
17189
|
return null;
|
17119
17190
|
};
|
17191
|
+
ns.inDom = function(el) {
|
17192
|
+
if (el.jquery) {
|
17193
|
+
el = el.get(0);
|
17194
|
+
}
|
17195
|
+
return $.contains(document.documentElement, el);
|
17196
|
+
};
|
17197
|
+
ns.readableFileSize = function(value, onNaN, prefix, postfix) {
|
17198
|
+
var i, label, labels, _i, _len;
|
17199
|
+
if (onNaN == null) {
|
17200
|
+
onNaN = '';
|
17201
|
+
}
|
17202
|
+
if (prefix == null) {
|
17203
|
+
prefix = '';
|
17204
|
+
}
|
17205
|
+
if (postfix == null) {
|
17206
|
+
postfix = '';
|
17207
|
+
}
|
17208
|
+
value = parseInt(value, 10);
|
17209
|
+
if (isNaN(value)) {
|
17210
|
+
return onNaN;
|
17211
|
+
}
|
17212
|
+
labels = 'B KB MB GB TB PB EB ZB YB'.split(' ');
|
17213
|
+
for (i = _i = 0, _len = labels.length; _i < _len; i = ++_i) {
|
17214
|
+
label = labels[i];
|
17215
|
+
if (value < 512 || i === labels.length - 1) {
|
17216
|
+
return "" + prefix + value + " " + label + postfix;
|
17217
|
+
}
|
17218
|
+
value = Math.round(value / 1024);
|
17219
|
+
}
|
17220
|
+
};
|
17221
|
+
return ns.jsonp = function(url, data) {
|
17222
|
+
return $.ajax(url, {
|
17223
|
+
data: data,
|
17224
|
+
dataType: 'jsonp'
|
17225
|
+
}).then(function(data) {
|
17226
|
+
var text;
|
17227
|
+
if (data.error) {
|
17228
|
+
text = data.error.content || data.error;
|
17229
|
+
ns.warn("JSONP error: " + text);
|
17230
|
+
return $.Deferred().reject(text);
|
17231
|
+
} else {
|
17232
|
+
return data;
|
17233
|
+
}
|
17234
|
+
}, function(_, textStatus, errorThrown) {
|
17235
|
+
return "JSONP unexpected error: " + textStatus + " (" + errorThrown + ")";
|
17236
|
+
});
|
17237
|
+
};
|
17120
17238
|
});
|
17121
17239
|
|
17122
17240
|
}).call(this);
|
17123
17241
|
(function() {
|
17242
|
+
var $, expose, namespace, utils,
|
17243
|
+
__hasProp = {}.hasOwnProperty,
|
17244
|
+
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
|
17124
17245
|
|
17125
|
-
uploadcare.
|
17126
|
-
|
17127
|
-
|
17128
|
-
|
17129
|
-
|
17130
|
-
|
17131
|
-
|
17132
|
-
|
17133
|
-
|
17134
|
-
|
17135
|
-
|
17136
|
-
|
17137
|
-
|
17138
|
-
|
17139
|
-
|
17140
|
-
|
17141
|
-
|
17246
|
+
expose = uploadcare.expose, namespace = uploadcare.namespace, utils = uploadcare.utils, $ = uploadcare.jQuery;
|
17247
|
+
|
17248
|
+
namespace('uploadcare.settings', function(ns) {
|
17249
|
+
var arrayOptions, defaults, flagOptions, key, normalize, presets, publicDefaults, str2arr, urlOptions, value;
|
17250
|
+
defaults = {
|
17251
|
+
'autostore': false,
|
17252
|
+
'cdn-base': 'https://ucarecdn.com',
|
17253
|
+
'crop': 'disabled',
|
17254
|
+
'images-only': false,
|
17255
|
+
'live': true,
|
17256
|
+
'locale': null,
|
17257
|
+
'locale-pluralize': null,
|
17258
|
+
'locale-translations': null,
|
17259
|
+
'manual-start': false,
|
17260
|
+
'multiple': false,
|
17261
|
+
'path-value': false,
|
17262
|
+
'preview-step': false,
|
17263
|
+
'public-key': null,
|
17264
|
+
'pusher-key': '79ae88bd931ea68464d9',
|
17265
|
+
'social-base': 'https://social.uploadcare.com',
|
17266
|
+
'tabs': 'file url facebook gdrive instagram',
|
17267
|
+
'url-base': 'https://upload.uploadcare.com'
|
17268
|
+
};
|
17269
|
+
presets = {
|
17270
|
+
'tabs': {
|
17271
|
+
all: 'file url facebook dropbox gdrive instagram',
|
17272
|
+
"default": defaults.tabs
|
17273
|
+
}
|
17274
|
+
};
|
17275
|
+
str2arr = function(value) {
|
17276
|
+
if (!$.isArray(value)) {
|
17277
|
+
value = $.trim(value);
|
17278
|
+
value = value ? value.split(' ') : [];
|
17279
|
+
}
|
17280
|
+
return value;
|
17281
|
+
};
|
17282
|
+
arrayOptions = function(settings, keys) {
|
17283
|
+
var key, name, preset, presetList, value, _i, _len;
|
17284
|
+
for (_i = 0, _len = keys.length; _i < _len; _i++) {
|
17285
|
+
key = keys[_i];
|
17286
|
+
value = str2arr(settings[key]);
|
17287
|
+
presetList = presets[key];
|
17288
|
+
for (name in presetList) {
|
17289
|
+
if (!__hasProp.call(presetList, name)) continue;
|
17290
|
+
preset = presetList[name];
|
17291
|
+
if (__indexOf.call(value, name) >= 0) {
|
17292
|
+
value = value.concat(str2arr(preset));
|
17293
|
+
}
|
17294
|
+
}
|
17295
|
+
settings[key] = utils.uniq(value, function(x) {
|
17296
|
+
return !utils.own(presetList, x);
|
17297
|
+
});
|
17298
|
+
}
|
17299
|
+
return settings;
|
17300
|
+
};
|
17301
|
+
urlOptions = function(settings, keys) {
|
17302
|
+
var key, _i, _len;
|
17303
|
+
for (_i = 0, _len = keys.length; _i < _len; _i++) {
|
17304
|
+
key = keys[_i];
|
17305
|
+
if (settings[key] != null) {
|
17306
|
+
settings[key] = utils.normalizeUrl(settings[key]);
|
17307
|
+
}
|
17308
|
+
}
|
17309
|
+
return settings;
|
17310
|
+
};
|
17311
|
+
flagOptions = function(settings, keys) {
|
17312
|
+
var key, value, _i, _len;
|
17313
|
+
for (_i = 0, _len = keys.length; _i < _len; _i++) {
|
17314
|
+
key = keys[_i];
|
17315
|
+
if (!(settings[key] != null)) {
|
17316
|
+
continue;
|
17317
|
+
}
|
17318
|
+
value = settings[key];
|
17319
|
+
if ($.type(value) === 'string') {
|
17320
|
+
value = $.trim(value).toLowerCase();
|
17321
|
+
settings[key] = !(value === 'false' || value === 'disabled');
|
17322
|
+
} else {
|
17323
|
+
settings[key] = !!value;
|
17324
|
+
}
|
17325
|
+
}
|
17326
|
+
return settings;
|
17327
|
+
};
|
17328
|
+
normalize = function(settings) {
|
17329
|
+
var crop, ratio, size;
|
17330
|
+
arrayOptions(settings, ['tabs']);
|
17331
|
+
urlOptions(settings, ['cdnBase', 'socialBase', 'urlBase']);
|
17332
|
+
flagOptions(settings, ['autostore', 'imagesOnly', 'multiple', 'pathValue', 'previewStep']);
|
17333
|
+
if (settings.multiple) {
|
17334
|
+
settings.crop = 'disabled';
|
17335
|
+
}
|
17336
|
+
settings.__cropParsed = {
|
17337
|
+
enabled: true,
|
17338
|
+
scale: false,
|
17339
|
+
upscale: false,
|
17340
|
+
preferedSize: null
|
17341
|
+
};
|
17342
|
+
crop = '' + settings.crop;
|
17343
|
+
if (crop.match(/(disabled|false)/i)) {
|
17344
|
+
crop = 'disabled';
|
17345
|
+
settings.__cropParsed.enabled = false;
|
17346
|
+
} else if (ratio = crop.match(/[0-9]+\:[0-9]+/)) {
|
17347
|
+
crop = ratio[0];
|
17348
|
+
settings.__cropParsed.preferedSize = ratio[0].replace(':', 'x');
|
17349
|
+
} else if (size = crop.match(/[0-9]+x[0-9]+/i)) {
|
17350
|
+
settings.__cropParsed.preferedSize = size[0];
|
17351
|
+
settings.__cropParsed.scale = true;
|
17352
|
+
if (crop.match(/upscale/i)) {
|
17353
|
+
crop = size[0] + ' upscale';
|
17354
|
+
settings.__cropParsed.upscale = true;
|
17355
|
+
} else {
|
17356
|
+
crop = size[0];
|
17357
|
+
}
|
17358
|
+
} else {
|
17359
|
+
crop = '';
|
17360
|
+
}
|
17361
|
+
settings.crop = crop;
|
17362
|
+
if (settings.__cropParsed.enabled || settings.multiple) {
|
17363
|
+
settings.previewStep = true;
|
17364
|
+
}
|
17365
|
+
return settings;
|
17366
|
+
};
|
17367
|
+
publicDefaults = {};
|
17368
|
+
for (key in defaults) {
|
17369
|
+
if (!__hasProp.call(defaults, key)) continue;
|
17370
|
+
value = defaults[key];
|
17371
|
+
publicDefaults[$.camelCase(key)] = value;
|
17372
|
+
}
|
17373
|
+
expose('defaults', publicDefaults);
|
17374
|
+
ns.globals = utils.once(function() {
|
17375
|
+
var fallback, values;
|
17376
|
+
values = {};
|
17377
|
+
for (key in defaults) {
|
17378
|
+
if (!__hasProp.call(defaults, key)) continue;
|
17379
|
+
fallback = defaults[key];
|
17380
|
+
value = window["UPLOADCARE_" + (utils.upperCase(key))];
|
17381
|
+
values[$.camelCase(key)] = value != null ? value : fallback;
|
17382
|
+
}
|
17383
|
+
if (!values.publicKey) {
|
17384
|
+
utils.commonWarning('publicKey');
|
17385
|
+
}
|
17386
|
+
return normalize(values);
|
17387
|
+
});
|
17388
|
+
ns.common = utils.once(function(settings) {
|
17389
|
+
return normalize($.extend({}, ns.globals(), settings || {}));
|
17390
|
+
});
|
17391
|
+
return ns.build = function(settings) {
|
17392
|
+
return normalize($.extend({}, ns.common(), settings || {}));
|
17393
|
+
};
|
17394
|
+
});
|
17142
17395
|
|
17143
17396
|
}).call(this);
|
17144
17397
|
(function() {
|
@@ -17152,12 +17405,14 @@ var _require = (function() {
|
|
17152
17405
|
"default": 'Error',
|
17153
17406
|
baddata: 'Incorrect value',
|
17154
17407
|
size: 'Too big',
|
17155
|
-
upload: 'Can
|
17408
|
+
upload: 'Can’t upload',
|
17156
17409
|
user: 'Upload canceled',
|
17157
|
-
info: 'Can
|
17158
|
-
image: 'Only images allowed'
|
17410
|
+
info: 'Can’t load info',
|
17411
|
+
image: 'Only images allowed',
|
17412
|
+
createGroup: 'Can’t create file group',
|
17413
|
+
deleted: 'File was deleted'
|
17159
17414
|
},
|
17160
|
-
draghere: 'Drop
|
17415
|
+
draghere: 'Drop a file here',
|
17161
17416
|
file: {
|
17162
17417
|
one: '1 file',
|
17163
17418
|
other: '%1 files'
|
@@ -17168,6 +17423,8 @@ var _require = (function() {
|
|
17168
17423
|
file: 'Computer'
|
17169
17424
|
},
|
17170
17425
|
dialog: {
|
17426
|
+
done: 'Done',
|
17427
|
+
showFiles: 'Show files',
|
17171
17428
|
tabs: {
|
17172
17429
|
file: {
|
17173
17430
|
drag: 'Drop a file here',
|
@@ -17227,6 +17484,13 @@ var _require = (function() {
|
|
17227
17484
|
line1: 'The file you selected exceeds the 100 MB limit.',
|
17228
17485
|
line2: 'Please try again with another file.'
|
17229
17486
|
}
|
17487
|
+
},
|
17488
|
+
multiple: {
|
17489
|
+
title: 'You’ve chosen',
|
17490
|
+
question: 'Do you want to add all of these files?',
|
17491
|
+
toManyFiles: 'You’ve chosen to many files. %max% is maximum. Please remove some of them.',
|
17492
|
+
clear: 'Remove all',
|
17493
|
+
done: 'Done'
|
17230
17494
|
}
|
17231
17495
|
}
|
17232
17496
|
},
|
@@ -17238,7 +17502,7 @@ var _require = (function() {
|
|
17238
17502
|
crop: {
|
17239
17503
|
error: {
|
17240
17504
|
title: 'Error',
|
17241
|
-
text: 'Can
|
17505
|
+
text: 'Can’t load image'
|
17242
17506
|
},
|
17243
17507
|
done: 'Done'
|
17244
17508
|
}
|
@@ -17492,7 +17756,9 @@ var _require = (function() {
|
|
17492
17756
|
upload: 'Ошибка при загрузке',
|
17493
17757
|
user: 'Загрузка прервана',
|
17494
17758
|
info: 'Ошибка при загрузке информации',
|
17495
|
-
image: 'Разрешены только изображения'
|
17759
|
+
image: 'Разрешены только изображения',
|
17760
|
+
createGroup: 'Не удалось создать группу файлов',
|
17761
|
+
deleted: 'Файл удалён'
|
17496
17762
|
},
|
17497
17763
|
draghere: 'Перетащите файл сюда',
|
17498
17764
|
file: {
|
@@ -17507,19 +17773,21 @@ var _require = (function() {
|
|
17507
17773
|
file: 'Компьютер'
|
17508
17774
|
},
|
17509
17775
|
dialog: {
|
17776
|
+
done: 'Готово',
|
17777
|
+
showFiles: 'Показать файлы',
|
17510
17778
|
tabs: {
|
17511
17779
|
file: {
|
17512
17780
|
drag: 'Перетащите файл сюда',
|
17513
17781
|
nodrop: 'Загрузка файлов с вашего компьютера',
|
17514
17782
|
or: 'или',
|
17515
|
-
button: '
|
17516
|
-
also: 'Вы также можете загрузить
|
17783
|
+
button: 'Выберите файл с компьютера',
|
17784
|
+
also: 'Вы также можете загрузить файлы, используя:',
|
17517
17785
|
tabNames: {
|
17518
17786
|
facebook: 'Facebook',
|
17519
17787
|
dropbox: 'Dropbox',
|
17520
17788
|
gdrive: 'Google Drive',
|
17521
17789
|
instagram: 'Instagram',
|
17522
|
-
url: '
|
17790
|
+
url: 'Произвольную ссылку'
|
17523
17791
|
}
|
17524
17792
|
},
|
17525
17793
|
url: {
|
@@ -17540,7 +17808,7 @@ var _require = (function() {
|
|
17540
17808
|
},
|
17541
17809
|
regular: {
|
17542
17810
|
title: 'Загрузить этот файл?',
|
17543
|
-
line1: 'Вы собираетесь загрузить
|
17811
|
+
line1: 'Вы собираетесь загрузить этот файл:',
|
17544
17812
|
line2: 'Пожалуйста, подтвердите.'
|
17545
17813
|
},
|
17546
17814
|
image: {
|
@@ -17557,7 +17825,7 @@ var _require = (function() {
|
|
17557
17825
|
line2: 'Пожалуйста, попробуйте ещё раз.'
|
17558
17826
|
},
|
17559
17827
|
image: {
|
17560
|
-
title: 'Только
|
17828
|
+
title: 'Только изображения!',
|
17561
17829
|
line1: 'Можно загружать только изображения.',
|
17562
17830
|
line2: 'Попробуйте загрузить другой файл.'
|
17563
17831
|
},
|
@@ -17566,6 +17834,13 @@ var _require = (function() {
|
|
17566
17834
|
line1: 'Размер выбранного файла превышает 100 Мб.',
|
17567
17835
|
line2: 'Попробуйте загрузить другой файл.'
|
17568
17836
|
}
|
17837
|
+
},
|
17838
|
+
multiple: {
|
17839
|
+
title: 'Вы выбрали',
|
17840
|
+
question: 'Вы хотите добавить все эти файлы?',
|
17841
|
+
toManyFiles: 'Вы выбрали слишком много файлов. %max% максимум. Удалите что-нибудь.',
|
17842
|
+
clear: 'Удалить все',
|
17843
|
+
done: 'Готово'
|
17569
17844
|
}
|
17570
17845
|
}
|
17571
17846
|
},
|
@@ -17602,23 +17877,33 @@ var _require = (function() {
|
|
17602
17877
|
|
17603
17878
|
}).call(this);
|
17604
17879
|
(function() {
|
17605
|
-
var $, namespace;
|
17880
|
+
var $, namespace, s, utils;
|
17606
17881
|
|
17607
|
-
namespace = uploadcare.namespace, $ = uploadcare.jQuery;
|
17882
|
+
namespace = uploadcare.namespace, utils = uploadcare.utils, s = uploadcare.settings, $ = uploadcare.jQuery;
|
17608
17883
|
|
17609
17884
|
namespace('uploadcare.locale', function(ns) {
|
17610
|
-
var
|
17611
|
-
|
17612
|
-
|
17613
|
-
|
17614
|
-
|
17615
|
-
|
17616
|
-
|
17617
|
-
|
17618
|
-
|
17619
|
-
|
17885
|
+
var build, defaultLang, defaults, translate;
|
17886
|
+
defaultLang = 'en';
|
17887
|
+
defaults = {
|
17888
|
+
lang: defaultLang,
|
17889
|
+
translations: ns.translations[defaultLang],
|
17890
|
+
pluralize: ns.pluralize[defaultLang]
|
17891
|
+
};
|
17892
|
+
build = utils.once(function() {
|
17893
|
+
var lang, pluralize, settings, translations;
|
17894
|
+
settings = s.build();
|
17895
|
+
lang = settings.locale || defaults.lang;
|
17896
|
+
translations = $.extend(true, {}, ns.translations[lang], settings.localeTranslations);
|
17897
|
+
pluralize = $.isFunction(settings.localePluralize) ? settings.localePluralize : ns.pluralize[lang];
|
17898
|
+
return {
|
17899
|
+
lang: lang,
|
17900
|
+
translations: translations,
|
17901
|
+
pluralize: pluralize
|
17902
|
+
};
|
17903
|
+
});
|
17904
|
+
translate = function(key, node) {
|
17905
|
+
var path, subkey, _i, _len;
|
17620
17906
|
path = key.split('.');
|
17621
|
-
node = ns.translations[locale];
|
17622
17907
|
for (_i = 0, _len = path.length; _i < _len; _i++) {
|
17623
17908
|
subkey = path[_i];
|
17624
17909
|
if (node == null) {
|
@@ -17629,17 +17914,16 @@ var _require = (function() {
|
|
17629
17914
|
return node;
|
17630
17915
|
};
|
17631
17916
|
return ns.t = function(key, n) {
|
17632
|
-
var
|
17633
|
-
|
17634
|
-
value = translate(key,
|
17635
|
-
if (!(value != null) && lang !==
|
17636
|
-
|
17637
|
-
value = translate(key,
|
17917
|
+
var locale, value, _ref;
|
17918
|
+
locale = build();
|
17919
|
+
value = translate(key, locale.translations);
|
17920
|
+
if (!(value != null) && locale.lang !== defaults.lang) {
|
17921
|
+
locale = defaults;
|
17922
|
+
value = translate(key, locale.translations);
|
17638
17923
|
}
|
17639
17924
|
if (n != null) {
|
17640
|
-
pluralize
|
17641
|
-
|
17642
|
-
value = ((_ref = value[pluralize(n)]) != null ? _ref.replace('%1', n) : void 0) || n;
|
17925
|
+
if (locale.pluralize != null) {
|
17926
|
+
value = ((_ref = value[locale.pluralize(n)]) != null ? _ref.replace('%1', n) : void 0) || n;
|
17643
17927
|
} else {
|
17644
17928
|
value = '';
|
17645
17929
|
}
|
@@ -17651,7 +17935,7 @@ var _require = (function() {
|
|
17651
17935
|
}).call(this);
|
17652
17936
|
(function() {
|
17653
17937
|
this.JST || (this.JST = {});
|
17654
|
-
this.JST["uploadcare/templates/circle"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class="uploadcare-widget-circle-back" role="uploadcare-widget-status">\n <div class="uploadcare-widget-circle-center"></div>\n</div>\n');}return __p.join('');};
|
17938
|
+
this.JST["uploadcare/templates/circle"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class="uploadcare-widget-circle-back" role="uploadcare-widget-status">\n <div class="uploadcare-widget-circle-center" role="uploadcare-circle-center"></div>\n</div>\n');}return __p.join('');};
|
17655
17939
|
}).call(this);
|
17656
17940
|
(function() {
|
17657
17941
|
this.JST || (this.JST = {});
|
@@ -17663,7 +17947,11 @@ var _require = (function() {
|
|
17663
17947
|
}).call(this);
|
17664
17948
|
(function() {
|
17665
17949
|
this.JST || (this.JST = {});
|
17666
|
-
this.JST["uploadcare/templates/styles"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('\n\n\n\n\n\n.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab:after{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAFeCAYAAADHfkwkAAAQGUlEQVR42uydbYxVRxnHuxdaa6q8pLwEQSi1CpLWT1qML9A2gDRVbKQNDfWDoU1s0bQ1RqOJrUqNDRQwvhCtxp6%2BKJMQarTQLmAbKtg2QutriESK1KTCCrvlZWnLsmzxP%2BzD3f%2FOM3P39sOZc8Xnwz8zZ87ce%2BZ3nnlm5p4zd%2Ba806dPnxMyEAMxEAMxEAMxkP9bkIceXUty5xWPDD6G2hCfhfTliP8e8Q6oB3EvH0eaWwHNQryt%2FjmEBRR8fyYQiApSg5agMHsQngbIaYSQo1DiIsm7BHlrHgJhHUqUD6ToB5kK7eBC4phhfKFDCE7fId9BNyYDSDG4OlyF8BAVkEINAThoIE55D%2BF4lnxnDhDHd2weLtojBVJVqCAgZY14tevBuU%2Bwz%2BSoWtNwoWO4qIJgmDiQS8JB3dA0aUhKBxkmPsFVRwFIWiMAnXfAZ4ZlsIhbIs5cd1o5VoVtHtCFlrml1OYXF2pDgfcQQOyu66qV9iMOWXt8n1SmRWZLYbiQEsabWk5Lg0A6%2F%2BwyLbJcmk4uRMLJNUi88BLqPMvLtMh27hN0vU%2F1EyJdzShd3ZBtZYJ00MVUn5Bw9K2IQ5xvaMeHOsqsWj2JFinVDD9FfY%2BPR%2FsdtlIx4Hs95VmEQXR10dULhfcdWyEgyjdEAWAWkA51B4NQAUnVkri2SNpfOjI4e9o3BDTpRxpad66iUp19hb7ryirp8VST5wVqeZnOPlv5RtzZB5w2ag2n%2Bxit2WVapA3aExY63THqdF2NdFx%2BPdbKHv3eosdPQ492df4GvyDLHjT6Ly%2F6h%2FE7Vd3Wx1oaMFblXgD0sJJB6n3CdKibfUFbQFc%2FLeVj3dB0eTqTBcTrWhQCP3W1r6SrD8J0K9Xjv1O%2Bv9xfiEXwHEou3J3uSwaJHT20YrfcmFxPUVzsudZ0X68JQkBU8xx93iWfnV63RJ4HdPx0ke%2Beq0FLEH9JQJQFQtAzeeUBnb45%2BXyExZaqQbOg%2B5HvWahDRsxeHdCzyOvPzYJq%2FFkJOW4PsQ3EQAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzEQIInjTPlCaF%2BETr0E3edJ3irRXoJmlnmQ%2By9UoD9uNDLCKH%2BEI8%2B5RhxaNC5ehyic4nPHhDAveWByIwEqK0IHpmqUOKFiM4NZfU25Ov0likNRKzxMgMIEBc%2Bqrfy3kMsWC5IQSAKQJ7WFyqdj5sFWZsLxInEKoGVvDQw0psE8a8kSvURcVA9GzutII8b%2BoaVbxFHIKo6xauaAmsWxJUMgouoQuvqk3L8pn0EKrlqkY%2Bk%2FMBLzXdvqaolIGGB1TFLA7UGiO%2BFVWeoAHTzLDCtZJEARHWOyvEZtkkQB5BMza8GcI0bgEdaqdXqBzkRdnhFqtAqT9Md4vFyQdLTyGmmg5LKX%2Bg0Pc8rg4%2BomaJcOCgAcgIZm0iTBs%2FRj0ihRLoQzcTVZ5WlSx6iHOeL6Uk0KQvpub4axoXAR8usWnepaUtQHI6rVtMWY91REoietyWhiONuX4Pf8f9qlacoqR9M3PSepLscVqHelgFpPPp190AxR2agu1sBpOGQBOG9aqJmEELfsgd0BmIgBmIgBmIgBmIgBmIgBmIgBmIgBmIgBmIgBnLugCTeHzo1P4VnCyE%2BAfH7kb4b8RMIu5C%2BGeEihLVqQNIvPhPp7tPQ0QZrqjwNjawCRFskPePhBqiXXi30IdwHdQVQG%2FCZtqwgeoqfFFwvRDkIAmE70iZL9axBi6Cj9D5lYVYQXYVcaAWxhOuld4mPIe0CKPyuxbTQ2KbcFuHqFbPQjR6CXvb8ykP4PBGQGtKPS76u3D5CBVfhXNxhgXDQgCUkT%2BzG%2FFPy92QFoUKFGgEdpFdt66ELkXeCnI9ZZBLUJ9bbXQGIi1nkS%2FSK7XewjIf4OfQ6dIfcALbscOTfQOtqrcoLomeY3gD5Dm8jvUOcieOvBatvLC0EBPHh0Dryo2PQxPzODhXUxELnQ3%2BifuFt0CU4%2FzAkabAMCtsP4dYR5CmcX1DZEAU6C3EaGg09RSDTqBV7kHr1b0JzaF7KKcRvqm6spXvs2dC3aRmeB8l%2FplG%2BLQjHQVGI3FVrAVnCFwj9hPNN7BTohE8T%2BWr1PqlmYin3Z1nc1UMsqmz0K059jJz0MQ9BE5rvDCaZeYe%2FkuCeQNo4BZEfxK0kiHaEgFATMb8gTe7DYo0tVLW%2B2CpTOP4uPtCHOz1Z%2FCU2XBmH8x5iHc3H6sS50S0BQj6wjwof%2B09JvZ8gx%2F6UP9cqIJ1S91%2BFakX8XzzDBllCWicBbA0QVJfNNA%2FrJgEgYdgBCIgs4eoQRQtZZBGNp45CS6BhUqUmQRsJ9BTAFWxrWKR%2FvcbfBrPkXpcZ1H1UncQSMi5rNYuIVUaiUBuDVfsZrBvxBdEZ2S0GArk2aCEK533mMNQD7YFWQ5O4NUPIMPaAzkAMxEAMxEAMxEAMxEAMxEAMxEAMxEAMxEAMxEAyKNdD7PEyv%2BTEEJtx4VyzW3E6%2F12PI5yQ87XCbxounCcqwp1b9T4kiCugjTlBXkts8aSAEtsNQsn03pwgUkgJ0%2Fu1SRhXkdi%2FJxvIkAVMVTWVV%2FlQXpAhN9zS1uG0HdDUyFILVVhE%2BwYXVtJTLdjH1EzU6kDSq80UUQs5Dt8eX6cO5yu2CGvIvRLJGgnLZgYJdxTTcvE8NBs13pdUA5La%2FzMJOHgpxGj1yweiW6wUgLZCoReglGOX30eiPTmDKaDEnHmGkbzZq5YGSW8orxeidGoCNOWvstXSe%2Bqmt9EMfER9LqNFlHOn%2BxPlS2yRxB7VlTh7%2FPdGDFLSuSOMfz4%2FiCi56pnedz1wfAapxNlpg%2Fm3ts0%2FgRSBg1c%2FRIGa2d6cLVKIOE9FrZZuoaLjJu0fERDHwNn7kZNqyB4N9dCeO8JEC9eb00eeCAqhhu8KRM7xdNrET932nLNMJ%2BCCT0Inw2ZWCswFjzUMsWrnrbwJae%2ByB3QGYiAGYiAGYiAGYiAGYiAGYiAGYiAGYiAGYiAG8j8EErzjkIWP1q6CnkF8YrAZlxbyQNsQX4nwnZXvCCP%2Fa78Z2k8PrA8inKsWSBJohPN8HnolsR9ajHhbVRa5wlsgsS%2BVX1XgbqhGr6F9%2FB7E%2B2KvH8Sal2cDQeFG4qLfg3oju4SFx5sRvxhpYxH6eJBHzaLrRdpqxEeWCoKLfBba33D2jz5%2BACEUbBuVyg%2FJNW4uE%2BR6FKAr9jpay%2B1COJ9mN8yHdun36no2EY47%2FbXKrVqPnlmZZjsumrLCIYRLoeGFXlnTp%2Flzh7jwgZ9tQ%2FrkXK3WcOg73nGpAD3QSmiU2mKQJtPIhJpRCH3eHrJsH7QM%2BYdn3%2F4JugbaL0sXXgZFpjI5tQMyfc9l%2FrNI%2FzfiV1fV%2FEJuPMLHoaViJb3TGCQg9WO2rP%2BsfMe4qnYWmwsdoKqxC5oPNVqY1Usg4Pz4DLVkBxDOyQMidxEXvQ8X7St8AXSr0460GQEQV7UZCNtjsx7kO7%2Frr1H2jvmX4GLPp6ZpEFgvwjUo%2FBhyeMTdmgLnFIBujp9D3iklgviBoetrZvdJOT4si0ze6eOULy3kkWHMyrKr1odxoRf1eEnvSAm9gmM%2F8%2FrjCF%2BRtKHmB7%2Fgr5HL2Wu44O24YFeDAm2RMdaNfrgBuLHQ0zhOTSHsRPw2qJa31Rqo9z9DyB1jHwq1TKaO%2F5DAHsD5i6BlUL16Svyn0JiqN3Z8NzQT2gl1In0eNBl6PrK56U5ATkX8WhlP7YCuRJ6Jle9QifAfCL8u6%2FmOga7zQA22nD0MXS95zwfYlxHurgIk%2FKfB3oH%2FhbjvI3wz9gcXhpE8a85aDTD7qgMRGGiKjLX0FCZRGgiScVp1VUvrKhTqjwogIfltMqd1tqMlf5Fm%2BTboUINOs%2F57pSX21eXhOlQ%2FlrRR8tukh3449UJr1PKfVYMU6rlVdBnQaVA7jtsBNEPy2ZNGAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzlnQPTOexLWdZ2krY8tFiZpXdDolgGBAgj3fpk8dg2e9b6niPxNnOBWVQ%2BirXAWapMU9K%2By%2BdDqwQCOYTzkpa01y7Rfnwz%2BcP952VbwVV59gKGg9S1mEXeBvBTlO38QGoH4XZE1GlkfrQokhPD6igCE%2FrBctqDd02D%2ByR8QtlUBEi4xNR7hsfBOy93vQfxS6DOpFkzSKtnYMVwf60EotbrZSYTvFcttH7CC0j7kvbASiwjIBxG%2BSXc2tMgKeh33IcoX85WvVuUjbSjQc0GV4fh%2FoBHBbq%2B%2FqINofzmC9LFV%2BMhibQnHTrwksqXzFIRvKHAJoR%2FlBrlI5l%2BlZjfshGrhMp%2Bi%2ByKLI%2FEmd9Mygrh7uZ6HcegjwbRZhhmBtIMEE1axDbkmZ%2FoFVd%2Bg6d%2BhfhlaQQ8u3e1DLId4dQYQ7O6dcFjoNWhirEoVegfLFxE%2F0i93pJC4aGsOkF0DEMrZvxEMIpVFWmPmg0w8TnVqMv3vVpz%2FNeKQewbxM8IxidNcPaS8C3P1I%2B3aR9xChONxrlvSmp2vFa6cdgB6R67m1%2F%2BAOkWj2q1SpX5CaZEhi0j%2Fq4fXa7w1d4f4A9pq9gOIX05wup%2BISi0k9jccD8s9RLlYZlr%2FWMCe1AXWy3syaAR6fgVjLefDzyH0QHOia2JzmEgrBrSp0h9WAKhBfwkKpyzA1ik0YB%2FSrrDnWgZiIAZiIAZiIAZiIAZiIAZiIAby3%2FbOWKWBIIqiqARRhChaaKH4BVrYuHYWlnaKja1f4H%2BkFi3WyvyAnTExxNIfUIiFokGsRGGzEMG7cgM3%2BzbpMtNMcdnZcTPOmbdvHDLPNwEkgASQABJAAsgY5ChgIILuoKEnudrsHIVHbHa52RM5B2FKkbRo%2B01lAG2siu5FpoRxapFbk3pt9A6V6hv1bUC0Uc7UkYGouwZJrCWqIo52sQW2c21Noe6JzyeuQbTTFsgmR9KdqbWCbYpWvz3nICNyyRnIWIR6A8IQKD8gotEpDq31DAgGpUVruQZRB7di%2FQ%2Beucb1kiPeo1UOtS1u3b0T1AOI9Q%2B9nsdMqqcJwqAHDoCZ7fyAjD4IO87FaImqZVwfzesnQF58RJKtrtAPEtwvDcQDS5k6kGNqZ7XN2CcIYfbYkZpJpsd7gZuBfmUG8w8iUUBHvL9iHSVQFMtffH7RK0j%2F1dC8QbTQvYnVErGuTIiuGRznIPylkodxDkqgHrQO6WyVDzA44SDUfIPoEkU7e8HO3EAlsYyGy66i%2FMHPHudmQu8%2BQv3PXB0uXZoob0jqz0mU93F95SDUGQ%2Fv1yKyws37whb0JrPaM0NnP2V91oIWhljZvbNnEgidqZahs%2F%2FA%2F8G11wvKp1BJ2%2FI8%2FdozcmObYn0adZsA3mV6qgn%2BTNry7%2Bz9sPB5dWjxCVXO4S1I1g7bS1xbpMHXpcK%2FC%2BYVy9URwoLw8xVapOHaIhE6l9qQP3sqq10gqqpaTqEdH%2F8IE6GDTXTCfB0kkaTSYVvHchfPNzOI8AVdAAkgASSABJAAEkACSAAZq%2F4A0EvZstJINZUAAAAASUVORK5CYII%3D)}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab:hover:after{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAFeCAYAAADHfkwkAAAJFUlEQVR42uzdfWxVdx3H8dvbDkemsGYFgp0w5rSMbP6lY9EJ28IQMkUiWyDgH4YtcZuGzRjNTNxUZraUJ%2BMD8SmSkMx%2FDCMKbAVkAZnOWJiPIZIVLCZaKm3HgA1bSv36%2FuO75Jeb23NuH845v8Lnj1faXs5t%2Bs55%2BP3Or%2FfSkpldERSiEIUoRCEKUYhCAuufbQ3VYQFa8Vt0Y8B1%2B2MbfJs6RBdSxlp0wGrU4c8pxxIyB%2B2wUWrHnMJCPOJu9MDGqAcLcg%2FxiMUYgI2TAXwitxCPaMF52Di7gJbMQzyiPjgnstCO%2BjxC1sIy9lCmIX7t78ghpAN1WYYshOVkYZYhrTmGtGYZ8kqOIYezDOmGjdBBZyPUnVnIKAbAAyi5AyMdIBUS26Glk72GkA15Xn41IEY2RSlnPWl8KI9JY17T%2BCMZRhzNZRrvMXNxIaMbq7l53%2BouzeBWd2lRiw9Lx2nPXAgicg8JD7OjYzwn5sa2QHdiBAEnYlugC5WxABvxu8olU39so29Tjm3JdNQUohCFKEQhClGIQhSiEIUoRCEKUYhCFKIQl%2FVrUebjBCxjJzA%2Fy5CTMHThVEZOw3AyyxBDN%2BqyOrT813u9sKxDTmV9jvD4KYUoRCEKUYhCFKKQkYX05xDyVuYheVHI1RbyVo4h57IMeSLHkHUxLD50wobxz4m0inIpIWRwooQ8DUvx1EQIeaaGkG9qgU4hClGIQhSiEIUoRCEKUYhCFKIQhShEIQpRiEJmYiOOox992IeVKE%2BUkE%2FjHGwYL2Nq7CEPYBDmhtCJvoqY3aiLNaQyog2zgndbr6zYUytiDKmMeAGTwm38e6yGub2xhTxYEbEziKgMKQe%2FaO2LKeS%2BtD3hwu%2FzDxgGYgmZgjNBxA5ci5nDhfDxRgzBcDyWkC8FEb%2FxiJ%2FhItZV2b4Bu2Fuc9EhD2Am9sDcfDwJCzxWEfELmDuP5qJCwqvTNfgTzL0LN2E7zF1Ec5WIy1hW5IAYXmIbcQDmWlBy22DuG1hUEbGqsClKGOEW4lvB19uCkBaY24%2Fp4xLhxhKxbJhxYjb6YW47PuiHmbk%2Fo94jVhY2%2B%2FWT%2BnzCOPE4LPAk7gi%2BfhHTg4jCQjaFc6cgIvQFXMR23xv7Ye6L72xXdMjfg1msTwCrmu4R4dWpF41RhATnQGdCBKpeYj%2BFUiwhvTC8gfIwEfVVIlahFFPIPphblbYnwojYQlbC3DmsRT3emQDuSYiIKqQOv4YFLuIUhhIi4grxmKnYk%2FL%2Fyi2LfTko3DMrsA9nMYAObMGNWqBTiEIUohCFKEQhClGIQhSiEIUoRCEKUYhCFHIVhPADzMAL6IeNk37swsw8Q34Fy8iePEPezjBkMM8Qy5JCcg5px5zKq9ZEDLkLpSshZPIVERJGhI8rRCGjCkmfaylEIaaTXSEKUYhCigu5lGHIYJ4hL2YY0pb3S8pfCvbMeLiEvXivFugUohCFKEQhClGIQhSiEIUoRCEKUYhCFKIQhUzskCnYjENoriGgGYexCe%2BJ5d3Ta9AFc2dwX0LEYt%2FGXBdWo66o97Pf7nvAqriMp1AOAsp4GkOwKg7httxC%2FA3538EgLMU%2B3IBp%2FrmlGMQWTM0sxCM%2BGxxGtfqxsxHowposQ5ajD1aDY1iCklvij1kNerE860NrFl6BDaMHj6EBpQoN%2Fm89Cc8%2FjFm5nOz%2BA3274sQdwCZcj1KK633bAZgbwno0FHH5vRdd2IlbUBqhW%2Fy5%2F8Y9RY4jM7ArPJSSJBxquzC9kBAf9E4nnNxpKk%2F%2B01iU5zjSgOcSBrY2zEsImOfbWBVDeBYNWY8jN%2BH3NQ5sW9EUBDRha40D6auYnWXI5mBP1OIs1uFx%2F9xqNIRNWR9ad%2BI1WA3%2Bhbvwcf%2FcanAUd%2BY1jpTxaMoovx%2FT8CDW%2BOcvp4zmj6BcxOW3CT%2FFUJWBbTK%2BXzHnug7rq2z%2FEzQVfWP1PszHEfRiMWZVuyj4NnOw1Ldtxx1ojuEO8XV8DZPQhPvRm3IBWO7bXoMv43gMISeD94V8F%2F%2BDJfFttgZ7rTOGkNnYCRsVn6fFtIpyN%2F44goBjWBTrclAZj6Cn1vuVuELS7zfCaUvjRFyga0Gbm6eVRoUoRCEKUYhCFKIQhShEIQpRiEIUohCFKEQhV1%2FI%2Ff5xB2wYfWiMOeRWDOJevD%2FlbeKbYw7ZC8NfUY8tKe9fvznGkE%2FCAp9HI95IiNkRW8gkvA4LnMEUPAFL8LGYQr4Cq6LVIzsSQv6AuhhCZuA8rIoB3IzPwBKsiiFkW8oJ%2FQGUUl4H2Ylri3wF3YdTfq%2B%2BASX3EViCrxb1Cro6vAobxn8wBaXA8wnbv4lpRYSshiVYi1KF2fhvwnN%2BkFuIR1yX8vqrIwl%2FJ%2FG5hOddRkueIc%2FAEny0MiDhb1NX2p3XizPnpBweP0cpxaOwBPdkHZI2q30bzTW%2B3vc1vDmMg3mEHEsI%2BXrs9yNhyJKEQW0yHsYv3aFRWpHXyd5WJWQFZuACbAxO4915hdyKyzB3ECX8CDZGD%2Bc9IH4vuPZ%2FCLcFcaP1N9TnHXIDzuKHKOEl2BgtKWrS%2BDkPWjQOEXuLnsaX8ZcxRgzhdq1rKUQhClGIQhSiEIUoRCEKUYhC%2Ft%2Fevas0EEQBGB6VIIqQSCxMYbATLLSwSay0sLRTbGx9At8jtWihlU9gZ8yF2OkLKGihqIiVF9gEIse%2FmGIQ4oobN6c4xdcO%2FMXAmcPCWoiFWIiFWIiFaA2JDyijgTYkgTYaKA%2Fid7QldCB91EE57ZAzyB%2B94ybwBPFqaYdECUJKcIERXEMQpR0iCRS%2FX%2FbwyyELsZB4HzjBEVroQrAJF8jjUWvIPnJwgXlcQnpQF3II10MWV%2BpCghGlAEGEKbgfbEC88eBMFSFrEFThYozhE4KitpAtCI7hfuEVgry2kBUIzuFiZINh0WkLmUCELmZjQnYgqKoL8Q4gOEWmR8QMniHY1hpSCCbZJhbgvGGs4x6CGoZUhnhLeIB4t7jAC8RrYRJObYg3jT28QQJ32EUGTntIaBSLWMUchuAAPSERBDm4JPx5uUE9rOoQVJBNGJNFBYJ62iHlf1o%2BLA9qHdTs0zqoGUQkCFHCQizEQizEQizEQizEQnT6AqfQwgd5BnPGAAAAAElFTkSuQmCC)}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-selected-tab:after{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAFeCAYAAADHfkwkAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADDJJREFUeNrtW21wVUcZJgnQYiuBCQUjISQtGmBK%2FKGWgJWPDqEwCEUpA94kMxrr2CLQatWpM7R%2B1LEFCp1anXJJRBmrP0roaEv5DISPto5A1XovIxIgqC2kBAoEKgkErs%2Feuyd3z549Hzfp2XNueZ%2BZZ%2FZk7%2B4573Ped9999wz06UMgEAgEAoHw0UZ8x7gccFJsx7jl4Ou4bkXbGU%2BxNZ7qW8HGsLFhFJALg2vBZlwnGGNCa1zHzddsbC2bGwoRMKwU3C8aG1cbbuoTBLK5pUF7YgrYpjLaTphKJNo2cFJQIqbz2E8b11hua7DkBUvo8bV0r%2B5wKoPR7U5Gu%2FXZeO4iu7cuT%2BSxuLYJkW7PZBha4nh27zwd3qiNuRtjEeVFmBGaGPsNHftEs0tatayJmEtIKdZOc8zPfQYPmGzzYEcBMacwtM9yk%2F0Ustz04HQoJNxScMwlMSja5X6uj3126VRe4DGX9OuU4Xi7108hrZns4Ly%2FCW1TzCn8mGeFF8HbVj%2BFdMYdUq3CI43C3Ma4e%2F0l9nX6uUY64x42N6E1C5F2fpeU7KuQ1rjHhS38rQytuFsmayxv9VPIvpjLZua00DPc6ff6KWSFU2zHHPYJL7WX1Lfc1w0x5lJi9NRjit993BAby3N4%2BeAlY3nZve3mNvt%2BcmQFXTwD41VnlJhDwRnTUTQaZTwedCDmJsCahezXiLlCPqiljOdeGc0OQfEMRcRcFn8sdbAarfuoO5NtWm7VrtdShm%2B2M4M6t88UPeN1n1Ds8MwTwYgQwyyWiuuefD0x1sToPmEADMrlH9uOWgxVHHX59VF%2BbA7HBzppn8nln0NXwsA3eG3G1hEju34D7Ur%2BWTV8AggEAoFAIBAIBAKBQCAQCIQwY9bsuePBo2DCZ7JnjPdTyDH%2BoJPgCZ94ij%2FjmJ9C2ANawRwfn5EDnmHP8lvICQ0hfIKEkBASQkJICAkhISQkMyEdGoRc0iFEG0nIjSTkkkYhF%2FwU8ohGIUvDcLZvcTDw39n0keKKg5Cr2SLiCQ9h83g2CHnSg5Af08c1AoFAIBAIBAKBQCAQCAQCgXCDY%2BasOYXgSvAw2AGeBbeBC8DcbBFxH3gBTNhwJ5gfdhH3g1cFo6%2BBLdwjophXwZxsEbEFLOa%2F5fKwEj01LxtEbAT7K8ZFhDFbwyZiviTiZZUIwTOX%2BLizYRJR6cUT0pzjfGxnWEQMBE8LIhrAm1nqdZhTxBMAG384LEK%2BI4jYw0X8GvwfuFQxvi%2FPVsacVWFY2GzD2yQYNR58TEqxiyQRLwm%2FtYPDw5Cd%2BoF%2FEwy7CSwB1wt9zDPDFSK6wDlhSbGDwUbBuDJh3Dqh%2F0fgNEnEwjDtE5PBnwh%2FrxPGlgn928GhYRExR7VPgCN5QWj0s7D6NA8zo%2B%2FvYB4XsSDoKrbdbp%2FA9cPSAmcL%2Fi7h79e4RxYEnaGekWonVdnxbb6w13NvbBfmLA7LXvFPoYotdhg3lIsQs9MZlhTCIsRYAy0u41QpdnaYaqkz3LD37U52NiIW9gkT%2BPHUMHBhVorghi4QjGSHolqWToUCcJMk4qthPfXlgDukFMsy1Amhig23CEFMvvTmZV4E52bLlxHmmXl8zZxjhyKwGVzNQow%2BgBEIBAKBQCAQCAQCgUAgEAiEGwATItFhE6qiGysiazrQJtAmWIv%2BdGtci4yYf5PmdaB9BW2hTiF%2FMhlnGBVxECGxW4RV7CadQj5gxlZEFF6IyAan%2BgyhFRHFCxDGgfr%2B477JA3IoRWzedsR8bRojvQCdHrF6IKI2WNVWKMaILyYwIab1ofKA4AWI2I%2FrUrt7sjHahFhCR5WFIlF16ESid7u9HI1Cou4ZKmLbNyBEQtZIGUkSFonahpqtZ4Nc7GlB6lCzpGjJSHmcsdb0CrHbtW3CyxBrTePWOcHsI%2FZrIaM3bBd%2BeoRURd3TblUGQqoCEGLeH6ylSqYbnPhCtK6RCrsyQ94ozXVUwrXU0e6RiLosqbArHFVZS3WfQLKWU31VpQ43uwUenBBl4edea7lWCEEJqYhEXUt2OyPtarJAShT5mKs8KToIUZ1dtKdfi9ERm4OVQ9ZS1WU6Q%2BuKZW2o6iaFobaLPT1G61H3NVXaVKZghzWiqn7Rt0WnRwrx0M3gFfmEqPSEate3fFVJ3msr%2BEn64EYgEAgEAoFAIBAIBAKBQCAQshnL4gPBVeBucLiH8cPBveAz4MfDICAHrAJPggnO02Clw5zpfIwxns2NJO8VkIhx3AMJBbvAx8FcYXwu%2BAR4zWYOu9edOgXkg8%2BCV20MErkNLABv49du49k9Vyef4bOIaimMvDDKmcmck8mQ9VHIXPCsR2MOgTOEuTN4n5e5Z5LP8tkrxeA%2BByPawEVgX8Xcvvy3Nof5e5PP0LROmEE%2FkxZuJ0%2BngzzMH8THdgrz2b1%2BqnwBGgTdw%2BP5ZXBUD%2BaP4nPfBacGuY8MA1%2BxDSVvnl3E7zE0KBGV4Cnbxe0%2BX1787F7TdApgb%2FEph41tCzjWYf5YPkY1l93z5%2F6vk2XxEvDPHje2X4FDhLlDeJ%2BXjfRNcKSfQlY5eELFc%2BBS8GF%2B7XXetWRW89krFeBbHg16B7wb%2FCK%2F9jLnYPIZmtYJKwAfctnlt%2FMaaz6vkNn1Tpfd%2FEFToalx4bO4r5PCzdjYBoDPSzXXLfw3efxa03oKKA2PAMeDB%2Fhbnc7LGFVSYGNKwZl87H7wLk%2BHMQ1CjoA%2FBPtzD83iRjolgLl8bD%2FwUfBwGIQc4wayt%2FsceN3Dgr7OU7HhtZYwCBnJ66VED9mzOs1HQVPAv2Yg4JDekiTztPygy3mjrcdFZgCCVOcNo2wZ3CfrsCxexgtE50KSQCAQCAQCgUAgEAgEAoFAIBA%2Bmiiqq5nF2vZdpQ1gIskm1pYI16VnwcFhFjGmqL7mauHzC%2B9p2Vx2B4y9kjS8SRBkXO8qXRVmIVshJFFUV%2F2PiU%2FfmwdjV0vGi15hIm8PoYjqLzERxSkhCVx%2F68WN4wfD4PdthLBwawiXiPqa%2FvDGkaSAlAjWni6JRgYebyx7xCSkSRZT%2BoUwCfk%2BhCSSrOdMXS%2F%2F8vr7%2BsPoZotX0mL%2BAuaEYV0MA9uLjJAyeaWmE%2B3tb28b%2BxVlaKVDbGEYvLEu7YXqpCeEdXIF%2FBRPx%2FscvNIC3hykiM%2BB14vrLSFliFphjIWhn7cudhN%2FEJSIHAh40%2FBCt4j0OnkP1wPFOTD2RQch58Hbgki3kZThqTVRLApJ9dfKcy7sKh0JYy9bQist7Je6F%2Fgt4DvmkKpOCMIOFEWrlP9cCcY%2B1V2uWNkFlukU8qSwX5jXRqpvot3c8zvvGAhjTzvsK6%2FqCqlSGHu5W4DVK793uweMfchBCONUHUIa0gtb8kZdzQdFa6td%2F%2B1V69ZRfWHsW3yBn4eI89J1kw4hh8QwKjan3WXZc96or5lh2jPSbCl5rnbA9CUND0xfvOGPKTbsxt9WLt6wuxJk10bbfZ3iPF1itpj3juTamDfpe78bBmMuwqgEjEmYWpGsT%2B5P%2F30KvFXXgh8Dw7uEDTAZ0zBgjcVok7GcS4TWKuYB3RviL3iIdY144evllUteuhPGdXW%2FbdEjSZpFVIoeSf8WQ5unW0gBRJxD%2B0LSG4sbNivCxCxA9o51%2FIxgFn5dzdfGPP1YAd7utPTbFjwgi5H7zUK2BprFKpdsyIURbyvjvju8zCIrrQngGjiOvkERCAQCgUAgEAgEAoFAIBAIhCzFlO%2FWTwB3gx1gohfs4PeZEISICrCzlwJkdmoXgwfu7IXBF8FjAk8Jv%2B3SLeRyL4RUSPfKA4%2Fw3y7rFtKbECpW3G%2Bf8TsJISHuvARuAn%2FLDe3i%2FfOlexWAJ8MqZC04SJozFjzoNjdMQn7jMC8f%2FFfohAh%2FFxrpExziMvd%2BwfCP2d0zKCGVvK%2FRw9wB4DV54YdFyALe9weP8y%2Fw8QVhEzKF973uYW6%2BUSw63TMoIbfy9cFSbInL3G%2BqwjAUQnhfHe%2FfAfazmTcCfI%2BPqw6rkEKhkt0Dlgu%2F5YKzwf8aVS6YE0ohvP%2Bz4LtCej0OHgDbhD62yw%2F2es9AhPDfPgGuAdulze4%2F4KMOYRcuIcKYm8DPgFPBMjmUwiLEOFgN%2BpDuNyiog1UTf%2FBqti%2F08l75%2FD7sfk26hUzw6ePDxKA%2BB%2B35kD4H7QlEBIFAIBAIBALhxsL%2FAWFBQYLmSYGkAAAAAElFTkSuQmCC)}.uploadcare-widget-buttons>li.uploadcare-widget-buttons-dialog,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-file,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-url{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAB4CAYAAACaTFAUAAADn0lEQVR42u3bS2wNURjA8aLaEBp0IV5NPGJBkJBSEl1UtB5hQW0JXSIsxGMjFsRjQ9AHQtJiwUpUaVJExELi3US5JZ7FlajiJlQfPv%2FcfKQ5uVNuO2em9Cx%2BSe%2FMSe8%2FM3PnnGluU0SkR3FBLsgF7T9YXAn5S5VBBEkyY12QC3JB%2F0VQEiwFaUh3BBb0p3HJnjpbU4ap0s32LsgFuSAXpGzOZR0lNVb5GOT9RoOwGgdQih1Yin5BB6XjKFo0ZB4mYhrq0IhNQQVlIYKtxhumYYz%2BnAnBBfSxGZSOJ5AObxRFGcTDGZtBR7AX54yjUwnBZ4%2Bo%2Bb4H6QXcgiVGzEYIvkJwS8d9h6gHNoJWQ7DNCPqAcszFJFyDIAbpYKjfQbtRaMRkQTqI4DEELca%2BqX4HlWCCEVQD6URfiMq3cYSyjaAjEA95OmYsBDP8DloMQaYRFX9txLw1xrRjgN9BqfgIQUoCZyCqAinqOKps3Yc2QzyiaiGoR7VxdEbanDou41mCoHREjG2C7bbnsn44C8EIM0xtQzu2BLn8KMRdiGqGoBVVGBX4ekhlIhcLMB0DPMa5NbULckEuqLuT6xp8gSQphiILQRrTNZ9675%2BFTdU1V6XhXVTeRN8Lwg968bpBY3pGkBnigswQkwty15AL%2BqeDvnQjKGYjqAhNkCQ1ocitGF2QC3JB7rnMPZclqXcGmevnp89fyPmqS%2BEG1T6skyvXrsvNW7flZcMbYVu4QcT8fv2o%2Fkl8W3HZsZCC9DRpSBxHSveHGMRpi%2BN1%2FLQdO1HeM04ZP8e3VddcCf%2BiRvxosU0%2FaSEFmbiG3I2xS8KeXN1zmVsxuiAX1LuCuK9kIKeT%2FbOQEdR%2FTy3Ca7RibYL969GGV1ho80ExEychhhKkoj9KIYYKDPMtSGNWIArxcAqnIR6iKPQlSL%2BvuAVtEEM7ijFEleg2MbRhM%2Fr4ecoK0AhRd5CdYNxM3IOoRuRbuaj5xeNxAxuQ2um3sRijY8fpditBk1GL7UjrZFyajnmASbY%2BZcsRg6jHyEswbh4iEBXDMr8%2FZbvwA2L4gQoMVychHuN2%2BhlUgJcQD%2BUaJh6eo8DvUzYYxQmO1B7dl4F9CW4LhzHY5tSRi3o0YyVG4y7uIwurdF8Ec4OYywowEFOQg3cQ9R5zMEXH5AcRVIJqrMU3iKEZ63ARpUEtP5ajAeLhLVYEukDTi%2FgQ2hPNbaGtGHUxdh%2B1mN0jlrC%2F1kNuTR2En2aqi4BnOyDfAAAAAElFTkSuQmCC)}.uploadcare-crop-widget .jcrop-vline,.uploadcare-crop-widget .jcrop-hline{background-image:url(data:image/gif;base64,R0lGODlhCAAIAJEAAKqqqv%2F%2F%2FwAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2BQQJCgAAACwAAAAACAAIAAACDZQFCadrzVRMB9FZ5SwAIfkECQoAAAAsAAAAAAgACAAAAg%2BELqCYaudeW9ChyOyltQAAIfkECQoAAAAsAAAAAAgACAAAAg8EhGKXm%2BrQYtC0WGl9oAAAIfkECQoAAAAsAAAAAAgACAAAAg%2BEhWKQernaYmjCWLF7qAAAIfkECQoAAAAsAAAAAAgACAAAAg2EISmna81UTAfRWeUsACH5BAkKAAAALAAAAAAIAAgAAAIPFA6imGrnXlvQocjspbUAACH5BAkKAAAALAAAAAAIAAgAAAIPlIBgl5vq0GLQtFhpfaIAACH5BAUKAAAALAAAAAAIAAgAAAIPlIFgknq52mJowlixe6gAADs%3D)}.uploadcare-dialog-file-sources:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAsCAYAAAA%2BaAX8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArdJREFUeNrsml1ozWEcx387lolkMSNJLKNIIhQ3btwouXBDlJer09rF3LFdyZWLCbHMy4W3lPfXQl5rGyk1WkqE8hLJxbCZjW0%2Bj%2Bd32tNxzhnLyv%2F%2FO9%2F69JzzdLY63%2FN9nuf3PM%2B%2FYOee%2BjIReQcdkkVVlUmxoASshiewQozLmTEaJsEZuA0zrJvRA%2BvgPuyFWii2ZkYhjIFLcCToL4Ip8Al6LSWjBOrS%2Bjt1Hum1Nkzeww3J69cwOREkYCQ8hDnwOdcf7qrbF%2BkvnqlccMm4ELz%2FArdgq9XVJL3YqoZV4RIb9RT88TDJEJePfPn1utz%2BNiziXI0msvRf1dUkdnPFX5sR%2FPqNMN2KIYl%2BZttjcByGWplAcy0%2F9TSvYIuVOqM%2FbYD55pOh6Wilua77lRLTZgTzx0K4B2NNm6GG3KE5rTvc4abNUNXAU6gwbwbpcBu6tbAjn4y%2B%2BcOV6otg%2B0D%2BR2zMCAx5pFv9QzDErBmqdlimq0utlaIrl77CcphoPRkpfYeX%2BtrtZcotmxHK1SINsDRvhshB8TdzB2C2tTkjk%2B7CVPHXDQVarbZbTEZK38SfuLtz1OewxrIZKT3W%2BWMTnIVhls1waoZ5cHOQhmWkzHDqEn%2BF2QazoAmWWDUjVItWrO62%2FwqUWjbD6RzMhIviT9CcRlg1IzV0XDpeB4k5r7thc2akyyXlGhyGbXEpugaqDk3Kfuk7VlwJc3XP02IpGSl1i38awKlRi7fL8GCwd8f%2F%2BynVW9gs%2FpGqjfBB%2B116qv%2F1%2FicqR3Y9mpIufe%2FmlXHiT%2Bsbgs%2BVWjAjXU2alPLguGC8%2BKeO3sBJ8adwWZXp8rxQoq82bd2zaROgTJfnbu13r0%2BJv%2BJ4Bkc1TUUYMpnW3Ri2VlUmO%2BNgRrpeKOGRwgLxj1ZMgx%2Favxh2wygoxpjkTwEGAPykmqa52kHJAAAAAElFTkSuQmCC)}.uploadcare-crop-widget--loading .uploadcare-crop-widget__image-wrap{background-image:url(data:image/gif;base64,R0lGODlhGQAZAPQAAOzq7Ozu7OTm5Ly6vKSmpLS2tNTS1MzKzKyqrOTi5MTCxLSytNTW1Nze3PT29Ly%2BvKyurPz%2B%2FPz6%2FMzOzMTGxNza3PTy9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2BQQFCQAAACwAAAAAGQAZAEAFhCAgjqIkRRKgFEfjkOMZwXQNRKhs7yKe1ibULcdzpEw8QKIBkLySUBjSmKQ6aQ6c9powPAjgQUDqi5bKZTNJllafZ7JfNCsk0bcvE7tu26cGYAgIFU9AWjYBBwgETDBtUHQjj1E6Om5nJ0iXAHQnhW56lpc6k1CipTuiMahvnzR%2BQ1s0IQAh%2BQQFCQAAACwUAAQABQAIAAAFHaBTBQDAEIMDJARRlQexqAFCNOVDHKVBFKXEQBECACH5BAUJAAAALBQADQAFAAgAAAUcIAAIyiEaRCE%2BhBkgRAIcxOIIsAGggwM4hoAoBAAh%2BQQFCQAAACwNAAEACAAYAAAFJyAgAtBonmiqrmzrvnAsz6KQmMFBEIlgKDtEITAIQhgOwKNwaCRFIQAh%2BQQFCQABACwEAAEAFQAYAAAFTWAgjmRplWiqruNJIGwsr8Zs3y2u73zv25Te4Ic7BRo9oy1BCDCIDMGOgSBMlChYCVCoIhQGqXNEGABMBghhHURhSZbGoXAQDSiVtygEACH5BAUJAAMALAAADQAYAAwAAAVBIKUIQ2meaFoQTOq%2BFPK8dKkQDYFYtRuUFghh0qsxEARA8YQwWQqIxhLFGwCklSlNp30RXo9mz1EjLAzkbunwCgEAIfkEBQkADwAsAAAEABcACAAABS3g8wCJaJ5o6hRIk74iYzIEIsAwQjgLceDARi0AxB0IiiJsUCAYlDDF4AZNhQAAIfkECQkAEQAsAQAAABgACgAABT5gJI5OcxTTqK6rwywEgVBsPQZDjDyGoCK2kUF2ANQCQZHDkEhGBJUaoekMIgjVFVYEySaBXpUF23yEVQpRCAAh%2BQQJCQAXACwBAAAAGAAKAAAFXOAljk5zFNMVRZI0vrDDLASBUJe0ri48BoMa4mEQ5HS7iMN3MdgOAGaLBwMkHIYE89VyVAIiR4Gg3foYhMGSgSAYzbBErXKBEA5w5oGwsCAQYHkwFjVyD4JMCnchACH5BAkJAAoALAEAAAAYABUAAAVloCKOTnMUkxJFkjS%2BsMMsBIFQirSuLjwGgxriYRDkdLuIw6cw2A4AZosHAyQchgTz1VI4eo4CQbv1OVYiBoJgLMOQLgjh4GbuFAhEoG5nER58UiyBW0iEgj2HiouMjY6PkJGSjSEAIfkECQkAFwAsAQAAABgAGQAABZLgJY5OcxTTFUWSNL6wwywEgVCXtK4uPAaDGuJhEOR0u4jDdzHYDgBmiwcDJByGBPPVujh6jgJBu%2FU5ViIGgmAsw5AuCOHgZu4uCESgbmcRHnxSfgaBPkgDbYUjOj2KTAqJji0SBAyOiytDlyI8NhabPHIpkmhqBFGFZywXFgUIDYpIIwCwFZFMAloSS5u9vr%2B9IQAh%2BQQJCQAXACwBAAAAGAAZAAAFq%2BAljk5zFNMVRZI0vrDDLASBUJe0ri48BoMa4mEQ5HS7iMN3MdgOAGaLBwMkHIYE89W6OHqOAkG79TlWIgaCYCzDkC4I4eBm7i4IRKBuZxEefFJ%2BBoE%2BSANthSM6PYpMComOLRIEDI6LK0OXIjw2Fps8cimSaGoEUYVnLBcWBQgNikgjALAVkVJLEksvDDYTn4KrPgBiNgpFR0nCZgZyNTjKjWUWJgV0PNIvIQAh%2BQQJCQAVACwAAAAAGQAZAAAFpGAljpXTHMVURZEkkTDpMAtBIFQlsewbj4GBDfEwCHQ7XsTxqxhuB8DP1YsBEg5DojlylXylAmHLhTlYIwaCcCyTkj4I4eCO8UQIRKBub1UID3wxOy8EBoIwSRUDbYgihI5lCo2OLoUMkY9oRJkrfjcWmVVyKpVoFWoEUoJnfhUWBQgNiIojALMSTGW5OrpvVU1wTa08vJZKYFPInsWCVC89ySQhACH5BAkJABUALAAAAAAZABkAAAWeYCWOldMcxVRFkSSRMOkwC0EgVCWx7BuPgYEN8TAIdDtexPGrGG4HwM%2FViwESDkOiOXKVfKUCYcuFOVgjBoJwLJOSLweEcHDHeJUGAhGw31sHBA9%2BMTsSYgaEMEkKA22KIoaQXDtMk0hwlzo9aJdwnZNVVZBJkaN%2BZy0jp3alXXFgTQ4vEpZvrIsstmZKLUwuSbi5PC%2B9sWVUxS3HIyEAIfkECQkAAAAsAAAAABkAGQAABYggII6A0xzFBESRJJEw6TALQSAUILHsG4%2BBgQ3xMAh0O17E8QMYbofAz9WLOSQOY3PkKvlE1S3MweKGxSNyC7xGw5K6sjvWg8%2FfrfNdlGx99yVygFNLg3xUbYNJdoo9goBVenN2i3tqX5JijEheaFc6THiJMUmhVkotTC59o6RKL6h%2Fmjuwfk0hACH5BAUJAAAALAAAAAAZABkAAAV2ICCOoiRFEhChKemS54qq8vyOTo06gKnzt1jk1ou1SI6UiThaJkmrIxO3akanrpztinXFetXuK%2FoVe1Fcs5WsRobbwQgQbjLCS9F326hXX9NmZXZmWkeAWGUlKU9TTxJza1JnckRaMo9FQjZEmik6kkw%2BnixEIQA7)}.uploadcare-dialog{font-family:"Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(49,49,49,0.95);z-index:10000;overflow:auto}.uploadcare-dialog *{margin:0;padding:0}.uploadcare-dialog-inner-wrap1{display:table;width:100%;height:100%}.uploadcare-dialog-inner-wrap2{display:table-cell;vertical-align:middle}.uploadcare-dialog-close{position:absolute;top:4px;left:0;width:100%;min-width:988px}.uploadcare-dialog-close>div{margin:0;padding:0;border:none;background:none;width:33px;height:33px;line-height:33px;font-size:29.7px;font-weight:bold;color:#1d1d1d;cursor:pointer;position:absolute;right:0;top:0}.uploadcare-dialog-panel-wrap{margin:0 auto;width:900px;padding:0 44px}.uploadcare-dialog-panel{width:900px;height:616px;overflow:hidden;border-radius:8px;background:#fff;-ms-box-shadow:0 1px 2px rgba(0,0,0,0.35);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.35);-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.35);-o-box-shadow:0 1px 2px rgba(0,0,0,0.35);box-shadow:0 1px 2px rgba(0,0,0,0.35);font-weight:normal}.uploadcare-dialog-panel a{text-decoration:none;border-bottom:1px dotted}.uploadcare-dialog-panel a:link,.uploadcare-dialog-panel a:visited{color:#1a85ad;border-bottom-color:#1a85ad}.uploadcare-dialog-panel a:hover,.uploadcare-dialog-panel a:active{color:#252525;border-bottom-color:#252525}.uploadcare-dialog-body .uploadcare-dialog-tabs{-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:75px;height:616px;float:left;list-style:none;list-style-type:none;margin:0;padding:0;background:#dee0e1;border-bottom-left-radius:8px;border-top-left-radius:8px;overflow:hidden;position:relative}.uploadcare-dialog-body .uploadcare-dialog-tabs:before{content:\'\';display:block;position:absolute;top:0;right:0;bottom:0;width:0;border-left:1px solid #c5cace}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab{-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:75px;height:66px;border-bottom:1px solid #c5cace;border-right:1px solid #c5cace;cursor:pointer;position:relative}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab:after{content:\'\';display:block;position:absolute;width:50px;height:50px;top:50%;left:50%;margin-top:-25px;margin-left:-25px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab:hover{background-color:#ebeced}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-selected-tab{margin-right:-1px;border-right:1px solid #efefef}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-selected-tab,.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-selected-tab:hover{background-color:#efefef}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-file:after{background-position:0 -50px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-url:after{background-position:0 -100px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-facebook:after{background-position:0 -150px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-dropbox:after{background-position:0 -200px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-gdrive:after{background-position:0 -250px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-instagram:after{background-position:0 -300px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-first-tab{border-top-left-radius:8px}.uploadcare-dialog-body .uploadcare-dialog-tabs-panel{position:relative;-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;margin-left:75px;padding:22px 25px;width:825px;height:616px;line-height:22px;background:#efefef;border-bottom-right-radius:8px;border-top-right-radius:8px;font-size:16px;color:black}.uploadcare-dialog-body .uploadcare-dialog-tabs-panel input{-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:100%;height:44px;margin-bottom:22px;padding:11px 12.5px;font-family:inherit;font-size:16px;border:1px solid #c5cace;background:white;color:black}.uploadcare-dialog-body .uploadcare-dialog-tabs-panel .uploadcare-dialog-drop-file{background:white;border:1px dashed #c5cace;border-radius:3px;height:99px;padding-top:77px;text-align:center;color:#545454}.uploadcare-dialog-body .uploadcare-dialog-tabs-panel-facebook,.uploadcare-dialog-body .uploadcare-dialog-tabs-panel-dropbox,.uploadcare-dialog-body .uploadcare-dialog-tabs-panel-gdrive,.uploadcare-dialog-body .uploadcare-dialog-tabs-panel-instagram{padding:0}.uploadcare-dialog-body .uploadcare-dialog-tabs-panel-facebook iframe,.uploadcare-dialog-body .uploadcare-dialog-tabs-panel-dropbox iframe,.uploadcare-dialog-body .uploadcare-dialog-tabs-panel-gdrive iframe,.uploadcare-dialog-body .uploadcare-dialog-tabs-panel-instagram iframe{border-bottom-right-radius:8px;border-top-right-radius:8px}.uploadcare-dialog-footer{font-size:13px;text-align:center;color:#888;margin-top:15px}.uploadcare-dialog-footer a{color:#c2c2c2;text-decoration:none}.uploadcare-dialog-footer a:hover{text-decoration:underline}.uploadcare-dialog-title{font-size:25px;line-height:1;font-weight:bolder;margin-bottom:25px}.uploadcare-dialog-title2{font-size:20px;line-height:1;padding-bottom:11px}.uploadcare-dialog-label{font-size:15px;line-height:25px;margin-bottom:12.5px}.uploadcare-dialog-section{margin-bottom:22px}.uploadcare-dialog-normal-text{font-size:13px;color:#545454}.uploadcare-dialog-button{display:inline-block;font-size:13px;line-height:31px;padding:0 22px;margin-right:.5em;border:solid 1px;border-radius:3px;cursor:pointer;color:#444}.uploadcare-dialog-button,.uploadcare-dialog-button[disabled]:active,.uploadcare-dialog-button.uploadcare-disabled-el:active,.uploadcare-dialog-button[disabled]:hover,.uploadcare-dialog-button.uploadcare-disabled-el:hover{background:#f3f3f3;background:-webkit-linear-gradient(whitesmoke,#f1f1f1);background:-moz-linear-gradient(whitesmoke,#f1f1f1);background:-o-linear-gradient(whitesmoke,#f1f1f1);background:linear-gradient(whitesmoke,#f1f1f1);-ms-box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;-o-box-shadow:none;box-shadow:none;border-color:gainsboro}.uploadcare-dialog-button:hover{background:#f8f8f8;background:-webkit-linear-gradient(#fbfbfb,#f6f6f6);background:-moz-linear-gradient(#fbfbfb,#f6f6f6);background:-o-linear-gradient(#fbfbfb,#f6f6f6);background:linear-gradient(#fbfbfb,#f6f6f6);-ms-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-o-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05)}.uploadcare-dialog-button:active{background:#f3f3f3;background:-webkit-linear-gradient(whitesmoke,#f1f1f1);background:-moz-linear-gradient(whitesmoke,#f1f1f1);background:-o-linear-gradient(whitesmoke,#f1f1f1);background:linear-gradient(whitesmoke,#f1f1f1);-ms-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-o-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 2px rgba(0,0,0,0.05)}.uploadcare-dialog-button[disabled],.uploadcare-dialog-button.uploadcare-disabled-el{cursor:default;opacity:.6}.uploadcare-dialog-button:active,.uploadcare-dialog-button:hover{border-color:#cbcbcb}.uploadcare-dialog-button-success{display:inline-block;font-size:13px;line-height:31px;padding:0 22px;margin-right:.5em;border:solid 1px;border-radius:3px;cursor:pointer;color:white}.uploadcare-dialog-button-success,.uploadcare-dialog-button-success[disabled]:active,.uploadcare-dialog-button-success.uploadcare-disabled-el:active,.uploadcare-dialog-button-success[disabled]:hover,.uploadcare-dialog-button-success.uploadcare-disabled-el:hover{background:#3786eb;background:-webkit-linear-gradient(#3b8df7,#347fdf);background:-moz-linear-gradient(#3b8df7,#347fdf);background:-o-linear-gradient(#3b8df7,#347fdf);background:linear-gradient(#3b8df7,#347fdf);-ms-box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;-o-box-shadow:none;box-shadow:none;border-color:#266fcb}.uploadcare-dialog-button-success:hover{background:#3279d6;background:-webkit-linear-gradient(#3986ea,#2c6dc2);background:-moz-linear-gradient(#3986ea,#2c6dc2);background:-o-linear-gradient(#3986ea,#2c6dc2);background:linear-gradient(#3986ea,#2c6dc2);-ms-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-o-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05)}.uploadcare-dialog-button-success:active{background:#3177d3;background:-webkit-linear-gradient(#3680e1,#2c6fc5);background:-moz-linear-gradient(#3680e1,#2c6fc5);background:-o-linear-gradient(#3680e1,#2c6fc5);background:linear-gradient(#3680e1,#2c6fc5);-ms-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-o-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 2px rgba(0,0,0,0.05)}.uploadcare-dialog-button-success[disabled],.uploadcare-dialog-button-success.uploadcare-disabled-el{cursor:default;opacity:.6}.uploadcare-dialog-button-success:active,.uploadcare-dialog-button-success:hover{border-color:#266eca #1f62b7 #1753a1}.uploadcare-dialog-button-success:hover{-ms-box-shadow:inset 0 -1px 3px rgba(22,82,160,0.5);-moz-box-shadow:inset 0 -1px 3px rgba(22,82,160,0.5);-webkit-box-shadow:inset 0 -1px 3px rgba(22,82,160,0.5);-o-box-shadow:inset 0 -1px 3px rgba(22,82,160,0.5);box-shadow:inset 0 -1px 3px rgba(22,82,160,0.5)}.uploadcare-dialog-button-success:active{-ms-box-shadow:inset 0 1px 3px rgba(22,82,160,0.4);-moz-box-shadow:inset 0 1px 3px rgba(22,82,160,0.4);-webkit-box-shadow:inset 0 1px 3px rgba(22,82,160,0.4);-o-box-shadow:inset 0 1px 3px rgba(22,82,160,0.4);box-shadow:inset 0 1px 3px rgba(22,82,160,0.4)}.uploadcare-dialog-big-button{border-radius:100px;font-size:20px;font-weight:normal;letter-spacing:1px;color:white;line-height:64px;border:solid 1px #276fcb;text-shadow:0 -1px #2a7ce5;display:inline-block;padding:0 2em;cursor:pointer;-ms-box-shadow:inset 0 -2px #1f66c1;-moz-box-shadow:inset 0 -2px #1f66c1;-webkit-box-shadow:inset 0 -2px #1f66c1;-o-box-shadow:inset 0 -2px #1f66c1;box-shadow:inset 0 -2px #1f66c1;background:#458dee;background:-webkit-linear-gradient(#4892f6,#4289e6);background:-moz-linear-gradient(#4892f6,#4289e6);background:-o-linear-gradient(#4892f6,#4289e6);background:linear-gradient(#4892f6,#4289e6)}.uploadcare-dialog-big-button:hover{-ms-box-shadow:inset 0 -2px #1652a0;-moz-box-shadow:inset 0 -2px #1652a0;-webkit-box-shadow:inset 0 -2px #1652a0;-o-box-shadow:inset 0 -2px #1652a0;box-shadow:inset 0 -2px #1652a0;background:#3279d6;background:-webkit-linear-gradient(#3986eb,#2c6dc2);background:-moz-linear-gradient(#3986eb,#2c6dc2);background:-o-linear-gradient(#3986eb,#2c6dc2);background:linear-gradient(#3986eb,#2c6dc2)}.uploadcare-dialog-big-button:active{border:none;line-height:66px;-ms-box-shadow:inset 0 2px #2561b9;-moz-box-shadow:inset 0 2px #2561b9;-webkit-box-shadow:inset 0 2px #2561b9;-o-box-shadow:inset 0 2px #2561b9;box-shadow:inset 0 2px #2561b9;background:#2c6ec3;background:-webkit-linear-gradient(#2c6ec3,#2c6ec3);background:-moz-linear-gradient(#2c6ec3,#2c6ec3);background:-o-linear-gradient(#2c6ec3,#2c6ec3);background:linear-gradient(#2c6ec3,#2c6ec3)}.uploadcare-dialog-preview-image-wrap1{width:100%;height:452px;margin-bottom:25px;display:table}.uploadcare-dialog-preview-image-wrap2{display:table-cell;vertical-align:middle;text-align:center}.uploadcare-dialog-preview-image-wrap2 img{max-width:775px;max-height:452px;display:block;margin:0 auto}.uploadcare-dialog-preview-footer{background:#fff3be;border-top:1px solid #efe2a9;height:33px;padding:16px 30px;margin:0 -25px -22px;border-bottom-right-radius:8px}.uploadcare-dialog-preview-footer .uploadcare-dialog-button-success{float:right;margin-right:0}.uploadcare-dialog-preview-footer .uploadcare-dialog-button{float:left}.uploadcare-dialog-preview-center{text-align:center;padding-top:176px}.uploadcare-dialog-preview-circle{width:66px;height:66px;display:inline-block;margin-bottom:22px}.uploadcare-no-draganddrop .uploadcare-if-draganddrop{display:none}.uploadcare-draganddrop .uploadcare-if-no-draganddrop{display:none}.uploadcare-dialog-file-drop-area{width:100%;height:100%;-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;background:#f8f8f8;border:dashed 3px #c5cacd;text-align:center;border-radius:3px;padding-top:70px}.uploadcare-dialog-file-drop-area .uploadcare-dialog-big-button{margin-top:11px;margin-bottom:55px}.uploadcare-no-draganddrop .uploadcare-dialog-file-drop-area{border:none;padding-top:73px;background:transparent}.uploadcare-dialog-file-title{font-size:40px;line-height:1;color:#dee0e1;font-weight:bold;margin-bottom:66px;text-shadow:0 1px white}.uploadcare-no-draganddrop .uploadcare-dialog-file-title{text-shadow:none;color:black;margin-top:66px}.uploadcare-dialog-file-or{font-size:13px;color:#8f9498;margin-bottom:44px}.uploadcare-dialog-file-sources{position:relative;display:inline-block}.uploadcare-dialog-file-sources:before{content:\'\';display:block;position:absolute;width:67px;height:44px;top:-32px;left:-90px}.uploadcare-dialog-file-source{display:inline;font-size:15px;margin-right:.2em;cursor:pointer;font-weight:300}.uploadcare-dialog-file-source:after{content:\'\\00B7\';color:#b7babc;margin-left:.5em}.uploadcare-dialog-file-source:last-child:after{display:none}.uploadcare-draging .uploadcare-dialog-file-or,.uploadcare-draging .uploadcare-dialog-file-sources,.uploadcare-draging .uploadcare-dialog-file-drop-area .uploadcare-dialog-big-button{display:none}.uploadcare-draging .uploadcare-dialog-file-drop-area{background:#f2f7fe;border-color:#438ae7;padding-top:264px}.uploadcare-draging .uploadcare-dialog-file-title{color:#438ae7}.uploadcare-crop-widget .jcrop-holder{direction:ltr;text-align:left}.uploadcare-crop-widget .jcrop-vline,.uploadcare-crop-widget .jcrop-hline{background-color:white;background-position:top left;background-repeat:repeat;font-size:0;position:absolute}.uploadcare-crop-widget .jcrop-vline{height:100%;width:1px!important}.uploadcare-crop-widget .jcrop-hline{height:1px!important;width:100%}.uploadcare-crop-widget .jcrop-vline.right{right:0}.uploadcare-crop-widget .jcrop-hline.bottom{bottom:0}.uploadcare-crop-widget .jcrop-handle{background-color:#333;border:1px #eee solid;font-size:1px}.uploadcare-crop-widget .jcrop-tracker{height:100%;width:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}.uploadcare-crop-widget .jcrop-handle.ord-n{left:50%;margin-left:-4px;margin-top:-4px;top:0}.uploadcare-crop-widget .jcrop-handle.ord-s{bottom:0;left:50%;margin-bottom:-4px;margin-left:-4px}.uploadcare-crop-widget .jcrop-handle.ord-e{margin-right:-4px;margin-top:-4px;right:0;top:50%}.uploadcare-crop-widget .jcrop-handle.ord-w{left:0;margin-left:-4px;margin-top:-4px;top:50%}.uploadcare-crop-widget .jcrop-handle.ord-nw{left:0;margin-left:-4px;margin-top:-4px;top:0}.uploadcare-crop-widget .jcrop-handle.ord-ne{margin-right:-4px;margin-top:-4px;right:0;top:0}.uploadcare-crop-widget .jcrop-handle.ord-se{bottom:0;margin-bottom:-4px;margin-right:-4px;right:0}.uploadcare-crop-widget .jcrop-handle.ord-sw{bottom:0;left:0;margin-bottom:-4px;margin-left:-4px}.uploadcare-crop-widget .jcrop-dragbar.ord-n,.uploadcare-crop-widget .jcrop-dragbar.ord-s{height:7px;width:100%}.uploadcare-crop-widget .jcrop-dragbar.ord-e,.uploadcare-crop-widget .jcrop-dragbar.ord-w{height:100%;width:7px}.uploadcare-crop-widget .jcrop-dragbar.ord-n{margin-top:-4px}.uploadcare-crop-widget .jcrop-dragbar.ord-s{bottom:0;margin-bottom:-4px}.uploadcare-crop-widget .jcrop-dragbar.ord-e{margin-right:-4px;right:0}.uploadcare-crop-widget .jcrop-dragbar.ord-w{margin-left:-4px}.uploadcare-crop-widget .jcrop-light .jcrop-vline,.uploadcare-crop-widget .jcrop-light .jcrop-hline{background:#FFF;filter:Alpha(opacity=70)!important;opacity:.70!important}.uploadcare-crop-widget .jcrop-light .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#000;border-color:#FFF;border-radius:3px}.uploadcare-crop-widget .jcrop-dark .jcrop-vline,.uploadcare-crop-widget .jcrop-dark .jcrop-hline{background:#000;filter:Alpha(opacity=70)!important;opacity:.7!important}.uploadcare-crop-widget .jcrop-dark .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#FFF;border-color:#000;border-radius:3px}.uploadcare-crop-widget .jcrop-holder img,.uploadcare-crop-widget img.jcrop-preview{max-width:none}.uploadcare-crop-widget{font-family:"Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif}.uploadcare-crop-widget__image-wrap{position:relative}.uploadcare-crop-widget--loading .uploadcare-crop-widget__image-wrap{background-repeat:no-repeat;background-position:center}.uploadcare-crop-widget__image-wrap img{display:block}.uploadcare-crop-widget__error{-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;text-align:center;position:absolute;top:50%;left:0;right:0;margin-top:-1em;display:none}.uploadcare-crop-widget--error .uploadcare-crop-widget__error{display:block}.uploadcare-crop-widget__error__title{font-size:20px}.uploadcare-crop-widget__error__text{font-size:15px}.uploadcare-crop-widget__controls{height:30px;padding-top:5px;text-align:center}.uploadcare-crop-widget--no-controls .uploadcare-crop-widget__controls{display:none}.uploadcare-widget{display:inline-block!important;position:relative;vertical-align:middle;padding:0 5px}.uploadcare-widget[data-status=loaded] .uploadcare-widget-buttons>li,.uploadcare-widget[data-status=started] .uploadcare-widget-buttons>li{display:none}.uploadcare-widget[data-status=started] .uploadcare-widget-buttons .uploadcare-widget-buttons-cancel,.uploadcare-widget[data-status=loaded] .uploadcare-widget-buttons .uploadcare-widget-buttons-remove{display:inline-block}.uploadcare-widget .uploadcare-widget-circle{width:25px;height:25px;top:-1px;float:left;margin-right:1ex}.uploadcare-widget-circle{position:relative;font-size:0}.uploadcare-widget-circle .uploadcare-widget-circle-back{position:relative;width:100%;height:100%;border-radius:50%;background:#e1e5e7}.uploadcare-widget-circle .uploadcare-widget-circle-back.uploadcare-widget-circle-active{background:#d0bf26}.uploadcare-widget-circle .uploadcare-widget-circle-center{position:absolute;background:white;width:10%;height:10%;top:50%;left:50%;border-radius:50%;margin-top:-5%;margin-left:-5%}.uploadcare-widget-buttons{position:relative;top:-1px;float:left;overflow:hidden;margin:0;padding:0;list-style:none}.uploadcare-widget-buttons>li{height:24px;float:left;font-size:11px;color:#8f9295;line-height:25px;min-width:36px;padding:0 6px;margin:0 3px 1px 0;list-style:none;-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;border-radius:2px;background:#e1e5e7;cursor:default}.uploadcare-widget-buttons>li.uploadcare-widget-buttons-dialog,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-file,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-url{background-position:0 0;background-repeat:no-repeat;padding-left:30px}.uploadcare-widget-buttons>li.uploadcare-widget-buttons-dialog,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-url{background-position:0 -24px}.uploadcare-widget-buttons>li.uploadcare-widget-buttons-cancel,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-remove{font-size:.9em;display:none}.uploadcare-widget-status-text{float:left;overflow:hidden;line-height:25px;height:25px;margin-right:1ex;white-space:nowrap;padding:0 5px}.uploadcare-widget-file-name{cursor:pointer;color:#1a85ad;border-bottom-color:#1a85ad;text-decoration:none;border-bottom:1px dotted}.uploadcare-widget .uploadcare-widget-dragndrop-area{display:none;position:absolute;top:-8px;left:0;width:100%;height:41px;line-height:41px;text-align:center;background-color:#f0f0f0;color:#707478;border:1px dashed #b3b5b6;border-radius:20.5px}.uploadcare-widget .uploadcare-widget-dragndrop-area.uploadcare-dragging{display:block}\n');}return __p.join('');};
|
17950
|
+
this.JST["uploadcare/templates/source-tab-base"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div \n class="uploadcare-dialog-source-base-wrap" \n role="uploadcare-dialog-source-base-wrap"\n></div>\n\n<div class="uploadcare-dialog-inner-footer uploadcare-dialog-source-base-footer">\n <div \n class="uploadcare-dialog-button" \n role="uploadcare-dialog-source-base-show-files">',(''+ t('dialog.showFiles') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n <div\n class="uploadcare-dialog-button-success" \n role="uploadcare-dialog-source-base-done">',(''+ t('dialog.done') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n <div \n class="uploadcare-dialog-inner-footer-text"\n role="uploadcare-dialog-source-base-footer-text"\n ></div>\n</div>\n');}return __p.join('');};
|
17951
|
+
}).call(this);
|
17952
|
+
(function() {
|
17953
|
+
this.JST || (this.JST = {});
|
17954
|
+
this.JST["uploadcare/templates/styles"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('\n\n\n\n\n\n.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab:after{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAFeCAYAAADHfkwkAAAQGUlEQVR42uydbYxVRxnHuxdaa6q8pLwEQSi1CpLWT1qML9A2gDRVbKQNDfWDoU1s0bQ1RqOJrUqNDRQwvhCtxp6%2BKJMQarTQLmAbKtg2QutriESK1KTCCrvlZWnLsmzxP%2BzD3f%2FOM3P39sOZc8Xnwz8zZ87ce%2BZ3nnlm5p4zd%2Ba806dPnxMyEAMxEAMxEAMxkP9bkIceXUty5xWPDD6G2hCfhfTliP8e8Q6oB3EvH0eaWwHNQryt%2FjmEBRR8fyYQiApSg5agMHsQngbIaYSQo1DiIsm7BHlrHgJhHUqUD6ToB5kK7eBC4phhfKFDCE7fId9BNyYDSDG4OlyF8BAVkEINAThoIE55D%2BF4lnxnDhDHd2weLtojBVJVqCAgZY14tevBuU%2Bwz%2BSoWtNwoWO4qIJgmDiQS8JB3dA0aUhKBxkmPsFVRwFIWiMAnXfAZ4ZlsIhbIs5cd1o5VoVtHtCFlrml1OYXF2pDgfcQQOyu66qV9iMOWXt8n1SmRWZLYbiQEsabWk5Lg0A6%2F%2BwyLbJcmk4uRMLJNUi88BLqPMvLtMh27hN0vU%2F1EyJdzShd3ZBtZYJ00MVUn5Bw9K2IQ5xvaMeHOsqsWj2JFinVDD9FfY%2BPR%2FsdtlIx4Hs95VmEQXR10dULhfcdWyEgyjdEAWAWkA51B4NQAUnVkri2SNpfOjI4e9o3BDTpRxpad66iUp19hb7ryirp8VST5wVqeZnOPlv5RtzZB5w2ag2n%2Bxit2WVapA3aExY63THqdF2NdFx%2BPdbKHv3eosdPQ492df4GvyDLHjT6Ly%2F6h%2FE7Vd3Wx1oaMFblXgD0sJJB6n3CdKibfUFbQFc%2FLeVj3dB0eTqTBcTrWhQCP3W1r6SrD8J0K9Xjv1O%2Bv9xfiEXwHEou3J3uSwaJHT20YrfcmFxPUVzsudZ0X68JQkBU8xx93iWfnV63RJ4HdPx0ke%2Beq0FLEH9JQJQFQtAzeeUBnb45%2BXyExZaqQbOg%2B5HvWahDRsxeHdCzyOvPzYJq%2FFkJOW4PsQ3EQAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzEQIInjTPlCaF%2BETr0E3edJ3irRXoJmlnmQ%2By9UoD9uNDLCKH%2BEI8%2B5RhxaNC5ehyic4nPHhDAveWByIwEqK0IHpmqUOKFiM4NZfU25Ov0likNRKzxMgMIEBc%2Bqrfy3kMsWC5IQSAKQJ7WFyqdj5sFWZsLxInEKoGVvDQw0psE8a8kSvURcVA9GzutII8b%2BoaVbxFHIKo6xauaAmsWxJUMgouoQuvqk3L8pn0EKrlqkY%2Bk%2FMBLzXdvqaolIGGB1TFLA7UGiO%2BFVWeoAHTzLDCtZJEARHWOyvEZtkkQB5BMza8GcI0bgEdaqdXqBzkRdnhFqtAqT9Md4vFyQdLTyGmmg5LKX%2Bg0Pc8rg4%2BomaJcOCgAcgIZm0iTBs%2FRj0ihRLoQzcTVZ5WlSx6iHOeL6Uk0KQvpub4axoXAR8usWnepaUtQHI6rVtMWY91REoietyWhiONuX4Pf8f9qlacoqR9M3PSepLscVqHelgFpPPp190AxR2agu1sBpOGQBOG9aqJmEELfsgd0BmIgBmIgBmIgBmIgBmIgBmIgBmIgBmIgBmIgBnLugCTeHzo1P4VnCyE%2BAfH7kb4b8RMIu5C%2BGeEihLVqQNIvPhPp7tPQ0QZrqjwNjawCRFskPePhBqiXXi30IdwHdQVQG%2FCZtqwgeoqfFFwvRDkIAmE70iZL9axBi6Cj9D5lYVYQXYVcaAWxhOuld4mPIe0CKPyuxbTQ2KbcFuHqFbPQjR6CXvb8ykP4PBGQGtKPS76u3D5CBVfhXNxhgXDQgCUkT%2BzG%2FFPy92QFoUKFGgEdpFdt66ELkXeCnI9ZZBLUJ9bbXQGIi1nkS%2FSK7XewjIf4OfQ6dIfcALbscOTfQOtqrcoLomeY3gD5Dm8jvUOcieOvBatvLC0EBPHh0Dryo2PQxPzODhXUxELnQ3%2BifuFt0CU4%2FzAkabAMCtsP4dYR5CmcX1DZEAU6C3EaGg09RSDTqBV7kHr1b0JzaF7KKcRvqm6spXvs2dC3aRmeB8l%2FplG%2BLQjHQVGI3FVrAVnCFwj9hPNN7BTohE8T%2BWr1PqlmYin3Z1nc1UMsqmz0K059jJz0MQ9BE5rvDCaZeYe%2FkuCeQNo4BZEfxK0kiHaEgFATMb8gTe7DYo0tVLW%2B2CpTOP4uPtCHOz1Z%2FCU2XBmH8x5iHc3H6sS50S0BQj6wjwof%2B09JvZ8gx%2F6UP9cqIJ1S91%2BFakX8XzzDBllCWicBbA0QVJfNNA%2FrJgEgYdgBCIgs4eoQRQtZZBGNp45CS6BhUqUmQRsJ9BTAFWxrWKR%2FvcbfBrPkXpcZ1H1UncQSMi5rNYuIVUaiUBuDVfsZrBvxBdEZ2S0GArk2aCEK533mMNQD7YFWQ5O4NUPIMPaAzkAMxEAMxEAMxEAMxEAMxEAMxEAMxEAMxEAMxEAyKNdD7PEyv%2BTEEJtx4VyzW3E6%2F12PI5yQ87XCbxounCcqwp1b9T4kiCugjTlBXkts8aSAEtsNQsn03pwgUkgJ0%2Fu1SRhXkdi%2FJxvIkAVMVTWVV%2FlQXpAhN9zS1uG0HdDUyFILVVhE%2BwYXVtJTLdjH1EzU6kDSq80UUQs5Dt8eX6cO5yu2CGvIvRLJGgnLZgYJdxTTcvE8NBs13pdUA5La%2FzMJOHgpxGj1yweiW6wUgLZCoReglGOX30eiPTmDKaDEnHmGkbzZq5YGSW8orxeidGoCNOWvstXSe%2Bqmt9EMfER9LqNFlHOn%2BxPlS2yRxB7VlTh7%2FPdGDFLSuSOMfz4%2FiCi56pnedz1wfAapxNlpg%2Fm3ts0%2FgRSBg1c%2FRIGa2d6cLVKIOE9FrZZuoaLjJu0fERDHwNn7kZNqyB4N9dCeO8JEC9eb00eeCAqhhu8KRM7xdNrET932nLNMJ%2BCCT0Inw2ZWCswFjzUMsWrnrbwJae%2ByB3QGYiAGYiAGYiAGYiAGYiAGYiAGYiAGYiAGYiAG8j8EErzjkIWP1q6CnkF8YrAZlxbyQNsQX4nwnZXvCCP%2Fa78Z2k8PrA8inKsWSBJohPN8HnolsR9ajHhbVRa5wlsgsS%2BVX1XgbqhGr6F9%2FB7E%2B2KvH8Sal2cDQeFG4qLfg3oju4SFx5sRvxhpYxH6eJBHzaLrRdpqxEeWCoKLfBba33D2jz5%2BACEUbBuVyg%2FJNW4uE%2BR6FKAr9jpay%2B1COJ9mN8yHdun36no2EY47%2FbXKrVqPnlmZZjsumrLCIYRLoeGFXlnTp%2Flzh7jwgZ9tQ%2FrkXK3WcOg73nGpAD3QSmiU2mKQJtPIhJpRCH3eHrJsH7QM%2BYdn3%2F4JugbaL0sXXgZFpjI5tQMyfc9l%2FrNI%2FzfiV1fV%2FEJuPMLHoaViJb3TGCQg9WO2rP%2BsfMe4qnYWmwsdoKqxC5oPNVqY1Usg4Pz4DLVkBxDOyQMidxEXvQ8X7St8AXSr0460GQEQV7UZCNtjsx7kO7%2Frr1H2jvmX4GLPp6ZpEFgvwjUo%2FBhyeMTdmgLnFIBujp9D3iklgviBoetrZvdJOT4si0ze6eOULy3kkWHMyrKr1odxoRf1eEnvSAm9gmM%2F8%2FrjCF%2BRtKHmB7%2Fgr5HL2Wu44O24YFeDAm2RMdaNfrgBuLHQ0zhOTSHsRPw2qJa31Rqo9z9DyB1jHwq1TKaO%2F5DAHsD5i6BlUL16Svyn0JiqN3Z8NzQT2gl1In0eNBl6PrK56U5ATkX8WhlP7YCuRJ6Jle9QifAfCL8u6%2FmOga7zQA22nD0MXS95zwfYlxHurgIk%2FKfB3oH%2FhbjvI3wz9gcXhpE8a85aDTD7qgMRGGiKjLX0FCZRGgiScVp1VUvrKhTqjwogIfltMqd1tqMlf5Fm%2BTboUINOs%2F57pSX21eXhOlQ%2FlrRR8tukh3449UJr1PKfVYMU6rlVdBnQaVA7jtsBNEPy2ZNGAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzEQAzlnQPTOexLWdZ2krY8tFiZpXdDolgGBAgj3fpk8dg2e9b6niPxNnOBWVQ%2BirXAWapMU9K%2By%2BdDqwQCOYTzkpa01y7Rfnwz%2BcP952VbwVV59gKGg9S1mEXeBvBTlO38QGoH4XZE1GlkfrQokhPD6igCE%2FrBctqDd02D%2ByR8QtlUBEi4xNR7hsfBOy93vQfxS6DOpFkzSKtnYMVwf60EotbrZSYTvFcttH7CC0j7kvbASiwjIBxG%2BSXc2tMgKeh33IcoX85WvVuUjbSjQc0GV4fh%2FoBHBbq%2B%2FqINofzmC9LFV%2BMhibQnHTrwksqXzFIRvKHAJoR%2FlBrlI5l%2BlZjfshGrhMp%2Bi%2ByKLI%2FEmd9Mygrh7uZ6HcegjwbRZhhmBtIMEE1axDbkmZ%2FoFVd%2Bg6d%2BhfhlaQQ8u3e1DLId4dQYQ7O6dcFjoNWhirEoVegfLFxE%2F0i93pJC4aGsOkF0DEMrZvxEMIpVFWmPmg0w8TnVqMv3vVpz%2FNeKQewbxM8IxidNcPaS8C3P1I%2B3aR9xChONxrlvSmp2vFa6cdgB6R67m1%2F%2BAOkWj2q1SpX5CaZEhi0j%2Fq4fXa7w1d4f4A9pq9gOIX05wup%2BISi0k9jccD8s9RLlYZlr%2FWMCe1AXWy3syaAR6fgVjLefDzyH0QHOia2JzmEgrBrSp0h9WAKhBfwkKpyzA1ik0YB%2FSrrDnWgZiIAZiIAZiIAZiIAZiIAZiIAby3%2FbOWKWBIIqiqARRhChaaKH4BVrYuHYWlnaKja1f4H%2BkFi3WyvyAnTExxNIfUIiFokGsRGGzEMG7cgM3%2BzbpMtNMcdnZcTPOmbdvHDLPNwEkgASQABJAAsgY5ChgIILuoKEnudrsHIVHbHa52RM5B2FKkbRo%2B01lAG2siu5FpoRxapFbk3pt9A6V6hv1bUC0Uc7UkYGouwZJrCWqIo52sQW2c21Noe6JzyeuQbTTFsgmR9KdqbWCbYpWvz3nICNyyRnIWIR6A8IQKD8gotEpDq31DAgGpUVruQZRB7di%2FQ%2Beucb1kiPeo1UOtS1u3b0T1AOI9Q%2B9nsdMqqcJwqAHDoCZ7fyAjD4IO87FaImqZVwfzesnQF58RJKtrtAPEtwvDcQDS5k6kGNqZ7XN2CcIYfbYkZpJpsd7gZuBfmUG8w8iUUBHvL9iHSVQFMtffH7RK0j%2F1dC8QbTQvYnVErGuTIiuGRznIPylkodxDkqgHrQO6WyVDzA44SDUfIPoEkU7e8HO3EAlsYyGy66i%2FMHPHudmQu8%2BQv3PXB0uXZoob0jqz0mU93F95SDUGQ%2Fv1yKyws37whb0JrPaM0NnP2V91oIWhljZvbNnEgidqZahs%2F%2FA%2F8G11wvKp1BJ2%2FI8%2FdozcmObYn0adZsA3mV6qgn%2BTNry7%2Bz9sPB5dWjxCVXO4S1I1g7bS1xbpMHXpcK%2FC%2BYVy9URwoLw8xVapOHaIhE6l9qQP3sqq10gqqpaTqEdH%2F8IE6GDTXTCfB0kkaTSYVvHchfPNzOI8AVdAAkgASSABJAAEkACSAAZq%2F4A0EvZstJINZUAAAAASUVORK5CYII%3D)}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab:hover:after{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAFeCAYAAADHfkwkAAAJFUlEQVR42uzdfWxVdx3H8dvbDkemsGYFgp0w5rSMbP6lY9EJ28IQMkUiWyDgH4YtcZuGzRjNTNxUZraUJ%2BMD8SmSkMx%2FDCMKbAVkAZnOWJiPIZIVLCZaKm3HgA1bSv36%2FuO75Jeb23NuH845v8Lnj1faXs5t%2Bs55%2BP3Or%2FfSkpldERSiEIUoRCEKUYhCAuufbQ3VYQFa8Vt0Y8B1%2B2MbfJs6RBdSxlp0wGrU4c8pxxIyB%2B2wUWrHnMJCPOJu9MDGqAcLcg%2FxiMUYgI2TAXwitxCPaMF52Di7gJbMQzyiPjgnstCO%2BjxC1sIy9lCmIX7t78ghpAN1WYYshOVkYZYhrTmGtGYZ8kqOIYezDOmGjdBBZyPUnVnIKAbAAyi5AyMdIBUS26Glk72GkA15Xn41IEY2RSlnPWl8KI9JY17T%2BCMZRhzNZRrvMXNxIaMbq7l53%2BouzeBWd2lRiw9Lx2nPXAgicg8JD7OjYzwn5sa2QHdiBAEnYlugC5WxABvxu8olU39so29Tjm3JdNQUohCFKEQhClGIQhSiEIUoRCEKUYhCFKIQl%2FVrUebjBCxjJzA%2Fy5CTMHThVEZOw3AyyxBDN%2BqyOrT813u9sKxDTmV9jvD4KYUoRCEKUYhCFKKQkYX05xDyVuYheVHI1RbyVo4h57IMeSLHkHUxLD50wobxz4m0inIpIWRwooQ8DUvx1EQIeaaGkG9qgU4hClGIQhSiEIUoRCEKUYhCFKIQhShEIQpRiEJmYiOOox992IeVKE%2BUkE%2FjHGwYL2Nq7CEPYBDmhtCJvoqY3aiLNaQyog2zgndbr6zYUytiDKmMeAGTwm38e6yGub2xhTxYEbEziKgMKQe%2FaO2LKeS%2BtD3hwu%2FzDxgGYgmZgjNBxA5ci5nDhfDxRgzBcDyWkC8FEb%2FxiJ%2FhItZV2b4Bu2Fuc9EhD2Am9sDcfDwJCzxWEfELmDuP5qJCwqvTNfgTzL0LN2E7zF1Ec5WIy1hW5IAYXmIbcQDmWlBy22DuG1hUEbGqsClKGOEW4lvB19uCkBaY24%2Fp4xLhxhKxbJhxYjb6YW47PuiHmbk%2Fo94jVhY2%2B%2FWT%2BnzCOPE4LPAk7gi%2BfhHTg4jCQjaFc6cgIvQFXMR23xv7Ye6L72xXdMjfg1msTwCrmu4R4dWpF41RhATnQGdCBKpeYj%2BFUiwhvTC8gfIwEfVVIlahFFPIPphblbYnwojYQlbC3DmsRT3emQDuSYiIKqQOv4YFLuIUhhIi4grxmKnYk%2FL%2Fyi2LfTko3DMrsA9nMYAObMGNWqBTiEIUohCFKEQhClGIQhSiEIUoRCEKUYhCFHIVhPADzMAL6IeNk37swsw8Q34Fy8iePEPezjBkMM8Qy5JCcg5px5zKq9ZEDLkLpSshZPIVERJGhI8rRCGjCkmfaylEIaaTXSEKUYhCigu5lGHIYJ4hL2YY0pb3S8pfCvbMeLiEvXivFugUohCFKEQhClGIQhSiEIUoRCEKUYhCFKIQhUzskCnYjENoriGgGYexCe%2BJ5d3Ta9AFc2dwX0LEYt%2FGXBdWo66o97Pf7nvAqriMp1AOAsp4GkOwKg7httxC%2FA3538EgLMU%2B3IBp%2FrmlGMQWTM0sxCM%2BGxxGtfqxsxHowposQ5ajD1aDY1iCklvij1kNerE860NrFl6BDaMHj6EBpQoN%2Fm89Cc8%2FjFm5nOz%2BA3274sQdwCZcj1KK633bAZgbwno0FHH5vRdd2IlbUBqhW%2Fy5%2F8Y9RY4jM7ArPJSSJBxquzC9kBAf9E4nnNxpKk%2F%2B01iU5zjSgOcSBrY2zEsImOfbWBVDeBYNWY8jN%2BH3NQ5sW9EUBDRha40D6auYnWXI5mBP1OIs1uFx%2F9xqNIRNWR9ad%2BI1WA3%2Bhbvwcf%2FcanAUd%2BY1jpTxaMoovx%2FT8CDW%2BOcvp4zmj6BcxOW3CT%2FFUJWBbTK%2BXzHnug7rq2z%2FEzQVfWP1PszHEfRiMWZVuyj4NnOw1Ldtxx1ojuEO8XV8DZPQhPvRm3IBWO7bXoMv43gMISeD94V8F%2F%2BDJfFttgZ7rTOGkNnYCRsVn6fFtIpyN%2F44goBjWBTrclAZj6Cn1vuVuELS7zfCaUvjRFyga0Gbm6eVRoUoRCEKUYhCFKIQhShEIQpRiEIUohCFKEQhV1%2FI%2Ff5xB2wYfWiMOeRWDOJevD%2FlbeKbYw7ZC8NfUY8tKe9fvznGkE%2FCAp9HI95IiNkRW8gkvA4LnMEUPAFL8LGYQr4Cq6LVIzsSQv6AuhhCZuA8rIoB3IzPwBKsiiFkW8oJ%2FQGUUl4H2Ylri3wF3YdTfq%2B%2BASX3EViCrxb1Cro6vAobxn8wBaXA8wnbv4lpRYSshiVYi1KF2fhvwnN%2BkFuIR1yX8vqrIwl%2FJ%2FG5hOddRkueIc%2FAEny0MiDhb1NX2p3XizPnpBweP0cpxaOwBPdkHZI2q30bzTW%2B3vc1vDmMg3mEHEsI%2BXrs9yNhyJKEQW0yHsYv3aFRWpHXyd5WJWQFZuACbAxO4915hdyKyzB3ECX8CDZGD%2Bc9IH4vuPZ%2FCLcFcaP1N9TnHXIDzuKHKOEl2BgtKWrS%2BDkPWjQOEXuLnsaX8ZcxRgzhdq1rKUQhClGIQhSiEIUoRCEKUYhC%2Ft%2Fevas0EEQBGB6VIIqQSCxMYbATLLSwSay0sLRTbGx9At8jtWihlU9gZ8yF2OkLKGihqIiVF9gEIse%2FmGIQ4oobN6c4xdcO%2FMXAmcPCWoiFWIiFWIiFaA2JDyijgTYkgTYaKA%2Fid7QldCB91EE57ZAzyB%2B94ybwBPFqaYdECUJKcIERXEMQpR0iCRS%2FX%2FbwyyELsZB4HzjBEVroQrAJF8jjUWvIPnJwgXlcQnpQF3II10MWV%2BpCghGlAEGEKbgfbEC88eBMFSFrEFThYozhE4KitpAtCI7hfuEVgry2kBUIzuFiZINh0WkLmUCELmZjQnYgqKoL8Q4gOEWmR8QMniHY1hpSCCbZJhbgvGGs4x6CGoZUhnhLeIB4t7jAC8RrYRJObYg3jT28QQJ32EUGTntIaBSLWMUchuAAPSERBDm4JPx5uUE9rOoQVJBNGJNFBYJ62iHlf1o%2BLA9qHdTs0zqoGUQkCFHCQizEQizEQizEQizEQnT6AqfQwgd5BnPGAAAAAElFTkSuQmCC)}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-selected-tab:after{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAFeCAYAAADHfkwkAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADDJJREFUeNrtW21wVUcZJgnQYiuBCQUjISQtGmBK%2FKGWgJWPDqEwCEUpA94kMxrr2CLQatWpM7R%2B1LEFCp1anXJJRBmrP0roaEv5DISPto5A1XovIxIgqC2kBAoEKgkErs%2Feuyd3z549Hzfp2XNueZ%2BZZ%2FZk7%2B4573Ped9999wz06UMgEAgEAoHw0UZ8x7gccFJsx7jl4Ou4bkXbGU%2BxNZ7qW8HGsLFhFJALg2vBZlwnGGNCa1zHzddsbC2bGwoRMKwU3C8aG1cbbuoTBLK5pUF7YgrYpjLaTphKJNo2cFJQIqbz2E8b11hua7DkBUvo8bV0r%2B5wKoPR7U5Gu%2FXZeO4iu7cuT%2BSxuLYJkW7PZBha4nh27zwd3qiNuRtjEeVFmBGaGPsNHftEs0tatayJmEtIKdZOc8zPfQYPmGzzYEcBMacwtM9yk%2F0Ustz04HQoJNxScMwlMSja5X6uj3126VRe4DGX9OuU4Xi7108hrZns4Ly%2FCW1TzCn8mGeFF8HbVj%2BFdMYdUq3CI43C3Ma4e%2F0l9nX6uUY64x42N6E1C5F2fpeU7KuQ1rjHhS38rQytuFsmayxv9VPIvpjLZua00DPc6ff6KWSFU2zHHPYJL7WX1Lfc1w0x5lJi9NRjit993BAby3N4%2BeAlY3nZve3mNvt%2BcmQFXTwD41VnlJhDwRnTUTQaZTwedCDmJsCahezXiLlCPqiljOdeGc0OQfEMRcRcFn8sdbAarfuoO5NtWm7VrtdShm%2B2M4M6t88UPeN1n1Ds8MwTwYgQwyyWiuuefD0x1sToPmEADMrlH9uOWgxVHHX59VF%2BbA7HBzppn8nln0NXwsA3eG3G1hEju34D7Ur%2BWTV8AggEAoFAIBAIBAKBQCAQCIQwY9bsuePBo2DCZ7JnjPdTyDH%2BoJPgCZ94ij%2FjmJ9C2ANawRwfn5EDnmHP8lvICQ0hfIKEkBASQkJICAkhISQkMyEdGoRc0iFEG0nIjSTkkkYhF%2FwU8ohGIUvDcLZvcTDw39n0keKKg5Cr2SLiCQ9h83g2CHnSg5Af08c1AoFAIBAIBAKBQCAQCAQCgXCDY%2BasOYXgSvAw2AGeBbeBC8DcbBFxH3gBTNhwJ5gfdhH3g1cFo6%2BBLdwjophXwZxsEbEFLOa%2F5fKwEj01LxtEbAT7K8ZFhDFbwyZiviTiZZUIwTOX%2BLizYRJR6cUT0pzjfGxnWEQMBE8LIhrAm1nqdZhTxBMAG384LEK%2BI4jYw0X8GvwfuFQxvi%2FPVsacVWFY2GzD2yQYNR58TEqxiyQRLwm%2FtYPDw5Cd%2BoF%2FEwy7CSwB1wt9zDPDFSK6wDlhSbGDwUbBuDJh3Dqh%2F0fgNEnEwjDtE5PBnwh%2FrxPGlgn928GhYRExR7VPgCN5QWj0s7D6NA8zo%2B%2FvYB4XsSDoKrbdbp%2FA9cPSAmcL%2Fi7h79e4RxYEnaGekWonVdnxbb6w13NvbBfmLA7LXvFPoYotdhg3lIsQs9MZlhTCIsRYAy0u41QpdnaYaqkz3LD37U52NiIW9gkT%2BPHUMHBhVorghi4QjGSHolqWToUCcJMk4qthPfXlgDukFMsy1Amhig23CEFMvvTmZV4E52bLlxHmmXl8zZxjhyKwGVzNQow%2BgBEIBAKBQCAQCAQCgUAgEAiEGwATItFhE6qiGysiazrQJtAmWIv%2BdGtci4yYf5PmdaB9BW2hTiF%2FMhlnGBVxECGxW4RV7CadQj5gxlZEFF6IyAan%2BgyhFRHFCxDGgfr%2B477JA3IoRWzedsR8bRojvQCdHrF6IKI2WNVWKMaILyYwIab1ofKA4AWI2I%2FrUrt7sjHahFhCR5WFIlF16ESid7u9HI1Cou4ZKmLbNyBEQtZIGUkSFonahpqtZ4Nc7GlB6lCzpGjJSHmcsdb0CrHbtW3CyxBrTePWOcHsI%2FZrIaM3bBd%2BeoRURd3TblUGQqoCEGLeH6ylSqYbnPhCtK6RCrsyQ94ozXVUwrXU0e6RiLosqbArHFVZS3WfQLKWU31VpQ43uwUenBBl4edea7lWCEEJqYhEXUt2OyPtarJAShT5mKs8KToIUZ1dtKdfi9ERm4OVQ9ZS1WU6Q%2BuKZW2o6iaFobaLPT1G61H3NVXaVKZghzWiqn7Rt0WnRwrx0M3gFfmEqPSEate3fFVJ3msr%2BEn64EYgEAgEAoFAIBAIBAKBQCAQshnL4gPBVeBucLiH8cPBveAz4MfDICAHrAJPggnO02Clw5zpfIwxns2NJO8VkIhx3AMJBbvAx8FcYXwu%2BAR4zWYOu9edOgXkg8%2BCV20MErkNLABv49du49k9Vyef4bOIaimMvDDKmcmck8mQ9VHIXPCsR2MOgTOEuTN4n5e5Z5LP8tkrxeA%2BByPawEVgX8Xcvvy3Nof5e5PP0LROmEE%2FkxZuJ0%2BngzzMH8THdgrz2b1%2BqnwBGgTdw%2BP5ZXBUD%2BaP4nPfBacGuY8MA1%2BxDSVvnl3E7zE0KBGV4Cnbxe0%2BX1787F7TdApgb%2FEph41tCzjWYf5YPkY1l93z5%2F6vk2XxEvDPHje2X4FDhLlDeJ%2BXjfRNcKSfQlY5eELFc%2BBS8GF%2B7XXetWRW89krFeBbHg16B7wb%2FCK%2F9jLnYPIZmtYJKwAfctnlt%2FMaaz6vkNn1Tpfd%2FEFToalx4bO4r5PCzdjYBoDPSzXXLfw3efxa03oKKA2PAMeDB%2Fhbnc7LGFVSYGNKwZl87H7wLk%2BHMQ1CjoA%2FBPtzD83iRjolgLl8bD%2FwUfBwGIQc4wayt%2FsceN3Dgr7OU7HhtZYwCBnJ66VED9mzOs1HQVPAv2Yg4JDekiTztPygy3mjrcdFZgCCVOcNo2wZ3CfrsCxexgtE50KSQCAQCAQCgUAgEAgEAoFAIBA%2Bmiiqq5nF2vZdpQ1gIskm1pYI16VnwcFhFjGmqL7mauHzC%2B9p2Vx2B4y9kjS8SRBkXO8qXRVmIVshJFFUV%2F2PiU%2FfmwdjV0vGi15hIm8PoYjqLzERxSkhCVx%2F68WN4wfD4PdthLBwawiXiPqa%2FvDGkaSAlAjWni6JRgYebyx7xCSkSRZT%2BoUwCfk%2BhCSSrOdMXS%2F%2F8vr7%2BsPoZotX0mL%2BAuaEYV0MA9uLjJAyeaWmE%2B3tb28b%2BxVlaKVDbGEYvLEu7YXqpCeEdXIF%2FBRPx%2FscvNIC3hykiM%2BB14vrLSFliFphjIWhn7cudhN%2FEJSIHAh40%2FBCt4j0OnkP1wPFOTD2RQch58Hbgki3kZThqTVRLApJ9dfKcy7sKh0JYy9bQist7Je6F%2Fgt4DvmkKpOCMIOFEWrlP9cCcY%2B1V2uWNkFlukU8qSwX5jXRqpvot3c8zvvGAhjTzvsK6%2FqCqlSGHu5W4DVK793uweMfchBCONUHUIa0gtb8kZdzQdFa6td%2F%2B1V69ZRfWHsW3yBn4eI89J1kw4hh8QwKjan3WXZc96or5lh2jPSbCl5rnbA9CUND0xfvOGPKTbsxt9WLt6wuxJk10bbfZ3iPF1itpj3juTamDfpe78bBmMuwqgEjEmYWpGsT%2B5P%2F30KvFXXgh8Dw7uEDTAZ0zBgjcVok7GcS4TWKuYB3RviL3iIdY144evllUteuhPGdXW%2FbdEjSZpFVIoeSf8WQ5unW0gBRJxD%2B0LSG4sbNivCxCxA9o51%2FIxgFn5dzdfGPP1YAd7utPTbFjwgi5H7zUK2BprFKpdsyIURbyvjvju8zCIrrQngGjiOvkERCAQCgUAgEAgEAoFAIBAIhCzFlO%2FWTwB3gx1gohfs4PeZEISICrCzlwJkdmoXgwfu7IXBF8FjAk8Jv%2B3SLeRyL4RUSPfKA4%2Fw3y7rFtKbECpW3G%2Bf8TsJISHuvARuAn%2FLDe3i%2FfOlexWAJ8MqZC04SJozFjzoNjdMQn7jMC8f%2FFfohAh%2FFxrpExziMvd%2BwfCP2d0zKCGVvK%2FRw9wB4DV54YdFyALe9weP8y%2Fw8QVhEzKF973uYW6%2BUSw63TMoIbfy9cFSbInL3G%2BqwjAUQnhfHe%2FfAfazmTcCfI%2BPqw6rkEKhkt0Dlgu%2F5YKzwf8aVS6YE0ohvP%2Bz4LtCej0OHgDbhD62yw%2F2es9AhPDfPgGuAdulze4%2F4KMOYRcuIcKYm8DPgFPBMjmUwiLEOFgN%2BpDuNyiog1UTf%2FBqti%2F08l75%2FD7sfk26hUzw6ePDxKA%2BB%2B35kD4H7QlEBIFAIBAIBALhxsL%2FAWFBQYLmSYGkAAAAAElFTkSuQmCC)}.uploadcare-widget-buttons>li.uploadcare-widget-buttons-dialog,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-file,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-url{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAB4CAYAAACaTFAUAAADn0lEQVR42u3bS2wNURjA8aLaEBp0IV5NPGJBkJBSEl1UtB5hQW0JXSIsxGMjFsRjQ9AHQtJiwUpUaVJExELi3US5JZ7FlajiJlQfPv%2FcfKQ5uVNuO2em9Cx%2BSe%2FMSe8%2FM3PnnGluU0SkR3FBLsgF7T9YXAn5S5VBBEkyY12QC3JB%2F0VQEiwFaUh3BBb0p3HJnjpbU4ap0s32LsgFuSAXpGzOZR0lNVb5GOT9RoOwGgdQih1Yin5BB6XjKFo0ZB4mYhrq0IhNQQVlIYKtxhumYYz%2BnAnBBfSxGZSOJ5AObxRFGcTDGZtBR7AX54yjUwnBZ4%2Bo%2Bb4H6QXcgiVGzEYIvkJwS8d9h6gHNoJWQ7DNCPqAcszFJFyDIAbpYKjfQbtRaMRkQTqI4DEELca%2BqX4HlWCCEVQD6URfiMq3cYSyjaAjEA95OmYsBDP8DloMQaYRFX9txLw1xrRjgN9BqfgIQUoCZyCqAinqOKps3Yc2QzyiaiGoR7VxdEbanDou41mCoHREjG2C7bbnsn44C8EIM0xtQzu2BLn8KMRdiGqGoBVVGBX4ekhlIhcLMB0DPMa5NbULckEuqLuT6xp8gSQphiILQRrTNZ9675%2BFTdU1V6XhXVTeRN8Lwg968bpBY3pGkBnigswQkwty15AL%2BqeDvnQjKGYjqAhNkCQ1ocitGF2QC3JB7rnMPZclqXcGmevnp89fyPmqS%2BEG1T6skyvXrsvNW7flZcMbYVu4QcT8fv2o%2Fkl8W3HZsZCC9DRpSBxHSveHGMRpi%2BN1%2FLQdO1HeM04ZP8e3VddcCf%2BiRvxosU0%2FaSEFmbiG3I2xS8KeXN1zmVsxuiAX1LuCuK9kIKeT%2FbOQEdR%2FTy3Ca7RibYL969GGV1ho80ExEychhhKkoj9KIYYKDPMtSGNWIArxcAqnIR6iKPQlSL%2BvuAVtEEM7ijFEleg2MbRhM%2Fr4ecoK0AhRd5CdYNxM3IOoRuRbuaj5xeNxAxuQ2um3sRijY8fpditBk1GL7UjrZFyajnmASbY%2BZcsRg6jHyEswbh4iEBXDMr8%2FZbvwA2L4gQoMVychHuN2%2BhlUgJcQD%2BUaJh6eo8DvUzYYxQmO1B7dl4F9CW4LhzHY5tSRi3o0YyVG4y7uIwurdF8Ec4OYywowEFOQg3cQ9R5zMEXH5AcRVIJqrMU3iKEZ63ARpUEtP5ajAeLhLVYEukDTi%2FgQ2hPNbaGtGHUxdh%2B1mN0jlrC%2F1kNuTR2En2aqi4BnOyDfAAAAAElFTkSuQmCC)}.uploadcare-crop-widget .jcrop-vline,.uploadcare-crop-widget .jcrop-hline{background-image:url(data:image/gif;base64,R0lGODlhCAAIAJEAAKqqqv%2F%2F%2FwAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2BQQJCgAAACwAAAAACAAIAAACDZQFCadrzVRMB9FZ5SwAIfkECQoAAAAsAAAAAAgACAAAAg%2BELqCYaudeW9ChyOyltQAAIfkECQoAAAAsAAAAAAgACAAAAg8EhGKXm%2BrQYtC0WGl9oAAAIfkECQoAAAAsAAAAAAgACAAAAg%2BEhWKQernaYmjCWLF7qAAAIfkECQoAAAAsAAAAAAgACAAAAg2EISmna81UTAfRWeUsACH5BAkKAAAALAAAAAAIAAgAAAIPFA6imGrnXlvQocjspbUAACH5BAkKAAAALAAAAAAIAAgAAAIPlIBgl5vq0GLQtFhpfaIAACH5BAUKAAAALAAAAAAIAAgAAAIPlIFgknq52mJowlixe6gAADs%3D)}.uploadcare-dialog-file-sources:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAsCAYAAAA%2BaAX8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArdJREFUeNrsml1ozWEcx387lolkMSNJLKNIIhQ3btwouXBDlJer09rF3LFdyZWLCbHMy4W3lPfXQl5rGyk1WkqE8hLJxbCZjW0%2Bj%2Bd32tNxzhnLyv%2F%2FO9%2F69JzzdLY63%2FN9nuf3PM%2B%2FYOee%2BjIReQcdkkVVlUmxoASshiewQozLmTEaJsEZuA0zrJvRA%2BvgPuyFWii2ZkYhjIFLcCToL4Ip8Al6LSWjBOrS%2Bjt1Hum1Nkzeww3J69cwOREkYCQ8hDnwOdcf7qrbF%2BkvnqlccMm4ELz%2FArdgq9XVJL3YqoZV4RIb9RT88TDJEJePfPn1utz%2BNiziXI0msvRf1dUkdnPFX5sR%2FPqNMN2KIYl%2BZttjcByGWplAcy0%2F9TSvYIuVOqM%2FbYD55pOh6Wilua77lRLTZgTzx0K4B2NNm6GG3KE5rTvc4abNUNXAU6gwbwbpcBu6tbAjn4y%2B%2BcOV6otg%2B0D%2BR2zMCAx5pFv9QzDErBmqdlimq0utlaIrl77CcphoPRkpfYeX%2BtrtZcotmxHK1SINsDRvhshB8TdzB2C2tTkjk%2B7CVPHXDQVarbZbTEZK38SfuLtz1OewxrIZKT3W%2BWMTnIVhls1waoZ5cHOQhmWkzHDqEn%2BF2QazoAmWWDUjVItWrO62%2FwqUWjbD6RzMhIviT9CcRlg1IzV0XDpeB4k5r7thc2akyyXlGhyGbXEpugaqDk3Kfuk7VlwJc3XP02IpGSl1i38awKlRi7fL8GCwd8f%2F%2BynVW9gs%2FpGqjfBB%2B116qv%2F1%2FicqR3Y9mpIufe%2FmlXHiT%2Bsbgs%2BVWjAjXU2alPLguGC8%2BKeO3sBJ8adwWZXp8rxQoq82bd2zaROgTJfnbu13r0%2BJv%2BJ4Bkc1TUUYMpnW3Ri2VlUmO%2BNgRrpeKOGRwgLxj1ZMgx%2Favxh2wygoxpjkTwEGAPykmqa52kHJAAAAAElFTkSuQmCC)}.uploadcare-crop-widget--loading .uploadcare-crop-widget__image-wrap{background-image:url(data:image/gif;base64,R0lGODlhGQAZAPQAAOzq7Ozu7OTm5Ly6vKSmpLS2tNTS1MzKzKyqrOTi5MTCxLSytNTW1Nze3PT29Ly%2BvKyurPz%2B%2FPz6%2FMzOzMTGxNza3PTy9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2BQQFCQAAACwAAAAAGQAZAEAFhCAgjqIkRRKgFEfjkOMZwXQNRKhs7yKe1ibULcdzpEw8QKIBkLySUBjSmKQ6aQ6c9powPAjgQUDqi5bKZTNJllafZ7JfNCsk0bcvE7tu26cGYAgIFU9AWjYBBwgETDBtUHQjj1E6Om5nJ0iXAHQnhW56lpc6k1CipTuiMahvnzR%2BQ1s0IQAh%2BQQFCQAAACwUAAQABQAIAAAFHaBTBQDAEIMDJARRlQexqAFCNOVDHKVBFKXEQBECACH5BAUJAAAALBQADQAFAAgAAAUcIAAIyiEaRCE%2BhBkgRAIcxOIIsAGggwM4hoAoBAAh%2BQQFCQAAACwNAAEACAAYAAAFJyAgAtBonmiqrmzrvnAsz6KQmMFBEIlgKDtEITAIQhgOwKNwaCRFIQAh%2BQQFCQABACwEAAEAFQAYAAAFTWAgjmRplWiqruNJIGwsr8Zs3y2u73zv25Te4Ic7BRo9oy1BCDCIDMGOgSBMlChYCVCoIhQGqXNEGABMBghhHURhSZbGoXAQDSiVtygEACH5BAUJAAMALAAADQAYAAwAAAVBIKUIQ2meaFoQTOq%2BFPK8dKkQDYFYtRuUFghh0qsxEARA8YQwWQqIxhLFGwCklSlNp30RXo9mz1EjLAzkbunwCgEAIfkEBQkADwAsAAAEABcACAAABS3g8wCJaJ5o6hRIk74iYzIEIsAwQjgLceDARi0AxB0IiiJsUCAYlDDF4AZNhQAAIfkECQkAEQAsAQAAABgACgAABT5gJI5OcxTTqK6rwywEgVBsPQZDjDyGoCK2kUF2ANQCQZHDkEhGBJUaoekMIgjVFVYEySaBXpUF23yEVQpRCAAh%2BQQJCQAXACwBAAAAGAAKAAAFXOAljk5zFNMVRZI0vrDDLASBUJe0ri48BoMa4mEQ5HS7iMN3MdgOAGaLBwMkHIYE89VyVAIiR4Gg3foYhMGSgSAYzbBErXKBEA5w5oGwsCAQYHkwFjVyD4JMCnchACH5BAkJAAoALAEAAAAYABUAAAVloCKOTnMUkxJFkjS%2BsMMsBIFQirSuLjwGgxriYRDkdLuIw6cw2A4AZosHAyQchgTz1VI4eo4CQbv1OVYiBoJgLMOQLgjh4GbuFAhEoG5nER58UiyBW0iEgj2HiouMjY6PkJGSjSEAIfkECQkAFwAsAQAAABgAGQAABZLgJY5OcxTTFUWSNL6wwywEgVCXtK4uPAaDGuJhEOR0u4jDdzHYDgBmiwcDJByGBPPVujh6jgJBu%2FU5ViIGgmAsw5AuCOHgZu4uCESgbmcRHnxSfgaBPkgDbYUjOj2KTAqJji0SBAyOiytDlyI8NhabPHIpkmhqBFGFZywXFgUIDYpIIwCwFZFMAloSS5u9vr%2B9IQAh%2BQQJCQAXACwBAAAAGAAZAAAFq%2BAljk5zFNMVRZI0vrDDLASBUJe0ri48BoMa4mEQ5HS7iMN3MdgOAGaLBwMkHIYE89W6OHqOAkG79TlWIgaCYCzDkC4I4eBm7i4IRKBuZxEefFJ%2BBoE%2BSANthSM6PYpMComOLRIEDI6LK0OXIjw2Fps8cimSaGoEUYVnLBcWBQgNikgjALAVkVJLEksvDDYTn4KrPgBiNgpFR0nCZgZyNTjKjWUWJgV0PNIvIQAh%2BQQJCQAVACwAAAAAGQAZAAAFpGAljpXTHMVURZEkkTDpMAtBIFQlsewbj4GBDfEwCHQ7XsTxqxhuB8DP1YsBEg5DojlylXylAmHLhTlYIwaCcCyTkj4I4eCO8UQIRKBub1UID3wxOy8EBoIwSRUDbYgihI5lCo2OLoUMkY9oRJkrfjcWmVVyKpVoFWoEUoJnfhUWBQgNiIojALMSTGW5OrpvVU1wTa08vJZKYFPInsWCVC89ySQhACH5BAkJABUALAAAAAAZABkAAAWeYCWOldMcxVRFkSSRMOkwC0EgVCWx7BuPgYEN8TAIdDtexPGrGG4HwM%2FViwESDkOiOXKVfKUCYcuFOVgjBoJwLJOSLweEcHDHeJUGAhGw31sHBA9%2BMTsSYgaEMEkKA22KIoaQXDtMk0hwlzo9aJdwnZNVVZBJkaN%2BZy0jp3alXXFgTQ4vEpZvrIsstmZKLUwuSbi5PC%2B9sWVUxS3HIyEAIfkECQkAAAAsAAAAABkAGQAABYggII6A0xzFBESRJJEw6TALQSAUILHsG4%2BBgQ3xMAh0O17E8QMYbofAz9WLOSQOY3PkKvlE1S3MweKGxSNyC7xGw5K6sjvWg8%2FfrfNdlGx99yVygFNLg3xUbYNJdoo9goBVenN2i3tqX5JijEheaFc6THiJMUmhVkotTC59o6RKL6h%2Fmjuwfk0hACH5BAUJAAAALAAAAAAZABkAAAV2ICCOoiRFEhChKemS54qq8vyOTo06gKnzt1jk1ou1SI6UiThaJkmrIxO3akanrpztinXFetXuK%2FoVe1Fcs5WsRobbwQgQbjLCS9F326hXX9NmZXZmWkeAWGUlKU9TTxJza1JnckRaMo9FQjZEmik6kkw%2BnixEIQA7)}.uploadcare-dpm-file-remove{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABh0lEQVR42q2Vz26CQBDGSZO%2BV%2F33Oh699dA%2BSntpLxSMwqHoA5C96QGuQJREX4CD0P2ZrgF2IdFg8oV15ptvZ4Zh16qqSkNRFM9JkozCMHzdbDZfq9XqV8KX6w9s0vcCxxSrGdI0HW232x%2F5E7ZtC9d1xXK5BKyvNnxwJHfcKXi5XJ52u93ccRwCEOgFHLjEENsQLMvS2u%2F381pGfdAyJhYNtFSZE5xA7Q5M4tiUX%2F0HaFwFaa7sh6cIlBFFEQTheV6jfNa%2B74ssy%2BDAvdnRQMuSb2zWDsrzXMjdxOl0uokC1ufzGR8cbTO0LDkGb%2FShXhJZEKhE1%2Bs1UDaecBotQUNqvVtBEHy3etXOBlGgxFTWWm%2FRshjajrEgKyVUz7ZzrNBC0DM4aTgETRAbvi5BSv4csmTTS6mL8bzrpWhjQznH41EF9o0NXG1sjIMdx7E4HA5kYRpsfHCMg60%2BvekAn9506MPBeHwtHji%2BFsT2HbDjOw7YSTu%2B7wqYMQb%2FV0AAWGPD13UF%2FAEl4axZtqCy7wAAAABJRU5ErkJggg%3D%3D)}.uploadcare-dpm-file-error:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABIklEQVR42q3Vv2rCUBTHcaEQH825TdLl9hl0FsFdV7s5uXSpb%2BDoEziV6JCgATdR02D9E09%2FR64KF3NPbQx84BJOvgRyuSktK5VbHHiFDwhhCwl86Xu%2BnimZbsWeYQIkmMCLLfgELaA7tfSzRlCISVEz6AEV5J2DDszyBtNGg7L5%2FCSt123BGBwOKqA8WRzT%2BcqmU%2Bkt3zj4aQ0myTW4WEjBPgcj29B%2BNLoE98OhFIw4%2BGMb2vR6l%2BCm25WCWw6ubUPftRrR8XiSVKt%2FCgZADxKJH2XlurQbDBivxY8ibpu02SR98VrcNuLGXitFh%2FGYDkHAa2ljlznIfKCCfPNwaBeItfOOr84%2FYu%2Fm8WVy7zhgPfHE1hxQ0IcQdlqo76m8X8Avwkyxg4iIuCEAAAAASUVORK5CYII%3D)}.uploadcare-dpm-file-name:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhQTFRFAAAAnZ2dqKiooaGho6Ojq6uroaGhpqamsrKyzc3N0NDQ0dHRyMjIycnJysrKy8vLzMzMyMjIpaWlpqamr6%2BvsLCwsrKytra2vLy8wMDAwsLCw8PDxcXFyMjIycnJysrKy8vLzMzMzc3Nzs7Oz8%2FP0NDQ0dHR0tLSdHkMAgAAABJ0Uk5TAAFjbHaCi5ea6Ojo6%2Bvr6%2BzuM18ehwAAAJxJREFUGBkFwUFSAzEQBMGqltbLZQkI%2F%2F%2BXHK1pMgXAOwUFNgCv99dnKTYb4PXcBCpzNnA9a8EIhg374SrGtiGs73VdB6n%2BHXfe%2B86MkcyL%2BvsjLUFBujukgAzW7KFFrUrtBkssJ6BEA3NoQJlAdaDozDRMcYkUTldYKVLbskI6zRSJ4JC2itiiNrVH5FSYTmJnKMG2TlqQoSlt1z9lQV37unfRSAAAAABJRU5ErkJggg%3D%3D)}.uploadcare-dialog{font-family:"Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif;position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(49,49,49,0.95);z-index:10000;overflow:auto}.uploadcare-dialog *{margin:0;padding:0}.uploadcare-dialog-inner-wrap1{display:table;width:100%;height:100%}.uploadcare-dialog-inner-wrap2{display:table-cell;vertical-align:middle}.uploadcare-dialog-close{position:absolute;top:4px;left:0;width:100%;min-width:988px}.uploadcare-dialog-close>div{margin:0;padding:0;border:none;background:none;width:33px;height:33px;line-height:33px;font-size:29.7px;font-weight:bold;color:#1d1d1d;cursor:pointer;position:absolute;right:0;top:0}.uploadcare-dialog-panel-wrap{margin:0 auto;width:900px;padding:0 44px}.uploadcare-dialog-panel{width:900px;height:616px;overflow:hidden;border-radius:8px;background:#fff;-ms-box-shadow:0 1px 2px rgba(0,0,0,0.35);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.35);-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.35);-o-box-shadow:0 1px 2px rgba(0,0,0,0.35);box-shadow:0 1px 2px rgba(0,0,0,0.35);font-weight:normal}.uploadcare-dialog-panel a{text-decoration:none;border-bottom:1px dotted}.uploadcare-dialog-panel a:link,.uploadcare-dialog-panel a:visited{color:#1a85ad;border-bottom-color:#1a85ad}.uploadcare-dialog-panel a:hover,.uploadcare-dialog-panel a:active{color:#252525;border-bottom-color:#252525}.uploadcare-dialog-body .uploadcare-dialog-tabs{-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:75px;height:616px;float:left;list-style:none;list-style-type:none;margin:0;padding:0;background:#dee0e1;border-bottom-left-radius:8px;border-top-left-radius:8px;overflow:hidden;position:relative}.uploadcare-dialog-body .uploadcare-dialog-tabs:before{content:\'\';display:block;position:absolute;top:0;right:0;bottom:0;width:0;border-left:1px solid #c5cace}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab{-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:75px;height:66px;border-bottom:1px solid #c5cace;border-right:1px solid #c5cace;cursor:pointer;position:relative}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab:after{content:\'\';display:block;position:absolute;width:50px;height:50px;top:50%;left:50%;margin-top:-25px;margin-left:-25px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab:hover{background-color:#e5e7e8}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-selected-tab{margin-right:-1px;border-right:1px solid #efefef}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-selected-tab,.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-selected-tab:hover{background-color:#efefef}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-preview:after{display:none}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-file:after{background-position:0 -50px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-url:after{background-position:0 -100px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-facebook:after{background-position:0 -150px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-dropbox:after{background-position:0 -200px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-gdrive:after{background-position:0 -250px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-tab-instagram:after{background-position:0 -300px}.uploadcare-dialog-body .uploadcare-dialog-tabs .uploadcare-dialog-tab.uploadcare-dialog-first-tab{border-top-left-radius:8px}.uploadcare-dialog-body .uploadcare-dialog-tabs-panel{position:relative;-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;margin-left:75px;padding:22px 25px;width:825px;height:616px;line-height:22px;background:#efefef;border-bottom-right-radius:8px;border-top-right-radius:8px;font-size:16px;color:black}.uploadcare-dialog-body .uploadcare-dialog-tabs-panel input{-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;width:100%;height:44px;margin-bottom:22px;padding:11px 12.5px;font-family:inherit;font-size:16px;border:1px solid #c5cace;background:white;color:black}.uploadcare-dialog-body .uploadcare-dialog-tabs-panel .uploadcare-dialog-drop-file{background:white;border:1px dashed #c5cace;border-radius:3px;height:99px;padding-top:77px;text-align:center;color:#545454}.uploadcare-dialog-body .uploadcare-pre{white-space:pre;font-family:monospace;margin:22px auto;padding:22px 25px;background-color:white;border:1px solid #c5cace;border-radius:3px;text-align:left;font-size:15px;line-height:22px}.uploadcare-dialog-footer{font-size:13px;text-align:center;color:#888;margin-top:15px}.uploadcare-dialog-footer a{color:#c2c2c2;text-decoration:none}.uploadcare-dialog-footer a:hover{text-decoration:underline}.uploadcare-dialog-title{font-size:25px;line-height:1;font-weight:bolder;margin-bottom:25px}.uploadcare-dialog-title2{font-size:20px;line-height:1;padding-bottom:11px}.uploadcare-dialog-label{font-size:15px;line-height:25px;margin-bottom:12.5px}.uploadcare-dialog-large-text{font-size:18px;line-height:25px}.uploadcare-dialog-section{margin-bottom:22px}.uploadcare-dialog-normal-text{font-size:13px;color:#545454}.uploadcare-dialog-button{display:inline-block;font-size:13px;line-height:31px;padding:0 22px;margin-right:.5em;border:solid 1px;border-radius:3px;cursor:pointer;color:#444}.uploadcare-dialog-button,.uploadcare-dialog-button[disabled]:active,.uploadcare-dialog-button.uploadcare-disabled-el:active,.uploadcare-dialog-button[disabled]:hover,.uploadcare-dialog-button.uploadcare-disabled-el:hover{background:#f3f3f3;background:-webkit-linear-gradient(whitesmoke,#f1f1f1);background:-moz-linear-gradient(whitesmoke,#f1f1f1);background:-o-linear-gradient(whitesmoke,#f1f1f1);background:linear-gradient(whitesmoke,#f1f1f1);-ms-box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;-o-box-shadow:none;box-shadow:none;border-color:gainsboro}.uploadcare-dialog-button:hover{background:#f8f8f8;background:-webkit-linear-gradient(#fbfbfb,#f6f6f6);background:-moz-linear-gradient(#fbfbfb,#f6f6f6);background:-o-linear-gradient(#fbfbfb,#f6f6f6);background:linear-gradient(#fbfbfb,#f6f6f6);-ms-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-o-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05)}.uploadcare-dialog-button:active{background:#f3f3f3;background:-webkit-linear-gradient(whitesmoke,#f1f1f1);background:-moz-linear-gradient(whitesmoke,#f1f1f1);background:-o-linear-gradient(whitesmoke,#f1f1f1);background:linear-gradient(whitesmoke,#f1f1f1);-ms-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-o-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 2px rgba(0,0,0,0.05)}.uploadcare-dialog-button[disabled],.uploadcare-dialog-button.uploadcare-disabled-el{cursor:default;opacity:.6}.uploadcare-dialog-button:active,.uploadcare-dialog-button:hover{border-color:#cbcbcb}.uploadcare-dialog-button-success{display:inline-block;font-size:13px;line-height:31px;padding:0 22px;margin-right:.5em;border:solid 1px;border-radius:3px;cursor:pointer;color:white}.uploadcare-dialog-button-success,.uploadcare-dialog-button-success[disabled]:active,.uploadcare-dialog-button-success.uploadcare-disabled-el:active,.uploadcare-dialog-button-success[disabled]:hover,.uploadcare-dialog-button-success.uploadcare-disabled-el:hover{background:#3786eb;background:-webkit-linear-gradient(#3b8df7,#347fdf);background:-moz-linear-gradient(#3b8df7,#347fdf);background:-o-linear-gradient(#3b8df7,#347fdf);background:linear-gradient(#3b8df7,#347fdf);-ms-box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;-o-box-shadow:none;box-shadow:none;border-color:#266fcb}.uploadcare-dialog-button-success:hover{background:#3279d6;background:-webkit-linear-gradient(#3986ea,#2c6dc2);background:-moz-linear-gradient(#3986ea,#2c6dc2);background:-o-linear-gradient(#3986ea,#2c6dc2);background:linear-gradient(#3986ea,#2c6dc2);-ms-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);-o-box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05);box-shadow:inset 0 -1px 3px rgba(0,0,0,0.05)}.uploadcare-dialog-button-success:active{background:#3177d3;background:-webkit-linear-gradient(#3680e1,#2c6fc5);background:-moz-linear-gradient(#3680e1,#2c6fc5);background:-o-linear-gradient(#3680e1,#2c6fc5);background:linear-gradient(#3680e1,#2c6fc5);-ms-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-webkit-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);-o-box-shadow:inset 0 2px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 2px rgba(0,0,0,0.05)}.uploadcare-dialog-button-success[disabled],.uploadcare-dialog-button-success.uploadcare-disabled-el{cursor:default;opacity:.6}.uploadcare-dialog-button-success:active,.uploadcare-dialog-button-success:hover{border-color:#266eca #1f62b7 #1753a1}.uploadcare-dialog-button-success:hover{-ms-box-shadow:inset 0 -1px 3px rgba(22,82,160,0.5);-moz-box-shadow:inset 0 -1px 3px rgba(22,82,160,0.5);-webkit-box-shadow:inset 0 -1px 3px rgba(22,82,160,0.5);-o-box-shadow:inset 0 -1px 3px rgba(22,82,160,0.5);box-shadow:inset 0 -1px 3px rgba(22,82,160,0.5)}.uploadcare-dialog-button-success:active{-ms-box-shadow:inset 0 1px 3px rgba(22,82,160,0.4);-moz-box-shadow:inset 0 1px 3px rgba(22,82,160,0.4);-webkit-box-shadow:inset 0 1px 3px rgba(22,82,160,0.4);-o-box-shadow:inset 0 1px 3px rgba(22,82,160,0.4);box-shadow:inset 0 1px 3px rgba(22,82,160,0.4)}.uploadcare-dialog-big-button{border-radius:100px;font-size:20px;font-weight:normal;letter-spacing:1px;color:white;line-height:64px;border:solid 1px #276fcb;text-shadow:0 -1px #2a7ce5;display:inline-block;padding:0 2em;cursor:pointer;-ms-box-shadow:inset 0 -2px #1f66c1;-moz-box-shadow:inset 0 -2px #1f66c1;-webkit-box-shadow:inset 0 -2px #1f66c1;-o-box-shadow:inset 0 -2px #1f66c1;box-shadow:inset 0 -2px #1f66c1;background:#458dee;background:-webkit-linear-gradient(#4892f6,#4289e6);background:-moz-linear-gradient(#4892f6,#4289e6);background:-o-linear-gradient(#4892f6,#4289e6);background:linear-gradient(#4892f6,#4289e6)}.uploadcare-dialog-big-button:hover{-ms-box-shadow:inset 0 -2px #1652a0;-moz-box-shadow:inset 0 -2px #1652a0;-webkit-box-shadow:inset 0 -2px #1652a0;-o-box-shadow:inset 0 -2px #1652a0;box-shadow:inset 0 -2px #1652a0;background:#3279d6;background:-webkit-linear-gradient(#3986eb,#2c6dc2);background:-moz-linear-gradient(#3986eb,#2c6dc2);background:-o-linear-gradient(#3986eb,#2c6dc2);background:linear-gradient(#3986eb,#2c6dc2)}.uploadcare-dialog-big-button:active{border:none;line-height:66px;-ms-box-shadow:inset 0 2px #2561b9;-moz-box-shadow:inset 0 2px #2561b9;-webkit-box-shadow:inset 0 2px #2561b9;-o-box-shadow:inset 0 2px #2561b9;box-shadow:inset 0 2px #2561b9;background:#2c6ec3;background:-webkit-linear-gradient(#2c6ec3,#2c6ec3);background:-moz-linear-gradient(#2c6ec3,#2c6ec3);background:-o-linear-gradient(#2c6ec3,#2c6ec3);background:linear-gradient(#2c6ec3,#2c6ec3)}.uploadcare-dialog-preview-image-wrap1{width:100%;height:456px;margin-bottom:22px;display:table}.uploadcare-dialog-preview-image-wrap2{display:table-cell;vertical-align:middle;text-align:center}.uploadcare-dialog-preview-image-wrap2 img{max-width:775px;max-height:456px;display:block;margin:0 auto}.uploadcare-dialog-inner-footer{background:#fff3be;border-top:1px solid #efe2a9;height:33px;padding:16px 30px;margin:0 -25px -22px;border-bottom-right-radius:8px}.uploadcare-dialog-inner-footer .uploadcare-dialog-button-success{float:right}.uploadcare-dialog-inner-footer .uploadcare-dialog-button{float:left}.uploadcare-dialog-inner-footer .uploadcare-dialog-button-success,.uploadcare-dialog-inner-footer .uploadcare-dialog-button{width:112.5px;padding:0;text-align:center;margin-right:0}.uploadcare-dialog-inner-footer-text{text-align:center;color:#85732c;font-size:15px;line-height:33px}.uploadcare-dialog-inner-footer-text.uploadcare-error{color:red}.uploadcare-dialog-message-center,.uploadcare-dialog-preview-center{text-align:center;padding-top:176px}.uploadcare-dialog-message-center .uploadcare-pre,.uploadcare-dialog-preview-center .uploadcare-pre{width:400px}.uploadcare-dialog-preview-circle{width:66px;height:66px;display:inline-block;margin-bottom:22px}.uploadcare-no-draganddrop .uploadcare-if-draganddrop{display:none}.uploadcare-draganddrop .uploadcare-if-no-draganddrop{display:none}.uploadcare-dialog-file-drop-area{width:100%;height:100%;-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;background:#f8f8f8;border:dashed 3px #c5cacd;text-align:center;border-radius:3px;padding-top:70px}.uploadcare-dialog-file-drop-area .uploadcare-dialog-big-button{margin-top:11px;margin-bottom:55px}.uploadcare-no-draganddrop .uploadcare-dialog-file-drop-area{border:none;padding-top:73px;background:transparent}.uploadcare-dialog-file-title{font-size:40px;line-height:1;color:#dee0e1;font-weight:bold;margin-bottom:66px;text-shadow:0 1px white}.uploadcare-no-draganddrop .uploadcare-dialog-file-title{text-shadow:none;color:black;margin-top:66px}.uploadcare-dialog-file-or{font-size:13px;color:#8f9498;margin-bottom:44px}.uploadcare-dialog-file-sources{position:relative;display:inline-block}.uploadcare-dialog-file-sources:before{content:\'\';display:block;position:absolute;width:67px;height:44px;top:-32px;left:-90px}.uploadcare-dialog-file-source{display:inline;font-size:15px;margin-right:.2em;cursor:pointer;font-weight:300}.uploadcare-dialog-file-source:after{content:\'\\00B7\';color:#b7babc;margin-left:.5em}.uploadcare-dialog-file-source:last-child:after{display:none}.uploadcare-draging .uploadcare-dialog-file-or,.uploadcare-draging .uploadcare-dialog-file-sources,.uploadcare-draging .uploadcare-dialog-file-drop-area .uploadcare-dialog-big-button{display:none}.uploadcare-draging .uploadcare-dialog-file-drop-area{background:#f2f7fe;border-color:#438ae7;padding-top:264px}.uploadcare-draging .uploadcare-dialog-file-title{color:#438ae7}.uploadcare-dpm-file-list{height:478px;overflow:auto;margin:0 -25px;padding:0 25px}.uploadcare-dpm-file-item{border-top:1px solid #e3e3e3;padding:10px 0;font-size:13px;line-height:1;word-wrap:break-word}.uploadcare-dpm-file-item:last-child{border-bottom:1px solid #e3e3e3}.uploadcare-dpm-file-item:hover{background:#ececec}.uploadcare-dpm-file-item:hover .uploadcare-dpm-file-remove{display:inline-block}.uploadcare-dpm-file-item.uploadcare-dpm-image .uploadcare-dpm-file-preview-wrap{display:inline-block}.uploadcare-dpm-file-item.uploadcare-dpm-image .uploadcare-dpm-file-name{width:60%}.uploadcare-dpm-file-item.uploadcare-dpm-image .uploadcare-dpm-file-name:before{display:none}.uploadcare-dpm-file-item.uploadcare-dpm-uploaded .uploadcare-dpm-file-progressbar-value{background:#8ac54c}.uploadcare-dpm-file-item.uploadcare-dpm-error .uploadcare-dpm-file-error{display:inline-block}.uploadcare-dpm-file-item.uploadcare-dpm-error .uploadcare-dpm-file-size,.uploadcare-dpm-file-item.uploadcare-dpm-error .uploadcare-dpm-file-progressbar-wrap{display:none}.uploadcare-dpm-file-preview-wrap,.uploadcare-dpm-file-name,.uploadcare-dpm-file-size,.uploadcare-dpm-file-progressbar-wrap,.uploadcare-dpm-file-error,.uploadcare-dpm-file-remove-wrap{vertical-align:middle;display:inline-block;-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;padding:0 10px}.uploadcare-dpm-file-preview-wrap{text-align:center;width:8%;display:none;padding:0;line-height:0}.uploadcare-dpm-file-preview-wrap2{display:inline-block;width:45px;height:45px}.uploadcare-dpm-file-name,.uploadcare-dpm-file-size,.uploadcare-dpm-file-error{padding-top:4px;padding-bottom:4px}.uploadcare-dpm-file-name:before,.uploadcare-dpm-file-error:before{content:\'\';display:inline-block;width:20px;height:20px;margin:-3.5px .7em -3.5px 0}.uploadcare-dpm-file-name{width:68%}.uploadcare-dpm-file-name:before{width:16px}.uploadcare-dpm-file-size{width:10%;padding-right:0;text-align:left}.uploadcare-dpm-file-progressbar-wrap{width:14%}.uploadcare-dpm-file-progressbar{width:80px;height:8px;background:#e0e0e0;border-radius:100px}.uploadcare-dpm-file-progressbar-value{height:100%;background:#d6b849;border-radius:100px}.uploadcare-dpm-file-error{width:24%;display:none;color:#f5444b}.uploadcare-dpm-file-remove-wrap{padding:0;padding-right:10px;width:8%;text-align:right;line-height:0}.uploadcare-dpm-file-remove{display:none;width:20px;height:20px;cursor:pointer}.uploadcare-dialog-source-base-wrap{height:616px;margin:-22px -25px;padding:22px 25px;-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box}.uploadcare-dialog-source-base-wrap.uploadcare-dialog-remote-iframe-wrap{padding:0}.uploadcare-dialog-source-base-wrap.uploadcare-dialog-remote-iframe-wrap iframe{border-top-right-radius:8px;border-bottom-right-radius:8px}.uploadcare-dialog-multiple .uploadcare-dialog-source-base-wrap.uploadcare-dialog-remote-iframe-wrap iframe{border-bottom-right-radius:0}.uploadcare-dialog-multiple .uploadcare-dialog-source-base-wrap{height:550px;margin:-22px -25px 0}.uploadcare-dialog-source-base-footer{display:none}.uploadcare-dialog-multiple .uploadcare-dialog-source-base-footer{display:block}.uploadcare-crop-widget .jcrop-holder{direction:ltr;text-align:left}.uploadcare-crop-widget .jcrop-vline,.uploadcare-crop-widget .jcrop-hline{background-color:white;background-position:top left;background-repeat:repeat;font-size:0;position:absolute}.uploadcare-crop-widget .jcrop-vline{height:100%;width:1px!important}.uploadcare-crop-widget .jcrop-hline{height:1px!important;width:100%}.uploadcare-crop-widget .jcrop-vline.right{right:0}.uploadcare-crop-widget .jcrop-hline.bottom{bottom:0}.uploadcare-crop-widget .jcrop-handle{background-color:#333;border:1px #eee solid;font-size:1px}.uploadcare-crop-widget .jcrop-tracker{height:100%;width:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}.uploadcare-crop-widget .jcrop-handle.ord-n{left:50%;margin-left:-4px;margin-top:-4px;top:0}.uploadcare-crop-widget .jcrop-handle.ord-s{bottom:0;left:50%;margin-bottom:-4px;margin-left:-4px}.uploadcare-crop-widget .jcrop-handle.ord-e{margin-right:-4px;margin-top:-4px;right:0;top:50%}.uploadcare-crop-widget .jcrop-handle.ord-w{left:0;margin-left:-4px;margin-top:-4px;top:50%}.uploadcare-crop-widget .jcrop-handle.ord-nw{left:0;margin-left:-4px;margin-top:-4px;top:0}.uploadcare-crop-widget .jcrop-handle.ord-ne{margin-right:-4px;margin-top:-4px;right:0;top:0}.uploadcare-crop-widget .jcrop-handle.ord-se{bottom:0;margin-bottom:-4px;margin-right:-4px;right:0}.uploadcare-crop-widget .jcrop-handle.ord-sw{bottom:0;left:0;margin-bottom:-4px;margin-left:-4px}.uploadcare-crop-widget .jcrop-dragbar.ord-n,.uploadcare-crop-widget .jcrop-dragbar.ord-s{height:7px;width:100%}.uploadcare-crop-widget .jcrop-dragbar.ord-e,.uploadcare-crop-widget .jcrop-dragbar.ord-w{height:100%;width:7px}.uploadcare-crop-widget .jcrop-dragbar.ord-n{margin-top:-4px}.uploadcare-crop-widget .jcrop-dragbar.ord-s{bottom:0;margin-bottom:-4px}.uploadcare-crop-widget .jcrop-dragbar.ord-e{margin-right:-4px;right:0}.uploadcare-crop-widget .jcrop-dragbar.ord-w{margin-left:-4px}.uploadcare-crop-widget .jcrop-light .jcrop-vline,.uploadcare-crop-widget .jcrop-light .jcrop-hline{background:#FFF;filter:Alpha(opacity=70)!important;opacity:.70!important}.uploadcare-crop-widget .jcrop-light .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#000;border-color:#FFF;border-radius:3px}.uploadcare-crop-widget .jcrop-dark .jcrop-vline,.uploadcare-crop-widget .jcrop-dark .jcrop-hline{background:#000;filter:Alpha(opacity=70)!important;opacity:.7!important}.uploadcare-crop-widget .jcrop-dark .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#FFF;border-color:#000;border-radius:3px}.uploadcare-crop-widget .jcrop-holder img,.uploadcare-crop-widget img.jcrop-preview{max-width:none}.uploadcare-crop-widget{font-family:"Helvetica Neue",Helvetica,Arial,"Lucida Grande",sans-serif}.uploadcare-crop-widget__image-wrap{position:relative}.uploadcare-crop-widget--loading .uploadcare-crop-widget__image-wrap{background-repeat:no-repeat;background-position:center}.uploadcare-crop-widget__image-wrap img{display:block}.uploadcare-crop-widget__error{-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;text-align:center;position:absolute;top:50%;left:0;right:0;margin-top:-1em;display:none}.uploadcare-crop-widget--error .uploadcare-crop-widget__error{display:block}.uploadcare-crop-widget__error__title{font-size:20px}.uploadcare-crop-widget__error__text{font-size:15px}.uploadcare-crop-widget__controls{height:30px;padding-top:5px;text-align:center}.uploadcare-crop-widget--no-controls .uploadcare-crop-widget__controls{display:none}.uploadcare-widget{display:inline-block!important;position:relative;vertical-align:middle;padding:0 5px}.uploadcare-widget[data-status=loaded] .uploadcare-widget-buttons>li,.uploadcare-widget[data-status=started] .uploadcare-widget-buttons>li{display:none}.uploadcare-widget[data-status=started] .uploadcare-widget-buttons .uploadcare-widget-buttons-cancel,.uploadcare-widget[data-status=loaded] .uploadcare-widget-buttons .uploadcare-widget-buttons-remove{display:inline-block}.uploadcare-widget .uploadcare-widget-circle{width:25px;height:25px;top:-1px;float:left;margin-right:1ex}.uploadcare-widget-circle{position:relative;font-size:0}.uploadcare-widget-circle .uploadcare-widget-circle-back{position:relative;width:100%;height:100%;border-radius:50%}.uploadcare-widget-circle .uploadcare-widget-circle-center{position:absolute;width:10%;height:10%;top:50%;left:50%;border-radius:50%;margin-top:-5%;margin-left:-5%}.uploadcare-widget-buttons{position:relative;top:-1px;float:left;overflow:hidden;margin:0;padding:0;list-style:none}.uploadcare-widget-buttons>li{height:24px;float:left;font-size:11px;color:#8f9295;line-height:25px;min-width:36px;padding:0 6px;margin:0 3px 1px 0;list-style:none;-ms-box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;border-radius:2px;background:#e1e5e7;cursor:default}.uploadcare-widget-buttons>li.uploadcare-widget-buttons-dialog,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-file,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-url{background-position:0 0;background-repeat:no-repeat;padding-left:30px}.uploadcare-widget-buttons>li.uploadcare-widget-buttons-dialog,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-url{background-position:0 -24px}.uploadcare-widget-buttons>li.uploadcare-widget-buttons-cancel,.uploadcare-widget-buttons>li.uploadcare-widget-buttons-remove{font-size:.9em;display:none}.uploadcare-widget-status-text{float:left;overflow:hidden;line-height:25px;height:25px;margin-right:1ex;white-space:nowrap;padding:0 5px}.uploadcare-widget-file-name{cursor:pointer;color:#1a85ad;border-bottom-color:#1a85ad;text-decoration:none;border-bottom:1px dotted}.uploadcare-widget .uploadcare-widget-dragndrop-area{display:none;position:absolute;top:-8px;left:0;width:100%;height:41px;line-height:41px;text-align:center;background-color:#f0f0f0;color:#707478;border:1px dashed #b3b5b6;border-radius:20.5px}.uploadcare-widget .uploadcare-widget-dragndrop-area.uploadcare-dragging{display:block}\n');}return __p.join('');};
|
17667
17955
|
}).call(this);
|
17668
17956
|
(function() {
|
17669
17957
|
this.JST || (this.JST = {});
|
@@ -17675,7 +17963,8 @@ var _require = (function() {
|
|
17675
17963
|
this.JST || (this.JST = {});
|
17676
17964
|
this.JST["uploadcare/templates/tab-preview-error"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class="uploadcare-dialog-title">',(''+
|
17677
17965
|
t('dialog.tabs.preview.error.'+error+'.title') || t('dialog.tabs.preview.error.default.title')
|
17678
|
-
).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n\n<div class="uploadcare-dialog-label">\n ',(''+ (file.name || t('dialog.tabs.preview.unknownName')) ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),''
|
17966
|
+
).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n\n<div class="uploadcare-dialog-label">\n ',(''+ (file.name || t('dialog.tabs.preview.unknownName')) ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'',(''+
|
17967
|
+
utils.readableFileSize(file.size, '', ', ') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'\n</div>\n\n<div class="uploadcare-dialog-section uploadcare-dialog-normal-text">\n ',(''+
|
17679
17968
|
t('dialog.tabs.preview.error.'+error+'.line1') || t('dialog.tabs.preview.error.default.line1')
|
17680
17969
|
).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'<br/>\n ',(''+
|
17681
17970
|
t('dialog.tabs.preview.error.'+error+'.line2') || t('dialog.tabs.preview.error.default.line2')
|
@@ -17683,24 +17972,34 @@ var _require = (function() {
|
|
17683
17972
|
}).call(this);
|
17684
17973
|
(function() {
|
17685
17974
|
this.JST || (this.JST = {});
|
17686
|
-
this.JST["uploadcare/templates/tab-preview-image"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class="uploadcare-dialog-title">',(''+ t('dialog.tabs.preview.image.title') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n\n<div class="uploadcare-dialog-preview-image-wrap1">\n<div class="uploadcare-dialog-preview-image-wrap2">\n <img \n src="',(''+ file.previewUrl ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'" \n title="',(''+ (file.name || t('dialog.tabs.preview.unknownName')) ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'" \n alt="',(''+ (file.name || t('dialog.tabs.preview.unknownName')) ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'"\n role="uploadcare-dialog-preview-image"\n />\n</div>\n</div>\n\n<div class="uploadcare-dialog-
|
17975
|
+
this.JST["uploadcare/templates/tab-preview-image"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class="uploadcare-dialog-title">',(''+ t('dialog.tabs.preview.image.title') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n\n<div class="uploadcare-dialog-preview-image-wrap1">\n<div class="uploadcare-dialog-preview-image-wrap2">\n <img \n src="',(''+ file.previewUrl ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'" \n title="',(''+ (file.name || t('dialog.tabs.preview.unknownName')) ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'" \n alt="',(''+ (file.name || t('dialog.tabs.preview.unknownName')) ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'"\n role="uploadcare-dialog-preview-image"\n />\n</div>\n</div>\n\n<div class="uploadcare-dialog-inner-footer">\n <div \n class="uploadcare-dialog-button" \n role="uploadcare-dialog-preview-back">',(''+ t('dialog.tabs.preview.image.change') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n <div \n class="uploadcare-dialog-button-success" \n role="uploadcare-dialog-preview-done">',(''+ t('dialog.tabs.preview.done') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n</div>\n');}return __p.join('');};
|
17976
|
+
}).call(this);
|
17977
|
+
(function() {
|
17978
|
+
this.JST || (this.JST = {});
|
17979
|
+
this.JST["uploadcare/templates/tab-preview-multiple-file"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div role="uploadcare-dpm-file-item" class="uploadcare-dpm-file-item">\n <div class="uploadcare-dpm-file-preview-wrap">\n <div class="uploadcare-dpm-file-preview-wrap2" role="uploadcare-dpm-file-preview-wrap"></div>\n </div><!--\n --><div role="uploadcare-dpm-file-name" class="uploadcare-dpm-file-name">\n ',(''+ t('dialog.tabs.preview.unknownName') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'\n </div><!--\n --><div role="uploadcare-dpm-file-size" class="uploadcare-dpm-file-size"></div><!--\n --><div class="uploadcare-dpm-file-progressbar-wrap">\n <div class="uploadcare-dpm-file-progressbar">\n <div \n role="uploadcare-dpm-file-progressbar-value"\n class="uploadcare-dpm-file-progressbar-value"\n ></div>\n </div>\n </div><!--\n --><div role="uploadcare-dpm-file-error" class="uploadcare-dpm-file-error"></div><!--\n --><div class="uploadcare-dpm-file-remove-wrap">\n <div role="uploadcare-dpm-file-remove" class="uploadcare-dpm-file-remove"></div>\n </div>\n</div>\n');}return __p.join('');};
|
17687
17980
|
}).call(this);
|
17688
17981
|
(function() {
|
17689
17982
|
this.JST || (this.JST = {});
|
17690
|
-
this.JST["uploadcare/templates/tab-preview-
|
17983
|
+
this.JST["uploadcare/templates/tab-preview-multiple"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class="uploadcare-dialog-title">\n ',(''+ t('dialog.tabs.preview.multiple.title') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'\n <span role="uploadcare-dpm-files-count"></span>\n</div>\n\n<div role="uploadcare-dpm-file-list" class="uploadcare-dpm-file-list"></div>\n\n<div class="uploadcare-dialog-inner-footer">\n <div \n class="uploadcare-dialog-button" \n role="uploadcare-dialog-preview-back">',(''+ t('dialog.tabs.preview.multiple.clear') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n <div \n class="uploadcare-dialog-button-success" \n role="uploadcare-dialog-preview-done">',(''+ t('dialog.tabs.preview.multiple.done') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n <div class="uploadcare-dialog-inner-footer-text" role="uploadcare-dpm-footer-text"></div>\n</div>\n');}return __p.join('');};
|
17691
17984
|
}).call(this);
|
17692
17985
|
(function() {
|
17693
17986
|
this.JST || (this.JST = {});
|
17694
|
-
this.JST["uploadcare/templates/tab-preview-
|
17987
|
+
this.JST["uploadcare/templates/tab-preview-regular"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class="uploadcare-dialog-title">',(''+ t('dialog.tabs.preview.regular.title') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n\n<div class="uploadcare-dialog-label">\n ',(''+ (file.name || t('dialog.tabs.preview.unknownName')) ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'',(''+
|
17988
|
+
utils.readableFileSize(file.size, '', ', ') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'\n</div>\n\n<div class="uploadcare-dialog-section uploadcare-dialog-normal-text">\n ',(''+ t('dialog.tabs.preview.regular.line1') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'<br/>\n ',(''+ t('dialog.tabs.preview.regular.line2') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'\n</div>\n\n<div \n class="uploadcare-dialog-button-success" \n role="uploadcare-dialog-preview-done">',(''+ t('dialog.tabs.preview.done') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n<div \n class="uploadcare-dialog-button" \n role="uploadcare-dialog-preview-back">',(''+ t('dialog.tabs.preview.change') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n');}return __p.join('');};
|
17695
17989
|
}).call(this);
|
17696
17990
|
(function() {
|
17697
17991
|
this.JST || (this.JST = {});
|
17698
|
-
this.JST["uploadcare/templates/tab-preview"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('');
|
17992
|
+
this.JST["uploadcare/templates/tab-preview-unknown"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class="uploadcare-dialog-preview-center">\n \n <div \n class="uploadcare-dialog-preview-circle"\n role="uploadcare-dialog-preview-circle"></div>\n <div class="uploadcare-dialog-title2">',(''+ t('dialog.tabs.preview.unknown.title') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n <div class="uploadcare-dialog-label">\n ',(''+ (file.name || t('dialog.tabs.preview.unknownName')) ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'',(''+
|
17993
|
+
utils.readableFileSize(file.size, '', ', ') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'\n </div>\n <div \n class="uploadcare-dialog-button-success" \n role="uploadcare-dialog-preview-done">',(''+ t('dialog.tabs.preview.unknown.done') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n</div>\n');}return __p.join('');};
|
17699
17994
|
}).call(this);
|
17700
17995
|
(function() {
|
17701
17996
|
this.JST || (this.JST = {});
|
17702
17997
|
this.JST["uploadcare/templates/tab-url"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class="uploadcare-dialog-title">',(''+ t('dialog.tabs.url.title') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n<div class="uploadcare-dialog-section uploadcare-dialog-normal-text">\n <div>',(''+ t('dialog.tabs.url.line1') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n <div>',(''+ t('dialog.tabs.url.line2') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n</div>\n<form role="uploadcare-dialog-url-form">\n <input type="text" role="uploadcare-dialog-url-input" placeholder="',(''+ t('dialog.tabs.url.input') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'">\n <button class="uploadcare-dialog-button" type="submit" role="uploadcare-dialog-url-submit">',(''+ t('dialog.tabs.url.button') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</button>\n</form>\n');}return __p.join('');};
|
17703
17998
|
}).call(this);
|
17999
|
+
(function() {
|
18000
|
+
this.JST || (this.JST = {});
|
18001
|
+
this.JST["uploadcare/templates/tab-welcome"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class="uploadcare-dialog-message-center">\n <div class="uploadcare-dialog-title">Welcome to Uploadcare</div>\n <div class="uploadcare-dialog-large-text">\n <div>Your <a href="https://uploadcare.com/accounts/settings/">public key</a> is not set.</div>\n <div>Add this to the <head> tag to start uploading files:</div>\n <div class="uploadcare-pre"><script>\nUPLOADCARE_PUBLIC_KEY = \'your_public_key\';\n</script></div>\n </div>\n</div>\n');}return __p.join('');};
|
18002
|
+
}).call(this);
|
17704
18003
|
(function() {
|
17705
18004
|
this.JST || (this.JST = {});
|
17706
18005
|
this.JST["uploadcare/templates/widget-button"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<li \n role="uploadcare-widget-buttons-', name ,'" \n class="uploadcare-widget-buttons-', name ,'"\n>',(''+ caption ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</li>\n');}return __p.join('');};
|
@@ -17714,9 +18013,9 @@ var _require = (function() {
|
|
17714
18013
|
this.JST["uploadcare/templates/widget"] = function(obj){var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('<div class="uploadcare-widget">\n <div role="uploadcare-widget-status"></div>\n <div role="uploadcare-widget-status-text" class="uploadcare-widget-status-text"></div>\n <ul role="uploadcare-widget-buttons" class="uploadcare-widget-buttons"></ul>\n <div class="uploadcare-widget-dragndrop-area" role="uploadcare-drop-area">',(''+ t('draghere') ).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g,'/'),'</div>\n</div>\n');}return __p.join('');};
|
17715
18014
|
}).call(this);
|
17716
18015
|
(function() {
|
17717
|
-
var locale, namespace;
|
18016
|
+
var locale, namespace, utils;
|
17718
18017
|
|
17719
|
-
namespace = uploadcare.namespace, locale = uploadcare.locale;
|
18018
|
+
namespace = uploadcare.namespace, locale = uploadcare.locale, utils = uploadcare.utils;
|
17720
18019
|
|
17721
18020
|
namespace('uploadcare.templates', function(ns) {
|
17722
18021
|
return ns.tpl = function(key, ctx) {
|
@@ -17727,6 +18026,7 @@ var _require = (function() {
|
|
17727
18026
|
fn = JST["uploadcare/templates/" + key];
|
17728
18027
|
if (fn != null) {
|
17729
18028
|
ctx.t = locale.t;
|
18029
|
+
ctx.utils = utils;
|
17730
18030
|
return fn(ctx);
|
17731
18031
|
} else {
|
17732
18032
|
return '';
|
@@ -19780,10 +20080,10 @@ var _require = (function() {
|
|
19780
20080
|
|
19781
20081
|
}).call(this);
|
19782
20082
|
(function() {
|
19783
|
-
var $, namespace, utils,
|
20083
|
+
var $, namespace, s, utils,
|
19784
20084
|
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
|
19785
20085
|
|
19786
|
-
namespace = uploadcare.namespace, $ = uploadcare.jQuery, utils = uploadcare.utils;
|
20086
|
+
namespace = uploadcare.namespace, s = uploadcare.settings, $ = uploadcare.jQuery, utils = uploadcare.utils;
|
19787
20087
|
|
19788
20088
|
namespace('uploadcare.files', function(ns) {
|
19789
20089
|
return ns.BaseFile = (function() {
|
@@ -19806,7 +20106,7 @@ var _require = (function() {
|
|
19806
20106
|
this.__requestInfo = __bind(this.__requestInfo, this);
|
19807
20107
|
|
19808
20108
|
var _this = this;
|
19809
|
-
this.settings =
|
20109
|
+
this.settings = s.build(settings);
|
19810
20110
|
this.fileId = null;
|
19811
20111
|
this.fileName = null;
|
19812
20112
|
this.fileSize = null;
|
@@ -19832,32 +20132,28 @@ var _require = (function() {
|
|
19832
20132
|
throw new Error('not implemented');
|
19833
20133
|
};
|
19834
20134
|
|
20135
|
+
BaseFile.prototype.__handleFileData = function(data) {
|
20136
|
+
this.fileName = data.original_filename;
|
20137
|
+
this.fileSize = data.size;
|
20138
|
+
this.isImage = data.is_image;
|
20139
|
+
this.isStored = data.is_stored || data.is_public;
|
20140
|
+
this.__buildPreviewUrl();
|
20141
|
+
if (this.settings.imagesOnly && !this.isImage) {
|
20142
|
+
this.__infoDf.reject('image', this);
|
20143
|
+
return;
|
20144
|
+
}
|
20145
|
+
return this.__infoDf.resolve(this);
|
20146
|
+
};
|
20147
|
+
|
19835
20148
|
BaseFile.prototype.__requestInfo = function() {
|
19836
|
-
var
|
19837
|
-
|
19838
|
-
|
20149
|
+
var _this = this;
|
20150
|
+
return utils.jsonp("" + this.settings.urlBase + "/info/", {
|
20151
|
+
file_id: this.fileId,
|
20152
|
+
pub_key: this.settings.publicKey
|
20153
|
+
}).fail(function() {
|
19839
20154
|
return _this.__infoDf.reject('info', _this);
|
19840
|
-
}
|
19841
|
-
|
19842
|
-
data: {
|
19843
|
-
file_id: this.fileId,
|
19844
|
-
pub_key: this.settings.publicKey
|
19845
|
-
},
|
19846
|
-
dataType: 'jsonp'
|
19847
|
-
}).fail(fail).done(function(data) {
|
19848
|
-
if (data.error) {
|
19849
|
-
return fail();
|
19850
|
-
}
|
19851
|
-
_this.fileName = data.original_filename;
|
19852
|
-
_this.fileSize = data.size;
|
19853
|
-
_this.isImage = data.is_image;
|
19854
|
-
_this.isStored = data.is_stored;
|
19855
|
-
_this.__buildPreviewUrl();
|
19856
|
-
if (_this.settings.imagesOnly && !_this.isImage) {
|
19857
|
-
_this.__infoDf.reject('image', _this);
|
19858
|
-
return;
|
19859
|
-
}
|
19860
|
-
return _this.__infoDf.resolve(_this);
|
20155
|
+
}).done(function(data) {
|
20156
|
+
return _this.__handleFileData(data);
|
19861
20157
|
});
|
19862
20158
|
};
|
19863
20159
|
|
@@ -19998,13 +20294,30 @@ var _require = (function() {
|
|
19998
20294
|
})();
|
19999
20295
|
});
|
20000
20296
|
|
20297
|
+
namespace('uploadcare.utils', function(utils) {
|
20298
|
+
utils.isFile = function(obj) {
|
20299
|
+
return obj && obj.done && obj.fail && obj.cancel;
|
20300
|
+
};
|
20301
|
+
return utils.anyToFile = function(value, settings) {
|
20302
|
+
if (value) {
|
20303
|
+
if (utils.isFile(value)) {
|
20304
|
+
return value;
|
20305
|
+
} else {
|
20306
|
+
return uploadcare.fileFrom('url', value, settings);
|
20307
|
+
}
|
20308
|
+
} else {
|
20309
|
+
return null;
|
20310
|
+
}
|
20311
|
+
};
|
20312
|
+
});
|
20313
|
+
|
20001
20314
|
}).call(this);
|
20002
20315
|
(function() {
|
20003
|
-
var $,
|
20316
|
+
var $, namespace, utils,
|
20004
20317
|
__hasProp = {}.hasOwnProperty,
|
20005
20318
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
20006
20319
|
|
20007
|
-
namespace = uploadcare.namespace, $ = uploadcare.jQuery, utils = uploadcare.utils
|
20320
|
+
namespace = uploadcare.namespace, $ = uploadcare.jQuery, utils = uploadcare.utils;
|
20008
20321
|
|
20009
20322
|
namespace('uploadcare.files', function(ns) {
|
20010
20323
|
return ns.EventFile = (function(_super) {
|
@@ -20032,6 +20345,9 @@ var _require = (function() {
|
|
20032
20345
|
formData = new FormData();
|
20033
20346
|
formData.append('UPLOADCARE_PUB_KEY', this.settings.publicKey);
|
20034
20347
|
formData.append('UPLOADCARE_FILE_ID', this.fileId);
|
20348
|
+
if (this.settings.autostore) {
|
20349
|
+
formData.append('UPLOADCARE_STORE', 1);
|
20350
|
+
}
|
20035
20351
|
formData.append('file', this.__file);
|
20036
20352
|
fail = function() {
|
20037
20353
|
return _this.__uploadDf.reject('upload', _this);
|
@@ -20067,7 +20383,9 @@ var _require = (function() {
|
|
20067
20383
|
error: fail,
|
20068
20384
|
success: function(data) {
|
20069
20385
|
if (data != null ? data.error : void 0) {
|
20070
|
-
|
20386
|
+
if (_this.settings.autostore && /autostore/i.test(data.error.content)) {
|
20387
|
+
utils.commonWarning('autostore');
|
20388
|
+
}
|
20071
20389
|
return fail();
|
20072
20390
|
}
|
20073
20391
|
return _this.__uploadDf.resolve(_this);
|
@@ -20136,7 +20454,7 @@ var _require = (function() {
|
|
20136
20454
|
action: targetUrl,
|
20137
20455
|
enctype: 'multipart/form-data',
|
20138
20456
|
target: iframeId
|
20139
|
-
}).append(formParam('UPLOADCARE_PUB_KEY', this.settings.publicKey)).append(formParam('UPLOADCARE_FILE_ID', this.fileId)).append(this.__input).css('display', 'none').appendTo('body').submit();
|
20457
|
+
}).append(formParam('UPLOADCARE_PUB_KEY', this.settings.publicKey)).append(formParam('UPLOADCARE_FILE_ID', this.fileId)).append(this.settings.autostore ? formParam('UPLOADCARE_STORE', 1) : void 0).append(this.__input).css('display', 'none').appendTo('body').submit();
|
20140
20458
|
};
|
20141
20459
|
|
20142
20460
|
InputFile.prototype.__cleanUp = function() {
|
@@ -20158,11 +20476,11 @@ var _require = (function() {
|
|
20158
20476
|
|
20159
20477
|
}).call(this);
|
20160
20478
|
(function() {
|
20161
|
-
var $,
|
20479
|
+
var $, namespace, pusher, utils,
|
20162
20480
|
__hasProp = {}.hasOwnProperty,
|
20163
20481
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
20164
20482
|
|
20165
|
-
namespace = uploadcare.namespace, $ = uploadcare.jQuery, utils = uploadcare.utils
|
20483
|
+
namespace = uploadcare.namespace, $ = uploadcare.jQuery, utils = uploadcare.utils;
|
20166
20484
|
|
20167
20485
|
pusher = uploadcare.utils.pusher;
|
20168
20486
|
|
@@ -20183,24 +20501,24 @@ var _require = (function() {
|
|
20183
20501
|
}
|
20184
20502
|
|
20185
20503
|
UrlFile.prototype.__startUpload = function() {
|
20186
|
-
var
|
20504
|
+
var data,
|
20187
20505
|
_this = this;
|
20188
20506
|
this.__pollWatcher = new PollWatcher(this, this.settings);
|
20189
20507
|
this.__pusherWatcher = new PusherWatcher(this, this.settings);
|
20190
20508
|
this.__state('start');
|
20191
|
-
|
20192
|
-
|
20509
|
+
data = {
|
20510
|
+
pub_key: this.settings.publicKey,
|
20511
|
+
source_url: this.__url
|
20193
20512
|
};
|
20194
|
-
|
20195
|
-
data
|
20196
|
-
|
20197
|
-
|
20198
|
-
|
20199
|
-
|
20200
|
-
}).fail(fail).done(function(data) {
|
20201
|
-
if (data.error) {
|
20202
|
-
return fail();
|
20513
|
+
if (this.settings.autostore) {
|
20514
|
+
data.store = 1;
|
20515
|
+
}
|
20516
|
+
utils.jsonp("" + this.settings.urlBase + "/from_url/", data).fail(function(error) {
|
20517
|
+
if (_this.settings.autostore && /autostore/i.test(error)) {
|
20518
|
+
utils.commonWarning('autostore');
|
20203
20519
|
}
|
20520
|
+
return _this.__state('error');
|
20521
|
+
}).done(function(data) {
|
20204
20522
|
_this.__token = data.token;
|
20205
20523
|
_this.__pollWatcher.watch(_this.__token);
|
20206
20524
|
_this.__pusherWatcher.watch(_this.__token);
|
@@ -20259,7 +20577,6 @@ var _require = (function() {
|
|
20259
20577
|
var ev, onStarted, _fn, _i, _len, _ref,
|
20260
20578
|
_this = this;
|
20261
20579
|
this.token = token;
|
20262
|
-
debug('started url watching with pusher');
|
20263
20580
|
this.channel = this.pusher.subscribe("task-status-" + this.token);
|
20264
20581
|
onStarted = function() {
|
20265
20582
|
var ev, _i, _len, _ref, _results;
|
@@ -20274,10 +20591,10 @@ var _require = (function() {
|
|
20274
20591
|
};
|
20275
20592
|
_ref = ['progress', 'success'];
|
20276
20593
|
_fn = function(ev) {
|
20277
|
-
_this.channel.bind(ev,
|
20278
|
-
return _this.channel.bind(ev, function(data) {
|
20594
|
+
_this.channel.bind(ev, function(data) {
|
20279
20595
|
return _this.uploader.__state(ev, data);
|
20280
20596
|
});
|
20597
|
+
return _this.channel.bind(ev, onStarted);
|
20281
20598
|
};
|
20282
20599
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
20283
20600
|
ev = _ref[_i];
|
@@ -20331,20 +20648,12 @@ var _require = (function() {
|
|
20331
20648
|
};
|
20332
20649
|
|
20333
20650
|
PollWatcher.prototype.__checkStatus = function(callback) {
|
20334
|
-
var
|
20335
|
-
|
20336
|
-
|
20651
|
+
var _this = this;
|
20652
|
+
return utils.jsonp("" + this.settings.urlBase + "/status/", {
|
20653
|
+
token: this.token
|
20654
|
+
}).fail(function(error) {
|
20337
20655
|
return _this.__error();
|
20338
|
-
}
|
20339
|
-
return $.ajax("" + this.settings.urlBase + "/status/", {
|
20340
|
-
data: {
|
20341
|
-
'token': this.token
|
20342
|
-
},
|
20343
|
-
dataType: 'jsonp'
|
20344
|
-
}).fail(fail).done(function(data) {
|
20345
|
-
if (data.error) {
|
20346
|
-
return fail();
|
20347
|
-
}
|
20656
|
+
}).done(function(data) {
|
20348
20657
|
return callback(data);
|
20349
20658
|
});
|
20350
20659
|
};
|
@@ -20363,7 +20672,7 @@ var _require = (function() {
|
|
20363
20672
|
namespace = uploadcare.namespace, $ = uploadcare.jQuery, utils = uploadcare.utils;
|
20364
20673
|
|
20365
20674
|
namespace('uploadcare.files', function(ns) {
|
20366
|
-
|
20675
|
+
ns.UploadedFile = (function(_super) {
|
20367
20676
|
|
20368
20677
|
__extends(UploadedFile, _super);
|
20369
20678
|
|
@@ -20390,6 +20699,337 @@ var _require = (function() {
|
|
20390
20699
|
return UploadedFile;
|
20391
20700
|
|
20392
20701
|
})(ns.BaseFile);
|
20702
|
+
ns.ReadyFile = (function(_super) {
|
20703
|
+
|
20704
|
+
__extends(ReadyFile, _super);
|
20705
|
+
|
20706
|
+
function ReadyFile(settings, __fileData) {
|
20707
|
+
this.__fileData = __fileData;
|
20708
|
+
ReadyFile.__super__.constructor.apply(this, arguments);
|
20709
|
+
this.fileId = this.__fileData.file_id;
|
20710
|
+
this.__uploadDf.resolve();
|
20711
|
+
}
|
20712
|
+
|
20713
|
+
ReadyFile.prototype.__startUpload = function() {};
|
20714
|
+
|
20715
|
+
ReadyFile.prototype.__requestInfo = function() {
|
20716
|
+
return this.__handleFileData(this.__fileData);
|
20717
|
+
};
|
20718
|
+
|
20719
|
+
return ReadyFile;
|
20720
|
+
|
20721
|
+
})(ns.BaseFile);
|
20722
|
+
return ns.DeletedFile = (function(_super) {
|
20723
|
+
|
20724
|
+
__extends(DeletedFile, _super);
|
20725
|
+
|
20726
|
+
function DeletedFile() {
|
20727
|
+
DeletedFile.__super__.constructor.apply(this, arguments);
|
20728
|
+
this.__uploadDf.reject('deleted');
|
20729
|
+
}
|
20730
|
+
|
20731
|
+
DeletedFile.prototype.__startUpload = function() {};
|
20732
|
+
|
20733
|
+
return DeletedFile;
|
20734
|
+
|
20735
|
+
})(ns.BaseFile);
|
20736
|
+
});
|
20737
|
+
|
20738
|
+
}).call(this);
|
20739
|
+
(function() {
|
20740
|
+
var $, namespace, s, t, utils, _ref,
|
20741
|
+
__slice = [].slice,
|
20742
|
+
__hasProp = {}.hasOwnProperty,
|
20743
|
+
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
20744
|
+
|
20745
|
+
namespace = uploadcare.namespace, $ = uploadcare.jQuery, utils = uploadcare.utils, (_ref = uploadcare.locale, t = _ref.t), s = uploadcare.settings;
|
20746
|
+
|
20747
|
+
namespace('uploadcare.files', function(ns) {
|
20748
|
+
ns.FileGroup = (function() {
|
20749
|
+
|
20750
|
+
function FileGroup(files, settings) {
|
20751
|
+
var _this = this;
|
20752
|
+
this.settings = s.build(settings);
|
20753
|
+
this.__fileColl = new utils.CollectionOfPromises(files);
|
20754
|
+
this.__allFilesDf = $.when.apply($, this.__fileColl.get());
|
20755
|
+
this.__fileInfosDf = (function() {
|
20756
|
+
var file;
|
20757
|
+
files = (function() {
|
20758
|
+
var _i, _len, _ref1, _results;
|
20759
|
+
_ref1 = this.__fileColl.get();
|
20760
|
+
_results = [];
|
20761
|
+
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
|
20762
|
+
file = _ref1[_i];
|
20763
|
+
_results.push(file.then(null, function(err, info) {
|
20764
|
+
return $.when(info);
|
20765
|
+
}));
|
20766
|
+
}
|
20767
|
+
return _results;
|
20768
|
+
}).call(_this);
|
20769
|
+
return $.when.apply($, files);
|
20770
|
+
})();
|
20771
|
+
this.__createGroupDf = $.Deferred();
|
20772
|
+
this.__initApiDeferred();
|
20773
|
+
}
|
20774
|
+
|
20775
|
+
FileGroup.prototype.files = function() {
|
20776
|
+
return this.__fileColl.get();
|
20777
|
+
};
|
20778
|
+
|
20779
|
+
FileGroup.prototype.__save = function() {
|
20780
|
+
var _this = this;
|
20781
|
+
if (!this.__saved) {
|
20782
|
+
this.__saved = true;
|
20783
|
+
return this.__allFilesDf.done(function() {
|
20784
|
+
return _this.__createGroup().done(function(groupInfo) {
|
20785
|
+
_this.__uuid = groupInfo.id;
|
20786
|
+
return _this.__buildInfo(function(info) {
|
20787
|
+
if (_this.settings.imagesOnly && !info.isImage) {
|
20788
|
+
return _this.__createGroupDf.reject('image', info);
|
20789
|
+
} else {
|
20790
|
+
return _this.__createGroupDf.resolve(info);
|
20791
|
+
}
|
20792
|
+
});
|
20793
|
+
}).fail(function() {
|
20794
|
+
return _this.__createGroupDf.reject('createGroup');
|
20795
|
+
});
|
20796
|
+
});
|
20797
|
+
}
|
20798
|
+
};
|
20799
|
+
|
20800
|
+
FileGroup.prototype.promise = function() {
|
20801
|
+
this.__save();
|
20802
|
+
return this.__apiDf.promise();
|
20803
|
+
};
|
20804
|
+
|
20805
|
+
FileGroup.prototype.__initApiDeferred = function() {
|
20806
|
+
var notify, reject, resolve,
|
20807
|
+
_this = this;
|
20808
|
+
this.__apiDf = $.Deferred();
|
20809
|
+
this.__progressState = 'uploading';
|
20810
|
+
reject = function(err) {
|
20811
|
+
return _this.__buildInfo(function(info) {
|
20812
|
+
return _this.__apiDf.reject(err, info);
|
20813
|
+
});
|
20814
|
+
};
|
20815
|
+
resolve = function(info) {
|
20816
|
+
return _this.__apiDf.resolve(info);
|
20817
|
+
};
|
20818
|
+
notify = function() {
|
20819
|
+
return _this.__apiDf.notify(_this.__progressInfo());
|
20820
|
+
};
|
20821
|
+
notify();
|
20822
|
+
this.__fileColl.onAnyProgress.add(notify);
|
20823
|
+
this.__allFilesDf.done(function() {
|
20824
|
+
_this.__progressState = 'uploaded';
|
20825
|
+
return notify();
|
20826
|
+
}).fail(reject);
|
20827
|
+
return this.__createGroupDf.done(function(info) {
|
20828
|
+
_this.__progressState = 'ready';
|
20829
|
+
notify();
|
20830
|
+
return resolve(info);
|
20831
|
+
}).fail(reject);
|
20832
|
+
};
|
20833
|
+
|
20834
|
+
FileGroup.prototype.__progressInfo = function() {
|
20835
|
+
var progress, progressInfo, progressInfos, _i, _len;
|
20836
|
+
progress = 0;
|
20837
|
+
progressInfos = this.__fileColl.lastProgresses();
|
20838
|
+
for (_i = 0, _len = progressInfos.length; _i < _len; _i++) {
|
20839
|
+
progressInfo = progressInfos[_i];
|
20840
|
+
progress += ((progressInfo != null ? progressInfo.progress : void 0) || 0) / progressInfos.length;
|
20841
|
+
}
|
20842
|
+
return {
|
20843
|
+
state: this.__progressState,
|
20844
|
+
uploadProgress: progress,
|
20845
|
+
progress: this.__progressState === 'ready' ? 1 : progress * 0.9,
|
20846
|
+
incompleteFileInfo: {}
|
20847
|
+
};
|
20848
|
+
};
|
20849
|
+
|
20850
|
+
FileGroup.prototype.__buildInfo = function(cb) {
|
20851
|
+
var info;
|
20852
|
+
info = {
|
20853
|
+
uuid: this.__uuid,
|
20854
|
+
cdnUrl: "" + this.settings.cdnBase + "/" + this.__uuid + "/",
|
20855
|
+
name: t('file', this.__fileColl.length()),
|
20856
|
+
size: 0,
|
20857
|
+
isImage: true,
|
20858
|
+
isStored: true
|
20859
|
+
};
|
20860
|
+
return this.__fileInfosDf.done(function() {
|
20861
|
+
var infos, _i, _info, _len;
|
20862
|
+
infos = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
20863
|
+
for (_i = 0, _len = infos.length; _i < _len; _i++) {
|
20864
|
+
_info = infos[_i];
|
20865
|
+
info.size += _info.size;
|
20866
|
+
if (!_info.isImage) {
|
20867
|
+
info.isImage = false;
|
20868
|
+
}
|
20869
|
+
if (!_info.isStored) {
|
20870
|
+
info.isStored = false;
|
20871
|
+
}
|
20872
|
+
}
|
20873
|
+
return cb(info);
|
20874
|
+
});
|
20875
|
+
};
|
20876
|
+
|
20877
|
+
FileGroup.prototype.__createGroup = function() {
|
20878
|
+
var df,
|
20879
|
+
_this = this;
|
20880
|
+
df = $.Deferred();
|
20881
|
+
if (this.__fileColl.length()) {
|
20882
|
+
this.__fileInfosDf.done(function() {
|
20883
|
+
var data, info, infos;
|
20884
|
+
infos = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
20885
|
+
data = {
|
20886
|
+
pub_key: _this.settings.publicKey,
|
20887
|
+
files: (function() {
|
20888
|
+
var _i, _len, _results;
|
20889
|
+
_results = [];
|
20890
|
+
for (_i = 0, _len = infos.length; _i < _len; _i++) {
|
20891
|
+
info = infos[_i];
|
20892
|
+
_results.push(info.uuid);
|
20893
|
+
}
|
20894
|
+
return _results;
|
20895
|
+
})()
|
20896
|
+
};
|
20897
|
+
return utils.jsonp("" + _this.settings.urlBase + "/group/", data).fail(df.reject).done(df.resolve);
|
20898
|
+
});
|
20899
|
+
} else {
|
20900
|
+
df.reject();
|
20901
|
+
}
|
20902
|
+
return df.promise();
|
20903
|
+
};
|
20904
|
+
|
20905
|
+
FileGroup.prototype.api = function() {
|
20906
|
+
if (!this.__api) {
|
20907
|
+
this.__api = utils.bindAll(this, ['promise', 'files']);
|
20908
|
+
}
|
20909
|
+
return this.__api;
|
20910
|
+
};
|
20911
|
+
|
20912
|
+
return FileGroup;
|
20913
|
+
|
20914
|
+
})();
|
20915
|
+
return ns.SavedFileGroup = (function(_super) {
|
20916
|
+
|
20917
|
+
__extends(SavedFileGroup, _super);
|
20918
|
+
|
20919
|
+
function SavedFileGroup(__data, settings) {
|
20920
|
+
var files;
|
20921
|
+
this.__data = __data;
|
20922
|
+
files = uploadcare.filesFrom('ready', this.__data.files, settings);
|
20923
|
+
SavedFileGroup.__super__.constructor.call(this, files, settings);
|
20924
|
+
}
|
20925
|
+
|
20926
|
+
SavedFileGroup.prototype.__createGroup = function() {
|
20927
|
+
return utils.wrapToPromise(this.__data);
|
20928
|
+
};
|
20929
|
+
|
20930
|
+
return SavedFileGroup;
|
20931
|
+
|
20932
|
+
})(ns.FileGroup);
|
20933
|
+
});
|
20934
|
+
|
20935
|
+
namespace('uploadcare', function(ns) {
|
20936
|
+
ns.FileGroup = function(filesAndGroups, settings) {
|
20937
|
+
var file, files, item, _i, _j, _len, _len1, _ref1;
|
20938
|
+
if (filesAndGroups == null) {
|
20939
|
+
filesAndGroups = [];
|
20940
|
+
}
|
20941
|
+
files = [];
|
20942
|
+
for (_i = 0, _len = filesAndGroups.length; _i < _len; _i++) {
|
20943
|
+
item = filesAndGroups[_i];
|
20944
|
+
if (utils.isFile(item)) {
|
20945
|
+
files.push(item);
|
20946
|
+
} else if (utils.isFileGroup(item)) {
|
20947
|
+
_ref1 = item.files();
|
20948
|
+
for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) {
|
20949
|
+
file = _ref1[_j];
|
20950
|
+
files.push(file);
|
20951
|
+
}
|
20952
|
+
}
|
20953
|
+
}
|
20954
|
+
return new uploadcare.files.FileGroup(files, settings).api();
|
20955
|
+
};
|
20956
|
+
return ns.loadFileGroup = function(groupIdOrUrl, settings) {
|
20957
|
+
var data, df, id;
|
20958
|
+
settings = s.build(settings);
|
20959
|
+
df = $.Deferred();
|
20960
|
+
id = utils.groupIdRegex.exec(groupIdOrUrl);
|
20961
|
+
if (id) {
|
20962
|
+
data = {
|
20963
|
+
pub_key: settings.publicKey,
|
20964
|
+
group_id: id[0]
|
20965
|
+
};
|
20966
|
+
utils.jsonp("" + settings.urlBase + "/group/info/", data).fail(df.reject).done(function(data) {
|
20967
|
+
return df.resolve(new uploadcare.files.SavedFileGroup(data, settings).api());
|
20968
|
+
});
|
20969
|
+
} else {
|
20970
|
+
df.reject();
|
20971
|
+
}
|
20972
|
+
return df.promise();
|
20973
|
+
};
|
20974
|
+
});
|
20975
|
+
|
20976
|
+
namespace('uploadcare.utils', function(utils) {
|
20977
|
+
utils.isFileGroup = function(obj) {
|
20978
|
+
return obj && obj.files && obj.promise;
|
20979
|
+
};
|
20980
|
+
utils.anyToFileGroup = function(value, settings) {
|
20981
|
+
var files, item, _i, _len;
|
20982
|
+
if (value) {
|
20983
|
+
if ($.isArray(value)) {
|
20984
|
+
for (_i = 0, _len = value.length; _i < _len; _i++) {
|
20985
|
+
item = value[_i];
|
20986
|
+
files = utils.anyToFile(item, settings);
|
20987
|
+
}
|
20988
|
+
return utils.wrapToPromise(uploadcare.FileGroup(files, settings));
|
20989
|
+
} else {
|
20990
|
+
if (utils.isFileGroup(value)) {
|
20991
|
+
return utils.wrapToPromise(value);
|
20992
|
+
} else {
|
20993
|
+
return uploadcare.loadFileGroup(value, settings);
|
20994
|
+
}
|
20995
|
+
}
|
20996
|
+
} else {
|
20997
|
+
return utils.wrapToPromise(null);
|
20998
|
+
}
|
20999
|
+
};
|
21000
|
+
return utils.isFileGroupsEqual = function(group1, group2) {
|
21001
|
+
var file, files1, files2, i, mismatches;
|
21002
|
+
if (group1 === group2) {
|
21003
|
+
return true;
|
21004
|
+
} else {
|
21005
|
+
if (utils.isFileGroup(group1) && utils.isFileGroup(group2)) {
|
21006
|
+
files1 = group1.files();
|
21007
|
+
files2 = group2.files();
|
21008
|
+
if (files1.length !== files2.length) {
|
21009
|
+
return false;
|
21010
|
+
} else {
|
21011
|
+
mismatches = (function() {
|
21012
|
+
var _i, _len, _results;
|
21013
|
+
_results = [];
|
21014
|
+
for (i = _i = 0, _len = files1.length; _i < _len; i = ++_i) {
|
21015
|
+
file = files1[i];
|
21016
|
+
if (file !== files2[i]) {
|
21017
|
+
_results.push(1);
|
21018
|
+
}
|
21019
|
+
}
|
21020
|
+
return _results;
|
21021
|
+
})();
|
21022
|
+
if (mismatches.length) {
|
21023
|
+
return false;
|
21024
|
+
} else {
|
21025
|
+
return true;
|
21026
|
+
}
|
21027
|
+
}
|
21028
|
+
} else {
|
21029
|
+
return false;
|
21030
|
+
}
|
21031
|
+
}
|
21032
|
+
};
|
20393
21033
|
});
|
20394
21034
|
|
20395
21035
|
}).call(this);
|
@@ -20401,35 +21041,83 @@ var _require = (function() {
|
|
20401
21041
|
namespace('uploadcare', function(ns) {
|
20402
21042
|
var converters;
|
20403
21043
|
ns.fileFrom = function(type, data, settings) {
|
21044
|
+
return converters[type](settings, data)[0].promise();
|
21045
|
+
};
|
21046
|
+
ns.filesFrom = function(type, data, settings) {
|
21047
|
+
var file, _i, _len, _ref, _results;
|
20404
21048
|
if (settings == null) {
|
20405
21049
|
settings = {};
|
20406
21050
|
}
|
20407
|
-
|
21051
|
+
_ref = converters[type](settings, data);
|
21052
|
+
_results = [];
|
21053
|
+
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
21054
|
+
file = _ref[_i];
|
21055
|
+
_results.push(file.promise());
|
21056
|
+
}
|
21057
|
+
return _results;
|
20408
21058
|
};
|
20409
21059
|
return converters = {
|
20410
21060
|
event: function(settings, e) {
|
20411
|
-
var files;
|
21061
|
+
var file, files, _i, _len, _results;
|
20412
21062
|
if (utils.abilities.canFileAPI) {
|
20413
21063
|
files = e.type === 'drop' ? e.originalEvent.dataTransfer.files : e.target.files;
|
20414
|
-
|
21064
|
+
_results = [];
|
21065
|
+
for (_i = 0, _len = files.length; _i < _len; _i++) {
|
21066
|
+
file = files[_i];
|
21067
|
+
_results.push(new f.EventFile(settings, file));
|
21068
|
+
}
|
21069
|
+
return _results;
|
20415
21070
|
} else {
|
20416
21071
|
return this.input(settings, e.target);
|
20417
21072
|
}
|
20418
21073
|
},
|
20419
21074
|
input: function(settings, input) {
|
20420
|
-
return new f.InputFile(settings, input);
|
21075
|
+
return [new f.InputFile(settings, input)];
|
20421
21076
|
},
|
20422
|
-
url: function(settings,
|
20423
|
-
var cdn;
|
20424
|
-
|
20425
|
-
|
20426
|
-
|
20427
|
-
|
20428
|
-
|
21077
|
+
url: function(settings, urls) {
|
21078
|
+
var cdn, url, _i, _len, _results;
|
21079
|
+
if (!$.isArray(urls)) {
|
21080
|
+
urls = [urls];
|
21081
|
+
}
|
21082
|
+
_results = [];
|
21083
|
+
for (_i = 0, _len = urls.length; _i < _len; _i++) {
|
21084
|
+
url = urls[_i];
|
21085
|
+
cdn = new RegExp("^" + settings.cdnBase + "/" + utils.uuidRegex.source, 'i');
|
21086
|
+
if (utils.fullUuidRegex.test(url) || cdn.test(url)) {
|
21087
|
+
_results.push(new f.UploadedFile(settings, url));
|
21088
|
+
} else {
|
21089
|
+
_results.push(new f.UrlFile(settings, url));
|
21090
|
+
}
|
21091
|
+
}
|
21092
|
+
return _results;
|
21093
|
+
},
|
21094
|
+
uploaded: function(settings, uuids) {
|
21095
|
+
var uuid, _i, _len, _results;
|
21096
|
+
if (!$.isArray(uuids)) {
|
21097
|
+
uuids = [uuids];
|
21098
|
+
}
|
21099
|
+
_results = [];
|
21100
|
+
for (_i = 0, _len = uuids.length; _i < _len; _i++) {
|
21101
|
+
uuid = uuids[_i];
|
21102
|
+
_results.push(new f.UploadedFile(settings, uuid));
|
20429
21103
|
}
|
21104
|
+
return _results;
|
20430
21105
|
},
|
20431
|
-
|
20432
|
-
|
21106
|
+
ready: function(settings, arrayOfFileData) {
|
21107
|
+
var fileData, _i, _len, _results;
|
21108
|
+
if (!$.isArray(arrayOfFileData)) {
|
21109
|
+
arrayOfFileData = [arrayOfFileData];
|
21110
|
+
}
|
21111
|
+
_results = [];
|
21112
|
+
for (_i = 0, _len = arrayOfFileData.length; _i < _len; _i++) {
|
21113
|
+
fileData = arrayOfFileData[_i];
|
21114
|
+
if (fileData) {
|
21115
|
+
_results.push(new f.ReadyFile(settings, fileData));
|
21116
|
+
} else {
|
21117
|
+
_results.push(new f.DeletedFile());
|
21118
|
+
}
|
21119
|
+
}
|
21120
|
+
return _results;
|
20433
21121
|
}
|
20434
21122
|
};
|
20435
21123
|
});
|
@@ -20526,10 +21214,11 @@ var _require = (function() {
|
|
20526
21214
|
this.element = $(this.element);
|
20527
21215
|
this.element.html(tpl('circle'));
|
20528
21216
|
this.pie = this.element.find('@uploadcare-widget-status');
|
21217
|
+
this.center = this.element.find('@uploadcare-circle-center');
|
20529
21218
|
this.element.addClass('uploadcare-widget-circle');
|
21219
|
+
this.setColorTheme('default');
|
20530
21220
|
this.size = Math.min(this.element.width(), this.element.height());
|
20531
21221
|
this.pie.width(this.size).height(this.size);
|
20532
|
-
this.color = this.__getSegmentColor();
|
20533
21222
|
this.angleOffset = -90;
|
20534
21223
|
this.raphael = this.__initRaphael();
|
20535
21224
|
this.path = this.raphael.path();
|
@@ -20556,9 +21245,9 @@ var _require = (function() {
|
|
20556
21245
|
};
|
20557
21246
|
this.observed = file;
|
20558
21247
|
if (this.observed.state() === "resolved") {
|
20559
|
-
|
21248
|
+
this.__update(1, true);
|
20560
21249
|
} else {
|
20561
|
-
|
21250
|
+
this.observed.progress(function(progress) {
|
20562
21251
|
if (file === _this.observed) {
|
20563
21252
|
return _this.__update(selectorFn(progress));
|
20564
21253
|
}
|
@@ -20568,6 +21257,7 @@ var _require = (function() {
|
|
20568
21257
|
}
|
20569
21258
|
});
|
20570
21259
|
}
|
21260
|
+
return this;
|
20571
21261
|
};
|
20572
21262
|
|
20573
21263
|
Circle.prototype.reset = function(filled) {
|
@@ -20578,15 +21268,47 @@ var _require = (function() {
|
|
20578
21268
|
return this.__update((filled ? 100 : 0), true);
|
20579
21269
|
};
|
20580
21270
|
|
21271
|
+
Circle.prototype.colorThemes = {
|
21272
|
+
"default": {
|
21273
|
+
back: '#e1e5e7',
|
21274
|
+
front: '#d0bf26',
|
21275
|
+
center: '#ffffff'
|
21276
|
+
},
|
21277
|
+
grey: {
|
21278
|
+
back: '#c5cacd',
|
21279
|
+
front: '#a0a3a5'
|
21280
|
+
},
|
21281
|
+
darkGrey: {
|
21282
|
+
back: '#bfbfbf',
|
21283
|
+
front: '#8c8c8c'
|
21284
|
+
}
|
21285
|
+
};
|
21286
|
+
|
21287
|
+
Circle.prototype.setColorTheme = function(theme) {
|
21288
|
+
if ($.type(theme) === 'string') {
|
21289
|
+
theme = this.colorThemes[theme];
|
21290
|
+
}
|
21291
|
+
this.colorTheme = $.extend({}, this.colorThemes["default"], theme);
|
21292
|
+
this.pie.css('background', this.colorTheme.back);
|
21293
|
+
this.center.css('background', this.colorTheme.center);
|
21294
|
+
if (this.raphael) {
|
21295
|
+
return this.__update();
|
21296
|
+
}
|
21297
|
+
};
|
21298
|
+
|
20581
21299
|
Circle.prototype.__update = function(val, instant) {
|
20582
21300
|
var delay,
|
20583
21301
|
_this = this;
|
21302
|
+
if (val == null) {
|
21303
|
+
val = this.currentVal;
|
21304
|
+
}
|
20584
21305
|
if (instant == null) {
|
20585
21306
|
instant = false;
|
20586
21307
|
}
|
20587
21308
|
if (val > 1) {
|
20588
21309
|
val = 1;
|
20589
21310
|
}
|
21311
|
+
this.currentVal = val;
|
20590
21312
|
delay = this.fullDelay * Math.abs(val - this.value);
|
20591
21313
|
this.value = val;
|
20592
21314
|
if (instant) {
|
@@ -20610,20 +21332,15 @@ var _require = (function() {
|
|
20610
21332
|
return 360 * (value < 1 ? value : 0.99999999);
|
20611
21333
|
};
|
20612
21334
|
|
20613
|
-
Circle.prototype.__getSegmentColor = function() {
|
20614
|
-
var color;
|
20615
|
-
this.pie.addClass('uploadcare-widget-circle-active');
|
20616
|
-
color = this.pie.css('background-color');
|
20617
|
-
this.pie.removeClass('uploadcare-widget-circle-active');
|
20618
|
-
return color;
|
20619
|
-
};
|
20620
|
-
|
20621
21335
|
Circle.prototype.__initRaphael = function() {
|
20622
|
-
var angleOffset,
|
21336
|
+
var angleOffset, getColor, raphael, size,
|
21337
|
+
_this = this;
|
20623
21338
|
raphael = uploadcare.Raphael(this.pie.get(0), this.size, this.size);
|
20624
|
-
color = this.color;
|
20625
21339
|
size = this.size;
|
20626
21340
|
angleOffset = this.angleOffset;
|
21341
|
+
getColor = function() {
|
21342
|
+
return _this.colorTheme.front;
|
21343
|
+
};
|
20627
21344
|
raphael.customAttributes.segment = function(angle) {
|
20628
21345
|
var a1, a2, flag, r, x, y;
|
20629
21346
|
x = size / 2;
|
@@ -20639,7 +21356,7 @@ var _require = (function() {
|
|
20639
21356
|
a2 = (a2 % 360) * Math.PI / 180;
|
20640
21357
|
return {
|
20641
21358
|
path: [["M", x, y], ["l", r * Math.cos(a1), r * Math.sin(a1)], ["A", r, r, 0, +flag, 1, x + r * Math.cos(a2), y + r * Math.sin(a2)], ["z"]],
|
20642
|
-
fill:
|
21359
|
+
fill: getColor()
|
20643
21360
|
};
|
20644
21361
|
};
|
20645
21362
|
return raphael;
|
@@ -20652,13 +21369,9 @@ var _require = (function() {
|
|
20652
21369
|
|
20653
21370
|
}).call(this);
|
20654
21371
|
(function() {
|
20655
|
-
var $, namespace, progress, t, tpl, utils, _ref;
|
20656
|
-
|
20657
|
-
namespace = uploadcare.namespace, $ = uploadcare.jQuery, utils = uploadcare.utils, (_ref = uploadcare.ui, progress = _ref.progress);
|
20658
|
-
|
20659
|
-
t = uploadcare.locale.t;
|
21372
|
+
var $, namespace, progress, t, tpl, utils, _ref, _ref1, _ref2;
|
20660
21373
|
|
20661
|
-
|
21374
|
+
namespace = uploadcare.namespace, $ = uploadcare.jQuery, utils = uploadcare.utils, (_ref = uploadcare.ui, progress = _ref.progress), (_ref1 = uploadcare.locale, t = _ref1.t), (_ref2 = uploadcare.templates, tpl = _ref2.tpl);
|
20662
21375
|
|
20663
21376
|
namespace('uploadcare.widget', function(ns) {
|
20664
21377
|
return ns.Template = (function() {
|
@@ -20743,7 +21456,6 @@ var _require = (function() {
|
|
20743
21456
|
|
20744
21457
|
Template.prototype.error = function(type) {
|
20745
21458
|
this.statusText.text(t("errors." + (type || 'default')));
|
20746
|
-
this.circle.reset();
|
20747
21459
|
return this.setStatus('error');
|
20748
21460
|
};
|
20749
21461
|
|
@@ -20764,16 +21476,14 @@ var _require = (function() {
|
|
20764
21476
|
|
20765
21477
|
}).call(this);
|
20766
21478
|
(function() {
|
20767
|
-
var $, files, namespace, t, tpl, utils
|
20768
|
-
|
20769
|
-
namespace = uploadcare.namespace, utils = uploadcare.utils, files = uploadcare.files, $ = uploadcare.jQuery;
|
20770
|
-
|
20771
|
-
t = uploadcare.locale.t;
|
21479
|
+
var $, Circle, files, namespace, s, t, tpl, utils, _ref, _ref1, _ref2, _ref3,
|
21480
|
+
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
|
20772
21481
|
|
20773
|
-
|
21482
|
+
namespace = uploadcare.namespace, utils = uploadcare.utils, (_ref = uploadcare.locale, t = _ref.t), (_ref1 = uploadcare.templates, tpl = _ref1.tpl), (_ref2 = uploadcare.ui, (_ref3 = _ref2.progress, Circle = _ref3.Circle)), files = uploadcare.files, s = uploadcare.settings, $ = uploadcare.jQuery;
|
20774
21483
|
|
20775
21484
|
namespace('uploadcare', function(ns) {
|
20776
21485
|
var Dialog, currentDialogPr;
|
21486
|
+
ns.MULTIPLE_UPLOAD_FILES_LIMIT = 30;
|
20777
21487
|
currentDialogPr = null;
|
20778
21488
|
ns.isDialogOpened = function() {
|
20779
21489
|
return currentDialogPr !== null;
|
@@ -20781,38 +21491,62 @@ var _require = (function() {
|
|
20781
21491
|
ns.closeDialog = function() {
|
20782
21492
|
return currentDialogPr != null ? currentDialogPr.reject() : void 0;
|
20783
21493
|
};
|
20784
|
-
ns.openDialog = function(
|
20785
|
-
var dialog;
|
21494
|
+
ns.openDialog = function(files, tab, settings) {
|
21495
|
+
var dialog, filter, promise;
|
20786
21496
|
if ($.isPlainObject(tab)) {
|
20787
21497
|
settings = tab;
|
20788
21498
|
tab = null;
|
20789
21499
|
}
|
20790
21500
|
ns.closeDialog();
|
20791
|
-
|
20792
|
-
|
20793
|
-
|
21501
|
+
if (utils.isFileGroup(files)) {
|
21502
|
+
files = files.files();
|
21503
|
+
}
|
21504
|
+
settings = s.build(settings);
|
21505
|
+
dialog = new Dialog(settings, files, tab);
|
21506
|
+
currentDialogPr = dialog.publicPromise().always(function() {
|
20794
21507
|
return currentDialogPr = null;
|
20795
21508
|
});
|
21509
|
+
filter = settings.multiple ? function(files) {
|
21510
|
+
return uploadcare.FileGroup(files, settings);
|
21511
|
+
} : function(files) {
|
21512
|
+
return files[0];
|
21513
|
+
};
|
21514
|
+
promise = utils.then(currentDialogPr, filter, filter);
|
21515
|
+
promise.reject = currentDialogPr.reject;
|
21516
|
+
return promise;
|
20796
21517
|
};
|
20797
21518
|
return Dialog = (function() {
|
20798
21519
|
|
20799
|
-
function Dialog(settings,
|
21520
|
+
function Dialog(settings, files, tab) {
|
20800
21521
|
var _this = this;
|
20801
21522
|
this.settings = settings;
|
20802
|
-
|
20803
|
-
|
20804
|
-
|
20805
|
-
|
21523
|
+
this.switchTab = __bind(this.switchTab, this);
|
21524
|
+
|
21525
|
+
this.__reject = __bind(this.__reject, this);
|
21526
|
+
|
21527
|
+
this.__resolve = __bind(this.__resolve, this);
|
21528
|
+
|
21529
|
+
if (files) {
|
21530
|
+
if (!$.isArray(files)) {
|
21531
|
+
files = [files];
|
21532
|
+
}
|
21533
|
+
} else {
|
21534
|
+
files = [];
|
20806
21535
|
}
|
20807
21536
|
this.dfd = $.Deferred();
|
20808
21537
|
this.dfd.always(function() {
|
20809
21538
|
return _this.__closeDialog();
|
20810
21539
|
});
|
20811
|
-
this.content = $(tpl('dialog')).hide().appendTo('body');
|
21540
|
+
this.content = $(tpl('dialog')).hide().appendTo('body').addClass(this.settings.multiple ? 'uploadcare-dialog-multiple' : void 0);
|
21541
|
+
this.files = new utils.CollectionOfPromises();
|
20812
21542
|
this["__bind"]();
|
20813
|
-
this.
|
20814
|
-
|
20815
|
-
|
21543
|
+
this.tabs = {};
|
21544
|
+
if (this.settings.publicKey) {
|
21545
|
+
this.__prepareTabs(tab);
|
21546
|
+
this.__prepareFiles(files);
|
21547
|
+
} else {
|
21548
|
+
this.__welcome();
|
21549
|
+
}
|
20816
21550
|
this.__updateFirstTab();
|
20817
21551
|
this.content.fadeIn('fast');
|
20818
21552
|
}
|
@@ -20824,59 +21558,115 @@ var _require = (function() {
|
|
20824
21558
|
return promise;
|
20825
21559
|
};
|
20826
21560
|
|
20827
|
-
Dialog.prototype
|
20828
|
-
var
|
21561
|
+
Dialog.prototype.apiForTab = function(tabName) {
|
21562
|
+
var api,
|
20829
21563
|
_this = this;
|
20830
|
-
|
20831
|
-
|
20832
|
-
|
20833
|
-
|
20834
|
-
|
21564
|
+
api = {
|
21565
|
+
avalibleTabs: this.settings.tabs,
|
21566
|
+
fileColl: this.files.readOnly(),
|
21567
|
+
onSwitched: $.Callbacks(),
|
21568
|
+
onSwitchedToMe: $.Callbacks(),
|
21569
|
+
addFiles: function(fileType, data) {
|
21570
|
+
var file, _i, _len, _ref4, _results;
|
21571
|
+
if (_this.settings.multiple) {
|
21572
|
+
_ref4 = ns.filesFrom(fileType, data, _this.settings);
|
21573
|
+
_results = [];
|
21574
|
+
for (_i = 0, _len = _ref4.length; _i < _len; _i++) {
|
21575
|
+
file = _ref4[_i];
|
21576
|
+
_results.push(_this.files.add(file));
|
21577
|
+
}
|
21578
|
+
return _results;
|
21579
|
+
} else {
|
21580
|
+
_this.files.clear();
|
21581
|
+
return _this.files.add(ns.fileFrom(fileType, data, _this.settings));
|
21582
|
+
}
|
21583
|
+
},
|
21584
|
+
removeFile: function(file) {
|
21585
|
+
return _this.files.remove(file);
|
21586
|
+
},
|
21587
|
+
clearFiles: function() {
|
21588
|
+
return _this.files.clear();
|
21589
|
+
},
|
21590
|
+
switchToPreview: function() {
|
21591
|
+
return _this.switchTab('preview');
|
21592
|
+
},
|
21593
|
+
done: this.__resolve,
|
21594
|
+
switchTab: this.switchTab
|
20835
21595
|
};
|
20836
|
-
this.
|
20837
|
-
|
20838
|
-
|
21596
|
+
this.dfd.progress(function(name) {
|
21597
|
+
api.onSwitched.fire(name, name === tabName);
|
21598
|
+
if (name === tabName) {
|
21599
|
+
return api.onSwitchedToMe.fire(name);
|
20839
21600
|
}
|
20840
21601
|
});
|
20841
|
-
|
20842
|
-
|
20843
|
-
|
20844
|
-
|
20845
|
-
|
20846
|
-
|
20847
|
-
|
20848
|
-
|
21602
|
+
return api;
|
21603
|
+
};
|
21604
|
+
|
21605
|
+
Dialog.prototype.__resolve = function() {
|
21606
|
+
return this.dfd.resolve(this.files.get());
|
21607
|
+
};
|
21608
|
+
|
21609
|
+
Dialog.prototype.__reject = function() {
|
21610
|
+
return this.dfd.reject(this.files.get());
|
20849
21611
|
};
|
20850
21612
|
|
20851
|
-
Dialog.prototype
|
20852
|
-
var
|
21613
|
+
Dialog.prototype["__bind"] = function() {
|
21614
|
+
var isPartOfWindow, panel,
|
20853
21615
|
_this = this;
|
20854
|
-
|
20855
|
-
|
20856
|
-
|
20857
|
-
|
21616
|
+
panel = this.content.find('.uploadcare-dialog-panel');
|
21617
|
+
isPartOfWindow = function(el) {
|
21618
|
+
return $(el).is(panel) || $.contains(panel.get(0), el);
|
21619
|
+
};
|
21620
|
+
this.content.on('click', function(e) {
|
21621
|
+
if (!(!utils.inDom(e.target) || isPartOfWindow(e.target) || $(e.target).is('a'))) {
|
21622
|
+
return _this.__reject();
|
21623
|
+
}
|
20858
21624
|
});
|
20859
|
-
|
20860
|
-
|
21625
|
+
return $(window).on('keydown', function(e) {
|
21626
|
+
if (e.which === 27) {
|
21627
|
+
return _this.__reject();
|
21628
|
+
}
|
20861
21629
|
});
|
21630
|
+
};
|
21631
|
+
|
21632
|
+
Dialog.prototype.__prepareTabs = function(tab) {
|
21633
|
+
var tabName, _i, _len, _ref4;
|
21634
|
+
this.addTab('preview');
|
20862
21635
|
this.__hideTab('preview');
|
20863
|
-
|
20864
|
-
|
20865
|
-
|
20866
|
-
tabName
|
20867
|
-
|
20868
|
-
|
20869
|
-
|
20870
|
-
|
20871
|
-
|
20872
|
-
|
20873
|
-
|
20874
|
-
|
21636
|
+
_ref4 = this.settings.tabs;
|
21637
|
+
for (_i = 0, _len = _ref4.length; _i < _len; _i++) {
|
21638
|
+
tabName = _ref4[_i];
|
21639
|
+
this.addTab(tabName);
|
21640
|
+
}
|
21641
|
+
return this.switchTab(tab || this.settings.tabs[0]);
|
21642
|
+
};
|
21643
|
+
|
21644
|
+
Dialog.prototype.__prepareFiles = function(files) {
|
21645
|
+
var file, _i, _len,
|
21646
|
+
_this = this;
|
21647
|
+
for (_i = 0, _len = files.length; _i < _len; _i++) {
|
21648
|
+
file = files[_i];
|
21649
|
+
this.files.add(file);
|
21650
|
+
}
|
21651
|
+
if (files.length) {
|
21652
|
+
this.__showTab('preview');
|
21653
|
+
this.switchTab('preview');
|
21654
|
+
}
|
21655
|
+
this.files.onAdd.add(function() {
|
21656
|
+
if (_this.settings.previewStep) {
|
21657
|
+
_this.__showTab('preview');
|
21658
|
+
if (!_this.settings.multiple) {
|
21659
|
+
return _this.switchTab('preview');
|
21660
|
+
}
|
20875
21661
|
} else {
|
20876
|
-
|
21662
|
+
return _this.__resolve();
|
20877
21663
|
}
|
20878
|
-
}
|
20879
|
-
return
|
21664
|
+
});
|
21665
|
+
return this.files.onRemove.add(function() {
|
21666
|
+
if (_this.files.length() === 0) {
|
21667
|
+
return _this.__hideTab('preview');
|
21668
|
+
}
|
21669
|
+
});
|
20880
21670
|
};
|
20881
21671
|
|
20882
21672
|
Dialog.prototype.__closeDialog = function() {
|
@@ -20886,28 +21676,14 @@ var _require = (function() {
|
|
20886
21676
|
});
|
20887
21677
|
};
|
20888
21678
|
|
20889
|
-
Dialog.prototype.__setFile = function(currentFile) {
|
20890
|
-
this.currentFile = currentFile;
|
20891
|
-
if (this.settings.previewStep) {
|
20892
|
-
if (this.currentFile) {
|
20893
|
-
this.tabs.preview.setFile(this.currentFile);
|
20894
|
-
this.__showTab('preview');
|
20895
|
-
return this.switchTab('preview');
|
20896
|
-
} else {
|
20897
|
-
return this.__hideTab('preview');
|
20898
|
-
}
|
20899
|
-
} else {
|
20900
|
-
if (this.currentFile) {
|
20901
|
-
return this.dfd.resolve(this.currentFile);
|
20902
|
-
}
|
20903
|
-
}
|
20904
|
-
};
|
20905
|
-
|
20906
21679
|
Dialog.prototype.addTab = function(name) {
|
20907
|
-
var
|
21680
|
+
var TabCls, tabButton, tabPanel, tabs,
|
20908
21681
|
_this = this;
|
20909
21682
|
tabs = uploadcare.widget.tabs;
|
20910
|
-
|
21683
|
+
if (name in this.tabs) {
|
21684
|
+
return;
|
21685
|
+
}
|
21686
|
+
TabCls = (function() {
|
20911
21687
|
switch (name) {
|
20912
21688
|
case 'file':
|
20913
21689
|
return tabs.FileTab;
|
@@ -20922,20 +21698,23 @@ var _require = (function() {
|
|
20922
21698
|
case 'instagram':
|
20923
21699
|
return tabs.RemoteTabFor('instagram');
|
20924
21700
|
case 'preview':
|
20925
|
-
|
21701
|
+
if (this.settings.multiple) {
|
21702
|
+
return tabs.PreviewTabMultiple;
|
21703
|
+
} else {
|
21704
|
+
return tabs.PreviewTab;
|
21705
|
+
}
|
21706
|
+
case 'welcome':
|
21707
|
+
return tabs.StaticTabWith('welcome');
|
20926
21708
|
}
|
20927
|
-
})();
|
20928
|
-
if (!
|
20929
|
-
|
21709
|
+
}).call(this);
|
21710
|
+
if (!TabCls) {
|
21711
|
+
throw new Error("No such tab: " + name);
|
20930
21712
|
}
|
20931
|
-
|
20932
|
-
$('<div>').addClass("uploadcare-dialog-tab uploadcare-dialog-tab-" + name).attr('title', t("tabs." + name + ".title")).on('click', function() {
|
21713
|
+
tabPanel = $('<div>').hide().addClass('uploadcare-dialog-tabs-panel').addClass("uploadcare-dialog-tabs-panel-" + name).appendTo(this.content.find('.uploadcare-dialog-body'));
|
21714
|
+
tabButton = $('<div>').addClass("uploadcare-dialog-tab uploadcare-dialog-tab-" + name).attr('title', t("tabs." + name + ".title")).on('click', function() {
|
20933
21715
|
return _this.switchTab(name);
|
20934
21716
|
}).appendTo(this.content.find('.uploadcare-dialog-tabs'));
|
20935
|
-
|
20936
|
-
avalibleTabs: this.settings.tabs
|
20937
|
-
})).appendTo(this.content.find('.uploadcare-dialog-body')));
|
20938
|
-
return tab;
|
21717
|
+
return this.tabs[name] = new TabCls(tabPanel, tabButton, this.apiForTab(name), this.settings);
|
20939
21718
|
};
|
20940
21719
|
|
20941
21720
|
Dialog.prototype.switchTab = function(currentTab) {
|
@@ -20966,6 +21745,11 @@ var _require = (function() {
|
|
20966
21745
|
return this.__updateFirstTab();
|
20967
21746
|
};
|
20968
21747
|
|
21748
|
+
Dialog.prototype.__welcome = function() {
|
21749
|
+
this.addTab('welcome');
|
21750
|
+
return this.switchTab('welcome');
|
21751
|
+
};
|
21752
|
+
|
20969
21753
|
return Dialog;
|
20970
21754
|
|
20971
21755
|
})();
|
@@ -20973,35 +21757,55 @@ var _require = (function() {
|
|
20973
21757
|
|
20974
21758
|
}).call(this);
|
20975
21759
|
(function() {
|
20976
|
-
var $, namespace;
|
21760
|
+
var $, MULTIPLE_UPLOAD_FILES_LIMIT, namespace, t, tpl, _ref, _ref1;
|
20977
21761
|
|
20978
|
-
namespace = uploadcare.namespace, $ = uploadcare.jQuery;
|
21762
|
+
namespace = uploadcare.namespace, $ = uploadcare.jQuery, (_ref = uploadcare.templates, tpl = _ref.tpl), (_ref1 = uploadcare.locale, t = _ref1.t), MULTIPLE_UPLOAD_FILES_LIMIT = uploadcare.MULTIPLE_UPLOAD_FILES_LIMIT;
|
20979
21763
|
|
20980
21764
|
namespace('uploadcare.widget.tabs', function(ns) {
|
20981
|
-
return ns.
|
21765
|
+
return ns.BaseSourceTab = (function() {
|
21766
|
+
var CLASS_PREFIX, ROLE_PREFIX;
|
20982
21767
|
|
20983
|
-
|
20984
|
-
|
21768
|
+
CLASS_PREFIX = 'uploadcare-dialog-source-base-';
|
21769
|
+
|
21770
|
+
ROLE_PREFIX = '@' + CLASS_PREFIX;
|
21771
|
+
|
21772
|
+
function BaseSourceTab(container, tabButton, dialogApi, settings) {
|
21773
|
+
var notDisabled, updateFooter,
|
21774
|
+
_this = this;
|
21775
|
+
this.container = container;
|
21776
|
+
this.tabButton = tabButton;
|
21777
|
+
this.dialogApi = dialogApi;
|
20985
21778
|
this.settings = settings;
|
20986
|
-
this.
|
21779
|
+
this.container.append(tpl('source-tab-base'));
|
21780
|
+
this.wrap = this.container.find(ROLE_PREFIX + 'wrap');
|
21781
|
+
notDisabled = ':not(.uploadcare-disabled-el)';
|
21782
|
+
this.container.on('click', ROLE_PREFIX + 'show-files' + notDisabled, this.dialogApi.switchToPreview);
|
21783
|
+
this.container.on('click', ROLE_PREFIX + 'done' + notDisabled, this.dialogApi.done);
|
21784
|
+
updateFooter = function() {
|
21785
|
+
var toLessFiles, toManyFiles;
|
21786
|
+
toManyFiles = _this.dialogApi.fileColl.length() > MULTIPLE_UPLOAD_FILES_LIMIT;
|
21787
|
+
toLessFiles = _this.dialogApi.fileColl.length() === 0;
|
21788
|
+
_this.container.find(ROLE_PREFIX + 'done').toggleClass('uploadcare-disabled-el', toManyFiles || toLessFiles);
|
21789
|
+
_this.container.find(ROLE_PREFIX + 'show-files').toggleClass('uploadcare-disabled-el', toLessFiles);
|
21790
|
+
return _this.container.find(ROLE_PREFIX + 'footer-text').toggleClass('uploadcare-error', toManyFiles).text(toManyFiles ? t('dialog.tabs.preview.multiple.toManyFiles').replace('%max%', MULTIPLE_UPLOAD_FILES_LIMIT) : t('dialog.tabs.preview.multiple.title') + ' ' + t('file', _this.dialogApi.fileColl.length()));
|
21791
|
+
};
|
21792
|
+
updateFooter();
|
21793
|
+
this.dialogApi.fileColl.onAdd.add(updateFooter);
|
21794
|
+
this.dialogApi.fileColl.onRemove.add(updateFooter);
|
20987
21795
|
}
|
20988
21796
|
|
20989
|
-
|
20990
|
-
throw new Error('not implemented');
|
20991
|
-
};
|
20992
|
-
|
20993
|
-
return BaseFileTab;
|
21797
|
+
return BaseSourceTab;
|
20994
21798
|
|
20995
21799
|
})();
|
20996
21800
|
});
|
20997
21801
|
|
20998
21802
|
}).call(this);
|
20999
21803
|
(function() {
|
21000
|
-
var $, dragdrop, namespace, utils,
|
21804
|
+
var $, dragdrop, namespace, tpl, utils, _ref,
|
21001
21805
|
__hasProp = {}.hasOwnProperty,
|
21002
21806
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
21003
21807
|
|
21004
|
-
namespace = uploadcare.namespace, utils = uploadcare.utils, $ = uploadcare.jQuery;
|
21808
|
+
namespace = uploadcare.namespace, utils = uploadcare.utils, $ = uploadcare.jQuery, (_ref = uploadcare.templates, tpl = _ref.tpl);
|
21005
21809
|
|
21006
21810
|
dragdrop = uploadcare.widget.dragdrop;
|
21007
21811
|
|
@@ -21011,48 +21815,54 @@ var _require = (function() {
|
|
21011
21815
|
__extends(FileTab, _super);
|
21012
21816
|
|
21013
21817
|
function FileTab() {
|
21014
|
-
|
21015
|
-
|
21016
|
-
|
21017
|
-
|
21018
|
-
|
21818
|
+
var _this = this;
|
21819
|
+
FileTab.__super__.constructor.apply(this, arguments);
|
21820
|
+
this.wrap.append(tpl('tab-file', {
|
21821
|
+
avalibleTabs: this.dialogApi.avalibleTabs
|
21822
|
+
}));
|
21823
|
+
this.wrap.on('click', '@uploadcare-dialog-switch-tab', function(e) {
|
21824
|
+
return _this.dialogApi.switchTab($(e.target).data('tab'));
|
21825
|
+
});
|
21019
21826
|
this.__setupFileButton();
|
21020
|
-
|
21021
|
-
}
|
21827
|
+
this.__initDragNDrop();
|
21828
|
+
}
|
21022
21829
|
|
21023
21830
|
FileTab.prototype.__initDragNDrop = function() {
|
21024
|
-
var className, dropArea
|
21025
|
-
|
21831
|
+
var className, dropArea,
|
21832
|
+
_this = this;
|
21833
|
+
dropArea = this.wrap.find('@uploadcare-drop-area');
|
21026
21834
|
if (utils.abilities.fileDragAndDrop) {
|
21027
|
-
dragdrop.receiveDrop(
|
21835
|
+
dragdrop.receiveDrop(function(type, data) {
|
21836
|
+
return _this.dialogApi.addFiles(type, data);
|
21837
|
+
}, dropArea);
|
21028
21838
|
className = 'draganddrop';
|
21029
21839
|
} else {
|
21030
21840
|
className = 'no-draganddrop';
|
21031
21841
|
}
|
21032
|
-
return this.
|
21842
|
+
return this.wrap.addClass("uploadcare-" + className);
|
21033
21843
|
};
|
21034
21844
|
|
21035
21845
|
FileTab.prototype.__setupFileButton = function() {
|
21036
21846
|
var fileButton,
|
21037
21847
|
_this = this;
|
21038
|
-
fileButton = this.
|
21848
|
+
fileButton = this.wrap.find('@uploadcare-dialog-browse-file');
|
21039
21849
|
return utils.fileInput(fileButton, this.settings.multiple, function(e) {
|
21040
|
-
return _this.
|
21850
|
+
return _this.dialogApi.addFiles('event', e);
|
21041
21851
|
});
|
21042
21852
|
};
|
21043
21853
|
|
21044
21854
|
return FileTab;
|
21045
21855
|
|
21046
|
-
})(ns.
|
21856
|
+
})(ns.BaseSourceTab);
|
21047
21857
|
});
|
21048
21858
|
|
21049
21859
|
}).call(this);
|
21050
21860
|
(function() {
|
21051
|
-
var $, namespace, t,
|
21861
|
+
var $, namespace, t, tpl, _ref,
|
21052
21862
|
__hasProp = {}.hasOwnProperty,
|
21053
21863
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
21054
21864
|
|
21055
|
-
namespace = uploadcare.namespace, $ = uploadcare.jQuery;
|
21865
|
+
namespace = uploadcare.namespace, $ = uploadcare.jQuery, (_ref = uploadcare.templates, tpl = _ref.tpl);
|
21056
21866
|
|
21057
21867
|
t = uploadcare.locale.t;
|
21058
21868
|
|
@@ -21062,10 +21872,6 @@ var _require = (function() {
|
|
21062
21872
|
|
21063
21873
|
__extends(UrlTab, _super);
|
21064
21874
|
|
21065
|
-
function UrlTab() {
|
21066
|
-
return UrlTab.__super__.constructor.apply(this, arguments);
|
21067
|
-
}
|
21068
|
-
|
21069
21875
|
urlRegexp = /^(http|https):\/\/.+\..+$/i;
|
21070
21876
|
|
21071
21877
|
fixUrl = function(url) {
|
@@ -21079,36 +21885,39 @@ var _require = (function() {
|
|
21079
21885
|
}
|
21080
21886
|
};
|
21081
21887
|
|
21082
|
-
UrlTab
|
21888
|
+
function UrlTab() {
|
21083
21889
|
var button, input,
|
21084
21890
|
_this = this;
|
21085
|
-
this
|
21086
|
-
|
21891
|
+
UrlTab.__super__.constructor.apply(this, arguments);
|
21892
|
+
this.wrap.append(tpl('tab-url'));
|
21893
|
+
input = this.wrap.find('@uploadcare-dialog-url-input');
|
21087
21894
|
input.on('change keyup input', function() {
|
21088
21895
|
return button.attr('disabled', !fixUrl($(this).val()));
|
21089
21896
|
});
|
21090
|
-
button = this.
|
21091
|
-
|
21897
|
+
button = this.wrap.find('@uploadcare-dialog-url-submit').attr('disabled', true);
|
21898
|
+
this.wrap.find('@uploadcare-dialog-url-form').on('submit', function() {
|
21092
21899
|
var url;
|
21093
21900
|
if (url = fixUrl(input.val())) {
|
21094
|
-
_this.
|
21901
|
+
_this.dialogApi.addFiles('url', url);
|
21902
|
+
input.val('');
|
21095
21903
|
}
|
21096
21904
|
return false;
|
21097
21905
|
});
|
21098
|
-
}
|
21906
|
+
}
|
21099
21907
|
|
21100
21908
|
return UrlTab;
|
21101
21909
|
|
21102
|
-
})(ns.
|
21910
|
+
})(ns.BaseSourceTab);
|
21103
21911
|
});
|
21104
21912
|
|
21105
21913
|
}).call(this);
|
21106
21914
|
(function() {
|
21107
|
-
var $, locale, namespace, utils,
|
21915
|
+
var $, locale, namespace, t, utils, _ref,
|
21916
|
+
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
21108
21917
|
__hasProp = {}.hasOwnProperty,
|
21109
21918
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
21110
21919
|
|
21111
|
-
namespace = uploadcare.namespace, locale = uploadcare.locale, utils = uploadcare.utils, $ = uploadcare.jQuery;
|
21920
|
+
namespace = uploadcare.namespace, locale = uploadcare.locale, utils = uploadcare.utils, $ = uploadcare.jQuery, (_ref = uploadcare.locale, t = _ref.t);
|
21112
21921
|
|
21113
21922
|
namespace('uploadcare.widget.tabs', function(ns) {
|
21114
21923
|
return ns.RemoteTabFor = function(service) {
|
@@ -21118,98 +21927,174 @@ var _require = (function() {
|
|
21118
21927
|
__extends(RemoteTab, _super);
|
21119
21928
|
|
21120
21929
|
function RemoteTab() {
|
21121
|
-
|
21122
|
-
}
|
21930
|
+
this.__createIframe = __bind(this.__createIframe, this);
|
21123
21931
|
|
21124
|
-
RemoteTab.prototype.setContent = function(content) {
|
21125
21932
|
var _this = this;
|
21126
|
-
this
|
21127
|
-
this.
|
21128
|
-
|
21129
|
-
|
21130
|
-
|
21131
|
-
|
21132
|
-
|
21133
|
-
|
21933
|
+
RemoteTab.__super__.constructor.apply(this, arguments);
|
21934
|
+
this.wrap.addClass('uploadcare-dialog-remote-iframe-wrap');
|
21935
|
+
this.dialogApi.onSwitchedToMe.add(this.__createIframe);
|
21936
|
+
this.dialogApi.onSwitched.add(function(_, switchedToMe) {
|
21937
|
+
return _this.__sendMessage({
|
21938
|
+
type: 'visibility-changed',
|
21939
|
+
visible: switchedToMe
|
21940
|
+
});
|
21134
21941
|
});
|
21942
|
+
}
|
21943
|
+
|
21944
|
+
RemoteTab.prototype.__sendMessage = function(messageObj) {
|
21945
|
+
var _ref1, _ref2, _ref3;
|
21946
|
+
return (_ref1 = this.iframe) != null ? (_ref2 = _ref1[0]) != null ? (_ref3 = _ref2.contentWindow) != null ? _ref3.postMessage(JSON.stringify(messageObj), '*') : void 0 : void 0 : void 0;
|
21135
21947
|
};
|
21136
21948
|
|
21137
|
-
RemoteTab.prototype.
|
21138
|
-
var src
|
21949
|
+
RemoteTab.prototype.__createIframe = function() {
|
21950
|
+
var nos, src,
|
21951
|
+
_this = this;
|
21139
21952
|
if (!this.iframe) {
|
21140
|
-
this.
|
21141
|
-
|
21142
|
-
|
21143
|
-
|
21953
|
+
src = ("" + this.settings.socialBase + "/window/" + service + "?") + $.param({
|
21954
|
+
lang: this.settings.locale,
|
21955
|
+
public_key: this.settings.publicKey,
|
21956
|
+
widget_version: uploadcare.version
|
21957
|
+
});
|
21958
|
+
this.iframe = $('<iframe>').attr('src', src).css({
|
21144
21959
|
width: '100%',
|
21145
21960
|
height: '100%',
|
21146
21961
|
border: 0,
|
21147
21962
|
visibility: 'hidden'
|
21148
|
-
}).appendTo(this.
|
21963
|
+
}).appendTo(this.wrap).on('load', function() {
|
21149
21964
|
return $(this).css('visibility', 'visible');
|
21150
21965
|
});
|
21151
|
-
|
21152
|
-
|
21153
|
-
|
21154
|
-
|
21155
|
-
|
21156
|
-
|
21157
|
-
|
21158
|
-
|
21159
|
-
|
21160
|
-
|
21966
|
+
nos = function(str) {
|
21967
|
+
return str.toLowerCase().replace(/^https/, 'http');
|
21968
|
+
};
|
21969
|
+
return $(window).on("message", function(_arg) {
|
21970
|
+
var e, goodOrigin, goodSource, message, _ref1, _ref2;
|
21971
|
+
e = _arg.originalEvent;
|
21972
|
+
goodOrigin = nos(e.origin) === nos(_this.settings.socialBase);
|
21973
|
+
goodSource = e.source === ((_ref1 = _this.iframe) != null ? (_ref2 = _ref1[0]) != null ? _ref2.contentWindow : void 0 : void 0);
|
21974
|
+
if (goodOrigin && goodSource) {
|
21975
|
+
try {
|
21976
|
+
message = JSON.parse(e.data);
|
21977
|
+
} catch (_error) {}
|
21978
|
+
if ((message != null ? message.type : void 0) === 'file-selected') {
|
21979
|
+
_this.dialogApi.addFiles('url', message.url);
|
21980
|
+
return _this.__sendMessage({
|
21981
|
+
type: 'file-selected-received',
|
21982
|
+
url: message.url
|
21983
|
+
});
|
21984
|
+
}
|
21985
|
+
}
|
21161
21986
|
});
|
21162
|
-
return this.watcher.watch();
|
21163
|
-
}
|
21164
|
-
};
|
21165
|
-
|
21166
|
-
RemoteTab.prototype.cleanup = function() {
|
21167
|
-
var _ref, _ref1;
|
21168
|
-
if ((_ref = this.watcher) != null) {
|
21169
|
-
_ref.stop();
|
21170
21987
|
}
|
21171
|
-
this.watcher = null;
|
21172
|
-
if ((_ref1 = this.iframe) != null) {
|
21173
|
-
_ref1.remove();
|
21174
|
-
}
|
21175
|
-
return this.iframe = null;
|
21176
21988
|
};
|
21177
21989
|
|
21178
21990
|
return RemoteTab;
|
21179
21991
|
|
21180
|
-
})(ns.
|
21992
|
+
})(ns.BaseSourceTab);
|
21181
21993
|
};
|
21182
21994
|
});
|
21183
21995
|
|
21184
21996
|
}).call(this);
|
21185
21997
|
(function() {
|
21186
|
-
var $,
|
21998
|
+
var $, Circle, namespace, _ref, _ref1;
|
21187
21999
|
|
21188
|
-
namespace = uploadcare.namespace,
|
22000
|
+
namespace = uploadcare.namespace, (_ref = uploadcare.ui, (_ref1 = _ref.progress, Circle = _ref1.Circle)), $ = uploadcare.jQuery;
|
21189
22001
|
|
21190
22002
|
namespace('uploadcare.widget.tabs', function(ns) {
|
21191
|
-
return ns.
|
22003
|
+
return ns.BasePreviewTab = (function() {
|
21192
22004
|
var PREFIX;
|
21193
22005
|
|
21194
22006
|
PREFIX = '@uploadcare-dialog-preview-';
|
21195
22007
|
|
21196
|
-
function
|
21197
|
-
|
22008
|
+
function BasePreviewTab(container, tabButton, dialogApi, settings) {
|
22009
|
+
var notDisabled;
|
22010
|
+
this.container = container;
|
22011
|
+
this.tabButton = tabButton;
|
22012
|
+
this.dialogApi = dialogApi;
|
21198
22013
|
this.settings = settings;
|
21199
|
-
this.
|
21200
|
-
|
21201
|
-
this.
|
22014
|
+
this.__initTabButtonCircle();
|
22015
|
+
notDisabled = ':not(.uploadcare-disabled-el)';
|
22016
|
+
this.container.on('click', PREFIX + 'back' + notDisabled, this.dialogApi.clearFiles);
|
22017
|
+
this.container.on('click', PREFIX + 'done' + notDisabled, this.dialogApi.done);
|
21202
22018
|
}
|
21203
22019
|
|
21204
|
-
|
21205
|
-
var
|
21206
|
-
|
21207
|
-
|
21208
|
-
|
21209
|
-
|
22020
|
+
BasePreviewTab.prototype.__initTabButtonCircle = function() {
|
22021
|
+
var buttonHovered, circle, circleDf, circleEl, size, tabActive, update, updateTheme,
|
22022
|
+
_this = this;
|
22023
|
+
size = 28;
|
22024
|
+
circleEl = $('<div>').appendTo(this.tabButton).css({
|
22025
|
+
position: 'absolute',
|
22026
|
+
top: '50%',
|
22027
|
+
left: '50%',
|
22028
|
+
marginTop: size / -2,
|
22029
|
+
marginLeft: size / -2,
|
22030
|
+
width: size,
|
22031
|
+
height: size
|
22032
|
+
});
|
22033
|
+
circleDf = $.Deferred();
|
22034
|
+
update = function() {
|
22035
|
+
var infos, progress, progressInfo, _i, _len;
|
22036
|
+
infos = _this.dialogApi.fileColl.lastProgresses();
|
22037
|
+
progress = 0;
|
22038
|
+
for (_i = 0, _len = infos.length; _i < _len; _i++) {
|
22039
|
+
progressInfo = infos[_i];
|
22040
|
+
progress += ((progressInfo != null ? progressInfo.progress : void 0) || 0) / infos.length;
|
22041
|
+
}
|
22042
|
+
return circleDf.notify({
|
22043
|
+
progress: progress
|
22044
|
+
});
|
22045
|
+
};
|
22046
|
+
this.dialogApi.fileColl.onAnyProgress.add(update);
|
22047
|
+
this.dialogApi.fileColl.onAdd.add(update);
|
22048
|
+
this.dialogApi.fileColl.onRemove.add(update);
|
22049
|
+
circle = new Circle(circleEl).listen(circleDf.promise(), 'progress');
|
22050
|
+
updateTheme = function() {
|
22051
|
+
return circle.setColorTheme(tabActive ? 'default' : buttonHovered ? 'darkGrey' : 'grey');
|
22052
|
+
};
|
22053
|
+
tabActive = false;
|
22054
|
+
this.dialogApi.onSwitched.add(function(_, switchedToMe) {
|
22055
|
+
tabActive = switchedToMe;
|
22056
|
+
return updateTheme();
|
22057
|
+
});
|
22058
|
+
buttonHovered = false;
|
22059
|
+
return this.tabButton.hover(function() {
|
22060
|
+
buttonHovered = true;
|
22061
|
+
return updateTheme();
|
22062
|
+
}, function() {
|
22063
|
+
buttonHovered = false;
|
22064
|
+
return updateTheme();
|
22065
|
+
});
|
21210
22066
|
};
|
21211
22067
|
|
21212
|
-
|
22068
|
+
return BasePreviewTab;
|
22069
|
+
|
22070
|
+
})();
|
22071
|
+
});
|
22072
|
+
|
22073
|
+
}).call(this);
|
22074
|
+
(function() {
|
22075
|
+
var $, CropWidget, namespace, progress, t, tpl, utils, _ref, _ref1, _ref2, _ref3,
|
22076
|
+
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
22077
|
+
__hasProp = {}.hasOwnProperty,
|
22078
|
+
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
22079
|
+
|
22080
|
+
namespace = uploadcare.namespace, utils = uploadcare.utils, (_ref = uploadcare.ui, progress = _ref.progress), (_ref1 = uploadcare.templates, tpl = _ref1.tpl), $ = uploadcare.jQuery, (_ref2 = uploadcare.crop, CropWidget = _ref2.CropWidget), (_ref3 = uploadcare.locale, t = _ref3.t);
|
22081
|
+
|
22082
|
+
namespace('uploadcare.widget.tabs', function(ns) {
|
22083
|
+
return ns.PreviewTab = (function(_super) {
|
22084
|
+
var PREFIX;
|
22085
|
+
|
22086
|
+
__extends(PreviewTab, _super);
|
22087
|
+
|
22088
|
+
PREFIX = '@uploadcare-dialog-preview-';
|
22089
|
+
|
22090
|
+
function PreviewTab() {
|
22091
|
+
this.__setFile = __bind(this.__setFile, this);
|
22092
|
+
PreviewTab.__super__.constructor.apply(this, arguments);
|
22093
|
+
this.__doCrop = this.settings.__cropParsed.enabled;
|
22094
|
+
this.dialogApi.fileColl.onAdd.add(this.__setFile);
|
22095
|
+
}
|
22096
|
+
|
22097
|
+
PreviewTab.prototype.__setFile = function(file) {
|
21213
22098
|
var _this = this;
|
21214
22099
|
this.file = file;
|
21215
22100
|
this.__setState('unknown');
|
@@ -21237,7 +22122,7 @@ var _require = (function() {
|
|
21237
22122
|
data = $.extend({
|
21238
22123
|
file: progressInfo.incompleteFileInfo
|
21239
22124
|
}, data);
|
21240
|
-
_this.
|
22125
|
+
_this.container.empty().append(tpl("tab-preview-" + state, data));
|
21241
22126
|
return _this.__afterRender(state);
|
21242
22127
|
}));
|
21243
22128
|
};
|
@@ -21255,16 +22140,16 @@ var _require = (function() {
|
|
21255
22140
|
};
|
21256
22141
|
|
21257
22142
|
PreviewTab.prototype.__hideDoneButton = function() {
|
21258
|
-
return this.
|
22143
|
+
return this.container.find(PREFIX + 'done').hide();
|
21259
22144
|
};
|
21260
22145
|
|
21261
22146
|
PreviewTab.prototype.__initCrop = function() {
|
21262
22147
|
var _this = this;
|
21263
22148
|
return setTimeout((function() {
|
21264
22149
|
var container, doneButton, img, widget;
|
21265
|
-
img = _this.
|
22150
|
+
img = _this.container.find(PREFIX + 'image');
|
21266
22151
|
container = img.parent();
|
21267
|
-
doneButton = _this.
|
22152
|
+
doneButton = _this.container.find(PREFIX + 'done');
|
21268
22153
|
widget = new CropWidget($.extend({}, _this.settings.__cropParsed, {
|
21269
22154
|
container: container,
|
21270
22155
|
controls: false
|
@@ -21290,13 +22175,13 @@ var _require = (function() {
|
|
21290
22175
|
}
|
21291
22176
|
});
|
21292
22177
|
img.remove();
|
21293
|
-
return _this.
|
22178
|
+
return _this.container.find('.uploadcare-dialog-title').text(t('dialog.tabs.preview.crop.title'));
|
21294
22179
|
}), 100);
|
21295
22180
|
};
|
21296
22181
|
|
21297
22182
|
PreviewTab.prototype.__initCircle = function() {
|
21298
22183
|
var circle, circleEl;
|
21299
|
-
circleEl = this.
|
22184
|
+
circleEl = this.container.find('@uploadcare-dialog-preview-circle');
|
21300
22185
|
if (circleEl.length) {
|
21301
22186
|
circle = new progress.Circle(circleEl);
|
21302
22187
|
return circle.listen(this.file);
|
@@ -21305,48 +22190,176 @@ var _require = (function() {
|
|
21305
22190
|
|
21306
22191
|
return PreviewTab;
|
21307
22192
|
|
21308
|
-
})();
|
22193
|
+
})(ns.BasePreviewTab);
|
21309
22194
|
});
|
21310
22195
|
|
21311
22196
|
}).call(this);
|
21312
22197
|
(function() {
|
21313
|
-
var $, namespace, t,
|
22198
|
+
var $, CropWidget, MULTIPLE_UPLOAD_FILES_LIMIT, namespace, progress, t, tpl, utils, _ref, _ref1, _ref2, _ref3,
|
21314
22199
|
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
21315
|
-
|
22200
|
+
__hasProp = {}.hasOwnProperty,
|
22201
|
+
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
21316
22202
|
|
21317
|
-
namespace = uploadcare.namespace, utils = uploadcare.utils,
|
22203
|
+
namespace = uploadcare.namespace, utils = uploadcare.utils, (_ref = uploadcare.ui, progress = _ref.progress), (_ref1 = uploadcare.templates, tpl = _ref1.tpl), $ = uploadcare.jQuery, (_ref2 = uploadcare.crop, CropWidget = _ref2.CropWidget), (_ref3 = uploadcare.locale, t = _ref3.t), MULTIPLE_UPLOAD_FILES_LIMIT = uploadcare.MULTIPLE_UPLOAD_FILES_LIMIT;
|
21318
22204
|
|
21319
|
-
|
22205
|
+
namespace('uploadcare.widget.tabs', function(ns) {
|
22206
|
+
return ns.PreviewTabMultiple = (function(_super) {
|
22207
|
+
var CLASS_PREFIX, ROLE_PREFIX;
|
21320
22208
|
|
21321
|
-
|
21322
|
-
return ns.Widget = (function() {
|
22209
|
+
__extends(PreviewTabMultiple, _super);
|
21323
22210
|
|
21324
|
-
|
21325
|
-
this.__openDialogWithFile = __bind(this.__openDialogWithFile, this);
|
22211
|
+
CLASS_PREFIX = 'uploadcare-dpm-';
|
21326
22212
|
|
21327
|
-
|
22213
|
+
ROLE_PREFIX = '@' + CLASS_PREFIX;
|
21328
22214
|
|
21329
|
-
|
22215
|
+
function PreviewTabMultiple() {
|
22216
|
+
this.__removeFile = __bind(this.__removeFile, this);
|
21330
22217
|
|
21331
|
-
this.
|
22218
|
+
this.__addFile = __bind(this.__addFile, this);
|
22219
|
+
|
22220
|
+
this.__updateFileInfo = __bind(this.__updateFileInfo, this);
|
22221
|
+
|
22222
|
+
this.__fileFailed = __bind(this.__fileFailed, this);
|
22223
|
+
|
22224
|
+
this.__fileDone = __bind(this.__fileDone, this);
|
22225
|
+
|
22226
|
+
this.__fileProgress = __bind(this.__fileProgress, this);
|
22227
|
+
|
22228
|
+
this.__updateContainerView = __bind(this.__updateContainerView, this);
|
21332
22229
|
|
22230
|
+
var file, _i, _len, _ref4;
|
22231
|
+
PreviewTabMultiple.__super__.constructor.apply(this, arguments);
|
22232
|
+
this.container.append(tpl('tab-preview-multiple'));
|
22233
|
+
this.fileListEl = this.__find('file-list');
|
22234
|
+
this.filesCountEl = this.__find('files-count');
|
22235
|
+
this.footerText = this.__find('footer-text');
|
22236
|
+
this.doneBtnEl = this.container.find('@uploadcare-dialog-preview-done');
|
22237
|
+
_ref4 = this.dialogApi.fileColl.get();
|
22238
|
+
for (_i = 0, _len = _ref4.length; _i < _len; _i++) {
|
22239
|
+
file = _ref4[_i];
|
22240
|
+
this.__addFile(file);
|
22241
|
+
}
|
22242
|
+
this.dialogApi.fileColl.onAdd.add([this.__addFile, this.__updateContainerView]);
|
22243
|
+
this.dialogApi.fileColl.onRemove.add([this.__removeFile, this.__updateContainerView]);
|
22244
|
+
this.dialogApi.fileColl.onAnyProgress.add(this.__fileProgress);
|
22245
|
+
this.dialogApi.fileColl.onAnyDone.add(this.__fileDone);
|
22246
|
+
this.dialogApi.fileColl.onAnyFail.add(this.__fileFailed);
|
22247
|
+
}
|
22248
|
+
|
22249
|
+
PreviewTabMultiple.prototype.__find = function(s, context) {
|
22250
|
+
if (context == null) {
|
22251
|
+
context = this.container;
|
22252
|
+
}
|
22253
|
+
return $(ROLE_PREFIX + s, context);
|
22254
|
+
};
|
22255
|
+
|
22256
|
+
PreviewTabMultiple.prototype.__updateContainerView = function() {
|
22257
|
+
var toManyFiles;
|
22258
|
+
this.filesCountEl.text(t('file', this.dialogApi.fileColl.length()));
|
22259
|
+
toManyFiles = this.dialogApi.fileColl.length() > MULTIPLE_UPLOAD_FILES_LIMIT;
|
22260
|
+
this.doneBtnEl.toggleClass('uploadcare-disabled-el', toManyFiles);
|
22261
|
+
return this.footerText.toggleClass('uploadcare-error', toManyFiles).text(toManyFiles ? t('dialog.tabs.preview.multiple.toManyFiles').replace('%max%', MULTIPLE_UPLOAD_FILES_LIMIT) : t('dialog.tabs.preview.multiple.question'));
|
22262
|
+
};
|
22263
|
+
|
22264
|
+
PreviewTabMultiple.prototype.__fileProgress = function(file, progressInfo) {
|
22265
|
+
var fileEl;
|
22266
|
+
fileEl = this.__fileToEl(file);
|
22267
|
+
this.__find('file-progressbar-value', fileEl).css('width', Math.round(progressInfo.progress * 100) + '%');
|
22268
|
+
return this.__updateFileInfo(file, progressInfo.incompleteFileInfo);
|
22269
|
+
};
|
22270
|
+
|
22271
|
+
PreviewTabMultiple.prototype.__fileDone = function(file, info) {
|
22272
|
+
this.__fileToEl(file).addClass(CLASS_PREFIX + 'uploaded');
|
22273
|
+
return this.__updateFileInfo(file, info);
|
22274
|
+
};
|
22275
|
+
|
22276
|
+
PreviewTabMultiple.prototype.__fileFailed = function(file, error, info) {
|
22277
|
+
var fileEl;
|
22278
|
+
fileEl = this.__fileToEl(file);
|
22279
|
+
fileEl.addClass(CLASS_PREFIX + 'error');
|
22280
|
+
this.__find('file-error', fileEl).text(t("errors." + error));
|
22281
|
+
return this.__updateFileInfo(file, info);
|
22282
|
+
};
|
22283
|
+
|
22284
|
+
PreviewTabMultiple.prototype.__updateFileInfo = function(file, info) {
|
22285
|
+
var fileEl, pWrapEl;
|
22286
|
+
fileEl = this.__fileToEl(file);
|
22287
|
+
fileEl.toggleClass(CLASS_PREFIX + 'image', !!info.isImage);
|
22288
|
+
if (info.isImage) {
|
22289
|
+
pWrapEl = this.__find('file-preview-wrap', fileEl);
|
22290
|
+
utils.squareImage(pWrapEl, info.previewUrl);
|
22291
|
+
}
|
22292
|
+
this.__find('file-name', fileEl).text(info.name || t('dialog.tabs.preview.unknownName'));
|
22293
|
+
return this.__find('file-size', fileEl).text(utils.readableFileSize(info.size, '–'));
|
22294
|
+
};
|
22295
|
+
|
22296
|
+
PreviewTabMultiple.prototype.__addFile = function(file) {
|
22297
|
+
return $(file).data('dmp-el', this.__createFileEl(file));
|
22298
|
+
};
|
22299
|
+
|
22300
|
+
PreviewTabMultiple.prototype.__removeFile = function(file) {
|
22301
|
+
return this.__fileToEl(file).remove();
|
22302
|
+
};
|
22303
|
+
|
22304
|
+
PreviewTabMultiple.prototype.__fileToEl = function(file) {
|
22305
|
+
return $(file).data('dmp-el');
|
22306
|
+
};
|
22307
|
+
|
22308
|
+
PreviewTabMultiple.prototype.__createFileEl = function(file) {
|
22309
|
+
var _this = this;
|
22310
|
+
return $(tpl('tab-preview-multiple-file')).appendTo(this.fileListEl).on('click', ROLE_PREFIX + 'file-remove', (function() {
|
22311
|
+
return _this.dialogApi.removeFile(file);
|
22312
|
+
}));
|
22313
|
+
};
|
22314
|
+
|
22315
|
+
return PreviewTabMultiple;
|
22316
|
+
|
22317
|
+
})(ns.BasePreviewTab);
|
22318
|
+
});
|
22319
|
+
|
22320
|
+
}).call(this);
|
22321
|
+
(function() {
|
22322
|
+
var namespace, tpl, _ref;
|
22323
|
+
|
22324
|
+
namespace = uploadcare.namespace, (_ref = uploadcare.templates, tpl = _ref.tpl);
|
22325
|
+
|
22326
|
+
namespace('uploadcare.widget.tabs', function(ns) {
|
22327
|
+
return ns.StaticTabWith = function(tplName) {
|
22328
|
+
var StaticTab;
|
22329
|
+
return StaticTab = (function() {
|
22330
|
+
|
22331
|
+
function StaticTab(container) {
|
22332
|
+
this.container = container;
|
22333
|
+
this.container.append(tpl("tab-" + tplName));
|
22334
|
+
}
|
22335
|
+
|
22336
|
+
return StaticTab;
|
22337
|
+
|
22338
|
+
})();
|
22339
|
+
};
|
22340
|
+
});
|
22341
|
+
|
22342
|
+
}).call(this);
|
22343
|
+
(function() {
|
22344
|
+
var $, namespace, s, t, utils, _ref,
|
22345
|
+
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
22346
|
+
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
|
22347
|
+
|
22348
|
+
namespace = uploadcare.namespace, utils = uploadcare.utils, s = uploadcare.settings, $ = uploadcare.jQuery, (_ref = uploadcare.locale, t = _ref.t);
|
22349
|
+
|
22350
|
+
namespace('uploadcare.widget', function(ns) {
|
22351
|
+
return ns.BaseWidget = (function() {
|
22352
|
+
|
22353
|
+
function BaseWidget(element) {
|
21333
22354
|
this.__reset = __bind(this.__reset, this);
|
21334
22355
|
|
21335
|
-
var
|
21336
|
-
_this = this;
|
22356
|
+
var _this = this;
|
21337
22357
|
this.element = $(element);
|
21338
|
-
this.settings =
|
22358
|
+
this.settings = s.build(this.element.data());
|
21339
22359
|
this.__onChange = $.Callbacks();
|
21340
22360
|
this.onChange = utils.publicCallbacks(this.__onChange);
|
21341
|
-
|
21342
|
-
this.onUploadComplete = utils.publicCallbacks(__onUploadComplete);
|
21343
|
-
this.__onChange.add(function(file) {
|
21344
|
-
return file != null ? file.done(function(info) {
|
21345
|
-
return __onUploadComplete.fire(info);
|
21346
|
-
}) : void 0;
|
21347
|
-
});
|
22361
|
+
this.__initOnUploadComplete();
|
21348
22362
|
this.__setupWidget();
|
21349
|
-
this.currentFile = null;
|
21350
22363
|
this.template.reset();
|
21351
22364
|
this.element.on('change.uploadcare', function() {
|
21352
22365
|
return _this.reloadInfo();
|
@@ -21354,76 +22367,169 @@ var _require = (function() {
|
|
21354
22367
|
this.reloadInfo();
|
21355
22368
|
}
|
21356
22369
|
|
21357
|
-
|
21358
|
-
var
|
21359
|
-
|
21360
|
-
|
21361
|
-
|
21362
|
-
|
21363
|
-
|
21364
|
-
|
21365
|
-
|
21366
|
-
|
21367
|
-
|
21368
|
-
|
22370
|
+
BaseWidget.prototype.__setupWidget = function() {
|
22371
|
+
var dialogButton, fileButton,
|
22372
|
+
_this = this;
|
22373
|
+
this.template = new ns.Template(this.settings, this.element);
|
22374
|
+
this.template.addButton('cancel', t('buttons.cancel')).on('click', this.__reset);
|
22375
|
+
this.template.addButton('remove', t('buttons.remove')).on('click', this.__reset);
|
22376
|
+
if (this.settings.tabs.length > 0) {
|
22377
|
+
if (__indexOf.call(this.settings.tabs, 'file') >= 0) {
|
22378
|
+
fileButton = this.template.addButton('file');
|
22379
|
+
fileButton.on('click', function() {
|
22380
|
+
return _this.openDialog('file');
|
22381
|
+
});
|
22382
|
+
}
|
22383
|
+
dialogButton = this.template.addButton('dialog');
|
22384
|
+
dialogButton.on('click', function() {
|
22385
|
+
return _this.openDialog();
|
22386
|
+
});
|
21369
22387
|
}
|
22388
|
+
ns.dragdrop.receiveDrop(this.__handleDirectSelection, this.template.dropArea);
|
22389
|
+
this.template.dropArea.on('dragstatechange.uploadcare', function(e, active) {
|
22390
|
+
if (!(active && uploadcare.isDialogOpened())) {
|
22391
|
+
return _this.template.dropArea.toggleClass('uploadcare-dragging', active);
|
22392
|
+
}
|
22393
|
+
});
|
22394
|
+
return this.template.content.on('click', '@uploadcare-widget-file-name', function() {
|
22395
|
+
return _this.openDialog();
|
22396
|
+
});
|
21370
22397
|
};
|
21371
22398
|
|
21372
|
-
|
21373
|
-
|
21374
|
-
|
21375
|
-
|
22399
|
+
BaseWidget.prototype.__infoToValue = function(info) {
|
22400
|
+
if (info.cdnUrlModifiers || this.settings.pathValue) {
|
22401
|
+
return info.cdnUrl;
|
22402
|
+
} else {
|
22403
|
+
return info.uuid;
|
21376
22404
|
}
|
21377
|
-
|
21378
|
-
|
21379
|
-
|
21380
|
-
|
21381
|
-
|
21382
|
-
|
21383
|
-
return;
|
22405
|
+
};
|
22406
|
+
|
22407
|
+
BaseWidget.prototype.__setValue = function(value) {
|
22408
|
+
if (this.element.val() !== value) {
|
22409
|
+
this.element.val(value);
|
22410
|
+
return this.__onChange.fire(this.__currentObject());
|
21384
22411
|
}
|
21385
|
-
|
21386
|
-
|
21387
|
-
|
21388
|
-
|
21389
|
-
|
21390
|
-
|
21391
|
-
|
22412
|
+
};
|
22413
|
+
|
22414
|
+
BaseWidget.prototype.__reset = function() {
|
22415
|
+
this.__clearCurrentObj();
|
22416
|
+
this.template.reset();
|
22417
|
+
return this.__setValue('');
|
22418
|
+
};
|
22419
|
+
|
22420
|
+
BaseWidget.prototype.__watchCurrentObject = function() {
|
22421
|
+
var object,
|
22422
|
+
_this = this;
|
22423
|
+
object = this.__currentFile();
|
22424
|
+
if (object) {
|
22425
|
+
this.template.listen(object);
|
22426
|
+
return object.fail(function(error) {
|
22427
|
+
if (object === _this.__currentFile()) {
|
22428
|
+
return _this.__onUploadingFailed(error);
|
21392
22429
|
}
|
21393
22430
|
}).done(function(info) {
|
21394
|
-
if (
|
21395
|
-
_this.
|
21396
|
-
return _this.template.loaded();
|
22431
|
+
if (object === _this.__currentFile()) {
|
22432
|
+
return _this.__onUploadingDone(info);
|
21397
22433
|
}
|
21398
22434
|
});
|
21399
|
-
if (!keepValue) {
|
21400
|
-
return this.__updateValue();
|
21401
|
-
}
|
21402
22435
|
}
|
21403
22436
|
};
|
21404
22437
|
|
21405
|
-
|
21406
|
-
|
22438
|
+
BaseWidget.prototype.__onUploadingDone = function(info) {
|
22439
|
+
this.__setValue(this.__infoToValue(info));
|
22440
|
+
this.template.setFileInfo(info);
|
22441
|
+
return this.template.loaded();
|
22442
|
+
};
|
22443
|
+
|
22444
|
+
BaseWidget.prototype.__onUploadingFailed = function(error) {
|
22445
|
+
return this.template.error(error);
|
22446
|
+
};
|
22447
|
+
|
22448
|
+
BaseWidget.prototype.api = function() {
|
22449
|
+
if (!this.__api) {
|
22450
|
+
this.__api = utils.bindAll(this, ['openDialog', 'reloadInfo', 'value']);
|
22451
|
+
this.__api.onChange = this.onChange;
|
22452
|
+
this.__api.onUploadComplete = this.onUploadComplete;
|
22453
|
+
}
|
22454
|
+
return this.__api;
|
22455
|
+
};
|
22456
|
+
|
22457
|
+
return BaseWidget;
|
22458
|
+
|
22459
|
+
})();
|
22460
|
+
});
|
22461
|
+
|
22462
|
+
}).call(this);
|
22463
|
+
(function() {
|
22464
|
+
var $, namespace, s, utils,
|
22465
|
+
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
22466
|
+
__hasProp = {}.hasOwnProperty,
|
22467
|
+
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
22468
|
+
|
22469
|
+
namespace = uploadcare.namespace, utils = uploadcare.utils, s = uploadcare.settings, $ = uploadcare.jQuery;
|
22470
|
+
|
22471
|
+
namespace('uploadcare.widget', function(ns) {
|
22472
|
+
return ns.Widget = (function(_super) {
|
22473
|
+
|
22474
|
+
__extends(Widget, _super);
|
22475
|
+
|
22476
|
+
function Widget(element) {
|
22477
|
+
this.__handleDirectSelection = __bind(this.__handleDirectSelection, this);
|
22478
|
+
|
22479
|
+
this.reloadInfo = __bind(this.reloadInfo, this);
|
22480
|
+
|
22481
|
+
this.__setFile = __bind(this.__setFile, this);
|
22482
|
+
this.currentFile = null;
|
22483
|
+
Widget.__super__.constructor.apply(this, arguments);
|
22484
|
+
}
|
22485
|
+
|
22486
|
+
Widget.prototype.__initOnUploadComplete = function() {
|
22487
|
+
var __onUploadComplete,
|
21407
22488
|
_this = this;
|
21408
|
-
|
21409
|
-
|
21410
|
-
|
21411
|
-
|
21412
|
-
|
22489
|
+
__onUploadComplete = $.Callbacks();
|
22490
|
+
this.onUploadComplete = utils.publicCallbacks(__onUploadComplete);
|
22491
|
+
return this.__onChange.add(function(file) {
|
22492
|
+
return file != null ? file.done(function(info) {
|
22493
|
+
return __onUploadComplete.fire(info);
|
22494
|
+
}) : void 0;
|
21413
22495
|
});
|
21414
22496
|
};
|
21415
22497
|
|
21416
|
-
Widget.prototype.
|
21417
|
-
|
21418
|
-
|
21419
|
-
|
22498
|
+
Widget.prototype.__currentObject = function() {
|
22499
|
+
return this.currentFile;
|
22500
|
+
};
|
22501
|
+
|
22502
|
+
Widget.prototype.__currentFile = function() {
|
22503
|
+
return this.currentFile;
|
22504
|
+
};
|
22505
|
+
|
22506
|
+
Widget.prototype.__clearCurrentObj = function() {
|
22507
|
+
var _ref;
|
22508
|
+
if ((_ref = this.currentFile) != null) {
|
22509
|
+
_ref.cancel();
|
21420
22510
|
}
|
22511
|
+
return this.currentFile = null;
|
22512
|
+
};
|
22513
|
+
|
22514
|
+
Widget.prototype.__setFile = function(newFile) {
|
22515
|
+
if (newFile !== this.currentFile) {
|
22516
|
+
this.__reset();
|
22517
|
+
if (newFile) {
|
22518
|
+
this.currentFile = newFile;
|
22519
|
+
return this.__watchCurrentObject();
|
22520
|
+
}
|
22521
|
+
}
|
22522
|
+
};
|
22523
|
+
|
22524
|
+
Widget.prototype.__onUploadingFailed = function() {
|
22525
|
+
this.__reset();
|
22526
|
+
return Widget.__super__.__onUploadingFailed.apply(this, arguments);
|
21421
22527
|
};
|
21422
22528
|
|
21423
22529
|
Widget.prototype.value = function(value) {
|
21424
22530
|
if (value != null) {
|
21425
22531
|
if (this.element.val() !== value) {
|
21426
|
-
this.__setFile(
|
22532
|
+
this.__setFile(utils.anyToFile(value, this.settings));
|
21427
22533
|
}
|
21428
22534
|
return this;
|
21429
22535
|
} else {
|
@@ -21432,55 +22538,11 @@ var _require = (function() {
|
|
21432
22538
|
};
|
21433
22539
|
|
21434
22540
|
Widget.prototype.reloadInfo = function() {
|
21435
|
-
|
21436
|
-
if (this.element.val()) {
|
21437
|
-
file = uploadcare.fileFrom('url', this.element.val(), this.settings);
|
21438
|
-
this.__setFile(file, true);
|
21439
|
-
} else {
|
21440
|
-
this.__reset();
|
21441
|
-
}
|
22541
|
+
this.__setFile(utils.anyToFile(this.element.val(), this.settings));
|
21442
22542
|
return this;
|
21443
22543
|
};
|
21444
22544
|
|
21445
|
-
Widget.prototype.
|
21446
|
-
this.__reset();
|
21447
|
-
return this.template.error(error);
|
21448
|
-
};
|
21449
|
-
|
21450
|
-
Widget.prototype.__setupWidget = function() {
|
21451
|
-
var dialogButton, fileButton,
|
21452
|
-
_this = this;
|
21453
|
-
this.template = new ns.Template(this.settings, this.element);
|
21454
|
-
this.template.addButton('cancel', t('buttons.cancel')).on('click', function() {
|
21455
|
-
return _this.__reset();
|
21456
|
-
});
|
21457
|
-
this.template.addButton('remove', t('buttons.remove')).on('click', function() {
|
21458
|
-
return _this.__reset();
|
21459
|
-
});
|
21460
|
-
if (this.settings.tabs.length > 0) {
|
21461
|
-
if (__indexOf.call(this.settings.tabs, 'file') >= 0) {
|
21462
|
-
fileButton = this.template.addButton('file');
|
21463
|
-
fileButton.on('click', function() {
|
21464
|
-
return _this.openDialog('file');
|
21465
|
-
});
|
21466
|
-
}
|
21467
|
-
dialogButton = this.template.addButton('dialog');
|
21468
|
-
dialogButton.on('click', function() {
|
21469
|
-
return _this.openDialog();
|
21470
|
-
});
|
21471
|
-
}
|
21472
|
-
ns.dragdrop.receiveDrop(this.__openDialogWithFile, this.template.dropArea);
|
21473
|
-
this.template.dropArea.on('dragstatechange.uploadcare', function(e, active) {
|
21474
|
-
if (!(active && uploadcare.isDialogOpened())) {
|
21475
|
-
return _this.template.dropArea.toggleClass('uploadcare-dragging', active);
|
21476
|
-
}
|
21477
|
-
});
|
21478
|
-
return this.template.content.on('click', '@uploadcare-widget-file-name', function() {
|
21479
|
-
return _this.openDialog();
|
21480
|
-
});
|
21481
|
-
};
|
21482
|
-
|
21483
|
-
Widget.prototype.__openDialogWithFile = function(type, data) {
|
22545
|
+
Widget.prototype.__handleDirectSelection = function(type, data) {
|
21484
22546
|
var file;
|
21485
22547
|
file = uploadcare.fileFrom(type, data, this.settings);
|
21486
22548
|
if (this.settings.previewStep) {
|
@@ -21499,84 +22561,219 @@ var _require = (function() {
|
|
21499
22561
|
});
|
21500
22562
|
};
|
21501
22563
|
|
21502
|
-
Widget.prototype.api = function() {
|
21503
|
-
if (!this.__api) {
|
21504
|
-
this.__api = utils.bindAll(this, ['openDialog', 'reloadInfo', 'value']);
|
21505
|
-
this.__api.onChange = this.onChange;
|
21506
|
-
this.__api.onUploadComplete = this.onUploadComplete;
|
21507
|
-
}
|
21508
|
-
return this.__api;
|
21509
|
-
};
|
21510
|
-
|
21511
22564
|
return Widget;
|
21512
22565
|
|
21513
|
-
})();
|
22566
|
+
})(ns.BaseWidget);
|
21514
22567
|
});
|
21515
22568
|
|
21516
22569
|
}).call(this);
|
21517
22570
|
(function() {
|
21518
|
-
var $,
|
22571
|
+
var $, namespace, t, utils, _ref,
|
22572
|
+
__bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
|
22573
|
+
__hasProp = {}.hasOwnProperty,
|
22574
|
+
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
21519
22575
|
|
21520
|
-
$ = uploadcare.jQuery;
|
22576
|
+
namespace = uploadcare.namespace, utils = uploadcare.utils, $ = uploadcare.jQuery, (_ref = uploadcare.locale, t = _ref.t);
|
21521
22577
|
|
21522
|
-
|
22578
|
+
namespace('uploadcare.widget', function(ns) {
|
22579
|
+
return ns.MultipleWidget = (function(_super) {
|
21523
22580
|
|
21524
|
-
|
21525
|
-
if (container == null) {
|
21526
|
-
container = 'body';
|
21527
|
-
}
|
21528
|
-
return initialize($(container).find('@uploadcare-uploader'));
|
21529
|
-
};
|
22581
|
+
__extends(MultipleWidget, _super);
|
21530
22582
|
|
21531
|
-
|
21532
|
-
|
21533
|
-
_results = [];
|
21534
|
-
for (_i = 0, _len = targets.length; _i < _len; _i++) {
|
21535
|
-
target = targets[_i];
|
21536
|
-
_results.push(uploadcare.Widget(target));
|
21537
|
-
}
|
21538
|
-
return _results;
|
21539
|
-
};
|
22583
|
+
function MultipleWidget(element) {
|
22584
|
+
this.__handleDirectSelection = __bind(this.__handleDirectSelection, this);
|
21540
22585
|
|
21541
|
-
|
21542
|
-
var el;
|
21543
|
-
el = $(target).eq(0);
|
21544
|
-
return initializeWidget(el);
|
21545
|
-
};
|
22586
|
+
this.reloadInfo = __bind(this.reloadInfo, this);
|
21546
22587
|
|
21547
|
-
|
21548
|
-
|
21549
|
-
|
21550
|
-
|
21551
|
-
cleanup(el);
|
21552
|
-
widget = new uploadcare.widget.Widget(el);
|
21553
|
-
el.data(dataAttr, widget);
|
21554
|
-
widget.template.content.data(dataAttr, widget.template);
|
21555
|
-
}
|
21556
|
-
return widget.api();
|
21557
|
-
};
|
22588
|
+
this.__setGroup = __bind(this.__setGroup, this);
|
22589
|
+
this.currentGroup = null;
|
22590
|
+
MultipleWidget.__super__.constructor.apply(this, arguments);
|
22591
|
+
}
|
21558
22592
|
|
21559
|
-
|
21560
|
-
|
21561
|
-
|
21562
|
-
|
21563
|
-
|
21564
|
-
|
21565
|
-
|
21566
|
-
|
21567
|
-
|
22593
|
+
MultipleWidget.prototype.__initOnUploadComplete = function() {
|
22594
|
+
var __onUploadComplete,
|
22595
|
+
_this = this;
|
22596
|
+
__onUploadComplete = $.Callbacks();
|
22597
|
+
this.onUploadComplete = utils.publicCallbacks(__onUploadComplete);
|
22598
|
+
return this.__onChange.add(function(group) {
|
22599
|
+
return group != null ? group.promise().done(function(info) {
|
22600
|
+
return __onUploadComplete.fire(info);
|
22601
|
+
}) : void 0;
|
22602
|
+
});
|
22603
|
+
};
|
21568
22604
|
|
21569
|
-
|
21570
|
-
|
21571
|
-
|
22605
|
+
MultipleWidget.prototype.__currentObject = function() {
|
22606
|
+
return this.currentGroup;
|
22607
|
+
};
|
22608
|
+
|
22609
|
+
MultipleWidget.prototype.__currentFile = function() {
|
22610
|
+
var _ref1;
|
22611
|
+
return (_ref1 = this.currentGroup) != null ? _ref1.promise() : void 0;
|
22612
|
+
};
|
22613
|
+
|
22614
|
+
MultipleWidget.prototype.__setGroup = function(group) {
|
22615
|
+
if (!utils.isFileGroupsEqual(this.currentGroup, group)) {
|
22616
|
+
this.__reset();
|
22617
|
+
if (group && group.files().length) {
|
22618
|
+
this.currentGroup = group;
|
22619
|
+
return this.__watchCurrentObject();
|
22620
|
+
}
|
22621
|
+
}
|
22622
|
+
};
|
21572
22623
|
|
21573
|
-
|
21574
|
-
|
21575
|
-
|
22624
|
+
MultipleWidget.prototype.__setGroupByPromise = function(groupPr) {
|
22625
|
+
var _this = this;
|
22626
|
+
this.__lastGroupPr = groupPr;
|
22627
|
+
this.__reset();
|
22628
|
+
this.template.setStatus('started');
|
22629
|
+
this.template.statusText.text(t('loadingInfo'));
|
22630
|
+
return groupPr.done(function(group) {
|
22631
|
+
if (_this.__lastGroupPr === groupPr) {
|
22632
|
+
_this.__reset();
|
22633
|
+
return _this.__setGroup(group);
|
22634
|
+
}
|
22635
|
+
}).fail(function() {
|
22636
|
+
if (_this.__lastGroupPr === groupPr) {
|
22637
|
+
return _this.template.error('createGroup');
|
22638
|
+
}
|
22639
|
+
});
|
22640
|
+
};
|
22641
|
+
|
22642
|
+
MultipleWidget.prototype.__clearCurrentObj = function() {
|
22643
|
+
return this.currentGroup = null;
|
22644
|
+
};
|
22645
|
+
|
22646
|
+
MultipleWidget.prototype.__onUploadingFailed = function(error) {
|
22647
|
+
if (error === 'createGroup') {
|
22648
|
+
this.__reset();
|
22649
|
+
}
|
22650
|
+
return MultipleWidget.__super__.__onUploadingFailed.apply(this, arguments);
|
22651
|
+
};
|
22652
|
+
|
22653
|
+
MultipleWidget.prototype.value = function(value) {
|
22654
|
+
if (value != null) {
|
22655
|
+
if (this.element.val() !== value) {
|
22656
|
+
this.__setGroupByPromise(utils.anyToFileGroup(value, this.settings));
|
22657
|
+
}
|
22658
|
+
return this;
|
22659
|
+
} else {
|
22660
|
+
return this.currentGroup;
|
22661
|
+
}
|
22662
|
+
};
|
22663
|
+
|
22664
|
+
MultipleWidget.prototype.reloadInfo = function() {
|
22665
|
+
this.__setGroupByPromise(utils.anyToFileGroup(this.element.val(), this.settings));
|
22666
|
+
return this;
|
22667
|
+
};
|
22668
|
+
|
22669
|
+
MultipleWidget.prototype.__handleDirectSelection = function(type, data) {
|
22670
|
+
var files;
|
22671
|
+
files = uploadcare.filesFrom(type, data, this.settings);
|
22672
|
+
if (this.settings.previewStep) {
|
22673
|
+
return uploadcare.openDialog(files, this.settings).done(this.__setGroup);
|
22674
|
+
} else {
|
22675
|
+
return this.__setGroup(uploadcare.FileGroup(files, this.settings));
|
22676
|
+
}
|
22677
|
+
};
|
22678
|
+
|
22679
|
+
MultipleWidget.prototype.openDialog = function(tab) {
|
22680
|
+
var _this = this;
|
22681
|
+
return uploadcare.openDialog(this.currentGroup, tab, this.settings).done(this.__setGroup).fail(function(group) {
|
22682
|
+
if (!utils.isFileGroupsEqual(group, _this.currentGroup)) {
|
22683
|
+
return _this.__setGroup(null);
|
22684
|
+
}
|
22685
|
+
});
|
22686
|
+
};
|
22687
|
+
|
22688
|
+
return MultipleWidget;
|
22689
|
+
|
22690
|
+
})(ns.BaseWidget);
|
22691
|
+
});
|
22692
|
+
|
22693
|
+
}).call(this);
|
22694
|
+
(function() {
|
22695
|
+
var $, namespace, s, utils;
|
22696
|
+
|
22697
|
+
utils = uploadcare.utils, namespace = uploadcare.namespace, s = uploadcare.settings, $ = uploadcare.jQuery;
|
22698
|
+
|
22699
|
+
namespace('uploadcare', function(ns) {
|
22700
|
+
var cleanup, dataAttr, getSettings, initialize, initializeWidget;
|
22701
|
+
dataAttr = 'uploadcareWidget';
|
22702
|
+
ns.initialize = function(container) {
|
22703
|
+
if (container == null) {
|
22704
|
+
container = 'body';
|
22705
|
+
}
|
22706
|
+
return initialize($(container).find('@uploadcare-uploader'));
|
22707
|
+
};
|
22708
|
+
getSettings = function(el) {
|
22709
|
+
return s.build($(el).data());
|
22710
|
+
};
|
22711
|
+
initialize = function(targets) {
|
22712
|
+
var method, target, _i, _len, _results;
|
22713
|
+
_results = [];
|
22714
|
+
for (_i = 0, _len = targets.length; _i < _len; _i++) {
|
22715
|
+
target = targets[_i];
|
22716
|
+
method = getSettings(target).multiple ? 'MultipleWidget' : 'Widget';
|
22717
|
+
_results.push(uploadcare[method](target));
|
22718
|
+
}
|
22719
|
+
return _results;
|
22720
|
+
};
|
22721
|
+
ns.Widget = function(target) {
|
22722
|
+
var el;
|
22723
|
+
el = $(target).eq(0);
|
22724
|
+
if (!getSettings(el).multiple) {
|
22725
|
+
return initializeWidget(el, ns.widget.Widget);
|
22726
|
+
} else {
|
22727
|
+
throw new Error('Widget can\'t be initialized on this element');
|
22728
|
+
}
|
22729
|
+
};
|
22730
|
+
ns.MultipleWidget = function(target) {
|
22731
|
+
var el;
|
22732
|
+
el = $(target).eq(0);
|
22733
|
+
if (getSettings(el).multiple) {
|
22734
|
+
return initializeWidget(el, ns.widget.MultipleWidget);
|
22735
|
+
} else {
|
22736
|
+
throw new Error('MultipleWidget can\'t be initialized on this element');
|
22737
|
+
}
|
22738
|
+
};
|
22739
|
+
initializeWidget = function(el, Widget) {
|
22740
|
+
var widget;
|
22741
|
+
widget = el.data(dataAttr);
|
22742
|
+
if (!widget || el[0] !== widget.element[0]) {
|
22743
|
+
cleanup(el);
|
22744
|
+
widget = new Widget(el);
|
22745
|
+
el.data(dataAttr, widget);
|
22746
|
+
widget.template.content.data(dataAttr, widget.template);
|
22747
|
+
}
|
22748
|
+
return widget.api();
|
22749
|
+
};
|
22750
|
+
cleanup = function(el) {
|
22751
|
+
var template;
|
22752
|
+
el.off('.uploadcare');
|
22753
|
+
el = el.next('.uploadcare-widget');
|
22754
|
+
template = el.data(dataAttr);
|
22755
|
+
if (el.length && (!template || el[0] !== template.content[0])) {
|
22756
|
+
return el.remove();
|
22757
|
+
}
|
22758
|
+
};
|
22759
|
+
ns.start = function(settings) {
|
22760
|
+
var live;
|
22761
|
+
s.common(settings);
|
22762
|
+
live = function() {
|
22763
|
+
return initialize($('@uploadcare-uploader'));
|
22764
|
+
};
|
22765
|
+
if (s.build().live) {
|
22766
|
+
return setInterval(live, 100);
|
22767
|
+
} else {
|
22768
|
+
return live();
|
22769
|
+
}
|
22770
|
+
};
|
22771
|
+
return $(function() {
|
22772
|
+
if (!s.globals().manualStart) {
|
22773
|
+
return ns.start();
|
22774
|
+
}
|
21576
22775
|
});
|
21577
|
-
}
|
21578
|
-
$(live);
|
21579
|
-
}
|
22776
|
+
});
|
21580
22777
|
|
21581
22778
|
}).call(this);
|
21582
22779
|
(function() {
|
@@ -21627,18 +22824,24 @@ var _require = (function() {
|
|
21627
22824
|
var expose, key,
|
21628
22825
|
__hasProp = {}.hasOwnProperty;
|
21629
22826
|
|
21630
|
-
uploadcare.version = '0.
|
22827
|
+
uploadcare.version = '0.8';
|
21631
22828
|
|
21632
22829
|
expose = uploadcare.expose;
|
21633
22830
|
|
21634
22831
|
expose('whenReady');
|
21635
22832
|
|
21636
|
-
expose('
|
22833
|
+
expose('globals', uploadcare.settings.globals);
|
22834
|
+
|
22835
|
+
expose('start');
|
21637
22836
|
|
21638
22837
|
expose('initialize');
|
21639
22838
|
|
21640
22839
|
expose('fileFrom');
|
21641
22840
|
|
22841
|
+
expose('FileGroup');
|
22842
|
+
|
22843
|
+
expose('loadFileGroup');
|
22844
|
+
|
21642
22845
|
expose('locales', (function() {
|
21643
22846
|
var _ref, _results;
|
21644
22847
|
_ref = uploadcare.locale.translations;
|
@@ -21656,5 +22859,7 @@ var _require = (function() {
|
|
21656
22859
|
|
21657
22860
|
expose('Widget');
|
21658
22861
|
|
22862
|
+
expose('MultipleWidget');
|
22863
|
+
|
21659
22864
|
}).call(this);
|
21660
22865
|
}({}));
|