Contact Form by WPForms – Drag & Drop Form Builder for WordPress - Version 1.4.9

Version Description

  • Added: Pirate Forms importer.
  • Changed: Some form builder tooltips to contain documentation links.
  • Fixed: Form builder javascript conflict with jQuery non-conflict mode.
  • Fixed: PHP Notice from WPForms widget.
  • Fixed: Incorrect markup around Addons submenu item.
Download this release

Release Info

Developer jaredatch
Plugin Icon 128x128 Contact Form by WPForms – Drag & Drop Form Builder for WordPress
Version 1.4.9
Comparing to
See all releases

Code changes from version 1.4.8.1 to 1.4.9

assets/css/admin-builder.css CHANGED
@@ -420,6 +420,7 @@ body {
420
 
421
  #wpforms-builder .wpforms-panel-field {
422
  max-width: 450px;
 
423
  }
424
 
425
  #wpforms-builder .wpforms-panel-field-tinymce,
@@ -427,10 +428,6 @@ body {
427
  max-width: 800px;
428
  }
429
 
430
- #wpforms-builder .wpforms-panel-field {
431
- margin-bottom: 18px;
432
- }
433
-
434
  #wpforms-builder .wpforms-panel-field label {
435
  display: block;
436
  font-size: 14px;
420
 
421
  #wpforms-builder .wpforms-panel-field {
422
  max-width: 450px;
423
+ margin-bottom: 18px;
424
  }
425
 
426
  #wpforms-builder .wpforms-panel-field-tinymce,
428
  max-width: 800px;
429
  }
430
 
 
 
 
 
431
  #wpforms-builder .wpforms-panel-field label {
432
  display: block;
433
  font-size: 14px;
assets/css/builder.css CHANGED
@@ -348,6 +348,10 @@ body .choices input[type=text].choices__input {
348
  max-width: 100%;
349
  }
350
 
 
 
 
 
351
  #wpforms-panel-fields .wpforms-panel-sidebar .choices-list.show-images .wpforms-image-upload {
352
  display: block;
353
  }
@@ -911,4 +915,4 @@ body .choices input[type=text].choices__input {
911
  word-wrap: normal !important;
912
  }
913
 
914
- /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3Bmb3Jtcy9hc3NldHMvY3NzL2J1aWxkZXIuY3NzIiwic291cmNlcyI6WyJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIuc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fY29uZmlybS5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fYnV0dG9ucy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fYWxlcnRzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX2Zvcm1zLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLWZpZWxkcy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9idWlsZGVyL3BhbmVsLWZpZWxkcy9fY2hlY2tib3guc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvYnVpbGRlci9wYW5lbC1maWVsZHMvX2dkcHItY2hlY2tib3guc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvYnVpbGRlci9wYW5lbC1maWVsZHMvX3JhZGlvLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvcGFuZWwtZmllbGRzL19wYXltZW50LW11bHRpcGxlLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLXNldHRpbmdzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLXBheW1lbnRzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvcHJvdmlkZXJzL19wcm92aWRlcnMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBXUEZvcm1zIGZvcm0gYnVpbGRlciBzdHlsZXMuXG5cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdhZG1pbi9jb25maXJtJztcbkBpbXBvcnQgJ2FkbWluL2J1dHRvbnMnO1xuQGltcG9ydCAnYWRtaW4vYWxlcnRzJztcbkBpbXBvcnQgJ2J1aWxkZXIvZm9ybXMnO1xuQGltcG9ydCAnYnVpbGRlci9wYW5lbC1maWVsZHMnO1xuQGltcG9ydCAnYnVpbGRlci9wYW5lbC1zZXR0aW5ncyc7XG5AaW1wb3J0ICdidWlsZGVyL3BhbmVsLXBheW1lbnRzJztcbkBpbXBvcnQgJ2J1aWxkZXIvcHJvdmlkZXJzL3Byb3ZpZGVycyc7XG5cbi53cGZvcm1zLXNjcmVlbi1yZWFkZXItZWxlbWVudCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxcHggIWltcG9ydGFudDtcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcblx0d29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcbn1cbiIsIiRvcmFuZ2U6ICNlMjc3MzA7XG4kZGFya29yYW5nZTogI2I4NWExYjtcbiRncmVlbjogIzJhOWIzOTtcbiRibHVlOiAjMGU2Y2FkO1xuJGxpZ2h0Qmx1ZTogI2ViZjNmYjtcbiIsIi8vIEFsZXJ0IHN0eWxlcy5cbi8vIFN0eWxpbmcgdHdlYWtzIGZvciBqUXVlcnktY29uZmlybSBKUyBhbGVydCBsaWJyYXJ5LlxuYm9keSB7XG5cblx0ZGl2Lmpjb25maXJtIHtcblxuXHRcdCosXG5cdFx0Kjo6YmVmb3JlLFxuXHRcdCo6OmFmdGVyIHtcblx0XHRcdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXG5cdFx0ZGl2Lmpjb25maXJtLWJveC1jb250YWluZXIge1xuXG5cdFx0XHRkaXYuamNvbmZpcm0tYm94IHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuXHRcdFx0XHRkaXYuamNvbmZpcm0tY2xvc2VJY29uIHtcblx0XHRcdFx0XHRjb2xvcjogcmdiYSgwLDAsMCwwLjQpO1xuXHRcdFx0XHRcdHRvcDogOHB4O1xuXHRcdFx0XHRcdHJpZ2h0OiA4cHg7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiByZ2JhKDAsMCwwLDAuODApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGRpdi5qY29uZmlybS1ib3gge1xuXG5cdFx0XHRkaXYuamNvbmZpcm0tdGl0bGUtYyB7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDI2cHggMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0c3Bhbi5qY29uZmlybS1pY29uLWMge1xuXHRcdFx0XHRcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdGNvbG9yOiAjYzRjNGM0ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzcGFuLmpjb25maXJtLXRpdGxlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRjb2xvcjogIzMzMztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHNwYW4uamNvbmZpcm0taWNvbi1jICsgc3Bhbi5qY29uZmlybS10aXRsZSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGRpdi5qY29uZmlybS1jb250ZW50LXBhbmUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyNnB4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHQuamNvbmZpcm0tY29udGVudCB7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGluaGVyaXQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0ZGl2Lmpjb25maXJtLWNvbnRlbnQge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGNvbG9yOiAjNTU1O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXG5cdFx0XHRcdCYubGl0ZS11cGdyYWRlIHtcblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMjBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRtYXJnaW46IDAgMCAxNnB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXG5cdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYubGFyZ2Uge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuc21hbGwge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5hbHJlYWR5LXB1cmNoYXNlZCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjY2NjO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGRpdi5qY29uZmlybS1idXR0b25zIHtcblxuXHRcdFx0XHQuYWxyZWFkeS1wdXJjaGFzZWQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHRjb2xvcjogI2FhYTtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5O1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5kaXNjb3VudC1ub3RlIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRtYXJnaW46IDMwcHggMCAwO1xuXG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmYWZmYWM7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIC0zMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDI0cHggNjBweCAyMHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdFx0XHRjb2xvcjogIzRkNGQ0ZDtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICdcXGYwNTgnO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0Zm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweCA2cHg7XG5cdFx0XHRcdFx0XHR0ZXh0LXJlbmRlcmluZzogYXV0bztcblx0XHRcdFx0XHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRcdFx0XHRcdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogLTIwcHg7O1xuXHRcdFx0XHRcdFx0cmlnaHQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLTE4cHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzNhYmMwMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdGNvbG9yOiAjM2FiYzAxO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICNhYWE7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpbnB1dFt0eXBlPXRleHRdIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiA5OSU7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogMjBweCBhdXRvIDAgYXV0bztcblx0XHRcdH1cblxuXHRcdFx0I3dwZm9ybXMtZW1iZWQtc2hvcnRjb2RlIHtcblx0XHRcdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRwYWRkaW5nOiA4cHggNXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQjd3Bmb3Jtcy1lbWJlZC1zaG9ydGNvZGU6ZGlzYWJsZWQge1xuXHRcdFx0XHRjb2xvcjogIzMzMztcblx0XHRcdH1cblxuXHRcdFx0YnV0dG9uLmJ0bi1jb25maXJtIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhcmtvcmFuZ2U7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkZGFya29yYW5nZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuZXJyb3Ige1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRjb2xvcjogcmVkO1xuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1lcnJvciB7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNlYmNjZDEgIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdFx0Lmpjb25maXJtLXRpdGxlLWMgLmpjb25maXJtLWljb24tYyB7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC1tcy10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0dHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNDVweCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jaG9pY2VzIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0aW5wdXRbdHlwZT10ZXh0XS5jaG9pY2VzX19pbnB1dCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIEJ1dHRvbiBzdHlsZXMuXG4ud3Bmb3Jtcy1hZG1pbi1wYWdlIHtcblxuXHQud3Bmb3Jtcy1idG4ge1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXG5cdC53cGZvcm1zLWJ0bi1ibG9jayB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQud3Bmb3Jtcy1idG4tbWQge1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRcdG1pbi1oZWlnaHQ6IDM1cHg7XG5cdH1cblxuXHQud3Bmb3Jtcy1idG4tbGcge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdHBhZGRpbmc6IDE2cHggMjhweDtcblx0fVxuXG5cdC53cGZvcm1zLWJ0bi1vcmFuZ2Uge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuXHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya29yYW5nZTtcblx0XHRcdGJvcmRlci1jb2xvcjogJGRhcmtvcmFuZ2U7XG5cdFx0fVxuXHR9XG5cblx0LndwZm9ybXMtYnRuLWdyZXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjY2NjO1xuXHRcdGNvbG9yOiAjNjY2O1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDdkN2Q3O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjY2NjO1xuXHRcdFx0Y29sb3I6ICM0NDQ7XG5cdFx0fVxuXHR9XG5cblx0LndwZm9ybXMtYnRuLWxpZ2h0LWdyZXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcblx0XHRjb2xvcjogIzY2NjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2VlZTtcblx0XHRcdGNvbG9yOiAjNDQ0O1xuXHRcdH1cblx0fVxuXG5cdC53cGZvcm1zLWJ0bi10cmFucy1ncmVlbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcblx0XHRjb2xvcjogJGdyZWVuO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cblx0XHQudW5kZXJsaW5lIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRncmVlbjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRib3R0b206IC01cHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5kYXNoaWNvbnMge1xuXHRcdFx0aGVpZ2h0OiAxOHB4O1xuXHRcdH1cblx0fVxufVxuIiwiLy8gQWxlcnQgc3R5bGVzLlxuLndwZm9ybXMtYWRtaW4tcGFnZSB7XG5cblx0LndwZm9ybXMtYWxlcnQge1xuXHRcdHBhZGRpbmc6IDE2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMThweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHRcdGg0IHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdG1hcmdpbjogMCAwIDE1cHggMDtcblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji53cGZvcm1zLWFsZXJ0LW5vbWFyZ2luIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHQmLndwZm9ybXMtYWxlcnQtc21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdH1cblxuXHRcdCYud3Bmb3Jtcy1hbGVydC1zdWNjZXNzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7XG5cdFx0XHRib3JkZXItY29sb3I6ICNkNmU5YzY7XG5cdFx0XHRjb2xvcjogIzNjNzYzZDtcblx0XHR9XG5cblx0XHQmLndwZm9ybXMtYWxlcnQtaW5mbyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjYmNlOGYxO1xuXHRcdFx0Y29sb3I6ICMzMTcwOGY7XG5cdFx0fVxuXG5cdFx0Ji53cGZvcm1zLWFsZXJ0LXdhcm5pbmcge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcblx0XHRcdGJvcmRlci1jb2xvcjogI2ZhZWJjYztcblx0XHRcdGNvbG9yOiAjOGE2ZDNiO1xuXHRcdH1cblxuXHRcdCYud3Bmb3Jtcy1hbGVydC1kYW5nZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcblx0XHRcdGJvcmRlci1jb2xvcjogI2ViY2NkMTtcblx0XHRcdGNvbG9yOiAjYTk0NDQyO1xuXHRcdH1cblx0fVxufSIsIi8vIEZvcm0gZWxlbWVudCBzdHlsZXMuXG5cbiN3cGZvcm1zLWJ1aWxkZXIge1xuXG5cdC53cGZvcm1zLXBhbmVsLWZpZWxkIHtcblxuXHRcdHNlbGVjdCB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59IiwiLy8gRmllbGQgcGFuZWwuXG5cbiN3cGZvcm1zLXBhbmVsLWZpZWxkcyB7XG5cblx0Ly8gU2lkZWJhciBhcmVhIChsZWZ0IHNpZGUsIGZpZWxkIGJ1dHRvbnMvb3B0aW9ucykuXG5cdC53cGZvcm1zLXBhbmVsLXNpZGViYXIge1xuXG5cdFx0LmNob2ljZXMtbGlzdCB7XG5cblx0XHRcdCYuc2hvdy1pbWFnZXMge1xuXHRcdFx0XHQud3Bmb3Jtcy1pbWFnZS11cGxvYWQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLWltYWdlLXVwbG9hZCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gUGFuZWwgY29udGVudCBhcmVhIChyaWdodCBzaWRlLCBmb3JtIHByZXZpZXcgYXJlYSkuXG5cdC53cGZvcm1zLXBhbmVsLWNvbnRlbnQtd3JhcCB7XG5cblx0XHQvLyBJbWFnZSBjaG9pY2VzIChDaGVja2JveCwgUmFkaW8sIE11bHRpcGxlIHBheW1lbnQgaXRlbXMpLlxuXHRcdC53cGZvcm1zLWZpZWxkLWNoZWNrYm94LFxuXHRcdC53cGZvcm1zLWZpZWxkLXJhZGlvLFxuXHRcdC53cGZvcm1zLWZpZWxkLXBheW1lbnQtbXVsdGlwbGUge1xuXG5cdFx0XHQvLyBHZW5lcmFsIHRvcCBsZXZlbCBydWxlcy5cblx0XHRcdCYud3Bmb3Jtcy1saXN0LWlubGluZSB7XG5cblx0XHRcdFx0LnByaW1hcnktaW5wdXQge1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLW1vZGVybiB7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiA1cHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWNsYXNzaWMge1xuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdG1hcmdpbjogMCAxMHB4IDEwcHggMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gTW9kZXJuIHN0eWxlLlxuXHRcdFx0dWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLW1vZGVybiB7XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2ZmZjtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0XHRcdFx0cGFkZGluZzogMjBweCAyMHB4IDE4cHggMjBweDtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC41cztcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGJvcmRlcjoxcHggc29saWQgI2RkZDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWltYWdlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFwyNzE0XCI7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzJweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogZ3JlZW47XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0XHRtYXJnaW46IC0xNnB4IDAgMCAtMTZweDtcblx0XHRcdFx0XHRcdHdpZHRoOiAzMnB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuNXM7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1sYWJlbCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFNlbGVjdGVkIHN0YXRlLlxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0Ji53cGZvcm1zLXNlbGVjdGVkIHtcblxuXHRcdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1pbWFnZTphZnRlciB7XG5cdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC53cGZvcm1zLWltYWdlLWNob2ljZXMtbGFiZWwge1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBDbGFzc2ljIHN0eWxlLlxuXHRcdFx0dWwud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWNsYXNzaWMge1xuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG5cdFx0XHRcdFx0cGFkZGluZzogMTBweDtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogI2RkZDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWltYWdlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC53cGZvcm1zLWltYWdlLWNob2ljZXMtbGFiZWwge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDhweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFNlbGVjdGVkIHN0YXRlLlxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0Ji53cGZvcm1zLXNlbGVjdGVkIHtcblxuXHRcdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6ICM2NjY7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gRmllbGQgc3BlY2lmaWMgcnVsZXMuXG5cdEBpbXBvcnQgJ3BhbmVsLWZpZWxkcy9jaGVja2JveCc7XG5cdEBpbXBvcnQgJ3BhbmVsLWZpZWxkcy9nZHByLWNoZWNrYm94Jztcblx0QGltcG9ydCAncGFuZWwtZmllbGRzL3JhZGlvJztcblx0QGltcG9ydCAncGFuZWwtZmllbGRzL3BheW1lbnQtbXVsdGlwbGUnO1xufSIsIi8vIENoZWNrYm94IGZpZWxkIHR5cGUuXG5cbi8vIEZpZWxkIG9wdGlvbnMgYXJlYSAobGVmdCBzaWRlKS5cbi53cGZvcm1zLXBhbmVsLXNpZGViYXIge1xuXG5cdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1jaGVja2JveCB7XG5cblx0XHQvLyBDaG9pY2VzIGZpbGUgdXBsb2FkLlxuXHRcdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1yb3ctY2hvaWNlcyAud3Bmb3Jtcy1pbWFnZS11cGxvYWQge1xuXHRcdFx0bWFyZ2luOiA2cHggMCAwIDUwcHg7XG5cdFx0XHR3aWR0aDogNjglO1xuXG5cdFx0XHQucHJldmlldyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIDI1NSwyNTUsMjU1LDAuNjUpO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YTpob3ZlciB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZjA1N1wiO1xuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDI1cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZWQ7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogLTEyLjVweCAwIDAgLTEyLjVweDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRcdFx0XHRcdGNvbG9yOiByZWQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHVuc2V0O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDAuODtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAxMDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBGb3JtIHByZXZpZXcgYXJlYSAocmlnaHQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1jb250ZW50LXdyYXAge1xufSIsIi8vIEdEUFIgQ2hlY2tib3ggZmllbGQgdHlwZS5cblxuLy8gRmllbGQgb3B0aW9ucyBhcmVhIChsZWZ0IHNpZGUpLlxuLndwZm9ybXMtcGFuZWwtc2lkZWJhciB7XG5cblx0LndwZm9ybXMtZmllbGQtb3B0aW9uLWdkcHItY2hlY2tib3gge1xuXG5cdFx0Ly8gQ2hvaWNlcy5cblx0XHQud3Bmb3Jtcy1maWVsZC1vcHRpb24tcm93LWNob2ljZXMge1xuXG5cdFx0XHQvLyBIaWRlIGNob2ljZXMgZWxlbWVudHMgdGhhdCBhcmUgbm90IHJlbGV2YW50IHRvIHRoaXMgZmllbGQgdHlwZS5cblx0XHRcdC53cGZvcm1zLWhlbHAtdG9vbHRpcCxcblx0XHRcdC50b2dnbGUtYnVsay1hZGQtZGlzcGxheSxcblx0XHRcdC5hZGQsXG5cdFx0XHQucmVtb3ZlLFxuXHRcdFx0Lm1vdmUsXG5cdFx0XHQuZGVmYXVsdCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC8vIE1ha2UgQWdyZWVtZW50IHRleHQgZmllbGQgZnVsbCB3aWR0aC5cblx0XHRcdGxpIHtcblx0XHRcdFx0aW5wdXRbdHlwZT10ZXh0XSB7XG5cdFx0XHRcdFx0d2lkdGg6IDk5JTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBGb3JtIHByZXZpZXcgYXJlYSAocmlnaHQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1jb250ZW50LXdyYXAge1xufSIsIi8vIFJhZGlvIGZpZWxkIHR5cGUuXG5cbi8vIEZpZWxkIG9wdGlvbnMgYXJlYSAobGVmdCBzaWRlKS5cbi53cGZvcm1zLXBhbmVsLXNpZGViYXIge1xuXG5cdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1yYWRpbyB7XG5cblx0XHQvLyBDaG9pY2VzIGZpbGUgdXBsb2FkLlxuXHRcdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1yb3ctY2hvaWNlcyAud3Bmb3Jtcy1pbWFnZS11cGxvYWQge1xuXHRcdFx0bWFyZ2luOiA2cHggMCAwIDUwcHg7XG5cdFx0XHR3aWR0aDogNjglO1xuXG5cdFx0XHQucHJldmlldyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIDI1NSwyNTUsMjU1LDAuNjUpO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YTpob3ZlciB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZjA1N1wiO1xuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDI1cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZWQ7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogLTEyLjVweCAwIDAgLTEyLjVweDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRcdFx0XHRcdGNvbG9yOiByZWQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHVuc2V0O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDAuODtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAxMDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBGb3JtIHByZXZpZXcgYXJlYSAocmlnaHQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1jb250ZW50LXdyYXAge1xufSIsIi8vIFBheW1lbnQgTXVsdGlwbGUgZmllbGQgdHlwZS5cblxuLy8gRmllbGQgb3B0aW9ucyBhcmVhIChsZWZ0IHNpZGUpLlxuLndwZm9ybXMtcGFuZWwtc2lkZWJhciB7XG5cblx0LndwZm9ybXMtZmllbGQtb3B0aW9uLXBheW1lbnQtbXVsdGlwbGUge1xuXG5cdFx0Ly8gQ2hvaWNlcyBmaWxlIHVwbG9hZC5cblx0XHQud3Bmb3Jtcy1maWVsZC1vcHRpb24tcm93LWNob2ljZXMgLndwZm9ybXMtaW1hZ2UtdXBsb2FkIHtcblx0XHRcdG1hcmdpbjogNnB4IDAgMCA1MHB4O1xuXHRcdFx0d2lkdGg6IDcwJTtcblxuXHRcdFx0LnByZXZpZXcge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAyNTUsMjU1LDI1NSwwLjY1KTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGE6aG92ZXIge1xuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcXGYwNTdcIjtcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcblx0XHRcdFx0XHRcdHdpZHRoOiAyNXB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyNXB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcmVkO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0XHRtYXJnaW46IC0xMi41cHggMCAwIC0xMi41cHg7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogcmVkO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB1bnNldDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAwLjg7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWF4LWhlaWdodDogMTAwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gRm9ybSBwcmV2aWV3IGFyZWEgKHJpZ2h0IHNpZGUpLlxuLndwZm9ybXMtcGFuZWwtY29udGVudC13cmFwIHtcbn0iLCIvLyBTZXR0aW5ncyBwYW5lbC5cbiN3cGZvcm1zLXBhbmVsLXNldHRpbmdzIHtcblxuXHQud3Bmb3Jtcy1wYW5lbC1jb250ZW50IHtcblxuXHRcdC53cGZvcm1zLWJ1aWxkZXItc2V0dGluZ3MtYmxvY2sge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2QzZDNkMztcblx0XHRcdG1hcmdpbjogMCAwIDIwcHggMDtcblxuXHRcdFx0LndwZm9ybXMtcGFuZWwtZmllbGQge1xuXHRcdFx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jay1oZWFkZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcblx0XHRcdHBhZGRpbmc6IDEwcHggMjBweDtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jay1uYW1lLWhvbGRlcntcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTAwcHg7XG5cblx0XHRcdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jay1uYW1lLWVkaXQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLTZweDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtNnB4O1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGlucHV0IHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWFjdGlvbnMge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdHdpZHRoOiAxMDBweDtcblxuXHRcdFx0XHRidXR0b24ge1xuXHRcdFx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblxuXHRcdFx0XHRcdCYud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWVkaXQge31cblxuXHRcdFx0XHRcdCYud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWRlbGV0ZSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogI2QyMjIyMjtcblx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jay1jb250ZW50IHtcblx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0fVxuXG5cdFx0LndwZm9ybXMtY29uZmlybWF0aW9uLWRlZmF1bHQge1xuXHRcdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jay1kZWxldGUsXG5cdFx0XHQud3Bmb3Jtcy1jb25kaXRpb25hbC1ibG9jay1wYW5lbCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBQYXltZW50cyBwYW5lbC5cbiN3cGZvcm1zLXBhbmVsLXBheW1lbnRzIHtcblxuXHQud3Bmb3Jtcy1wYW5lbC1jb250ZW50IHtcblxuXHRcdGgyIHtcblx0XHRcdGNvbG9yOiAjNDQ0O1xuXHRcdFx0bWFyZ2luOiAxOHB4IDAgMTZweCAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHR9XG5cdH1cbn0iLCIud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyIHtcblxuXHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLXRpdGxlIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRwYWRkaW5nOiAwIDAgMjBweCAwO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNkM2QzO1xuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci10aXRsZS1zcGlubmVyIHtcblx0XHRcdGNvbG9yOiBncmV5O1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdGZvbnQtc2l6ZTogODAlO1xuXHRcdH1cblxuXHRcdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItdGl0bGUtYWRkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwZTZjYWQ7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogLTEwcHg7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci1ib2R5IHtcblxuXHRcdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItY29ubmVjdGlvbiB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzO1xuXHRcdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xuXG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLWNvbm5lY3Rpb24tYmxvY2sge1xuXHRcdFx0XHRwYWRkaW5nOiAwIDIwcHg7XG5cblx0XHRcdFx0aDQge1xuXHRcdFx0XHRcdG1hcmdpbjogMTZweCAwIDE2cHggMDtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHAuZGVzY3JpcHRpb24ge1xuXHRcdFx0XHRcdG1hcmdpbjogNnB4IDAgMDtcblx0XHRcdFx0XHRjb2xvcjogIzY2Njtcblx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA0NTBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA0NTBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLWNvbm5lY3Rpb24tc2V0dGluZyB7XG5cdFx0XHRcdC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuXHRcdFx0XHRtYXJnaW46IDE2cHggMCAxNnB4O1xuXHRcdFx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xuXG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRtYXJnaW46IDAgMCA4cHggMDtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbnB1dFt0eXBlPWNoZWNrYm94XSArIGxhYmVsLFxuXHRcdFx0XHRpbnB1dFt0eXBlPXJhZGlvXSArIGxhYmVsICB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0W3R5cGU9dGV4dF0sXG5cdFx0XHRcdGlucHV0W3R5cGU9bnVtYmVyXSxcblx0XHRcdFx0aW5wdXRbdHlwZT1lbWFpbF0sXG5cdFx0XHRcdHRleHRhcmVhIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDZweCA4cHg7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMThweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci1jb25uZWN0aW9uLXRpdGxlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcblx0XHRcdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cblx0XHRcdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci1jb25uZWN0aW9uLWRlbGV0ZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjZDIyMjIyO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItY29ubmVjdGlvbi1maWVsZHMtdGFibGUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2VlZTtcblx0XHRcdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0XHRcdFx0bWFyZ2luOiAxNnB4IDAgMDtcblxuXHRcdFx0XHQmICsgcC5kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTZweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5yZXF1aXJlZCB7XG5cdFx0XHRcdFx0Y29sb3I6IHJlZDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhlYWQge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHRcdFx0XHR0aCB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogNXB4IDEwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cblx0XHRcdFx0XHRpbnB1dFt0eXBlPXRleHRdLFxuXHRcdFx0XHRcdGlucHV0W3R5cGU9bnVtYmVyXSxcblx0XHRcdFx0XHRpbnB1dFt0eXBlPWVtYWlsXSxcblx0XHRcdFx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiA2cHggOHB4O1xuXHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuYWRkLFxuXHRcdFx0XHRcdCYuZGVsZXRlIHtcblx0XHRcdFx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogIzAwNzNhYTtcblx0XHRcdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGJvZHkge1xuXHRcdFx0XHRcdHRyIHtcblx0XHRcdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggMCAxMHB4IDEwcHg7XG5cblx0XHRcdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbnB1dCB7XG5cdFx0XHRcdFx0cGFkZGluZzogNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlucHV0LFxuXHRcdFx0XHRzZWxlY3Qge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1wYW5lbC1maWVsZCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdFx0LndwZm9ybXMtY29uZGl0aW9uYWwtYmxvY2sge1xuXHRcdFx0XHRwYWRkaW5nOiAwIDIwcHggMjBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFFRUEsQUFJRSxJQUpFLENB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 */
348
  max-width: 100%;
349
  }
350
 
351
+ #wpforms-builder .wpforms-panel-field input[readonly].readonly-active {
352
+ background-color: white;
353
+ }
354
+
355
  #wpforms-panel-fields .wpforms-panel-sidebar .choices-list.show-images .wpforms-image-upload {
356
  display: block;
357
  }
915
  word-wrap: normal !important;
916
  }
917
 
918
+ /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3Bmb3Jtcy9hc3NldHMvY3NzL2J1aWxkZXIuY3NzIiwic291cmNlcyI6WyJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIuc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fY29uZmlybS5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fYnV0dG9ucy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9hZG1pbi9fYWxlcnRzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX2Zvcm1zLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLWZpZWxkcy5zY3NzIiwid3Bmb3Jtcy9hc3NldHMvc2Nzcy9idWlsZGVyL3BhbmVsLWZpZWxkcy9fY2hlY2tib3guc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvYnVpbGRlci9wYW5lbC1maWVsZHMvX2dkcHItY2hlY2tib3guc2NzcyIsIndwZm9ybXMvYXNzZXRzL3Njc3MvYnVpbGRlci9wYW5lbC1maWVsZHMvX3JhZGlvLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvcGFuZWwtZmllbGRzL19wYXltZW50LW11bHRpcGxlLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLXNldHRpbmdzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvX3BhbmVsLXBheW1lbnRzLnNjc3MiLCJ3cGZvcm1zL2Fzc2V0cy9zY3NzL2J1aWxkZXIvcHJvdmlkZXJzL19wcm92aWRlcnMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBXUEZvcm1zIGZvcm0gYnVpbGRlciBzdHlsZXMuXG5cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdhZG1pbi9jb25maXJtJztcbkBpbXBvcnQgJ2FkbWluL2J1dHRvbnMnO1xuQGltcG9ydCAnYWRtaW4vYWxlcnRzJztcbkBpbXBvcnQgJ2J1aWxkZXIvZm9ybXMnO1xuQGltcG9ydCAnYnVpbGRlci9wYW5lbC1maWVsZHMnO1xuQGltcG9ydCAnYnVpbGRlci9wYW5lbC1zZXR0aW5ncyc7XG5AaW1wb3J0ICdidWlsZGVyL3BhbmVsLXBheW1lbnRzJztcbkBpbXBvcnQgJ2J1aWxkZXIvcHJvdmlkZXJzL3Byb3ZpZGVycyc7XG5cbi53cGZvcm1zLXNjcmVlbi1yZWFkZXItZWxlbWVudCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHRjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxcHggIWltcG9ydGFudDtcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcblx0d29yZC13cmFwOiBub3JtYWwgIWltcG9ydGFudDtcbn1cbiIsIiRvcmFuZ2U6ICNlMjc3MzA7XG4kZGFya29yYW5nZTogI2I4NWExYjtcbiRncmVlbjogIzJhOWIzOTtcbiRibHVlOiAjMGU2Y2FkO1xuJGxpZ2h0Qmx1ZTogI2ViZjNmYjtcbiIsIi8vIEFsZXJ0IHN0eWxlcy5cbi8vIFN0eWxpbmcgdHdlYWtzIGZvciBqUXVlcnktY29uZmlybSBKUyBhbGVydCBsaWJyYXJ5LlxuYm9keSB7XG5cblx0ZGl2Lmpjb25maXJtIHtcblxuXHRcdCosXG5cdFx0Kjo6YmVmb3JlLFxuXHRcdCo6OmFmdGVyIHtcblx0XHRcdC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXG5cdFx0ZGl2Lmpjb25maXJtLWJveC1jb250YWluZXIge1xuXG5cdFx0XHRkaXYuamNvbmZpcm0tYm94IHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuXHRcdFx0XHRkaXYuamNvbmZpcm0tY2xvc2VJY29uIHtcblx0XHRcdFx0XHRjb2xvcjogcmdiYSgwLDAsMCwwLjQpO1xuXHRcdFx0XHRcdHRvcDogOHB4O1xuXHRcdFx0XHRcdHJpZ2h0OiA4cHg7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiByZ2JhKDAsMCwwLDAuODApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGRpdi5qY29uZmlybS1ib3gge1xuXG5cdFx0XHRkaXYuamNvbmZpcm0tdGl0bGUtYyB7XG5cdFx0XHRcdG1hcmdpbjogMCAwIDI2cHggMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0c3Bhbi5qY29uZmlybS1pY29uLWMge1xuXHRcdFx0XHRcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdGNvbG9yOiAjYzRjNGM0ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzcGFuLmpjb25maXJtLXRpdGxlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRjb2xvcjogIzMzMztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHNwYW4uamNvbmZpcm0taWNvbi1jICsgc3Bhbi5qY29uZmlybS10aXRsZSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGRpdi5qY29uZmlybS1jb250ZW50LXBhbmUge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyNnB4O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHQuamNvbmZpcm0tY29udGVudCB7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGluaGVyaXQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0ZGl2Lmpjb25maXJtLWNvbnRlbnQge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGNvbG9yOiAjNTU1O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXG5cdFx0XHRcdCYubGl0ZS11cGdyYWRlIHtcblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMjBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRwIHtcblx0XHRcdFx0XHRtYXJnaW46IDAgMCAxNnB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXG5cdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYubGFyZ2Uge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCYuc21hbGwge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5hbHJlYWR5LXB1cmNoYXNlZCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjY2NjO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGRpdi5qY29uZmlybS1idXR0b25zIHtcblxuXHRcdFx0XHQuYWxyZWFkeS1wdXJjaGFzZWQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHRjb2xvcjogI2FhYTtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDIwcHg7XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5O1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5kaXNjb3VudC1ub3RlIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRtYXJnaW46IDMwcHggMCAwO1xuXG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmYWZmYWM7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIC0zMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDI0cHggNjBweCAyMHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRcdFx0XHRjb2xvcjogIzRkNGQ0ZDtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICdcXGYwNTgnO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0Zm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZweDtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweCA2cHg7XG5cdFx0XHRcdFx0XHR0ZXh0LXJlbmRlcmluZzogYXV0bztcblx0XHRcdFx0XHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRcdFx0XHRcdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogLTIwcHg7O1xuXHRcdFx0XHRcdFx0cmlnaHQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLTE4cHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzNhYmMwMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdGNvbG9yOiAjM2FiYzAxO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICNhYWE7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpbnB1dFt0eXBlPXRleHRdIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHdpZHRoOiA5OSU7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogMjBweCBhdXRvIDAgYXV0bztcblx0XHRcdH1cblxuXHRcdFx0I3dwZm9ybXMtZW1iZWQtc2hvcnRjb2RlIHtcblx0XHRcdFx0bWFyZ2luOiAyMHB4IDA7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHB4O1xuXHRcdFx0XHRwYWRkaW5nOiA4cHggNXB4O1xuXHRcdFx0fVxuXG5cdFx0XHQjd3Bmb3Jtcy1lbWJlZC1zaG9ydGNvZGU6ZGlzYWJsZWQge1xuXHRcdFx0XHRjb2xvcjogIzMzMztcblx0XHRcdH1cblxuXHRcdFx0YnV0dG9uLmJ0bi1jb25maXJtIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhcmtvcmFuZ2U7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkZGFya29yYW5nZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuZXJyb3Ige1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRjb2xvcjogcmVkO1xuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1lcnJvciB7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNlYmNjZDEgIWltcG9ydGFudDtcblx0XHRcdH1cblxuXHRcdFx0Lmpjb25maXJtLXRpdGxlLWMgLmpjb25maXJtLWljb24tYyB7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdC1tcy10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcblx0XHRcdFx0dHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNDVweCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jaG9pY2VzIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXG5cdFx0aW5wdXRbdHlwZT10ZXh0XS5jaG9pY2VzX19pbnB1dCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIEJ1dHRvbiBzdHlsZXMuXG4ud3Bmb3Jtcy1hZG1pbi1wYWdlIHtcblxuXHQud3Bmb3Jtcy1idG4ge1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW46IDA7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXG5cdC53cGZvcm1zLWJ0bi1ibG9jayB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQud3Bmb3Jtcy1idG4tbWQge1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdHBhZGRpbmc6IDhweCAxMnB4O1xuXHRcdG1pbi1oZWlnaHQ6IDM1cHg7XG5cdH1cblxuXHQud3Bmb3Jtcy1idG4tbGcge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdHBhZGRpbmc6IDE2cHggMjhweDtcblx0fVxuXG5cdC53cGZvcm1zLWJ0bi1vcmFuZ2Uge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkb3JhbmdlO1xuXHRcdGNvbG9yOiAjZmZmO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya29yYW5nZTtcblx0XHRcdGJvcmRlci1jb2xvcjogJGRhcmtvcmFuZ2U7XG5cdFx0fVxuXHR9XG5cblx0LndwZm9ybXMtYnRuLWdyZXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjY2NjO1xuXHRcdGNvbG9yOiAjNjY2O1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDdkN2Q3O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjY2NjO1xuXHRcdFx0Y29sb3I6ICM0NDQ7XG5cdFx0fVxuXHR9XG5cblx0LndwZm9ybXMtYnRuLWxpZ2h0LWdyZXkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcblx0XHRjb2xvcjogIzY2NjtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2VlZTtcblx0XHRcdGNvbG9yOiAjNDQ0O1xuXHRcdH1cblx0fVxuXG5cdC53cGZvcm1zLWJ0bi10cmFucy1ncmVlbiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcblx0XHRjb2xvcjogJGdyZWVuO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHR9XG5cblx0XHQudW5kZXJsaW5lIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRncmVlbjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRib3R0b206IC01cHg7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5kYXNoaWNvbnMge1xuXHRcdFx0aGVpZ2h0OiAxOHB4O1xuXHRcdH1cblx0fVxufVxuIiwiLy8gQWxlcnQgc3R5bGVzLlxuLndwZm9ybXMtYWRtaW4tcGFnZSB7XG5cblx0LndwZm9ybXMtYWxlcnQge1xuXHRcdHBhZGRpbmc6IDE2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMThweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHRcdGg0IHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdG1hcmdpbjogMCAwIDE1cHggMDtcblxuXHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji53cGZvcm1zLWFsZXJ0LW5vbWFyZ2luIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHQmLndwZm9ybXMtYWxlcnQtc21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdH1cblxuXHRcdCYud3Bmb3Jtcy1hbGVydC1zdWNjZXNzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7XG5cdFx0XHRib3JkZXItY29sb3I6ICNkNmU5YzY7XG5cdFx0XHRjb2xvcjogIzNjNzYzZDtcblx0XHR9XG5cblx0XHQmLndwZm9ybXMtYWxlcnQtaW5mbyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjYmNlOGYxO1xuXHRcdFx0Y29sb3I6ICMzMTcwOGY7XG5cdFx0fVxuXG5cdFx0Ji53cGZvcm1zLWFsZXJ0LXdhcm5pbmcge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcblx0XHRcdGJvcmRlci1jb2xvcjogI2ZhZWJjYztcblx0XHRcdGNvbG9yOiAjOGE2ZDNiO1xuXHRcdH1cblxuXHRcdCYud3Bmb3Jtcy1hbGVydC1kYW5nZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcblx0XHRcdGJvcmRlci1jb2xvcjogI2ViY2NkMTtcblx0XHRcdGNvbG9yOiAjYTk0NDQyO1xuXHRcdH1cblx0fVxufSIsIi8vIEZvcm0gZWxlbWVudCBzdHlsZXMuXG5cbiN3cGZvcm1zLWJ1aWxkZXIge1xuXG5cdC53cGZvcm1zLXBhbmVsLWZpZWxkIHtcblxuXHRcdHNlbGVjdCB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0aW5wdXRbcmVhZG9ubHldLnJlYWRvbmx5LWFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cdH1cbn0iLCIvLyBGaWVsZCBwYW5lbC5cblxuI3dwZm9ybXMtcGFuZWwtZmllbGRzIHtcblxuXHQvLyBTaWRlYmFyIGFyZWEgKGxlZnQgc2lkZSwgZmllbGQgYnV0dG9ucy9vcHRpb25zKS5cblx0LndwZm9ybXMtcGFuZWwtc2lkZWJhciB7XG5cblx0XHQuY2hvaWNlcy1saXN0IHtcblxuXHRcdFx0Ji5zaG93LWltYWdlcyB7XG5cdFx0XHRcdC53cGZvcm1zLWltYWdlLXVwbG9hZCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LndwZm9ybXMtaW1hZ2UtdXBsb2FkIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBQYW5lbCBjb250ZW50IGFyZWEgKHJpZ2h0IHNpZGUsIGZvcm0gcHJldmlldyBhcmVhKS5cblx0LndwZm9ybXMtcGFuZWwtY29udGVudC13cmFwIHtcblxuXHRcdC8vIEltYWdlIGNob2ljZXMgKENoZWNrYm94LCBSYWRpbywgTXVsdGlwbGUgcGF5bWVudCBpdGVtcykuXG5cdFx0LndwZm9ybXMtZmllbGQtY2hlY2tib3gsXG5cdFx0LndwZm9ybXMtZmllbGQtcmFkaW8sXG5cdFx0LndwZm9ybXMtZmllbGQtcGF5bWVudC1tdWx0aXBsZSB7XG5cblx0XHRcdC8vIEdlbmVyYWwgdG9wIGxldmVsIHJ1bGVzLlxuXHRcdFx0Ji53cGZvcm1zLWxpc3QtaW5saW5lIHtcblxuXHRcdFx0XHQucHJpbWFyeS1pbnB1dCB7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtbW9kZXJuIHtcblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDVweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtY2xhc3NpYyB7XG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIDEwcHggMTBweCAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBNb2Rlcm4gc3R5bGUuXG5cdFx0XHR1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtbW9kZXJuIHtcblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4IDIwcHggMThweCAyMHB4O1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjVzO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Ym9yZGVyOjFweCBzb2xpZCAjZGRkO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC53cGZvcm1zLWltYWdlLWNob2ljZXMtaW1hZ2Uge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcXDI3MTRcIjtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBncmVlbjtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogLTE2cHggMCAwIC0xNnB4O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDMycHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDMycHg7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC41cztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWxhYmVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxMnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gU2VsZWN0ZWQgc3RhdGUuXG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHQmLndwZm9ybXMtc2VsZWN0ZWQge1xuXG5cdFx0XHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQud3Bmb3Jtcy1pbWFnZS1jaG9pY2VzLWltYWdlOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1sYWJlbCB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIENsYXNzaWMgc3R5bGUuXG5cdFx0XHR1bC53cGZvcm1zLWltYWdlLWNob2ljZXMtY2xhc3NpYyB7XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0Ym9yZGVyOiAycHggc29saWQgI2ZmZjtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjZGRkO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC53cGZvcm1zLWltYWdlLWNob2ljZXMtaW1hZ2Uge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LndwZm9ybXMtaW1hZ2UtY2hvaWNlcy1sYWJlbCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogOHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gU2VsZWN0ZWQgc3RhdGUuXG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHQmLndwZm9ybXMtc2VsZWN0ZWQge1xuXG5cdFx0XHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogIzY2Njtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBGaWVsZCBzcGVjaWZpYyBydWxlcy5cblx0QGltcG9ydCAncGFuZWwtZmllbGRzL2NoZWNrYm94Jztcblx0QGltcG9ydCAncGFuZWwtZmllbGRzL2dkcHItY2hlY2tib3gnO1xuXHRAaW1wb3J0ICdwYW5lbC1maWVsZHMvcmFkaW8nO1xuXHRAaW1wb3J0ICdwYW5lbC1maWVsZHMvcGF5bWVudC1tdWx0aXBsZSc7XG59IiwiLy8gQ2hlY2tib3ggZmllbGQgdHlwZS5cblxuLy8gRmllbGQgb3B0aW9ucyBhcmVhIChsZWZ0IHNpZGUpLlxuLndwZm9ybXMtcGFuZWwtc2lkZWJhciB7XG5cblx0LndwZm9ybXMtZmllbGQtb3B0aW9uLWNoZWNrYm94IHtcblxuXHRcdC8vIENob2ljZXMgZmlsZSB1cGxvYWQuXG5cdFx0LndwZm9ybXMtZmllbGQtb3B0aW9uLXJvdy1jaG9pY2VzIC53cGZvcm1zLWltYWdlLXVwbG9hZCB7XG5cdFx0XHRtYXJnaW46IDZweCAwIDAgNTBweDtcblx0XHRcdHdpZHRoOiA2OCU7XG5cblx0XHRcdC5wcmV2aWV3IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSggMjU1LDI1NSwyNTUsMC42NSk7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhOmhvdmVyIHtcblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMjVweDtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAtMTIuNXB4IDAgMCAtMTIuNXB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6IHJlZDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdW5zZXQ7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMC44O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IDEwMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZvcm0gcHJldmlldyBhcmVhIChyaWdodCBzaWRlKS5cbi53cGZvcm1zLXBhbmVsLWNvbnRlbnQtd3JhcCB7XG59IiwiLy8gR0RQUiBDaGVja2JveCBmaWVsZCB0eXBlLlxuXG4vLyBGaWVsZCBvcHRpb25zIGFyZWEgKGxlZnQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1zaWRlYmFyIHtcblxuXHQud3Bmb3Jtcy1maWVsZC1vcHRpb24tZ2Rwci1jaGVja2JveCB7XG5cblx0XHQvLyBDaG9pY2VzLlxuXHRcdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1yb3ctY2hvaWNlcyB7XG5cblx0XHRcdC8vIEhpZGUgY2hvaWNlcyBlbGVtZW50cyB0aGF0IGFyZSBub3QgcmVsZXZhbnQgdG8gdGhpcyBmaWVsZCB0eXBlLlxuXHRcdFx0LndwZm9ybXMtaGVscC10b29sdGlwLFxuXHRcdFx0LnRvZ2dsZS1idWxrLWFkZC1kaXNwbGF5LFxuXHRcdFx0LmFkZCxcblx0XHRcdC5yZW1vdmUsXG5cdFx0XHQubW92ZSxcblx0XHRcdC5kZWZhdWx0IHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gTWFrZSBBZ3JlZW1lbnQgdGV4dCBmaWVsZCBmdWxsIHdpZHRoLlxuXHRcdFx0bGkge1xuXHRcdFx0XHRpbnB1dFt0eXBlPXRleHRdIHtcblx0XHRcdFx0XHR3aWR0aDogOTklO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZvcm0gcHJldmlldyBhcmVhIChyaWdodCBzaWRlKS5cbi53cGZvcm1zLXBhbmVsLWNvbnRlbnQtd3JhcCB7XG59IiwiLy8gUmFkaW8gZmllbGQgdHlwZS5cblxuLy8gRmllbGQgb3B0aW9ucyBhcmVhIChsZWZ0IHNpZGUpLlxuLndwZm9ybXMtcGFuZWwtc2lkZWJhciB7XG5cblx0LndwZm9ybXMtZmllbGQtb3B0aW9uLXJhZGlvIHtcblxuXHRcdC8vIENob2ljZXMgZmlsZSB1cGxvYWQuXG5cdFx0LndwZm9ybXMtZmllbGQtb3B0aW9uLXJvdy1jaG9pY2VzIC53cGZvcm1zLWltYWdlLXVwbG9hZCB7XG5cdFx0XHRtYXJnaW46IDZweCAwIDAgNTBweDtcblx0XHRcdHdpZHRoOiA2OCU7XG5cblx0XHRcdC5wcmV2aWV3IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSggMjU1LDI1NSwyNTUsMC42NSk7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhOmhvdmVyIHtcblx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMjVweDtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAtMTIuNXB4IDAgMCAtMTIuNXB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6IHJlZDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdW5zZXQ7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMC44O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IDEwMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZvcm0gcHJldmlldyBhcmVhIChyaWdodCBzaWRlKS5cbi53cGZvcm1zLXBhbmVsLWNvbnRlbnQtd3JhcCB7XG59IiwiLy8gUGF5bWVudCBNdWx0aXBsZSBmaWVsZCB0eXBlLlxuXG4vLyBGaWVsZCBvcHRpb25zIGFyZWEgKGxlZnQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1zaWRlYmFyIHtcblxuXHQud3Bmb3Jtcy1maWVsZC1vcHRpb24tcGF5bWVudC1tdWx0aXBsZSB7XG5cblx0XHQvLyBDaG9pY2VzIGZpbGUgdXBsb2FkLlxuXHRcdC53cGZvcm1zLWZpZWxkLW9wdGlvbi1yb3ctY2hvaWNlcyAud3Bmb3Jtcy1pbWFnZS11cGxvYWQge1xuXHRcdFx0bWFyZ2luOiA2cHggMCAwIDUwcHg7XG5cdFx0XHR3aWR0aDogNzAlO1xuXG5cdFx0XHQucHJldmlldyB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIDI1NSwyNTUsMjU1LDAuNjUpO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0YTpob3ZlciB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlxcZjA1N1wiO1xuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDI1cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZWQ7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogLTEyLjVweCAwIDAgLTEyLjVweDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHRcdFx0XHRcdGNvbG9yOiByZWQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHVuc2V0O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDAuODtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAxMDBweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBGb3JtIHByZXZpZXcgYXJlYSAocmlnaHQgc2lkZSkuXG4ud3Bmb3Jtcy1wYW5lbC1jb250ZW50LXdyYXAge1xufSIsIi8vIFNldHRpbmdzIHBhbmVsLlxuI3dwZm9ybXMtcGFuZWwtc2V0dGluZ3Mge1xuXG5cdC53cGZvcm1zLXBhbmVsLWNvbnRlbnQge1xuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1zZXR0aW5ncy1ibG9jayB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzO1xuXHRcdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xuXG5cdFx0XHQud3Bmb3Jtcy1wYW5lbC1maWVsZCB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWhlYWRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuXHRcdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0bWFyZ2luOiAwO1xuXG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLW5hbWUtaG9sZGVye1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMDBweDtcblxuXHRcdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLW5hbWUtZWRpdCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAtNnB4O1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IC02cHg7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aW5wdXQge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLWJ1aWxkZXItc2V0dGluZ3MtYmxvY2stYWN0aW9ucyB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0d2lkdGg6IDEwMHB4O1xuXG5cdFx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0XHRcdFx0Ji53cGZvcm1zLWJ1aWxkZXItc2V0dGluZ3MtYmxvY2stZWRpdCB7fVxuXG5cdFx0XHRcdFx0Ji53cGZvcm1zLWJ1aWxkZXItc2V0dGluZ3MtYmxvY2stZGVsZXRlIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjZDIyMjIyO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWNvbnRlbnQge1xuXHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHR9XG5cblx0XHQud3Bmb3Jtcy1jb25maXJtYXRpb24tZGVmYXVsdCB7XG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXNldHRpbmdzLWJsb2NrLWRlbGV0ZSxcblx0XHRcdC53cGZvcm1zLWNvbmRpdGlvbmFsLWJsb2NrLXBhbmVsIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIFBheW1lbnRzIHBhbmVsLlxuI3dwZm9ybXMtcGFuZWwtcGF5bWVudHMge1xuXG5cdC53cGZvcm1zLXBhbmVsLWNvbnRlbnQge1xuXG5cdFx0aDIge1xuXHRcdFx0Y29sb3I6ICM0NDQ7XG5cdFx0XHRtYXJnaW46IDE4cHggMCAxNnB4IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdH1cblx0fVxufSIsIi53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXIge1xuXG5cdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRcdHBhZGRpbmc6IDAgMCAyMHB4IDA7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkM2QzZDM7XG5cblx0XHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLXRpdGxlLXNwaW5uZXIge1xuXHRcdFx0Y29sb3I6IGdyZXk7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0Zm9udC1zaXplOiA4MCU7XG5cdFx0fVxuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci10aXRsZS1hZGQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzBlNmNhZDtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMTBweDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdH1cblxuXHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLWJvZHkge1xuXG5cdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci1jb25uZWN0aW9uIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7XG5cdFx0XHRtYXJnaW46IDAgMCAyMHB4IDA7XG5cblx0XHRcdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItY29ubmVjdGlvbi1ibG9jayB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweDtcblxuXHRcdFx0XHRoNCB7XG5cdFx0XHRcdFx0bWFyZ2luOiAxNnB4IDAgMTZweCAwO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cC5kZXNjcmlwdGlvbiB7XG5cdFx0XHRcdFx0bWFyZ2luOiA2cHggMCAwO1xuXHRcdFx0XHRcdGNvbG9yOiAjNjY2O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLWJ1aWxkZXItcHJvdmlkZXItY29ubmVjdGlvbi1zZXR0aW5nIHtcblx0XHRcdFx0Ly9ib3JkZXI6IDFweCBzb2xpZCByZWQ7XG5cdFx0XHRcdG1hcmdpbjogMTZweCAwIDE2cHg7XG5cdFx0XHRcdG1heC13aWR0aDogNDUwcHg7XG5cblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDhweCAwO1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0W3R5cGU9Y2hlY2tib3hdICsgbGFiZWwsXG5cdFx0XHRcdGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWwgIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aW5wdXRbdHlwZT10ZXh0XSxcblx0XHRcdFx0aW5wdXRbdHlwZT1udW1iZXJdLFxuXHRcdFx0XHRpbnB1dFt0eXBlPWVtYWlsXSxcblx0XHRcdFx0dGV4dGFyZWEge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG5cdFx0XHRcdFx0cGFkZGluZzogNnB4IDhweDtcblx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLWNvbm5lY3Rpb24tdGl0bGUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblxuXHRcdFx0XHQud3Bmb3Jtcy1idWlsZGVyLXByb3ZpZGVyLWNvbm5lY3Rpb24tZGVsZXRlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0Y29sb3I6ICNkMjIyMjI7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogLTJweDtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LndwZm9ybXMtYnVpbGRlci1wcm92aWRlci1jb25uZWN0aW9uLWZpZWxkcy10YWJsZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuXHRcdFx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRcdFx0XHRtYXJnaW46IDE2cHggMCAwO1xuXG5cdFx0XHRcdCYgKyBwLmRlc2NyaXB0aW9uIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnJlcXVpcmVkIHtcblx0XHRcdFx0XHRjb2xvcjogcmVkO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGVhZCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMXB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiA1cHggMTBweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0d2lkdGg6IDUwJTtcblxuXHRcdFx0XHRcdGlucHV0W3R5cGU9dGV4dF0sXG5cdFx0XHRcdFx0aW5wdXRbdHlwZT1udW1iZXJdLFxuXHRcdFx0XHRcdGlucHV0W3R5cGU9ZW1haWxdLFxuXHRcdFx0XHRcdHRleHRhcmVhIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2Q2ZDZkNjtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDZweCA4cHg7XG5cdFx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5hZGQsXG5cdFx0XHRcdFx0Ji5kZWxldGUge1xuXHRcdFx0XHRcdFx0YnV0dG9uIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjMDA3M2FhO1xuXHRcdFx0XHRcdFx0XHRpIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0Ym9keSB7XG5cdFx0XHRcdFx0dHIge1xuXHRcdFx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMTBweCAwIDEwcHggMTBweDtcblxuXHRcdFx0XHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0IHtcblx0XHRcdFx0XHRwYWRkaW5nOiA0cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0aW5wdXQsXG5cdFx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLXBhbmVsLWZpZWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1jb25kaXRpb25hbC1ibG9jayB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBweCAyMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDE2cHgg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 */
assets/css/builder.min.css CHANGED
@@ -1 +1 @@
1
- body div.jconfirm *,body div.jconfirm *::before,body div.jconfirm *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body div.jconfirm div.jconfirm-box-container div.jconfirm-box{border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,0.2)}body div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.4);top:8px;right:8px}body div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon:hover{color:rgba(0,0,0,0.8)}body div.jconfirm div.jconfirm-box div.jconfirm-title-c{margin:0 0 26px 0 !important;padding:0 !important}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-icon-c{margin:0 !important;color:#c4c4c4 !important}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-title{display:block;color:#333}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-icon-c+span.jconfirm-title{margin-top:20px !important}body div.jconfirm div.jconfirm-box div.jconfirm-content-pane{margin-bottom:26px;display:block}body div.jconfirm div.jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:inherit}body div.jconfirm div.jconfirm-box div.jconfirm-content{font-size:16px;color:#555;line-height:1.4}body div.jconfirm div.jconfirm-box div.jconfirm-content.lite-upgrade p{font-size:18px;padding:0 20px}body div.jconfirm div.jconfirm-box div.jconfirm-content p{margin:0 0 16px;font-size:16px;line-height:1.5}body div.jconfirm div.jconfirm-box div.jconfirm-content p:last-of-type{margin:0}body div.jconfirm div.jconfirm-box div.jconfirm-content p.large{font-size:18px}body div.jconfirm div.jconfirm-box div.jconfirm-content p.small{font-size:14px}body div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased{font-size:12px;color:#ccc;text-decoration:none}body div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased:hover{text-decoration:underline}body div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased{display:block;font-size:12px;color:#aaa;text-decoration:none;padding-top:20px}body div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased:hover{color:#999;text-decoration:underline}body div.jconfirm div.jconfirm-box .discount-note{text-align:center;margin:30px 0 0}body div.jconfirm div.jconfirm-box .discount-note p{background-color:#faffac;margin:0 -30px;padding:24px 60px 20px;font-size:15px;color:#4d4d4d;position:relative}body div.jconfirm div.jconfirm-box .discount-note p:after{content:'\f058';display:inline-block;font:normal normal normal 14px/1 FontAwesome;background-color:#fff;font-size:26px;border-radius:50%;padding:5px 6px;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:-20px;right:50%;margin-right:-18px;color:#3abc01}body div.jconfirm div.jconfirm-box .discount-note span{font-weight:700;color:#3abc01}body div.jconfirm div.jconfirm-box .discount-note a{color:#aaa;display:block;margin-top:12px}body div.jconfirm div.jconfirm-box input[type=text]{display:block;width:99%;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0 auto}body div.jconfirm div.jconfirm-box #wpforms-embed-shortcode{margin:20px 0;text-align:center;font-size:24px;padding:8px 5px}body div.jconfirm div.jconfirm-box #wpforms-embed-shortcode:disabled{color:#333}body div.jconfirm div.jconfirm-box button.btn-confirm{background-color:#e27730;color:#fff;outline:none}body div.jconfirm div.jconfirm-box button.btn-confirm:hover{background-color:#b85a1b;border-color:#b85a1b}body div.jconfirm div.jconfirm-box .error{display:none;color:red}body div.jconfirm div.jconfirm-box .wpforms-error{border:1px solid #ebccd1 !important}body div.jconfirm div.jconfirm-box .jconfirm-title-c .jconfirm-icon-c{-webkit-transition:none !important;transition:none !important;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;font-size:45px !important}body .choices{text-align:left}body .choices input[type=text].choices__input{display:inline-block !important}.wpforms-admin-page .wpforms-btn{border:0;border-radius:3px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none}.wpforms-admin-page .wpforms-btn-block{display:block;width:100%}.wpforms-admin-page .wpforms-btn-md{font-size:13px;font-weight:600;padding:8px 12px;min-height:35px}.wpforms-admin-page .wpforms-btn-lg{font-size:16px;font-weight:600;padding:16px 28px}.wpforms-admin-page .wpforms-btn-orange{background-color:#e27730;border-color:#e27730;color:#fff}.wpforms-admin-page .wpforms-btn-orange:hover{background-color:#b85a1b;border-color:#b85a1b}.wpforms-admin-page .wpforms-btn-grey{background-color:#eee;border-color:#ccc;color:#666}.wpforms-admin-page .wpforms-btn-grey:hover{background-color:#d7d7d7;border-color:#ccc;color:#444}.wpforms-admin-page .wpforms-btn-light-grey{background-color:#f5f5f5;border:1px solid #ccc;color:#666}.wpforms-admin-page .wpforms-btn-light-grey:hover{background-color:#eee;color:#444}.wpforms-admin-page .wpforms-btn-trans-green{background-color:none;color:#2a9b39}.wpforms-admin-page .wpforms-btn-trans-green:hover{background-color:#2a9b39;color:#fff}.wpforms-admin-page .wpforms-btn-trans-green .underline{position:relative}.wpforms-admin-page .wpforms-btn-trans-green .underline:after{content:" ";border-bottom:1px dashed #2a9b39;position:absolute;bottom:-5px;left:0;width:100%}.wpforms-admin-page .wpforms-btn-trans-green .dashicons{height:18px}.wpforms-admin-page .wpforms-alert{padding:16px;margin-bottom:18px;border:1px solid transparent}.wpforms-admin-page .wpforms-alert h4{margin-top:0;color:inherit}.wpforms-admin-page .wpforms-alert p{margin:0 0 15px 0}.wpforms-admin-page .wpforms-alert p:last-of-type{margin:0}.wpforms-admin-page .wpforms-alert.wpforms-alert-nomargin{margin:0}.wpforms-admin-page .wpforms-alert.wpforms-alert-small{font-size:12px}.wpforms-admin-page .wpforms-alert.wpforms-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.wpforms-admin-page .wpforms-alert.wpforms-alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.wpforms-admin-page .wpforms-alert.wpforms-alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.wpforms-admin-page .wpforms-alert.wpforms-alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}#wpforms-builder .wpforms-panel-field select{max-width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .choices-list.show-images .wpforms-image-upload{display:block}#wpforms-panel-fields .wpforms-panel-sidebar .choices-list .wpforms-image-upload{display:none}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline .primary-input li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline .primary-input li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline .primary-input li{vertical-align:top}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline ul.wpforms-image-choices-modern li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline ul.wpforms-image-choices-modern li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline ul.wpforms-image-choices-modern li{margin:5px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline ul.wpforms-image-choices-classic li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline ul.wpforms-image-choices-classic li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline ul.wpforms-image-choices-classic li{margin:0 10px 10px 0}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern img{display:inline;margin:0 auto;max-width:100%}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern label{background-color:#fff;display:inline-block;margin:0 auto;padding:0;border:1px solid #fff;border-radius:3px;padding:20px 20px 18px 20px;transition:all 0.5s;text-align:center}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern label:hover{border:1px solid #ddd}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-image{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-image:after{content:"\2714";font-size:22px;line-height:32px;color:#fff;background:green;opacity:0;position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px;width:32px;height:32px;border-radius:50%;transition:all 0.5s}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-label{display:block;margin-top:12px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected label{box-shadow:0 0 20px 0 rgba(0,0,0,0.1)}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after{opacity:1}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label{font-weight:700}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic img{display:inline;margin:0 auto;max-width:100%}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic label{background-color:#fff;display:inline-block;margin:0 auto;padding:0;border:2px solid #fff;padding:10px;text-align:center}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic label:hover{border-color:#ddd}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic .wpforms-image-choices-image{display:block}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic .wpforms-image-choices-label{display:block;margin-top:8px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic li.wpforms-selected label{border-color:#666}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:68%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .wpforms-help-tooltip,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .toggle-bulk-add-display,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .add,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .remove,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .move,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .default{display:none}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices li input[type=text]{width:99%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:68%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:70%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block{border:1px solid #d3d3d3;margin:0 0 20px 0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block .wpforms-panel-field{padding:0 20px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header{background-color:#f1f1f1;padding:10px 20px;font-size:16px;margin:0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder{display:block;margin-right:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit{display:none;margin-top:-6px;margin-bottom:-6px;width:100%}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit.active{display:inline-block}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit input{width:100%}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions{display:inline-block;float:right;text-align:right;width:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions button{-webkit-appearance:none;background-color:transparent;border:none;color:inherit;cursor:pointer;font-size:16px;line-height:1}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions button.wpforms-builder-settings-block-delete{color:#d22222;padding-right:0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-content{margin-top:20px}#wpforms-panel-settings .wpforms-panel-content .wpforms-confirmation-default .wpforms-builder-settings-block-delete,#wpforms-panel-settings .wpforms-panel-content .wpforms-confirmation-default .wpforms-conditional-block-panel{display:none}#wpforms-panel-payments .wpforms-panel-content h2{color:#444;margin:18px 0 16px 0;padding:0;font-size:16px}.wpforms-builder-provider .wpforms-builder-provider-title{font-size:24px;margin-bottom:20px;padding:0 0 20px 0;border-bottom:1px solid #d3d3d3}.wpforms-builder-provider .wpforms-builder-provider-title .wpforms-builder-provider-title-spinner{color:grey;display:none;font-size:80%}.wpforms-builder-provider .wpforms-builder-provider-title .wpforms-builder-provider-title-add{background-color:#0e6cad;color:#fff;border:none;-webkit-appearance:none;border-radius:2px;font-size:14px;font-weight:500;float:right;padding:10px;margin-top:-10px;cursor:pointer}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection{border:1px solid #d3d3d3;margin:0 0 20px 0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block{padding:0 20px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block h4{margin:16px 0 16px 0;padding:0;font-size:15px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block p.description{margin:6px 0 0;color:#666;font-size:12px;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block select{width:100%;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting{margin:16px 0 16px;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting label{display:block;font-size:14px;font-weight:400;margin:0 0 8px 0;vertical-align:text-top}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=checkbox]+label,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=radio]+label{display:inline-block;margin:0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=text],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=number],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=email],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting textarea{width:100%;border:1px solid #d6d6d6;padding:6px 8px;box-shadow:none;line-height:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting select{width:100%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-title{background-color:#f1f1f1;padding:10px 20px;font-size:16px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-title .wpforms-builder-provider-connection-delete{background-color:transparent;cursor:pointer;-webkit-appearance:none;border:none;font-size:16px;color:#d22222;line-height:1;margin-top:-2px;float:right}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table{width:100%;border:1px solid #eee;border-collapse:collapse;margin:16px 0 0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table+p.description{margin-bottom:16px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table .required{color:red;font-weight:700}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table thead{font-size:11px;font-weight:700;text-transform:uppercase}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table thead th{background-color:#f1f1f1;padding:5px 10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td{width:50%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=text],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=number],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=email],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td textarea{width:100%;border:1px solid #d6d6d6;padding:6px 8px;box-shadow:none;line-height:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.add button,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.delete button{margin:0;border:none;background:none;padding:0;box-shadow:none;line-height:1;height:auto;color:#0073aa}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.add button i,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.delete button i{font-size:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table tbody tr td{border-top:1px solid #eee;padding:10px 0 10px 10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table tbody tr td:last-of-type{padding-right:10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table input{padding:4px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table input,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table select{width:100%;max-width:100%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-panel-field{margin-bottom:0 !important}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-conditional-block{padding:0 20px 20px !important;margin-top:16px !important}.wpforms-screen-reader-element{position:absolute !important;clip:rect(0, 0, 0, 0) !important;height:1px !important;width:1px !important;border:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important;word-wrap:normal !important}
1
+ body div.jconfirm *,body div.jconfirm *::before,body div.jconfirm *::after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body div.jconfirm div.jconfirm-box-container div.jconfirm-box{border-radius:0;box-shadow:0 2px 6px rgba(0,0,0,0.2)}body div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon{color:rgba(0,0,0,0.4);top:8px;right:8px}body div.jconfirm div.jconfirm-box-container div.jconfirm-box div.jconfirm-closeIcon:hover{color:rgba(0,0,0,0.8)}body div.jconfirm div.jconfirm-box div.jconfirm-title-c{margin:0 0 26px 0 !important;padding:0 !important}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-icon-c{margin:0 !important;color:#c4c4c4 !important}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-title{display:block;color:#333}body div.jconfirm div.jconfirm-box div.jconfirm-title-c span.jconfirm-icon-c+span.jconfirm-title{margin-top:20px !important}body div.jconfirm div.jconfirm-box div.jconfirm-content-pane{margin-bottom:26px;display:block}body div.jconfirm div.jconfirm-box div.jconfirm-content-pane .jconfirm-content{overflow:inherit}body div.jconfirm div.jconfirm-box div.jconfirm-content{font-size:16px;color:#555;line-height:1.4}body div.jconfirm div.jconfirm-box div.jconfirm-content.lite-upgrade p{font-size:18px;padding:0 20px}body div.jconfirm div.jconfirm-box div.jconfirm-content p{margin:0 0 16px;font-size:16px;line-height:1.5}body div.jconfirm div.jconfirm-box div.jconfirm-content p:last-of-type{margin:0}body div.jconfirm div.jconfirm-box div.jconfirm-content p.large{font-size:18px}body div.jconfirm div.jconfirm-box div.jconfirm-content p.small{font-size:14px}body div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased{font-size:12px;color:#ccc;text-decoration:none}body div.jconfirm div.jconfirm-box div.jconfirm-content .already-purchased:hover{text-decoration:underline}body div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased{display:block;font-size:12px;color:#aaa;text-decoration:none;padding-top:20px}body div.jconfirm div.jconfirm-box div.jconfirm-buttons .already-purchased:hover{color:#999;text-decoration:underline}body div.jconfirm div.jconfirm-box .discount-note{text-align:center;margin:30px 0 0}body div.jconfirm div.jconfirm-box .discount-note p{background-color:#faffac;margin:0 -30px;padding:24px 60px 20px;font-size:15px;color:#4d4d4d;position:relative}body div.jconfirm div.jconfirm-box .discount-note p:after{content:'\f058';display:inline-block;font:normal normal normal 14px/1 FontAwesome;background-color:#fff;font-size:26px;border-radius:50%;padding:5px 6px;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:-20px;right:50%;margin-right:-18px;color:#3abc01}body div.jconfirm div.jconfirm-box .discount-note span{font-weight:700;color:#3abc01}body div.jconfirm div.jconfirm-box .discount-note a{color:#aaa;display:block;margin-top:12px}body div.jconfirm div.jconfirm-box input[type=text]{display:block;width:99%;border:1px solid #d6d6d6;padding:10px;box-shadow:none;margin:20px auto 0 auto}body div.jconfirm div.jconfirm-box #wpforms-embed-shortcode{margin:20px 0;text-align:center;font-size:24px;padding:8px 5px}body div.jconfirm div.jconfirm-box #wpforms-embed-shortcode:disabled{color:#333}body div.jconfirm div.jconfirm-box button.btn-confirm{background-color:#e27730;color:#fff;outline:none}body div.jconfirm div.jconfirm-box button.btn-confirm:hover{background-color:#b85a1b;border-color:#b85a1b}body div.jconfirm div.jconfirm-box .error{display:none;color:red}body div.jconfirm div.jconfirm-box .wpforms-error{border:1px solid #ebccd1 !important}body div.jconfirm div.jconfirm-box .jconfirm-title-c .jconfirm-icon-c{-webkit-transition:none !important;transition:none !important;-webkit-transform:none !important;-ms-transform:none !important;transform:none !important;font-size:45px !important}body .choices{text-align:left}body .choices input[type=text].choices__input{display:inline-block !important}.wpforms-admin-page .wpforms-btn{border:0;border-radius:3px;cursor:pointer;display:inline-block;margin:0;text-decoration:none;text-align:center;vertical-align:middle;white-space:nowrap;box-shadow:none}.wpforms-admin-page .wpforms-btn-block{display:block;width:100%}.wpforms-admin-page .wpforms-btn-md{font-size:13px;font-weight:600;padding:8px 12px;min-height:35px}.wpforms-admin-page .wpforms-btn-lg{font-size:16px;font-weight:600;padding:16px 28px}.wpforms-admin-page .wpforms-btn-orange{background-color:#e27730;border-color:#e27730;color:#fff}.wpforms-admin-page .wpforms-btn-orange:hover{background-color:#b85a1b;border-color:#b85a1b}.wpforms-admin-page .wpforms-btn-grey{background-color:#eee;border-color:#ccc;color:#666}.wpforms-admin-page .wpforms-btn-grey:hover{background-color:#d7d7d7;border-color:#ccc;color:#444}.wpforms-admin-page .wpforms-btn-light-grey{background-color:#f5f5f5;border:1px solid #ccc;color:#666}.wpforms-admin-page .wpforms-btn-light-grey:hover{background-color:#eee;color:#444}.wpforms-admin-page .wpforms-btn-trans-green{background-color:none;color:#2a9b39}.wpforms-admin-page .wpforms-btn-trans-green:hover{background-color:#2a9b39;color:#fff}.wpforms-admin-page .wpforms-btn-trans-green .underline{position:relative}.wpforms-admin-page .wpforms-btn-trans-green .underline:after{content:" ";border-bottom:1px dashed #2a9b39;position:absolute;bottom:-5px;left:0;width:100%}.wpforms-admin-page .wpforms-btn-trans-green .dashicons{height:18px}.wpforms-admin-page .wpforms-alert{padding:16px;margin-bottom:18px;border:1px solid transparent}.wpforms-admin-page .wpforms-alert h4{margin-top:0;color:inherit}.wpforms-admin-page .wpforms-alert p{margin:0 0 15px 0}.wpforms-admin-page .wpforms-alert p:last-of-type{margin:0}.wpforms-admin-page .wpforms-alert.wpforms-alert-nomargin{margin:0}.wpforms-admin-page .wpforms-alert.wpforms-alert-small{font-size:12px}.wpforms-admin-page .wpforms-alert.wpforms-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.wpforms-admin-page .wpforms-alert.wpforms-alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.wpforms-admin-page .wpforms-alert.wpforms-alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.wpforms-admin-page .wpforms-alert.wpforms-alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}#wpforms-builder .wpforms-panel-field select{max-width:100%}#wpforms-builder .wpforms-panel-field input[readonly].readonly-active{background-color:white}#wpforms-panel-fields .wpforms-panel-sidebar .choices-list.show-images .wpforms-image-upload{display:block}#wpforms-panel-fields .wpforms-panel-sidebar .choices-list .wpforms-image-upload{display:none}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline .primary-input li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline .primary-input li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline .primary-input li{vertical-align:top}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline ul.wpforms-image-choices-modern li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline ul.wpforms-image-choices-modern li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline ul.wpforms-image-choices-modern li{margin:5px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox.wpforms-list-inline ul.wpforms-image-choices-classic li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio.wpforms-list-inline ul.wpforms-image-choices-classic li,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple.wpforms-list-inline ul.wpforms-image-choices-classic li{margin:0 10px 10px 0}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern img{display:inline;margin:0 auto;max-width:100%}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern label{background-color:#fff;display:inline-block;margin:0 auto;padding:0;border:1px solid #fff;border-radius:3px;padding:20px 20px 18px 20px;transition:all 0.5s;text-align:center}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern label:hover{border:1px solid #ddd}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-image{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-image:after{content:"\2714";font-size:22px;line-height:32px;color:#fff;background:green;opacity:0;position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px;width:32px;height:32px;border-radius:50%;transition:all 0.5s}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern .wpforms-image-choices-label{display:block;margin-top:12px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected label{box-shadow:0 0 20px 0 rgba(0,0,0,0.1)}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-image:after{opacity:1}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-modern li.wpforms-selected .wpforms-image-choices-label{font-weight:700}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic img,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic img{display:inline;margin:0 auto;max-width:100%}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic label{background-color:#fff;display:inline-block;margin:0 auto;padding:0;border:2px solid #fff;padding:10px;text-align:center}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic label:hover,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic label:hover{border-color:#ddd}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic .wpforms-image-choices-image,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic .wpforms-image-choices-image{display:block}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic .wpforms-image-choices-label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic .wpforms-image-choices-label{display:block;margin-top:8px}#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-checkbox ul.wpforms-image-choices-classic li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-radio ul.wpforms-image-choices-classic li.wpforms-selected label,#wpforms-panel-fields .wpforms-panel-content-wrap .wpforms-field-payment-multiple ul.wpforms-image-choices-classic li.wpforms-selected label{border-color:#666}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:68%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-checkbox .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .wpforms-help-tooltip,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .toggle-bulk-add-display,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .add,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .remove,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .move,#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices .default{display:none}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-gdpr-checkbox .wpforms-field-option-row-choices li input[type=text]{width:99%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:68%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-radio .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload{margin:6px 0 0 50px;width:70%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview{background-color:rgba(255,255,255,0.65);display:block;width:100%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview a{display:block;position:relative}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview a:hover:after{content:"\f057";font-family:FontAwesome;width:25px;height:25px;border:1px solid red;position:absolute;top:50%;left:50%;margin:-12.5px 0 0 -12.5px;font-size:30px;color:red;background-color:#fff;vertical-align:unset;line-height:0.8;border-radius:50%}#wpforms-panel-fields .wpforms-panel-sidebar .wpforms-field-option-payment-multiple .wpforms-field-option-row-choices .wpforms-image-upload .preview img{display:block;margin:0 auto;max-width:100%;max-height:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block{border:1px solid #d3d3d3;margin:0 0 20px 0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block .wpforms-panel-field{padding:0 20px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header{background-color:#f1f1f1;padding:10px 20px;font-size:16px;margin:0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder{display:block;margin-right:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit{display:none;margin-top:-6px;margin-bottom:-6px;width:100%}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit.active{display:inline-block}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-name-holder .wpforms-builder-settings-block-name-edit input{width:100%}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions{display:inline-block;float:right;text-align:right;width:100px}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions button{-webkit-appearance:none;background-color:transparent;border:none;color:inherit;cursor:pointer;font-size:16px;line-height:1}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-header .wpforms-builder-settings-block-actions button.wpforms-builder-settings-block-delete{color:#d22222;padding-right:0}#wpforms-panel-settings .wpforms-panel-content .wpforms-builder-settings-block-content{margin-top:20px}#wpforms-panel-settings .wpforms-panel-content .wpforms-confirmation-default .wpforms-builder-settings-block-delete,#wpforms-panel-settings .wpforms-panel-content .wpforms-confirmation-default .wpforms-conditional-block-panel{display:none}#wpforms-panel-payments .wpforms-panel-content h2{color:#444;margin:18px 0 16px 0;padding:0;font-size:16px}.wpforms-builder-provider .wpforms-builder-provider-title{font-size:24px;margin-bottom:20px;padding:0 0 20px 0;border-bottom:1px solid #d3d3d3}.wpforms-builder-provider .wpforms-builder-provider-title .wpforms-builder-provider-title-spinner{color:grey;display:none;font-size:80%}.wpforms-builder-provider .wpforms-builder-provider-title .wpforms-builder-provider-title-add{background-color:#0e6cad;color:#fff;border:none;-webkit-appearance:none;border-radius:2px;font-size:14px;font-weight:500;float:right;padding:10px;margin-top:-10px;cursor:pointer}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection{border:1px solid #d3d3d3;margin:0 0 20px 0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block{padding:0 20px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block h4{margin:16px 0 16px 0;padding:0;font-size:15px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block p.description{margin:6px 0 0;color:#666;font-size:12px;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-block select{width:100%;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting{margin:16px 0 16px;max-width:450px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting label{display:block;font-size:14px;font-weight:400;margin:0 0 8px 0;vertical-align:text-top}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=checkbox]+label,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=radio]+label{display:inline-block;margin:0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=text],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=number],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting input[type=email],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting textarea{width:100%;border:1px solid #d6d6d6;padding:6px 8px;box-shadow:none;line-height:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-setting select{width:100%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-title{background-color:#f1f1f1;padding:10px 20px;font-size:16px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-title .wpforms-builder-provider-connection-delete{background-color:transparent;cursor:pointer;-webkit-appearance:none;border:none;font-size:16px;color:#d22222;line-height:1;margin-top:-2px;float:right}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table{width:100%;border:1px solid #eee;border-collapse:collapse;margin:16px 0 0}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table+p.description{margin-bottom:16px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table .required{color:red;font-weight:700}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table thead{font-size:11px;font-weight:700;text-transform:uppercase}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table thead th{background-color:#f1f1f1;padding:5px 10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td{width:50%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=text],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=number],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td input[type=email],.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td textarea{width:100%;border:1px solid #d6d6d6;padding:6px 8px;box-shadow:none;line-height:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.add button,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.delete button{margin:0;border:none;background:none;padding:0;box-shadow:none;line-height:1;height:auto;color:#0073aa}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.add button i,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table td.delete button i{font-size:18px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table tbody tr td{border-top:1px solid #eee;padding:10px 0 10px 10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table tbody tr td:last-of-type{padding-right:10px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table input{padding:4px}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table input,.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-builder-provider-connection-fields-table select{width:100%;max-width:100%}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-panel-field{margin-bottom:0 !important}.wpforms-builder-provider .wpforms-builder-provider-body .wpforms-builder-provider-connection .wpforms-conditional-block{padding:0 20px 20px !important;margin-top:16px !important}.wpforms-screen-reader-element{position:absolute !important;clip:rect(0, 0, 0, 0) !important;height:1px !important;width:1px !important;border:0 !important;margin:0 !important;padding:0 !important;overflow:hidden !important;word-wrap:normal !important}
assets/css/tooltipster.css CHANGED
@@ -1,6 +1,6 @@
1
  /* This is the default Tooltipster theme (feel free to modify or duplicate and create multiple themes!): */
2
  .tooltipster-default {
3
- border-radius: 5px;
4
  /*border: 2px solid #000;*/
5
  background: #4c4c4c;
6
  color: #fff;
@@ -15,6 +15,10 @@
15
  overflow: hidden;
16
  }
17
 
 
 
 
 
18
  /* This next selector defines the color of the border on the outside of the arrow. This will automatically match the color and size of the border set on the main tooltip styles. Set display: none; if you would like a border around the tooltip but no border around the arrow */
19
  .tooltipster-default .tooltipster-arrow .tooltipster-arrow-border {
20
  /* border-color: ... !important; */
@@ -56,7 +60,7 @@
56
  }
57
  .tooltipster-arrow span, .tooltipster-arrow-border {
58
  display: block;
59
- width: 0;
60
  height: 0;
61
  position: absolute;
62
  }
@@ -104,7 +108,7 @@
104
  }
105
  .tooltipster-arrow-left span, .tooltipster-arrow-left .tooltipster-arrow-border {
106
  border-top: 8px solid transparent !important;
107
- border-bottom: 8px solid transparent !important;
108
  border-left: 8px solid;
109
  top: 50%;
110
  margin-top: -7px;
@@ -112,13 +116,13 @@
112
  }
113
  .tooltipster-arrow-left .tooltipster-arrow-border {
114
  border-top: 9px solid transparent !important;
115
- border-bottom: 9px solid transparent !important;
116
  border-left: 9px solid;
117
  margin-top: -8px;
118
  }
119
  .tooltipster-arrow-right span, .tooltipster-arrow-right .tooltipster-arrow-border {
120
  border-top: 8px solid transparent !important;
121
- border-bottom: 8px solid transparent !important;
122
  border-right: 8px solid;
123
  top: 50%;
124
  margin-top: -7px;
@@ -126,7 +130,7 @@
126
  }
127
  .tooltipster-arrow-right .tooltipster-arrow-border {
128
  border-top: 9px solid transparent !important;
129
- border-bottom: 9px solid transparent !important;
130
  border-right: 9px solid;
131
  margin-top: -8px;
132
  }
@@ -165,10 +169,10 @@
165
  -ms-transform: scale(1,1);
166
  transform: scale(1,1);
167
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
168
- -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
169
- -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
170
- -ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
171
- -o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
172
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
173
  }
174
 
@@ -193,10 +197,10 @@
193
  -ms-transform: rotateZ(0deg);
194
  transform: rotateZ(0deg);
195
  -webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 1);
196
- -webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
197
- -moz-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
198
- -ms-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
199
- -o-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
200
  transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
201
  }
202
 
@@ -208,11 +212,11 @@
208
  -ms-transition-property: top;
209
  transition-property: top;
210
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
211
- -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
212
- -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
213
- -ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
214
- -o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
215
- transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
216
  }
217
  .tooltipster-fall-show {
218
  }
@@ -234,10 +238,10 @@
234
  -ms-transition-property: left;
235
  transition-property: left;
236
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
237
- -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
238
- -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
239
- -ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
240
- -o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
241
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
242
  }
243
  .tooltipster-slide.tooltipster-slide-show {
1
  /* This is the default Tooltipster theme (feel free to modify or duplicate and create multiple themes!): */
2
  .tooltipster-default {
3
+ border-radius: 5px;
4
  /*border: 2px solid #000;*/
5
  background: #4c4c4c;
6
  color: #fff;
15
  overflow: hidden;
16
  }
17
 
18
+ .tooltipster-default .tooltipster-content a {
19
+ color: #fff;
20
+ }
21
+
22
  /* This next selector defines the color of the border on the outside of the arrow. This will automatically match the color and size of the border set on the main tooltip styles. Set display: none; if you would like a border around the tooltip but no border around the arrow */
23
  .tooltipster-default .tooltipster-arrow .tooltipster-arrow-border {
24
  /* border-color: ... !important; */
60
  }
61
  .tooltipster-arrow span, .tooltipster-arrow-border {
62
  display: block;
63
+ width: 0;
64
  height: 0;
65
  position: absolute;
66
  }
108
  }
109
  .tooltipster-arrow-left span, .tooltipster-arrow-left .tooltipster-arrow-border {
110
  border-top: 8px solid transparent !important;
111
+ border-bottom: 8px solid transparent !important;
112
  border-left: 8px solid;
113
  top: 50%;
114
  margin-top: -7px;
116
  }
117
  .tooltipster-arrow-left .tooltipster-arrow-border {
118
  border-top: 9px solid transparent !important;
119
+ border-bottom: 9px solid transparent !important;
120
  border-left: 9px solid;
121
  margin-top: -8px;
122
  }
123
  .tooltipster-arrow-right span, .tooltipster-arrow-right .tooltipster-arrow-border {
124
  border-top: 8px solid transparent !important;
125
+ border-bottom: 8px solid transparent !important;
126
  border-right: 8px solid;
127
  top: 50%;
128
  margin-top: -7px;
130
  }
131
  .tooltipster-arrow-right .tooltipster-arrow-border {
132
  border-top: 9px solid transparent !important;
133
+ border-bottom: 9px solid transparent !important;
134
  border-right: 9px solid;
135
  margin-top: -8px;
136
  }
169
  -ms-transform: scale(1,1);
170
  transform: scale(1,1);
171
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
172
+ -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
173
+ -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
174
+ -ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
175
+ -o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
176
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
177
  }
178
 
197
  -ms-transform: rotateZ(0deg);
198
  transform: rotateZ(0deg);
199
  -webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 1);
200
+ -webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
201
+ -moz-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
202
+ -ms-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
203
+ -o-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
204
  transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4);
205
  }
206
 
212
  -ms-transition-property: top;
213
  transition-property: top;
214
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
215
+ -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
216
+ -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
217
+ -ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
218
+ -o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
219
+ transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
220
  }
221
  .tooltipster-fall-show {
222
  }
238
  -ms-transition-property: left;
239
  transition-property: left;
240
  -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
241
+ -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
242
+ -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
243
+ -ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
244
+ -o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
245
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15);
246
  }
247
  .tooltipster-slide.tooltipster-slide-show {
assets/js/admin-builder.js CHANGED
@@ -2930,6 +2930,14 @@
2930
 
2931
  $builder.trigger( 'wpformsImageUploadRemove', [ $( this ), $container ] );
2932
  });
 
 
 
 
 
 
 
 
2933
  },
2934
 
2935
  /**
@@ -3146,6 +3154,24 @@
3146
  });
3147
  },
3148
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3149
  //--------------------------------------------------------------------//
3150
  // Other functions
3151
  //--------------------------------------------------------------------//
2930
 
2931
  $builder.trigger( 'wpformsImageUploadRemove', [ $( this ), $container ] );
2932
  });
2933
+
2934
+ // Validate email smart tags in Notifications fields.
2935
+ $builder.on( 'blur', '.wpforms-notification .wpforms-panel-field-text input', function() {
2936
+ WPFormsBuilder.validateEmailSmartTags( $( this ) );
2937
+ });
2938
+ $builder.on( 'blur', '.wpforms-notification .wpforms-panel-field-textarea textarea', function() {
2939
+ WPFormsBuilder.validateEmailSmartTags( $( this ) );
2940
+ });
2941
  },
2942
 
2943
  /**
3154
  });
3155
  },
3156
 
3157
+ /**
3158
+ * Validate email smart tags in Notifications fields.
3159
+ *
3160
+ * @since 1.4.9
3161
+ */
3162
+ validateEmailSmartTags: function( $el ) {
3163
+ var val = $el.val();
3164
+ if ( ! val ) {
3165
+ return;
3166
+ }
3167
+ // Turns '{email@domain.com}' into 'email@domain.com'
3168
+ // Email RegEx inpired by http://emailregex.com
3169
+ val = val.replace( /{(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))}/g, function ( x ) {
3170
+ return x.slice( 1, -1 );
3171
+ } );
3172
+ $el.val( val );
3173
+ },
3174
+
3175
  //--------------------------------------------------------------------//
3176
  // Other functions
3177
  //--------------------------------------------------------------------//
assets/js/admin-utils.js CHANGED
@@ -562,11 +562,12 @@ var wpf = {
562
  */
563
  initTooltips: function() {
564
 
565
- $( '.wpforms-help-tooltip' ).tooltipster( {
566
  contentAsHTML: true,
567
  position: 'right',
568
  maxWidth: 300,
569
- multiple: true
 
570
  } );
571
  }
572
  };
562
  */
563
  initTooltips: function() {
564
 
565
+ jQuery( '.wpforms-help-tooltip' ).tooltipster( {
566
  contentAsHTML: true,
567
  position: 'right',
568
  maxWidth: 300,
569
+ multiple: true,
570
+ interactive: true
571
  } );
572
  }
573
  };
assets/js/wpforms-confirmation.js CHANGED
@@ -1,16 +1,10 @@
1
  /* globals jQuery */
2
- ;(function($){
3
- $(function(){
4
- if (window.location.hash) {
5
- var hash = window.location.hash.substring(1),
6
- $form;
7
- hash = hash.split('-');
8
- if ( 'undefined' !== hash[0] && 'wpforms' === hash[0] && 'undefined' !== hash[1] ) {
9
- $form = $('#wpforms-confirmation-'+hash[1]);
10
- $('html,body').animate({
11
- scrollTop: ($form.offset().top)-100
12
- }, 1000);
13
- }
14
  }
15
- });
16
- }(jQuery));
1
  /* globals jQuery */
2
+ ;( function( $ ){
3
+ $( function(){
4
+ if ( $( 'div.wpforms-confirmation-scroll' ).length ) {
5
+ $( 'html,body' ).animate( {
6
+ scrollTop: ( $( 'div.wpforms-confirmation-scroll' ).offset().top ) - 100
7
+ }, 1000 );
 
 
 
 
 
 
8
  }
9
+ } );
10
+ }( jQuery ) );
assets/js/wpforms.js CHANGED
@@ -236,7 +236,37 @@
236
  // Form contains invisible reCAPTCHA.
237
  grecaptcha.execute( $submit.get(0).recaptchaID );
238
  }
239
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
240
  }
241
  }
242
  form.validate( properties );
236
  // Form contains invisible reCAPTCHA.
237
  grecaptcha.execute( $submit.get(0).recaptchaID );
238
  }
239
+ },
240
+ onkeyup: function( element, event ) {
241
+ // This code is copied from JQuery Validate 'onkeyup' method with only one change: 'wpforms-novalidate-onkeyup' class check.
242
+ var excludedKeys = [ 16, 17, 18, 20, 35, 36, 37, 38, 39, 40, 45, 144, 225 ];
243
+
244
+ if ( $( element ).hasClass('wpforms-novalidate-onkeyup') ) {
245
+ return; // Disable onkeyup validation for some elements (e.g. remote calls).
246
+ }
247
+
248
+ if ( event.which === 9 && this.elementValue( element ) === "" || $.inArray( event.keyCode, excludedKeys ) !== -1 ) {
249
+ return;
250
+ } else if ( element.name in this.submitted || element.name in this.invalid ) {
251
+ this.element( element );
252
+ }
253
+ },
254
+ onfocusout: function( element ) {
255
+ // This code is copied from JQuery Validate 'onfocusout' method with only one change: 'wpforms-novalidate-onkeyup' class check.
256
+ var validate = false;
257
+
258
+ if ( $( element ).hasClass('wpforms-novalidate-onkeyup') && !element.value ) {
259
+ validate = true; // Empty value error handling for elements with onkeyup validation disabled.
260
+ }
261
+
262
+ if ( !this.checkable( element ) && ( element.name in this.submitted || !this.optional( element ) ) ) {
263
+ validate = true;
264
+ }
265
+
266
+ if ( validate ) {
267
+ this.element( element );
268
+ }
269
+ },
270
  }
271
  }
272
  form.validate( properties );
changelog.txt CHANGED
@@ -1,7 +1,14 @@
1
  == Changelog ==
2
 
 
 
 
 
 
 
 
3
  = 1.4.8.1 =
4
- - Certain confirmation settings, before 1.4.8, not displaying correctly in the form builder.
5
 
6
  = 1.4.8 =
7
  - Added: Gutenberg block.
1
  == Changelog ==
2
 
3
+ = 1.4.9 =
4
+ - Added: Pirate Forms importer.
5
+ - Changed: Some form builder tooltips to contain documentation links.
6
+ - Fixed: Form builder javascript conflict with jQuery non-conflict mode.
7
+ - Fixed: PHP Notice from WPForms widget.
8
+ - Fixed: Incorrect markup around Addons submenu item.
9
+
10
  = 1.4.8.1 =
11
+ - Fixed: Certain confirmation settings, before 1.4.8, not displaying correctly in the form builder.
12
 
13
  = 1.4.8 =
14
  - Added: Gutenberg block.
includes/admin/admin.php CHANGED
@@ -298,37 +298,7 @@ add_action( 'admin_print_scripts', 'wpforms_admin_hide_unrelated_notices' );
298
  */
299
  function wpforms_admin_upgrade_link( $medium = 'link' ) {
300
 
301
- // Check if there's a constant.
302
- $shareasale_id = '';
303
- if ( defined( 'WPFORMS_SHAREASALE_ID' ) ) {
304
- $shareasale_id = WPFORMS_SHAREASALE_ID;
305
- }
306
-
307
- // If there's no constant, check if there's an option.
308
- if ( empty( $shareasale_id ) ) {
309
- $shareasale_id = get_option( 'wpforms_shareasale_id', '' );
310
- }
311
-
312
- // Whether we have an ID or not, filter the ID.
313
- $shareasale_id = apply_filters( 'wpforms_shareasale_id', $shareasale_id );
314
-
315
- // If at this point we still don't have an ID, we really don't have one!
316
- // Just return the standard upgrade URL.
317
- if ( empty( $shareasale_id ) ) {
318
- return 'https://wpforms.com/lite-upgrade/?discount=LITEUPGRADE&amp;utm_source=WordPress&amp;utm_medium= ' . sanitize_key( $medium ) . '&amp;utm_campaign=liteplugin';
319
- }
320
-
321
- $url = rawurlencode( 'https://wpforms.com/lite-upgrade/?discount=LITEUPGRADE&utm_source=WordPress&utm_medium=' . sanitize_key( $medium ) . '&utm_campaign=litepluginaff&utm_content=' . sanitize_key( $shareasale_id ) );
322
-
323
- // Whether we have a specific redirect URL to use
324
- $shareasale_redirect = apply_filters( 'wpforms_shareasale_redirect', get_option( 'wpforms_shareasale_redirect', $url ) );
325
-
326
- // Build final URL
327
- $shareasale_url = sprintf( 'http://www.shareasale.com/r.cfm?B=837827&U=%s&M=64312&urllink=%s', $shareasale_id, $shareasale_redirect );
328
-
329
- // If here, we have a ShareASale ID
330
- // Return ShareASale URL with redirect.
331
- return esc_url( $shareasale_url );
332
  }
333
 
334
  /**
298
  */
299
  function wpforms_admin_upgrade_link( $medium = 'link' ) {
300
 
301
+ return apply_filters( 'wpforms_upgrade_link', 'https://wpforms.com/lite-upgrade/?discount=LITEUPGRADE&amp;utm_source=WordPress&amp;utm_medium=' . sanitize_key( apply_filters( 'wpforms_upgrade_link_medium', $medium ) ) . '&amp;utm_campaign=liteplugin' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
302
  }
303
 
304
  /**
includes/admin/builder/functions.php CHANGED
@@ -114,15 +114,15 @@ function wpforms_panel_field( $option, $panel, $field, $form_data, $label, $args
114
 
115
  // TinyMCE.
116
  case 'tinymce':
117
- $args = wp_parse_args( $args['tinymce'], array(
 
 
 
118
  'media_buttons' => false,
119
  'teeny' => true,
120
  ) );
121
- $args['textarea_name'] = $field_name;
122
- $args['teeny'] = true;
123
- $id = str_replace( '-', '_', $input_id );
124
  ob_start();
125
- wp_editor( $value, $id, $args );
126
  $output = ob_get_clean();
127
  break;
128
 
114
 
115
  // TinyMCE.
116
  case 'tinymce':
117
+ $id = str_replace( '-', '_', $input_id );
118
+ $args['tinymce']['textarea_name'] = $field_name;
119
+ $args['tinymce']['teeny'] = true;
120
+ $args['tinymce'] = wp_parse_args( $args['tinymce'], array(
121
  'media_buttons' => false,
122
  'teeny' => true,
123
  ) );
 
 
 
124
  ob_start();
125
+ wp_editor( $value, $id, $args['tinymce'] );
126
  $output = ob_get_clean();
127
  break;
128
 
includes/admin/class-importers.php CHANGED
@@ -50,6 +50,7 @@ class WPForms_Importers {
50
  $importers = apply_filters( 'wpforms_load_importers', array(
51
  'contact-form-7',
52
  'ninja-forms',
 
53
  ) );
54
 
55
  foreach ( $importers as $importer ) {
50
  $importers = apply_filters( 'wpforms_load_importers', array(
51
  'contact-form-7',
52
  'ninja-forms',
53
+ 'pirate-forms',
54
  ) );
55
 
56
  foreach ( $importers as $importer ) {
includes/admin/class-menu.php CHANGED
@@ -111,7 +111,7 @@ class WPForms_Admin_Menu {
111
  add_submenu_page(
112
  'wpforms-overview',
113
  esc_html__( 'WPForms Addons', 'wpforms' ),
114
- '<span style="color:#f18500">' . esc_html__( 'Addons', 'wpforms' ) . '<span>',
115
  $menu_cap,
116
  'wpforms-addons',
117
  array( $this, 'admin_page' )
111
  add_submenu_page(
112
  'wpforms-overview',
113
  esc_html__( 'WPForms Addons', 'wpforms' ),
114
+ '<span style="color:#f18500">' . esc_html__( 'Addons', 'wpforms' ) . '</span>',
115
  $menu_cap,
116
  'wpforms-addons',
117
  array( $this, 'admin_page' )
includes/admin/importers/class-contact-form-7.php CHANGED
@@ -51,7 +51,7 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
51
  *
52
  * @since 1.4.2
53
  *
54
- * @param int $id
55
  *
56
  * @return WPCF7_ContactForm|bool
57
  */
@@ -83,9 +83,18 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
83
  }
84
 
85
  // Define some basic information.
86
- $analyze = isset( $_POST['analyze'] );
87
- $cf7_id = absint( $_POST['form_id'] );
88
- $cf7_form = $this->get_form( $cf7_id );
 
 
 
 
 
 
 
 
 
89
  $cf7_form_name = $cf7_form->title();
90
  $cf7_fields = $cf7_form->scan_form_tags();
91
  $cf7_properties = $cf7_form->get_properties();
@@ -101,13 +110,13 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
101
  'field_id' => '',
102
  'fields' => array(),
103
  'settings' => array(
104
- 'form_title' => $cf7_form_name,
105
- 'form_desc' => '',
106
- 'submit_text' => esc_html__( 'Submit', 'wpforms' ),
107
- 'submit_text_processing' => esc_html__( 'Sending', 'wpforms' ),
108
- 'honeypot' => '1',
109
- 'notification_enable' => '1',
110
- 'notifications' => array(
111
  1 => array(
112
  'notification_name' => esc_html__( 'Notification 1', 'wpforms' ),
113
  'email' => '{admin_email}',
@@ -119,10 +128,14 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
119
  'message' => '{all_fields}',
120
  ),
121
  ),
122
- 'confirmation_type' => 'message',
123
- 'confirmation_message' => esc_html__( 'Thanks for contacting us! We will be in touch with you shortly.', 'wpforms' ),
124
- 'confirmation_message_scroll' => '1',
125
- 'import_form_id' => $cf7_id,
 
 
 
 
126
  ),
127
  );
128
 
@@ -179,7 +192,7 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
179
  case 'number':
180
  case 'textarea':
181
  $type = $cf7_field->basetype;
182
- if ( ! wpforms()->pro && 'url' === $type ) {
183
  $type = 'text';
184
  }
185
  $form['fields'][ $field_id ] = array(
@@ -196,7 +209,6 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
196
 
197
  // Phone number field.
198
  case 'tel':
199
- $type = wpforms()->pro ? 'phone' : 'text';
200
  $form['fields'][ $field_id ] = array(
201
  'id' => $field_id,
202
  'type' => 'phone',
@@ -213,6 +225,7 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
213
  // Date field.
214
  case 'date':
215
  $type = wpforms()->pro ? 'date-time' : 'text';
 
216
  $form['fields'][ $field_id ] = array(
217
  'id' => $field_id,
218
  'type' => $type,
@@ -235,6 +248,7 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
235
  case 'checkbox':
236
  $choices = array();
237
  $options = (array) $cf7_field->labels;
 
238
  foreach ( $options as $option ) {
239
  $choices[] = array(
240
  'label' => $option,
@@ -437,8 +451,8 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
437
  *
438
  * @since 1.4.2
439
  *
440
- * @param object $field
441
- * @param string $type
442
  *
443
  * @return string
444
  */
@@ -464,9 +478,9 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
464
  *
465
  * @since 1.4.2
466
  *
467
- * @param string $form
468
- * @param string $type
469
- * @param string $name
470
  *
471
  * @return string
472
  */
@@ -522,8 +536,8 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
522
  *
523
  * @since 1.4.2
524
  *
525
- * @param string $headers
526
- * @param array $fields
527
  *
528
  * @return string
529
  */
@@ -550,8 +564,8 @@ class WPForms_Contact_Form_7 extends WPForms_Importer {
550
  *
551
  * @since 1.4.2
552
  *
553
- * @param string $sender
554
- * @param array $fields
555
  *
556
  * @return bool|array
557
  */
51
  *
52
  * @since 1.4.2
53
  *
54
+ * @param int $id Form ID.
55
  *
56
  * @return WPCF7_ContactForm|bool
57
  */
83
  }
84
 
85
  // Define some basic information.
86
+ $analyze = isset( $_POST['analyze'] );
87
+ $cf7_id = ! empty( $_POST['form_id'] ) ? (int) $_POST['form_id'] : 0;
88
+ $cf7_form = $this->get_form( $cf7_id );
89
+
90
+ if ( ! $cf7_form ) {
91
+ wp_send_json_error( array(
92
+ 'error' => true,
93
+ 'name' => esc_html__( 'Unknown Form', 'wpforms' ),
94
+ 'msg' => esc_html__( 'The form you are trying to import does not exist.', 'wpforms' ),
95
+ ) );
96
+ }
97
+
98
  $cf7_form_name = $cf7_form->title();
99
  $cf7_fields = $cf7_form->scan_form_tags();
100
  $cf7_properties = $cf7_form->get_properties();
110
  'field_id' => '',
111
  'fields' => array(),
112
  'settings' => array(
113
+ 'form_title' => $cf7_form_name,
114
+ 'form_desc' => '',
115
+ 'submit_text' => esc_html__( 'Submit', 'wpforms' ),
116
+ 'submit_text_processing' => esc_html__( 'Sending', 'wpforms' ),
117
+ 'honeypot' => '1',
118
+ 'notification_enable' => '1',
119
+ 'notifications' => array(
120
  1 => array(
121
  'notification_name' => esc_html__( 'Notification 1', 'wpforms' ),
122
  'email' => '{admin_email}',
128
  'message' => '{all_fields}',
129
  ),
130
  ),
131
+ 'confirmations' => array(
132
+ 1 => array(
133
+ 'type' => 'message',
134
+ 'message' => esc_html__( 'Thanks for contacting us! We will be in touch with you shortly.', 'wpforms' ),
135
+ 'message_scroll' => '1',
136
+ ),
137
+ ),
138
+ 'import_form_id' => $cf7_id,
139
  ),
140
  );
141
 
192
  case 'number':
193
  case 'textarea':
194
  $type = $cf7_field->basetype;
195
+ if ( 'url' === $type && ! wpforms()->pro ) {
196
  $type = 'text';
197
  }
198
  $form['fields'][ $field_id ] = array(
209
 
210
  // Phone number field.
211
  case 'tel':
 
212
  $form['fields'][ $field_id ] = array(
213
  'id' => $field_id,
214
  'type' => 'phone',
225
  // Date field.
226
  case 'date':
227
  $type = wpforms()->pro ? 'date-time' : 'text';
228
+
229
  $form['fields'][ $field_id ] = array(
230
  'id' => $field_id,
231
  'type' => $type,
248
  case 'checkbox':
249
  $choices = array();
250
  $options = (array) $cf7_field->labels;
251
+
252
  foreach ( $options as $option ) {
253
  $choices[] = array(
254
  'label' => $option,
451
  *
452
  * @since 1.4.2
453
  *
454
+ * @param object $field Field object.
455
+ * @param string $type Type of the field.
456
  *
457
  * @return string
458
  */
478
  *
479
  * @since 1.4.2
480
  *
481
+ * @param string $form Form data.
482
+ * @param string $type Field type.
483
+ * @param string $name Field name.
484
  *
485
  * @return string
486
  */
536
  *
537
  * @since 1.4.2
538
  *
539
+ * @param string $headers CF7 email headers.
540
+ * @param array $fields List of fields.
541
  *
542
  * @return string
543
  */
564
  *
565
  * @since 1.4.2
566
  *
567
+ * @param string $sender Sender strings in "Name <email@example.com>" format.
568
+ * @param array $fields List of fields.
569
  *
570
  * @return bool|array
571
  */
includes/admin/importers/class-install-silent-skin.php ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * WordPress class extended for on-the-fly plugins installations, without error reporting.
5
+ *
6
+ * @package WPForms
7
+ * @author WPForms
8
+ * @since 1.4.9
9
+ * @license GPL-2.0+
10
+ * @copyright Copyright (c) 2018, WPForms LLC
11
+ */
12
+ class WPForms_Install_Silent_Skin extends WP_Upgrader_Skin {
13
+
14
+ /**
15
+ * Set the upgrader object and store it as a property in the parent class.
16
+ *
17
+ * @since 1.4.9
18
+ *
19
+ * @param object $upgrader The upgrader object (passed by reference).
20
+ */
21
+ public function set_upgrader( &$upgrader ) {
22
+
23
+ if ( is_object( $upgrader ) ) {
24
+ $this->upgrader =& $upgrader;
25
+ }
26
+ }
27
+
28
+ /**
29
+ * Empty out the header of its HTML content and only check to see if it has
30
+ * been performed or not.
31
+ *
32
+ * @since 1.4.9
33
+ */
34
+ public function header() {
35
+ }
36
+
37
+ /**
38
+ * Empty out the footer of its HTML contents.
39
+ *
40
+ * @since 1.4.9
41
+ */
42
+ public function footer() {
43
+ }
44
+
45
+ /**
46
+ * Instead of outputting HTML for errors, just return them.
47
+ * Ajax request will just ignore it.
48
+ *
49
+ * @since 1.4.9
50
+ *
51
+ * @param array $errors Array of errors with the install process.
52
+ *
53
+ * @return array
54
+ */
55
+ public function error( $errors ) {
56
+ return $errors;
57
+ }
58
+
59
+ /**
60
+ * Empty out the feedback method to prevent outputting HTML strings as the install
61
+ * is progressing.
62
+ *
63
+ * @since 1.4.9
64
+ *
65
+ * @param string $string The feedback string.
66
+ */
67
+ public function feedback( $string ) {
68
+ }
69
+
70
+ /**
71
+ * Empty out JavaScript output that calls function to decrement the update counts.
72
+ *
73
+ * @since 1.4.9
74
+ *
75
+ * @param string $type Type of update count to decrement.
76
+ */
77
+ public function decrement_update_count( $type ) {
78
+ }
79
+ }
includes/admin/importers/class-ninja-forms.php CHANGED
@@ -102,7 +102,7 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
102
 
103
  // Define some basic information.
104
  $analyze = isset( $_POST['analyze'] );
105
- $nf_id = absint( $_POST['form_id'] );
106
  $nf_form = $this->get_form( $nf_id );
107
  $nf_form_name = $nf_form['settings']['title'];
108
  $nf_recaptcha = false;
@@ -118,13 +118,13 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
118
  'field_id' => '',
119
  'fields' => array(),
120
  'settings' => array(
121
- 'form_title' => $nf_form_name,
122
- 'form_desc' => '',
123
- 'submit_text' => esc_html__( 'Submit', 'wpforms' ),
124
- 'submit_text_processing' => esc_html__( 'Sending', 'wpforms' ),
125
- 'honeypot' => '1',
126
- 'notification_enable' => '1',
127
- 'notifications' => array(
128
  1 => array(
129
  'notification_name' => esc_html__( 'Notification 1', 'wpforms' ),
130
  'email' => '{admin_email}',
@@ -136,10 +136,14 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
136
  'message' => '{all_fields}',
137
  ),
138
  ),
139
- 'confirmation_type' => 'message',
140
- 'confirmation_message' => esc_html__( 'Thanks for contacting us! We will be in touch with you shortly.', 'wpforms' ),
141
- 'confirmation_message_scroll' => '1',
142
- 'import_form_id' => $nf_id,
 
 
 
 
143
  ),
144
  );
145
 
@@ -158,7 +162,7 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
158
  // Try to determine field label to use.
159
  $label = $this->get_field_label( $nf_field );
160
 
161
- // Next, check if field is unsupported. If supported make note and
162
  // then continue to the next field.
163
  if ( in_array( $nf_field['type'], $fields_unsupported, true ) ) {
164
  $unsupported[] = $label;
@@ -224,7 +228,7 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
224
  $form['fields'][ $field_id ] = array(
225
  'id' => $field_id,
226
  'type' => 'checkbox',
227
- 'label' => esc_html__( 'Single Checkbox Field' ),
228
  'choices' => array(
229
  1 => array(
230
  'label' => $label,
@@ -368,7 +372,7 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
368
  // Confirmation message.
369
  foreach ( $nf_form['actions'] as $action ) {
370
  if ( 'successmessage' === $action['type'] ) {
371
- $form['settings']['confirmation_message'] = $this->get_smarttags( $action['message'], $form['fields'] );
372
  }
373
  }
374
 
@@ -396,7 +400,6 @@ class WPForms_Ninja_Forms extends WPForms_Importer {
396
  }
397
  }
398
 
399
-
400
  // Setup email notifications.
401
  $action_count = 1;
402
  $action_defaults = array(
102
 
103
  // Define some basic information.
104
  $analyze = isset( $_POST['analyze'] );
105
+ $nf_id = ! empty( $_POST['form_id'] ) ? (int) $_POST['form_id'] : 0;
106
  $nf_form = $this->get_form( $nf_id );
107
  $nf_form_name = $nf_form['settings']['title'];
108
  $nf_recaptcha = false;
118
  'field_id' => '',
119
  'fields' => array(),
120
  'settings' => array(
121
+ 'form_title' => $nf_form_name,
122
+ 'form_desc' => '',
123
+ 'submit_text' => esc_html__( 'Submit', 'wpforms' ),
124
+ 'submit_text_processing' => esc_html__( 'Sending', 'wpforms' ),
125
+ 'honeypot' => '1',
126
+ 'notification_enable' => '1',
127
+ 'notifications' => array(
128
  1 => array(
129
  'notification_name' => esc_html__( 'Notification 1', 'wpforms' ),
130
  'email' => '{admin_email}',
136
  'message' => '{all_fields}',
137
  ),
138
  ),
139
+ 'confirmations' => array(
140
+ 1 => array(
141
+ 'type' => 'message',
142
+ 'message' => esc_html__( 'Thanks for contacting us! We will be in touch with you shortly.', 'wpforms' ),
143
+ 'message_scroll' => '1',
144
+ ),
145
+ ),
146
+ 'import_form_id' => $nf_id,
147
  ),
148
  );
149
 
162
  // Try to determine field label to use.
163
  $label = $this->get_field_label( $nf_field );
164
 
165
+ // Next, check if field is unsupported. If unsupported make note and
166
  // then continue to the next field.
167
  if ( in_array( $nf_field['type'], $fields_unsupported, true ) ) {
168
  $unsupported[] = $label;
228
  $form['fields'][ $field_id ] = array(
229
  'id' => $field_id,
230
  'type' => 'checkbox',
231
+ 'label' => esc_html__( 'Single Checkbox Field', 'wpforms' ),
232
  'choices' => array(
233
  1 => array(
234
  'label' => $label,
372
  // Confirmation message.
373
  foreach ( $nf_form['actions'] as $action ) {
374
  if ( 'successmessage' === $action['type'] ) {
375
+ $form['settings']['confirmations'][1]['message'] = $this->get_smarttags( $action['message'], $form['fields'] );
376
  }
377
  }
378
 
400
  }
401
  }
402
 
 
403
  // Setup email notifications.
404
  $action_count = 1;
405
  $action_defaults = array(
includes/admin/importers/class-pirate-forms.php ADDED
@@ -0,0 +1,678 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Pirate Forms Importer class.
5
+ *
6
+ * @package WPForms
7
+ * @author WPForms
8
+ * @since 1.4.9
9
+ * @license GPL-2.0+
10
+ * @copyright Copyright (c) 2018, WPForms LLC
11
+ */
12
+ class WPForms_Pirate_Forms extends WPForms_Importer {
13
+
14
+ /**
15
+ * Direct URL to download the latest version of WP Mail SMTP plugin from WP.org repo.
16
+ *
17
+ * @since 1.4.9
18
+ *
19
+ * @var string
20
+ */
21
+ const URL_SMTP_ZIP = 'https://downloads.wordpress.org/plugin/wp-mail-smtp.zip';
22
+
23
+ /**
24
+ * WP Mail SMTP plugin basename.
25
+ *
26
+ * @since 1.4.9
27
+ *
28
+ * @var string
29
+ */
30
+ const SLUG_SMTP_PLUGIN = 'wp-mail-smtp/wp_mail_smtp.php';
31
+
32
+ /**
33
+ * Default PirateForms smart tags.
34
+ *
35
+ * @var array
36
+ */
37
+ public static $tags = array(
38
+ '[email]',
39
+ );
40
+
41
+ /**
42
+ * Define required properties.
43
+ *
44
+ * @since 1.4.9
45
+ */
46
+ public function init() {
47
+
48
+ $this->name = 'Pirate Forms';
49
+ $this->slug = 'pirate-forms';
50
+ $this->path = 'pirate-forms/pirate-forms.php';
51
+ }
52
+
53
+ /**
54
+ * Get ALL THE FORMS.
55
+ * We need only ID's and names here.
56
+ *
57
+ * @since 1.4.9
58
+ *
59
+ * @return array
60
+ */
61
+ public function get_forms() {
62
+
63
+ // Union those arrays, as array_merge() does keys reindexing.
64
+ $forms = $this->get_default_forms() + $this->get_pro_forms();
65
+
66
+ // Sort by IDs ASC.
67
+ ksort( $forms );
68
+
69
+ return $forms;
70
+ }
71
+
72
+ /**
73
+ * Pirate Forms has a default form, which doesn't have an ID.
74
+ *
75
+ * @since 1.4.9
76
+ *
77
+ * @return array
78
+ */
79
+ protected function get_default_forms() {
80
+
81
+ $form = PirateForms_Util::get_form_options();
82
+
83
+ // Just make sure that it's there and not broken.
84
+ if ( empty( $form ) ) {
85
+ return array();
86
+ }
87
+
88
+ return array( 0 => esc_html__( 'Default Form', 'wpforms' ) );
89
+ }
90
+
91
+ /**
92
+ * Copy-paste from Pro plugin code, it doesn't have API to get this data easily.
93
+ *
94
+ * @since 1.4.9
95
+ *
96
+ * @return array
97
+ */
98
+ protected function get_pro_forms() {
99
+
100
+ $forms = array();
101
+ $query = new WP_Query(
102
+ array(
103
+ 'post_type' => 'pf_form',
104
+ 'post_status' => 'publish',
105
+ 'posts_per_page' => - 1,
106
+ 'update_post_meta_cache' => false,
107
+ 'update_post_term_cache' => false,
108
+ )
109
+ );
110
+
111
+ if ( $query->have_posts() ) {
112
+ while ( $query->have_posts() ) {
113
+ $query->the_post();
114
+ $forms[ get_the_ID() ] = get_the_title();
115
+ }
116
+ }
117
+
118
+ return $forms;
119
+ }
120
+
121
+ /**
122
+ * Get a single form options.
123
+ *
124
+ * @since 1.4.9
125
+ *
126
+ * @param int $id Form ID.
127
+ *
128
+ * @return array
129
+ */
130
+ public function get_form( $id ) {
131
+ return PirateForms_Util::get_form_options( (int) $id );
132
+ }
133
+
134
+ /**
135
+ * Import a single form using AJAX.
136
+ *
137
+ * @since 1.4.9
138
+ */
139
+ public function import_form() {
140
+
141
+ // Run a security check.
142
+ check_ajax_referer( 'wpforms-admin', 'nonce' );
143
+
144
+ // Check for permissions.
145
+ if ( ! wpforms_current_user_can() ) {
146
+ wp_send_json_error();
147
+ }
148
+
149
+ $analyze = isset( $_POST['analyze'] );
150
+ $pf_form_id = isset( $_POST['form_id'] ) ? (int) $_POST['form_id'] : 0;
151
+ $pf_form = $this->get_form( $pf_form_id );
152
+ $pf_fields_custom = PirateForms_Util::get_post_meta( $pf_form_id, 'custom' );
153
+ $pf_fields_default = array(
154
+ 'name',
155
+ 'email',
156
+ 'subject',
157
+ 'message',
158
+ 'attachment',
159
+ 'checkbox',
160
+ 'recaptcha',
161
+ );
162
+ $fields_pro_plain = array( 'tel' ); // Convert them in Lite to the closest Standard alternatives.
163
+ $fields_pro_omit = array( 'label', 'file', 'attachment' ); // Strict PRO fields with no Lite alternatives.
164
+ $upgrade_plain = array();
165
+ $upgrade_omit = array();
166
+ $unsupported = array();
167
+ $fields = array();
168
+
169
+ if ( ! empty( $pf_fields_custom[0] ) ) {
170
+ $pf_fields_custom = $pf_fields_custom[0];
171
+ } else {
172
+ $pf_fields_custom = array();
173
+ }
174
+
175
+ if ( empty( $pf_form_id ) ) {
176
+ $pf_form_name = esc_html__( 'Default Form', 'wpforms' );
177
+ } else {
178
+ $pf_form_name = get_post_field( 'post_title', $pf_form_id );
179
+ }
180
+ $pf_form_name = wpforms_decode_string( apply_filters( 'the_title', $pf_form_name, $pf_form_id ) );
181
+
182
+ // Prepare all DEFAULT fields.
183
+ foreach ( $pf_fields_default as $field ) {
184
+ // Ignore fields that are not displayed or not added at all.
185
+ if ( empty( $pf_form[ 'pirateformsopt_' . $field . '_field' ] ) ) {
186
+ continue;
187
+ }
188
+
189
+ // Ignore certain fields as they are dealt with later.
190
+ if ( 'recaptcha' === $field ) {
191
+ continue;
192
+ }
193
+
194
+ $required = 'req' === $pf_form[ 'pirateformsopt_' . $field . '_field' ] ? '1' : '';
195
+ $label = ! empty( $pf_form[ 'pirateformsopt_label_' . $field ] ) ? $pf_form[ 'pirateformsopt_label_' . $field ] : ucwords( $field );
196
+
197
+ // If it is Lite and it's a field type not included, make a note then continue to the next field.
198
+ if ( ! wpforms()->pro && in_array( $field, $fields_pro_plain, true ) ) {
199
+ $upgrade_plain[] = $label;
200
+ }
201
+ if ( ! wpforms()->pro && in_array( $field, $fields_pro_omit, true ) ) {
202
+ $upgrade_omit[] = $label;
203
+ continue;
204
+ }
205
+
206
+ // Determine next field ID to assign.
207
+ if ( empty( $fields ) ) {
208
+ $field_id = 1;
209
+ } else {
210
+ $field_id = (int) max( array_keys( $fields ) ) + 1;
211
+ }
212
+
213
+ // Separately process certain fields.
214
+ switch ( $field ) {
215
+ case 'name':
216
+ case 'email':
217
+ case 'subject':
218
+ case 'message':
219
+ $type = $field;
220
+ if ( 'subject' === $field ) {
221
+ $type = 'text';
222
+ } elseif ( 'message' === $field ) {
223
+ $type = 'textarea';
224
+ }
225
+
226
+ $fields[ $field_id ] = array(
227
+ 'id' => $field_id,
228
+ 'type' => $type,
229
+ 'label' => $label,
230
+ 'required' => $required,
231
+ 'size' => 'medium',
232
+ );
233
+
234
+ if ( 'name' === $field ) {
235
+ $fields[ $field_id ]['format'] = 'simple';
236
+ }
237
+ break;
238
+
239
+ case 'checkbox':
240
+ $fields[ $field_id ] = array(
241
+ 'id' => $field_id,
242
+ 'type' => 'checkbox',
243
+ 'label' => esc_html__( 'Single Checkbox Field', 'wpforms' ),
244
+ 'choices' => array(
245
+ 1 => array(
246
+ 'label' => $label,
247
+ 'value' => '',
248
+ ),
249
+ ),
250
+ 'size' => 'medium',
251
+ 'required' => $required,
252
+ 'label_hide' => true,
253
+ );
254
+ break;
255
+
256
+ case 'attachment':
257
+ case 'file':
258
+ $fields[ $field_id ] = array(
259
+ 'id' => $field_id,
260
+ 'type' => 'file-upload',
261
+ 'label' => $label,
262
+ 'required' => $required,
263
+ 'label_hide' => true,
264
+ );
265
+
266
+ // If PF attachments were saved into FS, we need to save them in WP Media.
267
+ // That will allow admins to easily delete if needed.
268
+ if (
269
+ ! empty( $pf_form['pirateformsopt_save_attachment'] ) &&
270
+ 'yes' === $pf_form['pirateformsopt_save_attachment']
271
+ ) {
272
+ $fields[ $field_id ]['media_library'] = true;
273
+ }
274
+ break;
275
+ }
276
+ }
277
+
278
+ // Prepare all CUSTOM fields.
279
+ foreach ( $pf_fields_custom as $id => $field ) {
280
+ // Ignore fields that are not displayed.
281
+ if ( empty( $field['display'] ) ) {
282
+ continue;
283
+ }
284
+
285
+ $required = 'req' === $field['display'] ? '1' : ''; // Possible values in PF: 'yes', 'req'.
286
+ $label = sanitize_text_field( $field['label'] );
287
+
288
+ // If it is Lite and it's a field type not included, make a note then continue to the next field.
289
+ if ( ! wpforms()->pro && in_array( $field['type'], $fields_pro_plain, true ) ) {
290
+ $upgrade_plain[] = $label;
291
+ }
292
+ if ( ! wpforms()->pro && in_array( $field['type'], $fields_pro_omit, true ) ) {
293
+ $upgrade_omit[] = $label;
294
+ continue;
295
+ }
296
+
297
+ // Determine next field ID to assign.
298
+ if ( empty( $fields ) ) {
299
+ $field_id = 1;
300
+ } else {
301
+ $field_id = (int) max( array_keys( $fields ) ) + 1;
302
+ }
303
+
304
+ switch ( $field['type'] ) {
305
+ case 'text':
306
+ case 'textarea':
307
+ case 'number':
308
+ case 'tel':
309
+ $type = $field['type'];
310
+
311
+ if ( 'textarea' === $field['type'] ) {
312
+ $type = 'textarea';
313
+ }
314
+ if ( 'tel' === $field['type'] ) {
315
+ $type = 'phone';
316
+ }
317
+
318
+ $fields[ $field_id ] = array(
319
+ 'id' => $field_id,
320
+ 'type' => $type,
321
+ 'label' => $label,
322
+ 'required' => $required,
323
+ 'size' => 'medium',
324
+ );
325
+
326
+ if ( 'tel' === $field['type'] ) {
327
+ $fields[ $field_id ]['format'] = 'international';
328
+ }
329
+ break;
330
+
331
+ case 'checkbox':
332
+ $fields[ $field_id ] = array(
333
+ 'id' => $field_id,
334
+ 'type' => 'checkbox',
335
+ 'label' => esc_html__( 'Single Checkbox Field', 'wpforms' ),
336
+ 'choices' => array(
337
+ 1 => array(
338
+ 'label' => $label,
339
+ 'value' => '',
340
+ ),
341
+ ),
342
+ 'size' => 'medium',
343
+ 'required' => $required,
344
+ 'label_hide' => true,
345
+ );
346
+ break;
347
+
348
+ case 'select':
349
+ case 'multiselect':
350
+ $options = array();
351
+ $i = 1;
352
+ $type = 'select';
353
+
354
+ if ( 'multiselect' === $field['type'] ) {
355
+ $type = 'checkbox';
356
+ }
357
+
358
+ foreach ( explode( PHP_EOL, $field['options'] ) as $option ) {
359
+ $options[ $i ] = array(
360
+ 'label' => $option,
361
+ 'value' => '',
362
+ 'image' => '',
363
+ );
364
+
365
+ $i ++;
366
+ }
367
+
368
+ $fields[ $field_id ] = array(
369
+ 'id' => $field_id,
370
+ 'type' => $type,
371
+ 'label' => $label,
372
+ 'required' => $required,
373
+ 'size' => 'medium',
374
+ 'choices' => $options,
375
+ );
376
+ break;
377
+
378
+ case 'label':
379
+ $fields[ $field_id ] = array(
380
+ 'id' => $field_id,
381
+ 'type' => 'html',
382
+ 'code' => $field['label'],
383
+ 'label_disable' => true,
384
+ );
385
+ break;
386
+
387
+ case 'file':
388
+ $fields[ $field_id ] = array(
389
+ 'id' => $field_id,
390
+ 'type' => 'file-upload',
391
+ 'label' => $label,
392
+ 'required' => $required,
393
+ 'label_hide' => true,
394
+ );
395
+
396
+ // If PF attachments were saved into FS, we need to save them in WP Media.
397
+ // That will allow admins to easily delete if needed.
398
+ if (
399
+ ! empty( $pf_form['pirateformsopt_save_attachment'] ) &&
400
+ 'yes' === $pf_form['pirateformsopt_save_attachment']
401
+ ) {
402
+ $fields[ $field_id ]['media_library'] = true;
403
+ }
404
+ break;
405
+ }
406
+ }
407
+
408
+ // If we are analyzing the form (in Lite only),
409
+ // we can stop here and return the details about this form.
410
+ if ( $analyze ) {
411
+ wp_send_json_success(
412
+ array(
413
+ 'name' => $pf_form_name,
414
+ 'upgrade_plain' => $upgrade_plain,
415
+ 'upgrade_omit' => $upgrade_omit,
416
+ )
417
+ );
418
+ }
419
+
420
+ // Make sure we have imported some fields.
421
+ if ( empty( $fields ) ) {
422
+ wp_send_json_success(
423
+ array(
424
+ 'error' => true,
425
+ 'name' => $pf_form_name,
426
+ 'msg' => esc_html__( 'No form fields found.', 'wpforms' ),
427
+ )
428
+ );
429
+ }
430
+
431
+ // Create a form array, that holds all the data.
432
+ $form = array(
433
+ 'id' => '',
434
+ 'field_id' => '',
435
+ 'fields' => $fields,
436
+ 'settings' => array(
437
+ 'form_title' => $pf_form_name,
438
+ 'form_desc' => '',
439
+ 'submit_text' => stripslashes( $pf_form['pirateformsopt_label_submit_btn'] ),
440
+ 'submit_text_processing' => esc_html__( 'Sending', 'wpforms' ),
441
+ 'honeypot' => empty( $pf_form['pirateformsopt_recaptcha_field'] ) ? '0' : '1',
442
+ 'notification_enable' => '1',
443
+ 'notifications' => array(
444
+ 1 => array(
445
+ 'notification_name' => esc_html__( 'Default Notification', 'wpforms' ),
446
+ 'email' => $pf_form['pirateformsopt_email_recipients'],
447
+ /* translators: %s - PirateForms form name. */
448
+ 'subject' => sprintf( esc_html__( 'New Entry: %s', 'wpforms' ), $pf_form_name ),
449
+ 'sender_name' => get_bloginfo( 'name' ),
450
+ 'sender_address' => $this->get_smarttags( $pf_form['pirateformsopt_email'], $fields ),
451
+ 'replyto' => '',
452
+ 'message' => '{all_fields}',
453
+ ),
454
+ ),
455
+ 'confirmations' => array(
456
+ 1 => array(
457
+ 'type' => empty( $pf_form['pirateformsopt_thank_you_url'] ) ? 'message' : 'page',
458
+ 'page' => (int) $pf_form['pirateformsopt_thank_you_url'],
459
+ 'message' => ! empty( $pf_form['pirateformsopt_label_submit'] ) ? $pf_form['pirateformsopt_label_submit'] : esc_html__( 'Thanks for contacting us! We will be in touch with you shortly.', 'wpforms' ),
460
+ 'message_scroll' => '1',
461
+ ),
462
+ ),
463
+ 'disable_entries' => 'yes' === $pf_form['pirateformsopt_store'] ? '0' : '1',
464
+ 'import_form_id' => $pf_form_id,
465
+ ),
466
+ );
467
+
468
+ // Do not save user IP address and UA.
469
+ if ( empty( $pf_form['pirateformsopt_store_ip'] ) || 'yes' !== $pf_form['pirateformsopt_store_ip'] ) {
470
+ $wpforms_settings = get_option( 'wpforms_settings', array() );
471
+ $wpforms_settings['gdpr'] = true;
472
+ update_option( 'wpforms_settings', $wpforms_settings );
473
+ $form['settings']['disable_ip'] = true;
474
+ }
475
+
476
+ // Save recaptcha keys.
477
+ if (
478
+ ! empty( $pf_form['pirateformsopt_recaptcha_field'] ) &&
479
+ 'yes' === $pf_form['pirateformsopt_recaptcha_field']
480
+ ) {
481
+ // If the user has already defined v2 reCAPTCHA keys, use those.
482
+ $site_key = wpforms_setting( 'recaptcha-site-key', '' );
483
+ $secret_key = wpforms_setting( 'recaptcha-secret-key', '' );
484
+
485
+ // Try to abstract keys from PF.
486
+ if ( empty( $site_key ) || empty( $secret_key ) ) {
487
+ if ( ! empty( $pf_form['pirateformsopt_recaptcha_sitekey'] ) && ! empty( $pf_form['pirateformsopt_recaptcha_secretkey'] ) ) {
488
+ $wpforms_settings = get_option( 'wpforms_settings', array() );
489
+ $wpforms_settings['recaptcha-site-key'] = $pf_form['pirateformsopt_recaptcha_sitekey'];
490
+ $wpforms_settings['recaptcha-secret-key'] = $pf_form['pirateformsopt_recaptcha_secretkey'];
491
+ $wpforms_settings['recaptcha-type'] = 'v2';
492
+ update_option( 'wpforms_settings', $wpforms_settings );
493
+ }
494
+ }
495
+
496
+ if (
497
+ ( ! empty( $site_key ) && ! empty( $secret_key ) ) ||
498
+ ( ! empty( $wpforms_settings['recaptcha-site-key'] ) && ! empty( $wpforms_settings['recaptcha-secret-key'] ) )
499
+ ) {
500
+ $form['settings']['recaptcha'] = '1';
501
+ }
502
+ }
503
+
504
+ $this->import_smtp( $pf_form_id, $form );
505
+
506
+ $this->add_form( $form, $unsupported, $upgrade_plain, $upgrade_omit );
507
+ }
508
+
509
+ /**
510
+ * Replace 3rd-party form provider tags/shortcodes with our own Smart Tags.
511
+ * See: PirateForms_Util::get_magic_tags() for all PF tags.
512
+ *
513
+ * @since 1.4.9
514
+ *
515
+ * @param string $string String to process the smart tag in.
516
+ * @param array $fields List of fields for the form.
517
+ *
518
+ * @return string
519
+ */
520
+ public function get_smarttags( $string, $fields ) {
521
+
522
+ foreach ( self::$tags as $tag ) {
523
+ $wpf_tag = '';
524
+
525
+ if ( '[email]' === $tag ) {
526
+ foreach ( $fields as $field ) {
527
+ if ( 'email' === $field['type'] ) {
528
+ $wpf_tag = '{field_id="' . $field['id'] . '"}';
529
+ break;
530
+ }
531
+ }
532
+ }
533
+
534
+ $string = str_replace( $tag, $wpf_tag, $string );
535
+ }
536
+
537
+ return $string;
538
+ }
539
+
540
+ /**
541
+ * Import SMTP settings from Default form only.
542
+ *
543
+ * @since 1.4.9
544
+ *
545
+ * @param int $pf_form_id PirateForms form ID.
546
+ * @param array $form WPForms form array.
547
+ */
548
+ protected function import_smtp( $pf_form_id, $form ) {
549
+
550
+ // At this point we import only default form SMTP settings.
551
+ if ( 0 !== $pf_form_id ) {
552
+ return;
553
+ }
554
+
555
+ $pf_form = $this->get_form( 0 );
556
+
557
+ // Use only if enabled.
558
+ if ( empty( $pf_form['pirateformsopt_use_smtp'] ) || 'yes' !== $pf_form['pirateformsopt_use_smtp'] ) {
559
+ return;
560
+ }
561
+
562
+ // If user has WP Mail SMTP already activated - do nothing as it's most likely already configured.
563
+ if ( is_plugin_active( self::SLUG_SMTP_PLUGIN ) ) {
564
+ return;
565
+ }
566
+
567
+ // Check that we successfully installed and activated the plugin.
568
+ if ( ! $this->install_activate_smtp() ) {
569
+ return;
570
+ }
571
+
572
+ /*
573
+ * Finally, start the settings importing.
574
+ */
575
+ // WP Mail SMTP 1.x and PHP 5.3+ are allowed. Older WPMS versions are ignored.
576
+ if ( ! function_exists( 'wp_mail_smtp' ) ) {
577
+ return;
578
+ }
579
+
580
+ // We do not use \WPMailSMTP\Options class here to avoid problems with PHP 5.2.
581
+ $options = get_option( 'wp_mail_smtp', array() );
582
+
583
+ $options['mail']['from_email'] = $this->get_smarttags( $pf_form['pirateformsopt_email'], $form['fields'] );
584
+ $options['mail']['mailer'] = 'smtp';
585
+ $options['smtp']['host'] = $pf_form['pirateformsopt_smtp_host'];
586
+ $options['smtp']['port'] = $pf_form['pirateformsopt_smtp_port'];
587
+ $options['smtp']['encryption'] = empty( $pf_form['pirateformsopt_use_secure'] ) ? 'none' : $pf_form['pirateformsopt_use_secure'];
588
+ $options['smtp']['auth'] = ! empty( $pf_form['pirateformsopt_use_smtp_authentication'] ) && 'yes' === $pf_form['pirateformsopt_use_smtp_authentication'];
589
+ $options['smtp']['user'] = $pf_form['pirateformsopt_smtp_username'];
590
+ $options['smtp']['pass'] = $pf_form['pirateformsopt_smtp_password'];
591
+
592
+ update_option( 'wp_mail_smtp', $options );
593
+ }
594
+
595
+ /**
596
+ * Do all the voodoo to install and activate the WP Mail SMTP plugin behind the scene.
597
+ * No user interaction is needed.
598
+ *
599
+ * @since 1.4.9
600
+ *
601
+ * @return bool
602
+ */
603
+ protected function install_activate_smtp() {
604
+ /*
605
+ * Check installation.
606
+ * If installed but not activated - bail.
607
+ * We don't want to break current site email deliverability.
608
+ */
609
+
610
+ if ( ! function_exists( 'get_plugins' ) ) {
611
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
612
+ }
613
+
614
+ // FALSE will bail the import.
615
+ if ( array_key_exists( self::SLUG_SMTP_PLUGIN, get_plugins() ) ) {
616
+ return false;
617
+ }
618
+
619
+ /*
620
+ * Let's try to install.
621
+ */
622
+ $url = add_query_arg(
623
+ array(
624
+ 'provider' => $this->slug,
625
+ 'page' => 'wpforms-tools',
626
+ 'view' => 'importer',
627
+ ),
628
+ admin_url( 'admin.php' )
629
+ );
630
+
631
+ $creds = request_filesystem_credentials( esc_url_raw( $url ), '', false, false, null );
632
+
633
+ // Check for file system permissions.
634
+ if ( false === $creds ) {
635
+ return false;
636
+ }
637
+
638
+ if ( ! WP_Filesystem( $creds ) ) {
639
+ return false;
640
+ }
641
+
642
+ // We do not need any extra credentials if we have gotten this far, so let's install the plugin.
643
+ require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
644
+ require_once dirname( __FILE__ ) . '/class-install-silent-skin.php';
645
+
646
+ // Do not allow WordPress to search/download translations, as this will break JS output.
647
+ remove_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 );
648
+
649
+ // Create the plugin upgrader with our custom skin.
650
+ $installer = new Plugin_Upgrader( new WPForms_Install_Silent_Skin() );
651
+
652
+ // Error check.
653
+ if ( ! method_exists( $installer, 'install' ) ) {
654
+ return false;
655
+ }
656
+
657
+ $installer->install( self::URL_SMTP_ZIP );
658
+
659
+ // Flush the cache and return the newly installed plugin basename.
660
+ wp_cache_flush();
661
+
662
+ if ( $installer->plugin_info() ) {
663
+
664
+ $plugin_basename = $installer->plugin_info();
665
+
666
+ // Activate, do not redirect, run the plugin activation routine.
667
+ $activated = activate_plugin( $plugin_basename );
668
+
669
+ if ( ! is_wp_error( $activated ) ) {
670
+ return true;
671
+ }
672
+ }
673
+
674
+ return false;
675
+ }
676
+ }
677
+
678
+ new WPForms_Pirate_Forms();
includes/class-conditional-logic-core.php CHANGED
@@ -209,7 +209,7 @@ class WPForms_Conditional_Logic_Core {
209
  'slug' => 'conditional_logic',
210
  'value' => $enabled,
211
  'desc' => esc_html__( 'Enable conditional logic', 'wpforms' ),
212
- 'tooltip' => esc_html__( 'Check this option to enable conditional logic on this field.', 'wpforms' ),
213
  'data' => array(
214
  'name' => $field_name,
215
  'actions' => $actions,
@@ -285,7 +285,7 @@ class WPForms_Conditional_Logic_Core {
285
  $args['form'],
286
  esc_html__( 'Enable conditional logic', 'wpforms' ),
287
  array(
288
- 'tooltip' => esc_html__( 'Check this option to enable conditional logic.', 'wpforms' ),
289
  'parent' => $parent,
290
  'subsection' => $subsection,
291
  'input_id' => 'wpforms-panel-field-' . implode( '-', array_filter( array( $parent, $panel, $subsection, 'conditional_logic', 'checkbox' ) ) ),
209
  'slug' => 'conditional_logic',
210
  'value' => $enabled,
211
  'desc' => esc_html__( 'Enable conditional logic', 'wpforms' ),
212
+ 'tooltip' => '<a href="https://wpforms.com/docs/how-to-use-conditional-logic-with-wpforms/" target="_blank" rel="noopener noreferrer">' . esc_html__( 'How to use Conditional Logic', 'wpforms' ) . '</a>',
213
  'data' => array(
214
  'name' => $field_name,
215
  'actions' => $actions,
285
  $args['form'],
286
  esc_html__( 'Enable conditional logic', 'wpforms' ),
287
  array(
288
+ 'tooltip' => '<a href="https://wpforms.com/docs/how-to-use-conditional-logic-with-wpforms/" target="_blank" rel="noopener noreferrer">' . esc_html__( 'How to use Conditional Logic', 'wpforms' ) . '</a>',
289
  'parent' => $parent,
290
  'subsection' => $subsection,
291
  'input_id' => 'wpforms-panel-field-' . implode( '-', array_filter( array( $parent, $panel, $subsection, 'conditional_logic', 'checkbox' ) ) ),
includes/class-frontend.php CHANGED
@@ -40,6 +40,15 @@ class WPForms_Frontend {
40
  */
41
  public $confirmation_message = '';
42
 
 
 
 
 
 
 
 
 
 
43
  /**
44
  * Primary class constructor.
45
  *
@@ -130,6 +139,7 @@ class WPForms_Frontend {
130
 
131
  // Allow filter to return early if some condition is not met.
132
  if ( ! apply_filters( 'wpforms_frontend_load', true, $form_data, null ) ) {
 
133
  return;
134
  }
135
 
@@ -141,11 +151,6 @@ class WPForms_Frontend {
141
  $this->pages = false;
142
  }
143
 
144
- // Add the hash for confirmation scrolling if enabled.
145
- if ( ! empty( $settings['confirmation_type'] ) && 'message' === $settings['confirmation_type'] && ! empty( $settings['confirmation_message_scroll'] ) ) {
146
- $action .= '#wpforms-' . $form_id;
147
- }
148
-
149
  // Allow final action to be customized - 3rd param ($form) has been deprecated.
150
  $action = apply_filters( 'wpforms_frontend_form_action', $action, $form_data, null );
151
 
@@ -223,6 +228,7 @@ class WPForms_Frontend {
223
  $message = apply_filters( 'wpforms_process_smart_tags', $this->confirmation_message, $form_data, $fields, $entry_id );
224
  $message = apply_filters( 'wpforms_frontend_confirmation_message', wpautop( $message ), $form_data, $fields, $entry_id );
225
  $class = wpforms_setting( 'disable-css', '1' ) == '1' ? 'wpforms-confirmation-container-full' : 'wpforms-confirmation-container';
 
226
 
227
  printf(
228
  '<div class="%s" id="wpforms-confirmation-%d">%s</div>',
40
  */
41
  public $confirmation_message = '';
42
 
43
+ /**
44
+ * If the active form confirmation should auto scroll.
45
+ *
46
+ * @since 1.4.9
47
+ *
48
+ * @var bool
49
+ */
50
+ public $confirmation_message_scroll = false;
51
+
52
  /**
53
  * Primary class constructor.
54
  *
139
 
140
  // Allow filter to return early if some condition is not met.
141
  if ( ! apply_filters( 'wpforms_frontend_load', true, $form_data, null ) ) {
142
+ do_action( 'wpforms_frontend_not_loaded', $form_data, $form );
143
  return;
144
  }
145
 
151
  $this->pages = false;
152
  }
153
 
 
 
 
 
 
154
  // Allow final action to be customized - 3rd param ($form) has been deprecated.
155
  $action = apply_filters( 'wpforms_frontend_form_action', $action, $form_data, null );
156
 
228
  $message = apply_filters( 'wpforms_process_smart_tags', $this->confirmation_message, $form_data, $fields, $entry_id );
229
  $message = apply_filters( 'wpforms_frontend_confirmation_message', wpautop( $message ), $form_data, $fields, $entry_id );
230
  $class = wpforms_setting( 'disable-css', '1' ) == '1' ? 'wpforms-confirmation-container-full' : 'wpforms-confirmation-container';
231
+ $class .= $this->confirmation_message_scroll ? ' wpforms-confirmation-scroll' : '';
232
 
233
  printf(
234
  '<div class="%s" id="wpforms-confirmation-%d">%s</div>',
includes/class-preview.php CHANGED
@@ -244,7 +244,7 @@ class WPForms_Preview {
244
  // This isn't a privilege check, rather this is intended to prevent
245
  // the check from running on the site frontend and areas where
246
  // we don't want it to load.
247
- if ( ! is_admin() || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
248
  return;
249
  }
250
 
244
  // This isn't a privilege check, rather this is intended to prevent
245
  // the check from running on the site frontend and areas where
246
  // we don't want it to load.
247
+ if ( ! is_admin() ) {
248
  return;
249
  }
250
 
includes/class-process.php CHANGED
@@ -365,6 +365,10 @@ class WPForms_Process {
365
  // Pass a message to a frontend if no redirection happened.
366
  if ( ! empty( $confirmations[ $confirmation_id ]['type'] ) && 'message' === $confirmations[ $confirmation_id ]['type'] ) {
367
  wpforms()->frontend->confirmation_message = $confirmations[ $confirmation_id ]['message'];
 
 
 
 
368
  }
369
  }
370
 
365
  // Pass a message to a frontend if no redirection happened.
366
  if ( ! empty( $confirmations[ $confirmation_id ]['type'] ) && 'message' === $confirmations[ $confirmation_id ]['type'] ) {
367
  wpforms()->frontend->confirmation_message = $confirmations[ $confirmation_id ]['message'];
368
+
369
+ if ( ! empty( $confirmations[ $confirmation_id ]['message_scroll'] ) ) {
370
+ wpforms()->frontend->confirmation_message_scroll = true;
371
+ }
372
  }
373
  }
374
 
includes/class-widget.php CHANGED
@@ -24,7 +24,7 @@ class WPForms_Widget extends WP_Widget {
24
  *
25
  * @since 1.0.2
26
  */
27
- function __construct() {
28
 
29
  // Widget defaults.
30
  $this->defaults = array(
@@ -48,7 +48,7 @@ class WPForms_Widget extends WP_Widget {
48
  'id_base' => $widget_slug,
49
  );
50
 
51
- // load widget
52
  parent::__construct( $widget_slug, esc_html_x( 'WPForms', 'Widget', 'wpforms' ), $widget_ops, $control_ops );
53
  }
54
 
@@ -60,19 +60,19 @@ class WPForms_Widget extends WP_Widget {
60
  * @param array $args An array of standard parameters for widgets in this theme.
61
  * @param array $instance An array of settings for this widget instance.
62
  */
63
- function widget( $args, $instance ) {
64
 
65
  // Merge with defaults.
66
  $instance = wp_parse_args( (array) $instance, $this->defaults );
67
 
68
  echo $args['before_widget'];
69
 
70
- // Title
71
  if ( ! empty( $instance['title'] ) ) {
72
  echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
73
  }
74
 
75
- // Form
76
  if ( ! empty( $instance['form_id'] ) ) {
77
  wpforms()->frontend->output( absint( $instance['form_id'] ), $instance['show_title'], $instance['show_desc'] );
78
  }
@@ -91,10 +91,10 @@ class WPForms_Widget extends WP_Widget {
91
  *
92
  * @return array The validated and (if necessary) amended settings
93
  */
94
- function update( $new_instance, $old_instance ) {
95
 
96
  $new_instance['title'] = wp_strip_all_tags( $new_instance['title'] );
97
- $new_instance['form_id'] = absint( $new_instance['form_id'] );
98
  $new_instance['show_title'] = isset( $new_instance['show_title'] ) ? '1' : false;
99
  $new_instance['show_desc'] = isset( $new_instance['show_desc'] ) ? '1' : false;
100
 
@@ -110,25 +110,27 @@ class WPForms_Widget extends WP_Widget {
110
  *
111
  * @return void
112
  */
113
- function form( $instance ) {
114
 
115
  // Merge with defaults.
116
  $instance = wp_parse_args( (array) $instance, $this->defaults );
117
  ?>
118
  <p>
119
- <label for="<?php echo $this->get_field_id( 'title' ); ?>">
120
- <?php esc_html( _ex( 'Title:', 'Widget', 'wpforms' ) ); ?>
121
  </label>
122
  <input type="text"
123
- id="<?php echo $this->get_field_id( 'title' ); ?>"
124
- name="<?php echo $this->get_field_name( 'title' ); ?>"
125
- value="<?php echo esc_attr( $instance['title'] ); ?>" class="widefat"/>
126
  </p>
127
  <p>
128
- <label for="<?php echo $this->get_field_id( 'form_id' ); ?>">
129
- <?php esc_html( _ex( 'Form:', 'Widget', 'wpforms' ) ); ?>
130
  </label>
131
- <select id="<?php echo $this->get_field_id( 'form_id' ); ?>" name="<?php echo $this->get_field_name( 'form_id' ); ?>" class="widefat">
 
 
132
  <?php
133
  $forms = wpforms()->form->get();
134
  if ( ! empty( $forms ) ) {
@@ -144,13 +146,17 @@ class WPForms_Widget extends WP_Widget {
144
  </select>
145
  </p>
146
  <p>
147
- <input type="checkbox" id="<?php echo $this->get_field_id( 'show_title' ); ?>"
148
- name="<?php echo $this->get_field_name( 'show_title' ); ?>" <?php checked( '1', $instance['show_title'] ); ?>>
149
- <label for="<?php echo $this->get_field_id( 'show_title' ); ?>"><?php esc_html( _ex( 'Display form name', 'Widget', 'wpforms' ) ); ?></label>
 
 
150
  <br>
151
- <input type="checkbox" id="<?php echo $this->get_field_id( 'show_desc' ); ?>"
152
- name="<?php echo $this->get_field_name( 'show_desc' ); ?>" <?php checked( '1', $instance['show_desc'] ); ?>>
153
- <label for="<?php echo $this->get_field_id( 'show_desc' ); ?>"><?php esc_html( _ex( 'Display form description', 'Widget', 'wpforms' ) ); ?></label>
 
 
154
  </p>
155
  <?php
156
  }
24
  *
25
  * @since 1.0.2
26
  */
27
+ public function __construct() {
28
 
29
  // Widget defaults.
30
  $this->defaults = array(
48
  'id_base' => $widget_slug,
49
  );
50
 
51
+ // Load widget.
52
  parent::__construct( $widget_slug, esc_html_x( 'WPForms', 'Widget', 'wpforms' ), $widget_ops, $control_ops );
53
  }
54
 
60
  * @param array $args An array of standard parameters for widgets in this theme.
61
  * @param array $instance An array of settings for this widget instance.
62
  */
63
+ public function widget( $args, $instance ) {
64
 
65
  // Merge with defaults.
66
  $instance = wp_parse_args( (array) $instance, $this->defaults );
67
 
68
  echo $args['before_widget'];
69
 
70
+ // Title.
71
  if ( ! empty( $instance['title'] ) ) {
72
  echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
73
  }
74
 
75
+ // Form.
76
  if ( ! empty( $instance['form_id'] ) ) {
77
  wpforms()->frontend->output( absint( $instance['form_id'] ), $instance['show_title'], $instance['show_desc'] );
78
  }
91
  *
92
  * @return array The validated and (if necessary) amended settings
93
  */
94
+ public function update( $new_instance, $old_instance ) {
95
 
96
  $new_instance['title'] = wp_strip_all_tags( $new_instance['title'] );
97
+ $new_instance['form_id'] = ! empty( $new_instance['form_id'] ) ? (int) $new_instance['form_id'] : 0;
98
  $new_instance['show_title'] = isset( $new_instance['show_title'] ) ? '1' : false;
99
  $new_instance['show_desc'] = isset( $new_instance['show_desc'] ) ? '1' : false;
100
 
110
  *
111
  * @return void
112
  */
113
+ public function form( $instance ) {
114
 
115
  // Merge with defaults.
116
  $instance = wp_parse_args( (array) $instance, $this->defaults );
117
  ?>
118
  <p>
119
+ <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>">
120
+ <?php echo esc_html( _x( 'Title:', 'Widget', 'wpforms' ) ); ?>
121
  </label>
122
  <input type="text"
123
+ id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"
124
+ name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>"
125
+ value="<?php echo esc_attr( $instance['title'] ); ?>" class="widefat"/>
126
  </p>
127
  <p>
128
+ <label for="<?php echo esc_attr( $this->get_field_id( 'form_id' ) ); ?>">
129
+ <?php echo esc_html( _x( 'Form:', 'Widget', 'wpforms' ) ); ?>
130
  </label>
131
+ <select class="widefat"
132
+ id="<?php echo esc_attr( $this->get_field_id( 'form_id' ) ); ?>"
133
+ name="<?php echo esc_attr( $this->get_field_name( 'form_id' ) ); ?>">
134
  <?php
135
  $forms = wpforms()->form->get();
136
  if ( ! empty( $forms ) ) {
146
  </select>
147
  </p>
148
  <p>
149
+ <input type="checkbox" id="<?php echo esc_attr( $this->get_field_id( 'show_title' ) ); ?>"
150
+ name="<?php echo esc_attr( $this->get_field_name( 'show_title' ) ); ?>" <?php checked( '1', $instance['show_title'] ); ?>>
151
+ <label for="<?php echo esc_attr( $this->get_field_id( 'show_title' ) ); ?>">
152
+ <?php echo esc_html( _x( 'Display form name', 'Widget', 'wpforms' ) ); ?>
153
+ </label>
154
  <br>
155
+ <input type="checkbox" id="<?php echo esc_attr( $this->get_field_id( 'show_desc' ) ); ?>"
156
+ name="<?php echo esc_attr( $this->get_field_name( 'show_desc' ) ); ?>" <?php checked( '1', $instance['show_desc'] ); ?>>
157
+ <label for="<?php echo esc_attr( $this->get_field_id( 'show_desc' ) ); ?>">
158
+ <?php echo esc_html( _x( 'Display form description', 'Widget', 'wpforms' ) ); ?>
159
+ </label>
160
  </p>
161
  <?php
162
  }
languages/wpforms.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the WPForms package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: WPForms 1.4.8.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpforms\n"
7
- "POT-Creation-Date: 2018-08-31 15:15:02+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -13,23 +13,23 @@ msgstr ""
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
  #: includes/admin/admin.php:121 includes/admin/admin.php:151
16
- #: pro/includes/admin/class-addons.php:289
17
  msgid "Activate"
18
  msgstr ""
19
 
20
- #: includes/admin/admin.php:122 pro/includes/admin/class-addons.php:241
21
  msgid "Active"
22
  msgstr ""
23
 
24
- #: includes/admin/admin.php:123 pro/includes/admin/class-addons.php:284
25
  msgid "Deactivate"
26
  msgstr ""
27
 
28
- #: includes/admin/admin.php:124 pro/includes/admin/class-addons.php:247
29
  msgid "Inactive"
30
  msgstr ""
31
 
32
- #: includes/admin/admin.php:125 pro/includes/admin/class-addons.php:294
33
  msgid "Install Addon"
34
  msgstr ""
35
 
@@ -362,7 +362,8 @@ msgid ""
362
  "Notifications dropdown setting."
363
  msgstr ""
364
 
365
- #: includes/admin/builder/class-builder.php:359 lite/wpforms-lite.php:95
 
366
  #: pro/wpforms-pro.php:485
367
  msgid "Default Notification"
368
  msgstr ""
@@ -755,7 +756,7 @@ msgstr ""
755
 
756
  #: includes/admin/builder/panels/class-fields.php:142
757
  #: includes/admin/builder/panels/class-settings.php:118
758
- #: includes/admin/importers/class-contact-form-7.php:106
759
  #: includes/admin/importers/class-ninja-forms.php:123
760
  msgid "Submit"
761
  msgstr ""
@@ -1080,9 +1081,9 @@ msgid ""
1080
  "a>?"
1081
  msgstr ""
1082
 
1083
- #. #-#-#-#-# wpforms.pot (WPForms 1.4.8.1) #-#-#-#-#
1084
  #. Plugin Name of the plugin/theme
1085
- #. #-#-#-#-# wpforms.pot (WPForms 1.4.8.1) #-#-#-#-#
1086
  #. Author of the plugin/theme
1087
  #: includes/admin/class-menu.php:39 includes/admin/class-menu.php:40
1088
  #: includes/admin/class-menu.php:51 includes/admin/class-menu.php:103
@@ -1400,7 +1401,7 @@ msgstr ""
1400
  msgid "Required"
1401
  msgstr ""
1402
 
1403
- #: includes/admin/class-settings.php:426 includes/class-frontend.php:1023
1404
  #: includes/functions.php:1708
1405
  msgid "This field is required."
1406
  msgstr ""
@@ -1409,12 +1410,12 @@ msgstr ""
1409
  msgid "Website URL"
1410
  msgstr ""
1411
 
1412
- #: includes/admin/class-settings.php:432 includes/class-frontend.php:1024
1413
  #: pro/includes/fields/class-url.php:158
1414
  msgid "Please enter a valid URL."
1415
  msgstr ""
1416
 
1417
- #: includes/admin/class-settings.php:438 includes/class-frontend.php:1025
1418
  msgid "Please enter a valid email address."
1419
  msgstr ""
1420
 
@@ -1422,7 +1423,7 @@ msgstr ""
1422
  msgid "Number"
1423
  msgstr ""
1424
 
1425
- #: includes/admin/class-settings.php:444 includes/class-frontend.php:1026
1426
  #: includes/fields/class-number.php:157
1427
  msgid "Please enter a valid number."
1428
  msgstr ""
@@ -1431,7 +1432,7 @@ msgstr ""
1431
  msgid "Confirm Value"
1432
  msgstr ""
1433
 
1434
- #: includes/admin/class-settings.php:450 includes/class-frontend.php:1027
1435
  #: pro/includes/fields/class-password.php:404
1436
  msgid "Field values do not match."
1437
  msgstr ""
@@ -1523,7 +1524,7 @@ msgstr ""
1523
  msgid "Select previous contact form plugin..."
1524
  msgstr ""
1525
 
1526
- #: includes/admin/class-tools.php:276 pro/includes/admin/class-addons.php:244
1527
  msgid "Not Installed"
1528
  msgstr ""
1529
 
@@ -1632,7 +1633,7 @@ msgstr ""
1632
 
1633
  #: includes/admin/class-tools.php:498 includes/admin/class-welcome.php:260
1634
  #: lite/wpforms-lite.php:1324 lite/wpforms-lite.php:1350
1635
- #: pro/includes/admin/class-addons.php:297
1636
  msgid "Upgrade Now"
1637
  msgstr ""
1638
 
@@ -1931,67 +1932,87 @@ msgstr ""
1931
  msgid "There was an error while creating a new form."
1932
  msgstr ""
1933
 
1934
- #: includes/admin/importers/class-contact-form-7.php:107
 
 
 
 
 
 
 
 
1935
  #: includes/admin/importers/class-ninja-forms.php:124
 
1936
  msgid "Sending"
1937
  msgstr ""
1938
 
1939
- #: includes/admin/importers/class-contact-form-7.php:112
1940
  #: includes/admin/importers/class-ninja-forms.php:129
1941
  msgid "Notification 1"
1942
  msgstr ""
1943
 
1944
  #. translators: %s - Contact Form 7 form name.
1945
  #. translators: %s - Ninja Forms form name.
 
1946
  #. translators: %s - form name.
1947
  #. translators: %s - form name.
1948
- #: includes/admin/importers/class-contact-form-7.php:115
1949
- #: includes/admin/importers/class-contact-form-7.php:400
1950
  #: includes/admin/importers/class-ninja-forms.php:132
1951
- #: includes/admin/importers/class-ninja-forms.php:406 lite/wpforms-lite.php:144
1952
- #: pro/wpforms-pro.php:566
 
1953
  msgid "New Entry: %s"
1954
  msgstr ""
1955
 
1956
- #: includes/admin/importers/class-contact-form-7.php:123
1957
- #: includes/admin/importers/class-ninja-forms.php:140
 
1958
  #: includes/class-process.php:316 lite/wpforms-lite.php:248
1959
  #: lite/wpforms-lite.php:298 pro/wpforms-pro.php:694 pro/wpforms-pro.php:781
1960
  msgid "Thanks for contacting us! We will be in touch with you shortly."
1961
  msgstr ""
1962
 
1963
- #: includes/admin/importers/class-contact-form-7.php:134
1964
- #: includes/admin/importers/class-ninja-forms.php:151
 
1965
  msgid "No form fields found."
1966
  msgstr ""
1967
 
1968
- #: includes/admin/importers/class-contact-form-7.php:302
1969
  msgid "Acceptance Field"
1970
  msgstr ""
1971
 
1972
- #: includes/admin/importers/class-contact-form-7.php:397
1973
  msgid "Notification 2"
1974
  msgstr ""
1975
 
1976
  #. translators: %1$s - field type; %2$s - field name if available.
1977
- #: includes/admin/importers/class-contact-form-7.php:490
1978
  msgid "%1$s Field %2$s"
1979
  msgstr ""
1980
 
1981
- #: includes/admin/importers/class-ninja-forms.php:227
 
 
1982
  msgid "Single Checkbox Field"
1983
  msgstr ""
1984
 
1985
- #: includes/admin/importers/class-ninja-forms.php:403
1986
- #: includes/admin/importers/class-ninja-forms.php:419
1987
  msgid "Notification"
1988
  msgstr ""
1989
 
1990
  #. translators: %1$s - field type; %2$s - field name if available.
1991
- #: includes/admin/importers/class-ninja-forms.php:473
1992
  msgid "%1$s Field"
1993
  msgstr ""
1994
 
 
 
 
 
 
1995
  #: includes/admin/overview/class-overview-table.php:51
1996
  #: includes/fields/class-name.php:21 includes/fields/class-name.php:276
1997
  #: includes/templates/class-contact.php:34
@@ -2139,7 +2160,8 @@ msgid "Enable conditional logic"
2139
  msgstr ""
2140
 
2141
  #: includes/class-conditional-logic-core.php:212
2142
- msgid "Check this option to enable conditional logic on this field."
 
2143
  msgstr ""
2144
 
2145
  #: includes/class-conditional-logic-core.php:244
@@ -2154,10 +2176,6 @@ msgstr ""
2154
  msgid "Don't process"
2155
  msgstr ""
2156
 
2157
- #: includes/class-conditional-logic-core.php:288
2158
- msgid "Check this option to enable conditional logic."
2159
- msgstr ""
2160
-
2161
  #: includes/class-conditional-logic-core.php:494
2162
  msgctxt "Conditional Logic: new rule logic."
2163
  msgid "AND"
@@ -2172,36 +2190,36 @@ msgstr ""
2172
  msgid "Add rule group"
2173
  msgstr ""
2174
 
2175
- #: includes/class-frontend.php:1028
2176
  #: pro/includes/fields/class-file-upload.php:383
2177
  #: pro/includes/fields/class-file-upload.php:399
2178
  #: pro/includes/fields/class-file-upload.php:417 pro/wpforms-pro.php:194
2179
  msgid "File type is not allowed."
2180
  msgstr ""
2181
 
2182
- #: includes/class-frontend.php:1029 pro/wpforms-pro.php:200
2183
  msgid "File exceeds max size allowed."
2184
  msgstr ""
2185
 
2186
- #: includes/class-frontend.php:1030 pro/wpforms-pro.php:206
2187
  msgid "Please enter time in 12-hour AM/PM format (eg 8:45 AM)."
2188
  msgstr ""
2189
 
2190
- #: includes/class-frontend.php:1031 pro/wpforms-pro.php:212
2191
  msgid "Please enter time in 24-hour format (eg 22:45)."
2192
  msgstr ""
2193
 
2194
- #: includes/class-frontend.php:1032
2195
  #: pro/includes/fields/class-payment-total.php:208 pro/wpforms-pro.php:218
2196
  msgid "Payment is required."
2197
  msgstr ""
2198
 
2199
- #: includes/class-frontend.php:1033 pro/wpforms-pro.php:224
2200
  msgid "Please enter a valid credit card number."
2201
  msgstr ""
2202
 
2203
  #. translators: %s - URL to a non-amp version of a page with the form.
2204
- #: includes/class-frontend.php:1142
2205
  msgid "<a href=\"%s\">Go to the full page</a> to view and submit the form."
2206
  msgstr ""
2207
 
@@ -2331,7 +2349,7 @@ msgid "WPForms honeypot field triggered."
2331
  msgstr ""
2332
 
2333
  #. translators: %s - form name.
2334
- #: includes/class-process.php:434 lite/wpforms-lite.php:59
2335
  #: pro/wpforms-pro.php:454
2336
  msgid "New %s Entry"
2337
  msgstr ""
@@ -2447,22 +2465,22 @@ msgctxt "Widget"
2447
  msgid "Form:"
2448
  msgstr ""
2449
 
2450
- #: includes/class-widget.php:135
2451
  msgctxt "Widget"
2452
  msgid "Select your form"
2453
  msgstr ""
2454
 
2455
- #: includes/class-widget.php:141
2456
  msgctxt "Widget"
2457
  msgid "No forms"
2458
  msgstr ""
2459
 
2460
- #: includes/class-widget.php:149
2461
  msgctxt "Widget"
2462
  msgid "Display form name"
2463
  msgstr ""
2464
 
2465
- #: includes/class-widget.php:153
2466
  msgctxt "Widget"
2467
  msgid "Display form description"
2468
  msgstr ""
@@ -2814,7 +2832,7 @@ msgstr ""
2814
  #: pro/includes/fields/class-date-time.php:59
2815
  #: pro/includes/fields/class-date-time.php:146
2816
  #: pro/includes/fields/class-date-time.php:186
2817
- #: pro/includes/fields/class-phone.php:81
2818
  msgid "Format"
2819
  msgstr ""
2820
 
@@ -4976,7 +4994,7 @@ msgstr ""
4976
  msgid "Upgrade to WPForms Pro Now"
4977
  msgstr ""
4978
 
4979
- #: lite/wpforms-lite.php:1317 pro/includes/admin/class-addons.php:93
4980
  msgid "Search Addons"
4981
  msgstr ""
4982
 
@@ -5010,59 +5028,59 @@ msgstr ""
5010
  msgid "Could not activate addon. Please activate from the Plugins page."
5011
  msgstr ""
5012
 
5013
- #: pro/includes/admin/ajax-actions.php:121
5014
  msgid "Addon installed."
5015
  msgstr ""
5016
 
5017
- #: pro/includes/admin/ajax-actions.php:237
5018
- #: pro/includes/admin/ajax-actions.php:282
5019
  msgid "Please enter a license key."
5020
  msgstr ""
5021
 
5022
- #: pro/includes/admin/class-addons.php:92
5023
  msgid "Refresh Addons"
5024
  msgstr ""
5025
 
5026
- #: pro/includes/admin/class-addons.php:99
5027
  msgid ""
5028
  "There was an issue retrieving Addons for this site. Please click on the "
5029
- "button above the refresh."
5030
  msgstr ""
5031
 
5032
- #: pro/includes/admin/class-addons.php:105
5033
  msgid ""
5034
  "In order to get access to Addons, you need to resolve your license key "
5035
  "errors."
5036
  msgstr ""
5037
 
5038
- #: pro/includes/admin/class-addons.php:111
5039
  msgid ""
5040
  "In order to get access to Addons, you need to verify your license key for "
5041
  "WPForms."
5042
  msgstr ""
5043
 
5044
- #: pro/includes/admin/class-addons.php:119
5045
  msgid "Addons have successfully been refreshed."
5046
  msgstr ""
5047
 
5048
  #. translators: %s - refresh addons page URL.
5049
- #: pro/includes/admin/class-addons.php:132
5050
  msgid ""
5051
  "Improve your forms with our premium addons. Missing an addon that you think "
5052
  "you should be able to see? Click the <a href=\"%s\">Refresh Addons</a> "
5053
  "button above."
5054
  msgstr ""
5055
 
5056
- #: pro/includes/admin/class-addons.php:144
5057
  msgid "Available Addons"
5058
  msgstr ""
5059
 
5060
- #: pro/includes/admin/class-addons.php:194
5061
  msgid "Unlock More Features..."
5062
  msgstr ""
5063
 
5064
  #. translators: %s - WPForms.com Account page URL.
5065
- #: pro/includes/admin/class-addons.php:199
5066
  msgid ""
5067
  "Want to get even more features? <a href=\"%s\" target=\"_blank\" rel="
5068
  "\"noopener noreferrer\">Upgrade your WPForms account</a> and unlock the "
@@ -5071,7 +5089,7 @@ msgstr ""
5071
 
5072
  #. translators: %s - addon status label.
5073
  #. translators: %s - entry payment status.
5074
- #: pro/includes/admin/class-addons.php:271
5075
  #: pro/includes/admin/entries/class-entries-single.php:897
5076
  msgid "Status: %s"
5077
  msgstr ""
@@ -5582,7 +5600,7 @@ msgid "Address"
5582
  msgstr ""
5583
 
5584
  #: pro/includes/fields/class-address.php:39
5585
- #: pro/includes/fields/class-phone.php:93
5586
  msgid "US"
5587
  msgstr ""
5588
 
@@ -5613,7 +5631,7 @@ msgid "State"
5613
  msgstr ""
5614
 
5615
  #: pro/includes/fields/class-address.php:48
5616
- #: pro/includes/fields/class-phone.php:94
5617
  msgid "International"
5618
  msgstr ""
5619
 
@@ -6048,7 +6066,7 @@ msgstr ""
6048
  msgid "Phone"
6049
  msgstr ""
6050
 
6051
- #: pro/includes/fields/class-phone.php:82
6052
  msgid "Select format for the phone form field"
6053
  msgstr ""
6054
 
@@ -6416,9 +6434,9 @@ msgstr ""
6416
  msgid "Please deactivate WPForms Lite before activating WPForms."
6417
  msgstr ""
6418
 
6419
- #. #-#-#-#-# wpforms.pot (WPForms 1.4.8.1) #-#-#-#-#
6420
  #. Plugin URI of the plugin/theme
6421
- #. #-#-#-#-# wpforms.pot (WPForms 1.4.8.1) #-#-#-#-#
6422
  #. Author URI of the plugin/theme
6423
  msgid "https://wpforms.com"
6424
  msgstr ""
2
  # This file is distributed under the same license as the WPForms package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: WPForms 1.4.9\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wpforms\n"
7
+ "POT-Creation-Date: 2018-09-17 18:49:02+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
  #: includes/admin/admin.php:121 includes/admin/admin.php:151
16
+ #: pro/includes/admin/class-addons.php:290
17
  msgid "Activate"
18
  msgstr ""
19
 
20
+ #: includes/admin/admin.php:122 pro/includes/admin/class-addons.php:242
21
  msgid "Active"
22
  msgstr ""
23
 
24
+ #: includes/admin/admin.php:123 pro/includes/admin/class-addons.php:285
25
  msgid "Deactivate"
26
  msgstr ""
27
 
28
+ #: includes/admin/admin.php:124 pro/includes/admin/class-addons.php:248
29
  msgid "Inactive"
30
  msgstr ""
31
 
32
+ #: includes/admin/admin.php:125 pro/includes/admin/class-addons.php:295
33
  msgid "Install Addon"
34
  msgstr ""
35
 
362
  "Notifications dropdown setting."
363
  msgstr ""
364
 
365
+ #: includes/admin/builder/class-builder.php:359
366
+ #: includes/admin/importers/class-pirate-forms.php:445 lite/wpforms-lite.php:95
367
  #: pro/wpforms-pro.php:485
368
  msgid "Default Notification"
369
  msgstr ""
756
 
757
  #: includes/admin/builder/panels/class-fields.php:142
758
  #: includes/admin/builder/panels/class-settings.php:118
759
+ #: includes/admin/importers/class-contact-form-7.php:115
760
  #: includes/admin/importers/class-ninja-forms.php:123
761
  msgid "Submit"
762
  msgstr ""
1081
  "a>?"
1082
  msgstr ""
1083
 
1084
+ #. #-#-#-#-# wpforms.pot (WPForms 1.4.9) #-#-#-#-#
1085
  #. Plugin Name of the plugin/theme
1086
+ #. #-#-#-#-# wpforms.pot (WPForms 1.4.9) #-#-#-#-#
1087
  #. Author of the plugin/theme
1088
  #: includes/admin/class-menu.php:39 includes/admin/class-menu.php:40
1089
  #: includes/admin/class-menu.php:51 includes/admin/class-menu.php:103
1401
  msgid "Required"
1402
  msgstr ""
1403
 
1404
+ #: includes/admin/class-settings.php:426 includes/class-frontend.php:1029
1405
  #: includes/functions.php:1708
1406
  msgid "This field is required."
1407
  msgstr ""
1410
  msgid "Website URL"
1411
  msgstr ""
1412
 
1413
+ #: includes/admin/class-settings.php:432 includes/class-frontend.php:1030
1414
  #: pro/includes/fields/class-url.php:158
1415
  msgid "Please enter a valid URL."
1416
  msgstr ""
1417
 
1418
+ #: includes/admin/class-settings.php:438 includes/class-frontend.php:1031
1419
  msgid "Please enter a valid email address."
1420
  msgstr ""
1421
 
1423
  msgid "Number"
1424
  msgstr ""
1425
 
1426
+ #: includes/admin/class-settings.php:444 includes/class-frontend.php:1032
1427
  #: includes/fields/class-number.php:157
1428
  msgid "Please enter a valid number."
1429
  msgstr ""
1432
  msgid "Confirm Value"
1433
  msgstr ""
1434
 
1435
+ #: includes/admin/class-settings.php:450 includes/class-frontend.php:1033
1436
  #: pro/includes/fields/class-password.php:404
1437
  msgid "Field values do not match."
1438
  msgstr ""
1524
  msgid "Select previous contact form plugin..."
1525
  msgstr ""
1526
 
1527
+ #: includes/admin/class-tools.php:276 pro/includes/admin/class-addons.php:245
1528
  msgid "Not Installed"
1529
  msgstr ""
1530
 
1633
 
1634
  #: includes/admin/class-tools.php:498 includes/admin/class-welcome.php:260
1635
  #: lite/wpforms-lite.php:1324 lite/wpforms-lite.php:1350
1636
+ #: pro/includes/admin/class-addons.php:298
1637
  msgid "Upgrade Now"
1638
  msgstr ""
1639
 
1932
  msgid "There was an error while creating a new form."
1933
  msgstr ""
1934
 
1935
+ #: includes/admin/importers/class-contact-form-7.php:93
1936
+ msgid "Unknown Form"
1937
+ msgstr ""
1938
+
1939
+ #: includes/admin/importers/class-contact-form-7.php:94
1940
+ msgid "The form you are trying to import does not exist."
1941
+ msgstr ""
1942
+
1943
+ #: includes/admin/importers/class-contact-form-7.php:116
1944
  #: includes/admin/importers/class-ninja-forms.php:124
1945
+ #: includes/admin/importers/class-pirate-forms.php:440
1946
  msgid "Sending"
1947
  msgstr ""
1948
 
1949
+ #: includes/admin/importers/class-contact-form-7.php:121
1950
  #: includes/admin/importers/class-ninja-forms.php:129
1951
  msgid "Notification 1"
1952
  msgstr ""
1953
 
1954
  #. translators: %s - Contact Form 7 form name.
1955
  #. translators: %s - Ninja Forms form name.
1956
+ #. translators: %s - PirateForms form name.
1957
  #. translators: %s - form name.
1958
  #. translators: %s - form name.
1959
+ #: includes/admin/importers/class-contact-form-7.php:124
1960
+ #: includes/admin/importers/class-contact-form-7.php:414
1961
  #: includes/admin/importers/class-ninja-forms.php:132
1962
+ #: includes/admin/importers/class-ninja-forms.php:409
1963
+ #: includes/admin/importers/class-pirate-forms.php:448
1964
+ #: lite/wpforms-lite.php:144 pro/wpforms-pro.php:566
1965
  msgid "New Entry: %s"
1966
  msgstr ""
1967
 
1968
+ #: includes/admin/importers/class-contact-form-7.php:134
1969
+ #: includes/admin/importers/class-ninja-forms.php:142
1970
+ #: includes/admin/importers/class-pirate-forms.php:459
1971
  #: includes/class-process.php:316 lite/wpforms-lite.php:248
1972
  #: lite/wpforms-lite.php:298 pro/wpforms-pro.php:694 pro/wpforms-pro.php:781
1973
  msgid "Thanks for contacting us! We will be in touch with you shortly."
1974
  msgstr ""
1975
 
1976
+ #: includes/admin/importers/class-contact-form-7.php:147
1977
+ #: includes/admin/importers/class-ninja-forms.php:155
1978
+ #: includes/admin/importers/class-pirate-forms.php:426
1979
  msgid "No form fields found."
1980
  msgstr ""
1981
 
1982
+ #: includes/admin/importers/class-contact-form-7.php:316
1983
  msgid "Acceptance Field"
1984
  msgstr ""
1985
 
1986
+ #: includes/admin/importers/class-contact-form-7.php:411
1987
  msgid "Notification 2"
1988
  msgstr ""
1989
 
1990
  #. translators: %1$s - field type; %2$s - field name if available.
1991
+ #: includes/admin/importers/class-contact-form-7.php:504
1992
  msgid "%1$s Field %2$s"
1993
  msgstr ""
1994
 
1995
+ #: includes/admin/importers/class-ninja-forms.php:231
1996
+ #: includes/admin/importers/class-pirate-forms.php:243
1997
+ #: includes/admin/importers/class-pirate-forms.php:335
1998
  msgid "Single Checkbox Field"
1999
  msgstr ""
2000
 
2001
+ #: includes/admin/importers/class-ninja-forms.php:406
2002
+ #: includes/admin/importers/class-ninja-forms.php:422
2003
  msgid "Notification"
2004
  msgstr ""
2005
 
2006
  #. translators: %1$s - field type; %2$s - field name if available.
2007
+ #: includes/admin/importers/class-ninja-forms.php:476
2008
  msgid "%1$s Field"
2009
  msgstr ""
2010
 
2011
+ #: includes/admin/importers/class-pirate-forms.php:88
2012
+ #: includes/admin/importers/class-pirate-forms.php:176
2013
+ msgid "Default Form"
2014
+ msgstr ""
2015
+
2016
  #: includes/admin/overview/class-overview-table.php:51
2017
  #: includes/fields/class-name.php:21 includes/fields/class-name.php:276
2018
  #: includes/templates/class-contact.php:34
2160
  msgstr ""
2161
 
2162
  #: includes/class-conditional-logic-core.php:212
2163
+ #: includes/class-conditional-logic-core.php:288
2164
+ msgid "How to use Conditional Logic"
2165
  msgstr ""
2166
 
2167
  #: includes/class-conditional-logic-core.php:244
2176
  msgid "Don't process"
2177
  msgstr ""
2178
 
 
 
 
 
2179
  #: includes/class-conditional-logic-core.php:494
2180
  msgctxt "Conditional Logic: new rule logic."
2181
  msgid "AND"
2190
  msgid "Add rule group"
2191
  msgstr ""
2192
 
2193
+ #: includes/class-frontend.php:1034
2194
  #: pro/includes/fields/class-file-upload.php:383
2195
  #: pro/includes/fields/class-file-upload.php:399
2196
  #: pro/includes/fields/class-file-upload.php:417 pro/wpforms-pro.php:194
2197
  msgid "File type is not allowed."
2198
  msgstr ""
2199
 
2200
+ #: includes/class-frontend.php:1035 pro/wpforms-pro.php:200
2201
  msgid "File exceeds max size allowed."
2202
  msgstr ""
2203
 
2204
+ #: includes/class-frontend.php:1036 pro/wpforms-pro.php:206
2205
  msgid "Please enter time in 12-hour AM/PM format (eg 8:45 AM)."
2206
  msgstr ""
2207
 
2208
+ #: includes/class-frontend.php:1037 pro/wpforms-pro.php:212
2209
  msgid "Please enter time in 24-hour format (eg 22:45)."
2210
  msgstr ""
2211
 
2212
+ #: includes/class-frontend.php:1038
2213
  #: pro/includes/fields/class-payment-total.php:208 pro/wpforms-pro.php:218
2214
  msgid "Payment is required."
2215
  msgstr ""
2216
 
2217
+ #: includes/class-frontend.php:1039 pro/wpforms-pro.php:224
2218
  msgid "Please enter a valid credit card number."
2219
  msgstr ""
2220
 
2221
  #. translators: %s - URL to a non-amp version of a page with the form.
2222
+ #: includes/class-frontend.php:1148
2223
  msgid "<a href=\"%s\">Go to the full page</a> to view and submit the form."
2224
  msgstr ""
2225
 
2349
  msgstr ""
2350
 
2351
  #. translators: %s - form name.
2352
+ #: includes/class-process.php:438 lite/wpforms-lite.php:59
2353
  #: pro/wpforms-pro.php:454
2354
  msgid "New %s Entry"
2355
  msgstr ""
2465
  msgid "Form:"
2466
  msgstr ""
2467
 
2468
+ #: includes/class-widget.php:137
2469
  msgctxt "Widget"
2470
  msgid "Select your form"
2471
  msgstr ""
2472
 
2473
+ #: includes/class-widget.php:143
2474
  msgctxt "Widget"
2475
  msgid "No forms"
2476
  msgstr ""
2477
 
2478
+ #: includes/class-widget.php:152
2479
  msgctxt "Widget"
2480
  msgid "Display form name"
2481
  msgstr ""
2482
 
2483
+ #: includes/class-widget.php:158
2484
  msgctxt "Widget"
2485
  msgid "Display form description"
2486
  msgstr ""
2832
  #: pro/includes/fields/class-date-time.php:59
2833
  #: pro/includes/fields/class-date-time.php:146
2834
  #: pro/includes/fields/class-date-time.php:186
2835
+ #: pro/includes/fields/class-phone.php:86
2836
  msgid "Format"
2837
  msgstr ""
2838
 
4994
  msgid "Upgrade to WPForms Pro Now"
4995
  msgstr ""
4996
 
4997
+ #: lite/wpforms-lite.php:1317 pro/includes/admin/class-addons.php:95
4998
  msgid "Search Addons"
4999
  msgstr ""
5000
 
5028
  msgid "Could not activate addon. Please activate from the Plugins page."
5029
  msgstr ""
5030
 
5031
+ #: pro/includes/admin/ajax-actions.php:124
5032
  msgid "Addon installed."
5033
  msgstr ""
5034
 
5035
+ #: pro/includes/admin/ajax-actions.php:240
5036
+ #: pro/includes/admin/ajax-actions.php:285
5037
  msgid "Please enter a license key."
5038
  msgstr ""
5039
 
5040
+ #: pro/includes/admin/class-addons.php:93
5041
  msgid "Refresh Addons"
5042
  msgstr ""
5043
 
5044
+ #: pro/includes/admin/class-addons.php:101
5045
  msgid ""
5046
  "There was an issue retrieving Addons for this site. Please click on the "
5047
+ "button above to refresh."
5048
  msgstr ""
5049
 
5050
+ #: pro/includes/admin/class-addons.php:107
5051
  msgid ""
5052
  "In order to get access to Addons, you need to resolve your license key "
5053
  "errors."
5054
  msgstr ""
5055
 
5056
+ #: pro/includes/admin/class-addons.php:113
5057
  msgid ""
5058
  "In order to get access to Addons, you need to verify your license key for "
5059
  "WPForms."
5060
  msgstr ""
5061
 
5062
+ #: pro/includes/admin/class-addons.php:121
5063
  msgid "Addons have successfully been refreshed."
5064
  msgstr ""
5065
 
5066
  #. translators: %s - refresh addons page URL.
5067
+ #: pro/includes/admin/class-addons.php:134
5068
  msgid ""
5069
  "Improve your forms with our premium addons. Missing an addon that you think "
5070
  "you should be able to see? Click the <a href=\"%s\">Refresh Addons</a> "
5071
  "button above."
5072
  msgstr ""
5073
 
5074
+ #: pro/includes/admin/class-addons.php:146
5075
  msgid "Available Addons"
5076
  msgstr ""
5077
 
5078
+ #: pro/includes/admin/class-addons.php:195
5079
  msgid "Unlock More Features..."
5080
  msgstr ""
5081
 
5082
  #. translators: %s - WPForms.com Account page URL.
5083
+ #: pro/includes/admin/class-addons.php:200
5084
  msgid ""
5085
  "Want to get even more features? <a href=\"%s\" target=\"_blank\" rel="
5086
  "\"noopener noreferrer\">Upgrade your WPForms account</a> and unlock the "
5089
 
5090
  #. translators: %s - addon status label.
5091
  #. translators: %s - entry payment status.
5092
+ #: pro/includes/admin/class-addons.php:272
5093
  #: pro/includes/admin/entries/class-entries-single.php:897
5094
  msgid "Status: %s"
5095
  msgstr ""
5600
  msgstr ""
5601
 
5602
  #: pro/includes/fields/class-address.php:39
5603
+ #: pro/includes/fields/class-phone.php:98
5604
  msgid "US"
5605
  msgstr ""
5606
 
5631
  msgstr ""
5632
 
5633
  #: pro/includes/fields/class-address.php:48
5634
+ #: pro/includes/fields/class-phone.php:99
5635
  msgid "International"
5636
  msgstr ""
5637
 
6066
  msgid "Phone"
6067
  msgstr ""
6068
 
6069
+ #: pro/includes/fields/class-phone.php:87
6070
  msgid "Select format for the phone form field"
6071
  msgstr ""
6072
 
6434
  msgid "Please deactivate WPForms Lite before activating WPForms."
6435
  msgstr ""
6436
 
6437
+ #. #-#-#-#-# wpforms.pot (WPForms 1.4.9) #-#-#-#-#
6438
  #. Plugin URI of the plugin/theme
6439
+ #. #-#-#-#-# wpforms.pot (WPForms 1.4.9) #-#-#-#-#
6440
  #. Author URI of the plugin/theme
6441
  msgid "https://wpforms.com"
6442
  msgstr ""
readme.txt CHANGED
@@ -213,8 +213,15 @@ Syed Balkhi
213
 
214
  == Changelog ==
215
 
 
 
 
 
 
 
 
216
  = 1.4.8.1 =
217
- - Certain confirmation settings, before 1.4.8, not displaying correctly in the form builder.
218
 
219
  = 1.4.8 =
220
  - Added: Gutenberg block.
213
 
214
  == Changelog ==
215
 
216
+ = 1.4.9 =
217
+ - Added: Pirate Forms importer.
218
+ - Changed: Some form builder tooltips to contain documentation links.
219
+ - Fixed: Form builder javascript conflict with jQuery non-conflict mode.
220
+ - Fixed: PHP Notice from WPForms widget.
221
+ - Fixed: Incorrect markup around Addons submenu item.
222
+
223
  = 1.4.8.1 =
224
+ - Fixed: Certain confirmation settings, before 1.4.8, not displaying correctly in the form builder.
225
 
226
  = 1.4.8 =
227
  - Added: Gutenberg block.
wpforms.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: Beginner friendly WordPress contact form plugin. Use our Drag & Drop form builder to create your WordPress forms.
6
  * Author: WPForms
7
  * Author URI: https://wpforms.com
8
- * Version: 1.4.8.1
9
  * Text Domain: wpforms
10
  * Domain Path: languages
11
  *
@@ -90,7 +90,7 @@ if ( class_exists( 'WPForms' ) ) {
90
  *
91
  * @var string
92
  */
93
- public $version = '1.4.8.1';
94
 
95
  /**
96
  * The form data handler instance.
5
  * Description: Beginner friendly WordPress contact form plugin. Use our Drag & Drop form builder to create your WordPress forms.
6
  * Author: WPForms
7
  * Author URI: https://wpforms.com
8
+ * Version: 1.4.9
9
  * Text Domain: wpforms
10
  * Domain Path: languages
11
  *
90
  *
91
  * @var string
92
  */
93
+ public $version = '1.4.9';
94
 
95
  /**
96
  * The form data handler instance.