diff --git a/asset/build/css/styles.css b/asset/build/css/styles.css index 9bc1a6c..b2c7fef 100644 --- a/asset/build/css/styles.css +++ b/asset/build/css/styles.css @@ -1 +1 @@ -#overlay{background-color:hsla(0,0%,100%,.9);position:fixed;top:0;left:0;width:100%;height:100%;z-index:100000;overflow-x:auto;display:flex;flex-direction:row;align-items:flex-start;justify-content:center;transition:opacity .3s ease-out}#overlay.show{opacity:1;display:flex}@media screen and (max-width:700px){#overlay.show{justify-content:flex-start}}#overlay.hide{opacity:0;display:flex}@media screen and (max-width:1120px){.wpmdb-not-pro #overlay.show{justify-content:flex-start}}.stage-tabs{margin:0;z-index:5}.stage-tabs .stage-tab{box-sizing:border-box;display:block;float:left;width:auto;height:45px;margin:0 5px -1px 0;background-color:#ddd;border:1px solid #aaa;padding:.5em 1.5em 0;line-height:1.3;text-align:center;text-transform:capitalize;color:#333;transition:background-color .2s ease-in-out}.stage-tabs .stage-tab.active{background-color:#fff;border-bottom-color:#fff}.stage-tabs .stage-status{display:block;font-size:.8em;font-style:italic}.complete .stage-tabs .stage-tab:not(.active){cursor:pointer}.complete .stage-tabs .stage-tab:not(.active):hover{background-color:#eee}.migration-progress-stages{position:relative;margin:0 -30px;background:#fff;overflow-y:auto}.migration-progress-stages .migration-progress-stage-container{top:0;left:0;width:100%;padding:0}.migration-progress-stages .migration-progress-stage-container.complete,.migration-progress-stages .migration-progress-stage-container.queued{display:none}.migration-progress-stages .migration-progress-stage-container.active{display:block}.migration-progress-stages .migration-progress-stage-container.find_replace .progress-items .item-progress .size{display:none}.migration-progress-stages .migration-progress-stage-container.import .progress-items,.migration-progress-stages .migration-progress-stage-container.upload .progress-items{height:0!important;opacity:0}.migration-progress-stages .truncation-notice{margin:-10px 30px 10px;padding:5px 10px;color:#999;text-align:center}.migration-progress-stages .hide-tables .truncation-notice{display:none}.migration-progress-stages .progress-items{position:relative;overflow-y:auto;padding:10px 30px;z-index:0}.migration-progress-stages .item-progress{position:relative;background-color:#eee;overflow:hidden;margin:0 0 .8em;transition:height .2s ease-in-out,margin .2s ease-in-out}.migration-progress-stages .item-progress .dashicons-yes.dashicons{position:absolute;right:.3em;top:.12em;z-index:20;background:#333;color:#85d937;width:.75em;height:.75em;border-radius:50%;text-indent:-.18em;line-height:.8;vertical-align:2em;font-size:2em;opacity:0;transition:opacity .3s ease-in;transition-delay:.5s}.migration-progress-stages .item-progress.complete .dashicons-yes{opacity:1}.migration-progress-stages .item-progress .progress-bar{background:#85d937}.migration-progress-stages .item-progress .progress-bar.excluded{opacity:.3}.migration-progress-stages .item-progress .item-info{margin:0;position:relative;padding:.25em 0 .25em 1em;font-size:1em;z-index:10}.migration-progress-stages .hide-tables .progress-items{height:0!important;opacity:0}@keyframes a{0%{background-position:0 0}to{background-position:50px 50px}}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}.clearfix{zoom:1}.general-spinner{width:16px;height:16px}.migration-error{color:#a21b1b;display:block;max-height:400px;max-width:100%;overflow:auto;word-wrap:break-word}.migration-php-errors{display:none;margin:20px 0;overflow-y:scroll;height:180px}.progress-overlay-container{display:none;position:relative;background-color:#eee;padding:30px 30px 15px;box-shadow:0 0 10px rgba(0,0,0,.5);cursor:default;font-size:14px;z-index:1;margin:0 10px;box-sizing:border-box;flex-direction:column;max-height:95%;overflow-y:hidden;transition:opacity .3s ease-out,transform .5s ease-out;width:700px;min-width:700px;flex-basis:700px;flex:0 1 0%}.progress-overlay-container.show{display:flex;opacity:1}.progress-overlay-container.hide{display:flex;opacity:0;transform:translateY(-100%)}.progress-overlay-container>div{flex:1 0 auto}.progress-overlay-container .migration-progress-stages{flex:100 1 auto}@media (-ms-high-contrast:none){.progress-overlay-container .migration-progress-stages{height:300px}}.progress-overlay-container .progress-title{margin-top:0;font-size:22px;font-weight:400;width:85%;line-height:1.3}.progress-overlay-container .progress-title .domain-label{white-space:nowrap}.progress-overlay-container .progress-title .dashicons{display:inline;vertical-align:middle;margin-left:-.15em;padding-right:.3em;font-size:42px}.progress-overlay-container .progress-info-wrapper{margin-bottom:10px}.progress-overlay-container .progress-text{clear:left;float:left;width:100%}.progress-overlay-container .timer{position:absolute;top:35px;right:55px}.progress-overlay-container .progress-bar{position:absolute;top:0;left:0;height:100%;transition:width .5s ease-out;z-index:0}.progress-overlay-container .progress-bar-no-transition{transition:none!important}.progress-overlay-container .stage-progress{display:none;text-transform:capitalize;padding:15px 30px 0;margin:0 -30px;height:65px;box-sizing:border-box;background:#fff;border-top:1px solid #aaa;z-index:100}.progress-overlay-container .stage-progress.active{display:block}.progress-overlay-container .stage-progress .lowercase{text-transform:lowercase}.progress-overlay-container .stage-progress .items-complete{margin-left:3em}.progress-overlay-container .stage-progress .progress-bar-wrapper{position:relative;height:10px;width:100%;background-color:#eee;margin:15px 0 10px;background-image:linear-gradient(-45deg,hsla(0,0%,100%,.35) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.35) 0,hsla(0,0%,100%,.35) 75%,transparent 0,transparent);background-size:20px 20px;animation:a 5s linear infinite}.progress-overlay-container .stage-progress .progress-bar{background-color:#406fa4}.progress-overlay-container .stage-progress .show-hide-tables{display:block;float:right;cursor:pointer}.progress-overlay-container .stage-progress.find_replace .size-complete-wrap,.progress-overlay-container .stage-progress.import .items-complete-wrap,.progress-overlay-container .stage-progress.import .show-hide-tables,.progress-overlay-container .stage-progress.upload .items-complete-wrap,.progress-overlay-container .stage-progress.upload .show-hide-tables{display:none}.progress-overlay-container .stage-progress.find_replace .items-complete{margin-left:9em}.progress-overlay-container .progress-tables{overflow:hidden;margin-bottom:2px;padding:0 0 20px}.progress-overlay-container .progress-tables-hover-boxes{position:absolute;top:0;left:0;display:block;width:100%}.progress-overlay-container .progress-chunk-hover{display:block;float:left;height:35px;position:relative;top:-5px;z-index:1}.progress-overlay-container .progress-chunk{box-sizing:border-box;float:left;display:block;height:6px;border-right:1px solid #ccc;border-bottom:1px solid #ccc;color:#999;position:relative;text-align:center}.progress-overlay-container .progress-chunk>span{padding:0 3px;white-space:nowrap;text-overflow:ellipsis;margin-top:10px;display:inline-block}.progress-overlay-container .progress-label{padding:5px 10px;border:1px solid #ccc;border-radius:3px;background-color:#fff;font-family:Consolas,Monaco,monospace;font-size:12px;display:inline-block;top:-35px;position:absolute;opacity:0;transition:opacity .2s ease-in-out}.progress-overlay-container .label-visible{opacity:1}.progress-overlay-container .progress-label:before{border-top:4px solid #ccc;bottom:-5px}.progress-overlay-container .progress-label:after,.progress-overlay-container .progress-label:before{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;display:block;position:absolute;left:50%;margin-left:-2px}.progress-overlay-container .progress-label:after{border-top:4px solid #fff;bottom:-4px}.progress-overlay-container .migration-progress-ajax-spinner{left:7px;position:relative;top:15px}.progress-overlay-container .close-progress-content{color:#999;cursor:pointer;font-size:26px;font-weight:200;position:absolute;right:10px;top:5px;padding:5px;display:none}.progress-overlay-container .close-progress-content:hover{color:#666;border-color:#aaa}.progress-overlay-container .migration-controls{display:block;transition:opacity .2s ease-out;padding-top:15px}.progress-overlay-container .migration-controls.hidden{opacity:0;pointer-events:none}.progress-overlay-container .migration-controls span{float:left;text-align:center;display:block}.progress-overlay-container .migration-controls span:first-child{margin-right:10px;width:71px}.progress-overlay-container .migration-controls .pause-before-finalize{display:none;float:right;margin-top:5px}.progress-overlay-container .migration-controls #pause-before-finalize{margin-top:0}.progress-overlay-container .pro-version{margin-top:45px;padding-top:40px;position:relative;border-top:1px solid #ccc}.progress-overlay-container .pro-version iframe{position:absolute;top:40px;right:0;display:block}.progress-overlay-container .pro-version-content{padding-right:460px;min-height:255px}.progress-overlay-container .pro-version-content h1{line-height:1em;margin-top:0;font-size:20px}.progress-overlay-container .pro-version-content ul{margin-left:24px}.progress-overlay-container .pro-version-content li{position:relative;font-size:14px;line-height:1.4em;margin-bottom:15px;max-width:580px}.progress-overlay-container .pro-version-content .pro-quote{margin:0 0 20px;max-width:570px}.progress-overlay-container .pro-version-content .pro-quote .dashicons-star-filled{font-size:16px;width:16px;height:16px;position:relative;top:2px}.progress-overlay-container .pro-version-content .pro-quote-author{font-style:italic;white-space:nowrap}.progress-overlay-container.wpmdb-error{outline:3px solid #dc3232}@media screen and (max-width:1096px){.progress-overlay-container .pro-version iframe{position:relative;top:auto;right:auto}.progress-overlay-container .pro-version-content{min-height:0;padding:0 0 20px}}.progress-overlay-container:not(.complete) .migration-progress-stages .item-progress:first-child{background-image:linear-gradient(-45deg,hsla(0,0%,100%,.3) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.3) 0,hsla(0,0%,100%,.3) 75%,transparent 0,transparent);background-size:50px 50px;animation:a 2s linear infinite}.progress-overlay-container.paused .active.stage-progress .progress-bar-wrapper,.progress-overlay-container.paused .migration-progress-stages .item-progress:first-child{animation-play-state:paused}.progress-overlay-container .migration-progress-stages .determining-media .item-progress:first-child{background-image:none;animation:none}.migrate-tab>.pro-version,.progress-overlay-container.cancelled .migration-progress-stages,.progress-overlay-container.cancelled .stage-progress.active,.progress-overlay-container.cancelled .stage-tabs,.progress-overlay-container.wpmdb-error .migration-progress-stages,.progress-overlay-container.wpmdb-error .stage-progress.active,.progress-overlay-container.wpmdb-error .stage-tabs{display:none}#overlay .pro-version{width:42%;padding-left:0;padding-right:0;flex-basis:42%;max-width:515px;min-width:400px;max-height:100%;order:2;font-size:14px;display:block;transition:transform .3s ease-out,opacity .3s ease-out,margin-left .2s ease-in-out .3s}#overlay .pro-version.remove{margin-left:-525px!important}#overlay .pro-version .pro-version-content{padding:0 30px}#overlay .pro-version .pro-version-content h1{font-size:22px;font-weight:700;margin:0 0 30px}#overlay .pro-version .pro-version-content li{margin-bottom:10px;padding-left:35px;position:relative}#overlay .pro-version .pro-version-content li .dashicons{display:block;position:absolute;font-size:2em;top:-3px;left:0}#overlay .pro-version .pro-version-content .pro-quote{border:1px solid #bbb;border-radius:3px;padding:15px 15px 15px 100px;margin:30px 0;position:relative;background:url(../img/mor10.png) no-repeat 15px 31px;background-size:51px 51px}@media (-webkit-min-device-pixel-ratio:1.3),(min--moz-device-pixel-ratio:1.3),(min-device-pixel-ratio:1.3),(min-resolution:1.3dppx){#overlay .pro-version .pro-version-content .pro-quote{background-image:url(../img/mor10@2x.png)}}#overlay .pro-version .pro-version-content .pro-quote p{margin:0;font-size:13px}#overlay .pro-version .pro-version-content .pro-quote .pro-quote-author{font-size:14px;font-weight:700;color:#999;margin-bottom:5px}#overlay .pro-version .pro-version-content .pro-quote .pro-quote-author .dashicons{float:right;color:#999}#overlay .pro-version .pro-version-content .pro-quote .stars{position:absolute;bottom:0;left:0;width:100%;height:0;overflow:visible;text-align:center}#overlay .pro-version .pro-version-content .pro-quote .stars span{background:#eee;color:#999;margin-top:-.5em}#overlay .pro-version .pro-version-content .pro-quote .stars span:first-child{padding-left:.1em}#overlay .pro-version .pro-version-content .pro-quote .stars span:last-child{padding-right:.1em}#overlay .pro-version .iframe,#overlay .pro-version iframe{width:100%;height:289px;background:#000}#overlay .pro-version .button{display:block;position:relative;width:250px;margin:20px auto 10px;text-align:center}#overlay .pro-version .close-pro-version{color:#999;cursor:pointer;font-size:26px;font-weight:200;position:absolute;right:10px;top:5px;padding:5px;display:block}#overlay .pro-version .close-pro-version:hover{color:#666;border-color:#aaa}.check-licence-spinner{left:5px;position:relative;top:2px;margin-bottom:-2px;width:16px;height:16px}.wpmdb-original-update-row{display:none}.plugin-update-tr.wpmdbpro-custom-visible .update-message.pre-shiny-updates,.plugin-update-tr.wpmdbpro-custom .update-message.pre-shiny-updates{padding-left:40px}.plugin-update-tr.wpmdbpro-custom-visible .update-message.pre-shiny-updates:before,.plugin-update-tr.wpmdbpro-custom .update-message.pre-shiny-updates:before{margin-left:-30px;float:left}.plugin-update-tr.wpmdbpro-custom-visible .update-message.pre-shiny-updates p,.plugin-update-tr.wpmdbpro-custom .update-message.pre-shiny-updates p{display:inline-block;margin:0}.plugin-update-tr.wpmdbpro-custom-visible .update-message.pre-shiny-updates span,.plugin-update-tr.wpmdbpro-custom .update-message.pre-shiny-updates span{display:block}.plugin-update-tr.wpmdbpro-custom-visible .update-message.post-shiny-updates p:before,.plugin-update-tr.wpmdbpro-custom .update-message.post-shiny-updates p:before{position:absolute}.plugin-update-tr.wpmdbpro-custom-visible .update-message.post-shiny-updates p span,.plugin-update-tr.wpmdbpro-custom .update-message.post-shiny-updates p span{margin-left:30px;display:block}.plugins #the-list tr.wpmdbpro-has-message td,.plugins #the-list tr.wpmdbpro-has-message th{box-shadow:none;-webkit-box-shadow:none}.plugins .plugin-update-tr .wpmdb-compat-plugin-row-error .notice{margin-top:0}#wpmdb-main{width:742px;position:relative;min-height:950px;visibility:visible}.wpmdb h2~.error,.wpmdb h2~.notice,.wpmdb h2~.updated{clear:both}.wpmdb div.below-title.warning,.wpmdb div.updated.warning{max-width:742px;box-sizing:border-box;margin:10px 0}.wpmdb div.below-title.warning p,.wpmdb div.updated.warning p{font-size:13px;margin:.5em 0}.wpmdb a{text-decoration:none}.wpmdb li{margin-bottom:5px;position:relative}.wpmdb ul{margin:0}.wpmdb input[type=checkbox],.wpmdb input[type=radio]{margin-right:5px;vertical-align:baseline;margin-top:0}.wpmdb input[type=password],.wpmdb input[type=text]{padding:5px}.wpmdb input[disabled=disabled],.wpmdb label[disabled=disabled]{cursor:default}.wpmdb label.disabled{color:#888;cursor:default}.wpmdb div.disabled{color:#888}.wpmdb .option-section{border-bottom:1px solid #ccc;padding-bottom:20px;margin-bottom:20px}.wpmdb .option-section h3{font-size:18px;font-weight:400}.wpmdb p.migrate-db{overflow:hidden;min-height:29px}.wpmdb p.migrate-db input{float:left}.wpmdb p.migrate-db img{float:left;margin:3px 0 0 5px}.wpmdb p.migrate-db .save-settings-button{margin-left:10px;display:none}.wpmdb .indent-wrap{margin-left:24px}.wpmdb .expandable-content{display:none;margin-top:10px}.wpmdb .expandable-content li:last-child{margin-bottom:0}.wpmdb .header-wrapper{margin-bottom:10px}.wpmdb .header-expand-collapse{cursor:pointer;display:inline-block}.wpmdb .option-description{font-size:12px;color:#999;margin-left:8px;font-weight:400}.wpmdb .option-group li:last-child{margin-bottom:0}.wpmdb .connection-status{display:none;overflow:auto}.wpmdb .connection-status.error{color:#9d1818}.wpmdb .copy-licence-to-remote-site{display:inline-block}.wpmdb .ajax-spinner{left:6px;position:relative;top:3px}.wpmdb div.message{margin:15px 0 0}.wpmdb .licence-wrap h3{margin:0 0 10px}.wpmdb .licence-input{clear:both;display:block;font-family:Consolas,Monaco,monospace;font-size:14px;margin-bottom:7px;padding:10px;width:418px}.wpmdb .register-licence{float:left;outline:none}.wpmdb .licence-status{color:#a21b1b;font-weight:700;clear:both;padding-top:.5em;margin:0}.wpmdb .licence-status.success{color:#333}.wpmdb .register-licence-ajax-spinner{margin:4px 0 0 8px}.wpmdb .return-to-profile-selection{margin-bottom:15px;display:inline-block}.wpmdb .return-to-profile-selection.bottom{margin-top:10px}.wpmdb h2.nav-tab-wrapper{margin-top:10px;margin-bottom:20px;padding-left:5px}.wpmdb h2.nav-tab-wrapper a.nav-tab-active{color:#464646;cursor:default}.wpmdb label{display:inline-block;clear:both}.wpmdb .migration-profile-options li{position:relative;width:520px}.wpmdb .migration-profile-options li a{padding:5px 10px;width:500px;border:1px solid #ddd;margin:0 0 7px;display:block;font-size:14px;color:#333}.wpmdb .migration-profile-options li a:hover{border-color:#bbb}.wpmdb .main-list-delete-profile-link{color:#999;font-size:26px;font-weight:200;position:absolute;right:7px;top:4px;cursor:pointer}.wpmdb .main-list-delete-profile-link:hover{color:#444}.wpmdb .crumbs{overflow:hidden;border-bottom:1px solid #ccc;padding:12px 0}.wpmdb .crumbs .crumb{position:relative;display:block;float:left;margin-right:4px;padding-right:3px;font-size:13px;font-weight:700}.wpmdb .crumbs span.crumb{padding-left:25px}.wpmdb .crumbs span.crumb:before{content:"\F345";position:absolute;left:0;top:0;display:inline-block;-webkit-font-smoothing:antialiased;font:normal 18px/1 dashicons;vertical-align:middle}.wpmdb .option-group li{margin-bottom:5px}.wpmdb .option-group>li{margin-bottom:8px}.wpmdb .option-group li>label{font-size:14px;font-weight:700}.wpmdb .option-group ul{display:none;margin:10px 0 10px 25px}.wpmdb .option-group ul label{font-size:12px;font-weight:400}.wpmdb .checkbox-label,.wpmdb .option-heading{font-size:14px;font-weight:700}.wpmdb .checkbox-label input[type=checkbox]{margin-right:7px;position:relative;top:-1px}.wpmdb .expand-collapse-arrow{margin-right:9px}.wpmdb .migrate-selection{padding-top:20px}.wpmdb .migrate-connection-info{min-width:675px;margin:0}.wpmdb .migrate-tab .pull-push-connection-info{width:418px;height:65px;color:#333;font-family:Consolas,Monaco,monospace;font-size:15px;line-height:21px;padding:10px}.wpmdb .migrate-tab.import .advanced-options,.wpmdb .migrate-tab.import .exclude-post-types-options,.wpmdb .migrate-tab.import .table-options{margin-left:24px;display:none!important}.wpmdb .migrate-tab.import .advanced-options,.wpmdb .migrate-tab.import .find-replace-options,.wpmdb .migrate-tab.import .table-options{border-bottom:none;margin-bottom:0}.wpmdb .migrate-tab.import .exclude-post-types-options,.wpmdb .migrate-tab.import .table-options{border-top:1px solid #ccc;padding-top:20px}.wpmdb .basic-access-auth-wrapper{display:none;margin-bottom:5px}.wpmdb .auth-password,.wpmdb .auth-username{width:206px;margin-top:3px}.wpmdb .auth-password{width:207px}.wpmdb .connection-info-wrapper{display:none;width:670px}.wpmdb .connect-button{margin-top:2px}.wpmdb .temp-disabled{background-color:#eee;color:#888;font-family:Consolas,Monaco,monospace;text-shadow:0 1px 0 #fff}.wpmdb .push-list ul{margin-bottom:0}.wpmdb .find-heading,.wpmdb .replace-heading{float:left}.wpmdb .find-heading{width:382px}.wpmdb .replace-fields{border-collapse:collapse;border-spacing:0}.wpmdb .replace-fields input{width:295px}.wpmdb .replace-fields tr td{padding-bottom:7px}.wpmdb .replace-fields tr:last-child td{padding-bottom:0}.wpmdb .arrow-col{width:93px;text-align:center;vertical-align:middle}.wpmdb .right-arrow{font-size:36px;color:#aaa}.wpmdb .replace-right-col span{border-radius:50%;border:1px solid #ccc;background-color:#eee;width:16px;height:16px;display:inline-block;position:relative;top:4px;cursor:pointer}.wpmdb .replace-right-col span:hover{border-color:#aaa}.wpmdb .pin .sort-handle-col{opacity:.5;cursor:default}.wpmdb .pin .sort-handle{cursor:default!important}.wpmdb .sort-handle-col{width:20px;cursor:-webkit-grab;cursor:-moz-grab}.wpmdb .sort-handle:before{content:"\F214";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 20px/1 dashicons;vertical-align:top;color:#aaa;background-color:transparent!important;margin-right:4px}.wpmdb .original-repeatable-field{display:none}.wpmdb .no-replaces-message{display:none;margin-bottom:0}.wpmdb .inline-message.missing-replace{margin-top:15px;display:none}.wpmdb #new-path-missing-warning{margin-top:5px}.wpmdb .tables-header{display:inline-block}.wpmdb .expand-collapse-arrow{display:inline-block;position:relative;top:-2px;font-size:11px}.wpmdb .collapsed{-webkit-transform:scale(1) rotate(-90deg) translateX(0) translateY(0) skewX(0deg) skewY(0deg);transform:scale(1) rotate(-90deg) translateX(0) translateY(0) skewX(0deg) skewY(0deg)}.wpmdb .select-deselect-divider{margin:0 6px}.wpmdb .select-wrap{display:none;margin-top:12px}.wpmdb .select-wrap .find-replace-msg{display:none}.wpmdb .select-post-types-wrap{display:block}.wpmdb .exclude-post-types-warning{font-size:13px;font-weight:700;color:#9c1f1f}.wpmdb .exclude-post-types-warning p{margin:0 0 12px}.wpmdb .exclude-post-types-warning .find-replace-msg{display:none}.wpmdb .multiselect{min-width:550px;min-height:180px;margin-bottom:10px}.wpmdb .table-migrate-options li label{font-size:12px;font-weight:400}.wpmdb .table-migrate-options li{margin-bottom:5px}.wpmdb .general-helper{border-radius:50%;border:1px solid #ccc;background-color:#eee;width:15px;height:15px;display:inline-block;position:relative;top:4px;margin-top:-4px;cursor:pointer;margin-left:2px}.wpmdb .general-helper:hover{border-color:#aaa}.wpmdb .general-helper:after{content:"?";color:#999;font-size:10px;font-weight:700;left:4px;position:absolute;top:-1px}.wpmdb .helper-message{padding:10px 16px;border-radius:3px;background-color:#fff;position:absolute;width:500px;z-index:9999;display:none;box-shadow:0 0 10px rgba(0,0,0,.2)}.wpmdb .inline-message{padding:10px;border-radius:3px;margin-top:5px}.wpmdb .inline-message.error{border:1px solid #c00;background-color:#ffebe8}.wpmdb .inline-message.warning{background-color:#ffffe0;border:1px solid #e6db55}.wpmdb .helper-message:after{content:"";border-bottom:8px solid transparent;border-right:8px solid #fff;border-top:8px solid transparent;display:block;height:0;left:-7px;position:absolute;top:11px;width:0}.wpmdb .helper-message.bottom:before{border-bottom:8px solid #aaa;top:-9px}.wpmdb .helper-message.bottom:after,.wpmdb .helper-message.bottom:before{content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-top:0;display:block;height:0;left:50%;margin-left:-8px;position:absolute;width:0}.wpmdb .helper-message.bottom:after{border-bottom:8px solid #fff;top:-8px}.wpmdb .label-disabled{color:#888}.wpmdb .different-plugin-version-notice,.wpmdb .directory-permission-notice,.wpmdb .prefix-notice,.wpmdb .ssl-notice,.wpmdb .unrecognized-import-file-notice{background-color:#ffffe0;border:1px solid #e6db55;padding:15px;border-radius:3px;margin-bottom:15px;display:none}.wpmdb .different-plugin-version-notice p,.wpmdb .directory-permission-notice p,.wpmdb .prefix-notice p,.wpmdb .ssl-notice p,.wpmdb .unrecognized-import-file-notice p{margin-top:0}.wpmdb .different-plugin-version-notice p:last-child,.wpmdb .directory-permission-notice p:last-child,.wpmdb .prefix-notice p:last-child,.wpmdb .ssl-notice p:last-child,.wpmdb .unrecognized-import-file-notice p:last-child{margin:0}.wpmdb .mst-required{display:none}.wpmdb .different-plugin-version-notice,.wpmdb .directory-permission-notice{background-color:#ffebe8;border-color:#c00}.wpmdb .different-plugin-version-notice a,.wpmdb .directory-permission-notice a{color:#c00;text-decoration:underline}.wpmdb .mixed-case-table-name-notice{display:none}.wpmdb .save-migration-profile-wrap li label{font-size:12px;font-weight:400}.wpmdb .save-migration-profile-wrap li{margin-bottom:5px;padding-left:25px}.wpmdb .save-migration-profile-wrap .indent-wrap{margin-left:0}.wpmdb .create-new-label{margin-right:8px}.wpmdb .create-new-profile{position:absolute;top:-5px}.wpmdb .delete-profile,.wpmdb .replace-remove-row{background-color:#eee;border:1px solid #ccc;border-radius:50% 50% 50% 50%;cursor:pointer;height:11px;left:5px;margin-left:2px;position:absolute;margin-top:-6px;top:50%;width:11px;display:block;background-position:50% 50%;background-size:6px 6px;background-repeat:no-repeat}.wpmdb .delete-profile:after,.wpmdb .replace-remove-row:after{content:"\D7";left:2px;position:absolute;top:-3px;color:#aaa;font-size:12px}.wpmdb .replace-remove-row:after{position:relative}.wpmdb .delete-profile:hover,.wpmdb .replace-remove-row:hover{border-color:#aaa}.wpmdb .ajax-success-msg{font-weight:700;margin-left:9px;position:absolute;display:inline-block}.wpmdb .migrate-db .ajax-success-msg{margin-top:3px}.wpmdb p img.save-profile-ajax-spinner{margin:6px 0 0 10px}.wpmdb .backup-description{left:20px;position:relative}.wpmdb .backup-option-disabled{margin-bottom:0!important}.wpmdb .settings-tab{display:none}.wpmdb .settings-tab .slider{max-width:416px}.wpmdb .settings-tab .slider-label{display:block;margin-bottom:10px;float:left;width:50%}.wpmdb .settings-tab .slider-label span{vertical-align:middle}.wpmdb .settings-tab .slider-label-wrapper{max-width:416px;width:100%;position:relative;font-size:14px}.wpmdb .settings-tab .amount{width:50%;text-align:right;display:block;float:left}.wpmdb .settings-tab .slider-spinner{position:absolute;right:-35px;bottom:-13px}.wpmdb .settings-tab .slider-success-msg{right:-63px;bottom:-14px;position:absolute;font-weight:700}.wpmdb .settings-tab .ui-slider{border:2px solid #fff;background:#fff;height:10px;border-radius:2px;position:relative;opacity:1}.wpmdb .settings-tab .ui-slider-handle{width:20px;height:20px;background:#ade7b5;border:2px solid #fff;border-radius:50%;display:block;position:absolute;top:-7px;outline:none;margin-left:-11px}.wpmdb .settings-tab .ui-slider-handle:active{background:#86db91;border-color:#eee}.wpmdb .settings-tab .ui-slider-range{background:#ade7b5;height:100%}.wpmdb .settings-tab .form-table{margin-top:0}.wpmdb .settings-tab .form-table h3,.wpmdb .settings-tab .form-table h4,.wpmdb .settings-tab .form-table p{margin:0;line-height:1.2}.wpmdb .settings-tab .form-table p.has-margin{margin-bottom:10px}.wpmdb .settings-tab .form-table h3{font-weight:400}.wpmdb .settings-tab .form-table h4{font-size:15px}.wpmdb .settings-tab .form-table h4 .helper-message{font-weight:400}.wpmdb .settings-tab .form-table h4 img.ajax-spinner{position:absolute;float:left;top:auto;left:auto;margin-top:1px}.wpmdb .settings-tab .form-table h4 .setting-status .ajax-success-msg{margin-left:6px}.wpmdb .settings-tab .form-table tr td{padding:10px 0}.wpmdb .settings-tab .form-table tr.wpmdb-setting-title td{padding-bottom:0}.wpmdb .settings-tab .form-table tr.wpmdb-setting-title td h3{margin:10px 0}.wpmdb .settings-tab .form-table tr:first-child td{padding-top:0}.wpmdb .settings-tab .form-table tr:first-child td h3{margin-top:0}.wpmdb .settings-tab .form-table tr td:first-child{vertical-align:top;min-width:100px;width:100px}@media screen and (max-width:782px){.wpmdb .settings-tab .form-table tr td:first-child{width:auto}}.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode td{padding-bottom:0}.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode>td{padding:20px 0}.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode .notification-message{margin:15px 0 0}.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode .expandable-content{margin-top:15px}.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode .compatibility-mode-description h4,.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode .compatibility-mode-description p{line-height:1.4}.wpmdb .settings-tab .form-table tr.option-section label{font-weight:400;position:relative}.wpmdb .settings-tab .form-table tr.option-section li{margin-bottom:5px}.wpmdb .settings-tab .form-table tr.option-section li:last-child{margin-bottom:0}.wpmdb .settings-tab .form-table tr.option-section.allow-remote-requests-wrap .ajax-spinner,.wpmdb .settings-tab .form-table tr.option-section.plugin-compatibility-section .ajax-spinner{right:-23px;left:inherit;top:0;position:absolute}.wpmdb .settings-tab .form-table tr.option-section .bubble .ajax-spinner{right:-45px}.wpmdb .settings-tab .form-table tr.option-section .bubble .ajax-success-msg{right:-65px}.wpmdb .settings-tab .form-table tr.option-section td{padding-bottom:20px}.wpmdb .settings-tab .form-table tr.licence-wrap td{padding-top:0}.wpmdb .settings-tab .form-table tr.licence-wrap td .notification-message{margin:10px 0 0}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap{height:170px;padding-top:20px;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);clear:both}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap #welcome-img{width:170px;height:170px;float:left}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap .welcome-text{height:130px;padding:20px 25px 20px 195px;background:#fff}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap .welcome-text h3{font-weight:lighter;font-size:22px;margin-bottom:10px}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap .welcome-text p{font-size:15px;line-height:1.5}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap .welcome-text a{font-weight:700}.wpmdb .settings-tab .form-table tr.plugin-compatibility-section td{padding-top:0}.wpmdb .settings-tab .form-table .general-helper{width:20px}.wpmdb .settings-tab .form-table .general-helper:after{top:-1px;font-size:22px;height:20px;left:-1px}.wpmdb .settings-tab .setting-status{padding-left:6px}.wpmdb .settings-tab .slider-label span{font-weight:700}.wpmdb .allow-remote-reqeusts{font-size:14px;font-weight:700}.wpmdb .connection-info-label{margin-top:15px;margin-bottom:5px;display:block}.wpmdb .connection-info{clear:both;font-size:15px;line-height:21px;font-family:Consolas,Monaco,monospace;padding:10px;height:67px;text-shadow:0 1px 0 #fff;display:block;margin-bottom:7px;width:418px}.wpmdb .reset-button-wrap{width:418px}.wpmdb .reset-button-wrap .button{float:left;position:relative}.wpmdb .reset-button-wrap .button:first-of-type{margin-right:10px}.wpmdb .reset-button-wrap .button.copy-api-key .copy-api-key-confirmation{display:none;left:0;position:absolute;text-align:center;top:0;height:100%;width:100%;color:#333}.wpmdb .reset-button-wrap .reset-api-key-ajax-spinner{float:left;margin:4px 7px}.wpmdb .masked-licence{margin-top:0}.wpmdb .bull{font-size:22px;position:relative;top:4px}.wpmdb .plugin-compatibility-wrap{padding:18px 18px 18px 100px;background-color:#e6e6e6;margin-left:0}.wpmdb .plugin-compatibility-wrap p:last-of-type{margin:10px 0 0}.wpmdb ul.plugin-compatibility-options{display:block;margin:10px 0}.wpmdb .plugin-compatibility-spinner{position:relative;top:3px;left:10px}.wpmdb .plugin-compatibility-success-msg{position:relative;left:10px;font-weight:700}.wpmdb .wpmdb-switch{position:relative;display:inline-block;padding:2px;overflow:hidden;border-radius:2px;background-color:#d4d3d3;cursor:pointer}.wpmdb .wpmdb-switch.on{background-color:#ade7b5}.wpmdb .wpmdb-switch span{visibility:hidden;box-sizing:border-box;float:left;display:inline-block;height:100%;font-size:12px;line-height:20px;border-radius:2px;-webkit-border-radius:2px;font-weight:700;padding:4px 8px;background:#fff;color:#8d8d8d;z-index:1}.wpmdb .wpmdb-switch span.on{color:#82d78b}.wpmdb .wpmdb-switch span.checked{visibility:visible}.wpmdb .wpmdb-switch.disabled{cursor:default;background:#e6e6e6}.wpmdb .wpmdb-switch.disabled span{background:#f1f1f1;color:#d6d6d6}.wpmdb .wpmdb-switch input[type=checkbox]{position:absolute!important;top:0;left:0;opacity:0;z-index:-1}.wpmdb .help-tab{display:none}.wpmdb .help-tab h3{font-size:18px;font-weight:400}.wpmdb .help-tab .support{border-bottom:1px solid #ccc;margin-bottom:25px;padding-bottom:18px}.wpmdb .help-tab .support p{width:640px}.wpmdb .help-tab .support .email a{font-size:12px}.wpmdb .help-tab .support .upgrade-to-pro{font-size:16px;font-weight:700}.wpmdb .help-tab .support .upgrade-to-pro a{white-space:nowrap}.wpmdb .help-tab .support .ajax-spinner{top:2px}.wpmdb .help-tab .debug .ajax-spinner{top:6px}.wpmdb .help-tab .debug .ajax-success-msg{margin-top:5px}.wpmdb .help-tab .video-viewer{margin-bottom:30px;border:1px solid #ccc}.wpmdb .help-tab .videos{width:640px}.wpmdb .help-tab .videos ul>li{margin-bottom:30px;overflow:hidden;position:relative}.wpmdb .help-tab .videos ul>li a{overflow:hidden;display:block;width:320px;height:180px;float:left;margin-right:15px;position:relative;z-index:1;border:1px solid #ccc}.wpmdb .help-tab .videos ul>li a:after,.wpmdb .help-tab .videos ul>li a:before{position:absolute;content:" ";margin:auto;left:0;right:0;top:0;bottom:0}.wpmdb .help-tab .videos ul>li a:before{width:64px;height:64px;border-radius:64px;opacity:.8;border:1px solid #ddd;background-color:#fff;z-index:2}.wpmdb .help-tab .videos ul>li a:after{opacity:.8;border:21.33333px solid transparent;border-top-width:12.8px;border-bottom-width:12.8px;border-left-color:#333;background:transparent;display:block;left:25px;width:0;height:0;z-index:3}.wpmdb .help-tab .videos .video:last-child{margin-bottom:0}.wpmdb .help-tab .videos img{width:320px;height:240px;position:relative;top:50%;margin-top:-120px}.wpmdb .help-tab .debug{width:640px;border-bottom:1px solid #ccc;margin-bottom:25px;padding-bottom:28px}.wpmdb .help-tab .debug textarea{width:100%;min-height:200px;font-family:Consolas,Monaco,monospace;margin-bottom:5px}.wpmdb .help-tab h4{margin:0 0 .2em}.wpmdb .help-tab p{margin:0 0 .5em}.wpmdb .addons-tab,.wpmdb .help-tab iframe{display:none}.wpmdb .addons-tab .addons-content>article:first-child,.wpmdb .addons-tab .addons-content>div:first-child{margin-top:0}.wpmdb .addons-tab .addon{position:relative;width:100%;min-height:138px;padding:25px 30px 30px 165px;box-sizing:border-box;margin-top:15px;border:1px solid #ddd;background-color:#f9f9f9;background-repeat:no-repeat}.wpmdb .addons-tab .addon .actions{float:right;font-size:14px}.wpmdb .addons-tab .addon .actions>*{margin-right:10px}.wpmdb .addons-tab .addon .actions :last-child{margin-right:0}.wpmdb .addons-tab .addon .actions .action{background-color:#0085ba;color:#fff;display:inline-block;padding:.2em .4em}.wpmdb .addons-tab .addon .actions .action:hover{background-color:#008ec2}.wpmdb .addons-tab .addon .actions .status{border-bottom:2px solid #444;padding-bottom:.1em}.wpmdb .addons-tab .addon h1{float:left;margin:0;padding:0;font-weight:700;font-size:22px;margin-bottom:5px;color:#002040;text-transform:uppercase}.wpmdb .addons-tab .addon p{font-size:14px;line-height:1.4;clear:both;margin:0}.wpmdb .addons-tab .addon p a{text-decoration:underline}.wpmdb .addons-tab .addon.wp-migrate-db-pro-media-files{background-image:url(../img/icon-media-files.svg);background-position:30px 30px;background-size:110px 85px}.wpmdb .addons-tab .addon.wp-migrate-db-pro-cli{background-image:url(../img/icon-cli.svg);background-position:30px 30px;background-size:110px 97px;min-height:157px}.wpmdb .addons-tab .addon.wp-migrate-db-pro-multisite-tools{background-image:url(../img/icon-multisite-tools.svg);background-position:30px 20px;background-size:110px 118px;min-height:157px}.wpmdb .addons-tab .addon.wp-migrate-db-pro-theme-plugin-files{background-image:url(../img/icon-theme-plugin-files.svg);background-position:30px 20px;background-size:110px 118px;min-height:157px}.wpmdb-not-pro .wpmdb .wpmdb-main{margin-top:15px}.wpmdb-not-pro .wpmdb .help-tab .support p{width:auto}#wpmdb-sidebar{position:absolute;top:0;right:-312px;width:292px}#wpmdb-sidebar .block{padding:20px;border:1px solid #ccc}#wpmdb-sidebar .wpmdb-banner{display:block;background:#a5ddf1 url(../img/mdb-banner.svg) 0 100%/220px 220px no-repeat;padding-bottom:180px;box-shadow:none;color:#042340}#wpmdb-sidebar .wpmdb-banner h4{font-weight:300;font-size:28px;margin:0 0 15px;padding:25px 0 0 20px}#wpmdb-sidebar .wpmdb-banner p{font-size:14px;padding:0 20px;margin:0}#wpmdb-sidebar .wpmdb-banner img{display:block}#wpmdb-sidebar .subscribe{border-top:none}#wpmdb-sidebar .subscribe h2{padding:0;margin:0;margin-bottom:.5em;color:#666;font-size:20px;line-height:1.2em;float:none}#wpmdb-sidebar .subscribe h3{font-size:16px;margin:0}#wpmdb-sidebar .subscribe p{margin:0}#wpmdb-sidebar .subscribe p.interesting{margin-bottom:1em;line-height:1.4}#wpmdb-sidebar .subscribe .links{margin-bottom:2em}#wpmdb-sidebar .subscribe .links a{text-decoration:none}#wpmdb-sidebar .subscribe .promise{color:#999;font-size:12px;line-height:1.4em}#wpmdb-sidebar .subscribe .field{margin-bottom:.5em}#wpmdb-sidebar .subscribe .field p{margin-bottom:.3em}#wpmdb-sidebar .subscribe .field.submit-button{margin-bottom:1em}#wpmdb-sidebar .testimonial{border-top:none}#wpmdb-sidebar .testimonial p{margin:0}#wpmdb-sidebar .testimonial .quote{font-size:20px}#wpmdb-sidebar .testimonial .author{white-space:nowrap;text-align:right}#wpmdb-sidebar .testimonial .stars{white-space:nowrap;margin-bottom:5px}#wpmdb-sidebar .testimonial .via{text-align:right;font-size:12px}#wpmdb-sidebar .testimonial .via a{color:#666}#wpmdb-sidebar .testimonial .via a:before{content:"\F301";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 18px/1 dashicons;vertical-align:top;margin-right:3px}@media screen and (max-width:1252px){#wpmdb-sidebar{position:relative;top:auto;right:auto;margin-top:50px}}body.mp6 input[type=checkbox]:disabled{opacity:1;border-color:#ccc}body.mp6 #wpmdb-main,body.mp6 p{font-size:14px}body.mp6 .wrap>h1,body.mp6 .wrap h2{float:left}body.mp6 .wpmdb .content-tab{padding-top:15px}body.mp6 .wpmdb .migrate-tab{padding-top:0}body.mp6 .wpmdb input[type=checkbox],body.mp6 .wpmdb input[type=radio]{vertical-align:middle;margin-top:-4px}body.mp6 .wpmdb input[type=password],body.mp6 .wpmdb input[type=text]{padding:3px 5px}body.mp6 .wpmdb input.code{padding-top:6px}body.mp6 .wpmdb label{font-size:14px}body.mp6 .wpmdb h2.nav-tab-wrapper{float:none;margin-bottom:0;width:722px;font-size:23px;line-height:29px;padding:9px 0 0 5px}body.mp6 .wpmdb .help-tab h3{margin-top:0}body.mp6 .wpmdb .temp-disabled{background-color:#f9f9f9}body.mp6 .wpmdb .migration-profile-options li a{border-color:#ccc;color:#555;background-color:#e4e4e4}body.mp6 .wpmdb .migration-profile-options li a:hover{background-color:#fff;color:#464646}body.mp6 .wpmdb .connection-info,body.mp6 .wpmdb .migrate-tab .pull-push-connection-info{font-weight:700;font-size:14px}body.mp6 .wpmdb .general-helper{border:0;width:auto;height:auto;top:auto;margin:0}body.mp6 .wpmdb .general-helper:after{content:"\F223";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 22px/1 dashicons;vertical-align:top;top:auto;left:auto;position:relative}body.mp6 .wpmdb .helper-message{font-size:14px;line-height:1.4em}body.mp6 .wpmdb .right-arrow{display:none}body.mp6 .wpmdb .arrow-col{width:52px}body.mp6 .wpmdb .arrow-col:after{content:"\F344";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 22px/1 dashicons;vertical-align:top;color:#999}body.mp6 .wpmdb .arrow-col:hover{cursor:pointer}body.mp6 .wpmdb .arrow-col:hover:after{color:#666}body.mp6 .wpmdb .arrow-col.disabled:after{opacity:.5}body.mp6 .wpmdb .arrow-col.disabled:hover{cursor:default}body.mp6 .wpmdb .arrow-col.disabled:hover:after{color:#999}body.mp6 .wpmdb .find-heading{width:409px}body.mp6 .wpmdb .replace-fields input{width:304px}body.mp6 .wpmdb .replace-right-col span{border-color:#999}body.mp6 .wpmdb .replace-right-col span:hover{border-color:#666}body.mp6 .wpmdb .replace-add-row:after,body.mp6 .wpmdb .replace-add-row:before{background-color:#999}body.mp6 .wpmdb .replace-add-row:hover:after,body.mp6 .wpmdb .replace-add-row:hover:before{background-color:#666}body.mp6 .wpmdb .option-group.migrate-selection>li>label{font-size:16px}body.mp6 .wpmdb .saved-migration-profile-label{margin-top:0;padding-top:15px;font-size:16px}body.mp6 .wpmdb .checkbox-label,body.mp6 .wpmdb .option-heading{font-size:16px}body.mp6 .wpmdb .checkbox-label input[type=checkbox]{top:auto}body.mp6 .wpmdb .return-to-profile-selection{font-size:14px}body.mp6 .wpmdb .option-description{font-size:13px}body.mp6 .wpmdb .save-migration-profile-wrap li{position:relative}body.mp6 .wpmdb .delete-profile,body.mp6 .wpmdb .replace-remove-row{border:0;border-radius:0;height:auto;width:auto;left:0;top:50%;margin-left:0}body.mp6 .wpmdb .delete-profile:after,body.mp6 .wpmdb .replace-remove-row:after{content:"\F153";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 18px/1 dashicons;vertical-align:middle;color:#999}body.mp6 .wpmdb .delete-profile:hover:after,body.mp6 .wpmdb .replace-remove-row:hover:after{color:#666}body.mp6 .wpmdb .row-action-buttons{position:relative;width:60px}body.mp6 .wpmdb .row-action-buttons .helper-message{width:320px}body.mp6 .wpmdb .row-action-buttons .replace-remove-row{margin-left:4px;border:0;border-radius:50%;height:22px;width:auto;left:0;top:0;display:block;float:left;position:relative;margin-top:0}body.mp6 .wpmdb .row-action-buttons .replace-remove-row:after{display:inline-block;vertical-align:top;top:auto;position:relative;left:auto;height:22px;line-height:22px}body.mp6 .wpmdb .row-action-buttons .general-helper{display:inline-block;position:static;margin-left:4px}body.mp6 .wpmdb .row-action-buttons .general-helper:first-child{margin-left:2px}body.mp6 .wpmdb .row-action-buttons .general-helper:after{display:inline-block;vertical-align:top;top:auto;left:auto;position:relative}body.mp6 .wpmdb .delete-profile:after{color:#ccc}body.mp6 .wpmdb .delete-profile:hover:after{color:#aaa}body.mp6 .wpmdb .help-tab .support .email a,body.mp6 .wpmdb .help-tab .support p{font-size:14px}body.mp6 .wpmdb .help-tab div.warning p{font-size:13px}body.mp6 .wpmdb .help-tab .videos h4,body.mp6 .wpmdb .help-tab .videos p{font-size:14px}body.mp6 .wpmdb .inline-message,body.mp6 .wpmdb .notification-message{border-radius:0;border:0;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:10px 14px;font-size:13px}body.mp6 .wpmdb .notification-message{margin-bottom:20px;background-color:#fff}body.mp6 .wpmdb .notification-message.invalid-licence,body.mp6 .wpmdb .notification-message.ssl-notice,body.mp6 .wpmdb .notification-message.unrecognized-import-file-notice{margin-bottom:0;margin-top:15px}body.mp6 .wpmdb .notification-message.backup-option-disabled{line-height:1.8em}body.mp6 .wpmdb .notification-message.backup-option-disabled a{text-decoration:underline}body.mp6 .wpmdb .notification-message.backup-option-disabled a:hover{text-decoration:none}body.mp6 .wpmdb .notification-message p{font-size:13px;margin-top:0}body.mp6 .wpmdb .notification-message p:last-child{margin:0}body.mp6 .wpmdb .notification-message h4{margin-top:0}body.mp6 .wpmdb .notification-message a{color:#0074a2;text-decoration:none}body.mp6 .wpmdb .notification-message a:hover{color:#2ea2cc}body.mp6 .wpmdb div.notification-message.invalid-licence p:last-child{margin:.5em 0}body.mp6 .wpmdb div.notification-message.invalid-licence p:last-child a.button{color:#555}body.mp6 .wpmdb .inline-message.error,body.mp6 .wpmdb .notification-message.error-notice{border-left:4px solid #dd3d36;background-color:#fff}body.mp6 .wpmdb .inline-message.warning,body.mp6 .wpmdb .notification-message.warning-notice{background-color:#fff;border-left:4px solid #ffba00}body.mp6 .wpmdb .inline-message.success,body.mp6 .wpmdb .notification-message.success-notice{border-left:4px solid #7ad03a}body.mp6 .wpmdb .ssl-notice{margin-bottom:0}body.mp6 .wpmdb .different-plugin-version-notice,body.mp6 .wpmdb .directory-permission-notice{margin-bottom:10px}body.mp6 .wpmdb .licence-status{color:#444;float:left;font-weight:400}body.mp6 #overlay{background-color:rgba(0,0,0,.5)}body.mp6 .migration-progress-ajax-spinner{top:20px} \ No newline at end of file +#overlay{background-color:hsla(0,0%,100%,.9);position:fixed;top:0;left:0;width:100%;height:100%;z-index:100000;overflow-x:auto;display:flex;flex-direction:row;align-items:flex-start;justify-content:center;transition:opacity .3s ease-out}#overlay.show{opacity:1;display:flex}@media screen and (max-width:700px){#overlay.show{justify-content:flex-start}}#overlay.hide{opacity:0;display:flex}@media screen and (max-width:1120px){.wpmdb-not-pro #overlay.show{justify-content:flex-start}}.stage-tabs{margin:0;z-index:5}.stage-tabs .stage-tab{box-sizing:border-box;display:block;float:left;width:auto;height:45px;margin:0 5px -1px 0;background-color:#ddd;border:1px solid #aaa;padding:.5em 1.5em 0;line-height:1.3;text-align:center;text-transform:capitalize;color:#333;transition:background-color .2s ease-in-out}.stage-tabs .stage-tab.active{background-color:#fff;border-bottom-color:#fff}.stage-tabs .stage-status{display:block;font-size:.8em;font-style:italic}.complete .stage-tabs .stage-tab:not(.active){cursor:pointer}.complete .stage-tabs .stage-tab:not(.active):hover{background-color:#eee}.migration-progress-stages{position:relative;margin:0 -30px;background:#fff;overflow-y:auto}.migration-progress-stages .migration-progress-stage-container{top:0;left:0;width:100%;padding:0}.migration-progress-stages .migration-progress-stage-container.complete,.migration-progress-stages .migration-progress-stage-container.queued{display:none}.migration-progress-stages .migration-progress-stage-container.active{display:block}.migration-progress-stages .migration-progress-stage-container.find_replace .progress-items .item-progress .size{display:none}.migration-progress-stages .migration-progress-stage-container.import .progress-items,.migration-progress-stages .migration-progress-stage-container.upload .progress-items{height:0!important;opacity:0}.migration-progress-stages .truncation-notice{margin:-10px 30px 10px;padding:5px 10px;color:#999;text-align:center}.migration-progress-stages .hide-tables .truncation-notice{display:none}.migration-progress-stages .progress-items{position:relative;overflow-y:auto;padding:10px 30px;z-index:0}.migration-progress-stages .item-progress{position:relative;background-color:#eee;overflow:hidden;margin:0 0 .8em;transition:height .2s ease-in-out,margin .2s ease-in-out}.migration-progress-stages .item-progress .dashicons-yes.dashicons{position:absolute;right:.3em;top:.12em;z-index:20;background:#333;color:#85d937;width:.75em;height:.75em;border-radius:50%;text-indent:-.18em;line-height:.8;vertical-align:2em;font-size:2em;opacity:0;transition:opacity .3s ease-in;transition-delay:.5s}.migration-progress-stages .item-progress.complete .dashicons-yes{opacity:1}.migration-progress-stages .item-progress .progress-bar{background:#85d937}.migration-progress-stages .item-progress .progress-bar.excluded{opacity:.3}.migration-progress-stages .item-progress .item-info{margin:0;position:relative;padding:.25em 0 .25em 1em;font-size:1em;z-index:10}.migration-progress-stages .hide-tables .progress-items{height:0!important;opacity:0}@keyframes progress-bg-anim{0%{background-position:0 0}to{background-position:50px 50px}}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}.clearfix{zoom:1}.general-spinner{width:16px;height:16px}.migration-error{color:#a21b1b;display:block;max-height:400px;max-width:100%;overflow:auto;word-wrap:break-word}.migration-php-errors{display:none;margin:20px 0;overflow-y:scroll;height:180px}.progress-overlay-container{display:none;position:relative;background-color:#eee;padding:30px 30px 15px;box-shadow:0 0 10px rgba(0,0,0,.5);cursor:default;font-size:14px;z-index:1;margin:0 10px;box-sizing:border-box;flex-direction:column;max-height:95%;overflow-y:hidden;transition:opacity .3s ease-out,transform .5s ease-out;width:700px;min-width:700px;flex-basis:700px;flex:0 1 0%}.progress-overlay-container.show{display:flex;opacity:1}.progress-overlay-container.hide{display:flex;opacity:0;transform:translateY(-100%)}.progress-overlay-container>div{flex:1 0 auto}.progress-overlay-container .migration-progress-stages{flex:100 1 auto}@media (-ms-high-contrast:none){.progress-overlay-container .migration-progress-stages{height:300px}}.progress-overlay-container .progress-title{margin-top:0;font-size:22px;font-weight:400;width:85%;line-height:1.3}.progress-overlay-container .progress-title .domain-label{white-space:nowrap}.progress-overlay-container .progress-title .dashicons{display:inline;vertical-align:middle;margin-left:-.15em;padding-right:.3em;font-size:42px}.progress-overlay-container .progress-info-wrapper{margin-bottom:10px}.progress-overlay-container .progress-text{clear:left;float:left;width:100%}.progress-overlay-container .timer{position:absolute;top:35px;right:55px}.progress-overlay-container .progress-bar{position:absolute;top:0;left:0;height:100%;transition:width .5s ease-out;z-index:0}.progress-overlay-container .progress-bar-no-transition{transition:none!important}.progress-overlay-container .stage-progress{display:none;text-transform:capitalize;padding:15px 30px 0;margin:0 -30px;height:65px;box-sizing:border-box;background:#fff;border-top:1px solid #aaa;z-index:100}.progress-overlay-container .stage-progress.active{display:block}.progress-overlay-container .stage-progress .lowercase{text-transform:lowercase}.progress-overlay-container .stage-progress .items-complete{margin-left:3em}.progress-overlay-container .stage-progress .progress-bar-wrapper{position:relative;height:10px;width:100%;background-color:#eee;margin:15px 0 10px;background-image:linear-gradient(-45deg,hsla(0,0%,100%,.35) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.35) 0,hsla(0,0%,100%,.35) 75%,transparent 0,transparent);background-size:20px 20px;animation:progress-bg-anim 5s linear infinite}.progress-overlay-container .stage-progress .progress-bar{background-color:#406fa4}.progress-overlay-container .stage-progress .show-hide-tables{display:block;float:right;cursor:pointer}.progress-overlay-container .stage-progress.find_replace .size-complete-wrap,.progress-overlay-container .stage-progress.import .items-complete-wrap,.progress-overlay-container .stage-progress.import .show-hide-tables,.progress-overlay-container .stage-progress.upload .items-complete-wrap,.progress-overlay-container .stage-progress.upload .show-hide-tables{display:none}.progress-overlay-container .stage-progress.find_replace .items-complete{margin-left:9em}.progress-overlay-container .progress-tables{overflow:hidden;margin-bottom:2px;padding:0 0 20px}.progress-overlay-container .progress-tables-hover-boxes{position:absolute;top:0;left:0;display:block;width:100%}.progress-overlay-container .progress-chunk-hover{display:block;float:left;height:35px;position:relative;top:-5px;z-index:1}.progress-overlay-container .progress-chunk{box-sizing:border-box;float:left;display:block;height:6px;border-right:1px solid #ccc;border-bottom:1px solid #ccc;color:#999;position:relative;text-align:center}.progress-overlay-container .progress-chunk>span{padding:0 3px;white-space:nowrap;text-overflow:ellipsis;margin-top:10px;display:inline-block}.progress-overlay-container .progress-label{padding:5px 10px;border:1px solid #ccc;border-radius:3px;background-color:#fff;font-family:Consolas,Monaco,monospace;font-size:12px;display:inline-block;top:-35px;position:absolute;opacity:0;transition:opacity .2s ease-in-out}.progress-overlay-container .label-visible{opacity:1}.progress-overlay-container .progress-label:before{border-top:4px solid #ccc;bottom:-5px}.progress-overlay-container .progress-label:after,.progress-overlay-container .progress-label:before{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;display:block;position:absolute;left:50%;margin-left:-2px}.progress-overlay-container .progress-label:after{border-top:4px solid #fff;bottom:-4px}.progress-overlay-container .migration-progress-ajax-spinner{left:7px;position:relative;top:15px}.progress-overlay-container .close-progress-content{color:#999;cursor:pointer;font-size:26px;font-weight:200;position:absolute;right:10px;top:5px;padding:5px;display:none}.progress-overlay-container .close-progress-content:hover{color:#666;border-color:#aaa}.progress-overlay-container .migration-controls{display:block;transition:opacity .2s ease-out;padding-top:15px}.progress-overlay-container .migration-controls.hidden{opacity:0;pointer-events:none}.progress-overlay-container .migration-controls span{float:left;text-align:center;display:block}.progress-overlay-container .migration-controls span:first-child{margin-right:10px;width:71px}.progress-overlay-container .migration-controls .pause-before-finalize{display:none;float:right;margin-top:5px}.progress-overlay-container .migration-controls #pause-before-finalize{margin-top:0}.progress-overlay-container .pro-version{margin-top:45px;padding-top:40px;position:relative;border-top:1px solid #ccc}.progress-overlay-container .pro-version iframe{position:absolute;top:40px;right:0;display:block}.progress-overlay-container .pro-version-content{padding-right:460px;min-height:255px}.progress-overlay-container .pro-version-content h1{line-height:1em;margin-top:0;font-size:20px}.progress-overlay-container .pro-version-content ul{margin-left:24px}.progress-overlay-container .pro-version-content li{position:relative;font-size:14px;line-height:1.4em;margin-bottom:15px;max-width:580px}.progress-overlay-container .pro-version-content .pro-quote{margin:0 0 20px;max-width:570px}.progress-overlay-container .pro-version-content .pro-quote .dashicons-star-filled{font-size:16px;width:16px;height:16px;position:relative;top:2px}.progress-overlay-container .pro-version-content .pro-quote-author{font-style:italic;white-space:nowrap}.progress-overlay-container.wpmdb-error{outline:3px solid #dc3232}@media screen and (max-width:1096px){.progress-overlay-container .pro-version iframe{position:relative;top:auto;right:auto}.progress-overlay-container .pro-version-content{min-height:0;padding:0 0 20px}}.progress-overlay-container:not(.complete) .migration-progress-stages .item-progress:first-child{background-image:linear-gradient(-45deg,hsla(0,0%,100%,.3) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.3) 0,hsla(0,0%,100%,.3) 75%,transparent 0,transparent);background-size:50px 50px;animation:progress-bg-anim 2s linear infinite}.progress-overlay-container.paused .active.stage-progress .progress-bar-wrapper,.progress-overlay-container.paused .migration-progress-stages .item-progress:first-child{animation-play-state:paused}.progress-overlay-container .migration-progress-stages .determining-media .item-progress:first-child{background-image:none;animation:none}.migrate-tab>.pro-version,.progress-overlay-container.cancelled .migration-progress-stages,.progress-overlay-container.cancelled .stage-progress.active,.progress-overlay-container.cancelled .stage-tabs,.progress-overlay-container.wpmdb-error .migration-progress-stages,.progress-overlay-container.wpmdb-error .stage-progress.active,.progress-overlay-container.wpmdb-error .stage-tabs{display:none}#overlay .pro-version{width:42%;padding-left:0;padding-right:0;flex-basis:42%;max-width:515px;min-width:400px;max-height:100%;order:2;font-size:14px;display:block;transition:transform .3s ease-out,opacity .3s ease-out,margin-left .2s ease-in-out .3s}#overlay .pro-version.remove{margin-left:-525px!important}#overlay .pro-version .pro-version-content{padding:0 30px}#overlay .pro-version .pro-version-content h1{font-size:22px;font-weight:700;margin:0 0 30px}#overlay .pro-version .pro-version-content li{margin-bottom:10px;padding-left:35px;position:relative}#overlay .pro-version .pro-version-content li .dashicons{display:block;position:absolute;font-size:2em;top:-3px;left:0}#overlay .pro-version .pro-version-content .pro-quote{border:1px solid #bbb;border-radius:3px;padding:15px 15px 15px 100px;margin:30px 0;position:relative;background:url(../img/mor10.png) no-repeat 15px 31px;background-size:51px 51px}@media (-webkit-min-device-pixel-ratio:1.3),(min--moz-device-pixel-ratio:1.3),(min-device-pixel-ratio:1.3),(min-resolution:1.3dppx){#overlay .pro-version .pro-version-content .pro-quote{background-image:url(../img/mor10@2x.png)}}#overlay .pro-version .pro-version-content .pro-quote p{margin:0;font-size:13px}#overlay .pro-version .pro-version-content .pro-quote .pro-quote-author{font-size:14px;font-weight:700;color:#999;margin-bottom:5px}#overlay .pro-version .pro-version-content .pro-quote .pro-quote-author .dashicons{float:right;color:#999}#overlay .pro-version .pro-version-content .pro-quote .stars{position:absolute;bottom:0;left:0;width:100%;height:0;overflow:visible;text-align:center}#overlay .pro-version .pro-version-content .pro-quote .stars span{background:#eee;color:#999;margin-top:-.5em}#overlay .pro-version .pro-version-content .pro-quote .stars span:first-child{padding-left:.1em}#overlay .pro-version .pro-version-content .pro-quote .stars span:last-child{padding-right:.1em}#overlay .pro-version .iframe,#overlay .pro-version iframe{width:100%;height:289px;background:#000}#overlay .pro-version .button{display:block;position:relative;width:250px;margin:20px auto 10px;text-align:center}#overlay .pro-version .close-pro-version{color:#999;cursor:pointer;font-size:26px;font-weight:200;position:absolute;right:10px;top:5px;padding:5px;display:block}#overlay .pro-version .close-pro-version:hover{color:#666;border-color:#aaa}.check-licence-spinner{left:5px;position:relative;top:2px;margin-bottom:-2px;width:16px;height:16px}.wpmdb-original-update-row{display:none}.plugin-update-tr.wpmdbpro-custom-visible .update-message.pre-shiny-updates,.plugin-update-tr.wpmdbpro-custom .update-message.pre-shiny-updates{padding-left:40px}.plugin-update-tr.wpmdbpro-custom-visible .update-message.pre-shiny-updates:before,.plugin-update-tr.wpmdbpro-custom .update-message.pre-shiny-updates:before{margin-left:-30px;float:left}.plugin-update-tr.wpmdbpro-custom-visible .update-message.pre-shiny-updates p,.plugin-update-tr.wpmdbpro-custom .update-message.pre-shiny-updates p{display:inline-block;margin:0}.plugin-update-tr.wpmdbpro-custom-visible .update-message.pre-shiny-updates span,.plugin-update-tr.wpmdbpro-custom .update-message.pre-shiny-updates span{display:block}.plugin-update-tr.wpmdbpro-custom-visible .update-message.post-shiny-updates p:before,.plugin-update-tr.wpmdbpro-custom .update-message.post-shiny-updates p:before{position:absolute}.plugin-update-tr.wpmdbpro-custom-visible .update-message.post-shiny-updates p span,.plugin-update-tr.wpmdbpro-custom .update-message.post-shiny-updates p span{margin-left:30px;display:block}.plugins #the-list tr.wpmdbpro-has-message td,.plugins #the-list tr.wpmdbpro-has-message th{box-shadow:none;-webkit-box-shadow:none}.plugins .plugin-update-tr .wpmdb-compat-plugin-row-error .notice{margin-top:0}#wpmdb-main{width:742px;position:relative;min-height:950px;visibility:visible}.wpmdb h2~.error,.wpmdb h2~.notice,.wpmdb h2~.updated{clear:both}.wpmdb div.below-title.warning,.wpmdb div.updated.warning{max-width:742px;box-sizing:border-box;margin:10px 0}.wpmdb div.below-title.warning p,.wpmdb div.updated.warning p{font-size:13px;margin:.5em 0}.wpmdb a{text-decoration:none}.wpmdb li{margin-bottom:5px;position:relative}.wpmdb ul{margin:0}.wpmdb input[type=checkbox],.wpmdb input[type=radio]{margin-right:5px;vertical-align:baseline;margin-top:0}.wpmdb input[type=password],.wpmdb input[type=text]{padding:5px}.wpmdb input[disabled=disabled],.wpmdb label[disabled=disabled]{cursor:default}.wpmdb label.disabled{color:#888;cursor:default}.wpmdb div.disabled{color:#888}.wpmdb .option-section{border-bottom:1px solid #ccc;padding-bottom:20px;margin-bottom:20px}.wpmdb .option-section h3{font-size:18px;font-weight:400}.wpmdb p.migrate-db{overflow:hidden;min-height:29px}.wpmdb p.migrate-db input{float:left}.wpmdb p.migrate-db img{float:left;margin:3px 0 0 5px}.wpmdb p.migrate-db .save-settings-button{margin-left:10px;display:none}.wpmdb .indent-wrap{margin-left:24px}.wpmdb .expandable-content{display:none;margin-top:10px}.wpmdb .expandable-content li:last-child{margin-bottom:0}.wpmdb .header-wrapper{margin-bottom:10px}.wpmdb .header-expand-collapse{cursor:pointer;display:inline-block}.wpmdb .option-description{font-size:12px;color:#999;margin-left:8px;font-weight:400}.wpmdb .option-group li:last-child{margin-bottom:0}.wpmdb .connection-status{display:none;overflow:auto}.wpmdb .connection-status.error{color:#9d1818}.wpmdb .copy-licence-to-remote-site{display:inline-block}.wpmdb .ajax-spinner{left:6px;position:relative;top:3px}.wpmdb div.message{margin:15px 0 0}.wpmdb .licence-wrap h3{margin:0 0 10px}.wpmdb .licence-input{clear:both;display:block;font-family:Consolas,Monaco,monospace;font-size:14px;margin-bottom:7px;padding:10px;width:418px}.wpmdb .register-licence{float:left;outline:none}.wpmdb .licence-status{color:#a21b1b;font-weight:700;clear:both;padding-top:.5em;margin:0}.wpmdb .licence-status.success{color:#333}.wpmdb .register-licence-ajax-spinner{margin:4px 0 0 8px}.wpmdb .return-to-profile-selection{margin-bottom:15px;display:inline-block}.wpmdb .return-to-profile-selection.bottom{margin-top:10px}.wpmdb h2.nav-tab-wrapper{margin-top:10px;margin-bottom:20px;padding-left:5px}.wpmdb h2.nav-tab-wrapper a.nav-tab-active{color:#464646;cursor:default}.wpmdb label{display:inline-block;clear:both}.wpmdb .migration-profile-options li{position:relative;width:520px}.wpmdb .migration-profile-options li a{padding:5px 10px;width:500px;border:1px solid #ddd;margin:0 0 7px;display:block;font-size:14px;color:#333}.wpmdb .migration-profile-options li a:hover{border-color:#bbb}.wpmdb .main-list-delete-profile-link{color:#999;font-size:26px;font-weight:200;position:absolute;right:7px;top:4px;cursor:pointer}.wpmdb .main-list-delete-profile-link:hover{color:#444}.wpmdb .crumbs{overflow:hidden;border-bottom:1px solid #ccc;padding:12px 0}.wpmdb .crumbs .crumb{position:relative;display:block;float:left;margin-right:4px;padding-right:3px;font-size:13px;font-weight:700}.wpmdb .crumbs span.crumb{padding-left:25px}.wpmdb .crumbs span.crumb:before{content:"\F345";position:absolute;left:0;top:0;display:inline-block;-webkit-font-smoothing:antialiased;font:normal 18px/1 dashicons;vertical-align:middle}.wpmdb .option-group li{margin-bottom:5px}.wpmdb .option-group>li{margin-bottom:8px}.wpmdb .option-group li>label{font-size:14px;font-weight:700}.wpmdb .option-group ul{display:none;margin:10px 0 10px 25px}.wpmdb .option-group ul label{font-size:12px;font-weight:400}.wpmdb .checkbox-label,.wpmdb .option-heading{font-size:14px;font-weight:700}.wpmdb .checkbox-label input[type=checkbox]{margin-right:7px;position:relative;top:-1px}.wpmdb .expand-collapse-arrow{margin-right:9px}.wpmdb .migrate-selection{padding-top:20px}.wpmdb .migrate-connection-info{min-width:675px;margin:0}.wpmdb .migrate-tab .pull-push-connection-info{width:418px;height:65px;color:#333;font-family:Consolas,Monaco,monospace;font-size:15px;line-height:21px;padding:10px}.wpmdb .migrate-tab.import .advanced-options,.wpmdb .migrate-tab.import .exclude-post-types-options,.wpmdb .migrate-tab.import .table-options{margin-left:24px;display:none!important}.wpmdb .migrate-tab.import .advanced-options,.wpmdb .migrate-tab.import .find-replace-options,.wpmdb .migrate-tab.import .table-options{border-bottom:none;margin-bottom:0}.wpmdb .migrate-tab.import .exclude-post-types-options,.wpmdb .migrate-tab.import .table-options{border-top:1px solid #ccc;padding-top:20px}.wpmdb .basic-access-auth-wrapper{display:none;margin-bottom:5px}.wpmdb .auth-password,.wpmdb .auth-username{width:206px;margin-top:3px}.wpmdb .auth-password{width:207px}.wpmdb .connection-info-wrapper{display:none;width:670px}.wpmdb .connect-button{margin-top:2px}.wpmdb .temp-disabled{background-color:#eee;color:#888;font-family:Consolas,Monaco,monospace;text-shadow:0 1px 0 #fff}.wpmdb .push-list ul{margin-bottom:0}.wpmdb .find-heading,.wpmdb .replace-heading{float:left}.wpmdb .find-heading{width:382px}.wpmdb .replace-fields{border-collapse:collapse;border-spacing:0}.wpmdb .replace-fields input{width:295px}.wpmdb .replace-fields tr td{padding-bottom:7px}.wpmdb .replace-fields tr:last-child td{padding-bottom:0}.wpmdb .arrow-col{width:93px;text-align:center;vertical-align:middle}.wpmdb .right-arrow{font-size:36px;color:#aaa}.wpmdb .replace-right-col span{border-radius:50%;border:1px solid #ccc;background-color:#eee;width:16px;height:16px;display:inline-block;position:relative;top:4px;cursor:pointer}.wpmdb .replace-right-col span:hover{border-color:#aaa}.wpmdb .pin .sort-handle-col{opacity:.5;cursor:default}.wpmdb .pin .sort-handle{cursor:default!important}.wpmdb .sort-handle-col{width:20px;cursor:-webkit-grab;cursor:-moz-grab}.wpmdb .sort-handle:before{content:"\F214";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 20px/1 dashicons;vertical-align:top;color:#aaa;background-color:transparent!important;margin-right:4px}.wpmdb .original-repeatable-field{display:none}.wpmdb .no-replaces-message{display:none;margin-bottom:0}.wpmdb .inline-message.missing-replace{margin-top:15px;display:none}.wpmdb #new-path-missing-warning{margin-top:5px}.wpmdb .tables-header{display:inline-block}.wpmdb .expand-collapse-arrow{display:inline-block;position:relative;top:-2px;font-size:11px}.wpmdb .collapsed{-webkit-transform:scale(1) rotate(-90deg) translateX(0) translateY(0) skewX(0deg) skewY(0deg);transform:scale(1) rotate(-90deg) translateX(0) translateY(0) skewX(0deg) skewY(0deg)}.wpmdb .select-deselect-divider{margin:0 6px}.wpmdb .select-wrap{display:none;margin-top:12px}.wpmdb .select-wrap .find-replace-msg{display:none}.wpmdb .select-post-types-wrap{display:block}.wpmdb .exclude-post-types-warning{font-size:13px;font-weight:700;color:#9c1f1f}.wpmdb .exclude-post-types-warning p{margin:0 0 12px}.wpmdb .exclude-post-types-warning .find-replace-msg{display:none}.wpmdb .multiselect{min-width:550px;min-height:180px;margin-bottom:10px}.wpmdb .table-migrate-options li label{font-size:12px;font-weight:400}.wpmdb .table-migrate-options li{margin-bottom:5px}.wpmdb .general-helper{border-radius:50%;border:1px solid #ccc;background-color:#eee;width:15px;height:15px;display:inline-block;position:relative;top:4px;margin-top:-4px;cursor:pointer;margin-left:2px}.wpmdb .general-helper:hover{border-color:#aaa}.wpmdb .general-helper:after{content:"?";color:#999;font-size:10px;font-weight:700;left:4px;position:absolute;top:-1px}.wpmdb .helper-message{padding:10px 16px;border-radius:3px;background-color:#fff;position:absolute;width:500px;z-index:9999;display:none;box-shadow:0 0 10px rgba(0,0,0,.2)}.wpmdb .inline-message{padding:10px;border-radius:3px;margin-top:5px}.wpmdb .inline-message.error{border:1px solid #c00;background-color:#ffebe8}.wpmdb .inline-message.warning{background-color:#ffffe0;border:1px solid #e6db55}.wpmdb .helper-message:after{content:"";border-bottom:8px solid transparent;border-right:8px solid #fff;border-top:8px solid transparent;display:block;height:0;left:-7px;position:absolute;top:11px;width:0}.wpmdb .helper-message.bottom:before{border-bottom:8px solid #aaa;top:-9px}.wpmdb .helper-message.bottom:after,.wpmdb .helper-message.bottom:before{content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-top:0;display:block;height:0;left:50%;margin-left:-8px;position:absolute;width:0}.wpmdb .helper-message.bottom:after{border-bottom:8px solid #fff;top:-8px}.wpmdb .label-disabled{color:#888}.wpmdb .different-plugin-version-notice,.wpmdb .directory-permission-notice,.wpmdb .prefix-notice,.wpmdb .ssl-notice,.wpmdb .unrecognized-import-file-notice{background-color:#ffffe0;border:1px solid #e6db55;padding:15px;border-radius:3px;margin-bottom:15px;display:none}.wpmdb .different-plugin-version-notice p,.wpmdb .directory-permission-notice p,.wpmdb .prefix-notice p,.wpmdb .ssl-notice p,.wpmdb .unrecognized-import-file-notice p{margin-top:0}.wpmdb .different-plugin-version-notice p:last-child,.wpmdb .directory-permission-notice p:last-child,.wpmdb .prefix-notice p:last-child,.wpmdb .ssl-notice p:last-child,.wpmdb .unrecognized-import-file-notice p:last-child{margin:0}.wpmdb .mst-required{display:none}.wpmdb .different-plugin-version-notice,.wpmdb .directory-permission-notice{background-color:#ffebe8;border-color:#c00}.wpmdb .different-plugin-version-notice a,.wpmdb .directory-permission-notice a{color:#c00;text-decoration:underline}.wpmdb .mixed-case-table-name-notice{display:none}.wpmdb .save-migration-profile-wrap li label{font-size:12px;font-weight:400}.wpmdb .save-migration-profile-wrap li{margin-bottom:5px;padding-left:25px}.wpmdb .save-migration-profile-wrap .indent-wrap{margin-left:0}.wpmdb .create-new-label{margin-right:8px}.wpmdb .create-new-profile{position:absolute;top:-5px}.wpmdb .delete-profile,.wpmdb .replace-remove-row{background-color:#eee;border:1px solid #ccc;border-radius:50% 50% 50% 50%;cursor:pointer;height:11px;left:5px;margin-left:2px;position:absolute;margin-top:-6px;top:50%;width:11px;display:block;background-position:50% 50%;background-size:6px 6px;background-repeat:no-repeat}.wpmdb .delete-profile:after,.wpmdb .replace-remove-row:after{content:"\D7";left:2px;position:absolute;top:-3px;color:#aaa;font-size:12px}.wpmdb .replace-remove-row:after{position:relative}.wpmdb .delete-profile:hover,.wpmdb .replace-remove-row:hover{border-color:#aaa}.wpmdb .ajax-success-msg{font-weight:700;margin-left:9px;position:absolute;display:inline-block}.wpmdb .migrate-db .ajax-success-msg{margin-top:3px}.wpmdb p img.save-profile-ajax-spinner{margin:6px 0 0 10px}.wpmdb .backup-description{left:20px;position:relative}.wpmdb .backup-option-disabled{margin-bottom:0!important}.wpmdb .settings-tab{display:none}.wpmdb .settings-tab .slider{max-width:416px}.wpmdb .settings-tab .slider-label{display:block;margin-bottom:10px;float:left;width:50%}.wpmdb .settings-tab .slider-label span{vertical-align:middle}.wpmdb .settings-tab .slider-label-wrapper{max-width:416px;width:100%;position:relative;font-size:14px}.wpmdb .settings-tab .amount{width:50%;text-align:right;display:block;float:left}.wpmdb .settings-tab .slider-spinner{position:absolute;right:-35px;bottom:-13px}.wpmdb .settings-tab .slider-success-msg{right:-63px;bottom:-14px;position:absolute;font-weight:700}.wpmdb .settings-tab .ui-slider{border:2px solid #fff;background:#fff;height:10px;border-radius:2px;position:relative;opacity:1}.wpmdb .settings-tab .ui-slider-handle{width:20px;height:20px;background:#ade7b5;border:2px solid #fff;border-radius:50%;display:block;position:absolute;top:-7px;outline:none;margin-left:-11px}.wpmdb .settings-tab .ui-slider-handle:active{background:#86db91;border-color:#eee}.wpmdb .settings-tab .ui-slider-range{background:#ade7b5;height:100%}.wpmdb .settings-tab .form-table{margin-top:0}.wpmdb .settings-tab .form-table h3,.wpmdb .settings-tab .form-table h4,.wpmdb .settings-tab .form-table p{margin:0;line-height:1.2}.wpmdb .settings-tab .form-table p.has-margin{margin-bottom:10px}.wpmdb .settings-tab .form-table h3{font-weight:400}.wpmdb .settings-tab .form-table h4{font-size:15px}.wpmdb .settings-tab .form-table h4 .helper-message{font-weight:400}.wpmdb .settings-tab .form-table h4 img.ajax-spinner{position:absolute;float:left;top:auto;left:auto;margin-top:1px}.wpmdb .settings-tab .form-table h4 .setting-status .ajax-success-msg{margin-left:6px}.wpmdb .settings-tab .form-table tr td{padding:10px 0}.wpmdb .settings-tab .form-table tr.wpmdb-setting-title td{padding-bottom:0}.wpmdb .settings-tab .form-table tr.wpmdb-setting-title td h3{margin:10px 0}.wpmdb .settings-tab .form-table tr:first-child td{padding-top:0}.wpmdb .settings-tab .form-table tr:first-child td h3{margin-top:0}.wpmdb .settings-tab .form-table tr td:first-child{vertical-align:top;min-width:100px;width:100px}@media screen and (max-width:782px){.wpmdb .settings-tab .form-table tr td:first-child{width:auto}}.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode td{padding-bottom:0}.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode>td{padding:20px 0}.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode .notification-message{margin:15px 0 0}.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode .expandable-content{margin-top:15px}.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode .compatibility-mode-description h4,.wpmdb .settings-tab .form-table tr.option-section.compatibility-mode .compatibility-mode-description p{line-height:1.4}.wpmdb .settings-tab .form-table tr.option-section label{font-weight:400;position:relative}.wpmdb .settings-tab .form-table tr.option-section li{margin-bottom:5px}.wpmdb .settings-tab .form-table tr.option-section li:last-child{margin-bottom:0}.wpmdb .settings-tab .form-table tr.option-section.allow-remote-requests-wrap .ajax-spinner,.wpmdb .settings-tab .form-table tr.option-section.plugin-compatibility-section .ajax-spinner{right:-23px;left:inherit;top:0;position:absolute}.wpmdb .settings-tab .form-table tr.option-section .bubble .ajax-spinner{right:-45px}.wpmdb .settings-tab .form-table tr.option-section .bubble .ajax-success-msg{right:-65px}.wpmdb .settings-tab .form-table tr.option-section td{padding-bottom:20px}.wpmdb .settings-tab .form-table tr.licence-wrap td{padding-top:0}.wpmdb .settings-tab .form-table tr.licence-wrap td .notification-message{margin:10px 0 0}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap{height:170px;padding-top:20px;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);clear:both}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap #welcome-img{width:170px;height:170px;float:left}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap .welcome-text{height:130px;padding:20px 25px 20px 195px;background:#fff}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap .welcome-text h3{font-weight:lighter;font-size:22px;margin-bottom:10px}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap .welcome-text p{font-size:15px;line-height:1.5}.wpmdb .settings-tab .form-table tr.licence-wrap td #welcome-wrap .welcome-text a{font-weight:700}.wpmdb .settings-tab .form-table tr.plugin-compatibility-section td{padding-top:0}.wpmdb .settings-tab .form-table .general-helper{width:20px}.wpmdb .settings-tab .form-table .general-helper:after{top:-1px;font-size:22px;height:20px;left:-1px}.wpmdb .settings-tab .setting-status{padding-left:6px}.wpmdb .settings-tab .slider-label span{font-weight:700}.wpmdb .allow-remote-reqeusts{font-size:14px;font-weight:700}.wpmdb .connection-info-label{margin-top:15px;margin-bottom:5px;display:block}.wpmdb .connection-info{clear:both;font-size:15px;line-height:21px;font-family:Consolas,Monaco,monospace;padding:10px;height:67px;text-shadow:0 1px 0 #fff;display:block;margin-bottom:7px;width:418px}.wpmdb .reset-button-wrap{width:418px}.wpmdb .reset-button-wrap .button{float:left;position:relative}.wpmdb .reset-button-wrap .button:first-of-type{margin-right:10px}.wpmdb .reset-button-wrap .button.copy-api-key .copy-api-key-confirmation{display:none;left:0;position:absolute;text-align:center;top:0;height:100%;width:100%;color:#333}.wpmdb .reset-button-wrap .reset-api-key-ajax-spinner{float:left;margin:4px 7px}.wpmdb .masked-licence{margin-top:0}.wpmdb .bull{font-size:22px;position:relative;top:4px}.wpmdb .plugin-compatibility-wrap{padding:18px 18px 18px 100px;background-color:#e6e6e6;margin-left:0}.wpmdb .plugin-compatibility-wrap p:last-of-type{margin:10px 0 0}.wpmdb ul.plugin-compatibility-options{display:block;margin:10px 0}.wpmdb .plugin-compatibility-spinner{position:relative;top:3px;left:10px}.wpmdb .plugin-compatibility-success-msg{position:relative;left:10px;font-weight:700}.wpmdb .wpmdb-switch{position:relative;display:inline-block;padding:2px;overflow:hidden;border-radius:2px;background-color:#d4d3d3;cursor:pointer}.wpmdb .wpmdb-switch.on{background-color:#ade7b5}.wpmdb .wpmdb-switch span{visibility:hidden;box-sizing:border-box;float:left;display:inline-block;height:100%;font-size:12px;line-height:20px;border-radius:2px;-webkit-border-radius:2px;font-weight:700;padding:4px 8px;background:#fff;color:#8d8d8d;z-index:1}.wpmdb .wpmdb-switch span.on{color:#82d78b}.wpmdb .wpmdb-switch span.checked{visibility:visible}.wpmdb .wpmdb-switch.disabled{cursor:default;background:#e6e6e6}.wpmdb .wpmdb-switch.disabled span{background:#f1f1f1;color:#d6d6d6}.wpmdb .wpmdb-switch input[type=checkbox]{position:absolute!important;top:0;left:0;opacity:0;z-index:-1}.wpmdb .help-tab{display:none}.wpmdb .help-tab h3{font-size:18px;font-weight:400}.wpmdb .help-tab .support{border-bottom:1px solid #ccc;margin-bottom:25px;padding-bottom:18px}.wpmdb .help-tab .support p{width:640px}.wpmdb .help-tab .support .email a{font-size:12px}.wpmdb .help-tab .support .upgrade-to-pro{font-size:16px;font-weight:700}.wpmdb .help-tab .support .upgrade-to-pro a{white-space:nowrap}.wpmdb .help-tab .support .ajax-spinner{top:2px}.wpmdb .help-tab .debug .ajax-spinner{top:6px}.wpmdb .help-tab .debug .ajax-success-msg{margin-top:5px}.wpmdb .help-tab .video-viewer{margin-bottom:30px;border:1px solid #ccc}.wpmdb .help-tab .videos{width:640px}.wpmdb .help-tab .videos ul>li{margin-bottom:30px;overflow:hidden;position:relative}.wpmdb .help-tab .videos ul>li a{overflow:hidden;display:block;width:320px;height:180px;float:left;margin-right:15px;position:relative;z-index:1;border:1px solid #ccc}.wpmdb .help-tab .videos ul>li a:after,.wpmdb .help-tab .videos ul>li a:before{position:absolute;content:" ";margin:auto;left:0;right:0;top:0;bottom:0}.wpmdb .help-tab .videos ul>li a:before{width:64px;height:64px;border-radius:64px;opacity:.8;border:1px solid #ddd;background-color:#fff;z-index:2}.wpmdb .help-tab .videos ul>li a:after{opacity:.8;border:21.33333px solid transparent;border-top-width:12.8px;border-bottom-width:12.8px;border-left-color:#333;background:transparent;display:block;left:25px;width:0;height:0;z-index:3}.wpmdb .help-tab .videos .video:last-child{margin-bottom:0}.wpmdb .help-tab .videos img{width:320px;height:240px;position:relative;top:50%;margin-top:-120px}.wpmdb .help-tab .debug{width:640px;border-bottom:1px solid #ccc;margin-bottom:25px;padding-bottom:28px}.wpmdb .help-tab .debug textarea{width:100%;min-height:200px;font-family:Consolas,Monaco,monospace;margin-bottom:5px}.wpmdb .help-tab h4{margin:0 0 .2em}.wpmdb .help-tab p{margin:0 0 .5em}.wpmdb .addons-tab,.wpmdb .help-tab iframe{display:none}.wpmdb .addons-tab .addons-content>article:first-child,.wpmdb .addons-tab .addons-content>div:first-child{margin-top:0}.wpmdb .addons-tab .addon{position:relative;width:100%;min-height:138px;padding:25px 30px 30px 165px;box-sizing:border-box;margin-top:15px;border:1px solid #ddd;background-color:#f9f9f9;background-repeat:no-repeat}.wpmdb .addons-tab .addon .actions{float:right;font-size:14px}.wpmdb .addons-tab .addon .actions>*{margin-right:10px}.wpmdb .addons-tab .addon .actions :last-child{margin-right:0}.wpmdb .addons-tab .addon .actions .action{background-color:#0085ba;color:#fff;display:inline-block;padding:.2em .4em}.wpmdb .addons-tab .addon .actions .action:hover{background-color:#008ec2}.wpmdb .addons-tab .addon .actions .status{border-bottom:2px solid #444;padding-bottom:.1em}.wpmdb .addons-tab .addon h1{float:left;margin:0;padding:0;font-weight:700;font-size:22px;margin-bottom:5px;color:#002040;text-transform:uppercase}.wpmdb .addons-tab .addon p{font-size:14px;line-height:1.4;clear:both;margin:0}.wpmdb .addons-tab .addon p a{text-decoration:underline}.wpmdb .addons-tab .addon.wp-migrate-db-pro-media-files{background-image:url(../img/icon-media-files.svg);background-position:30px 30px;background-size:110px 85px}.wpmdb .addons-tab .addon.wp-migrate-db-pro-cli{background-image:url(../img/icon-cli.svg);background-position:30px 30px;background-size:110px 97px;min-height:157px}.wpmdb .addons-tab .addon.wp-migrate-db-pro-multisite-tools{background-image:url(../img/icon-multisite-tools.svg);background-position:30px 20px;background-size:110px 118px;min-height:157px}.wpmdb .addons-tab .addon.wp-migrate-db-pro-theme-plugin-files{background-image:url(../img/icon-theme-plugin-files.svg);background-position:30px 20px;background-size:110px 118px;min-height:157px}.wpmdb-not-pro .wpmdb .wpmdb-main{margin-top:15px}.wpmdb-not-pro .wpmdb .help-tab .support p{width:auto}#wpmdb-sidebar{position:absolute;top:0;right:-312px;width:292px}#wpmdb-sidebar .block{padding:20px;border:1px solid #ccc}#wpmdb-sidebar .wpmdb-banner{display:block;background:#a5ddf1 url(../img/mdb-banner.svg) 0 100%/220px 220px no-repeat;padding-bottom:180px;box-shadow:none;color:#042340}#wpmdb-sidebar .wpmdb-banner h4{font-weight:300;font-size:28px;margin:0 0 15px;padding:25px 0 0 20px}#wpmdb-sidebar .wpmdb-banner p{font-size:14px;padding:0 20px;margin:0}#wpmdb-sidebar .wpmdb-banner img{display:block}#wpmdb-sidebar .subscribe{border-top:none}#wpmdb-sidebar .subscribe h2{padding:0;margin:0;margin-bottom:.5em;color:#666;font-size:20px;line-height:1.2em;float:none}#wpmdb-sidebar .subscribe h3{font-size:16px;margin:0}#wpmdb-sidebar .subscribe p{margin:0}#wpmdb-sidebar .subscribe p.interesting{margin-bottom:1em;line-height:1.4}#wpmdb-sidebar .subscribe .links{margin-bottom:2em}#wpmdb-sidebar .subscribe .links a{text-decoration:none}#wpmdb-sidebar .subscribe .promise{color:#999;font-size:12px;line-height:1.4em}#wpmdb-sidebar .subscribe .field{margin-bottom:.5em}#wpmdb-sidebar .subscribe .field p{margin-bottom:.3em}#wpmdb-sidebar .subscribe .field.submit-button{margin-bottom:1em}#wpmdb-sidebar .testimonial{border-top:none}#wpmdb-sidebar .testimonial p{margin:0}#wpmdb-sidebar .testimonial .quote{font-size:20px}#wpmdb-sidebar .testimonial .author{white-space:nowrap;text-align:right}#wpmdb-sidebar .testimonial .stars{white-space:nowrap;margin-bottom:5px}#wpmdb-sidebar .testimonial .via{text-align:right;font-size:12px}#wpmdb-sidebar .testimonial .via a{color:#666}#wpmdb-sidebar .testimonial .via a:before{content:"\F301";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 18px/1 dashicons;vertical-align:top;margin-right:3px}@media screen and (max-width:1252px){#wpmdb-sidebar{position:relative;top:auto;right:auto;margin-top:50px}}body.mp6 input[type=checkbox]:disabled{opacity:1;border-color:#ccc}body.mp6 #wpmdb-main,body.mp6 p{font-size:14px}body.mp6 .wrap>h1,body.mp6 .wrap h2{float:left}body.mp6 .wpmdb .content-tab{padding-top:15px}body.mp6 .wpmdb .migrate-tab{padding-top:0}body.mp6 .wpmdb input[type=checkbox],body.mp6 .wpmdb input[type=radio]{vertical-align:middle;margin-top:-4px}body.mp6 .wpmdb input[type=password],body.mp6 .wpmdb input[type=text]{padding:3px 5px}body.mp6 .wpmdb input.code{padding-top:6px}body.mp6 .wpmdb label{font-size:14px}body.mp6 .wpmdb h2.nav-tab-wrapper{float:none;margin-bottom:0;width:722px;font-size:23px;line-height:29px;padding:9px 0 0 5px}body.mp6 .wpmdb .help-tab h3{margin-top:0}body.mp6 .wpmdb .temp-disabled{background-color:#f9f9f9}body.mp6 .wpmdb .migration-profile-options li a{border-color:#ccc;color:#555;background-color:#e4e4e4}body.mp6 .wpmdb .migration-profile-options li a:hover{background-color:#fff;color:#464646}body.mp6 .wpmdb .connection-info,body.mp6 .wpmdb .migrate-tab .pull-push-connection-info{font-weight:700;font-size:14px}body.mp6 .wpmdb .general-helper{border:0;width:auto;height:auto;top:auto;margin:0}body.mp6 .wpmdb .general-helper:after{content:"\F223";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 22px/1 dashicons;vertical-align:top;top:auto;left:auto;position:relative}body.mp6 .wpmdb .helper-message{font-size:14px;line-height:1.4em}body.mp6 .wpmdb .right-arrow{display:none}body.mp6 .wpmdb .arrow-col{width:52px}body.mp6 .wpmdb .arrow-col:after{content:"\F344";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 22px/1 dashicons;vertical-align:top;color:#999}body.mp6 .wpmdb .arrow-col:hover{cursor:pointer}body.mp6 .wpmdb .arrow-col:hover:after{color:#666}body.mp6 .wpmdb .arrow-col.disabled:after{opacity:.5}body.mp6 .wpmdb .arrow-col.disabled:hover{cursor:default}body.mp6 .wpmdb .arrow-col.disabled:hover:after{color:#999}body.mp6 .wpmdb .find-heading{width:409px}body.mp6 .wpmdb .replace-fields input{width:304px}body.mp6 .wpmdb .replace-right-col span{border-color:#999}body.mp6 .wpmdb .replace-right-col span:hover{border-color:#666}body.mp6 .wpmdb .replace-add-row:after,body.mp6 .wpmdb .replace-add-row:before{background-color:#999}body.mp6 .wpmdb .replace-add-row:hover:after,body.mp6 .wpmdb .replace-add-row:hover:before{background-color:#666}body.mp6 .wpmdb .option-group.migrate-selection>li>label{font-size:16px}body.mp6 .wpmdb .saved-migration-profile-label{margin-top:0;padding-top:15px;font-size:16px}body.mp6 .wpmdb .checkbox-label,body.mp6 .wpmdb .option-heading{font-size:16px}body.mp6 .wpmdb .checkbox-label input[type=checkbox]{top:auto}body.mp6 .wpmdb .return-to-profile-selection{font-size:14px}body.mp6 .wpmdb .option-description{font-size:13px}body.mp6 .wpmdb .save-migration-profile-wrap li{position:relative}body.mp6 .wpmdb .delete-profile,body.mp6 .wpmdb .replace-remove-row{border:0;border-radius:0;height:auto;width:auto;left:0;top:50%;margin-left:0}body.mp6 .wpmdb .delete-profile:after,body.mp6 .wpmdb .replace-remove-row:after{content:"\F153";display:inline-block;-webkit-font-smoothing:antialiased;font:normal 18px/1 dashicons;vertical-align:middle;color:#999}body.mp6 .wpmdb .delete-profile:hover:after,body.mp6 .wpmdb .replace-remove-row:hover:after{color:#666}body.mp6 .wpmdb .row-action-buttons{position:relative;width:60px}body.mp6 .wpmdb .row-action-buttons .helper-message{width:320px}body.mp6 .wpmdb .row-action-buttons .replace-remove-row{margin-left:4px;border:0;border-radius:50%;height:22px;width:auto;left:0;top:0;display:block;float:left;position:relative;margin-top:0}body.mp6 .wpmdb .row-action-buttons .replace-remove-row:after{display:inline-block;vertical-align:top;top:auto;position:relative;left:auto;height:22px;line-height:22px}body.mp6 .wpmdb .row-action-buttons .general-helper{display:inline-block;position:static;margin-left:4px}body.mp6 .wpmdb .row-action-buttons .general-helper:first-child{margin-left:2px}body.mp6 .wpmdb .row-action-buttons .general-helper:after{display:inline-block;vertical-align:top;top:auto;left:auto;position:relative}body.mp6 .wpmdb .delete-profile:after{color:#ccc}body.mp6 .wpmdb .delete-profile:hover:after{color:#aaa}body.mp6 .wpmdb .help-tab .support .email a,body.mp6 .wpmdb .help-tab .support p{font-size:14px}body.mp6 .wpmdb .help-tab div.warning p{font-size:13px}body.mp6 .wpmdb .help-tab .videos h4,body.mp6 .wpmdb .help-tab .videos p{font-size:14px}body.mp6 .wpmdb .inline-message,body.mp6 .wpmdb .notification-message{border-radius:0;border:0;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);padding:10px 14px;font-size:13px}body.mp6 .wpmdb .notification-message{margin-bottom:20px;background-color:#fff}body.mp6 .wpmdb .notification-message.invalid-licence,body.mp6 .wpmdb .notification-message.ssl-notice,body.mp6 .wpmdb .notification-message.unrecognized-import-file-notice{margin-bottom:0;margin-top:15px}body.mp6 .wpmdb .notification-message.backup-option-disabled{line-height:1.8em}body.mp6 .wpmdb .notification-message.backup-option-disabled a{text-decoration:underline}body.mp6 .wpmdb .notification-message.backup-option-disabled a:hover{text-decoration:none}body.mp6 .wpmdb .notification-message p{font-size:13px;margin-top:0}body.mp6 .wpmdb .notification-message p:last-child{margin:0}body.mp6 .wpmdb .notification-message h4{margin-top:0}body.mp6 .wpmdb .notification-message a{color:#0074a2;text-decoration:none}body.mp6 .wpmdb .notification-message a:hover{color:#2ea2cc}body.mp6 .wpmdb div.notification-message.invalid-licence p:last-child{margin:.5em 0}body.mp6 .wpmdb div.notification-message.invalid-licence p:last-child a.button{color:#555}body.mp6 .wpmdb .inline-message.error,body.mp6 .wpmdb .notification-message.error-notice{border-left:4px solid #dd3d36;background-color:#fff}body.mp6 .wpmdb .inline-message.warning,body.mp6 .wpmdb .notification-message.warning-notice{background-color:#fff;border-left:4px solid #ffba00}body.mp6 .wpmdb .inline-message.success,body.mp6 .wpmdb .notification-message.success-notice{border-left:4px solid #7ad03a}body.mp6 .wpmdb .ssl-notice{margin-bottom:0}body.mp6 .wpmdb .different-plugin-version-notice,body.mp6 .wpmdb .directory-permission-notice{margin-bottom:10px}body.mp6 .wpmdb .licence-status{color:#444;float:left;font-weight:400}body.mp6 #overlay{background-color:rgba(0,0,0,.5)}body.mp6 .migration-progress-ajax-spinner{top:20px} \ No newline at end of file diff --git a/asset/build/js/bundle-103.js b/asset/build/js/bundle-103.js deleted file mode 100644 index 7bb836d..0000000 --- a/asset/build/js/bundle-103.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e){var t={};function i(n){if(t[n])return t[n].exports;var a=t[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=5)}([function(e,t,i){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=i(1),o=jQuery,s=Backbone.Model.extend({defaults:{_initialStages:null,stages:null,activeStageName:null,stageModels:null,localTableRows:null,localTableSizes:null,remoteTableRows:null,remoteTableSizes:null,migrationStatus:"active",migrationIntent:"savefile"},initialize:function(){this.set("stageModels",{}),this.set("_initialStages",this.get("stages")),this.set("stages",[]),_.each(this.get("_initialStages"),function(e,t,i){this.addStage(e.name,t,i)},this)},addStage:function(e,t,i,a){var s,r=[];return _.each(t,function(e){var t,n;"remote"===i?(t=this.get("remoteTableSizes")[e],n=this.get("remoteTableRows")[e]):(t=this.get("localTableSizes")[e],n=this.get("localTableRows")[e]),r.push({name:e,size:t,rows:n})},this),s={name:e,items:r,dataType:i},"object"===(void 0===a?"undefined":n(a))&&(s=o.extend(s,a)),this.addStageModel(s),this.trigger("stage:added",this.get("stageModels")[e]),this.get("stageModels")[e].on("change",function(){this.trigger("change")},this),this.getStageModel(s.name)},addStageItem:function(e,t,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"";this.getStageModel(e).addItem(t,i,n,a)},addStageModel:function(e){var t=this.get("stages"),i=this.get("stageModels"),n=new a(e);t.push(e),i[e.name]=n,this.set("stages",t),this.set("stageModels",i)},getStageModel:function(e){return this.get("stageModels")[e]},getStageItems:function(e,t){var i=this.getStageModel(e).get("items");return void 0===t?i:i.map(function(e){return e[t]})},setActiveStage:function(e){this.setStageComplete(),this.set("activeStageName",e),this.getStageModel(e).set("status","active"),this.trigger("change:activeStage")},setStageComplete:function(e){e||(e=this.get("activeStageName")),null!==e&&this.getStageModel(e).set("status","complete"),wpmdb.current_migration.currentStageNum=wpmdb.current_migration.currentStageNum+1},setMigrationComplete:function(){var e=this.getStageModel(this.get("activeStageName"));this.setStageComplete(),this.trigger("migrationComplete"),this.set("migrationStatus","complete"),e.activateTab()}});e.exports=s},function(e,t,i){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=jQuery,o=Backbone.Model.extend({defaults:{status:"queued",_initialItems:null,items:null,names:null,lookupItems:null,totalSize:0,totalTransferred:0,dataType:"local",name:"",itemsComplete:0,itemsCompleteArr:[],strings:null},initialize:function(){this.initStrings(),this.set("_initialItems",this.get("items").slice()),this.set("items",[]),this.set("names",[]),this.set("lookupItems",{}),this.set("itemsCompleteArr",[]),_.each(this.get("_initialItems"),function(e){this.addItem(e.name,e.size,e.rows)},this),this.on("view:initialized",this.triggerItemViewInit),this.on("change",function(){wpmdb.current_migration.updateTitleElem()})},initStrings:function(){var e={stage_title:this.get("name"),migrated:wpmdb_strings.migrated,queued:wpmdb_strings.queued,active:wpmdb_strings.running,complete:wpmdb_strings.complete,hide:wpmdb_strings.hide,show:wpmdb_strings.show,itemsName:wpmdb_strings.tables},t=this.get("strings");t="object"===(void 0===t?"undefined":n(t))?t:{},(t=a.extend(e,t)).items_migrated=t.itemsName+" "+t.migrated,t.hide_items=t.hide+" "+t.itemsName,t.show_items=t.show+" "+t.itemsName,this.set("strings",t)},addItem:function(e,t,i,n){var o=this.get("items"),s=this.get("names");if(!~s.indexOf(e)){s.push(e);var r={name:e,size:t,rows:i||t,stageName:this.get("name"),transferred:0,rowsTransferred:0,complete:!1,title:null,get $title(){return this.title||this.createTitleElem()},set $title(e){this.title=e},createTitleElem:function(){return this.title=a("

").addClass("item-info").append(a('').text(this.displayName||this.name)).append(" ").append(a('').text("("+wpmdb.functions.convertKBSizeToHRFixed(r.size)+")")),this.title},progress:null,get $progress(){return this.progress||this.createProgElem()},set $progress(e){this.progress=e},createProgElem:function(){return this.progress=a('

').css("width","0%"),this.progress},el:null,get $el(){return this.el||this.createMainElem()},set $el(e){this.el=e},createMainElem:function(){return this.el=a('
'),this.el.append(this.$title),this.el.append(this.$progress),this.el.append(''),this.el.attr("id","item-"+this.name),this.el.attr("data-stage",this.stageName),this.el},updateProgress:function(e){var t=this.$progress;window.requestAnimationFrame(function(){t.css("width",e+"%")}.bind(this))}};void 0!==n&&n.length&&(r.displayName=n),o.push(r),this.get("lookupItems")[e]=o.length-1,this.set("totalSize",parseFloat(this.get("totalSize"))+parseFloat(t)),this.trigger("item:added",r)}},triggerItemViewInit:function(){var e=this.get("items"),t=this;_.each(e,function(e){t.trigger("item:added",e)})},getTotalSizeTransferred:function(){return this.get("totalTransferred")},countItemsComplete:function(){return this.get("itemsComplete")},getTotalProgressPercent:function(){var e=this.getTotalSizeTransferred(),t=this.get("totalSize");return 0>=e||0>=t?0:Math.min(100,Math.round(e/t*100))},activateTab:function(){this.trigger("activateTab"),wpmdb.current_migration.model.trigger("change:activeStage")},setItemComplete:function(e){var t=this.get("itemsCompleteArr");if(!~t.indexOf(e)){t.push(e);var i=this.getItemByName(e),n=this.get("totalTransferred"),a=this.get("itemsComplete");this.set("itemsComplete",++a),n+=i.size-i.transferred,this.set("totalTransferred",n),i.transferred=i.size,i.complete=!0,i.rowsTransferred=i.rows,this.trigger("change change:items",i)}},setItemPercentTransferred:function(e,t,i,n){var a=this.getItemByName(e),o=i/1e3;if(1===t){a.complete=!0,a.transferred=o;var s=this.get("itemsComplete");this.set("itemsComplete",++s),this.trigger("change change:items",a)}a.transferred=n/1e3,a.exactPercent=t;var r=this.get("totalTransferred");r+=o,this.set("totalTransferred",r),this.trigger("change change:items",a)},setItemRowsTransferred:function(e,t){var i,n,a=this.getItemByName(e),o=this.get("totalTransferred");1!==(i=-1===parseInt(t)?1:Math.min(1,t/a.rows))?(o+=(n=a.size*i)-a.transferred,this.set("totalTransferred",o),a.transferred=n,a.rowsTransferred=t,this.trigger("change change:items",a)):this.setItemComplete(e)},getItemByName:function(e){var t=this.get("items")[this.get("lookupItems")[e]]||{};return e===t.name?t:this.determineItemByName(e)},determineItemByName:function(e){for(var t=this.get("items"),i=0;i"),this.$el.append(this.$itemsContainer),this.initTabElem(),this.model.on("item:added",this.maybeAddElementToView,this),_.each(this.model.get("itemModels"),this.maybeAddElementToView,this),this.model.on("change",function(){this.updateProgressElem(),this.updateStageTotals()},this),this.model.on("change:status",function(e){this.$el.removeClass("queued active").addClass(this.model.get("status")),this.$totalProgressElem.removeClass("queued active").addClass(this.model.get("status")),this.$tabElem.removeClass("queued active").addClass(this.model.get("status")).find(".stage-status").text(this.model.get("strings")[this.model.get("status")])},this),this.model.on("change:items",function(e){e.name&&this.setItemProgress(e)},this),this.model.on("activateTab",function(){"complete"===wpmdb.current_migration.model.get("migrationStatus")&&(this.$totalProgressElem.addClass("active").siblings().removeClass("active"),this.$tabElem.addClass("active").siblings().removeClass("active"),this.$el.addClass("active").siblings().removeClass("active"))},this)},initTotalProgressElem:function(){this.initShowHideTablesElem(),this.initPauseBeforeFinalizeElem(),this.$totalProgressElem=n('
').append("0% "+this.model.get("strings").complete+" ").append('(0 MB / 0 MB) ').append('0 of 0 '+this.model.get("strings").items_migrated+"").append(this.$showHideTablesElem).append("
"),this.updateStageTotals()},initShowHideTablesElem:function(){this.$showHideTablesElem=n("").text(this.model.get("strings").show_items);var e=this;this.$showHideTablesElem.on("click show-hide-progress-tables",function(){var t;e.$el.hasClass("hide-tables")?(t=!1,e.$el.add(e.$el.siblings()).removeClass("hide-tables"),e.$showHideTablesElem.text(e.model.get("strings").hide_items)):(t=!0,e.$el.add(e.$el.siblings()).addClass("hide-tables"),e.$showHideTablesElem.text(e.model.get("strings").show_items)),Boolean(t)!==Boolean(wpmdb_data.prog_tables_hidden)&&(wpmdb_data.prog_tables_visibility_changed=!0,wpmdb_data.prog_tables_hidden=t)}),wpmdb_data.prog_tables_hidden||this.$showHideTablesElem.triggerHandler("show-hide-progress-tables"),this.model.on("change:status activateTab",function(){wpmdb_data.prog_tables_hidden?e.$showHideTablesElem.text(e.model.get("strings").show_items):e.$showHideTablesElem.text(e.model.get("strings").hide_items)})},initPauseBeforeFinalizeElem:function(){this.$pauseBeforeFinalizeElem=n(".pause-before-finalize"),this.$pauseBeforeFinalizeCheckbox=this.$pauseBeforeFinalizeElem.find("input[type=checkbox]");var e=this,t=!1,i=wpmdb.current_migration.model.get("migrationIntent");wpmdb_data.pause_before_finalize&&(t=!0),this.$pauseBeforeFinalizeCheckbox.prop("checked",t),-1!==n.inArray(i,["push","pull","find_replace","import"])?("find_replace"===i&&n("#pause-before-finalize-label").text(wpmdb_strings.pause_before_finalize_find_replace),this.$pauseBeforeFinalizeElem.show()):this.$pauseBeforeFinalizeElem.hide(),wpmdb.current_migration.model.on("change:activeStage",function(){-1!==n.inArray(wpmdb.current_migration.model.get("activeStageName"),["media","themes","plugins"])&&e.$pauseBeforeFinalizeElem.hide()}),this.$pauseBeforeFinalizeElem.on("click",function(){var t=Boolean(e.$pauseBeforeFinalizeCheckbox.is(":checked"));t!==Boolean(wpmdb_data.pause_before_finalize)&&(wpmdb_data.pause_before_finalize_changed=!0,wpmdb_data.pause_before_finalize=t)})},initTabElem:function(){var e=this;this.$tabElem=n("").append(""+this.model.get("strings").stage_title+" ").append(""+this.model.get("strings").queued+" ").on("click",function(){e.model.activateTab()})},updateProgressElem:function(){var e=Math.max(0,this.model.getTotalProgressPercent()),t=wpmdb.functions.convertKBSizeToHRFixed(Math.min(this.model.getTotalSizeTransferred(),this.model.get("totalSize"))),i=Math.min(this.model.countItemsComplete(),this.model.get("items").length);"complete"===this.model.get("status")&&0===this.model.get("totalSize")&&(e=100,this.$showHideTablesElem.fadeOut()),e!==this.percentDone&&(this.percentDone=e,this.$totalProgressElem.find(".percent-complete").text(e),this.$totalProgressElem.find(".progress-bar-wrapper .progress-bar").css({width:e+"%"})),t!=this.sizeDone&&(this.sizeDone=t,this.$totalProgressElem.find(".size-complete").text(t)),i!=this.tablesDone&&(this.tablesDone=i,this.$totalProgressElem.find(".items-complete").text(wpmdb.functions.wpmdb_add_commas(i)))},updateStageTotals:function(e){if((e=e||this.model.get("items").length)!==this.itemCount&&(this.itemCount=e,this.$totalProgressElem.find(".items-total").text(wpmdb.functions.wpmdb_add_commas(e)),this.$totalProgressElem.find(".size-total").text(wpmdb.functions.convertKBSizeToHRFixed(this.model.get("totalSize"))),!this.shouldHideItemProgress&&500'+wpmdb_strings.progress_items_truncated_msg.replace("%1$s",''+wpmdb.functions.wpmdb_add_commas(e)+"")+"
"),this.$truncationNoticeHiddenItems=this.$truncationNotice.find(".hidden-items"),this.$itemsContainer.after(this.$truncationNotice)}},updateTruncationNotice:function(){var e=this.shouldHideItemProgress?this.model.get("items").length:this.queuedElements.length;this.$truncationNoticeHiddenItems.text(wpmdb.functions.wpmdb_add_commas(e))},getNextElementForView:function(e){var t;return!this.shouldHideItemProgress&&(this.queuedElements.length&&(e&&this.queuedElements.push(e),e=(t=this.queuedElements.shift())instanceof n?t:t.$el),e)},setItemProgress:function(e){var t=Math.min(100,Math.ceil(e.transferred/e.size*100));e.hasOwnProperty("exactPercent")&&(t=100*e.exactPercent),0===e.size&&(t=100),e.updateProgress(t),(100<=t||0===e.size)&&this.elemComplete(e)},elemComplete:function(e){if(!this.shouldHideItemProgress){var t=e.$el.addClass("complete");if(1!==this.model.get("items").length){var i=this.getNextElementForView(t),n=t.height(),a=t.css("margin-bottom"),o=!1;i===t&&(o=i.clone().css({height:0,marginBottom:0,display:"block"}).addClass("clone complete")).appendTo(this.$itemsContainer),t.css({height:n,marginBottom:a}),setTimeout(function(){t.css({height:0,marginBottom:0});var e=0;o&&(e=250,o.css({height:n,marginBottom:a}),o.find(".progress-bar").addClass("progress-bar-no-transition").css({width:"100%"})),setTimeout(function(){t.css({display:"none"}),t.remove(),o&&o.remove(),this.$itemsContainer.find(".item-progress:not(.clone)").last().after(i.css({height:"auto",marginBottom:a,display:"block"}))}.bind(this),e)}.bind(this),1e3)}}}});e.exports=a},function(e,t,i){"use strict";var n=jQuery;e.exports={updateProgTableVisibilitySetting:function(){wpmdb_data.prog_tables_visibility_changed&&(wpmdb_data.prog_tables_visibility_changed=!1,n.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_save_setting",nonce:wpmdb_data.nonces.save_setting,setting:"prog_tables_hidden",checked:Boolean(wpmdb_data.prog_tables_hidden)},error:function(e,t,i){console.log("Could not save progress item visibility setting",i)}}))},updatePauseBeforeFinalizeSetting:function(){wpmdb_data.pause_before_finalize_changed&&(wpmdb_data.pause_before_finalize_changed=!1,n.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_save_setting",nonce:wpmdb_data.nonces.save_setting,setting:"pause_before_finalize",checked:Boolean(wpmdb_data.pause_before_finalize)},error:function(e,t,i){console.log("Could not save pause before finalize setting",i)}}))}}},function(e,t,i){"use strict";var n=function(e){return e&&e.__esModule?e:{default:e}}(i(6));window.wpmdb={functions:{},common:{hooks:[],call_stack:[],non_fatal_errors:"",migration_error:!1}},wpmdb.functions=new n.default,function(e){e.keys().forEach(function(t){t.includes("wpmdbCommon.js")||e(t)})}(i(7))},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var i=0;i ",i+='
'+s+"
"}return(a||"undefined"!==n)&&(o+=""+e+" — "),a||"undefined"===n||(o+=wpmdb_strings.status+": "+n.status+" "+n.statusText,o+="

"+wpmdb_strings.response+":
"),a||(i+=" "+t),o+=i}},{key:"preg_quote",value:function(e,t){return String(e).replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\"+(t||"")+"-]","g"),"\\$&")}},{key:"table_is",value:function(e,t,i){if((e+t).toLowerCase()===i.toLowerCase())return!0;var n=this.preg_quote(i);return null!==new RegExp(e+"([0-9]+)_"+t,"i").exec(n)}},{key:"subsite_for_table",value:function(e,t){var i=this.preg_quote(t),n=new RegExp(e+"([0-9]+)_","i").exec(i);return null===n?1:n[1]}},{key:"convertKBSizeToHR",value:function(e,t,i,n){var a,o;if(i=i||1e3,t=t||2,(e=parseFloat(e))<1&&e>0)a=[(e*i).toFixed(0),"B"];else if(i>Math.abs(e))a=[e.toFixed(0),"KB"];else{o=["MB","GB","TB","PB","EB","ZB","YB"];var s=-1;do{e/=i,++s}while(Math.abs(e)>=i&&s"+e.join(", ")+"",$(".excluded-post-types").html(t),"0"===i.css("opacity")&&i.css({opacity:0}).slideDown(200).animate({opacity:1})):i.css({opacity:0}).slideUp(200).animate({opacity:0})}}]),e}();t.default=a},function(e,t,i){var n={"./js/dismissable-notices.js":8,"./js/helpers/events.js":9,"./js/helpers/utils.js":10,"./js/helpers/wpmdbCommon.js":11,"./js/helpers/wpmdbGlobals.js":12,"./js/hook.js":13,"./js/import.js":14,"./js/localStorage.js":15,"./js/modules/MigrationProgress-controller.js":16,"./js/modules/MigrationProgress-model.js":17,"./js/modules/MigrationProgress-utils.js":18,"./js/modules/MigrationProgress-view.js":19,"./js/modules/MigrationProgressStage-model.js":20,"./js/modules/MigrationProgressStage-view.js":21,"./js/multisite.js":22,"./js/plugin-update.js":23,"./js/script.js":24,"./js/usage-tracking-notice.js":28,"./sass/_migration-progress.scss":29,"./sass/_progress-upgrade.scss":30,"./sass/plugin-update-styles.scss":31,"./sass/styles.scss":32};function a(e){return i(o(e))}function o(e){var t=n[e];if(!(t+1))throw new Error("Cannot find module '"+e+"'.");return t}a.keys=function(){return Object.keys(n)},a.resolve=o,e.exports=a,a.id=7},function(e,t){window.jQuery;!function(e){0\n\t\t\t

"+t.message+"

\n\t";wpmdb.current_migration.setState(e,i,"error"),wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events(),console.error("🚨 🚒",t)},t.throwMDBError=function(e){var t=void 0;throw void 0!==e.body&&(wpmdb.common.non_fatal_errors+=e.body,t=e.body),void 0!==e.msg&&(t=e.msg),new Error(t)},t.jQueryAjaxError=function(e,t){return void 0!==t.responseText&&""!==t.responseText?e=t.responseText:void 0!==t.statusText&&(e=t.statusText),console.error(t),wpmdb.current_migration.setState(wpmdb_strings.migration_failed,e,"error"),wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events(),e},t.doNextStep=function(e,t,i){return wpmdb.common.next_step_in_migration={fn:e,args:t},wpmdb.functions.execute_next_step(i)}},function(e,t){var i=window.jQuery;Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var i=0;i ",i+='
'+s+"
"}return(a||"undefined"!==n)&&(o+=""+e+" — "),a||"undefined"===n||(o+=wpmdb_strings.status+": "+n.status+" "+n.statusText,o+="

"+wpmdb_strings.response+":
"),a||(i+=" "+t),o+=i}},{key:"preg_quote",value:function(e,t){return String(e).replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\"+(t||"")+"-]","g"),"\\$&")}},{key:"table_is",value:function(e,t,i){if((e+t).toLowerCase()===i.toLowerCase())return!0;var n=this.preg_quote(i);return null!==new RegExp(e+"([0-9]+)_"+t,"i").exec(n)}},{key:"subsite_for_table",value:function(e,t){var i=this.preg_quote(t),n=new RegExp(e+"([0-9]+)_","i").exec(i);return null===n?1:n[1]}},{key:"convertKBSizeToHR",value:function(e,t,i,n){var a,o;if(i=i||1e3,t=t||2,(e=parseFloat(e))<1&&e>0)a=[(e*i).toFixed(0),"B"];else if(i>Math.abs(e))a=[e.toFixed(0),"KB"];else{o=["MB","GB","TB","PB","EB","ZB","YB"];var s=-1;do{e/=i,++s}while(Math.abs(e)>=i&&s"+e.join(", ")+"",i(".excluded-post-types").html(t),"0"===n.css("opacity")&&n.css({opacity:0}).slideDown(200).animate({opacity:1})):n.css({opacity:0}).slideUp(200).animate({opacity:0})}}]),e}();t.default=a},function(e,t){var i=window.jQuery;Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var i=0;i'}return a(e,[{key:"pad",value:function(e,t,i){return i=i||"0",(e+="").length>=t?e:new Array(t-e.length+1).join(i)+e}},{key:"is_int",value:function(e){return"number"==typeof(e=parseInt(e))&&0==e%1}},{key:"get_intersect",value:function(e,t){var i,n,a=[],o={},s=t.length;for(i=0;ii(".replace-row.pin").length&&1===i("#old-url").length&&i("#old-url").parents(".replace-row").addClass("pin"),!1===e&&0'),this.doing_ajax=!0,i.ajax({url:o,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_save_profile",profile:e,nonce:r.nonces.save_profile},error:function(e,n,a){t.doing_ajax=!1,alert(s.save_profile_problem),i(".save-settings-button").removeAttr("disabled"),i(".save-profile-ajax-spinner").remove(),i(".save-settings-button").after(''+s.saved+""),i(".ajax-success-msg").fadeOut(2e3,function(){i(this).remove()}),t.doing_save_profile=!1},success:function(e){var o=parseInt(i("#migrate-form input[name=save_migration_profile_option]:checked").val(),10)+1;if(t.doing_ajax=!1,i(".save-settings-button").removeAttr("disabled"),i(".save-profile-ajax-spinner").remove(),i(".save-settings-button").after(''+s.saved+""),i(".ajax-success-msg").fadeOut(2e3,function(){i(this).remove()}),t.doing_save_profile=!1,i(".create-new-profile").val(""),n){var l=parseInt(e,10),c=l+1,p=i('
  • ');p.find("label").append(document.createTextNode(" "+a)),o=c,i("#create_new").parents("li").before(p),i("#profile-"+c).attr("checked","checked")}var m=window.location.href.replace("#migrate","").replace(/&wpmdb-profile=-?\d+/,"")+"&wpmdb-profile="+o,d=i("#migrate-form input[name=save_migration_profile_option]:checked").parent().text().trim();if("function"==typeof window.history.pushState){if(i("#migrate-form .crumbs").length)i("#migrate-form .crumbs .crumb:last").text(d);else{var _=i('
    ').append(' Saved Profiles ').append(''+d+"");i("#migrate-form").prepend(_)}window.history.pushState({updated_profile_id:o},null,m)}}})}}},{key:"cancel_migration",value:function(e){this.migration_cancelled=!0,this.cancelling_text=s.cancelling_migration,i(".migration-controls").css({visibility:"hidden"}),"find_replace"===this.migration_intent&&(this.cancelling_text=s.cancelling_find_replace),wpmdb.current_migration.setState(this.cancelling_text,s.completing_current_request,"cancelling"),!0===this.migration_paused&&(this.migration_paused=!1,wpmdb.functions.execute_next_step())}},{key:"set_checkbox",value:function(e){var t=i("#"+e),n=t.find("input[type=checkbox]");t.toggleClass("on").find("span").toggleClass("checked");var a=t.find("span.on").hasClass("checked");n.attr("checked",a).trigger("change")}},{key:"move_connection_info_box",value:function(){var e,t,n,a,o,s,l=i(".connection-status"),c=i(".directory-permission-notice"),p=i(".compatibility-older-mysql"),m=i(".mst-required"),d=i(".keep-active-plugins"),_=i(".step-two"),u=i(".backup-options"),g=wpmdb.functions.wpmdb_migration_type();if(l.hide(),c.hide(),_.show(),u.show(),d.show(),p.hide(),m.hide(),wpmdb.functions.wpmdb_toggle_migration_action_text(),i(".migrate-tab").attr("class","migrate-tab content-tab").addClass(wpmdb.functions.wpmdb_migration_type()),i.wpmdb.do_action("move_connection_info_box",{migration_type:g,last_migration_type:this.last_replace_switch}),-1!==i.inArray(g,["push","pull"])){var h=i(".pull-push-connection-info"),b=i.trim(h.val()).split("\n"),f=i("."+g+"-list li");if(f.append(this.$connection_info_box),this.$connection_info_box.show(function(){var e=i(this).find(".pull-push-connection-info");e.val()||e.focus()}),g!==this.last_replace_switch&&2===b.length)return wpmdb.force_reconnect=!0,f.append(this.$connection_info_box),h.removeClass("temp-disabled").attr("readonly","readonly"),i(".connect-button").hide(),void wpmdb.functions.connection_box_changed();this.connection_established?(l.hide(),_.show(),wpmdb.functions.wpmdb_toggle_migration_action_text(),"pull"===g?(t=wpmdb.common.connection_data.prefix,n=r.site_details.prefix,a=r.this_uploads_dir,o=r.this_upload_dir_long,s=r.write_permission):(t=r.this_prefix,n=wpmdb.common.connection_data.prefix,a=wpmdb.common.connection_data.uploads_dir,o=wpmdb.common.connection_data.upload_dir_long,s=wpmdb.common.connection_data.write_permissions),i(".table_prefix").html(t),i(".backup-table-prefix").html(n),i(".uploads-dir").html(a),this.maybe_show_backup_disabled_msg(o,s),!1===this.profile_name_edited&&(e=this.get_domain_name(wpmdb.common.connection_data.url),i(".create-new-profile").val(e))):(l.show(),_.hide())}else if(-1!==i.inArray(g,["find_replace","savefile"]))if(l.hide(),_.show(),i(".table-prefix").html(r.this_prefix),!1===this.profile_name_edited&&i(".create-new-profile").val(""),d.hide(),"savefile"===g)u.hide(),p.show(),"false"===r.write_permission&&(c.show(),_.hide());else{if("true"===r.is_multisite){var w=i(".old-replace-col").eq(1);w.parent().removeClass("pin").find(".replace-remove-row").show(),w.find("input").removeAttr("readonly")}this.maybe_show_backup_disabled_msg(r.this_upload_dir_long,r.write_permission)}this.maybe_show_mixed_cased_table_name_warning()}},{key:"maybe_show_backup_disabled_msg",value:function(e,t){var n=i("#create-backup"),a=i("#create-backup-label"),o=i(".backup-option-disabled");n.removeAttr("disabled"),a.removeClass("disabled"),o.hide(),"false"===t&&(n.prop("checked",!1),n.attr("disabled","disabled"),a.addClass("disabled"),o.show(),i(".upload-directory-location").html(e))}},{key:"change_replace_values",value:function(){var e=null,t=null;null!==wpmdb.common.previous_connection_data&&"object"===n(wpmdb.common.previous_connection_data)&&wpmdb.common.previous_connection_data.url!==wpmdb.common.connection_data.url&&(e=this.remove_protocol(wpmdb.common.previous_connection_data.url),t=wpmdb.common.previous_connection_data.path),"push"===wpmdb.functions.wpmdb_migration_type()||"savefile"===wpmdb.functions.wpmdb_migration_type()?("pull"===this.last_replace_switch?i(".replace-row").each(function(){var e=i(".old-replace-col input",this).val();i(".old-replace-col input",this).val(i(".replace-right-col input",this).val()),i(".replace-right-col input",this).val(e)}):"push"===this.last_replace_switch&&"push"===wpmdb.functions.wpmdb_migration_type()&&null!==e&&null!==t&&i(".replace-row").each(function(){var n=i(".replace-right-col input",this).val();n===t&&i(".replace-right-col input",this).val(wpmdb.common.connection_data.path),n===e&&i(".replace-right-col input",this).val(this.remove_protocol(wpmdb.common.connection_data.url))}),i.wpmdb.do_action("wpmdb_update_push_table_select"),i("#select-post-types").remove(),i(".exclude-post-types-warning").after(this.$push_post_type_select),wpmdb.functions.exclude_post_types_warning(),i("#select-backup").remove(),i(".backup-tables-wrap").prepend(this.$push_select_backup)):"pull"===wpmdb.functions.wpmdb_migration_type()&&(""===this.last_replace_switch||"push"===this.last_replace_switch||"savefile"===this.last_replace_switch?i(".replace-row").each(function(){var e=i(".old-replace-col input",this).val();i(".old-replace-col input",this).val(i(".replace-right-col input",this).val()),i(".replace-right-col input",this).val(e)}):"pull"===this.last_replace_switch&&"pull"===wpmdb.functions.wpmdb_migration_type()&&null!==e&&null!==t&&i(".replace-row").each(function(){var n=i(".old-replace-col input",this).val();n===t&&i(".old-replace-col input",this).val(wpmdb.common.connection_data.path),n===e&&i(".old-replace-col input",this).val(this.remove_protocol(wpmdb.common.connection_data.url))}),i.wpmdb.do_action("wpmdb_update_pull_table_select"),i("#select-post-types").remove(),i(".exclude-post-types-warning").after(this.$pull_post_type_select),wpmdb.functions.exclude_post_types_warning(),i("#select-backup").remove(),i(".backup-tables-wrap").prepend(this.$pull_select_backup)),this.last_replace_switch=wpmdb.functions.wpmdb_migration_type()}},{key:"switch_to_plugin_tab",value:function(e,t){i(".nav-tab").removeClass("nav-tab-active"),i(".nav-tab."+e).addClass("nav-tab-active"),i(".content-tab").hide(),i("."+e+"-tab").show(),"settings"===e&&!0===this.should_check_licence()&&(i("p.licence-status").append("Checking License... ").append(this.ajax_spinner),this.check_licence()),"help"===e&&(this.refresh_debug_log(),!0===this.should_check_licence()&&(i(".support-content p").append(this.ajax_spinner),this.check_licence())),"addons"===e&&!0!==t&&!0===this.should_check_licence()&&(i(".addons-content p").append(this.ajax_spinner),this.check_licence())}},{key:"hide_overlay",value:function(){i("#overlay").removeClass("show").addClass("hide"),i("#overlay > div").removeClass("show").addClass("hide"),wpmdb.current_migration.$proVersion.find("iframe").remove(),setTimeout(function(){i("#overlay").remove()},500),this.migration_completed=!1}},{key:"check_licence",value:function(e){var t=!this.doing_licence_registration_ajax;this.checked_licence=!0;var n=this;i.ajax({url:o,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_check_licence",licence:e,context:"all",nonce:r.nonces.check_licence},error:function(e,t,i){alert(s.license_check_problem)},success:function(e){var a,o,s,r=i(".support-content"),l=i(".addons-content"),c=i(".licence-status:not(.notification-message)");if(void 0!==e.dbrains_api_down)o=e.dbrains_api_down+e.message,s=e.dbrains_api_down;else if(void 0!==e.errors){if(void 0!==e.errors.subscription_expired)a=e.errors.subscription_expired.licence,o=e.errors.subscription_expired.support,s=e.errors.subscription_expired.addons;else{var p="";for(var m in e.errors)p+=e.errors[m];o=p,s=p}void 0!==e.addon_content&&(s+="\n"+e.addon_content)}else o=e.message,s=e.addon_content;t&&c.stop().fadeOut(n.fade_duration,function(){void 0===a&&(i(this).css({visibility:"hidden",display:"block"}).slideUp(),a=""),i(this).empty().html(a).stop().fadeIn(n.fade_duration)}),r.stop().fadeOut(n.fade_duration,function(){i(this).empty().html(o).stop().fadeIn(n.fade_duration)}),l.stop().fadeOut(n.fade_duration,function(){i(this).empty().html(s).stop().fadeIn(n.fade_duration)}),i("#plugin-compatibility").is(":not(:checked)")&&i("#compatibility-header").click()}})}},{key:"should_check_licence",value:function(){return!1===this.checked_licence&&"1"===r.has_licence&&"true"===r.is_pro}},{key:"maybe_show_mixed_cased_table_name_warning",value:function(){if(void 0!==wpmdb.common.connection_data&&!1!==wpmdb.common.connection_data){var e=wpmdb.functions.wpmdb_migration_type(),t=wpmdb.functions.get_tables_to_migrate(null,null);i(".mixed-case-table-name-notice").hide(),null!==t&&(t=t.join(""))!==t.toLowerCase()&&("1"===wpmdb.common.connection_data.lower_case_table_names||"push"!==e&&"savefile"!==e)&&("1"!==r.lower_case_table_names&&"pull"===e||("push"===e||"savefile"===e?i(".mixed-case-table-name-notice.push").show():i(".mixed-case-table-name-notice.pull").show()))}}},{key:"enable_pro_licence",value:function(e,t){i(".licence-input, .register-licence").remove(),i(".licence-not-entered").prepend(e.masked_licence),i(".support-content").empty().html("

    "+s.fetching_license+'

    '),this.check_licence(t),i(".migrate-selection label").removeClass("disabled"),i(".migrate-selection input").removeAttr("disabled")}},{key:"get_domain_name",value:function(e){return e.replace(/\/\/(.*)@/,"//").replace("http://","").replace("https://","").replace("www.","")}},{key:"update_domain_placeholder",value:function(e,t,i){var n=this.get_domain_name(t);return"completed"===i?e.replace(/\%s\s?/,""+n+" "):e.replace(/\%s(\S*)\s?/,""+n+"$1 ")}},{key:"get_migration_status_label",value:function(e,t,n){var a="",o="";switch(t){case"push":a=s.push_migration_label_migrating,o=s.push_migration_label_completed;break;case"pull":a=s.pull_migration_label_migrating,o=s.pull_migration_label_completed;break;case"find_replace":a=s.find_replace_label_migrating,o=s.find_replace_label_completed;break;case"savefile":a=s.exporting_please_wait,o=s.exporting_complete}var r=a;return"completed"===n&&(r=o),"push"!==t&&"pull"!==t||(r=this.update_domain_placeholder(r,e,n)),r=i.wpmdb.apply_filters("wpmdb_get_migration_status_label",r,{intent:t,stage:n})}},{key:"disable_export_type_controls",value:function(){i(".option-group").each(function(e){i("input",this).attr("disabled","disabled"),i("label",this).css("cursor","default")})}},{key:"enable_export_type_controls",value:function(){i(".option-group").each(function(e){i("input",this).removeAttr("disabled"),i("label",this).css("cursor","pointer")})}},{key:"set_slider_value",value:function(e,t,n,a){var o=t;void 0!==a&&(o=a),i(".slider",e).slider("value",parseInt(t)),i(".amount",e).html(wpmdb.functions.wpmdb_add_commas(o)+" "+n)}},{key:"set_pause_resume_button",value:function(e,t){!0===this.migration_paused?(this.migration_paused=!1,this.doing_ajax=!0,wpmdb.current_migration.setState(this.previous_progress_title,this.previous_progress_text_primary,"active"),i(".pause-resume").html(s.pause),wpmdb.current_migration.resumeTimer(),wpmdb.functions.execute_next_step(t)):(this.migration_paused=!0,this.doing_ajax=!1,this.paused_text=s.migration_paused,this.previous_progress_title=i(".progress-title").html(),this.previous_progress_text_primary=i(".progress-text",".progress-wrapper-primary").html(),this.previous_progress_text_secondary=i(".progress-text",".progress-wrapper-secondary ").html(),"find_replace"===this.migration_intent&&(this.paused_text=s.find_replace_paused),wpmdb.current_migration.setState(this.paused_text,s.completing_current_request,null),i("body").off("click",".pause-resume"),i("body").off("click",".cancel"))}},{key:"filter_temp_tables",value:function(e,t){var i=r.this_temp_prefix;return"pull"===wpmdb.functions.wpmdb_migration_type()&&void 0!==wpmdb.common.connection_data&&void 0!==wpmdb.common.connection_data.temp_prefix&&(i=wpmdb.common.connection_data.temp_prefix),i===t.substring(0,i.length)||e}},{key:"get_table_prefix",value:function(e,t){return i(".table-select-wrap .table-prefix").text()}},{key:"lock_replace_url",value:function(e){!0===e?(i('.replace-row.pin .replace-right-col input[type="text"]').attr("readonly","readonly"),i(".replace-row.pin .arrow-col").addClass("disabled")):(i('.replace-row.pin .replace-right-col input[type="text"]').removeAttr("readonly"),i(".replace-row.pin .arrow-col").removeClass("disabled"))}},{key:"set_connection_data",value:function(e){window.wpmdb.common.previous_connection_data=wpmdb.common.connection_data,window.wpmdb.common.connection_data=e,i.wpmdb.do_action("wpmdb_connection_data_updated",e)}},{key:"get_max_request_display_info",value:function(e){var t={unit:"MB"};return t.amount=(e/1024).toFixed(2),t}},{key:"establish_remote_connection_from_saved_profile",value:function(){var e=wpmdb.functions.wpmdb_migration_type(),t=i.trim(i(".pull-push-connection-info").val()).split("\n");if("undefined"!=typeof wpmdb_default_profile&&!0!==wpmdb_default_profile&&"savefile"!==e&&"find_replace"!==e&&"import"!==e&&!this.doing_ajax&&r.is_pro){this.doing_ajax=!0,this.disable_export_type_controls(),i(".connection-status").html(s.establishing_remote_connection),i(".connection-status").removeClass("notification-message error-notice migration-error"),i(".connection-status").append(this.ajax_spinner);var n=wpmdb.functions.wpmdb_migration_type(),a=this;i.ajax({url:o,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_verify_connection_to_remote_site",url:t[0],key:t[1],intent:n,nonce:r.nonces.verify_connection_to_remote_site,convert_post_type_selection:wpmdb_convert_post_type_selection,profile:r.profile},error:function(e,t,n){i(".connection-status").html(a.get_ajax_errors(e.responseText,"(#102)",e)),i(".connection-status").addClass("notification-message error-notice migration-error"),i(".ajax-spinner").remove(),a.doing_ajax=!1,a.enable_export_type_controls()},success:function(e){if(i(".ajax-spinner").remove(),a.doing_ajax=!1,a.enable_export_type_controls(),void 0!==e.wpmdb_error&&1===e.wpmdb_error)return i(".connection-status").html(e.body),i(".connection-status").addClass("notification-message error-notice migration-error"),void(e.body.indexOf("401 Unauthorized")>-1&&i(".basic-access-auth-wrapper").show());if(!0!==a.maybe_show_mst_warning(e)){a.maybe_show_ssl_warning(t[0],t[1],e.scheme),wpmdb.functions.maybe_show_prefix_notice(e.prefix),i(".pull-push-connection-info").addClass("temp-disabled"),i(".pull-push-connection-info").attr("readonly","readonly"),i(".connect-button").hide(),i(".connection-status").hide(),i(".step-two").show(),a.connection_established=!0,a.set_connection_data(e),a.move_connection_info_box(),a.maybe_show_mixed_cased_table_name_warning();var n="";!1===wpmdb_default_profile&&"undefined"!=typeof wpmdb_loaded_tables&&(n=wpmdb_loaded_tables),a.$pull_select=wpmdb.functions.create_table_select(wpmdb.common.connection_data.tables,wpmdb.common.connection_data.table_sizes_hr,n);var o="";!1===wpmdb_default_profile&&"undefined"!=typeof wpmdb_loaded_post_types&&(void 0!==e.select_post_types?(i("#exclude-post-types").attr("checked","checked"),i(".post-type-select-wrap").show(),o=e.select_post_types):o=wpmdb_loaded_post_types);var s=document.createElement("select");i(s).attr({multiple:"multiple",name:"select_post_types[]",id:"select-post-types",class:"multiselect"}),i.each(wpmdb.common.connection_data.post_types,function(e,t){var n=i.inArray(t,o);n=-1!==n||!0===wpmdb_convert_exclude_revisions&&"revision"!==t?' selected="selected" ':" ",i(s).append("'+t+"")}),a.$pull_post_type_select=s;var l="";!1===wpmdb_default_profile&&"undefined"!=typeof wpmdb_loaded_tables_backup&&(l=wpmdb_loaded_tables_backup);var c=document.createElement("select");i(c).attr({multiple:"multiple",name:"select_backup[]",id:"select-backup",class:"multiselect"}),i.each(wpmdb.common.connection_data.tables,function(e,t){var n=i.inArray(t,l);n=-1!==n?' selected="selected" ':" ",i(c).append("'+t+" ("+wpmdb.common.connection_data.table_sizes_hr[t]+")")}),a.$push_select_backup=c,"pull"===wpmdb.functions.wpmdb_migration_type()?(i.wpmdb.do_action("wpmdb_update_pull_table_select"),i("#select-post-types").remove(),i(".exclude-post-types-warning").after(a.$pull_post_type_select),i("#select-backup").remove(),i(".backup-tables-wrap").prepend(a.$pull_select_backup),i(".table-prefix").html(e.prefix),i(".uploads-dir").html(r.this_uploads_dir)):(i("#select-backup").remove(),i(".backup-tables-wrap").prepend(a.$push_select_backup)),i.wpmdb.do_action("verify_connection_to_remote_site",wpmdb.common.connection_data)}else i(".connection-status").hide()}})}}},{key:"migrate_table_recursive",value:function(e,t,n){var a=this,l=n||0;if(l>=this.tables_to_migrate.length)if("upload"===this.stage&&wpmdb.current_migration.model.getStageItems("find_replace").length)this.stage="find_replace",this.tables_to_migrate=wpmdb.current_migration.model.getStageItems("find_replace","name"),this.tables_to_migrate=this.tables_to_migrate.map(function(e){return"_mig_"+e}),l=0;else{if("backup"!==this.stage)return i(".progress-label").removeClass("label-visible"),wpmdb.common.hooks=i.wpmdb.apply_filters("wpmdb_before_migration_complete_hooks",wpmdb.common.hooks),wpmdb.common.hooks.push(wpmdb.functions.migration_complete),wpmdb.common.hooks.push(wpmdb.functions.wpmdb_flush),wpmdb.common.hooks=i.wpmdb.apply_filters("wpmdb_after_migration_complete_hooks",wpmdb.common.hooks),wpmdb.common.hooks.push(wpmdb.functions.migration_complete_events),wpmdb.common.next_step_in_migration={fn:wpmdb.functions.wpmdb_call_next_hook},void wpmdb.functions.execute_next_step();if(-1!==i.inArray(this.migration_intent,["push","pull"])?this.stage="migrate":"import"===this.migration_intent?this.stage="upload":this.stage=this.migration_intent,wpmdb.current_migration.model.setActiveStage(this.stage),"find_replace"!==this.stage&&"migrate"!==this.stage)return void wpmdb.functions.wpmdb_call_next_hook();l=0,this.tables_to_migrate=wpmdb.functions.get_tables_to_migrate(null,null)}var c=0;l===this.tables_to_migrate.length-1&&(c=1);var p=0;-1!==i.inArray(this.migration_intent,["push","pull"])&&1===parseInt(wpmdb.common.connection_data.gzip)&&(p=1);var m={action:"wpmdb_migrate_table",migration_state_id:wpmdb.migration_state_id,table:this.tables_to_migrate[l],stage:this.stage,current_row:e,last_table:c,primary_keys:t,gzip:p,nonce:r.nonces.migrate_table};-1!==i.inArray(this.migration_intent,["push","pull"])&&(m.bottleneck=wpmdb.common.connection_data.bottleneck,m.prefix=wpmdb.common.connection_data.prefix),wpmdb.common.connection_data&&wpmdb.common.connection_data.path_current_site&&wpmdb.common.connection_data.domain&&(m.path_current_site=wpmdb.common.connection_data.path_current_site,m.domain_current_site=wpmdb.common.connection_data.domain),this.doing_ajax=!0,i.ajax({url:o,type:"POST",dataType:"text",cache:!1,timeout:0,data:m,error:function(e,t,i){var n=s.table_process_problem+" "+a.tables_to_migrate[l]+"

    "+s.status+": "+e.status+" "+e.statusText+"

    "+s.response+":
    "+e.responseText;wpmdb.current_migration.setState(s.migration_failed,n,"error"),a.doing_ajax=!1,console.log(e),console.log(t),console.log(i),wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events()},success:function(e){a.doing_ajax=!1,e=i.trim(e);var t=wpmdb.functions.wpmdb_parse_json(e),n="";if(!1===t||null===t)return n=""===e||null===e?s.table_process_problem_empty_response+" "+a.tables_to_migrate[l]:a.get_ajax_errors(e,null,null),wpmdb.current_migration.setState(s.migration_failed,n,"error"),wpmdb.common.migration_error=!0,void wpmdb.functions.migration_complete_events();if(void 0!==t.wpmdb_error&&1===t.wpmdb_error)return wpmdb.current_migration.setState(s.migration_failed,t.body,"error"),wpmdb.common.migration_error=!0,void wpmdb.functions.migration_complete_events();var o=a.tables_to_migrate[l];"import"===a.migration_intent&&"find_replace"===a.stage&&(o=o.replace(r.this_temp_prefix,"")),wpmdb.current_migration.setText(),wpmdb.current_migration.model.getStageModel(a.stage).setItemRowsTransferred(o,t.current_row),1===c&&"savefile"===a.migration_intent&&(void 0!==t.dump_filename&&(a.dump_filename=t.dump_filename),void 0!==t.dump_path&&(a.dump_path=t.dump_path)),-1===parseInt(t.current_row)&&(l++,t.current_row="",t.primary_keys=""),wpmdb.common.next_step_in_migration={fn:wpmdb.functions.migrate_table_recursive,args:[t.current_row,t.primary_keys,l]},wpmdb.functions.execute_next_step()}})}},{key:"migration_complete_events",value:function(){if(!1===wpmdb.common.migration_error)if(""===wpmdb.common.non_fatal_errors)if("savefile"!==this.migration_intent&&!0===i("#save_computer").is(":checked")&&wpmdb.current_migration.setText(),this.completed_msg=this.completed_msg+' 
    ',!0===this.migration_cancelled){var e=s.migration_cancelled_success;"find_replace"===this.migration_intent&&(e=s.find_replace_cancelled_success),wpmdb.current_migration.setState(this.completed_msg,e,"cancelled")}else wpmdb.current_migration.setState(this.completed_msg,"","complete");else wpmdb.current_migration.setState(s.completed_with_some_errors,wpmdb.common.non_fatal_errors,"error");i(".migration-controls").addClass("hidden"),wpmdb.common.hooks=[],wpmdb.common.call_stack=[],wpmdb.common.migration_error=!1,this.currently_migrating=!1,this.migration_completed=!0,this.migration_paused=!1,this.migration_cancelled=!1,this.doing_ajax=!1,wpmdb.common.non_fatal_errors="",this.tables_to_migrate=[],i(".progress-label").remove(),i(".migration-progress-ajax-spinner").remove(),i(".close-progress-content").show(),i("#overlay").css("cursor","pointer"),wpmdb.current_migration.model.setMigrationComplete()}},{key:"migration_complete",value:function(){var e=this;if(i(".migration-controls").addClass("hidden"),"savefile"===this.migration_intent){this.currently_migrating=!1;var t=s.migration_complete;if(i("#save_computer").is(":checked")){var n=r.this_download_url+encodeURIComponent(this.dump_filename);i("#gzip_file").is(":checked")&&(n+="&gzip=1"),window.location=n}else t=s.completed_dump_located_at+" "+this.dump_path;!1===wpmdb.common.migration_error&&(wpmdb.functions.migration_complete_events(),wpmdb.current_migration.setState(this.completed_msg,t,"complete"))}else{wpmdb.current_migration.setState(null,s.finalizing_migration,"finalizing");var a={action:"wpmdb_finalize_migration",migration_state_id:wpmdb.migration_state_id,tables:this.tables_to_migrate.join(","),nonce:r.nonces.finalize_migration};-1!==i.inArray(this.migration_intent,["push","pull"])&&(a.prefix=wpmdb.common.connection_data.prefix),this.doing_ajax=!0,i.ajax({url:o,type:"POST",dataType:"text",cache:!1,data:a,error:function(t,i,n){e.doing_ajax=!1,wpmdb.current_migration.setState(s.migration_failed,s.finalize_tables_problem,"error"),alert(t+" : "+i+" : "+n),wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events()},success:function(t){if(e.doing_ajax=!1,"1"!==i.trim(t))return wpmdb.current_migration.setState(s.migration_failed,t,"error"),wpmdb.common.migration_error=!0,void wpmdb.functions.migration_complete_events();wpmdb.common.next_step_in_migration={fn:wpmdb.functions.wpmdb_call_next_hook},wpmdb.functions.execute_next_step()}})}}},{key:"wpmdb_flush",value:function(){var e=this;"savefile"!==this.migration_intent&&(wpmdb.current_migration.setText(s.flushing),this.doing_ajax=!0,i.ajax({url:o,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_flush",migration_state_id:wpmdb.migration_state_id,nonce:r.nonces.flush},error:function(t,i,n){e.doing_ajax=!1,wpmdb.current_migration.setState(s.migration_failed,s.flush_problem,"error"),alert(t+" : "+i+" : "+n),wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events()},success:function(t){if(e.doing_ajax=!1,"1"!==i.trim(t))return wpmdb.current_migration.setState(s.migration_failed,t,"error"),wpmdb.common.migration_error=!0,void wpmdb.functions.migration_complete_events();wpmdb.common.next_step_in_migration={fn:wpmdb.functions.wpmdb_call_next_hook},wpmdb.functions.execute_next_step()}}))}},{key:"execute_next_step",value:function(){var e=this;if(0
    "+s.status+": "+t.status+" "+t.statusText+"

    "+s.response+":
    "+t.responseText,"error"),console.log(t),console.log(i),console.log(n),e.doing_ajax=!1,wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events()},success:function(t){if(e.doing_ajax=!1,t=i.trim(t),"push"===e.migration_intent&&"1"!==t||"push"!==e.migration_intent&&""!==t)return void 0!==t&&void 0!==t.wpmdb_error&&1===t.wpmdb_error&&(t=t.wpmdb_error),wpmdb.current_migration.setState(s.migration_cancellation_failed,t,"error"),wpmdb.common.migration_error=!0,void wpmdb.functions.migration_complete_events();e.completed_msg=s.migration_cancelled,"find_replace"===e.migration_intent&&(e.completed_msg=s.find_replace_cancelled),wpmdb.functions.migration_complete_events(),wpmdb.current_migration.setStatus("cancelled")}})}else wpmdb.common.next_step_in_migration.fn.apply(null,wpmdb.common.next_step_in_migration.args)}},{key:"maybe_show_prefix_notice",value:function(e){var t=i(".prefix-notice");t.hide(),e!==r.this_prefix&&(i(".remote-prefix").html(e),this.show_prefix_notice=!0,t.show())}},{key:"maybe_show_mst_warning",value:function(e){var t=wpmdb.functions.wpmdb_migration_type(),n=!1;return-1!==i.inArray(t,["push","pull"])&&void 0!==e.site_details?r.site_details.is_multisite!==e.site_details.is_multisite&&(void 0!==wpmdb.mst&&void 0!==e.mst_available&&"1"===e.mst_available||(n=!0)):"import"===t&&void 0!==e.multisite&&void 0!==e.subsite_export&&("false"===r.site_details.is_multisite&&"true"===e.multisite&&"true"!==e.subsite_export||"true"===r.site_details.is_multisite&&"false"===e.multisite)&&(n=!0),(n=i.wpmdb.apply_filters("wpmdb_show_mst_warning",n))&&i(".mst-required").show(),n}},{key:"maybe_show_select_table_notice",value:function(){if(i("#migrate-selected").is(":checked")&&null===i("#select-tables").val()){if("import"!==wpmdb.functions.wpmdb_migration_type())return alert(s.please_select_one_table),!0;if(i("#import-find-replace").is(":checked")&&i("#select-tables").is(":visible"))return alert(s.please_select_one_table_import),!0}return!("savefile"===wpmdb.functions.wpmdb_migration_type()||!i("#backup-manual-select").is(":checked")||null!==i("#select-backup").val())&&(alert(s.please_select_one_table_backup),!0)}},{key:"remove_protocol",value:function(e){return e.replace(/^https?:/i,"")}},{key:"create_table_select",value:function(e,t,n){var a=document.createElement("select");return i(a).attr({multiple:"multiple",name:"select_tables[]",id:"select-tables",class:"multiselect"}),0'+o+r+"")}}),a}},{key:"get_tables_to_migrate",value:function(){var e=[],t=wpmdb.functions.wpmdb_migration_type();return"migrate_select"===i("input[name=table_migrate_option]:checked").val()?e=i("#select-tables").val():"pull"!==t&&void 0!==r.this_prefixed_tables?e=r.this_prefixed_tables:"pull"===t&&void 0!==wpmdb.common.connection_data&&void 0!==wpmdb.common.connection_data.prefixed_tables&&(e=wpmdb.common.connection_data.prefixed_tables),e}},{key:"update_migrate_button_text",value:function(){var e=wpmdb.functions.wpmdb_migration_type(),t=i("#save-migration-profile").is(":checked")?"_save":"",n="migrate_button_"+("savefile"===e?"export":e)+t;i(".migrate-db .button-primary").val(s[n])}},{key:"connection_box_changed",value:function(){var e=this,t=i(".pull-push-connection-info");if(-1!==i.inArray(wpmdb.functions.wpmdb_migration_type(),["push","pull"])&&(!this.doing_ajax&&!i(t).hasClass("temp-disabled")||!1!==wpmdb.force_reconnect)){wpmdb.force_reconnect=!1;var n=i(".pull-push-connection-info").val(),a=i.trim(n).split("\n"),l=!1,c="";if(""===a&&(l=!0,c=s.connection_info_missing),1===a.length&&!l){var p=i.trim(n).split(" ");2===p.length&&(a=p)}2===a.length||l||(l=!0,c=s.connection_info_incorrect),l||this.validate_url(a[0])||(l=!0,c=s.connection_info_url_invalid);var m=0;if(void 0!==a[1]&&(m=a[1].length),l||32===m||40===m||(l=!0,c=s.connection_info_key_invalid),l||a[0]!==r.connection_info[0]||(l=!0,c=s.connection_info_local_url),l||a[1]!==r.connection_info[1]||(l=!0,c=s.connection_info_local_key),l)return i(".connection-status").html(c),void i(".connection-status").addClass("notification-message error-notice migration-error");var d=a[0]+"\n"+a[1];1===i.trim(n).split("\n").length&&i(".pull-push-connection-info").val(d),!1===r.openssl_available&&(a[0]=a[0].replace("https://","http://"),d=a[0]+"\n"+a[1],i(".pull-push-connection-info").val(d)),this.show_prefix_notice=!1,this.doing_ajax=!0,this.disable_export_type_controls(),i(".basic-access-auth-wrapper").is(":visible")&&(a[0]=a[0].replace(/\/\/(.*)@/,"//"),a[0]=a[0].replace("//","//"+encodeURIComponent(i.trim(i(".auth-username").val()))+":"+encodeURIComponent(i.trim(i(".auth-password").val()))+"@"),d=a[0]+"\n"+a[1],i(".pull-push-connection-info").val(d),i(".basic-access-auth-wrapper").hide()),i(".step-two").hide(),i(".ssl-notice").hide(),i(".prefix-notice").hide(),i(".connection-status").show(),i(".connection-status").html(s.establishing_remote_connection),i(".connection-status").removeClass("notification-message error-notice migration-error"),i(".connection-status").append(this.ajax_spinner);var _=wpmdb.functions.wpmdb_migration_type();return this.profile_name_edited=!1,i.ajax({url:o,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_verify_connection_to_remote_site",url:a[0],key:a[1],intent:_,nonce:r.nonces.verify_connection_to_remote_site},error:function(t,n,a){i(".connection-status").html(e.get_ajax_errors(t.responseText,"(#100)",t)),i(".connection-status").addClass("notification-message error-notice migration-error"),i(".ajax-spinner").remove(),e.doing_ajax=!1,e.enable_export_type_controls()},success:function(t){if(i(".ajax-spinner").remove(),e.doing_ajax=!1,e.enable_export_type_controls(),void 0!==t.wpmdb_error&&1===t.wpmdb_error)return i(".connection-status").html(t.body),i(".connection-status").addClass("notification-message error-notice migration-error"),t.body.indexOf("401 Unauthorized")>-1&&i(".basic-access-auth-wrapper").show(),void(i(".pull-push-connection-info").hasClass("temp-disabled")||i(".connect-button").is(":visible")||(i(".pull-push-connection-info").removeAttr("readonly"),i(".connect-button").show()));if(!0!==e.maybe_show_mst_warning(t)){e.maybe_show_ssl_warning(a[0],a[1],t.scheme);var n=e.get_domain_name(t.url);i(".create-new-profile").val(n),i(".pull-push-connection-info").addClass("temp-disabled"),i(".pull-push-connection-info").attr("readonly","readonly"),i(".connect-button").hide(),i(".connection-status").hide(),i(".step-two").show(),wpmdb.functions.maybe_show_prefix_notice(t.prefix),e.connection_established=!0,e.set_connection_data(t),e.move_connection_info_box(),e.change_replace_values(),e.maybe_show_mixed_cased_table_name_warning(),e.refresh_table_selects(null,null,e),e.$push_select_backup=i(e.$pull_select).clone(),i(e.$push_select_backup).attr({name:"select_backup[]",id:"select-backup"});var o=document.createElement("select");i(o).attr({multiple:"multiple",name:"select_post_types[]",id:"select-post-types",class:"multiselect"}),i.each(wpmdb.common.connection_data.post_types,function(e,t){i(o).append('")}),e.$pull_post_type_select=o,i("#new-path-missing-warning, #new-url-missing-warning").hide(),"pull"===wpmdb.functions.wpmdb_migration_type()?(i("#new-url").val(e.remove_protocol(r.this_url)),i("#new-path").val(r.this_path),"true"===r.is_multisite&&(i("#new-domain").val(r.this_domain),i('.replace-row.pin .old-replace-col input[type="text"]').val(e.remove_protocol(t.url))),i("#old-url").val(e.remove_protocol(t.url)),i("#old-path").val(t.path),i.wpmdb.do_action("wpmdb_update_pull_table_select"),i("#select-post-types").remove(),i(".exclude-post-types-warning").after(e.$pull_post_type_select),wpmdb.functions.exclude_post_types_warning(),i(".table-prefix").html(t.prefix),i(".backup-table-prefix").html(r.site_details.prefix),i(".uploads-dir").html(r.this_uploads_dir)):(i("#new-url").val(e.remove_protocol(t.url)),i("#new-path").val(t.path),"true"===r.is_multisite&&i('.replace-row.pin .old-replace-col input[type="text"]').val(e.remove_protocol(r.this_url)),i.wpmdb.do_action("wpmdb_update_push_table_select"),i("#select-backup").remove(),i(".backup-tables-wrap").prepend(e.$push_select_backup)),wpmdb.common.next_step_in_migration={fn:i.wpmdb.do_action,args:["verify_connection_to_remote_site",wpmdb.common.connection_data]},wpmdb.functions.execute_next_step()}else i(".connection-status").hide()}})}}}]),e}();t.default=l},function(e,t){window.jQuery;jQuery.wpmdb={hooks:{action:{},filter:{}},add_action:function(e,t,i,n){jQuery.wpmdb.add_hook("action",e,t,i,n)},add_filter:function(e,t,i,n){jQuery.wpmdb.add_hook("filter",e,t,i,n)},do_action:function(e,t){jQuery.wpmdb.do_hook("action",e,null,t)},apply_filters:function(e,t,i){return jQuery.wpmdb.do_hook("filter",e,t,i)},remove_action:function(e,t){jQuery.wpmdb.remove_hook("action",e,t)},remove_filter:function(e,t){jQuery.wpmdb.remove_hook("filter",e,t)},add_hook:function(e,t,i,n,a){void 0===jQuery.wpmdb.hooks[e][t]&&(jQuery.wpmdb.hooks[e][t]=[]);var o=jQuery.wpmdb.hooks[e][t];void 0===n&&(n=t+"_"+o.length),jQuery.wpmdb.hooks[e][t].push({tag:n,callable:i,instance:a})},do_hook:function(e,t,i,n){if(void 0!==jQuery.wpmdb.hooks[e][t])for(var a=jQuery.wpmdb.hooks[e][t],o=0;o';function p(){var t=e(".find-replace-rows");return e("#import-find-replace").is(":checked")?t.show():t.hide()}e.wpmdb.add_filter("wpmdb_get_migration_status_label",function(e,t){return"import"===t.intent&&(e="completed"===t.stage?wpmdb_strings.import_label_completed:wpmdb_strings.import_label_migrating),e}),e.wpmdb.add_action("move_connection_info_box",function(t){var n=e(".import-file-status");"import"===t.migration_type?(i?s&&e(".unrecognized-import-file-notice").show():(e(".step-two").hide(),n.hasClass("profile-loaded")?(n.attr("class","import-file-status profile-loaded notification-message success-notice"),n.html(wpmdb_strings.import_profile_loaded)):n.html(wpmdb_strings.please_select_sql_file),n.show()),p(),e(".mst-options").hide(),e(".import-find-replace-option, .import-active-plugin-option").show()):(e('.find-replace-rows, .table-options, .advanced-options, .exclude-post-types-options, label[for="backup-selected"]').show(),e(".import-find-replace-option, .find-replace-options, .import-file-status, .import-active-plugin-option, .unrecognized-import-file-notice").hide(),"search_all_imported"===e("input[name=table_migrate_option]:checked").val()&&e("input[name=table_migrate_option][value=migrate_only_with_prefix]").prop("checked",!0))}),e.wpmdb.add_action("wpmdb_migration_initiated",function(e){"import"===t.functions.wpmdb_migration_type()&&("backup"===e&&t.common.hooks.push(t.functions.migrate_table_recursive),t.common.hooks.push(t.functions.upload_file_recursive),t.common.next_step_in_migration={fn:t.functions.wpmdb_call_next_hook},t.functions.execute_next_step())}),e.wpmdb.add_action("wpmdb_update_import_table_select",function(){e("#select-tables").remove(),e(".select-tables-wrap").prepend(n),e("#select-tables").change()}),e.wpmdb.add_filter("wpmdb_backup_selected_tables",function(e){return"import"===t.functions.wpmdb_migration_type()&&(e=o),e}),e.wpmdb.add_action("wpmdb_add_migration_stages",function(i){"import"===t.functions.wpmdb_migration_type()&&(t.current_migration.model.addStage("upload",[],"local",{strings:{stage_title:wpmdb_strings.upload}}),t.current_migration.model.addStage("import",[],"local",{strings:{stage_title:wpmdb_strings.migrate_button_import}}),e("#import-find-replace").is(":checked")&&(a=i.tables_to_migrate,t.current_migration.model.addStage("find_replace",[],"local",{strings:{migrated:wpmdb_strings.searched,stage_title:wpmdb_strings.migrate_button_find_replace}})))}),e.wpmdb.add_filter("wpmdb_initiate_migration_request_data",function(e){return"import"===t.functions.wpmdb_migration_type()&&(e.import_info=l),e}),e("#import-file").on("change",function(a){var m=a.target.files,d=m[0],_=new FileReader,u=e(".import-file-status"),g=e('label[for="backup-selected"]'),h=e(".prefix-notice"),b=e(".unrecognized-import-file-notice"),f=e(".step-two"),w=e("#old-url"),v=e("#old-path"),y=e("#new-url"),x=e("#new-path");if(u.hide().attr("class","import-file-status"),h.hide(),b.hide(),f.hide(),e(".mst-required ").hide(),m.length){if(".sql"!==d.name.slice(-4)&&".sql.gz"!==d.name.slice(-7))return u.addClass("notification-message error-notice migration-error").text(wpmdb_strings.invalid_sql_file).show(),void f.hide();i=!0,r="",u.text(wpmdb_strings.parsing_sql_file).append(c).show(),_.onloadend=function(i){i.target.readyState===FileReader.DONE&&e.ajax({url:ajaxurl,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_get_import_info",file_data:i.target.result,nonce:wpmdb_data.nonces.import_file},error:function(e,t,i){console.log(e,t,i)},success:function(i){if(e(".ajax-spinner").remove(),u.hide(),!0!==t.functions.maybe_show_mst_warning(i))if(f.show(),void 0!==i.wpmdb_error&&1===i.wpmdb_error)u.text(i.body).addClass("notification-message error-notice migration-error").show(),f.hide();else{var a=t.functions.get_localStorage_form_data();if(l=i,void 0!==i.prefix&&(r=i.prefix,e(".table-prefix").text(i.prefix),t.functions.maybe_show_prefix_notice(i.prefix)),void 0!==i.tables){o=i.tables,g.show(),a||(w.val(t.functions.remove_protocol(i.URL)),v.val(i.path),y.val(t.functions.remove_protocol(wpmdb_data.this_url)),x.val(wpmdb_data.this_path));var c=[],m=[];if(a?(c=a.select_tables,m=a.select_post_types,t.functions.remove_localStorage_form_data()):"migrate_only_with_prefix"!==e("input[name=table_migrate_option]:checked").val()||u.hasClass("profile-loaded")||e("input[name=table_migrate_option][value=search_all_imported]").prop("checked",!0),!1===wpmdb_default_profile&&"undefined"!=typeof wpmdb_loaded_tables&&(c=wpmdb_loaded_tables,m=wpmdb_loaded_post_types),n=t.functions.create_table_select(i.tables,[],c),e.wpmdb.do_action("wpmdb_update_import_table_select"),void 0!==i.post_types){var d=document.createElement("select");e(d).attr({multiple:"multiple",name:"select_post_types[]",id:"select-post-types",class:"multiselect"}),e.each(i.post_types,function(t,i){var n=e.inArray(i,m);n=-1!==n||!0===wpmdb_convert_exclude_revisions&&"revision"!==i;var a=document.createElement("option");a.value=i,a.text=i,a.selected=n,d.add(a,null)}),e("#select-post-types").remove(),e(".exclude-post-types-warning").after(d)}s&&(s=!1,p())}else b.show(),g.hide(),e(".table-options").hide(),s=!0,y.val(w.val()),x.val(v.val()),w.val(""),v.val("")}}})};var k=d.slice(0,1024e3);_.readAsDataURL(k)}else i&&(f.hide(),u.text(wpmdb_strings.please_select_sql_file).show(),i=!1)}),e("#import-find-replace").on("click",p),e(".find-replace-options-toggle").on("click",function(){s&&setTimeout(function(){e(".find-replace-options-toggle .expand-collapse-arrow").hasClass("collapsed")||e(".table-options").hide()},1)}),e("input[name=keep_active_plugins]").on("click",function(){e("input[name=keep_active_plugins]").prop("checked",e(this).is(":checked"))}),t.functions.upload_file_recursive=function(i){i=void 0===i?0:i;var n=document.getElementById("import-file").files[0],a=i+1024e3+1,o=new FileReader;0===i&&t.current_migration.model.addStageItem("upload",n.name,n.size/1e3,Math.ceil(n.size/1024e3)),o.onloadend=function(o){o.target.readyState===FileReader.DONE&&e.ajax({url:ajaxurl,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_upload_file",file_data:o.target.result,file:n.name,file_type:n.type,migration_state_id:t.migration_state_id,stage:"import",import_info:l,nonce:wpmdb_data.nonces.import_file},error:function(e,i,n){console.log(e,i,n),t.common.migration_error=!0,t.functions.migration_complete_events()},success:function(e){if(t.current_migration.setText(),void 0!==e.wpmdb_error&&1===e.wpmdb_error)return t.common.migration_error=!0,t.functions.migration_complete_events(),void t.current_migration.setState(wpmdb_strings.migration_failed,e.body,"error");var o=i+1024e3;t.current_migration.setText(wpmdb_strings.uploading_file_to_server),t.current_migration.model.getStageModel("upload").setItemRowsTransferred(n.name,Math.ceil(o/1024e3)),a=n.num_chunks){if(t.current_migration.model.getStageModel("import").setItemRowsTransferred(i.item_name,++n.chunk),e("#import-find-replace").is(":checked")){if(s)e.each(n.table_sizes,function(e,i){if(e.startsWith(wpmdb_data.this_temp_prefix)&&wpmdb_data.alter_table_name!==e){var a=e.replace(wpmdb_data.this_temp_prefix,"");t.current_migration.model.addStageItem("find_replace",a,n.table_sizes[e],n.table_rows[e])}});else{var l=e("input[name=table_migrate_option]:checked").val();"migrate_only_with_prefix"===l?a=o.filter(function(e){return r===e.substring(0,r.length)}):"search_all_imported"===l&&(a=o),e.each(a,function(e,i){var a=wpmdb_data.this_temp_prefix+i;n.table_sizes.hasOwnProperty(a)&&t.current_migration.model.addStageItem("find_replace",i,n.table_sizes[a],n.table_rows[a])})}a=[],t.current_migration.model.setActiveStage("find_replace");var c=t.functions.get_tables_to_migrate();return t.common.next_step_in_migration={fn:t.functions.migrate_table_recursive,args:["-1","",c.length]},void t.functions.execute_next_step()}e(".progress-label").removeClass("label-visible"),t.common.hooks=e.wpmdb.apply_filters("wpmdb_before_migration_complete_hooks",t.common.hooks),t.common.hooks.push(t.functions.migration_complete),t.common.hooks.push(t.functions.wpmdb_flush),t.common.hooks=e.wpmdb.apply_filters("wpmdb_after_migration_complete_hooks",t.common.hooks),t.common.hooks.push(t.functions.migration_complete_events),t.common.next_step_in_migration={fn:t.functions.wpmdb_call_next_hook}}else t.common.next_step_in_migration={fn:t.functions.import_file_recursive,args:[{import_filename:i.import_filename,item_name:i.item_name,chunk:n.chunk,current_query:n.current_query}]};t.functions.execute_next_step()}})},t.functions.get_tables_to_import=function(){return o}}(jQuery,wpmdb)},function(e,t){window.jQuery;!function(e,t){e(document).ready(function(){t.functions.localStorage_available=function(){try{return localStorage.setItem("wpmdb_test","wpmdb_test"),localStorage.removeItem("wpmdb_test","wpmdb_test"),!0}catch(e){return!1}},t.functions.maybe_reload_page=function(){var i=t.functions.wpmdb_migration_type();if(t.functions.localStorage_available()&&"cancelled"!==t.current_migration.status&&!0!==t.common.migration_error&&!e(".progress-overlay-container").hasClass("wpmdb-error")&&-1!==e.inArray(i,["pull","import","find_replace"])&&("true"!==wpmdb_data.is_multisite||!e("#mst-select-subsite").is(":checked")||wpmdb_data.this_domain===e("#mst-selected-subsite option:selected").text())){var n=t.functions.get_tables_to_migrate();"import"===i&&(n=t.functions.get_tables_to_import()),-1===e.inArray(wpmdb_data.this_prefix+"options",n)&&-1===e.inArray(wpmdb_data.this_prefix+"usermeta",n)||(t.functions.set_localStorage_form_data(),location.reload())}},t.functions.set_localStorage_form_data=function(){var t={};e.each(e("#migrate-form").serializeArray(),function(e,i){if("[]"===i.name.substr(-2)){var n=i.name.slice(0,-2);void 0===t[n]&&(t[n]=[]),t[n].push(i.value)}else t[i.name]=i.value}),localStorage.setItem("wpmdb_migrate_form",JSON.stringify(t))},t.functions.get_localStorage_form_data=function(){var e=localStorage.getItem("wpmdb_migrate_form");if(null===e)return!1;try{e=JSON.parse(e)}catch(e){return!1}return e},t.functions.remove_localStorage_form_data=function(){localStorage.removeItem("wpmdb_migrate_form")},t.functions.load_data_from_localStorage=function(){var i=t.functions.get_localStorage_form_data();i&&(e.each(i,function(i,n){var a=e('[name="'+i+'"]'),o=a.attr("type");"action"===i?(t.migration_selection=n,e("#"+n).prop("checked",!0)):"radio"===o?e('[name="'+i+'"][value="'+n+'"]').prop("checked",!0):"checkbox"===o?(a.prop("checked",!0),a.parent().hasClass("checkbox-label")&&a.parent().next().show()):a.val(n)}),e(".option-group input[type=radio]").change(),e("."+t.migration_selection+"-list ul").show(),e.when(t.functions.connection_box_changed()).done(function(){if("migrate_select"===e("input[name=table_migrate_option]:checked").val()?(void 0!==i.select_tables&&e("#select-tables").val(i.select_tables),e(".table-options .expandable-content, .select-tables-wrap").show(),e(".table-options .expand-collapse-arrow").removeClass("collapsed")):e(".select-tables-wrap").hide(),"backup_manual_select"===e("input[name=backup_option]:checked").val()&&(void 0!==i.select_backup&&e("#select-backup").val(i.select_backup),e(".backup-tables-wrap").show()),void 0!==i.select_post_types&&(e("#select-post-types").val(i.select_post_types),t.functions.exclude_post_types_warning()),void 0!==i.replace_old){e(".replace-row").not(".original-repeatable-field").remove();var n=1;e.each(i.replace_old,function(t,a){e(".replace-row:nth-child("+n+")").length||e(".replace-row").last().after(e(".original-repeatable-field").clone().removeClass("original-repeatable-field")),e(".replace-row:nth-child("+n+') [name="replace_old[]"]').val(a),e(".replace-row:nth-child("+n+') [name="replace_new[]"]').val(i.replace_new[t]),n++})}}),t.functions.update_migrate_button_text(),"import"!==t.functions.wpmdb_migration_type()&&t.functions.remove_localStorage_form_data())},t.functions.load_data_from_localStorage()})}(jQuery,wpmdb)},function(e,t,i){var n=window.jQuery,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=(n=jQuery,i(0)),s=i(2),r=n('
    '),l=n(".progress-content").clone().addClass("hide"),c=n(".pro-version").addClass("hide");r.append(c);var p={migration:{model:{},view:{},$progress:{},$wrapper:{},$overlay:{},status:"active",title:"",text:"",timerCount:0,timerStart:0,elapsedInterval:0,currentStageNum:0,counterDisplay:!1,originalTitle:document.title,setTitle:function(e){this.$progress.find(".progress-title").html(e),this.title=e},setStatus:function(e){this.$progress.removeClass(this.status).addClass("error"===e?"wpmdb-error":e),"error"===e&&this.$progress.find(".progress-text").addClass("migration-error"),this.status=e,this.updateTitleElem()},setText:function(e){"string"!=typeof e&&(e=""),0>=e.indexOf("wpmdb_error")&&(e=this.decodeErrorObject(e)),this.$progress.find(".progress-text").html(e),this.text=e},setState:function(e,t,i){null!==e&&this.setTitle(e),null!==t&&this.setText(t),null!==i&&this.setStatus(i)},startTimer:function(){this.timerStart=Date.now(),this.timerCount=0,this.counterDisplay=n(".timer"),this.elapsedInterval=setInterval(this.incrementTimer.bind(this),1e3)},getTimerCountInSeconds:function(){return Math.floor((Date.now()-this.timerStart)/1e3)},pauseTimer:function(){this.pausedAt=Date.now(),clearInterval(this.elapsedInterval)},resumeTimer:function(){this.timerStart+=Date.now()-this.pausedAt,this.elapsedInterval=setInterval(this.incrementTimer.bind(this),1e3)},incrementTimer:function(){this.timerCount=this.getTimerCountInSeconds(),this.displayCount()},displayCount:function(){var e=Math.floor(this.timerCount/3600)%24,t=Math.floor(this.timerCount/60)%60,i=this.timerCount%60,n=this.pad(e,2,0)+":"+this.pad(t,2,0)+":"+this.pad(i,2,0);this.counterDisplay.html(n)},updateTitleElem:function(){var e=this.model.get("activeStageName"),t=this.model.getStageModel(e),i=Math.max(0,t.getTotalProgressPercent()),n=this.model.get("stages").length,a=this.currentStageNum,o=this.status,s=wpmdb_strings.title_progress;"complete"===t.get("status")&&0===t.get("totalSize")&&(i=100),s=(s=(s=s.replace("%1$s",i+"%")).replace("%2$s",a)).replace("%3$s",n),1===n&&(s=i+"%"),wpmdb_strings["title_"+o]&&(s=wpmdb_strings["title_"+o]),s=s+" - "+this.originalTitle,document.title=s},restoreTitleElem:function(){document.title=this.originalTitle},pad:function(e,t,i){return i=i||"0",(e+="").length>=t?e:new Array(t-e.length+1).join(i)+e},decodeErrorObject:function(e){var t=e.replace(/\{"/g,"{#q!#").replace(/\"}/g,"#q!#}").replace(/,"/g,",#q!#").replace(/":/g,"#q!#:").replace(/:"/g,":#q!#").replace(/"/g,'\\"').replace(/#q!#/g,'"').replace(/>/g,">").replace(/</g,"<");try{t=JSON.parse(t)}catch(t){return e}return"object"===(void 0===t?"undefined":a(t))&&void 0!==t.body?t:e},fixProgressStageWidthForScrollBar:function(){var e=Math.abs(this.$wrapper[0].offsetWidth-this.$wrapper[0].clientWidth),t=this.$wrapper.find(".active .progress-items"),i=parseInt(t.css("padding-left"),10),n=parseInt(t.css("padding-right"),10);(0!==e||0===e&&n!==i)&&t.css("padding-right",i-e+"px")}},newMigration:function(e){n("#overlay").remove(),n(".progress-content").remove(),this.migration.$overlay=r.clone(),n("#wpwrap").append(this.migration.$overlay),this.migration.model=new o(e),this.migration.view=new s({model:this.migration.model}),this.migration.$progress=l.clone(),this.migration.$wrapper=this.migration.view.$el,this.migration.$progress.find(".migration-progress-stages").replaceWith(this.migration.$wrapper),this.migration.$proVersion=this.migration.$overlay.find(".pro-version");var t=this.migration.$proVersion.find("iframe").remove().clone();this.migration.$overlay.prepend(this.migration.$progress);var i=this;return setTimeout(function(){i.migration.$overlay.add(i.migration.$progress).add(i.migration.$proVersion).removeClass("hide").addClass("show"),i.migration.$proVersion.length&&setTimeout(function(){i.migration.$proVersion.find(".iframe").append(t)},500)},0),this.migration.currentStageNum=0,this.migration.$proVersion.on("click",".close-pro-version",function(){i.migration.$proVersion.find("iframe").remove(),i.migration.$proVersion.addClass("hide remove"),setTimeout(function(){i.migration.$proVersion.remove()},500)}),this.migration.model.on("migrationComplete",function(){i.utils.updateProgTableVisibilitySetting(),i.utils.updatePauseBeforeFinalizeSetting(),i.migration.pauseTimer()}),n(window).on("resize",_.debounce(this.migration.fixProgressStageWidthForScrollBar.bind(this.migration),100)),this.migration.model.on("change:activeStage",this.migration.fixProgressStageWidthForScrollBar.bind(this.migration)),this.migration},utils:i(4)};e.exports=p},function(e,t,i){var n=window.jQuery,a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o=i(1),s=(n=jQuery,Backbone.Model.extend({defaults:{_initialStages:null,stages:null,activeStageName:null,stageModels:null,localTableRows:null,localTableSizes:null,remoteTableRows:null,remoteTableSizes:null,migrationStatus:"active",migrationIntent:"savefile"},initialize:function(){this.set("stageModels",{}),this.set("_initialStages",this.get("stages")),this.set("stages",[]),_.each(this.get("_initialStages"),function(e,t,i){this.addStage(e.name,t,i)},this)},addStage:function(e,t,i,o){var s,r=[];return _.each(t,function(e){var t,n;"remote"===i?(t=this.get("remoteTableSizes")[e],n=this.get("remoteTableRows")[e]):(t=this.get("localTableSizes")[e],n=this.get("localTableRows")[e]),r.push({name:e,size:t,rows:n})},this),s={name:e,items:r,dataType:i},"object"===(void 0===o?"undefined":a(o))&&(s=n.extend(s,o)),this.addStageModel(s),this.trigger("stage:added",this.get("stageModels")[e]),this.get("stageModels")[e].on("change",function(){this.trigger("change")},this),this.getStageModel(s.name)},addStageItem:function(e,t,i,n){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"";this.getStageModel(e).addItem(t,i,n,a)},addStageModel:function(e){var t=this.get("stages"),i=this.get("stageModels"),n=new o(e);t.push(e),i[e.name]=n,this.set("stages",t),this.set("stageModels",i)},getStageModel:function(e){return this.get("stageModels")[e]},getStageItems:function(e,t){var i=this.getStageModel(e).get("items");return void 0===t?i:i.map(function(e){return e[t]})},setActiveStage:function(e){this.setStageComplete(),this.set("activeStageName",e),this.getStageModel(e).set("status","active"),this.trigger("change:activeStage")},setStageComplete:function(e){e||(e=this.get("activeStageName")),null!==e&&this.getStageModel(e).set("status","complete"),wpmdb.current_migration.currentStageNum=wpmdb.current_migration.currentStageNum+1},setMigrationComplete:function(){var e=this.getStageModel(this.get("activeStageName"));this.setStageComplete(),this.trigger("migrationComplete"),this.set("migrationStatus","complete"),e.activateTab()}}));e.exports=s},function(e,t){var i=window.jQuery;i=jQuery;e.exports={updateProgTableVisibilitySetting:function(){wpmdb_data.prog_tables_visibility_changed&&(wpmdb_data.prog_tables_visibility_changed=!1,i.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_save_setting",nonce:wpmdb_data.nonces.save_setting,setting:"prog_tables_hidden",checked:Boolean(wpmdb_data.prog_tables_hidden)},error:function(e,t,i){console.log("Could not save progress item visibility setting",i)}}))},updatePauseBeforeFinalizeSetting:function(){wpmdb_data.pause_before_finalize_changed&&(wpmdb_data.pause_before_finalize_changed=!1,i.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_save_setting",nonce:wpmdb_data.nonces.save_setting,setting:"pause_before_finalize",checked:Boolean(wpmdb_data.pause_before_finalize)},error:function(e,t,i){console.log("Could not save pause before finalize setting",i)}}))}}},function(e,t,i){window.jQuery;var n=i(3),a=(jQuery,Backbone.View.extend({tagName:"div",className:"migration-progress-stages",id:"migration-progress-stages",self:void 0,initialize:function(){this.$el.empty(),this.model.on("stage:added",function(e){this.addStageView(e)},this),_.each(this.model.get("stageModels"),this.addStageView,this)},addStageView:function(e){var t=new n({model:e});e.trigger("view:initialized",t),this.$el.append(t.$el),this.$el.parent().find(".stage-tabs").append(t.$tabElem)}}));e.exports=a},function(e,t){var i=window.jQuery,n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=(i=jQuery,Backbone.Model.extend({defaults:{status:"queued",_initialItems:null,items:null,names:null,lookupItems:null,totalSize:0,totalTransferred:0,dataType:"local",name:"",itemsComplete:0,itemsCompleteArr:[],strings:null},initialize:function(){this.initStrings(),this.set("_initialItems",this.get("items").slice()),this.set("items",[]),this.set("names",[]),this.set("lookupItems",{}),this.set("itemsCompleteArr",[]),_.each(this.get("_initialItems"),function(e){this.addItem(e.name,e.size,e.rows)},this),this.on("view:initialized",this.triggerItemViewInit),this.on("change",function(){wpmdb.current_migration.updateTitleElem()})},initStrings:function(){var e={stage_title:this.get("name"),migrated:wpmdb_strings.migrated,queued:wpmdb_strings.queued,active:wpmdb_strings.running,complete:wpmdb_strings.complete,hide:wpmdb_strings.hide,show:wpmdb_strings.show,itemsName:wpmdb_strings.tables},t=this.get("strings");t="object"===(void 0===t?"undefined":n(t))?t:{},(t=i.extend(e,t)).items_migrated=t.itemsName+" "+t.migrated,t.hide_items=t.hide+" "+t.itemsName,t.show_items=t.show+" "+t.itemsName,this.set("strings",t)},addItem:function(e,t,n,a){var o=this.get("items"),s=this.get("names");if(!~s.indexOf(e)){s.push(e);var r={name:e,size:t,rows:n||t,stageName:this.get("name"),transferred:0,rowsTransferred:0,complete:!1,title:null,get $title(){return this.title||this.createTitleElem()},set $title(e){this.title=e},createTitleElem:function(){return this.title=i("

    ").addClass("item-info").append(i('').text(this.displayName||this.name)).append(" ").append(i('').text("("+wpmdb.functions.convertKBSizeToHRFixed(r.size)+")")),this.title},progress:null,get $progress(){return this.progress||this.createProgElem()},set $progress(e){this.progress=e},createProgElem:function(){return this.progress=i('

    ').css("width","0%"),this.progress},el:null,get $el(){return this.el||this.createMainElem()},set $el(e){this.el=e},createMainElem:function(){return this.el=i('
    '),this.el.append(this.$title),this.el.append(this.$progress),this.el.append(''),this.el.attr("id","item-"+this.name),this.el.attr("data-stage",this.stageName),this.el},updateProgress:function(e){var t=this.$progress;window.requestAnimationFrame(function(){t.css("width",e+"%")}.bind(this))}};void 0!==a&&a.length&&(r.displayName=a),o.push(r),this.get("lookupItems")[e]=o.length-1,this.set("totalSize",parseFloat(this.get("totalSize"))+parseFloat(t)),this.trigger("item:added",r)}},triggerItemViewInit:function(){var e=this.get("items"),t=this;_.each(e,function(e){t.trigger("item:added",e)})},getTotalSizeTransferred:function(){return this.get("totalTransferred")},countItemsComplete:function(){return this.get("itemsComplete")},getTotalProgressPercent:function(){var e=this.getTotalSizeTransferred(),t=this.get("totalSize");return 0>=e||0>=t?0:Math.min(100,Math.round(e/t*100))},activateTab:function(){this.trigger("activateTab"),wpmdb.current_migration.model.trigger("change:activeStage")},setItemComplete:function(e){var t=this.get("itemsCompleteArr");if(!~t.indexOf(e)){t.push(e);var i=this.getItemByName(e),n=this.get("totalTransferred"),a=this.get("itemsComplete");this.set("itemsComplete",++a),n+=i.size-i.transferred,this.set("totalTransferred",n),i.transferred=i.size,i.complete=!0,i.rowsTransferred=i.rows,this.trigger("change change:items",i)}},setItemPercentTransferred:function(e,t,i,n){var a=this.getItemByName(e),o=i/1e3;if(1===t){a.complete=!0,a.transferred=o;var s=this.get("itemsComplete");this.set("itemsComplete",++s),this.trigger("change change:items",a)}a.transferred=n/1e3,a.exactPercent=t;var r=this.get("totalTransferred");r+=o,this.set("totalTransferred",r),this.trigger("change change:items",a)},setItemRowsTransferred:function(e,t){var i,n,a=this.getItemByName(e),o=this.get("totalTransferred");1!==(i=-1===parseInt(t)?1:Math.min(1,t/a.rows))?(o+=(n=a.size*i)-a.transferred,this.set("totalTransferred",o),a.transferred=n,a.rowsTransferred=t,this.trigger("change change:items",a)):this.setItemComplete(e)},getItemByName:function(e){var t=this.get("items")[this.get("lookupItems")[e]]||{};return e===t.name?t:this.determineItemByName(e)},determineItemByName:function(e){for(var t=this.get("items"),i=0;i"),this.$el.append(this.$itemsContainer),this.initTabElem(),this.model.on("item:added",this.maybeAddElementToView,this),_.each(this.model.get("itemModels"),this.maybeAddElementToView,this),this.model.on("change",function(){this.updateProgressElem(),this.updateStageTotals()},this),this.model.on("change:status",function(e){this.$el.removeClass("queued active").addClass(this.model.get("status")),this.$totalProgressElem.removeClass("queued active").addClass(this.model.get("status")),this.$tabElem.removeClass("queued active").addClass(this.model.get("status")).find(".stage-status").text(this.model.get("strings")[this.model.get("status")])},this),this.model.on("change:items",function(e){e.name&&this.setItemProgress(e)},this),this.model.on("activateTab",function(){"complete"===wpmdb.current_migration.model.get("migrationStatus")&&(this.$totalProgressElem.addClass("active").siblings().removeClass("active"),this.$tabElem.addClass("active").siblings().removeClass("active"),this.$el.addClass("active").siblings().removeClass("active"))},this)},initTotalProgressElem:function(){this.initShowHideTablesElem(),this.initPauseBeforeFinalizeElem(),this.$totalProgressElem=i('
    ').append("0% "+this.model.get("strings").complete+" ").append('(0 MB / 0 MB) ').append('0 of 0 '+this.model.get("strings").items_migrated+"").append(this.$showHideTablesElem).append("
    "),this.updateStageTotals()},initShowHideTablesElem:function(){this.$showHideTablesElem=i("").text(this.model.get("strings").show_items);var e=this;this.$showHideTablesElem.on("click show-hide-progress-tables",function(){var t;e.$el.hasClass("hide-tables")?(t=!1,e.$el.add(e.$el.siblings()).removeClass("hide-tables"),e.$showHideTablesElem.text(e.model.get("strings").hide_items)):(t=!0,e.$el.add(e.$el.siblings()).addClass("hide-tables"),e.$showHideTablesElem.text(e.model.get("strings").show_items)),Boolean(t)!==Boolean(wpmdb_data.prog_tables_hidden)&&(wpmdb_data.prog_tables_visibility_changed=!0,wpmdb_data.prog_tables_hidden=t)}),wpmdb_data.prog_tables_hidden||this.$showHideTablesElem.triggerHandler("show-hide-progress-tables"),this.model.on("change:status activateTab",function(){wpmdb_data.prog_tables_hidden?e.$showHideTablesElem.text(e.model.get("strings").show_items):e.$showHideTablesElem.text(e.model.get("strings").hide_items)})},initPauseBeforeFinalizeElem:function(){this.$pauseBeforeFinalizeElem=i(".pause-before-finalize"),this.$pauseBeforeFinalizeCheckbox=this.$pauseBeforeFinalizeElem.find("input[type=checkbox]");var e=this,t=!1,n=wpmdb.current_migration.model.get("migrationIntent");wpmdb_data.pause_before_finalize&&(t=!0),this.$pauseBeforeFinalizeCheckbox.prop("checked",t),-1!==i.inArray(n,["push","pull","find_replace","import"])?("find_replace"===n&&i("#pause-before-finalize-label").text(wpmdb_strings.pause_before_finalize_find_replace),this.$pauseBeforeFinalizeElem.show()):this.$pauseBeforeFinalizeElem.hide(),wpmdb.current_migration.model.on("change:activeStage",function(){-1!==i.inArray(wpmdb.current_migration.model.get("activeStageName"),["media","themes","plugins"])&&e.$pauseBeforeFinalizeElem.hide()}),this.$pauseBeforeFinalizeElem.on("click",function(){var t=Boolean(e.$pauseBeforeFinalizeCheckbox.is(":checked"));t!==Boolean(wpmdb_data.pause_before_finalize)&&(wpmdb_data.pause_before_finalize_changed=!0,wpmdb_data.pause_before_finalize=t)})},initTabElem:function(){var e=this;this.$tabElem=i("").append(""+this.model.get("strings").stage_title+" ").append(""+this.model.get("strings").queued+" ").on("click",function(){e.model.activateTab()})},updateProgressElem:function(){var e=Math.max(0,this.model.getTotalProgressPercent()),t=wpmdb.functions.convertKBSizeToHRFixed(Math.min(this.model.getTotalSizeTransferred(),this.model.get("totalSize"))),i=Math.min(this.model.countItemsComplete(),this.model.get("items").length);"complete"===this.model.get("status")&&0===this.model.get("totalSize")&&(e=100,this.$showHideTablesElem.fadeOut()),e!==this.percentDone&&(this.percentDone=e,this.$totalProgressElem.find(".percent-complete").text(e),this.$totalProgressElem.find(".progress-bar-wrapper .progress-bar").css({width:e+"%"})),t!=this.sizeDone&&(this.sizeDone=t,this.$totalProgressElem.find(".size-complete").text(t)),i!=this.tablesDone&&(this.tablesDone=i,this.$totalProgressElem.find(".items-complete").text(wpmdb.functions.wpmdb_add_commas(i)))},updateStageTotals:function(e){if((e=e||this.model.get("items").length)!==this.itemCount&&(this.itemCount=e,this.$totalProgressElem.find(".items-total").text(wpmdb.functions.wpmdb_add_commas(e)),this.$totalProgressElem.find(".size-total").text(wpmdb.functions.convertKBSizeToHRFixed(this.model.get("totalSize"))),!this.shouldHideItemProgress&&500'+wpmdb_strings.progress_items_truncated_msg.replace("%1$s",''+wpmdb.functions.wpmdb_add_commas(e)+"")+"
    "),this.$truncationNoticeHiddenItems=this.$truncationNotice.find(".hidden-items"),this.$itemsContainer.after(this.$truncationNotice)}},updateTruncationNotice:function(){var e=this.shouldHideItemProgress?this.model.get("items").length:this.queuedElements.length;this.$truncationNoticeHiddenItems.text(wpmdb.functions.wpmdb_add_commas(e))},getNextElementForView:function(e){var t;return!this.shouldHideItemProgress&&(this.queuedElements.length&&(e&&this.queuedElements.push(e),e=(t=this.queuedElements.shift())instanceof i?t:t.$el),e)},setItemProgress:function(e){var t=Math.min(100,Math.ceil(e.transferred/e.size*100));e.hasOwnProperty("exactPercent")&&(t=100*e.exactPercent),0===e.size&&(t=100),e.updateProgress(t),(100<=t||0===e.size)&&this.elemComplete(e)},elemComplete:function(e){if(!this.shouldHideItemProgress){var t=e.$el.addClass("complete");if(1!==this.model.get("items").length){var i=this.getNextElementForView(t),n=t.height(),a=t.css("margin-bottom"),o=!1;i===t&&(o=i.clone().css({height:0,marginBottom:0,display:"block"}).addClass("clone complete")).appendTo(this.$itemsContainer),t.css({height:n,marginBottom:a}),setTimeout(function(){t.css({height:0,marginBottom:0});var e=0;o&&(e=250,o.css({height:n,marginBottom:a}),o.find(".progress-bar").addClass("progress-bar-no-transition").css({width:"100%"})),setTimeout(function(){t.css({display:"none"}),t.remove(),o&&o.remove(),this.$itemsContainer.find(".item-progress:not(.clone)").last().after(i.css({height:"auto",marginBottom:a,display:"block"}))}.bind(this),e)}.bind(this),1e3)}}}}));e.exports=n},function(e,t){window.jQuery;!function(e,t){t.functions.update_multiselect=function(i,n,a){if(e(i).empty(),0'+n+"")}}),!1===s&&t.functions.update_multiselect(i,n,[])}}}(jQuery,wpmdb)},function(e,t){window.jQuery;!function(e){var t,i=!1,n=ajaxurl.replace("/admin-ajax.php","")+"/images/spinner";2'),e(document).ready(function(){e("body").on("click",".check-my-licence-again",function(n){if(n.preventDefault(),e(this).blur(),i)return!1;i=!0,e(this).hide(),t.insertAfter(this);var a=' '+wpmdb_update_strings.check_license_again+"";e.ajax({url:ajaxurl,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_check_licence",nonce:wpmdb_nonces.check_licence,context:"update"},error:function(t,n,o){i=!1,e(".wpmdb-licence-error-notice").fadeOut(650,function(){e(".wpmdb-licence-error-notice").empty().html(wpmdb_update_strings.license_check_problem+a).fadeIn(650)})},success:function(t){if(i=!1,void 0!==t.errors){var n="";for(var a in t.errors)n+=t.errors[a];e(".wpmdb-licence-error-notice").fadeOut(650,function(){e(".check-licence-spinner").remove(),e(".wpmdb-licence-error-notice").empty().html(n).fadeIn(650)})}else e(".wpmdbpro-custom-visible").fadeOut(650,function(){e(".check-licence-spinner").remove(),e(".wpmdbpro-custom-visible").empty().html(e(".wpmdb-original-update-row").html()).fadeIn(650)})}})}),e(".wpmdbpro-custom").prev().addClass("wpmdbpro-has-message")})}(jQuery)},function(e,t,i){window.jQuery;var n=function(e){return e&&e.__esModule?e:{default:e}}(i(25)),a=i(26);var o=new n.default,s=window.wpmdb||{};!function(e,t){t.migration_progress_controller=i(27),t.current_migration=null,t.migration_selection=t.functions.wpmdb_migration_type(),window.onbeforeunload=function(i){if("import"!==t.functions.wpmdb_migration_type()||e(".step-two").is(":visible")||t.functions.remove_localStorage_form_data(),o.currently_migrating)return(i=i||window.event)&&(i.returnValue=wpmdb_strings.sure),wpmdb_strings.sure},t.functions.exclude_post_types_warning=function(){var t=e("#select-post-types").val(),i="",n=e(".exclude-post-types-warning");t?(i=""+t.join(", ")+"",e(".excluded-post-types").html(i),"0"===n.css("opacity")&&n.css({opacity:0}).slideDown(200).animate({opacity:1})):n.css({opacity:0}).slideUp(200).animate({opacity:0})},t.functions.migrate_table_recursive=function(i,n,a){var s=a||0;if(s>=o.tables_to_migrate.length)if("upload"===o.stage&&t.current_migration.model.getStageItems("find_replace").length)o.stage="find_replace",o.tables_to_migrate=t.current_migration.model.getStageItems("find_replace","name"),o.tables_to_migrate=o.tables_to_migrate.map(function(e){return"_mig_"+e}),s=0;else{if("backup"!==o.stage)return e(".progress-label").removeClass("label-visible"),t.common.hooks=e.wpmdb.apply_filters("wpmdb_before_migration_complete_hooks",t.common.hooks),t.common.hooks.push(t.functions.migration_complete),t.common.hooks.push(t.functions.wpmdb_flush),t.common.hooks=e.wpmdb.apply_filters("wpmdb_after_migration_complete_hooks",t.common.hooks),t.common.hooks.push(t.functions.migration_complete_events),t.common.next_step_in_migration={fn:t.functions.wpmdb_call_next_hook},void t.functions.execute_next_step();if(-1!==e.inArray(o.migration_intent,["push","pull"])?o.stage="migrate":"import"===o.migration_intent?o.stage="upload":o.stage=o.migration_intent,t.current_migration.model.setActiveStage(o.stage),"find_replace"!==o.stage&&"migrate"!==o.stage)return void t.functions.wpmdb_call_next_hook();s=0,o.tables_to_migrate=t.functions.get_tables_to_migrate(null,null)}var r=0;s===o.tables_to_migrate.length-1&&(r=1);var l=0;-1!==e.inArray(o.migration_intent,["push","pull"])&&1===parseInt(t.common.connection_data.gzip)&&(l=1);var c={action:"wpmdb_migrate_table",migration_state_id:t.migration_state_id,table:o.tables_to_migrate[s],stage:o.stage,current_row:i,last_table:r,primary_keys:n,gzip:l,nonce:wpmdb_data.nonces.migrate_table};-1!==e.inArray(o.migration_intent,["push","pull"])&&(c.bottleneck=t.common.connection_data.bottleneck,c.prefix=t.common.connection_data.prefix),t.common.connection_data&&t.common.connection_data.path_current_site&&t.common.connection_data.domain&&(c.path_current_site=t.common.connection_data.path_current_site,c.domain_current_site=t.common.connection_data.domain),o.doing_ajax=!0,e.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,timeout:0,data:c,error:function(e,i,n){var a=wpmdb_strings.table_process_problem+" "+o.tables_to_migrate[s]+"

    "+wpmdb_strings.status+": "+e.status+" "+e.statusText+"

    "+wpmdb_strings.response+":
    "+e.responseText;t.current_migration.setState(wpmdb_strings.migration_failed,a,"error"),o.doing_ajax=!1,console.log(e),console.log(i),console.log(n),t.common.migration_error=!0,t.functions.migration_complete_events()},success:function(i){o.doing_ajax=!1,i=e.trim(i);var n=t.functions.wpmdb_parse_json(i),a="";if(!1===n||null===n)return a=""===i||null===i?wpmdb_strings.table_process_problem_empty_response+" "+o.tables_to_migrate[s]:o.get_ajax_errors(i,null,null),t.current_migration.setState(wpmdb_strings.migration_failed,a,"error"),t.common.migration_error=!0,void t.functions.migration_complete_events();if(void 0!==n.wpmdb_error&&1===n.wpmdb_error)return t.current_migration.setState(wpmdb_strings.migration_failed,n.body,"error"),t.common.migration_error=!0,void t.functions.migration_complete_events();var l=o.tables_to_migrate[s];"import"===o.migration_intent&&"find_replace"===o.stage&&(l=l.replace(wpmdb_data.this_temp_prefix,"")),t.current_migration.setText(),t.current_migration.model.getStageModel(o.stage).setItemRowsTransferred(l,n.current_row),1===r&&"savefile"===o.migration_intent&&(void 0!==n.dump_filename&&(o.dump_filename=n.dump_filename),void 0!==n.dump_path&&(o.dump_path=n.dump_path)),-1===parseInt(n.current_row)&&(s++,n.current_row="",n.primary_keys=""),t.common.next_step_in_migration={fn:t.functions.migrate_table_recursive,args:[n.current_row,n.primary_keys,s]},t.functions.execute_next_step()}})},t.functions.migration_complete_events=function(){if(!1===t.common.migration_error)if(""===t.common.non_fatal_errors)if("savefile"!==o.migration_intent&&!0===e("#save_computer").is(":checked")&&t.current_migration.setText(),o.completed_msg=o.completed_msg+' 
    ',!0===o.migration_cancelled){var i=wpmdb_strings.migration_cancelled_success;"find_replace"===o.migration_intent&&(i=wpmdb_strings.find_replace_cancelled_success),t.current_migration.setState(o.completed_msg,i,"cancelled")}else t.current_migration.setState(o.completed_msg,"","complete");else t.current_migration.setState(wpmdb_strings.completed_with_some_errors,t.common.non_fatal_errors,"error");e(".migration-controls").addClass("hidden"),t.common.hooks=[],t.common.call_stack=[],t.common.migration_error=!1,o.currently_migrating=!1,o.migration_completed=!0,o.migration_paused=!1,o.migration_cancelled=!1,o.doing_ajax=!1,t.common.non_fatal_errors="",o.tables_to_migrate=[],e(".progress-label").remove(),e(".migration-progress-ajax-spinner").remove(),e(".close-progress-content").show(),e("#overlay").css("cursor","pointer"),t.current_migration.model.setMigrationComplete()},t.functions.migration_complete=function(){if(e(".migration-controls").addClass("hidden"),"savefile"===o.migration_intent){o.currently_migrating=!1;var i=wpmdb_strings.migration_complete;if(e("#save_computer").is(":checked")){var n=wpmdb_data.this_download_url+encodeURIComponent(o.dump_filename);e("#gzip_file").is(":checked")&&(n+="&gzip=1"),window.location=n}else i=wpmdb_strings.completed_dump_located_at+" "+o.dump_path;!1===t.common.migration_error&&(t.functions.migration_complete_events(),t.current_migration.setState(o.completed_msg,i,"complete"))}else{t.current_migration.setState(null,wpmdb_strings.finalizing_migration,"finalizing");var s={action:"wpmdb_finalize_migration",migration_state_id:t.migration_state_id,tables:o.tables_to_migrate.join(","),nonce:wpmdb_data.nonces.finalize_migration};-1!==e.inArray(o.migration_intent,["push","pull"])&&(s.prefix=t.common.connection_data.prefix),o.doing_ajax=!0,e.ajax({url:ajaxurl,type:"POST",dataType:"json",cache:!1,data:s,error:function(e){o.doing_ajax=!1;var t=wpmdb_strings.finalize_tables_problem;(0,a.jQueryAjaxError)(t,e)},success:function(e){if(o.doing_ajax=!1,void 0!==e&&void 0!==e.wpmdb_error&&1===e.wpmdb_error)return t.common.migration_error=!0,t.functions.migration_complete_events(),void t.current_migration.setState(wpmdb_strings.migration_failed,e.body,"error");t.common.next_step_in_migration={fn:t.functions.wpmdb_call_next_hook},t.functions.execute_next_step()}})}},t.functions.wpmdb_flush=function(){"savefile"!==o.migration_intent&&(t.current_migration.setText(wpmdb_strings.flushing),o.doing_ajax=!0,e.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_flush",migration_state_id:t.migration_state_id,nonce:wpmdb_data.nonces.flush},error:function(e,i,n){o.doing_ajax=!1,t.current_migration.setState(wpmdb_strings.migration_failed,wpmdb_strings.flush_problem,"error"),alert(e+" : "+i+" : "+n),t.common.migration_error=!0,t.functions.migration_complete_events()},success:function(i){if(o.doing_ajax=!1,"1"!==e.trim(i))return t.current_migration.setState(wpmdb_strings.migration_failed,i,"error"),t.common.migration_error=!0,void t.functions.migration_complete_events();t.common.next_step_in_migration={fn:t.functions.wpmdb_call_next_hook},t.functions.execute_next_step()}}))},t.functions.execute_next_step=function(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0
    "+wpmdb_strings.status+": "+e.status+" "+e.statusText+"

    "+wpmdb_strings.response+":
    "+e.responseText,"error"),console.log(e),console.log(i),console.log(n),o.doing_ajax=!1,t.common.migration_error=!0,t.functions.migration_complete_events()},success:function(i){if(o.doing_ajax=!1,i=e.trim(i),"push"===o.migration_intent&&"1"!==i||"push"!==o.migration_intent&&""!==i)return void 0!==i&&void 0!==i.wpmdb_error&&1===i.wpmdb_error&&(i=i.wpmdb_error),t.current_migration.setState(wpmdb_strings.migration_cancellation_failed,i,"error"),t.common.migration_error=!0,void t.functions.migration_complete_events();o.completed_msg=wpmdb_strings.migration_cancelled,"find_replace"===o.migration_intent&&(o.completed_msg=wpmdb_strings.find_replace_cancelled),t.functions.migration_complete_events(),t.current_migration.setStatus("cancelled")}})}else n&&t.common.next_step_in_migration.fn.apply(i,t.common.next_step_in_migration.args)},t.functions.maybe_show_prefix_notice=function(t){var i=e(".prefix-notice");i.hide(),t!==wpmdb_data.this_prefix&&(e(".remote-prefix").html(t),o.show_prefix_notice=!0,i.show())},t.functions.maybe_show_mst_warning=function(i){var n=t.functions.wpmdb_migration_type(),a=!1;return-1!==e.inArray(n,["push","pull"])&&void 0!==i.site_details?wpmdb_data.site_details.is_multisite!==i.site_details.is_multisite&&(void 0!==t.mst&&void 0!==i.mst_available&&"1"===i.mst_available||(a=!0)):"import"===n&&void 0!==i.multisite&&void 0!==i.subsite_export&&("false"===wpmdb_data.site_details.is_multisite&&"true"===i.multisite&&"true"!==i.subsite_export||"true"===wpmdb_data.site_details.is_multisite&&"false"===i.multisite)&&(a=!0),(a=e.wpmdb.apply_filters("wpmdb_show_mst_warning",a))&&e(".mst-required").show(),a},t.functions.maybe_show_select_table_notice=function(){if(e("#migrate-selected").is(":checked")&&null===e("#select-tables").val()){if("import"!==t.functions.wpmdb_migration_type())return alert(wpmdb_strings.please_select_one_table),!0;if(e("#import-find-replace").is(":checked")&&e("#select-tables").is(":visible"))return alert(wpmdb_strings.please_select_one_table_import),!0}return!("savefile"===t.functions.wpmdb_migration_type()||!e("#backup-manual-select").is(":checked")||null!==e("#select-backup").val())&&(alert(wpmdb_strings.please_select_one_table_backup),!0)},t.functions.remove_protocol=function(e){return e.replace(/^https?:/i,"")},t.functions.create_table_select=function(t,i,n){var a=document.createElement("select");return e(a).attr({multiple:"multiple",name:"select_tables[]",id:"select-tables",class:"multiselect"}),0'+o+r+"")}}),a},t.functions.get_tables_to_migrate=function(){var i=[],n=t.functions.wpmdb_migration_type();return"migrate_select"===e("input[name=table_migrate_option]:checked").val()?i=e("#select-tables").val():"pull"!==n&&void 0!==wpmdb_data.this_prefixed_tables?i=wpmdb_data.this_prefixed_tables:"pull"===n&&void 0!==t.common.connection_data&&void 0!==t.common.connection_data.prefixed_tables&&(i=t.common.connection_data.prefixed_tables),i},t.functions.update_migrate_button_text=function(){var i=t.functions.wpmdb_migration_type(),n=e("#save-migration-profile").is(":checked")?"_save":"",a="migrate_button_"+("savefile"===i?"export":i)+n;e(".migrate-db .button-primary").val(wpmdb_strings[a])},t.functions.connection_box_changed=function(){var i=e(".pull-push-connection-info");if(-1!==e.inArray(t.functions.wpmdb_migration_type(),["push","pull"])&&(!o.doing_ajax&&!e(i).hasClass("temp-disabled")||!1!==t.force_reconnect)){t.force_reconnect=!1;var n=e(".pull-push-connection-info").val(),a=e.trim(n).split("\n"),s=!1,r="";if(""===a&&(s=!0,r=wpmdb_strings.connection_info_missing),1===a.length&&!s){var l=e.trim(n).split(" ");2===l.length&&(a=l)}2===a.length||s||(s=!0,r=wpmdb_strings.connection_info_incorrect),s||o.validate_url(a[0])||(s=!0,r=wpmdb_strings.connection_info_url_invalid);var c=0;if(void 0!==a[1]&&(c=a[1].length),s||32===c||40===c||(s=!0,r=wpmdb_strings.connection_info_key_invalid),s||a[0]!==wpmdb_data.connection_info[0]||(s=!0,r=wpmdb_strings.connection_info_local_url),s||a[1]!==wpmdb_data.connection_info[1]||(s=!0,r=wpmdb_strings.connection_info_local_key),s)return e(".connection-status").html(r),void e(".connection-status").addClass("notification-message error-notice migration-error");var p=a[0]+"\n"+a[1];1===e.trim(n).split("\n").length&&e(".pull-push-connection-info").val(p),!1===wpmdb_data.openssl_available&&(a[0]=a[0].replace("https://","http://"),p=a[0]+"\n"+a[1],e(".pull-push-connection-info").val(p)),o.show_prefix_notice=!1,o.doing_ajax=!0,o.disable_export_type_controls(),e(".basic-access-auth-wrapper").is(":visible")&&(a[0]=a[0].replace(/\/\/(.*)@/,"//"),a[0]=a[0].replace("//","//"+encodeURIComponent(e.trim(e(".auth-username").val()))+":"+encodeURIComponent(e.trim(e(".auth-password").val()))+"@"),p=a[0]+"\n"+a[1],e(".pull-push-connection-info").val(p),e(".basic-access-auth-wrapper").hide()),e(".step-two").hide(),e(".ssl-notice").hide(),e(".prefix-notice").hide(),e(".connection-status").show(),e(".connection-status").html(wpmdb_strings.establishing_remote_connection),e(".connection-status").removeClass("notification-message error-notice migration-error"),e(".connection-status").append(o.ajax_spinner);var m=t.functions.wpmdb_migration_type();return o.profile_name_edited=!1,e.ajax({url:ajaxurl,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_verify_connection_to_remote_site",url:a[0],key:a[1],intent:m,nonce:wpmdb_data.nonces.verify_connection_to_remote_site},error:function(t,i,n){e(".connection-status").html(o.get_ajax_errors(t.responseText,"(#100)",t)),e(".connection-status").addClass("notification-message error-notice migration-error"),e(".ajax-spinner").remove(),o.doing_ajax=!1,o.enable_export_type_controls()},success:function(i){if(e(".ajax-spinner").remove(),o.doing_ajax=!1,o.enable_export_type_controls(),void 0!==i.wpmdb_error&&1===i.wpmdb_error)return e(".connection-status").html(i.body),e(".connection-status").addClass("notification-message error-notice migration-error"),i.body.indexOf("401 Unauthorized")>-1&&e(".basic-access-auth-wrapper").show(),void(e(".pull-push-connection-info").hasClass("temp-disabled")||e(".connect-button").is(":visible")||(e(".pull-push-connection-info").removeAttr("readonly"),e(".connect-button").show()));if(!0!==t.functions.maybe_show_mst_warning(i)){o.maybe_show_ssl_warning(a[0],a[1],i.scheme);var n=o.get_domain_name(i.url);e(".create-new-profile").val(n),e(".pull-push-connection-info").addClass("temp-disabled"),e(".pull-push-connection-info").attr("readonly","readonly"),e(".connect-button").hide(),e(".connection-status").hide(),e(".step-two").show(),t.functions.maybe_show_prefix_notice(i.prefix),o.connection_established=!0,o.set_connection_data(i),o.move_connection_info_box(),o.change_replace_values(),o.maybe_show_mixed_cased_table_name_warning(),o.refresh_table_selects(null,null,this),o.$push_select_backup=e(o.$pull_select).clone(),e(o.$push_select_backup).attr({name:"select_backup[]",id:"select-backup"});var s=document.createElement("select");e(s).attr({multiple:"multiple",name:"select_post_types[]",id:"select-post-types",class:"multiselect"}),e.each(t.common.connection_data.post_types,function(t,i){e(s).append('")}),o.$pull_post_type_select=s,e("#new-path-missing-warning, #new-url-missing-warning").hide(),"pull"===t.functions.wpmdb_migration_type()?(e("#new-url").val(t.functions.remove_protocol(wpmdb_data.this_url)),e("#new-path").val(wpmdb_data.this_path),"true"===wpmdb_data.is_multisite&&(e("#new-domain").val(wpmdb_data.this_domain),e('.replace-row.pin .old-replace-col input[type="text"]').val(t.functions.remove_protocol(i.url))),e("#old-url").val(t.functions.remove_protocol(i.url)),e("#old-path").val(i.path),e.wpmdb.do_action("wpmdb_update_pull_table_select"),e("#select-post-types").remove(),e(".exclude-post-types-warning").after(o.$pull_post_type_select),t.functions.exclude_post_types_warning(),e(".table-prefix").html(i.prefix),e(".backup-table-prefix").html(wpmdb_data.site_details.prefix),e(".uploads-dir").html(wpmdb_data.this_uploads_dir)):(e("#new-url").val(t.functions.remove_protocol(i.url)),e("#new-path").val(i.path),"true"===wpmdb_data.is_multisite&&e('.replace-row.pin .old-replace-col input[type="text"]').val(t.functions.remove_protocol(wpmdb_data.this_url)),e.wpmdb.do_action("wpmdb_update_push_table_select"),e("#select-backup").remove(),e(".backup-tables-wrap").prepend(o.$push_select_backup)),t.common.next_step_in_migration={fn:e.wpmdb.do_action,args:["verify_connection_to_remote_site",t.common.connection_data]},t.functions.execute_next_step()}else e(".connection-status").hide()}})}},e(document).ready(function(){t.migration_state_id="",e("#plugin-compatibility").change(function(t){var i="1",n=e(this).closest("td").next("td").find(".setting-status");e(this).is(":checked")||(i="0"),e(".plugin-compatibility-wrap").toggle(),n.find(".ajax-success-msg").remove(),n.append(o.ajax_spinner),e("#plugin-compatibility").attr("disabled","disabled"),e(".plugin-compatibility").addClass("disabled"),e.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_plugin_compatibility",install:i,nonce:wpmdb_data.nonces.plugin_compatibility},error:function(t,i,n){alert(wpmdb_strings.plugin_compatibility_settings_problem+"\r\n\r\n"+wpmdb_strings.status+" "+t.status+" "+t.statusText+"\r\n\r\n"+wpmdb_strings.response+"\r\n"+t.responseText),e(".ajax-spinner").remove(),e("#plugin-compatibility").removeAttr("disabled"),e(".plugin-compatibility").removeClass("disabled")},success:function(t){""!==e.trim(t)?alert(t):(n.append(''+wpmdb_strings.saved+""),e(".ajax-success-msg").fadeOut(2e3,function(){e(this).remove()})),e(".ajax-spinner").remove(),e("#plugin-compatibility").removeAttr("disabled"),e(".plugin-compatibility").removeClass("disabled")}})}),e("#plugin-compatibility").is(":checked")&&e(".plugin-compatibility-wrap").show(),(0<=navigator.userAgent.indexOf("MSIE")||0<=navigator.userAgent.indexOf("Trident"))&&e(".ie-warning").show(),0<=navigator.userAgent.indexOf("Edge")&&e(".edge-warning").show(),0===wpmdb_data.valid_licence&&e("#savefile").prop("checked",!0);var i=e(".max-request-size"),n=e(".slider",i);n.slider({range:"min",value:parseInt(wpmdb_data.max_request/1024),min:512,max:parseInt(wpmdb_data.bottleneck/1024),step:256,create:function(e,t){var n=o.get_max_request_display_info(wpmdb_data.max_request/1024);o.set_slider_value(i,wpmdb_data.max_request/1024,n.unit,n.amount)},slide:function(e,t){var n=o.get_max_request_display_info(t.value);o.set_slider_value(i,t.value,n.unit,n.amount)},stop:function(t,a){e(".slider-success-msg").remove(),e(".amount",i).after(''),n.slider("disable"),e.ajax({url:ajaxurl,type:"POST",cache:!1,data:{action:"wpmdb_update_max_request_size",max_request_size:parseInt(a.value),nonce:wpmdb_data.nonces.update_max_request_size},error:function(t,a,s){n.slider("enable"),e(".slider-spinner",i).remove(),alert(wpmdb_strings.max_request_size_problem);var r=o.get_max_request_display_info(wpmdb_data.max_request/1024);o.set_slider_value(i,wpmdb_data.max_request/1024,r.unit,r.amount),n.slider("enable")},success:function(){n.slider("enable"),e(".slider-label-wrapper",i).append(''+wpmdb_strings.saved+""),e(".slider-success-msg",i).fadeOut(2e3,function(){e(this).remove()}),e(".slider-spinner",i).remove()}})}});var a=e(".delay-between-requests"),s=e(".slider",a);s.slider({range:"min",value:parseInt(wpmdb_data.delay_between_requests/1e3),min:0,max:10,step:1,create:function(e,t){o.set_slider_value(a,wpmdb_data.delay_between_requests/1e3,"s")},slide:function(e,t){o.set_slider_value(a,t.value,"s")},stop:function(t,i){e(".slider-success-msg").remove(),e(".amount",a).after(''),s.slider("disable"),e.ajax({url:ajaxurl,type:"POST",cache:!1,data:{action:"wpmdb_update_delay_between_requests",delay_between_requests:parseInt(1e3*i.value),nonce:wpmdb_data.nonces.update_delay_between_requests},error:function(t,i,n){s.slider("enable"),e(".slider-spinner",a).remove(),alert(wpmdb_strings.delay_between_requests_problem),o.set_slider_value(a,wpmdb_data.delay_between_requests/1e3,"s"),s.slider("enable")},success:function(){wpmdb_data.delay_between_requests=parseInt(1e3*i.value),s.slider("enable"),e(".slider-label-wrapper",a).append(''+wpmdb_strings.saved+""),e(".slider-success-msg",a).fadeOut(2e3,function(){e(this).remove()}),e(".slider-spinner",a).remove()}})}}),e(".help-tab .video").each(function(){var t=e(this),i=e(".video-viewer");e("a",this).click(function(n){n.preventDefault(),i.attr("src","//www.youtube.com/embed/"+t.data("video-id")+"?autoplay=1"),i.show();var a=i.offset();e(window).scrollTop(a.top-50)})}),e(".backup-options").show(),e(".keep-active-plugins").show(),"savefile"===t.functions.wpmdb_migration_type()&&(e(".backup-options").hide(),e(".keep-active-plugins").hide()),o.last_replace_switch=t.functions.wpmdb_migration_type(),e(".content-tab").on("click",".check-my-licence-again",function(t){t.preventDefault(),o.checked_licence=!1,e(t.target).replaceWith("Checking... "+o.ajax_spinner),o.check_licence(null,"all")}),e.wpmdb.add_action("wpmdb_refresh_table_selects",o.refresh_table_selects,"",o),e.wpmdb.add_action("wpmdb_update_push_table_select",function(){e("#select-tables").remove(),e(".select-tables-wrap").prepend(o.$push_select),e("#select-tables").change()}),e.wpmdb.add_action("wpmdb_update_pull_table_select",function(){e("#select-tables").remove(),e(".select-tables-wrap").prepend(o.$pull_select),e("#select-tables").change()}),e.wpmdb.add_action("wpmdb_disable_table_migration_options",function(){e("#migrate-selected").parents(".option-section").children(".header-expand-collapse").children(".expand-collapse-arrow").removeClass("collapsed"),e(".table-select-wrap").show(),e("#migrate-only-with-prefix").prop("checked",!1),e("#migrate-selected").prop("checked",!0),e(".table-migrate-options").hide(),e(".select-tables-wrap").show()}),e.wpmdb.add_action("wpmdb_enable_table_migration_options",function(){e(".table-migrate-options").show()}),e.wpmdb.add_action("wpmdb_select_all_tables",function(){e("#select-tables").children("option").prop("selected",!0),e("#select-tables").change()}),e.wpmdb.add_filter("wpmdb_base_old_url",function(e,t){return o.remove_protocol(wpmdb_data.this_url)}),o.establish_remote_connection_from_saved_profile(),e("body").on("click",".js-action-link",function(t){t.preventDefault(),e(this).blur()}),e(".licence-input").keypress(function(t){13===t.which&&(t.preventDefault(),e(".register-licence").click())}),e("body").on("click",".register-licence",function(t){if(t.preventDefault(),!o.doing_licence_registration_ajax){var i=e.trim(e(".licence-input").val()),n=e(".licence-status");n.removeClass("notification-message error-notice success-notice"),""!==i?(n.empty().removeClass("success"),o.doing_licence_registration_ajax=!0,e(".button.register-licence").after(''),e.ajax({url:ajaxurl,type:"POST",dataType:"JSON",cache:!1,data:{action:"wpmdb_activate_licence",licence_key:i,nonce:wpmdb_data.nonces.activate_licence,context:"licence"},error:function(t,i,a){o.doing_licence_registration_ajax=!1,e(".register-licence-ajax-spinner").remove(),n.html(wpmdb_strings.register_license_problem)},success:function(t){if(e(".register-licence-ajax-spinner").remove(),void 0!==t.errors){var a="";for(var s in t.errors)a+=t.errors[s];n.html(a),void 0!==t.masked_licence&&(o.enable_pro_licence(t,i),e(".migrate-tab .invalid-licence").hide())}else void 0!==t.wpmdb_error&&void 0!==t.body?n.html(t.body):(1===Number(t.is_first_activation)&&(wpmdb_strings.welcome_text=wpmdb_strings.welcome_text.replace("%1$s","https://deliciousbrains.com/wp-migrate-db-pro/doc/quick-start-guide/?utm_campaign=support%2Bdocs&utm_source=MDB%2BPaid&utm_medium=insideplugin"),wpmdb_strings.welcome_text=wpmdb_strings.welcome_text.replace("%2$s","https://deliciousbrains.com/wp-migrate-db-pro/videos/?utm_campaign=support%2Bdocs&utm_source=MDB%2BPaid&utm_medium=insideplugin"),n.after('

    '+wpmdb_strings.welcome_title+"

    "+wpmdb_strings.welcome_text+"

    ")),n.html(wpmdb_strings.license_registered).delay(5e3).fadeOut(1e3,function(){e(this).css({visibility:"hidden",display:"block"}).slideUp()}),n.addClass("success notification-message success-notice"),o.enable_pro_licence(t,i),e(".invalid-licence").hide());o.doing_licence_registration_ajax=!1}})):n.html('
    '+wpmdb_strings.enter_license_key+"
    ")}}),e(".clear-log").click(function(){e(".ajax-spinner, .ajax-success-msg").remove(),e(this).after(o.ajax_spinner),e(".debug-log-textarea").val(""),e.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_clear_log",nonce:wpmdb_data.nonces.clear_log},error:function(t,i,n){e(".ajax-spinner").remove(),alert(wpmdb_strings.clear_log_problem)},success:function(t){e(".ajax-spinner, .ajax-success-msg").remove(),o.refresh_debug_log(),e(".clear-log").after(''+wpmdb_strings.clear_error_log+""),e(".ajax-success-msg").fadeOut(2e3,function(){e(this).remove()})}})}),e(".multiselect-select-all").click(function(){var t=e(this).parents(".select-wrap").children(".multiselect");e("option",t).prop("selected",1),e(t).focus().trigger("change")}),e(".multiselect-deselect-all").click(function(){var t=e(this).parents(".select-wrap").children(".multiselect");e("option",t).removeAttr("selected"),e(t).focus().trigger("change")}),e(".multiselect-invert-selection").click(function(){var t=e(this).parents(".select-wrap").children(".multiselect");e("option",t).each(function(){e(this).attr("selected",!e(this).attr("selected"))}),e(t).focus().trigger("change")}),e(".option-group input[type=radio]").change(function(){var t=e(this).closest(".option-group");e("ul",t).hide();var i=e(this).closest("li");e("ul",i).show()}),e(".option-group").each(function(){e(".option-group input[type=radio]").each(function(){if(e(this).is(":checked")){var t=e(this).closest("li");e("ul",t).show()}})}),e(".header-expand-collapse").click(function(){var t=null;void 0!==e(this).data("next")&&(t=e(this).data("next")),e(".expand-collapse-arrow",this).hasClass("collapsed")?(e(".expand-collapse-arrow",this).removeClass("collapsed"),t?e(t).show():e(this).next().show()):(e(".expand-collapse-arrow",this).addClass("collapsed"),t?e(t).hide():e(this).next().hide())}),e(".checkbox-label input[type=checkbox]").change(function(){e(this).is(":checked")?e(this).parent().next().show():e(this).parent().next().hide()}),e(".select-post-types-wrap").on("change","#select-post-types",function(){t.functions.exclude_post_types_warning()}),e("#exclude-post-types").is(":checked")&&e("#select-post-types").val()&&e(".exclude-post-types-warning").css({display:"block",opacity:1}),e("#save-migration-profile").change(function(){t.functions.update_migrate_button_text(),e(this).is(":checked")?e(".save-settings-button").show():e(".save-settings-button").hide()}),e("#save-migration-profile").is(":checked")&&e(".save-settings-button").show(),e(".create-new-profile").focus(function(){e("#create_new").prop("checked",!0)}),e(".checkbox-label input[type=checkbox]").each(function(){e(this).is(":checked")&&e(this).parent().next().show()}),e(".migrate-db-button").click(function(i){if(e(this).blur(),i.preventDefault(),t.migration_state_id="",!1!==e.wpmdb.apply_filters("wpmdb_migration_profile_ready",!0)&&!0!==t.functions.maybe_show_select_table_notice()){var n=!1,a=!1;if(e("#new-url").length&&!e("#new-url").val()&&(e("#new-url-missing-warning").show(),e("#new-url").focus(),e("html,body").scrollTop(0),n=!0),e("#new-path").length&&!e("#new-path").val()&&(e("#new-path-missing-warning").show(),!1===n&&(e("#new-path").focus(),e("html,body").scrollTop(0)),a=!0),!0===n||!0===a){if("import"!==t.functions.wpmdb_migration_type())return;if(e("#import-find-replace").is(":checked"))return}e("#save-migration-profile").is(":checked")&&o.save_active_profile(),o.form_data=e(e("#migrate-form")[0].elements).not(".auth-credentials").serialize(),o.migration_intent=t.functions.wpmdb_migration_type(),o.stage="backup","savefile"===o.migration_intent&&(o.stage="migrate"),!1===e("#create-backup").is(":checked")&&(-1!==e.inArray(o.migration_intent,["savefile","push","pull"])?o.stage="migrate":"import"===o.migration_intent?o.stage="upload":o.stage=o.migration_intent),t.current_migration=t.migration_progress_controller.newMigration({localTableSizes:wpmdb_data.this_table_sizes,localTableRows:wpmdb_data.this_table_rows,remoteTableSizes:void 0!==t.common.connection_data?t.common.connection_data.table_sizes:null,remoteTableRows:void 0!==t.common.connection_data?t.common.connection_data.table_rows:null,migrationIntent:t.functions.wpmdb_migration_type()});var s=e("input[name=backup_option]:checked").val(),r=e("input[name=table_migrate_option]:checked").val(),l="",c="";"backup"===o.stage&&("migrate_only_with_prefix"===r&&"backup_selected"===s&&"import"!==o.migration_intent&&(s="backup_only_with_prefix"),"push"===o.migration_intent?(c="remote","backup_only_with_prefix"===s?o.tables_to_migrate=t.common.connection_data.prefixed_tables:"backup_selected"===s?(l=e("#select-tables").val(),l=e.wpmdb.apply_filters("wpmdb_backup_selected_tables",l),o.tables_to_migrate=o.get_intersect(l,t.common.connection_data.tables)):"backup_manual_select"===s&&(o.tables_to_migrate=e("#select-backup").val())):(c="local","backup_only_with_prefix"===s?o.tables_to_migrate=wpmdb_data.this_prefixed_tables:"backup_selected"===s?(l=e("#select-tables").val(),l=e.wpmdb.apply_filters("wpmdb_backup_selected_tables",l),o.tables_to_migrate=o.get_intersect(l,wpmdb_data.this_tables)):"backup_manual_select"===s&&(o.tables_to_migrate=e("#select-backup").val())),t.current_migration.model.addStage("backup",o.tables_to_migrate,c,{strings:{migrated:wpmdb_strings.backed_up}})),c="pull"===o.migration_intent?"remote":"local","find_replace"===o.migration_intent?t.current_migration.model.addStage("find_replace",t.functions.get_tables_to_migrate(null,null),c,{strings:{migrated:wpmdb_strings.searched,stage_title:wpmdb_strings.migrate_button_find_replace}}):-1!==e.inArray(o.migration_intent,["savefile","push","pull"])&&t.current_migration.model.addStage("migrate",t.functions.get_tables_to_migrate(null,null),c),e.wpmdb.do_action("wpmdb_add_migration_stages",{data_type:c,tables_to_migrate:t.functions.get_tables_to_migrate(null,null)});e("input[name=table_migrate_option]:checked").val();var p=e.trim(e(".pull-push-connection-info").val()).split("\n");o.remote_site=p[0],o.secret_key=p[1];var m=o.get_migration_status_label(o.remote_site,o.migration_intent,"migrating");o.completed_msg=o.get_migration_status_label(o.remote_site,o.migration_intent,"completed"),-1!==e.inArray(o.stage,["find_replace","backup","migrate"])&&(o.tables_to_migrate=t.current_migration.model.getStageItems(o.stage,"name")),t.current_migration.model.setActiveStage(o.stage),t.current_migration.setTitle(m),t.current_migration.startTimer(),o.currently_migrating=!0,t.current_migration.setStatus("active");var d={action:"wpmdb_initiate_migration",intent:o.migration_intent,url:o.remote_site,key:o.secret_key,form_data:o.form_data,stage:o.stage,nonce:wpmdb_data.nonces.initiate_migration};d.site_details={local:wpmdb_data.site_details},-1!==e.inArray(o.migration_intent,["push","pull"])&&(d.temp_prefix=t.common.connection_data.temp_prefix,d.site_details.remote=t.common.connection_data.site_details),d.site_details=JSON.stringify(d.site_details),d=e.wpmdb.apply_filters("wpmdb_initiate_migration_request_data",d,d),o.doing_ajax=!0,e.ajax({url:ajaxurl,type:"POST",dataType:"json",cache:!1,data:d,error:function(e,i,n){t.current_migration.setState(wpmdb_strings.migration_failed,o.get_ajax_errors(e.responseText,"(#112)",e),"error"),console.log(e),console.log(i),console.log(n),o.doing_ajax=!1,t.common.migration_error=!0,t.functions.migration_complete_events()},success:function(i){if(o.doing_ajax=!1,void 0!==i&&void 0!==i.wpmdb_error&&1===i.wpmdb_error)return t.common.migration_error=!0,t.functions.migration_complete_events(),void t.current_migration.setState(wpmdb_strings.migration_failed,i.body,"error");t.migration_state_id=i.migration_state_id;o.delay_between_requests=0,("savefile"!==o.migration_intent&&void 0!==t.common.connection_data&&void 0!==t.common.connection_data.delay_between_requests||"import"===o.migration_intent)&&("import"===o.migration_intent?o.delay_between_requests=wpmdb_data.delay_between_requests:o.delay_between_requests=Math.max(parseInt(wpmdb_data.delay_between_requests),parseInt(t.common.connection_data.delay_between_requests))),-1!==e.inArray(o.migration_intent,["savefile","push","pull","find_replace"])&&(t.common.next_step_in_migration={fn:t.functions.migrate_table_recursive,args:["-1",""]},t.functions.execute_next_step()),e.wpmdb.do_action("wpmdb_migration_initiated",o.stage)}})}}),o.update_migrate_button_text(),e("body").on("click",".close-progress-content-button",function(e){o.hide_overlay(),t.current_migration.restoreTitleElem(),t.functions.maybe_reload_page()}),e("body").on("click","#overlay",function(e){!0===o.migration_completed&&e.target===this&&(o.hide_overlay(),t.current_migration.restoreTitleElem(),t.functions.maybe_reload_page())}),e(".save-settings-button").click(function(t){if(t.preventDefault(),""===e.trim(e(".create-new-profile").val())&&e("#create_new").is(":checked"))return alert(wpmdb_strings.enter_name_for_profile),void e(".create-new-profile").focus();o.save_active_profile()}),o.move_connection_info_box(),e(".migrate-selection.option-group input[type=radio]").change(function(){o.move_connection_info_box(),t.migration_selection=t.functions.wpmdb_migration_type(),o.connection_established&&o.change_replace_values(),t.functions.update_migrate_button_text()}),"pull"!==t.functions.wpmdb_migration_type()&&"push"!==t.functions.wpmdb_migration_type()||o.connection_established||(e(".step-two").hide(),e(".connection-status").show()),e(".general-helper").click(function(t){t.preventDefault();var i=e(this),n=e(this).next();e(".helper-message").not(n).hide();var a=i.position();if(n.hasClass("bottom")){var o=1;!0===n.hasClass("compatibility-help")?o=6:e(this).is(":first-child")&&(o=3),n.css({left:a.left-n.width()/2-o+"px",top:a.top+i.height()+9+"px"})}else n.css({left:a.left+i.width()+9+"px",top:a.top+i.height()/2-18+"px"});n.toggle(),t.stopPropagation()}),e("body").click(function(){e(".helper-message").hide()}),e(".helper-message").click(function(e){e.stopPropagation()}),e("body").on("click",".show-errors-toggle",function(t){t.preventDefault(),e(this).next(".migration-php-errors").toggle()}),e(".nav-tab").click(function(){var t=e(this).attr("data-div-name");t=t.replace("-tab",""),window.location.hash=t,o.switch_to_plugin_tab(t,!1)}),e("body").on("click",'a[href^="#"]',function(t){var i=e(t.target).attr("href").substr(1);if(i){var n=e("."+i);1===n.length&&(n.trigger("click"),t.preventDefault())}}),e("body").on("click",".add-row",function(){var t=e(this).parents("tr");t.before(e(".original-repeatable-field").clone().removeClass("original-repeatable-field")),t.prev().find(".old-replace-col input").focus()}),e("body").on("click",".replace-remove-row",function(){e(this).parents("tr").remove(),2>=e(".replace-row").length&&e(".no-replaces-message").show();var t=e(this).prev().attr("id");"new-url"!==t&&"new-path"!==t||e("#"+t+"-missing-warning").hide()}),e("body").on("change","#new-url",function(){e("#new-url-missing-warning").hide()}).on("change","#new-path",function(){e("#new-path-missing-warning").hide()}),e("body").on("click",".arrow-col",function(){if(!e(this).hasClass("disabled")){var t=e(this).prev("td").find("input").val(),i=e(this).next("td").find("input");i.val(t),"new-url"===i.prop("id")?e("#new-url-missing-warning").hide():"new-path"===i.prop("id")&&e("#new-path-missing-warning").hide()}}),e(".add-replace").click(function(){e(".replace-fields").prepend(e(".original-repeatable-field").clone().removeClass("original-repeatable-field")),e(".no-replaces-message").hide()}),e("#find-and-replace-sort tbody").sortable({items:"> tr:not(.pin)",handle:"td:first",start:function(){e(".sort-handle").css("cursor","-webkit-grabbing"),e(".sort-handle").css("cursor","-moz-grabbing")},stop:function(){e(".sort-handle").css("cursor","-webkit-grab"),e(".sort-handle").css("cursor","-moz-grab")}});var r="";window.location.hash&&(r=window.location.hash.substring(1),o.switch_to_plugin_tab(r,!1)),""!==o.get_query_var("install-plugin")&&(r="addons",o.checked_licence=!0,o.switch_to_plugin_tab(r,!0)),e(".notice-link").click(function(i){i.preventDefault(),t.functions.ajax_handle_dismissible_notice(wpmdb_data.nonces.process_notice_link,function(t){e(t).closest(".inline-message").hide()},e(this))}),e("#connection_info").on("copy",function(t){var i=e(this).val().split("\n");if(2===i.length)try{t.originalEvent.clipboardData.setData("text/plain",i.join(" ")),t.preventDefault()}catch(e){}}),e(".reset-api-key").click(function(){confirm(wpmdb_strings.reset_api_key)&&!o.doing_reset_api_key_ajax&&(o.doing_reset_api_key_ajax=!0,e(".reset-api-key").after(''),e.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_reset_api_key",nonce:wpmdb_data.nonces.reset_api_key},error:function(t,i,n){alert(wpmdb_strings.reset_api_key_problem),e(".reset-api-key-ajax-spinner").remove(),o.doing_reset_api_key_ajax=!1},success:function(t){e(".reset-api-key-ajax-spinner").remove(),o.doing_reset_api_key_ajax=!1,e(".connection-info").html(t),wpmdb_data.connection_info=e.trim(t).split("\n")}}))}),e(".copy-api-key").click(function(){var t=e(this),i=e("#connection_info"),n=i.val(),a=n.replace("\n"," ");i.val(a),i.select();try{document.execCommand("copy"),i.blur(),t.css("color","transparent");var o=e(".copy-api-key-confirmation").show();setTimeout(function(){o.fadeOut("fast"),setTimeout(function(){t.css("color","")},200)},1e3)}catch(e){alert("please press Ctrl/Cmd+C to copy")}i.val(n)}),e("input[name=table_migrate_option]").change(function(){e(".select-tables-wrap").hide(),"migrate_select"===e(this).val()&&e(".select-tables-wrap").show()}),e(".show-multiselect").each(function(){e(this).is(":checked")&&(e(this).parents(".option-section").children(".header-expand-collapse").children(".expand-collapse-arrow").removeClass("collapsed"),e(this).parents(".expandable-content").show(),e(this).parents(".expandable-content").children(".select-wrap").toggle())}),e("input[name=backup_option]").change(function(){e(".backup-tables-wrap").hide(),"backup_manual_select"===e(this).val()&&e(".backup-tables-wrap").show()}),e("#backup-manual-select").is(":checked")&&e(".backup-tables-wrap").show(),e(".plugin-compatibility-save").click(function(){if(!o.doing_plugin_compatibility_ajax){e(this).addClass("disabled");var t=e("#selected-plugins");e(t).attr("disabled","disabled"),e(".plugin-compatibility-success-msg").remove(),o.doing_plugin_compatibility_ajax=!0,e(this).after(''),e.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_whitelist_plugins",whitelist_plugins:e(t).val(),nonce:wpmdb_data.nonces.whitelist_plugins},error:function(i,n,a){alert(wpmdb_strings.blacklist_problem+"\r\n\r\n"+wpmdb_strings.status+" "+i.status+" "+i.statusText+"\r\n\r\n"+wpmdb_strings.response+"\r\n"+i.responseText),e(t).removeAttr("disabled"),e(".plugin-compatibility-save").removeClass("disabled"),o.doing_plugin_compatibility_ajax=!1,e(".plugin-compatibility-spinner").remove()},success:function(i){""!==e.trim(i)&&alert(i),e(t).removeAttr("disabled"),e(".plugin-compatibility-save").removeClass("disabled"),o.doing_plugin_compatibility_ajax=!1,e(".plugin-compatibility-spinner").remove(),e(".plugin-compatibility-save").after(''+wpmdb_strings.saved+""),e(".plugin-compatibility-success-msg").fadeOut(2e3)}})}}),e("body").on("click",".delete-profile",function(){var t=e(this).next().clone();if(e("input",t).remove(),t=e.trim(e(t).html()),confirm(wpmdb_strings.remove_profile.replace("{{profile}}",t))){var i=e(this).parent();if(i.find("input:checked").length){var n=i.siblings().last();if(n.find("input[type=radio]").prop("checked","checked"),n.find("input[type=text]").focus(),e("#migrate-form .crumbs .crumb:last").text("New Profile"),"function"==typeof window.history.pushState){var a=window.location.href.replace("#migrate","").replace(/&wpmdb-profile=-?\d+/,"")+"&wpmdb-profile=-1";window.history.pushState({updated_profile_id:-1},null,a)}}i.fadeOut(500),e.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_delete_migration_profile",profile_id:e(this).attr("data-profile-id"),nonce:wpmdb_data.nonces.delete_migration_profile},error:function(e,t,i){alert(wpmdb_strings.remove_profile_problem)},success:function(e){"-1"===e&&alert(wpmdb_strings.remove_profile_not_found)}})}}),e(".main-list-delete-profile-link").click(function(){var t=e(this).prev().html();confirm(wpmdb_strings.remove_profile.replace("{{profile}}",t))&&(e(this).parent().fadeOut(500),e.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_delete_migration_profile",profile_id:e(this).attr("data-profile-id"),nonce:wpmdb_data.nonces.delete_migration_profile},error:function(e,t,i){alert(wpmdb_strings.remove_profile_problem)}}))}),e("body").on("click",".temp-disabled",function(){confirm(wpmdb_strings.change_connection_info)&&(e(".ssl-notice").hide(),e(".different-plugin-version-notice").hide(),e(".migrate-db-button").show(),e(".temp-disabled").removeAttr("readonly"),e(".temp-disabled").removeClass("temp-disabled"),e(".connect-button").show(),e(".step-two").hide(),e(".connection-status").show().html(wpmdb_strings.enter_connection_info),o.connection_established=!1)}),e(".settings-tab input[type=checkbox]").change(function(){if("plugin-compatibility"!==e(this).attr("id")){var t=e(this).is(":checked"),i=e(this).attr("id"),n=e(this).closest("td").next("td").find(".setting-status");e(".ajax-success-msg").remove(),n.after(o.ajax_spinner),e.ajax({url:ajaxurl,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_save_setting",checked:t,setting:i,nonce:wpmdb_data.nonces.save_setting},error:function(t,i,n){alert(wpmdb_strings.save_settings_problem),e(".ajax-spinner").remove()},success:function(t){e(".ajax-spinner").remove(),n.append(''+wpmdb_strings.saved+""),e(".ajax-success-msg").fadeOut(2e3,function(){e(this).remove()})}})}}),e(".migrate-form").submit(function(e){e.preventDefault()}),e(".connect-button").click(function(i){i.preventDefault(),e(this).blur(),t.functions.connection_box_changed()}),e(".pull-push-connection-info").bind("paste",function(e){setTimeout(function(){t.functions.connection_box_changed()},0)}),e("body").on("click",".try-again",function(){e(".pull-push-connection-info").removeClass("temp-disabled"),t.functions.connection_box_changed()}),e("body").on("click",".try-http",function(){var i=e.trim(e(".pull-push-connection-info").val()).split("\n"),n=i[0].replace("https","http")+"\n"+i[1];e(".pull-push-connection-info").val(n),t.functions.connection_box_changed()}),e(".create-new-profile").change(function(){o.profile_name_edited=!0}),e("body").on("click",".temporarily-disable-ssl",function(){var t="";window.location.hash&&(t=window.location.hash.substring(1)),e(this).attr("href",e(this).attr("href")+"&hash="+t)}),e("body").on("click",".pause-resume",function(e){o.set_pause_resume_button(e)}),e("body").on("click",".cancel",function(e){o.cancel_migration(e)}),e(".enter-licence").click(function(){e(".settings").click(),e(".licence-input").focus()}),e("body").on("click",".copy-licence-to-remote-site",function(){e(".connection-status").html(wpmdb_strings.copying_license),e(".connection-status").removeClass("notification-message error-notice migration-error"),e(".connection-status").append(o.ajax_spinner);var i=e.trim(e(".pull-push-connection-info").val()).split("\n");o.doing_ajax=!0,o.disable_export_type_controls(),e.ajax({url:ajaxurl,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_copy_licence_to_remote_site",url:i[0],key:i[1],nonce:wpmdb_data.nonces.copy_licence_to_remote_site},error:function(t,i,n){e(".connection-status").html(o.get_ajax_errors(t.responseText,"(#143)",t)),e(".connection-status").addClass("notification-message error-notice migration-error"),e(".ajax-spinner").remove(),o.doing_ajax=!1,o.enable_export_type_controls()},success:function(i){if(e(".ajax-spinner").remove(),o.doing_ajax=!1,o.enable_export_type_controls(),void 0!==i.wpmdb_error&&1===i.wpmdb_error)return e(".connection-status").html(i.body),e(".connection-status").addClass("notification-message error-notice migration-error"),void(i.body.indexOf("401 Unauthorized")>-1&&e(".basic-access-auth-wrapper").show());t.functions.connection_box_changed()}})}),e("body").on("click",".reactivate-licence",function(t){o.doing_ajax=!0,e(".invalid-licence").empty().html(wpmdb_strings.attempting_to_activate_licence),e(".invalid-licence").append(o.ajax_spinner),e.ajax({url:ajaxurl,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_reactivate_licence",nonce:wpmdb_data.nonces.reactivate_licence},error:function(t,i,n){e(".invalid-licence").html(wpmdb_strings.activate_licence_problem),e(".invalid-licence").append("

    "+wpmdb_strings.status+": "+t.status+" "+t.statusText+"

    "+wpmdb_strings.response+"
    "+t.responseText),e(".ajax-spinner").remove(),o.doing_ajax=!1},success:function(t){if(e(".ajax-spinner").remove(),o.doing_ajax=!1,void 0===t.wpmdb_error||1!==t.wpmdb_error){if(void 0!==t.wpmdb_dbrains_api_down&&1===t.wpmdb_dbrains_api_down)return e(".invalid-licence").html(wpmdb_strings.temporarily_activated_licence),void e(".invalid-licence").append(t.body);e(".invalid-licence").empty().html(wpmdb_strings.licence_reactivated),location.reload()}else e(".invalid-licence").html(t.body)}})}),e("input[name=table_migrate_option]").change(function(){o.maybe_show_mixed_cased_table_name_warning(),e.wpmdb.do_action("wpmdb_tables_to_migrate_changed")}),e("body").on("change","#select-tables",function(){o.maybe_show_mixed_cased_table_name_warning(),e.wpmdb.do_action("wpmdb_tables_to_migrate_changed")}),e.wpmdb.add_filter("wpmdb_get_table_prefix",o.get_table_prefix),e.wpmdb.add_filter("wpmdb_get_tables_to_migrate",t.functions.get_tables_to_migrate),e.wpmdb.add_action("wpmdb_lock_replace_url",o.lock_replace_url),e.wpmdb.add_action("wpmdb_pin_replace_url",o.pin_replace_url),e.wpmdb.add_action("move_connection_info_box",t.functions.exclude_post_types_warning),e.wpmdb.add_filter("wpmdb_before_migration_complete_hooks",function(t){return o.pause_before_finalize=!!e("input[name=pause_before_finalize]:checked").length,!0===o.pause_before_finalize&&"savefile"!==o.migration_intent&&(o.set_pause_resume_button(null),window.is_auto_pause_before_finalize=!0),t}),e(".wpmdb-switch").on("click",function(t){e(this).hasClass("disabled")||o.set_checkbox(e(this).attr("id"))}),e("#beta_optin-wrap").on("click",function(t){e(this).find("span.on").hasClass("checked")||wpmdb_data.is_beta_plugins_installed&&confirm(wpmdb_strings.rollback_beta_to_stable)&&(window.location=wpmdb_data.rollback_to_stable_url)})})}(jQuery,s)},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var i=0;i'}return a(e,[{key:"pad",value:function(e,t,i){return i=i||"0",(e+="").length>=t?e:new Array(t-e.length+1).join(i)+e}},{key:"is_int",value:function(e){return"number"==typeof(e=parseInt(e))&&0==e%1}},{key:"get_intersect",value:function(e,t){var i,n,a=[],o={},s=t.length;for(i=0;io(".replace-row.pin").length&&1===o("#old-url").length&&o("#old-url").parents(".replace-row").addClass("pin"),!1===e&&0'),this.doing_ajax=!0,o.ajax({url:s,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_save_profile",profile:e,nonce:l.nonces.save_profile},error:function(e,i,n){t.doing_ajax=!1,alert(r.save_profile_problem),o(".save-settings-button").removeAttr("disabled"),o(".save-profile-ajax-spinner").remove(),o(".save-settings-button").after(''+r.saved+""),o(".ajax-success-msg").fadeOut(2e3,function(){o(this).remove()}),t.doing_save_profile=!1},success:function(e){var a=parseInt(o("#migrate-form input[name=save_migration_profile_option]:checked").val(),10)+1;if(t.doing_ajax=!1,o(".save-settings-button").removeAttr("disabled"),o(".save-profile-ajax-spinner").remove(),o(".save-settings-button").after(''+r.saved+""),o(".ajax-success-msg").fadeOut(2e3,function(){o(this).remove()}),t.doing_save_profile=!1,o(".create-new-profile").val(""),i){var s=parseInt(e,10),c=s+1,p=o('
  • ');p.find("label").append(document.createTextNode(" "+n)),a=c,o("#create_new").parents("li").before(p),o("#profile-"+c).attr("checked","checked")}var m=window.location.href.replace("#migrate","").replace(/&wpmdb-profile=-?\d+/,"")+"&wpmdb-profile="+a,d=o("#migrate-form input[name=save_migration_profile_option]:checked").parent().text().trim();if("function"==typeof window.history.pushState){if(o("#migrate-form .crumbs").length)o("#migrate-form .crumbs .crumb:last").text(d);else{var _=o('
    ').append(' Saved Profiles ').append(''+d+"");o("#migrate-form").prepend(_)}window.history.pushState({updated_profile_id:a},null,m)}}})}}},{key:"cancel_migration",value:function(e){this.migration_cancelled=!0,this.cancelling_text=r.cancelling_migration,o(".migration-controls").css({visibility:"hidden"}),"find_replace"===this.migration_intent&&(this.cancelling_text=r.cancelling_find_replace),wpmdb.current_migration.setState(this.cancelling_text,r.completing_current_request,"cancelling"),!0===this.migration_paused&&(this.migration_paused=!1,wpmdb.functions.execute_next_step())}},{key:"set_checkbox",value:function(e){var t=o("#"+e),i=t.find("input[type=checkbox]");t.toggleClass("on").find("span").toggleClass("checked");var n=t.find("span.on").hasClass("checked");i.attr("checked",n).trigger("change")}},{key:"move_connection_info_box",value:function(){var e,t,i,n,a,s,r=o(".connection-status"),c=o(".directory-permission-notice"),p=o(".compatibility-older-mysql"),m=o(".mst-required"),d=o(".keep-active-plugins"),_=o(".step-two"),u=o(".backup-options"),g=wpmdb.functions.wpmdb_migration_type();if(r.hide(),c.hide(),_.show(),u.show(),d.show(),p.hide(),m.hide(),wpmdb.functions.wpmdb_toggle_migration_action_text(),o(".migrate-tab").attr("class","migrate-tab content-tab").addClass(wpmdb.functions.wpmdb_migration_type()),o.wpmdb.do_action("move_connection_info_box",{migration_type:g,last_migration_type:this.last_replace_switch}),-1!==o.inArray(g,["push","pull"])){var h=o(".pull-push-connection-info"),b=o.trim(h.val()).split("\n"),f=o("."+g+"-list li");if(f.append(this.$connection_info_box),this.$connection_info_box.show(function(){var e=o(this).find(".pull-push-connection-info");e.val()||e.focus()}),g!==this.last_replace_switch&&2===b.length)return wpmdb.force_reconnect=!0,f.append(this.$connection_info_box),h.removeClass("temp-disabled").attr("readonly","readonly"),o(".connect-button").hide(),void wpmdb.functions.connection_box_changed();this.connection_established?(r.hide(),_.show(),wpmdb.functions.wpmdb_toggle_migration_action_text(),"pull"===g?(t=wpmdb.common.connection_data.prefix,i=l.site_details.prefix,n=l.this_uploads_dir,a=l.this_upload_dir_long,s=l.write_permission):(t=l.this_prefix,i=wpmdb.common.connection_data.prefix,n=wpmdb.common.connection_data.uploads_dir,a=wpmdb.common.connection_data.upload_dir_long,s=wpmdb.common.connection_data.write_permissions),o(".table_prefix").html(t),o(".backup-table-prefix").html(i),o(".uploads-dir").html(n),this.maybe_show_backup_disabled_msg(a,s),!1===this.profile_name_edited&&(e=this.get_domain_name(wpmdb.common.connection_data.url),o(".create-new-profile").val(e))):(r.show(),_.hide())}else if(-1!==o.inArray(g,["find_replace","savefile"]))if(r.hide(),_.show(),o(".table-prefix").html(l.this_prefix),!1===this.profile_name_edited&&o(".create-new-profile").val(""),d.hide(),"savefile"===g)u.hide(),p.show(),"false"===l.write_permission&&(c.show(),_.hide());else{if("true"===l.is_multisite){var w=o(".old-replace-col").eq(1);w.parent().removeClass("pin").find(".replace-remove-row").show(),w.find("input").removeAttr("readonly")}this.maybe_show_backup_disabled_msg(l.this_upload_dir_long,l.write_permission)}this.maybe_show_mixed_cased_table_name_warning()}},{key:"maybe_show_backup_disabled_msg",value:function(e,t){var i=o("#create-backup"),n=o("#create-backup-label"),a=o(".backup-option-disabled");i.removeAttr("disabled"),n.removeClass("disabled"),a.hide(),"false"===t&&(i.prop("checked",!1),i.attr("disabled","disabled"),n.addClass("disabled"),a.show(),o(".upload-directory-location").html(e))}},{key:"change_replace_values",value:function(){var e=null,t=null;null!==wpmdb.common.previous_connection_data&&"object"===n(wpmdb.common.previous_connection_data)&&wpmdb.common.previous_connection_data.url!==wpmdb.common.connection_data.url&&(e=this.remove_protocol(wpmdb.common.previous_connection_data.url),t=wpmdb.common.previous_connection_data.path),"push"===wpmdb.functions.wpmdb_migration_type()||"savefile"===wpmdb.functions.wpmdb_migration_type()?("pull"===this.last_replace_switch?o(".replace-row").each(function(){var e=o(".old-replace-col input",this).val();o(".old-replace-col input",this).val(o(".replace-right-col input",this).val()),o(".replace-right-col input",this).val(e)}):"push"===this.last_replace_switch&&"push"===wpmdb.functions.wpmdb_migration_type()&&null!==e&&null!==t&&o(".replace-row").each(function(){var i=o(".replace-right-col input",this).val();i===t&&o(".replace-right-col input",this).val(wpmdb.common.connection_data.path),i===e&&o(".replace-right-col input",this).val(this.remove_protocol(wpmdb.common.connection_data.url))}),o.wpmdb.do_action("wpmdb_update_push_table_select"),o("#select-post-types").remove(),o(".exclude-post-types-warning").after(this.$push_post_type_select),wpmdb.functions.exclude_post_types_warning(),o("#select-backup").remove(),o(".backup-tables-wrap").prepend(this.$push_select_backup)):"pull"===wpmdb.functions.wpmdb_migration_type()&&(""===this.last_replace_switch||"push"===this.last_replace_switch||"savefile"===this.last_replace_switch?o(".replace-row").each(function(){var e=o(".old-replace-col input",this).val();o(".old-replace-col input",this).val(o(".replace-right-col input",this).val()),o(".replace-right-col input",this).val(e)}):"pull"===this.last_replace_switch&&"pull"===wpmdb.functions.wpmdb_migration_type()&&null!==e&&null!==t&&o(".replace-row").each(function(){var i=o(".old-replace-col input",this).val();i===t&&o(".old-replace-col input",this).val(wpmdb.common.connection_data.path),i===e&&o(".old-replace-col input",this).val(this.remove_protocol(wpmdb.common.connection_data.url))}),o.wpmdb.do_action("wpmdb_update_pull_table_select"),o("#select-post-types").remove(),o(".exclude-post-types-warning").after(this.$pull_post_type_select),wpmdb.functions.exclude_post_types_warning(),o("#select-backup").remove(),o(".backup-tables-wrap").prepend(this.$pull_select_backup)),this.last_replace_switch=wpmdb.functions.wpmdb_migration_type()}},{key:"switch_to_plugin_tab",value:function(e,t){o(".nav-tab").removeClass("nav-tab-active"),o(".nav-tab."+e).addClass("nav-tab-active"),o(".content-tab").hide(),o("."+e+"-tab").show(),"settings"===e&&!0===this.should_check_licence()&&(o("p.licence-status").append("Checking License... ").append(this.ajax_spinner),this.check_licence()),"help"===e&&(this.refresh_debug_log(),!0===this.should_check_licence()&&(o(".support-content p").append(this.ajax_spinner),this.check_licence())),"addons"===e&&!0!==t&&!0===this.should_check_licence()&&(o(".addons-content p").append(this.ajax_spinner),this.check_licence())}},{key:"hide_overlay",value:function(){o("#overlay").removeClass("show").addClass("hide"),o("#overlay > div").removeClass("show").addClass("hide"),wpmdb.current_migration.$proVersion.find("iframe").remove(),setTimeout(function(){o("#overlay").remove()},500),this.migration_completed=!1}},{key:"check_licence",value:function(e){var t=!this.doing_licence_registration_ajax;this.checked_licence=!0;var i=this;o.ajax({url:s,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_check_licence",licence:e,context:"all",nonce:l.nonces.check_licence},error:function(e,t,i){alert(r.license_check_problem)},success:function(e){var n,a,s,r=o(".support-content"),l=o(".addons-content"),c=o(".licence-status:not(.notification-message)");if(void 0!==e.dbrains_api_down)a=e.dbrains_api_down+e.message,s=e.dbrains_api_down;else if(void 0!==e.errors){if(void 0!==e.errors.subscription_expired)n=e.errors.subscription_expired.licence,a=e.errors.subscription_expired.support,s=e.errors.subscription_expired.addons;else{var p="";for(var m in e.errors)p+=e.errors[m];a=p,s=p}void 0!==e.addon_content&&(s+="\n"+e.addon_content)}else a=e.message,s=e.addon_content;t&&c.stop().fadeOut(i.fade_duration,function(){void 0===n&&(o(this).css({visibility:"hidden",display:"block"}).slideUp(),n=""),o(this).empty().html(n).stop().fadeIn(i.fade_duration)}),r.stop().fadeOut(i.fade_duration,function(){o(this).empty().html(a).stop().fadeIn(i.fade_duration)}),l.stop().fadeOut(i.fade_duration,function(){o(this).empty().html(s).stop().fadeIn(i.fade_duration)}),o("#plugin-compatibility").is(":not(:checked)")&&o("#compatibility-header").click()}})}},{key:"should_check_licence",value:function(){return!1===this.checked_licence&&"1"===l.has_licence&&"true"===l.is_pro}},{key:"maybe_show_mixed_cased_table_name_warning",value:function(){if(void 0!==wpmdb.common.connection_data&&!1!==wpmdb.common.connection_data){var e=wpmdb.functions.wpmdb_migration_type(),t=wpmdb.functions.get_tables_to_migrate(null,null);o(".mixed-case-table-name-notice").hide(),null!==t&&(t=t.join(""))!==t.toLowerCase()&&("1"===wpmdb.common.connection_data.lower_case_table_names||"push"!==e&&"savefile"!==e)&&("1"!==l.lower_case_table_names&&"pull"===e||("push"===e||"savefile"===e?o(".mixed-case-table-name-notice.push").show():o(".mixed-case-table-name-notice.pull").show()))}}},{key:"enable_pro_licence",value:function(e,t){o(".licence-input, .register-licence").remove(),o(".licence-not-entered").prepend(e.masked_licence),o(".support-content").empty().html("

    "+r.fetching_license+'

    '),this.check_licence(t),o(".migrate-selection label").removeClass("disabled"),o(".migrate-selection input").removeAttr("disabled")}},{key:"get_domain_name",value:function(e){return e.replace(/\/\/(.*)@/,"//").replace("http://","").replace("https://","").replace("www.","")}},{key:"update_domain_placeholder",value:function(e,t,i){var n=this.get_domain_name(t);return"completed"===i?e.replace(/\%s\s?/,""+n+" "):e.replace(/\%s(\S*)\s?/,""+n+"$1 ")}},{key:"get_migration_status_label",value:function(e,t,i){var n="",a="";switch(t){case"push":n=r.push_migration_label_migrating,a=r.push_migration_label_completed;break;case"pull":n=r.pull_migration_label_migrating,a=r.pull_migration_label_completed;break;case"find_replace":n=r.find_replace_label_migrating,a=r.find_replace_label_completed;break;case"savefile":n=r.exporting_please_wait,a=r.exporting_complete}var s=n;return"completed"===i&&(s=a),"push"!==t&&"pull"!==t||(s=this.update_domain_placeholder(s,e,i)),s=o.wpmdb.apply_filters("wpmdb_get_migration_status_label",s,{intent:t,stage:i})}},{key:"disable_export_type_controls",value:function(){o(".option-group").each(function(e){o("input",this).attr("disabled","disabled"),o("label",this).css("cursor","default")})}},{key:"enable_export_type_controls",value:function(){o(".option-group").each(function(e){o("input",this).removeAttr("disabled"),o("label",this).css("cursor","pointer")})}},{key:"set_slider_value",value:function(e,t,i,n){var a=t;void 0!==n&&(a=n),o(".slider",e).slider("value",parseInt(t)),o(".amount",e).html(wpmdb.functions.wpmdb_add_commas(a)+" "+i)}},{key:"set_pause_resume_button",value:function(e,t){!0===this.migration_paused?(this.migration_paused=!1,this.doing_ajax=!0,wpmdb.current_migration.setState(this.previous_progress_title,this.previous_progress_text_primary,"active"),o(".pause-resume").html(r.pause),wpmdb.current_migration.resumeTimer(),wpmdb.functions.execute_next_step(t)):(this.migration_paused=!0,this.doing_ajax=!1,this.paused_text=r.migration_paused,this.previous_progress_title=o(".progress-title").html(),this.previous_progress_text_primary=o(".progress-text",".progress-wrapper-primary").html(),this.previous_progress_text_secondary=o(".progress-text",".progress-wrapper-secondary ").html(),"find_replace"===this.migration_intent&&(this.paused_text=r.find_replace_paused),wpmdb.current_migration.setState(this.paused_text,r.completing_current_request,null),o("body").off("click",".pause-resume"),o("body").off("click",".cancel"))}},{key:"filter_temp_tables",value:function(e,t){var i=l.this_temp_prefix;return"pull"===wpmdb.functions.wpmdb_migration_type()&&void 0!==wpmdb.common.connection_data&&void 0!==wpmdb.common.connection_data.temp_prefix&&(i=wpmdb.common.connection_data.temp_prefix),i===t.substring(0,i.length)||e}},{key:"get_table_prefix",value:function(e,t){return o(".table-select-wrap .table-prefix").text()}},{key:"lock_replace_url",value:function(e){!0===e?(o('.replace-row.pin .replace-right-col input[type="text"]').attr("readonly","readonly"),o(".replace-row.pin .arrow-col").addClass("disabled")):(o('.replace-row.pin .replace-right-col input[type="text"]').removeAttr("readonly"),o(".replace-row.pin .arrow-col").removeClass("disabled"))}},{key:"set_connection_data",value:function(e){window.wpmdb.common.previous_connection_data=wpmdb.common.connection_data,window.wpmdb.common.connection_data=e,o.wpmdb.do_action("wpmdb_connection_data_updated",e)}},{key:"get_max_request_display_info",value:function(e){var t={unit:"MB"};return t.amount=(e/1024).toFixed(2),t}},{key:"establish_remote_connection_from_saved_profile",value:function(){var e=wpmdb.functions.wpmdb_migration_type(),t=o.trim(o(".pull-push-connection-info").val()).split("\n");if("undefined"!=typeof wpmdb_default_profile&&!0!==wpmdb_default_profile&&"savefile"!==e&&"find_replace"!==e&&"import"!==e&&!this.doing_ajax&&l.is_pro){this.doing_ajax=!0,this.disable_export_type_controls(),o(".connection-status").html(r.establishing_remote_connection),o(".connection-status").removeClass("notification-message error-notice migration-error"),o(".connection-status").append(this.ajax_spinner);var i=wpmdb.functions.wpmdb_migration_type(),n=this;o.ajax({url:s,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_verify_connection_to_remote_site",url:t[0],key:t[1],intent:i,nonce:l.nonces.verify_connection_to_remote_site,convert_post_type_selection:wpmdb_convert_post_type_selection,profile:l.profile},error:function(e,t,i){o(".connection-status").html(n.get_ajax_errors(e.responseText,"(#102)",e)),o(".connection-status").addClass("notification-message error-notice migration-error"),o(".ajax-spinner").remove(),n.doing_ajax=!1,n.enable_export_type_controls()},success:function(e){if(o(".ajax-spinner").remove(),n.doing_ajax=!1,n.enable_export_type_controls(),void 0!==e.wpmdb_error&&1===e.wpmdb_error)return o(".connection-status").html(e.body),o(".connection-status").addClass("notification-message error-notice migration-error"),void(e.body.indexOf("401 Unauthorized")>-1&&o(".basic-access-auth-wrapper").show());if(!0!==n.maybe_show_mst_warning(e)){n.maybe_show_ssl_warning(t[0],t[1],e.scheme),wpmdb.functions.maybe_show_prefix_notice(e.prefix),o(".pull-push-connection-info").addClass("temp-disabled"),o(".pull-push-connection-info").attr("readonly","readonly"),o(".connect-button").hide(),o(".connection-status").hide(),o(".step-two").show(),n.connection_established=!0,n.set_connection_data(e),n.move_connection_info_box(),n.maybe_show_mixed_cased_table_name_warning();var i="";!1===wpmdb_default_profile&&"undefined"!=typeof wpmdb_loaded_tables&&(i=wpmdb_loaded_tables),n.$pull_select=wpmdb.functions.create_table_select(wpmdb.common.connection_data.tables,wpmdb.common.connection_data.table_sizes_hr,i);var a="";!1===wpmdb_default_profile&&"undefined"!=typeof wpmdb_loaded_post_types&&(void 0!==e.select_post_types?(o("#exclude-post-types").attr("checked","checked"),o(".post-type-select-wrap").show(),a=e.select_post_types):a=wpmdb_loaded_post_types);var s=document.createElement("select");o(s).attr({multiple:"multiple",name:"select_post_types[]",id:"select-post-types",class:"multiselect"}),o.each(wpmdb.common.connection_data.post_types,function(e,t){var i=o.inArray(t,a);i=-1!==i||!0===wpmdb_convert_exclude_revisions&&"revision"!==t?' selected="selected" ':" ",o(s).append("'+t+"")}),n.$pull_post_type_select=s;var r="";!1===wpmdb_default_profile&&"undefined"!=typeof wpmdb_loaded_tables_backup&&(r=wpmdb_loaded_tables_backup);var c=document.createElement("select");o(c).attr({multiple:"multiple",name:"select_backup[]",id:"select-backup",class:"multiselect"}),o.each(wpmdb.common.connection_data.tables,function(e,t){var i=o.inArray(t,r);i=-1!==i?' selected="selected" ':" ",o(c).append("'+t+" ("+wpmdb.common.connection_data.table_sizes_hr[t]+")")}),n.$push_select_backup=c,"pull"===wpmdb.functions.wpmdb_migration_type()?(o.wpmdb.do_action("wpmdb_update_pull_table_select"),o("#select-post-types").remove(),o(".exclude-post-types-warning").after(n.$pull_post_type_select),o("#select-backup").remove(),o(".backup-tables-wrap").prepend(n.$pull_select_backup),o(".table-prefix").html(e.prefix),o(".uploads-dir").html(l.this_uploads_dir)):(o("#select-backup").remove(),o(".backup-tables-wrap").prepend(n.$push_select_backup)),o.wpmdb.do_action("verify_connection_to_remote_site",wpmdb.common.connection_data)}else o(".connection-status").hide()}})}}},{key:"migrate_table_recursive",value:function(e,t,i){var n=this,a=i||0;if(a>=this.tables_to_migrate.length)if("upload"===this.stage&&wpmdb.current_migration.model.getStageItems("find_replace").length)this.stage="find_replace",this.tables_to_migrate=wpmdb.current_migration.model.getStageItems("find_replace","name"),this.tables_to_migrate=this.tables_to_migrate.map(function(e){return"_mig_"+e}),a=0;else{if("backup"!==this.stage)return o(".progress-label").removeClass("label-visible"),wpmdb.common.hooks=o.wpmdb.apply_filters("wpmdb_before_migration_complete_hooks",wpmdb.common.hooks),wpmdb.common.hooks.push(wpmdb.functions.migration_complete),wpmdb.common.hooks.push(wpmdb.functions.wpmdb_flush),wpmdb.common.hooks=o.wpmdb.apply_filters("wpmdb_after_migration_complete_hooks",wpmdb.common.hooks),wpmdb.common.hooks.push(wpmdb.functions.migration_complete_events),wpmdb.common.next_step_in_migration={fn:wpmdb.functions.wpmdb_call_next_hook},void wpmdb.functions.execute_next_step();if(-1!==o.inArray(this.migration_intent,["push","pull"])?this.stage="migrate":"import"===this.migration_intent?this.stage="upload":this.stage=this.migration_intent,wpmdb.current_migration.model.setActiveStage(this.stage),"find_replace"!==this.stage&&"migrate"!==this.stage)return void wpmdb.functions.wpmdb_call_next_hook();a=0,this.tables_to_migrate=wpmdb.functions.get_tables_to_migrate(null,null)}var c=0;a===this.tables_to_migrate.length-1&&(c=1);var p=0;-1!==o.inArray(this.migration_intent,["push","pull"])&&1===parseInt(wpmdb.common.connection_data.gzip)&&(p=1);var m={action:"wpmdb_migrate_table",migration_state_id:wpmdb.migration_state_id,table:this.tables_to_migrate[a],stage:this.stage,current_row:e,last_table:c,primary_keys:t,gzip:p,nonce:l.nonces.migrate_table};-1!==o.inArray(this.migration_intent,["push","pull"])&&(m.bottleneck=wpmdb.common.connection_data.bottleneck,m.prefix=wpmdb.common.connection_data.prefix),wpmdb.common.connection_data&&wpmdb.common.connection_data.path_current_site&&wpmdb.common.connection_data.domain&&(m.path_current_site=wpmdb.common.connection_data.path_current_site,m.domain_current_site=wpmdb.common.connection_data.domain),this.doing_ajax=!0,o.ajax({url:s,type:"POST",dataType:"text",cache:!1,timeout:0,data:m,error:function(e,t,i){var o=r.table_process_problem+" "+n.tables_to_migrate[a]+"

    "+r.status+": "+e.status+" "+e.statusText+"

    "+r.response+":
    "+e.responseText;wpmdb.current_migration.setState(r.migration_failed,o,"error"),n.doing_ajax=!1,console.log(e),console.log(t),console.log(i),wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events()},success:function(e){n.doing_ajax=!1,e=o.trim(e);var t=wpmdb.functions.wpmdb_parse_json(e),i="";if(!1===t||null===t)return i=""===e||null===e?r.table_process_problem_empty_response+" "+n.tables_to_migrate[a]:n.get_ajax_errors(e,null,null),wpmdb.current_migration.setState(r.migration_failed,i,"error"),wpmdb.common.migration_error=!0,void wpmdb.functions.migration_complete_events();if(void 0!==t.wpmdb_error&&1===t.wpmdb_error)return wpmdb.current_migration.setState(r.migration_failed,t.body,"error"),wpmdb.common.migration_error=!0,void wpmdb.functions.migration_complete_events();var s=n.tables_to_migrate[a];"import"===n.migration_intent&&"find_replace"===n.stage&&(s=s.replace(l.this_temp_prefix,"")),wpmdb.current_migration.setText(),wpmdb.current_migration.model.getStageModel(n.stage).setItemRowsTransferred(s,t.current_row),1===c&&"savefile"===n.migration_intent&&(void 0!==t.dump_filename&&(n.dump_filename=t.dump_filename),void 0!==t.dump_path&&(n.dump_path=t.dump_path)),-1===parseInt(t.current_row)&&(a++,t.current_row="",t.primary_keys=""),wpmdb.common.next_step_in_migration={fn:wpmdb.functions.migrate_table_recursive,args:[t.current_row,t.primary_keys,a]},wpmdb.functions.execute_next_step()}})}},{key:"migration_complete_events",value:function(){if(!1===wpmdb.common.migration_error)if(""===wpmdb.common.non_fatal_errors)if("savefile"!==this.migration_intent&&!0===o("#save_computer").is(":checked")&&wpmdb.current_migration.setText(),this.completed_msg=this.completed_msg+' 
    ',!0===this.migration_cancelled){var e=r.migration_cancelled_success;"find_replace"===this.migration_intent&&(e=r.find_replace_cancelled_success),wpmdb.current_migration.setState(this.completed_msg,e,"cancelled")}else wpmdb.current_migration.setState(this.completed_msg,"","complete");else wpmdb.current_migration.setState(r.completed_with_some_errors,wpmdb.common.non_fatal_errors,"error");o(".migration-controls").addClass("hidden"),wpmdb.common.hooks=[],wpmdb.common.call_stack=[],wpmdb.common.migration_error=!1,this.currently_migrating=!1,this.migration_completed=!0,this.migration_paused=!1,this.migration_cancelled=!1,this.doing_ajax=!1,wpmdb.common.non_fatal_errors="",this.tables_to_migrate=[],o(".progress-label").remove(),o(".migration-progress-ajax-spinner").remove(),o(".close-progress-content").show(),o("#overlay").css("cursor","pointer"),wpmdb.current_migration.model.setMigrationComplete()}},{key:"migration_complete",value:function(){var e=this;if(o(".migration-controls").addClass("hidden"),"savefile"===this.migration_intent){this.currently_migrating=!1;var t=r.migration_complete;if(o("#save_computer").is(":checked")){var i=l.this_download_url+encodeURIComponent(this.dump_filename);o("#gzip_file").is(":checked")&&(i+="&gzip=1"),window.location=i}else t=r.completed_dump_located_at+" "+this.dump_path;!1===wpmdb.common.migration_error&&(wpmdb.functions.migration_complete_events(),wpmdb.current_migration.setState(this.completed_msg,t,"complete"))}else{wpmdb.current_migration.setState(null,r.finalizing_migration,"finalizing");var n={action:"wpmdb_finalize_migration",migration_state_id:wpmdb.migration_state_id,tables:this.tables_to_migrate.join(","),nonce:l.nonces.finalize_migration};-1!==o.inArray(this.migration_intent,["push","pull"])&&(n.prefix=wpmdb.common.connection_data.prefix),this.doing_ajax=!0,o.ajax({url:s,type:"POST",dataType:"text",cache:!1,data:n,error:function(t,i,n){e.doing_ajax=!1,wpmdb.current_migration.setState(r.migration_failed,r.finalize_tables_problem,"error"),alert(t+" : "+i+" : "+n),wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events()},success:function(t){if(e.doing_ajax=!1,"1"!==o.trim(t))return wpmdb.current_migration.setState(r.migration_failed,t,"error"),wpmdb.common.migration_error=!0,void wpmdb.functions.migration_complete_events();wpmdb.common.next_step_in_migration={fn:wpmdb.functions.wpmdb_call_next_hook},wpmdb.functions.execute_next_step()}})}}},{key:"wpmdb_flush",value:function(){var e=this;"savefile"!==this.migration_intent&&(wpmdb.current_migration.setText(r.flushing),this.doing_ajax=!0,o.ajax({url:s,type:"POST",dataType:"text",cache:!1,data:{action:"wpmdb_flush",migration_state_id:wpmdb.migration_state_id,nonce:l.nonces.flush},error:function(t,i,n){e.doing_ajax=!1,wpmdb.current_migration.setState(r.migration_failed,r.flush_problem,"error"),alert(t+" : "+i+" : "+n),wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events()},success:function(t){if(e.doing_ajax=!1,"1"!==o.trim(t))return wpmdb.current_migration.setState(r.migration_failed,t,"error"),wpmdb.common.migration_error=!0,void wpmdb.functions.migration_complete_events();wpmdb.common.next_step_in_migration={fn:wpmdb.functions.wpmdb_call_next_hook},wpmdb.functions.execute_next_step()}}))}},{key:"execute_next_step",value:function(){var e=this;if(0
    "+r.status+": "+t.status+" "+t.statusText+"

    "+r.response+":
    "+t.responseText,"error"),console.log(t),console.log(i),console.log(n),e.doing_ajax=!1,wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events()},success:function(t){if(e.doing_ajax=!1,t=o.trim(t),"push"===e.migration_intent&&"1"!==t||"push"!==e.migration_intent&&""!==t)return void 0!==t&&void 0!==t.wpmdb_error&&1===t.wpmdb_error&&(t=t.wpmdb_error),wpmdb.current_migration.setState(r.migration_cancellation_failed,t,"error"),wpmdb.common.migration_error=!0,void wpmdb.functions.migration_complete_events();e.completed_msg=r.migration_cancelled,"find_replace"===e.migration_intent&&(e.completed_msg=r.find_replace_cancelled),wpmdb.functions.migration_complete_events(),wpmdb.current_migration.setStatus("cancelled")}})}else wpmdb.common.next_step_in_migration.fn.apply(null,wpmdb.common.next_step_in_migration.args)}},{key:"maybe_show_prefix_notice",value:function(e){var t=o(".prefix-notice");t.hide(),e!==l.this_prefix&&(o(".remote-prefix").html(e),this.show_prefix_notice=!0,t.show())}},{key:"maybe_show_mst_warning",value:function(e){var t=wpmdb.functions.wpmdb_migration_type(),i=!1;return-1!==o.inArray(t,["push","pull"])&&void 0!==e.site_details?l.site_details.is_multisite!==e.site_details.is_multisite&&(void 0!==wpmdb.mst&&void 0!==e.mst_available&&"1"===e.mst_available||(i=!0)):"import"===t&&void 0!==e.multisite&&void 0!==e.subsite_export&&("false"===l.site_details.is_multisite&&"true"===e.multisite&&"true"!==e.subsite_export||"true"===l.site_details.is_multisite&&"false"===e.multisite)&&(i=!0),(i=o.wpmdb.apply_filters("wpmdb_show_mst_warning",i))&&o(".mst-required").show(),i}},{key:"maybe_show_select_table_notice",value:function(){if(o("#migrate-selected").is(":checked")&&null===o("#select-tables").val()){if("import"!==wpmdb.functions.wpmdb_migration_type())return alert(r.please_select_one_table),!0;if(o("#import-find-replace").is(":checked")&&o("#select-tables").is(":visible"))return alert(r.please_select_one_table_import),!0}return!("savefile"===wpmdb.functions.wpmdb_migration_type()||!o("#backup-manual-select").is(":checked")||null!==o("#select-backup").val())&&(alert(r.please_select_one_table_backup),!0)}},{key:"remove_protocol",value:function(e){return e.replace(/^https?:/i,"")}},{key:"create_table_select",value:function(e,t,i){var n=document.createElement("select");return o(n).attr({multiple:"multiple",name:"select_tables[]",id:"select-tables",class:"multiselect"}),0'+a+r+"")}}),n}},{key:"get_tables_to_migrate",value:function(){var e=[],t=wpmdb.functions.wpmdb_migration_type();return"migrate_select"===o("input[name=table_migrate_option]:checked").val()?e=o("#select-tables").val():"pull"!==t&&void 0!==l.this_prefixed_tables?e=l.this_prefixed_tables:"pull"===t&&void 0!==wpmdb.common.connection_data&&void 0!==wpmdb.common.connection_data.prefixed_tables&&(e=wpmdb.common.connection_data.prefixed_tables),e}},{key:"update_migrate_button_text",value:function(){var e=wpmdb.functions.wpmdb_migration_type(),t=o("#save-migration-profile").is(":checked")?"_save":"",i="migrate_button_"+("savefile"===e?"export":e)+t;o(".migrate-db .button-primary").val(r[i])}},{key:"connection_box_changed",value:function(){var e=this,t=o(".pull-push-connection-info");if(-1!==o.inArray(wpmdb.functions.wpmdb_migration_type(),["push","pull"])&&(!this.doing_ajax&&!o(t).hasClass("temp-disabled")||!1!==wpmdb.force_reconnect)){wpmdb.force_reconnect=!1;var i=o(".pull-push-connection-info").val(),n=o.trim(i).split("\n"),a=!1,c="";if(""===n&&(a=!0,c=r.connection_info_missing),1===n.length&&!a){var p=o.trim(i).split(" ");2===p.length&&(n=p)}2===n.length||a||(a=!0,c=r.connection_info_incorrect),a||this.validate_url(n[0])||(a=!0,c=r.connection_info_url_invalid);var m=0;if(void 0!==n[1]&&(m=n[1].length),a||32===m||40===m||(a=!0,c=r.connection_info_key_invalid),a||n[0]!==l.connection_info[0]||(a=!0,c=r.connection_info_local_url),a||n[1]!==l.connection_info[1]||(a=!0,c=r.connection_info_local_key),a)return o(".connection-status").html(c),void o(".connection-status").addClass("notification-message error-notice migration-error");var d=n[0]+"\n"+n[1];1===o.trim(i).split("\n").length&&o(".pull-push-connection-info").val(d),!1===l.openssl_available&&(n[0]=n[0].replace("https://","http://"),d=n[0]+"\n"+n[1],o(".pull-push-connection-info").val(d)),this.show_prefix_notice=!1,this.doing_ajax=!0,this.disable_export_type_controls(),o(".basic-access-auth-wrapper").is(":visible")&&(n[0]=n[0].replace(/\/\/(.*)@/,"//"),n[0]=n[0].replace("//","//"+encodeURIComponent(o.trim(o(".auth-username").val()))+":"+encodeURIComponent(o.trim(o(".auth-password").val()))+"@"),d=n[0]+"\n"+n[1],o(".pull-push-connection-info").val(d),o(".basic-access-auth-wrapper").hide()),o(".step-two").hide(),o(".ssl-notice").hide(),o(".prefix-notice").hide(),o(".connection-status").show(),o(".connection-status").html(r.establishing_remote_connection),o(".connection-status").removeClass("notification-message error-notice migration-error"),o(".connection-status").append(this.ajax_spinner);var _=wpmdb.functions.wpmdb_migration_type();return this.profile_name_edited=!1,o.ajax({url:s,type:"POST",dataType:"json",cache:!1,data:{action:"wpmdb_verify_connection_to_remote_site",url:n[0],key:n[1],intent:_,nonce:l.nonces.verify_connection_to_remote_site},error:function(t,i,n){o(".connection-status").html(e.get_ajax_errors(t.responseText,"(#100)",t)),o(".connection-status").addClass("notification-message error-notice migration-error"),o(".ajax-spinner").remove(),e.doing_ajax=!1,e.enable_export_type_controls()},success:function(t){if(o(".ajax-spinner").remove(),e.doing_ajax=!1,e.enable_export_type_controls(),void 0!==t.wpmdb_error&&1===t.wpmdb_error)return o(".connection-status").html(t.body),o(".connection-status").addClass("notification-message error-notice migration-error"),t.body.indexOf("401 Unauthorized")>-1&&o(".basic-access-auth-wrapper").show(),void(o(".pull-push-connection-info").hasClass("temp-disabled")||o(".connect-button").is(":visible")||(o(".pull-push-connection-info").removeAttr("readonly"),o(".connect-button").show()));if(!0!==e.maybe_show_mst_warning(t)){e.maybe_show_ssl_warning(n[0],n[1],t.scheme);var i=e.get_domain_name(t.url);o(".create-new-profile").val(i),o(".pull-push-connection-info").addClass("temp-disabled"),o(".pull-push-connection-info").attr("readonly","readonly"),o(".connect-button").hide(),o(".connection-status").hide(),o(".step-two").show(),wpmdb.functions.maybe_show_prefix_notice(t.prefix),e.connection_established=!0,e.set_connection_data(t),e.move_connection_info_box(),e.change_replace_values(),e.maybe_show_mixed_cased_table_name_warning(),e.refresh_table_selects(null,null,e),e.$push_select_backup=o(e.$pull_select).clone(),o(e.$push_select_backup).attr({name:"select_backup[]",id:"select-backup"});var a=document.createElement("select");o(a).attr({multiple:"multiple",name:"select_post_types[]",id:"select-post-types",class:"multiselect"}),o.each(wpmdb.common.connection_data.post_types,function(e,t){o(a).append('")}),e.$pull_post_type_select=a,o("#new-path-missing-warning, #new-url-missing-warning").hide(),"pull"===wpmdb.functions.wpmdb_migration_type()?(o("#new-url").val(e.remove_protocol(l.this_url)),o("#new-path").val(l.this_path),"true"===l.is_multisite&&(o("#new-domain").val(l.this_domain),o('.replace-row.pin .old-replace-col input[type="text"]').val(e.remove_protocol(t.url))),o("#old-url").val(e.remove_protocol(t.url)),o("#old-path").val(t.path),o.wpmdb.do_action("wpmdb_update_pull_table_select"),o("#select-post-types").remove(),o(".exclude-post-types-warning").after(e.$pull_post_type_select),wpmdb.functions.exclude_post_types_warning(),o(".table-prefix").html(t.prefix),o(".backup-table-prefix").html(l.site_details.prefix),o(".uploads-dir").html(l.this_uploads_dir)):(o("#new-url").val(e.remove_protocol(t.url)),o("#new-path").val(t.path),"true"===l.is_multisite&&o('.replace-row.pin .old-replace-col input[type="text"]').val(e.remove_protocol(l.this_url)),o.wpmdb.do_action("wpmdb_update_push_table_select"),o("#select-backup").remove(),o(".backup-tables-wrap").prepend(e.$push_select_backup)),wpmdb.common.next_step_in_migration={fn:o.wpmdb.do_action,args:["verify_connection_to_remote_site",wpmdb.common.connection_data]},wpmdb.functions.execute_next_step()}else o(".connection-status").hide()}})}}}]),e}();t.default=c},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.handleAjaxError=function(e,t){var i="\n\t\t\t

    "+wpmdb_strings.ajax_php_errors+":

    \n\t\t\t

    "+t.message+"

    \n\t";wpmdb.current_migration.setState(e,i,"error"),wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events(),console.error("🚨 🚒",t)},t.throwMDBError=function(e){var t=void 0;throw void 0!==e.body&&(wpmdb.common.non_fatal_errors+=e.body,t=e.body),void 0!==e.msg&&(t=e.msg),new Error(t)},t.jQueryAjaxError=function(e,t){return void 0!==t.responseText&&""!==t.responseText?e=t.responseText:void 0!==t.statusText&&(e=t.statusText),console.error(t),wpmdb.current_migration.setState(wpmdb_strings.migration_failed,e,"error"),wpmdb.common.migration_error=!0,wpmdb.functions.migration_complete_events(),e},t.doNextStep=function(e,t,i){return wpmdb.common.next_step_in_migration={fn:e,args:t},wpmdb.functions.execute_next_step(i)}},function(e,t,i){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=jQuery,o=i(0),s=i(2),r=a('
    '),l=a(".progress-content").clone().addClass("hide"),c=a(".pro-version").addClass("hide");r.append(c);var p={migration:{model:{},view:{},$progress:{},$wrapper:{},$overlay:{},status:"active",title:"",text:"",timerCount:0,timerStart:0,elapsedInterval:0,currentStageNum:0,counterDisplay:!1,originalTitle:document.title,setTitle:function(e){this.$progress.find(".progress-title").html(e),this.title=e},setStatus:function(e){this.$progress.removeClass(this.status).addClass("error"===e?"wpmdb-error":e),"error"===e&&this.$progress.find(".progress-text").addClass("migration-error"),this.status=e,this.updateTitleElem()},setText:function(e){"string"!=typeof e&&(e=""),0>=e.indexOf("wpmdb_error")&&(e=this.decodeErrorObject(e)),this.$progress.find(".progress-text").html(e),this.text=e},setState:function(e,t,i){null!==e&&this.setTitle(e),null!==t&&this.setText(t),null!==i&&this.setStatus(i)},startTimer:function(){this.timerStart=Date.now(),this.timerCount=0,this.counterDisplay=a(".timer"),this.elapsedInterval=setInterval(this.incrementTimer.bind(this),1e3)},getTimerCountInSeconds:function(){return Math.floor((Date.now()-this.timerStart)/1e3)},pauseTimer:function(){this.pausedAt=Date.now(),clearInterval(this.elapsedInterval)},resumeTimer:function(){this.timerStart+=Date.now()-this.pausedAt,this.elapsedInterval=setInterval(this.incrementTimer.bind(this),1e3)},incrementTimer:function(){this.timerCount=this.getTimerCountInSeconds(),this.displayCount()},displayCount:function(){var e=Math.floor(this.timerCount/3600)%24,t=Math.floor(this.timerCount/60)%60,i=this.timerCount%60,n=this.pad(e,2,0)+":"+this.pad(t,2,0)+":"+this.pad(i,2,0);this.counterDisplay.html(n)},updateTitleElem:function(){var e=this.model.get("activeStageName"),t=this.model.getStageModel(e),i=Math.max(0,t.getTotalProgressPercent()),n=this.model.get("stages").length,a=this.currentStageNum,o=this.status,s=wpmdb_strings.title_progress;"complete"===t.get("status")&&0===t.get("totalSize")&&(i=100),s=(s=(s=s.replace("%1$s",i+"%")).replace("%2$s",a)).replace("%3$s",n),1===n&&(s=i+"%"),wpmdb_strings["title_"+o]&&(s=wpmdb_strings["title_"+o]),s=s+" - "+this.originalTitle,document.title=s},restoreTitleElem:function(){document.title=this.originalTitle},pad:function(e,t,i){return i=i||"0",(e+="").length>=t?e:new Array(t-e.length+1).join(i)+e},decodeErrorObject:function(e){var t=e.replace(/\{"/g,"{#q!#").replace(/\"}/g,"#q!#}").replace(/,"/g,",#q!#").replace(/":/g,"#q!#:").replace(/:"/g,":#q!#").replace(/"/g,'\\"').replace(/#q!#/g,'"').replace(/>/g,">").replace(/</g,"<");try{t=JSON.parse(t)}catch(t){return e}return"object"===(void 0===t?"undefined":n(t))&&void 0!==t.body?t:e},fixProgressStageWidthForScrollBar:function(){var e=Math.abs(this.$wrapper[0].offsetWidth-this.$wrapper[0].clientWidth),t=this.$wrapper.find(".active .progress-items"),i=parseInt(t.css("padding-left"),10),n=parseInt(t.css("padding-right"),10);(0!==e||0===e&&n!==i)&&t.css("padding-right",i-e+"px")}},newMigration:function(e){a("#overlay").remove(),a(".progress-content").remove(),this.migration.$overlay=r.clone(),a("#wpwrap").append(this.migration.$overlay),this.migration.model=new o(e),this.migration.view=new s({model:this.migration.model}),this.migration.$progress=l.clone(),this.migration.$wrapper=this.migration.view.$el,this.migration.$progress.find(".migration-progress-stages").replaceWith(this.migration.$wrapper),this.migration.$proVersion=this.migration.$overlay.find(".pro-version");var t=this.migration.$proVersion.find("iframe").remove().clone();this.migration.$overlay.prepend(this.migration.$progress);var i=this;return setTimeout(function(){i.migration.$overlay.add(i.migration.$progress).add(i.migration.$proVersion).removeClass("hide").addClass("show"),i.migration.$proVersion.length&&setTimeout(function(){i.migration.$proVersion.find(".iframe").append(t)},500)},0),this.migration.currentStageNum=0,this.migration.$proVersion.on("click",".close-pro-version",function(){i.migration.$proVersion.find("iframe").remove(),i.migration.$proVersion.addClass("hide remove"),setTimeout(function(){i.migration.$proVersion.remove()},500)}),this.migration.model.on("migrationComplete",function(){i.utils.updateProgTableVisibilitySetting(),i.utils.updatePauseBeforeFinalizeSetting(),i.migration.pauseTimer()}),a(window).on("resize",_.debounce(this.migration.fixProgressStageWidthForScrollBar.bind(this.migration),100)),this.migration.model.on("change:activeStage",this.migration.fixProgressStageWidthForScrollBar.bind(this.migration)),this.migration},utils:i(4)};e.exports=p},function(e,t){window.jQuery;jQuery(function(){jQuery(".wpmdb-opt-usage-tracking").on("click",function(e){e.preventDefault();var t=!!e.target.classList.contains("opt-yes");jQuery(".wpmdb-usage-tracking-notice .links").text(t?"Thanks!":"Done."),jQuery(".wpmdb-usage-tracking-notice").delay(1e3).fadeOut(200);var i=jQuery("#allow_tracking-wrap");if(t){if(!i.hasClass("on"))return void i.trigger("click")}else if(i.hasClass("on"))return void i.trigger("click");i.find("input[type=checkbox]").trigger("change")})})},function(e,t){window.jQuery},function(e,t){window.jQuery},function(e,t){window.jQuery},function(e,t){window.jQuery}]); -//# sourceMappingURL=bundle-103.js.map \ No newline at end of file diff --git a/asset/build/js/bundle-103.js.map b/asset/build/js/bundle-103.js.map deleted file mode 100644 index 06196c0..0000000 --- a/asset/build/js/bundle-103.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 105f76a700956bc2f959","webpack:///./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgress-model.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgressStage-model.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgress-view.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgressStage-view.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgress-utils.js","webpack:///./src/wp-migrate-db-pro/asset/webpack.index.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/helpers/wpmdbCommon.js","webpack:///./src/wp-migrate-db-pro/asset/src ./node_modules/imports-loader","webpack:///./src/wp-migrate-db-pro/asset/src/js/dismissable-notices.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/helpers/events.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/helpers/utils.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/helpers/wpmdbGlobals.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/hook.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/import.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/localStorage.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgress-controller.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/multisite.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/plugin-update.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/script.js","webpack:///./src/wp-migrate-db-pro/asset/src/js/usage-tracking-notice.js","webpack:///./src/wp-migrate-db-pro/asset/src/sass/_migration-progress.scss","webpack:///./src/wp-migrate-db-pro/asset/src/sass/_progress-upgrade.scss","webpack:///./src/wp-migrate-db-pro/asset/src/sass/plugin-update-styles.scss","webpack:///./src/wp-migrate-db-pro/asset/src/sass/styles.scss"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","MigrationProgressStageModel","$","jQuery","MigrationProgressModel","Backbone","Model","extend","defaults","_initialStages","stages","activeStageName","stageModels","localTableRows","localTableSizes","remoteTableRows","remoteTableSizes","migrationStatus","migrationIntent","initialize","this","set","_","each","stage","items","dataType","addStage","itemsArr","item","size","rows","push","_typeof","addStageModel","trigger","on","getStageModel","addStageItem","displayName","arguments","length","undefined","addItem","newStageModel","getStageItems","map","setActiveStage","setStageComplete","wpmdb","current_migration","currentStageNum","setMigrationComplete","lastStage","activateTab","MigrationProgressStage","status","_initialItems","names","lookupItems","totalSize","totalTransferred","itemsComplete","itemsCompleteArr","strings","initStrings","slice","triggerItemViewInit","updateTitleElem","default_strings","stage_title","migrated","wpmdb_strings","queued","active","running","complete","hide","show","itemsName","tables","items_migrated","hide_items","show_items","indexOf","stageName","transferred","rowsTransferred","title","$title","createTitleElem","addClass","append","text","functions","convertKBSizeToHRFixed","progress","$progress","createProgElem","prog","css","el","$el","createMainElem","attr","updateProgress","percent","window","requestAnimationFrame","bind","parseFloat","self","getTotalSizeTransferred","countItemsComplete","getTotalProgressPercent","total","Math","min","round","model","setItemComplete","itemName","getItemByName","setItemPercentTransferred","percentTransferred","batchSize","folderTransferred","exactPercent","total_transferred","setItemRowsTransferred","numRows","amtDone","estTransferred","parseInt","determineItemByName","index","MigrationProgressStageView","MigrationProgressView","View","tagName","className","id","empty","stageModel","addStageView","newStageSubView","parent","find","$tabElem","$totalProgressElem","$showHideTablesElem","$pauseBeforeFinalizeElem","$pauseBeforeFinalizeCheckbox","$itemsContainer","itemViews","maxDomNodes","visibleDomNodes","itemCount","percentDone","sizeDone","tablesDone","queuedElements","$truncationNotice","$truncationNoticeHiddenItems","shouldHideItemProgress","initTotalProgressElem","view","after","initTabElem","maybeAddElementToView","updateProgressElem","updateStageTotals","e","removeClass","setItemProgress","siblings","initShowHideTablesElem","initPauseBeforeFinalizeElem","progTablesHidden","hasClass","add","Boolean","wpmdb_data","prog_tables_hidden","prog_tables_visibility_changed","triggerHandler","isChecked","pause_before_finalize","prop","inArray","pause_before_finalize_find_replace","pauseBeforeFinalizeValue","is","pause_before_finalize_changed","max","fadeOut","width","wpmdb_add_commas","toLowerCase","hideItemProgress","updateTruncationNotice","showTruncationNotice","hiddenItemsCount","progress_items_truncated_msg","replace","getNextElementForView","queueItem","shift","ceil","elemComplete","$nextEl","height","marginBottom","$clone","clone","display","appendTo","setTimeout","timeout","remove","last","updateProgTableVisibilitySetting","ajax","url","ajaxurl","type","cache","data","action","nonce","nonces","save_setting","setting","checked","error","jqXHR","textStatus","errorThrown","console","log","updatePauseBeforeFinalizeSetting","common","hooks","call_stack","non_fatal_errors","migration_error","_wpmdbCommon2","default","require","keys","forEach","file","includes","importAll","WPMDBCommon","_classCallCheck","val","func","number_string","number_parts","split","integer","decimal","rgx","test","maybe_json","json_object","parseJSON","code","jsonErrors","html","wpmdb_parse_json","ajax_json_message","originalText","ajax_json_errors","view_error_messages","statusText","response","str","delimiter","String","RegExp","table_prefix","desired_table","given_table","escaped_given_table","preg_quote","exec","table_name","escaped_table_name","results","dec","kbSize","retArray","retVal","units","toFixed","abs","u","pow","hrSizeArray","convertKBSizeToHR","callback","ele","notice","reminder","beforeSend","spinner_url","devicePixelRatio","excluded_post_types","excluded_post_types_text","$exclude_post_types_warning","join","opacity","slideDown","animate","slideUp","./js/dismissable-notices.js","./js/helpers/events.js","./js/helpers/utils.js","./js/helpers/wpmdbCommon.js","./js/helpers/wpmdbGlobals.js","./js/hook.js","./js/import.js","./js/localStorage.js","./js/modules/MigrationProgress-controller.js","./js/modules/MigrationProgress-model.js","./js/modules/MigrationProgress-utils.js","./js/modules/MigrationProgress-view.js","./js/modules/MigrationProgressStage-model.js","./js/modules/MigrationProgressStage-view.js","./js/multisite.js","./js/plugin-update.js","./js/script.js","./js/usage-tracking-notice.js","./sass/_migration-progress.scss","./sass/_progress-upgrade.scss","./sass/plugin-update-styles.scss","./sass/styles.scss","webpackContext","req","webpackContextResolve","Error","resolve","prev","click","preventDefault","ajax_handle_dismissible_notice","wpmdb_nonces","process_notice_link","closest","fn","bindFirst","bindNth","changeEventOrder","newIndex","that","idx","handlers","_data","splice","pop","handleAjaxError","header_text","errorTemplate","ajax_php_errors","message","setState","migration_complete_events","throwMDBError","parsed_response","error_body","body","msg","jQueryAjaxError","responseText","migration_failed","doNextStep","args","instance","next_step_in_migration","execute_next_step","WPMDBGlobals","show_ssl_notice","doing_save_profile","doing_ajax","profile_name_edited","migration_intent","doing_licence_registration_ajax","migration_paused","last_replace_switch","wpmdb_migration_type","connection_established","checked_licence","show_prefix_notice","force_reconnect","migration_selection","show_version_notice","migration_completed","currently_migrating","dump_filename","dump_path","remote_site","secret_key","form_data","elapsed_interval","completed_msg","tables_to_migrate","previous_progress_title","previous_progress_text_primary","previous_progress_text_secondary","cancelling_text","paused_text","migration_cancelled","flag_skip_delay","delay_between_requests","fade_duration","is_auto_pause_before_finalize","$connection_info_box","$push_select","$pull_select","$push_post_type_select","$pull_post_type_select","$push_select_backup","$pull_select_backup","get_spinner_url","ajax_spinner","z","Array","arr1","arr2","v","r","pin","parents","wpmdbGetAjaxErrors","connection_local_server_problem","get_log","alert","update_log_problem","success","location","search","decodeURIComponent","key","remote_scheme","scheme","substr","$ssl_notice","this_tables","this_table_sizes_hr","create_table_select","connection_data","table_sizes_hr","profile","_this","blur","maybe_show_select_table_notice","create_new_profile","profile_name","elements","not","serialize","save_profile","save_profile_problem","removeAttr","saved","updated_profile_id","new_profile_key","new_profile_id","new_li","document","createTextNode","before","updated_url","href","updated_profile_name","trim","history","pushState","$crumbs","this_plugin_base","prepend","event","cancelling_migration","visibility","cancelling_find_replace","completing_current_request","checkbox_wrap","$switch","$checkbox","toggleClass","switch_on","backup_table_prefix","uploads_dir","upload_dir_long","write_permission","$connection_status","$directory_permission_notice","$compatibility_older_mysql","$mst_required","$keep_active_plugins","$step_two","$backup_options","new_migration_type","wpmdb_toggle_migration_action_text","do_action","migration_type","last_migration_type","$pull_push_connection_info","connection_info","$migration_list_li","connection_textarea","focus","connection_box_changed","prefix","site_details","this_uploads_dir","this_upload_dir_long","this_prefix","write_permissions","maybe_show_backup_disabled_msg","get_domain_name","is_multisite","$old_replace_col","eq","maybe_show_mixed_cased_table_name_warning","upload_dir","$create_backup","$create_backup_label","$backup_option_disabled","old_url","old_path","previous_connection_data","remove_protocol","path","old_val","exclude_post_types_warning","hash","skip_addons_check","should_check_licence","check_licence","refresh_debug_log","$proVersion","licence","update_licence_content","context","license_check_problem","licence_msg","support_msg","addons_msg","$support_content","$addons_content","$licence_content","dbrains_api_down","errors","subscription_expired","support","addons","addon_content","stop","fadeIn","has_licence","is_pro","get_tables_to_migrate","lower_case_table_names","licence_key","masked_licence","fetching_license","label","domain","intent","migrating_stage_label","completed_stage_label","push_migration_label_migrating","push_migration_label_completed","pull_migration_label_migrating","pull_migration_label_completed","find_replace_label_migrating","find_replace_label_completed","exporting_please_wait","exporting_complete","update_domain_placeholder","apply_filters","parent_selector","value","unit","display_value","slider","pause","resumeTimer","find_replace_paused","off","exclude","temp_prefix","this_temp_prefix","substring","lock","display_info","amount","wpmdb_default_profile","disable_export_type_controls","establishing_remote_connection","verify_connection_to_remote_site","convert_post_type_selection","wpmdb_convert_post_type_selection","get_ajax_errors","enable_export_type_controls","wpmdb_error","maybe_show_mst_warning","maybe_show_ssl_warning","maybe_show_prefix_notice","set_connection_data","move_connection_info_box","loaded_tables","wpmdb_loaded_tables","loaded_post_types","wpmdb_loaded_post_types","select_post_types","$post_type_select","createElement","multiple","class","post_types","selected","wpmdb_convert_exclude_revisions","loaded_tables_backup","wpmdb_loaded_tables_backup","$table_select_backup","current_row","primary_keys","iterator","_this2","table","migration_complete","wpmdb_flush","wpmdb_call_next_hook","last_table","gzip","request_data","migration_state_id","migrate_table","bottleneck","path_current_site","domain_current_site","progress_text","table_process_problem","row_information","error_text","table_process_problem_empty_response","item_name","setText","migrate_table_recursive","cancel_success","migration_cancelled_success","find_replace_cancelled_success","completed_with_some_errors","_this3","migrate_complete_text","this_download_url","encodeURIComponent","completed_dump_located_at","finalizing_migration","finalize_migration","finalize_tables_problem","_this4","flushing","flush","flush_problem","_this5","pauseTimer","pause_text","paused_before_finalize","find_replace_paused_before_finalize","paused","set_pause_resume_button","cancel_migration","resume","progress_msg","removing_local_sql","removing_local_backup","removing_local_temp_tables","removing_remote_sql","removing_remote_temp_tables","migration_cancellation_failed","manually_remove_temp_files","find_replace_cancelled","setStatus","apply","$prefix_notice","show_mst_warning","mst","mst_available","multisite","subsite_export","please_select_one_table","please_select_one_table_import","please_select_one_table_backup","selected_tables","$table_select","mig_type","this_prefixed_tables","prefixed_tables","save_string","migrate_string","_this6","$this","error_message","connection_info_missing","connection_words","connection_info_incorrect","validate_url","connection_info_url_invalid","key_length","connection_info_key_invalid","connection_info_local_url","connection_info_local_key","new_connection_info_contents","openssl_available","change_replace_values","refresh_table_selects","this_url","this_path","this_domain","filter","add_action","callable","tag","add_hook","add_filter","do_hook","remove_action","remove_hook","remove_filter","hook_type","import_selected","$import_select","tables_to_search","tables_to_import","unrecognized_import_file","import_prefix","import_info","maybe_show_find_replace_options","find_replace_rows","import_label_completed","import_label_migrating","$import_file_status","import_profile_loaded","please_select_sql_file","upload_file_recursive","change","tables_to_backup","upload","migrate_button_import","searched","migrate_button_find_replace","files","target","reader","FileReader","$backup_selected_option","$unrecognized_file_notice","$old_url","$old_path","$new_url","$new_path","invalid_sql_file","parsing_sql_file","onloadend","readyState","DONE","file_data","result","import_file","localStorage_form_data","get_localStorage_form_data","URL","select_tables","remove_localStorage_form_data","opt","blob","readAsDataURL","start","getElementById","next_slice","file_type","size_done","uploading_file_to_server","upload_import_successful","migration_text","importing_file_to_db","import_size","num_chunks","import_file_recursive","import_filename","chunk","current_query","table_sizes","startsWith","alter_table_name","table_rows","table_migrate_option","imported_table","get_tables_to_import","ready","localStorage_available","localStorage","setItem","removeItem","maybe_reload_page","set_localStorage_form_data","reload","serializeArray","field","field_name","JSON","stringify","getItem","parse","err","load_data_from_localStorage","$input","input_type","next","when","done","select_backup","replace_old","replace_new","update_migrate_button_text","$overlayOriginal","$progressContentOriginal","MigrationProgressController","migration","$wrapper","$overlay","timerCount","timerStart","elapsedInterval","counterDisplay","originalTitle","setTitle","decodeErrorObject","startTimer","Date","now","setInterval","incrementTimer","getTimerCountInSeconds","floor","pausedAt","clearInterval","displayCount","hours","minutes","seconds","pad","activeStage","numStages","currentStage","currentStatus","progressText","title_progress","restoreTitleElem","num","padChar","input","inputDecoded","fixProgressStageWidthForScrollBar","scrollBarWidth","offsetWidth","clientWidth","visibleProgressItems","leftPad","rightPad","newMigration","settings","replaceWith","proVersionIFrame","utils","debounce","update_multiselect","element","subsites","selected_subsite_ids","site_selected","blog_id","subsite_path","spinner","doing_check_licence","insertAfter","check_again_link","wpmdb_update_strings","check_license_again","_utils","globals","_wpmdbGlobals2","migration_progress_controller","onbeforeunload","returnValue","sure","run_fn","install","$status","toggle","plugin_compatibility","plugin_compatibility_settings_problem","navigator","userAgent","valid_licence","max_request_size_container","max_request_size_slider","range","max_request","step","create","ui","get_max_request_display_info","set_slider_value","slide","max_request_size","update_max_request_size","max_request_size_problem","delay_between_requests_container","delay_between_requests_slider","update_delay_between_requests","delay_between_requests_problem","$container","$viewer","offset","scrollTop","top","children","establish_remote_connection_from_saved_profile","keypress","which","$licence_status","activate_licence","register_license_problem","enable_pro_licence","Number","is_first_activation","welcome_text","this_plugin_url","welcome_title","license_registered","delay","enter_license_key","clear_log","clear_log_problem","clear_error_log","multiselect","group","new_url_missing","new_file_path_missing","save_active_profile","this_table_sizes","this_table_rows","backup_option","table_option","data_type","get_intersect","backed_up","static_migration_label","get_migration_status_label","initiate_migration","local","remote","hide_overlay","enter_name_for_profile","icon","bubble","position","bubble_offset","left","stopPropagation","switch_to_plugin_tab","tab_name","nav_tab","$parent_tr","prev_id","original_value","new_value_input","sortable","handle","get_query_var","lines","originalEvent","clipboardData","setData","confirm","reset_api_key","doing_reset_api_key_ajax","reset_api_key_problem","$connection_info","two_lines","one_line","select","execCommand","$confirmation","doing_plugin_compatibility_ajax","select_element","whitelist_plugins","blacklist_problem","remove_profile","$profile_li","$new_profile_li","profile_id","delete_migration_profile","remove_profile_problem","remove_profile_not_found","change_connection_info","enter_connection_info","save_settings_problem","submit","new_contents","copying_license","copy_licence_to_remote_site","attempting_to_activate_licence","reactivate_licence","activate_licence_problem","wpmdb_dbrains_api_down","temporarily_activated_licence","licence_reactivated","get_table_prefix","lock_replace_url","pin_replace_url","set_checkbox","is_beta_plugins_installed","rollback_beta_to_stable","rollback_to_stable_url","optIn","classList","contains"],"mappings":"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","file":"wp-migrate-db-pro/free/../asset/build/js/bundle-103.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 105f76a700956bc2f959","var MigrationProgressStageModel = require( './MigrationProgressStage-model' );\nvar $ = jQuery;\n\nvar MigrationProgressModel = Backbone.Model.extend( {\n\tdefaults: {\n\t\t_initialStages: null,\n\t\tstages: null,\n\t\tactiveStageName: null,\n\t\tstageModels: null,\n\t\tlocalTableRows: null,\n\t\tlocalTableSizes: null,\n\t\tremoteTableRows: null,\n\t\tremoteTableSizes: null,\n\t\tmigrationStatus: 'active',\n\t\tmigrationIntent: 'savefile'\n\t},\n\tinitialize: function() {\n\t\tthis.set( 'stageModels', {} );\n\t\tthis.set( '_initialStages', this.get( 'stages' ) );\n\t\tthis.set( 'stages', [] );\n\t\t_.each( this.get( '_initialStages' ), function( stage, items, dataType ) {\n\t\t\tthis.addStage( stage.name, items, dataType );\n\t\t}, this );\n\t},\n\taddStage: function( name, items, dataType, extend ) {\n\t\tvar itemsArr = [];\n\t\tvar stage;\n\n\t\t_.each( items, function( item ) {\n\t\t\tvar size, rows;\n\n\t\t\tif ( 'remote' === dataType ) {\n\t\t\t\tsize = this.get( 'remoteTableSizes' )[ item ];\n\t\t\t\trows = this.get( 'remoteTableRows' )[ item ];\n\t\t\t} else {\n\t\t\t\tsize = this.get( 'localTableSizes' )[ item ];\n\t\t\t\trows = this.get( 'localTableRows' )[ item ];\n\t\t\t}\n\n\t\t\titemsArr.push( {\n\t\t\t\tname: item,\n\t\t\t\tsize: size,\n\t\t\t\trows: rows\n\t\t\t} );\n\t\t}, this );\n\n\t\tstage = {\n\t\t\tname: name,\n\t\t\titems: itemsArr,\n\t\t\tdataType: dataType\n\t\t};\n\n\t\tif ( 'object' === typeof extend ) {\n\t\t\tstage = $.extend( stage, extend );\n\t\t}\n\n\t\tthis.addStageModel( stage );\n\n\t\tthis.trigger( 'stage:added', this.get( 'stageModels' )[ name ] );\n\t\tthis.get( 'stageModels' )[ name ].on( 'change', function() {\n\t\t\tthis.trigger( 'change' );\n\t\t}, this );\n\n\t\treturn this.getStageModel( stage.name );\n\t},\n\taddStageItem: function( stage, name, size, rows, displayName = '' ) {\n\t\tthis.getStageModel( stage ).addItem( name, size, rows, displayName );\n\t},\n\taddStageModel: function( stage ) {\n\t\tvar stages = this.get( 'stages' );\n\t\tvar stageModels = this.get( 'stageModels' );\n\t\tvar newStageModel = new MigrationProgressStageModel( stage );\n\n\t\tstages.push( stage );\n\t\tstageModels[ stage.name ] = newStageModel;\n\n\t\tthis.set( 'stages', stages );\n\t\tthis.set( 'stageModels', stageModels );\n\t},\n\tgetStageModel: function( name ) {\n\t\treturn this.get( 'stageModels' )[ name ];\n\t},\n\tgetStageItems: function( stage, map ) {\n\t\tvar stageModel = this.getStageModel( stage );\n\t\tvar items = stageModel.get( 'items' );\n\n\t\tif ( undefined === map ) {\n\t\t\treturn items;\n\t\t} else {\n\t\t\treturn items.map( function( item ) {\n\t\t\t\treturn item[ map ];\n\t\t\t} );\n\t\t}\n\t},\n\tsetActiveStage: function( stage ) {\n\t\tthis.setStageComplete();\n\t\tthis.set( 'activeStageName', stage );\n\t\tthis.getStageModel( stage ).set( 'status', 'active' );\n\t\tthis.trigger( 'change:activeStage' );\n\t},\n\tsetStageComplete: function( stage ) {\n\t\tif ( ! stage ) {\n\t\t\tstage = this.get( 'activeStageName' );\n\t\t}\n\t\tif ( null !== stage ) {\n\t\t\tthis.getStageModel( stage ).set( 'status', 'complete' );\n\t\t}\n\n\t\twpmdb.current_migration.currentStageNum = wpmdb.current_migration.currentStageNum + 1;\n\t},\n\tsetMigrationComplete: function() {\n\t\tvar lastStage = this.getStageModel( this.get( 'activeStageName' ) );\n\t\tthis.setStageComplete();\n\t\tthis.trigger( 'migrationComplete' );\n\t\tthis.set( 'migrationStatus', 'complete' );\n\t\tlastStage.activateTab();\n\t}\n} );\n\nmodule.exports = MigrationProgressModel;\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgress-model.js","var $ = jQuery;\nvar MigrationProgressStage = Backbone.Model.extend( {\n\tdefaults: {\n\t\tstatus: 'queued',\n\t\t_initialItems: null,\n\t\titems: null,\n\t\tnames: null,\n\t\tlookupItems: null,\n\t\ttotalSize: 0,\n\t\ttotalTransferred: 0,\n\t\tdataType: 'local',\n\t\tname: '',\n\t\titemsComplete: 0,\n\t\titemsCompleteArr: [],\n\t\tstrings: null\n\t},\n\tinitialize: function() {\n\t\tthis.initStrings();\n\n\t\tthis.set( '_initialItems', this.get( 'items' ).slice() );\n\t\tthis.set( 'items', [] );\n\t\tthis.set( 'names', [] );\n\t\tthis.set( 'lookupItems', {} );\n\t\tthis.set( 'itemsCompleteArr', [] );\n\n\t\t_.each( this.get( '_initialItems' ), function( item ) {\n\t\t\tthis.addItem( item.name, item.size, item.rows );\n\t\t}, this );\n\n\t\tthis.on( 'view:initialized', this.triggerItemViewInit );\n\n\t\tthis.on( 'change', function() {\n\t\t\twpmdb.current_migration.updateTitleElem();\n\t\t} );\n\t},\n\tinitStrings: function() {\n\t\tvar default_strings = {\n\t\t\tstage_title: this.get( 'name' ),\n\t\t\tmigrated: wpmdb_strings.migrated,\n\t\t\tqueued: wpmdb_strings.queued,\n\t\t\tactive: wpmdb_strings.running,\n\t\t\tcomplete: wpmdb_strings.complete,\n\t\t\thide: wpmdb_strings.hide,\n\t\t\tshow: wpmdb_strings.show,\n\t\t\titemsName: wpmdb_strings.tables\n\t\t};\n\t\tvar strings = this.get( 'strings' );\n\n\t\tstrings = ('object' === typeof strings) ? strings : {};\n\t\tstrings = $.extend( default_strings, strings );\n\n\t\tstrings.items_migrated = strings.itemsName + ' ' + strings.migrated;\n\t\tstrings.hide_items = strings.hide + ' ' + strings.itemsName;\n\t\tstrings.show_items = strings.show + ' ' + strings.itemsName;\n\n\t\tthis.set( 'strings', strings );\n\t},\n\taddItem: function( name, size, rows, displayName ) {\n\t\tvar items = this.get( 'items' );\n\t\tvar names = this.get( 'names' );\n\t\tif ( ~names.indexOf( name ) ) {\n\t\t\treturn;\n\t\t}\n\t\tnames.push( name );\n\t\tvar item = {\n\t\t\tname: name,\n\t\t\tsize: size,\n\t\t\trows: rows || size,\n\t\t\tstageName: this.get( 'name' ),\n\t\t\ttransferred: 0,\n\t\t\trowsTransferred: 0,\n\t\t\tcomplete: false,\n\n\t\t\ttitle: null,\n\t\t\tget $title() {\n\t\t\t\treturn this.title || this.createTitleElem()\n\t\t\t},\n\t\t\tset $title( title ) {\n\t\t\t\tthis.title = title\n\t\t\t},\n\t\t\tcreateTitleElem: function() {\n\t\t\t\tthis.title = $( '

    ' ).addClass( 'item-info' )\n\t\t\t\t\t.append( $( '' ).text( this.displayName || this.name ) )\n\t\t\t\t\t.append( ' ' )\n\t\t\t\t\t.append( $( '' ).text( '(' + wpmdb.functions.convertKBSizeToHRFixed( item.size ) + ')' ) );\n\t\t\t\treturn this.title\n\t\t\t},\n\n\t\t\tprogress: null,\n\t\t\tget $progress() {\n\t\t\t\treturn this.progress || this.createProgElem()\n\t\t\t},\n\t\t\tset $progress( prog ) {\n\t\t\t\tthis.progress = prog\n\t\t\t},\n\t\t\tcreateProgElem: function() {\n\t\t\t\tthis.progress = $( '

    ' ).css( 'width', '0%' );\n\t\t\t\treturn this.progress;\n\t\t\t},\n\n\t\t\tel: null,\n\t\t\tget $el() {\n\t\t\t\treturn this.el || this.createMainElem()\n\t\t\t},\n\t\t\tset $el( el ) {\n\t\t\t\tthis.el = el\n\t\t\t},\n\t\t\tcreateMainElem: function() {\n\t\t\t\tthis.el = $( '
    ' );\n\t\t\t\tthis.el.append( this.$title );\n\t\t\t\tthis.el.append( this.$progress );\n\t\t\t\tthis.el.append( '' );\n\t\t\t\tthis.el.attr( 'id', 'item-' + this.name );\n\t\t\t\tthis.el.attr( 'data-stage', this.stageName );\n\t\t\t\treturn this.el;\n\t\t\t},\n\n\t\t\tupdateProgress( percent ) {\n\t\t\t\tvar $progress = this.$progress;\n\t\t\t\twindow.requestAnimationFrame( function() {\n\t\t\t\t\t$progress.css( 'width', percent + '%' )\n\t\t\t\t}.bind( this ) );\n\t\t\t},\n\n\t\t};\n\n\t\t// Only add the displayName if it's not empty\n\t\tif ( 'undefined' !== typeof(displayName) && displayName.length ) {\n\t\t\titem.displayName = displayName;\n\t\t}\n\n\t\titems.push( item );\n\n\t\tthis.get( 'lookupItems' )[ name ] = items.length - 1;\n\n\t\tthis.set( 'totalSize', parseFloat( this.get( 'totalSize' ) ) + parseFloat( size ) );\n\t\tthis.trigger( 'item:added', item );\n\t},\n\ttriggerItemViewInit: function() {\n\t\tvar items = this.get( 'items' );\n\t\tvar self = this;\n\t\t_.each( items, function( item ) {\n\t\t\tself.trigger( 'item:added', item );\n\t\t} );\n\t},\n\tgetTotalSizeTransferred: function() {\n\t\treturn this.get( 'totalTransferred' );\n\t},\n\tcountItemsComplete: function() {\n\t\treturn this.get( 'itemsComplete' );\n\t},\n\tgetTotalProgressPercent: function() {\n\t\tvar transferred = this.getTotalSizeTransferred();\n\t\tvar total = this.get( 'totalSize' );\n\t\tif ( 0 >= transferred || 0 >= total ) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst percent_transferred = Math.min( 100, Math.round( (transferred / total) * 100 ) );\n\t\treturn percent_transferred;\n\t},\n\tactivateTab: function() {\n\t\tthis.trigger( 'activateTab' );\n\t\twpmdb.current_migration.model.trigger( 'change:activeStage' );\n\t},\n\tsetItemComplete: function( itemName ) {\n\n\t\t// Guard: return if item has already been set complete\n\t\tvar itemsCompleteArr = this.get( 'itemsCompleteArr' );\n\t\tif ( ~itemsCompleteArr.indexOf( itemName ) ) {\n\t\t\treturn;\n\t\t}\n\t\titemsCompleteArr.push( itemName );\n\n\t\tvar item = this.getItemByName( itemName );\n\t\tvar totalTransferred = this.get( 'totalTransferred' );\n\t\tvar itemsComplete = this.get( 'itemsComplete' );\n\n\t\tthis.set( 'itemsComplete', ++itemsComplete );\n\n\t\ttotalTransferred += item.size - item.transferred;\n\t\tthis.set( 'totalTransferred', totalTransferred );\n\n\t\titem.transferred = item.size;\n\t\titem.complete = true;\n\t\titem.rowsTransferred = item.rows;\n\n\t\tthis.trigger( 'change change:items', item );\n\t},\n\tsetItemPercentTransferred( itemName, percentTransferred, batchSize, folderTransferred ) {\n\t\tlet item = this.getItemByName( itemName );\n\t\tlet transferred = batchSize / 1000;\n\n\t\tif ( 1 === percentTransferred ) {\n\t\t\titem.complete = true;\n\t\t\titem.transferred = transferred;\n\t\t\tlet itemsComplete = this.get( 'itemsComplete' );\n\t\t\tthis.set( 'itemsComplete', ++itemsComplete );\n\t\t\tthis.trigger( 'change change:items', item );\n\t\t}\n\t\titem.transferred = folderTransferred / 1000;\n\t\titem.exactPercent = percentTransferred;\n\t\tlet total_transferred = this.get( 'totalTransferred' );\n\t\ttotal_transferred += transferred;\n\n\t\tthis.set( 'totalTransferred', total_transferred );\n\t\tthis.trigger( 'change change:items', item );\n\t},\n\tsetItemRowsTransferred: function( itemName, numRows ) {\n\t\tvar amtDone, estTransferred;\n\t\tvar item = this.getItemByName( itemName );\n\t\tvar totalTransferred = this.get( 'totalTransferred' );\n\n\t\tif ( -1 === parseInt( numRows ) ) {\n\t\t\tamtDone = 1;\n\t\t} else {\n\t\t\tamtDone = Math.min( 1, numRows / item.rows );\n\t\t}\n\n\t\tif ( 1 === amtDone ) {\n\t\t\tthis.setItemComplete( itemName );\n\t\t\treturn;\n\t\t}\n\n\t\testTransferred = item.size * amtDone;\n\n\t\ttotalTransferred += estTransferred - item.transferred;\n\t\tthis.set( 'totalTransferred', totalTransferred );\n\n\t\titem.transferred = estTransferred;\n\t\titem.rowsTransferred = numRows;\n\t\tthis.trigger( 'change change:items', item );\n\t},\n\tgetItemByName: function( itemName ) {\n\t\tvar item = this.get( 'items' )[ this.get( 'lookupItems' )[ itemName ] ] || {};\n\t\tif ( itemName === item.name ) {\n\t\t\treturn item;\n\t\t} else {\n\t\t\treturn this.determineItemByName( itemName );\n\t\t}\n\t},\n\tdetermineItemByName: function( itemName ) {\n\t\tvar items = this.get( 'items' );\n\t\tfor ( var index = 0; index < items.length; index++ ) {\n\t\t\tvar item = items[ index ];\n\t\t\tif ( itemName === item.name ) {\n\t\t\t\tthis.get( 'lookupItems' ).itemName = index;\n\t\t\t\treturn item;\n\t\t\t}\n\t\t}\n\t}\n} );\n\nmodule.exports = MigrationProgressStage;\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgressStage-model.js","var MigrationProgressStageView = require( './MigrationProgressStage-view.js' );\nvar $ = jQuery;\n\nvar MigrationProgressView = Backbone.View.extend( {\n\ttagName: 'div',\n\tclassName: 'migration-progress-stages',\n\tid: 'migration-progress-stages',\n\tself: this,\n\tinitialize: function() {\n\t\tthis.$el.empty();\n\n\t\tthis.model.on( 'stage:added', function( stageModel ) {\n\t\t\tthis.addStageView( stageModel );\n\t\t}, this );\n\n\t\t_.each( this.model.get( 'stageModels' ), this.addStageView, this );\n\t},\n\taddStageView: function( stageModel ) {\n\t\tvar newStageSubView = new MigrationProgressStageView( {\n\t\t\tmodel: stageModel\n\t\t} );\n\t\tstageModel.trigger( 'view:initialized', newStageSubView );\n\t\tthis.$el.append( newStageSubView.$el );\n\t\tthis.$el.parent().find( '.stage-tabs' ).append( newStageSubView.$tabElem );\n\t}\n} );\n\nmodule.exports = MigrationProgressView;\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgress-view.js","var $ = jQuery;\n\nvar MigrationProgressStageView = Backbone.View.extend( {\n\ttagName: 'div',\n\tclassName: 'migration-progress-stage-container hide-tables',\n\t$totalProgressElem: null,\n\t$tabElem: null,\n\t$showHideTablesElem: null,\n\t$pauseBeforeFinalizeElem: null,\n\t$pauseBeforeFinalizeCheckbox: null,\n\t$itemsContainer: null,\n\titemViews: null,\n\tmaxDomNodes: 140,\n\tvisibleDomNodes: 0,\n\titemCount: 0,\n\tpercentDone: 0,\n\tsizeDone: 0,\n\ttablesDone: 0,\n\tqueuedElements: null,\n\t$truncationNotice: null,\n\t$truncationNoticeHiddenItems: null,\n\tshouldHideItemProgress: false,\n\tinitialize: function() {\n\t\tthis.$el.empty();\n\t\tthis.$el.attr( 'data-stage', this.model.get( 'name' ) ).addClass( 'queued ' + this.model.get( 'name' ) );\n\n\t\tthis.queuedElements = [];\n\n\t\tthis.initTotalProgressElem();\n\t\twpmdb.current_migration.view.$el.parent().find( '.stage-tabs' ).after( this.$totalProgressElem );\n\n\t\tthis.$itemsContainer = $( '
    ' );\n\t\tthis.$el.append( this.$itemsContainer );\n\n\t\tthis.initTabElem();\n\n\t\tthis.model.on( 'item:added', this.maybeAddElementToView, this );\n\n\t\t_.each( this.model.get( 'itemModels' ), this.maybeAddElementToView, this );\n\t\tthis.model.on( 'change', function() {\n\t\t\tthis.updateProgressElem();\n\t\t\tthis.updateStageTotals();\n\t\t}, this );\n\n\t\tthis.model.on( 'change:status', function( e ) {\n\t\t\tthis.$el.removeClass( 'queued active' ).addClass( this.model.get( 'status' ) );\n\t\t\tthis.$totalProgressElem.removeClass( 'queued active' ).addClass( this.model.get( 'status' ) );\n\t\t\tthis.$tabElem.removeClass( 'queued active' ).addClass( this.model.get( 'status' ) )\n\t\t\t\t.find( '.stage-status' ).text( this.model.get( 'strings' )[ this.model.get( 'status' ) ] );\n\t\t}, this );\n\n\t\tthis.model.on( 'change:items', function( item ) {\n\t\t\tif ( item.name ) {\n\t\t\t\tthis.setItemProgress( item );\n\t\t\t}\n\t\t}, this );\n\n\t\tthis.model.on( 'activateTab', function() {\n\t\t\tif ( 'complete' === wpmdb.current_migration.model.get( 'migrationStatus' ) ) {\n\t\t\t\tthis.$totalProgressElem.addClass( 'active' ).siblings().removeClass( 'active' );\n\t\t\t\tthis.$tabElem.addClass( 'active' ).siblings().removeClass( 'active' );\n\t\t\t\tthis.$el.addClass( 'active' ).siblings().removeClass( 'active' );\n\t\t\t}\n\t\t}, this );\n\t},\n\tinitTotalProgressElem: function() {\n\t\tthis.initShowHideTablesElem();\n\t\tthis.initPauseBeforeFinalizeElem();\n\n\t\tthis.$totalProgressElem = $( '
    ' )\n\t\t\t.append( '0% ' + this.model.get( 'strings' ).complete + ' ' )\n\t\t\t.append( '(0 MB / 0 MB) ' )\n\t\t\t.append( '0 of 0 ' + this.model.get( 'strings' ).items_migrated + '' )\n\t\t\t.append( this.$showHideTablesElem )\n\t\t\t.append( '
    ' );\n\n\t\tthis.updateStageTotals();\n\t},\n\tinitShowHideTablesElem: function() {\n\t\tthis.$showHideTablesElem = $( '' ).text( this.model.get( 'strings' ).show_items );\n\t\tvar self = this;\n\t\tthis.$showHideTablesElem.on( 'click show-hide-progress-tables', function() {\n\t\t\tvar progTablesHidden;\n\t\t\tif ( self.$el.hasClass( 'hide-tables' ) ) { // show tables\n\t\t\t\tprogTablesHidden = false;\n\t\t\t\tself.$el.add( self.$el.siblings() ).removeClass( 'hide-tables' );\n\t\t\t\tself.$showHideTablesElem.text( self.model.get( 'strings' ).hide_items );\n\t\t\t} else { // hide tables\n\t\t\t\tprogTablesHidden = true;\n\t\t\t\tself.$el.add( self.$el.siblings() ).addClass( 'hide-tables' );\n\t\t\t\tself.$showHideTablesElem.text( self.model.get( 'strings' ).show_items );\n\t\t\t}\n\n\t\t\tif ( Boolean( progTablesHidden ) !== Boolean( wpmdb_data.prog_tables_hidden ) ) {\n\t\t\t\twpmdb_data.prog_tables_visibility_changed = true;\n\t\t\t\twpmdb_data.prog_tables_hidden = progTablesHidden;\n\t\t\t}\n\t\t} );\n\n\t\t// show progress tables on init if hidden is false\n\t\tif ( !wpmdb_data.prog_tables_hidden ) {\n\t\t\tthis.$showHideTablesElem.triggerHandler( 'show-hide-progress-tables' );\n\t\t}\n\n\t\t// make sure text reflects current state when showing\n\t\tthis.model.on( 'change:status activateTab', function() {\n\t\t\tif ( wpmdb_data.prog_tables_hidden ) {\n\t\t\t\tself.$showHideTablesElem.text( self.model.get( 'strings' ).show_items );\n\t\t\t} else {\n\t\t\t\tself.$showHideTablesElem.text( self.model.get( 'strings' ).hide_items );\n\t\t\t}\n\t\t} );\n\t},\n\tinitPauseBeforeFinalizeElem: function() {\n\t\tthis.$pauseBeforeFinalizeElem = $( '.pause-before-finalize' );\n\t\tthis.$pauseBeforeFinalizeCheckbox = this.$pauseBeforeFinalizeElem.find( 'input[type=checkbox]' );\n\t\tvar self = this;\n\t\tvar isChecked = false;\n\t\tvar migrationIntent = wpmdb.current_migration.model.get( 'migrationIntent' );\n\n\t\t// make sure checkbox is checked based on current state\n\t\tif ( wpmdb_data.pause_before_finalize ) {\n\t\t\tisChecked = true;\n\t\t}\n\t\tthis.$pauseBeforeFinalizeCheckbox.prop( 'checked', isChecked );\n\n\t\t// only display on certain migrations\n\t\tif ( -1 !== $.inArray( migrationIntent, [ 'push', 'pull', 'find_replace', 'import' ] ) ) {\n\t\t\tif ( 'find_replace' === migrationIntent ) {\n\t\t\t\t$( '#pause-before-finalize-label' ).text( wpmdb_strings.pause_before_finalize_find_replace );\n\t\t\t}\n\t\t\tthis.$pauseBeforeFinalizeElem.show();\n\t\t} else {\n\t\t\tthis.$pauseBeforeFinalizeElem.hide();\n\t\t}\n\n\t\t// hide on media stage\n\t\twpmdb.current_migration.model.on( 'change:activeStage', function() {\n\t\t\tif ( -1 !== $.inArray( wpmdb.current_migration.model.get( 'activeStageName' ), [\n\t\t\t\t'media',\n\t\t\t\t'themes',\n\t\t\t\t'plugins'\n\t\t\t] ) ) {\n\t\t\t\tself.$pauseBeforeFinalizeElem.hide();\n\t\t\t}\n\t\t} );\n\n\t\tthis.$pauseBeforeFinalizeElem.on( 'click', function() {\n\t\t\tvar pauseBeforeFinalizeValue = Boolean( self.$pauseBeforeFinalizeCheckbox.is( ':checked' ) );\n\t\t\tif ( pauseBeforeFinalizeValue !== Boolean( wpmdb_data.pause_before_finalize ) ) {\n\t\t\t\twpmdb_data.pause_before_finalize_changed = true;\n\t\t\t\twpmdb_data.pause_before_finalize = pauseBeforeFinalizeValue;\n\t\t\t}\n\t\t} );\n\t},\n\tinitTabElem: function() {\n\t\tvar self = this;\n\t\tthis.$tabElem = $( '' )\n\t\t\t.append( '' + this.model.get( 'strings' ).stage_title + ' ' )\n\t\t\t.append( '' + this.model.get( 'strings' ).queued + ' ' )\n\t\t\t.on( 'click', function() {\n\t\t\t\tself.model.activateTab();\n\t\t\t} );\n\t},\n\tupdateProgressElem: function() {\n\t\tvar percentDone = Math.max( 0, this.model.getTotalProgressPercent() );\n\t\tvar sizeDone = wpmdb.functions.convertKBSizeToHRFixed( Math.min( this.model.getTotalSizeTransferred(), this.model.get( 'totalSize' ) ) );\n\t\tvar tablesDone = Math.min( this.model.countItemsComplete(), this.model.get( 'items' ).length );\n\n\t\tif ( 'complete' === this.model.get( 'status' ) && 0 === this.model.get( 'totalSize' ) ) {\n\t\t\tpercentDone = 100;\n\t\t\tthis.$showHideTablesElem.fadeOut();\n\t\t}\n\n\t\tif ( percentDone !== this.percentDone ) {\n\t\t\tthis.percentDone = percentDone;\n\t\t\tthis.$totalProgressElem.find( '.percent-complete' ).text( percentDone );\n\t\t\tthis.$totalProgressElem.find( '.progress-bar-wrapper .progress-bar' ).css( { width: percentDone + '%' } );\n\t\t}\n\t\tif ( sizeDone != this.sizeDone ) {\n\t\t\tthis.sizeDone = sizeDone;\n\t\t\tthis.$totalProgressElem.find( '.size-complete' ).text( sizeDone );\n\t\t}\n\t\tif ( tablesDone != this.tablesDone ) {\n\t\t\tthis.tablesDone = tablesDone;\n\t\t\tthis.$totalProgressElem.find( '.items-complete' ).text( wpmdb.functions.wpmdb_add_commas( tablesDone ) );\n\t\t}\n\t},\n\tupdateStageTotals: function( itemCount ) {\n\t\titemCount = itemCount || this.model.get( 'items' ).length;\n\t\tif ( itemCount === this.itemCount ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.itemCount = itemCount;\n\t\tthis.$totalProgressElem.find( '.items-total' ).text( wpmdb.functions.wpmdb_add_commas( itemCount ) );\n\t\tthis.$totalProgressElem.find( '.size-total' ).text( wpmdb.functions.convertKBSizeToHRFixed( this.model.get( 'totalSize' ) ) );\n\n\t\tif ( !this.shouldHideItemProgress && 500 < itemCount ) {\n\t\t\tlet stageName = this.model.get( 'name' ).toLowerCase();\n\t\t\tif ( 'themes' == stageName || 'plugins' === stageName ) {\n\t\t\t\tthis.hideItemProgress();\n\t\t\t}\n\t\t}\n\t},\n\thideItemProgress: function() {\n\t\tif ( this.shouldHideItemProgress ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.shouldHideItemProgress = true;\n\t\tthis.$itemsContainer.empty();\n\t\tif ( this.$showHideTablesElem ) {\n\t\t\tthis.$showHideTablesElem.hide();\n\t\t}\n\t},\n\tmaybeAddElementToView: function( item ) {\n\t\tvar maxDomNodes = this.shouldHideItemProgress ? 0 : this.maxDomNodes;\n\t\tif ( this.visibleDomNodes < maxDomNodes ) {\n\t\t\t++this.visibleDomNodes;\n\t\t\tthis.$itemsContainer.append( item.$el );\n\t\t} else {\n\t\t\tthis.queuedElements.push( item );\n\t\t\tif ( !this.$truncationNotice ) {\n\t\t\t\tthis.showTruncationNotice();\n\t\t\t} else {\n\t\t\t\tthis.updateTruncationNotice();\n\t\t\t}\n\t\t}\n\t},\n\tshowTruncationNotice: function() {\n\t\tif ( this.$truncationNotice ) {\n\t\t\treturn;\n\t\t}\n\t\tvar hiddenItemsCount = this.shouldHideItemProgress ? this.model.get( 'items' ).length : this.queuedElements.length;\n\t\tthis.$truncationNotice = $( '
    ' + wpmdb_strings.progress_items_truncated_msg.replace( '%1$s', '' + wpmdb.functions.wpmdb_add_commas( hiddenItemsCount ) + '' ) + '
    ' );\n\t\tthis.$truncationNoticeHiddenItems = this.$truncationNotice.find( '.hidden-items' );\n\t\tthis.$itemsContainer.after( this.$truncationNotice );\n\t},\n\tupdateTruncationNotice: function() {\n\t\tvar hiddenItemsCount = this.shouldHideItemProgress ? this.model.get( 'items' ).length : this.queuedElements.length;\n\t\tthis.$truncationNoticeHiddenItems.text( wpmdb.functions.wpmdb_add_commas( hiddenItemsCount ) );\n\t},\n\tgetNextElementForView: function( $el ) {\n\t\tvar queueItem;\n\n\t\tif ( this.shouldHideItemProgress ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( this.queuedElements.length ) {\n\t\t\tif ( $el ) {\n\t\t\t\tthis.queuedElements.push( $el );\n\t\t\t}\n\t\t\tqueueItem = this.queuedElements.shift();\n\t\t\tif ( queueItem instanceof $ ) {\n\t\t\t\t$el = queueItem;\n\t\t\t} else {\n\t\t\t\t$el = queueItem.$el;\n\t\t\t}\n\t\t}\n\t\treturn $el;\n\t},\n\tsetItemProgress: function( item ) {\n\t\tvar percentDone = Math.min( 100, Math.ceil( 100 * (item.transferred / item.size) ) );\n\n\t\tif ( item.hasOwnProperty( 'exactPercent' ) ) {\n\t\t\tpercentDone = 100 * item.exactPercent;\n\t\t}\n\n\t\tif ( 0 === item.size ) {\n\t\t\tpercentDone = 100;\n\t\t}\n\n\t\titem.updateProgress( percentDone )\n\t\tif ( 100 <= percentDone || 0 === item.size ) {\n\t\t\tthis.elemComplete( item );\n\t\t}\n\t},\n\telemComplete: function( item ) {\n\t\tif ( this.shouldHideItemProgress ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar $el = item.$el.addClass( 'complete' );\n\n\t\t// skip moving item to end of list if there's only one item in the list\n\t\tvar numItems = this.model.get( 'items' ).length;\n\t\tif ( 1 === numItems ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar $nextEl = this.getNextElementForView( $el );\n\n\t\tvar height = $el.height();\n\t\tvar marginBottom = $el.css( 'margin-bottom' );\n\n\t\tvar $clone = false;\n\t\tif ( $nextEl === $el ) {\n\t\t\t$clone = $nextEl.clone().css( {\n\t\t\t\theight: 0,\n\t\t\t\tmarginBottom: 0,\n\t\t\t\tdisplay: 'block'\n\t\t\t} ).addClass( 'clone complete' );\n\t\t\t$clone.appendTo( this.$itemsContainer );\n\t\t}\n\t\t$el.css( { height: height, marginBottom: marginBottom } );\n\n\t\tsetTimeout( function() {\n\t\t\t$el.css( { height: 0, marginBottom: 0 } );\n\n\t\t\tvar timeout = 0;\n\t\t\tif ( $clone ) {\n\t\t\t\ttimeout = 250;\n\t\t\t\t$clone.css( { height: height, marginBottom: marginBottom } );\n\t\t\t\t$clone.find('.progress-bar').addClass('progress-bar-no-transition').css({width: '100%'});\n\t\t\t}\n\t\t\t\n\t\t\tsetTimeout( function() {\n\t\t\t\t$el.css( { display: 'none' } );\n\t\t\t\t$el.remove();\n\t\t\t\t$clone && $clone.remove();\n\n\t\t\t\tthis.$itemsContainer.find( '.item-progress:not(.clone)' ).last().after( $nextEl.css( {\n\t\t\t\t\theight: 'auto',\n\t\t\t\t\tmarginBottom: marginBottom,\n\t\t\t\t\tdisplay: 'block'\n\t\t\t\t} ) );\n\t\t\t}.bind( this ), timeout );\n\n\t\t}.bind( this ), 1000 );\n\n\t}\n} );\n\nmodule.exports = MigrationProgressStageView;\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgressStage-view.js","var $ = jQuery;\n\nmodule.exports = {\n\tupdateProgTableVisibilitySetting: function() {\n\t\tif ( ! wpmdb_data.prog_tables_visibility_changed ) {\n\t\t\treturn;\n\t\t}\n\t\twpmdb_data.prog_tables_visibility_changed = false;\n\n\t\t$.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tdataType: 'text',\n\t\t\tcache: false,\n\t\t\tdata: {\n\t\t\t\taction: 'wpmdb_save_setting',\n\t\t\t\tnonce: wpmdb_data.nonces.save_setting,\n\t\t\t\tsetting: 'prog_tables_hidden',\n\t\t\t\tchecked: Boolean( wpmdb_data.prog_tables_hidden )\n\t\t\t},\n\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\tconsole.log( 'Could not save progress item visibility setting', errorThrown );\n\t\t\t}\n\t\t} );\n\t},\n\tupdatePauseBeforeFinalizeSetting: function() {\n\t\tif ( ! wpmdb_data.pause_before_finalize_changed ) {\n\t\t\treturn;\n\t\t}\n\t\twpmdb_data.pause_before_finalize_changed = false;\n\n\t\t$.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tdataType: 'text',\n\t\t\tcache: false,\n\t\t\tdata: {\n\t\t\t\taction: 'wpmdb_save_setting',\n\t\t\t\tnonce: wpmdb_data.nonces.save_setting,\n\t\t\t\tsetting: 'pause_before_finalize',\n\t\t\t\tchecked: Boolean( wpmdb_data.pause_before_finalize )\n\t\t\t},\n\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\tconsole.log( 'Could not save pause before finalize setting', errorThrown );\n\t\t\t}\n\t\t} );\n\t}\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgress-utils.js","import WPMDBCommon from './src/js/helpers/wpmdbCommon';\n\nwindow.wpmdb = {\n\tfunctions : {},\n\tcommon : {\n\t\thooks: [],\n\t\tcall_stack: [],\n\t\tnon_fatal_errors: '',\n\t\tmigration_error: false\n\t}\n};\n\nwpmdb.functions = new WPMDBCommon();\n\nfunction importAll( require ) {\n\trequire.keys().forEach( function( file ) {\n\t\tif ( !file.includes( 'wpmdbCommon.js' ) ) {\n\t\t\trequire( file );\n\t\t}\n\t} );\n}\n\nimportAll( \n\trequire.context( \n\t\t'imports-loader?$=>window.jQuery!./src', true, /^(.*\\.(js|sass|scss$))/im\n\t)\n );\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/webpack.index.js","/**\n * Wrapper for wpmdb.functions, assigned in Webpack entry file\n */\nexport default class WPMDBCommon {\n\tconstructor() {}\n\t/**\n\t * Toggle proper translated strings based on migration type selected.\n\t *\n\t * To show the properly translated strings for the selected push or pull\n\t * migration type, we need to hide all strings then show the right\n\t * translated strings based on the migration type selected.\n\t *\n\t * @see https://github.com/deliciousbrains/wp-migrate-db-pro/issues/764\n\t *\n\t * @return void\n\t */\n\twpmdb_toggle_migration_action_text() {\n\t\tjQuery( '.action-text' ).hide();\n\t\tjQuery( '.action-text.' + jQuery( 'input[name=action]:checked' ).val() ).show();\n\t}\n\n\t/**\n\t * Return the currently selected migration type selected.\n\t *\n\t * @return string Will return `push`, `pull`, `savefile`, or `` for exporting as a file.\n\t */\n\twpmdb_migration_type() {\n\t\tvar action = jQuery( 'input[name=action]:checked' );\n\t\tif ( 0 === action.length ) {\n\t\t\treturn '';\n\t\t}\n\t\treturn action.val();\n\t}\n\n\n\twpmdb_call_next_hook( ) {\n\t\tconst wpmdb = window.wpmdb;\n\t\tif ( !wpmdb.common.call_stack.length ) {\n\t\t\twpmdb.common.call_stack = wpmdb.common.hooks;\n\t\t}\n\n\t\tvar func = wpmdb.common.call_stack[ 0 ];\n\t\twpmdb.common.call_stack.shift();\n\t\tfunc.call( this );\n\t}\n\n\twpmdb_add_commas( number_string ) {\n\t\tnumber_string += '';\n\t\tvar number_parts = number_string.split( '.' );\n\t\tvar integer = number_parts[ 0 ];\n\t\tvar decimal = 1 < number_parts.length ? '.' + number_parts[ 1 ] : '';\n\t\tvar rgx = /(\\d+)(\\d{3})/;\n\t\twhile ( rgx.test( integer ) ) {\n\t\t\tinteger = integer.replace( rgx, '$1' + ',' + '$2' );\n\t\t}\n\t\treturn integer + decimal;\n\t}\n\n\twpmdb_parse_json( maybe_json ) {\n\t\tvar json_object = {};\n\t\ttry {\n\t\t\tjson_object = jQuery.parseJSON( maybe_json );\n\t\t}\n\t\tcatch ( e ) {\n\n\t\t\t// We simply return false here because the json data itself will never just contain a value of \"false\"\n\t\t\treturn false;\n\t\t}\n\t\treturn json_object;\n\t}\n\n\t/**\n\t * Global error method for detecting PHP or other errors in AJAX response\n\t *\n\t * @param title - the error title if not a PHP error\n\t * @param code - the error code if not a PHP error\n\t * @param text - the AJAX response text to sniff for errors\n\t * @param jqXHR - optional AJAX object used to enrich the error message\n\t *\n\t * @returns {string} - html error string with view error toggle element\n\t */\n\twpmdbGetAjaxErrors( title, code, text, jqXHR ) {\n\t\tvar jsonErrors = false;\n\t\tvar html = '';\n\n\t\tvar validJson = this.wpmdb_parse_json( text );\n\t\tif ( false === validJson ) {\n\t\t\tjsonErrors = true;\n\t\t\ttitle = wpmdb_strings.ajax_json_message;\n\t\t\tcode = '(#144)';\n\t\t\tvar originalText = text;\n\t\t\ttext = wpmdb_strings.ajax_json_errors + ' ' + code;\n\t\t\ttext += '
    ' + wpmdb_strings.view_error_messages + ' ';\n\t\t\ttext += '
    ' + originalText + '
    ';\n\t\t}\n\n\t\t// Only add local connection issue if php errors (#144) or jqXHR has been provided\n\t\tif ( jsonErrors || 'undefined' !== jqXHR ) {\n\t\t\thtml += '' + title + '' + ' — ';\n\t\t}\n\n\t\t// Only add extra error details if not php errors (#144) and jqXHR has been provided\n\t\tif ( !jsonErrors && 'undefined' !== jqXHR ) {\n\t\t\thtml += wpmdb_strings.status + ': ' + jqXHR.status + ' ' + jqXHR.statusText;\n\t\t\thtml += '

    ' + wpmdb_strings.response + ':
    ';\n\t\t}\n\n\t\t// Add code to the end of the error text if not json errors\n\t\tif ( !jsonErrors ) {\n\t\t\ttext += ' ' + code;\n\t\t}\n\n\t\t// Finally add the error message to the output\n\t\thtml += text;\n\n\t\treturn html;\n\t}\n\n\t/**\n\t * @TODO convert to functions object\n\t * @param str\n\t * @param delimiter\n\t * @returns {string}\n\t */\n\tpreg_quote( str, delimiter ) {\n\n\t\t// discuss at: http://phpjs.org/functions/preg_quote/\n\t\t// original by: booeyOH\n\t\t// improved by: Ates Goral (http://magnetiq.com)\n\t\t// improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n\t\t// improved by: Brett Zamir (http://brett-zamir.me)\n\t\t// bugfixed by: Onno Marsman\n\t\t// example 1: preg_quote(\"$40\");\n\t\t// returns 1: '\\\\$40'\n\t\t// example 2: preg_quote(\"*RRRING* Hello?\");\n\t\t// returns 2: '\\\\*RRRING\\\\* Hello\\\\?'\n\t\t// example 3: preg_quote(\"\\\\.+*?[^]$(){}=!<>|:\");\n\t\t// returns 3: '\\\\\\\\\\\\.\\\\+\\\\*\\\\?\\\\[\\\\^\\\\]\\\\$\\\\(\\\\)\\\\{\\\\}\\\\=\\\\!\\\\<\\\\>\\\\|\\\\:'\n\n\t\treturn String( str )\n\t\t\t.replace( new RegExp( '[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\' + (delimiter || '') + '-]', 'g' ), '\\\\$&' );\n\t}\n\n\t/**\n\t * @TODO convert to functions object\n\t * @param table_prefix\n\t * @param desired_table\n\t * @param given_table\n\t * @returns {boolean}\n\t */\n\ttable_is( table_prefix, desired_table, given_table ) {\n\t\tif ( (table_prefix + desired_table).toLowerCase() === given_table.toLowerCase() ) {\n\t\t\treturn true;\n\t\t}\n\n\t\tvar escaped_given_table = this.preg_quote( given_table );\n\t\tvar regex = new RegExp( table_prefix + '([0-9]+)_' + desired_table, 'i' );\n\t\tvar results = regex.exec( escaped_given_table );\n\t\treturn null !== results;\n\t}\n\n\t/**\n\t * @TODO convert to functions object\n\t * @param table_prefix\n\t * @param table_name\n\t * @returns {*}\n\t */\n\tsubsite_for_table( table_prefix, table_name ) {\n\t\tvar escaped_table_name = this.preg_quote( table_name );\n\t\tvar regex = new RegExp( table_prefix + '([0-9]+)_', 'i' );\n\t\tvar results = regex.exec( escaped_table_name );\n\n\t\tif ( null === results ) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn results[ 1 ];\n\t\t}\n\t}\n\n\tconvertKBSizeToHR( size, dec, kbSize, retArray ) {\n\t\tvar retVal, units;\n\t\tkbSize = kbSize || 1000;\n\t\tdec = dec || 2;\n\n\t\tsize = parseFloat( size );\n\n\t\tif ( size < 1 && size > 0 ) {\n\t\t\tretVal = [ (size * kbSize).toFixed( 0 ), 'B' ];\n\t\t} else if ( kbSize > Math.abs( size ) ) {\n\t\t\tretVal = [ size.toFixed( 0 ), 'KB' ];\n\t\t} else {\n\t\t\tunits = [ 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB' ];\n\t\t\tvar u = -1;\n\t\t\tdo {\n\t\t\t\tsize /= kbSize;\n\t\t\t\t++u;\n\t\t\t} while ( Math.abs( size ) >= kbSize && u < units.length - 1 );\n\t\t\tretVal = [ Math.round( size * Math.pow( 10, dec ) ) / Math.pow( 10, dec ), units[ u ] ];\n\t\t}\n\n\t\tif ( !retArray ) {\n\t\t\tretVal = retVal[ 0 ] + ' ' + retVal[ 1 ];\n\t\t}\n\t\treturn retVal;\n\t}\n\n\tconvertKBSizeToHRFixed( size, dec, kbSize ) {\n\t\tdec = dec || 2;\n\t\tvar hrSizeArray = this.convertKBSizeToHR( size, dec, kbSize, true );\n\n\t\t// Show 2 decimal points for MBs\n\t\tif ( 'MB' == hrSizeArray[ 1 ] ) {\n\t\t\treturn hrSizeArray[ 0 ].toFixed( 2 ) + ' ' + hrSizeArray[ 1 ];\n\t\t}\n\n\t\treturn hrSizeArray[ 0 ] + ' ' + hrSizeArray[ 1 ];\n\t}\n\n\tajax_handle_dismissible_notice( nonce, callback, ele ) {\n\t\tjQuery.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tdataType: 'text',\n\t\t\tcache: false,\n\t\t\tdata: {\n\t\t\t\taction: 'wpmdb_process_notice_link',\n\t\t\t\tnonce: nonce,\n\t\t\t\tnotice: jQuery( ele ).data( 'notice' ),\n\t\t\t\ttype: jQuery( ele ).data( 'type' ),\n\t\t\t\treminder: jQuery( ele ).data( 'reminder' )\n\t\t\t},\n\t\t\tbeforeSend: callback( ele )\n\t\t} );\n\t}\n\n\tget_spinner_url() {\n\t\tvar admin_url = ajaxurl.replace( '/admin-ajax.php', '' ), spinner_url = admin_url + '/images/spinner';\n\n\t\tif ( 2 < window.devicePixelRatio ) {\n\t\t\tspinner_url += '-2x';\n\t\t}\n\t\tspinner_url += '.gif';\n\n\t\treturn spinner_url;\n\t}\n\n\texclude_post_types_warning() {\n\t\tvar excluded_post_types = $( '#select-post-types' ).val();\n\t\tvar excluded_post_types_text = '';\n\t\tvar $exclude_post_types_warning = $( '.exclude-post-types-warning' );\n\n\t\tif ( excluded_post_types ) {\n\t\t\texcluded_post_types_text = '' + excluded_post_types.join( ', ' ) + '';\n\t\t\t$( '.excluded-post-types' ).html( excluded_post_types_text );\n\n\t\t\tif ( '0' === $exclude_post_types_warning.css( 'opacity' ) ) {\n\t\t\t\t$exclude_post_types_warning\n\t\t\t\t\t.css( { opacity: 0 } )\n\t\t\t\t\t.slideDown( 200 )\n\t\t\t\t\t.animate( { opacity: 1 } );\n\t\t\t}\n\t\t} else {\n\t\t\t$exclude_post_types_warning\n\t\t\t\t.css( { opacity: 0 } )\n\t\t\t\t.slideUp( 200 )\n\t\t\t\t.animate( { opacity: 0 } );\n\t\t}\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/helpers/wpmdbCommon.js","var map = {\n\t\"./js/dismissable-notices.js\": 8,\n\t\"./js/helpers/events.js\": 9,\n\t\"./js/helpers/utils.js\": 10,\n\t\"./js/helpers/wpmdbCommon.js\": 11,\n\t\"./js/helpers/wpmdbGlobals.js\": 12,\n\t\"./js/hook.js\": 13,\n\t\"./js/import.js\": 14,\n\t\"./js/localStorage.js\": 15,\n\t\"./js/modules/MigrationProgress-controller.js\": 16,\n\t\"./js/modules/MigrationProgress-model.js\": 17,\n\t\"./js/modules/MigrationProgress-utils.js\": 18,\n\t\"./js/modules/MigrationProgress-view.js\": 19,\n\t\"./js/modules/MigrationProgressStage-model.js\": 20,\n\t\"./js/modules/MigrationProgressStage-view.js\": 21,\n\t\"./js/multisite.js\": 22,\n\t\"./js/plugin-update.js\": 23,\n\t\"./js/script.js\": 24,\n\t\"./js/usage-tracking-notice.js\": 28,\n\t\"./sass/_migration-progress.scss\": 29,\n\t\"./sass/_progress-upgrade.scss\": 30,\n\t\"./sass/plugin-update-styles.scss\": 31,\n\t\"./sass/styles.scss\": 32\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 7;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/wp-migrate-db-pro/asset/src ./node_modules/imports-loader?$=>window.jQuery ^(.*\\.(js|sass|scss$))/i\n// module id = 7\n// module chunks = 0","(function( $ ) {\n\n\t//If there's an error message visible about the mu-plugins folder not being writable\n\tif ( 0 < $( '.wpmdb-compat-plugin-row-error' ).length ) {\n\t\t$( '[data-slug=\"wp-migrate-db-pro\"]' ).addClass( 'wpmdbpro-has-message' );\n\t}\n\n\t//For the free plugin the update class needs to be present\n\t$( '.wpmdbpro-custom' ).prev().addClass( 'update' );\n\n\t$( '.notice-link-plugins-page' ).click( function( e ) {\n\t\te.preventDefault();\n\t\tvar self = jQuery( this );\n\n\t\twpmdb.functions.ajax_handle_dismissible_notice( wpmdb_nonces.process_notice_link, function( ele ) {\n\t\t\t$( ele ).closest( '.wpmdbpro-custom' ).hide();\n\n\t\t\t// remove .wpmdb-has-message class from parent TR to add the bottom border back in\n\t\t\t$( ele ).closest( 'tr' ).siblings( 'tr.wpmdbpro-has-message' ).removeClass( 'wpmdbpro-has-message' );\n\t\t}, self );\n\n\t\t$( '.wpmdbpro-custom' ).prev().removeClass( 'update' );\n\t} );\n})( jQuery );\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/dismissable-notices.js","$.fn.bindFirst = function (name, fn) {\n\tthis.bindNth(name, fn, 0);\n};\n\n$.fn.bindNth = function(name, fn, index) {\n\t// Bind event normally.\n\tthis.bind(name, fn);\n\t// Move to nth position.\n\tthis.changeEventOrder(name, index);\n};\n\n$.fn.changeEventOrder = function (names, newIndex) {\n\tvar that = this;\n\t// Allow for multiple events.\n\t$.each(names.split(' '), function (idx, name) {\n\t\tthat.each(function () {\n\t\t\tvar handlers = $._data(this, 'events')[name.split('.')[0]];\n\t\t\t// Validate requested position.\n\t\t\tnewIndex = Math.min(newIndex, handlers.length - 1);\n\t\t\thandlers.splice(newIndex, 0, handlers.pop());\n\t\t});\n\t});\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/helpers/events.js","export const handleAjaxError = ( header_text, error ) => {\n\n\tlet errorTemplate = `\n\t\t\t

    ${wpmdb_strings.ajax_php_errors}:

    \n\t\t\t

    ${error.message}

    \n\t`;\n\n\twpmdb.current_migration.setState( header_text, errorTemplate, 'error' );\n\twpmdb.common.migration_error = true;\n\twpmdb.functions.migration_complete_events();\n\tconsole.error( '🚨 🚒', error );\n\treturn;\n};\n\nexport const throwMDBError = ( parsed_response ) => {\n\tlet error_body;\n\n\tif ( undefined !== parsed_response.body ) {\n\t\twpmdb.common.non_fatal_errors += parsed_response.body;\n\t\terror_body = parsed_response.body;\n\t}\n\n\tif ( undefined !== parsed_response.msg ) {\n\t\terror_body = parsed_response.msg;\n\t}\n\n\tthrow new Error( error_body );\n};\n\nexport const jQueryAjaxError = ( responseText, jqXHR ) => {\n\tif ( 'undefined' !== typeof jqXHR.responseText && '' !== jqXHR.responseText ) {\n\t\tresponseText = jqXHR.responseText;\n\t} else if ( 'undefined' !== typeof jqXHR.statusText ) {\n\t\tresponseText = jqXHR.statusText;\n\t}\n\n\tconsole.error( jqXHR );\n\n\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, responseText, 'error' );\n\twpmdb.common.migration_error = true;\n\twpmdb.functions.migration_complete_events();\n\treturn responseText;\n};\n\nexport const doNextStep = ( fn, args, instance ) => {\n\twpmdb.common.next_step_in_migration = {\n\t\tfn: fn,\n\t\targs: args\n\t};\n\n\treturn wpmdb.functions.execute_next_step( instance );\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/helpers/utils.js","const $ = window.jQuery;\nconst ajaxurl = window.ajaxurl;\nconst wpmdb_strings = window.wpmdb_strings;\nconst wpmdb_data = window.wpmdb_data;\n\nexport default class WPMDBGlobals {\n\tconstructor() {\n\t\tthis.show_ssl_notice = false;\n\t\tthis.doing_save_profile = false;\n\t\tthis.doing_ajax = false;\n\t\tthis.profile_name_edited = false;\n\t\tthis.migration_intent = null;\n\t\tthis.doing_licence_registration_ajax = false;\n\t\tthis.migration_paused = false;\n\t\tthis.last_replace_switch = wpmdb.functions.wpmdb_migration_type();\n\t\tthis.connection_established = false;\n\t\tthis.profile_name_edited = false;\n\t\tthis.checked_licence = false;\n\t\tthis.show_prefix_notice = false;\n\t\tthis.show_ssl_notice = false;\n\t\tthis.force_reconnect = false;\n\t\tthis.migration_selection = '';\n\t\tthis.show_version_notice = false;\n\t\tthis.migration_completed = false;\n\t\tthis.currently_migrating = false;\n\t\tthis.dump_filename = '';\n\t\tthis.dump_path = '';\n\t\tthis.migration_intent = '';\n\t\tthis.remote_site = null;\n\t\tthis.secret_key = null;\n\t\tthis.form_data = null;\n\t\tthis.stage = null;\n\t\tthis.elapsed_interval = null;\n\t\tthis.completed_msg = null;\n\t\tthis.tables_to_migrate = [];\n\t\tthis.migration_paused = false;\n\t\tthis.previous_progress_title = '';\n\t\tthis.previous_progress_text_primary = '';\n\t\tthis.previous_progress_text_secondary = '';\n\t\tthis.cancelling_text = '';\n\t\tthis.paused_text = '';\n\t\tthis.migration_cancelled = false;\n\t\tthis.flag_skip_delay = false;\n\t\tthis.delay_between_requests = 0;\n\t\tthis.fade_duration = 400;\n\t\tthis.pause_before_finalize = false;\n\t\tthis.is_auto_pause_before_finalize = false;\n\t\tthis.$connection_info_box = $( '.connection-info-wrapper' );\n\t\tthis.$push_select = window.wpmdb.$push_select = $( '#select-tables' ).clone();\n\t\tthis.$pull_select = window.wpmdb.$pull_select = $( '#select-tables' ).clone();\n\t\tthis.$push_post_type_select = $( '#select-post-types' ).clone();\n\t\tthis.$pull_post_type_select = $( '#select-post-types' ).clone();\n\t\tthis.$push_select_backup = $( '#select-backup' ).clone();\n\t\tthis.$pull_select_backup = $( '#select-backup' ).clone();\n\n\t\tthis.spinner_url = window.spinner_url = wpmdb.functions.get_spinner_url();\n\t\tthis.ajax_spinner = window.ajax_spinner = '\"\"';\n\t}\n\n\tpad( n, width, z ) {\n\t\tz = z || '0';\n\t\tn = n + '';\n\t\treturn n.length >= width ? n : new Array( width - n.length + 1 ).join( z ) + n;\n\t}\n\n\tis_int( n ) {\n\t\tn = parseInt( n );\n\t\treturn 'number' === typeof n && 0 === n % 1;\n\t}\n\n\tget_intersect( arr1, arr2 ) {\n\t\tvar r = [], o = {}, l = arr2.length, i, v;\n\t\tfor ( i = 0; i < l; i++ ) {\n\t\t\to[ arr2[ i ] ] = true;\n\t\t}\n\t\tl = arr1.length;\n\t\tfor ( i = 0; i < l; i++ ) {\n\t\t\tv = arr1[ i ];\n\t\t\tif ( v in o ) {\n\t\t\t\tr.push( v );\n\t\t\t}\n\t\t}\n\n\t\treturn r;\n\t}\n\n\tpin_replace_url( pin ) {\n\t\tif ( true === pin && 1 > $( '.replace-row.pin' ).length && 1 === $( '#old-url' ).length ) {\n\t\t\t$( '#old-url' ).parents( '.replace-row' ).addClass( 'pin' );\n\t\t}\n\n\t\tif ( false === pin && 0 < $( '.replace-row.pin' ).length ) {\n\t\t\t$( '.replace-row.pin' ).removeClass( 'pin' );\n\t\t}\n\t}\n\n\t/**\n\t * Core plugin wrapper for the common AJAX error detecting method\n\t *\n\t * @param text\n\t * @param code\n\t * @param jqXHR\n\t *\n\t * @returns {string}\n\t */\n\tget_ajax_errors( text, code, jqXHR ) {\n\t\treturn wpmdb.functions.wpmdbGetAjaxErrors( wpmdb_strings.connection_local_server_problem, code, text, jqXHR );\n\t}\n\n\t// updates the debug log when the user switches to the help tab\n\trefresh_debug_log() {\n\t\t$.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tdataType: 'text',\n\t\t\tcache: false,\n\t\t\tdata: {\n\t\t\t\taction: 'wpmdb_get_log',\n\t\t\t\tnonce: wpmdb_data.nonces.get_log\n\t\t\t},\n\t\t\terror( jqXHR, textStatus, errorThrown ) {\n\t\t\t\talert( wpmdb_strings.update_log_problem );\n\t\t\t},\n\t\t\tsuccess( data ) {\n\t\t\t\t$( '.debug-log-textarea' ).val( data );\n\t\t\t}\n\t\t} );\n\t}\n\n\tget_query_var( name ) {\n\t\tname = name.replace( /[\\[]/, '\\\\[' ).replace( /[\\]]/, '\\\\]' );\n\t\tvar regex = new RegExp( '[\\\\?&]' + name + '=([^&#]*)' ),\n\t\t\tresults = regex.exec( location.search );\n\t\treturn null === results ? '' : decodeURIComponent( results[ 1 ].replace( /\\+/g, ' ' ) );\n\t}\n\n\tmaybe_show_ssl_warning( url, key, remote_scheme ) {\n\t\tvar scheme = url.substr( 0, url.indexOf( ':' ) );\n\t\tvar $ssl_notice = $( '.ssl-notice' );\n\n\t\tif ( !this.show_ssl_notice ) {\n\t\t\t$ssl_notice.hide();\n\t\t}\n\n\t\tif ( remote_scheme !== scheme && url.indexOf( 'https' ) !== -1 ) {\n\t\t\t$ssl_notice.show();\n\t\t\tthis.show_ssl_notice = true;\n\t\t\turl = url.replace( 'https', 'http' );\n\t\t\t$( '.pull-push-connection-info' ).val( url + '\\n' + key );\n\t\t\treturn;\n\t\t}\n\n\t\tthis.show_ssl_notice = false;\n\t}\n\n\tvalidate_url( url ) {\n\t\treturn /^([a-z]([a-z]|\\d|\\+|-|\\.)*):(\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?((\\[(|(v[\\da-f]{1,}\\.(([a-z]|\\d|-|\\.|_|~)|[!\\$&'\\(\\)\\*\\+,;=]|:)+))\\])|((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=])*)(:\\d*)?)(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*|(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)){0})(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i.test( url );\n\t}\n\n\trefresh_table_selects() {\n\t\tif ( undefined !== wpmdb_data && undefined !== wpmdb_data.this_tables && undefined !== wpmdb_data.this_table_sizes_hr ) {\n\t\t\tthis.$push_select = this.create_table_select( wpmdb_data.this_tables, wpmdb_data.this_table_sizes_hr, $( wpmdb.$push_select ).val() );\n\t\t}\n\n\t\tif ( undefined !== wpmdb.common.connection_data && undefined !== wpmdb.common.connection_data.tables && undefined !== wpmdb.common.connection_data.table_sizes_hr ) {\n\t\t\tthis.$pull_select = this.create_table_select( wpmdb.common.connection_data.tables, wpmdb.common.connection_data.table_sizes_hr, $( wpmdb.$pull_select ).val() );\n\t\t}\n\t}\n\n\tsave_active_profile() {\n\t\tvar profile;\n\t\t$( '.save-settings-button' ).blur();\n\n\t\tif ( this.doing_save_profile ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( true === this.maybe_show_select_table_notice() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar create_new_profile = false;\n\n\t\tif ( $( '#create_new' ).is( ':checked' ) ) {\n\t\t\tcreate_new_profile = true;\n\t\t}\n\t\tvar profile_name = $( '.create-new-profile' ).val();\n\n\t\tthis.doing_save_profile = true;\n\t\tprofile = $( $( '#migrate-form' )[ 0 ].elements ).not( '.auth-credentials' ).serialize();\n\n\t\t$( '.save-settings-button' ).attr( 'disabled', 'disabled' )\n\t\t\t.after( '\"\"' );\n\n\t\tthis.doing_ajax = true;\n\n\t\t$.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tdataType: 'text',\n\t\t\tcache: false,\n\t\t\tdata: {\n\t\t\t\taction: 'wpmdb_save_profile',\n\t\t\t\tprofile: profile,\n\t\t\t\tnonce: wpmdb_data.nonces.save_profile\n\t\t\t},\n\t\t\terror: ( jqXHR, textStatus, errorThrown ) => {\n\t\t\t\tthis.doing_ajax = false;\n\t\t\t\talert( wpmdb_strings.save_profile_problem );\n\t\t\t\t$( '.save-settings-button' ).removeAttr( 'disabled' );\n\t\t\t\t$( '.save-profile-ajax-spinner' ).remove();\n\t\t\t\t$( '.save-settings-button' ).after( '' + wpmdb_strings.saved + '' );\n\t\t\t\t$( '.ajax-success-msg' ).fadeOut( 2000, function() {\n\t\t\t\t\t$( this ).remove();\n\t\t\t\t} );\n\t\t\t\tthis.doing_save_profile = false;\n\t\t\t},\n\t\t\tsuccess: ( data ) => {\n\t\t\t\tvar updated_profile_id = parseInt( $( '#migrate-form input[name=save_migration_profile_option]:checked' ).val(), 10 ) + 1;\n\t\t\t\tthis.doing_ajax = false;\n\t\t\t\t$( '.save-settings-button' ).removeAttr( 'disabled' );\n\t\t\t\t$( '.save-profile-ajax-spinner' ).remove();\n\t\t\t\t$( '.save-settings-button' ).after( '' + wpmdb_strings.saved + '' );\n\t\t\t\t$( '.ajax-success-msg' ).fadeOut( 2000, function() {\n\t\t\t\t\t$( this ).remove();\n\t\t\t\t} );\n\t\t\t\tthis.doing_save_profile = false;\n\t\t\t\t$( '.create-new-profile' ).val( '' );\n\n\t\t\t\tif ( create_new_profile ) {\n\t\t\t\t\tvar new_profile_key = parseInt( data, 10 );\n\t\t\t\t\tvar new_profile_id = new_profile_key + 1;\n\t\t\t\t\tvar new_li = $( '
  • ' );\n\t\t\t\t\tnew_li.find( 'label' ).append( document.createTextNode( ' ' + profile_name ) );\n\t\t\t\t\tupdated_profile_id = new_profile_id;\n\n\t\t\t\t\t$( '#create_new' ).parents( 'li' ).before( new_li );\n\t\t\t\t\t$( '#profile-' + new_profile_id ).attr( 'checked', 'checked' );\n\t\t\t\t}\n\n\t\t\t\t// Push updated profile id to history if available\n\t\t\t\tvar updated_url = window.location.href.replace( '#migrate', '' ).replace( /&wpmdb-profile=-?\\d+/, '' ) + '&wpmdb-profile=' + updated_profile_id;\n\t\t\t\tvar updated_profile_name = $( '#migrate-form input[name=save_migration_profile_option]:checked' ).parent().text().trim();\n\n\t\t\t\tif ( 'function' === typeof window.history.pushState ) {\n\t\t\t\t\tif ( $( '#migrate-form .crumbs' ).length ) {\n\t\t\t\t\t\t$( '#migrate-form .crumbs .crumb:last' ).text( updated_profile_name );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar $crumbs = $( '
    ' )\n\t\t\t\t\t\t\t.append( ' Saved Profiles ' )\n\t\t\t\t\t\t\t.append( '' + updated_profile_name + '' );\n\t\t\t\t\t\t$( '#migrate-form' ).prepend( $crumbs );\n\t\t\t\t\t}\n\t\t\t\t\twindow.history.pushState( { updated_profile_id: updated_profile_id }, null, updated_url );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tcancel_migration( event ) {\n\t\tthis.migration_cancelled = true;\n\t\tthis.cancelling_text = wpmdb_strings.cancelling_migration;\n\t\t$( '.migration-controls' ).css( { visibility: 'hidden' } );\n\n\t\tif ( 'find_replace' === this.migration_intent ) {\n\t\t\tthis.cancelling_text = wpmdb_strings.cancelling_find_replace;\n\t\t}\n\n\t\twpmdb.current_migration.setState( this.cancelling_text, wpmdb_strings.completing_current_request, 'cancelling' );\n\n\t\tif ( true === this.migration_paused ) {\n\t\t\tthis.migration_paused = false;\n\t\t\twpmdb.functions.execute_next_step();\n\t\t}\n\t}\n\n\t/**\n\t * Set checkbox\n\t *\n\t * @param string checkbox_wrap\n\t */\n\tset_checkbox( checkbox_wrap ) {\n\t\tconst $switch = $( '#' + checkbox_wrap );\n\t\tvar $checkbox = $switch.find( 'input[type=checkbox]' );\n\n\t\t$switch.toggleClass( 'on' ).find( 'span' ).toggleClass( 'checked' );\n\t\tvar switch_on = $switch.find( 'span.on' ).hasClass( 'checked' );\n\t\t$checkbox.attr( 'checked', switch_on ).trigger( 'change' );\n\t}\n\n\t// save file (export) / push / pull special conditions\n\tmove_connection_info_box() {\n\t\tvar $connection_status = $( '.connection-status' );\n\t\tvar $directory_permission_notice = $( '.directory-permission-notice' );\n\t\tvar $compatibility_older_mysql = $( '.compatibility-older-mysql' );\n\t\tvar $mst_required = $( '.mst-required' );\n\t\tvar $keep_active_plugins = $( '.keep-active-plugins' );\n\t\tvar $step_two = $( '.step-two' );\n\t\tvar $backup_options = $( '.backup-options' );\n\t\tvar new_migration_type = wpmdb.functions.wpmdb_migration_type();\n\t\tvar profile_name, table_prefix, backup_table_prefix, uploads_dir, upload_dir_long, write_permission;\n\n\t\t$connection_status.hide();\n\t\t$directory_permission_notice.hide();\n\t\t$step_two.show();\n\t\t$backup_options.show();\n\t\t$keep_active_plugins.show();\n\t\t$compatibility_older_mysql.hide();\n\t\t$mst_required.hide();\n\n\t\twpmdb.functions.wpmdb_toggle_migration_action_text();\n\n\t\t$( '.migrate-tab' ).attr( 'class', 'migrate-tab content-tab' ).addClass( wpmdb.functions.wpmdb_migration_type() );\n\n\t\t$.wpmdb.do_action( 'move_connection_info_box', {\n\t\t\tmigration_type: new_migration_type,\n\t\t\tlast_migration_type: this.last_replace_switch\n\t\t} );\n\n\t\tif ( -1 !== $.inArray( new_migration_type, [ 'push', 'pull' ] ) ) {\n\t\t\tvar $pull_push_connection_info = $( '.pull-push-connection-info' );\n\t\t\tvar connection_info = $.trim( $pull_push_connection_info.val() ).split( '\\n' );\n\t\t\tvar $migration_list_li = $( '.' + new_migration_type + '-list li' );\n\n\t\t\t$migration_list_li.append( this.$connection_info_box );\n\t\t\tthis.$connection_info_box.show( function() {\n\t\t\t\tvar connection_textarea = $( this ).find( '.pull-push-connection-info' );\n\t\t\t\tif ( !connection_textarea.val() ) {\n\t\t\t\t\tconnection_textarea.focus();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// Reconnect if the migration type was just changed\n\t\t\tif ( new_migration_type !== this.last_replace_switch && 2 === connection_info.length ) {\n\t\t\t\twpmdb.force_reconnect = true;\n\t\t\t\t$migration_list_li.append( this.$connection_info_box );\n\t\t\t\t$pull_push_connection_info.removeClass( 'temp-disabled' ).attr( 'readonly', 'readonly' );\n\t\t\t\t$( '.connect-button' ).hide();\n\t\t\t\twpmdb.functions.connection_box_changed();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.connection_established ) {\n\t\t\t\t$connection_status.hide();\n\t\t\t\t$step_two.show();\n\n\t\t\t\twpmdb.functions.wpmdb_toggle_migration_action_text();\n\n\t\t\t\tif ( 'pull' === new_migration_type ) {\n\t\t\t\t\ttable_prefix = wpmdb.common.connection_data.prefix;\n\t\t\t\t\tbackup_table_prefix = wpmdb_data.site_details.prefix;\n\t\t\t\t\tuploads_dir = wpmdb_data.this_uploads_dir;\n\t\t\t\t\tupload_dir_long = wpmdb_data.this_upload_dir_long;\n\t\t\t\t\twrite_permission = wpmdb_data.write_permission;\n\t\t\t\t} else {\n\t\t\t\t\ttable_prefix = wpmdb_data.this_prefix;\n\t\t\t\t\tbackup_table_prefix = wpmdb.common.connection_data.prefix;\n\t\t\t\t\tuploads_dir = wpmdb.common.connection_data.uploads_dir;\n\t\t\t\t\tupload_dir_long = wpmdb.common.connection_data.upload_dir_long;\n\t\t\t\t\twrite_permission = wpmdb.common.connection_data.write_permissions;\n\t\t\t\t}\n\n\t\t\t\t$( '.table_prefix' ).html( table_prefix );\n\t\t\t\t$( '.backup-table-prefix' ).html( backup_table_prefix );\n\t\t\t\t$( '.uploads-dir' ).html( uploads_dir );\n\n\t\t\t\tthis.maybe_show_backup_disabled_msg( upload_dir_long, write_permission );\n\n\t\t\t\tif ( false === this.profile_name_edited ) {\n\t\t\t\t\tprofile_name = this.get_domain_name( wpmdb.common.connection_data.url );\n\t\t\t\t\t$( '.create-new-profile' ).val( profile_name );\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\t$connection_status.show();\n\t\t\t\t$step_two.hide();\n\t\t\t}\n\n\t\t} else if ( -1 !== $.inArray( new_migration_type, [ 'find_replace', 'savefile' ] ) ) {\n\t\t\t$connection_status.hide();\n\t\t\t$step_two.show();\n\t\t\t$( '.table-prefix' ).html( wpmdb_data.this_prefix );\n\t\t\tif ( false === this.profile_name_edited ) {\n\t\t\t\t$( '.create-new-profile' ).val( '' );\n\t\t\t}\n\n\t\t\t$keep_active_plugins.hide();\n\n\t\t\tif ( 'savefile' === new_migration_type ) {\n\t\t\t\t$backup_options.hide();\n\t\t\t\t$compatibility_older_mysql.show();\n\n\t\t\t\tif ( 'false' === wpmdb_data.write_permission ) {\n\t\t\t\t\t$directory_permission_notice.show();\n\t\t\t\t\t$step_two.hide();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ( 'true' === wpmdb_data.is_multisite ) {\n\t\t\t\t\tvar $old_replace_col = $( '.old-replace-col' ).eq( 1 );\n\t\t\t\t\t$old_replace_col.parent().removeClass( 'pin' ).find( '.replace-remove-row' ).show();\n\t\t\t\t\t$old_replace_col.find( 'input' ).removeAttr( 'readonly' );\n\t\t\t\t}\n\n\t\t\t\tthis.maybe_show_backup_disabled_msg( wpmdb_data.this_upload_dir_long, wpmdb_data.write_permission );\n\t\t\t}\n\t\t}\n\n\t\tthis.maybe_show_mixed_cased_table_name_warning();\n\t}\n\n\tmaybe_show_backup_disabled_msg( upload_dir, write_permission ) {\n\t\tvar $create_backup = $( '#create-backup' );\n\t\tvar $create_backup_label = $( '#create-backup-label' );\n\t\tvar $backup_option_disabled = $( '.backup-option-disabled' );\n\n\t\t$create_backup.removeAttr( 'disabled' );\n\t\t$create_backup_label.removeClass( 'disabled' );\n\t\t$backup_option_disabled.hide();\n\n\t\tif ( 'false' === write_permission ) {\n\t\t\t$create_backup.prop( 'checked', false );\n\t\t\t$create_backup.attr( 'disabled', 'disabled' );\n\t\t\t$create_backup_label.addClass( 'disabled' );\n\t\t\t$backup_option_disabled.show();\n\t\t\t$( '.upload-directory-location' ).html( upload_dir );\n\t\t}\n\t}\n\n\tchange_replace_values() {\n\t\tvar old_url = null;\n\t\tvar old_path = null;\n\t\tif ( null !== wpmdb.common.previous_connection_data && 'object' === typeof wpmdb.common.previous_connection_data && wpmdb.common.previous_connection_data.url !== wpmdb.common.connection_data.url ) {\n\t\t\told_url = this.remove_protocol( wpmdb.common.previous_connection_data.url );\n\t\t\told_path = wpmdb.common.previous_connection_data.path;\n\t\t}\n\n\t\tif ( 'push' === wpmdb.functions.wpmdb_migration_type() || 'savefile' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\tif ( 'pull' === this.last_replace_switch ) {\n\t\t\t\t$( '.replace-row' ).each( function() {\n\t\t\t\t\tvar old_val = $( '.old-replace-col input', this ).val();\n\t\t\t\t\t$( '.old-replace-col input', this ).val( $( '.replace-right-col input', this ).val() );\n\t\t\t\t\t$( '.replace-right-col input', this ).val( old_val );\n\t\t\t\t} );\n\t\t\t} else if ( 'push' === this.last_replace_switch && 'push' === wpmdb.functions.wpmdb_migration_type() && null !== old_url && null !== old_path ) {\n\t\t\t\t$( '.replace-row' ).each( function() {\n\t\t\t\t\tvar old_val = $( '.replace-right-col input', this ).val();\n\t\t\t\t\tif ( old_val === old_path ) {\n\t\t\t\t\t\t$( '.replace-right-col input', this ).val( wpmdb.common.connection_data.path );\n\t\t\t\t\t}\n\t\t\t\t\tif ( old_val === old_url ) {\n\t\t\t\t\t\t$( '.replace-right-col input', this ).val( this.remove_protocol( wpmdb.common.connection_data.url ) );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t\t$.wpmdb.do_action( 'wpmdb_update_push_table_select' );\n\t\t\t$( '#select-post-types' ).remove();\n\t\t\t$( '.exclude-post-types-warning' ).after( this.$push_post_type_select );\n\t\t\twpmdb.functions.exclude_post_types_warning();\n\t\t\t$( '#select-backup' ).remove();\n\t\t\t$( '.backup-tables-wrap' ).prepend( this.$push_select_backup );\n\t\t} else if ( 'pull' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\tif ( '' === this.last_replace_switch || 'push' === this.last_replace_switch || 'savefile' === this.last_replace_switch ) {\n\t\t\t\t$( '.replace-row' ).each( function() {\n\t\t\t\t\tvar old_val = $( '.old-replace-col input', this ).val();\n\t\t\t\t\t$( '.old-replace-col input', this ).val( $( '.replace-right-col input', this ).val() );\n\t\t\t\t\t$( '.replace-right-col input', this ).val( old_val );\n\t\t\t\t} );\n\t\t\t} else if ( 'pull' === this.last_replace_switch && 'pull' === wpmdb.functions.wpmdb_migration_type() && null !== old_url && null !== old_path ) {\n\t\t\t\t$( '.replace-row' ).each( function() {\n\t\t\t\t\tvar old_val = $( '.old-replace-col input', this ).val();\n\t\t\t\t\tif ( old_val === old_path ) {\n\t\t\t\t\t\t$( '.old-replace-col input', this ).val( wpmdb.common.connection_data.path );\n\t\t\t\t\t}\n\t\t\t\t\tif ( old_val === old_url ) {\n\t\t\t\t\t\t$( '.old-replace-col input', this ).val( this.remove_protocol( wpmdb.common.connection_data.url ) );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t\t$.wpmdb.do_action( 'wpmdb_update_pull_table_select' );\n\t\t\t$( '#select-post-types' ).remove();\n\t\t\t$( '.exclude-post-types-warning' ).after( this.$pull_post_type_select );\n\t\t\twpmdb.functions.exclude_post_types_warning();\n\t\t\t$( '#select-backup' ).remove();\n\t\t\t$( '.backup-tables-wrap' ).prepend( this.$pull_select_backup );\n\t\t}\n\t\tthis.last_replace_switch = wpmdb.functions.wpmdb_migration_type();\n\t}\n\n\tswitch_to_plugin_tab( hash, skip_addons_check ) {\n\t\t$( '.nav-tab' ).removeClass( 'nav-tab-active' );\n\t\t$( '.nav-tab.' + hash ).addClass( 'nav-tab-active' );\n\t\t$( '.content-tab' ).hide();\n\t\t$( '.' + hash + '-tab' ).show();\n\n\t\tif ( 'settings' === hash ) {\n\t\t\tif ( true === this.should_check_licence() ) {\n\t\t\t\t$( 'p.licence-status' ).append( 'Checking License... ' ).append( this.ajax_spinner );\n\t\t\t\tthis.check_licence();\n\t\t\t}\n\t\t}\n\n\t\tif ( 'help' === hash ) {\n\t\t\tthis.refresh_debug_log();\n\t\t\tif ( true === this.should_check_licence() ) {\n\t\t\t\t$( '.support-content p' ).append( this.ajax_spinner );\n\t\t\t\tthis.check_licence();\n\t\t\t}\n\t\t}\n\n\t\tif ( 'addons' === hash && true !== skip_addons_check ) {\n\t\t\tif ( true === this.should_check_licence() ) {\n\t\t\t\t$( '.addons-content p' ).append( this.ajax_spinner );\n\t\t\t\tthis.check_licence();\n\t\t\t}\n\t\t}\n\t}\n\n\thide_overlay() {\n\t\t$( '#overlay' ).removeClass( 'show' ).addClass( 'hide' );\n\t\t$( '#overlay > div' ).removeClass( 'show' ).addClass( 'hide' );\n\t\twpmdb.current_migration.$proVersion.find( 'iframe' ).remove();\n\t\tsetTimeout( function() {\n\t\t\t$( '#overlay' ).remove();\n\t\t}, 500 );\n\t\tthis.migration_completed = false;\n\t}\n\n\tcheck_licence( licence ) {\n\t\tvar update_licence_content = !this.doing_licence_registration_ajax;\n\t\tthis.checked_licence = true;\n\t\tlet self = this;\n\t\t$.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tdataType: 'json',\n\t\t\tcache: false,\n\t\t\tdata: {\n\t\t\t\taction: 'wpmdb_check_licence',\n\t\t\t\tlicence: licence,\n\t\t\t\tcontext: 'all',\n\t\t\t\tnonce: wpmdb_data.nonces.check_licence\n\t\t\t},\n\t\t\terror( jqXHR, textStatus, errorThrown ) {\n\t\t\t\talert( wpmdb_strings.license_check_problem );\n\t\t\t},\n\t\t\tsuccess( data ) {\n\n\t\t\t\tvar $support_content = $( '.support-content' );\n\t\t\t\tvar $addons_content = $( '.addons-content' );\n\t\t\t\tvar $licence_content = $( '.licence-status:not(.notification-message)' );\n\t\t\t\tvar licence_msg, support_msg, addons_msg;\n\n\t\t\t\tif ( 'undefined' !== typeof data.dbrains_api_down ) {\n\t\t\t\t\tsupport_msg = data.dbrains_api_down + data.message;\n\t\t\t\t\taddons_msg = data.dbrains_api_down;\n\t\t\t\t} else if ( 'undefined' !== typeof data.errors ) {\n\n\t\t\t\t\tif ( 'undefined' !== typeof data.errors.subscription_expired ) {\n\t\t\t\t\t\tlicence_msg = data.errors.subscription_expired.licence;\n\t\t\t\t\t\tsupport_msg = data.errors.subscription_expired.support;\n\t\t\t\t\t\taddons_msg = data.errors.subscription_expired.addons;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar msg = '';\n\t\t\t\t\t\tfor ( var key in data.errors ) {\n\t\t\t\t\t\t\tmsg += data.errors[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsupport_msg = msg;\n\t\t\t\t\t\taddons_msg = msg;\n\t\t\t\t\t}\n\t\t\t\t\tif ( 'undefined' !== typeof data.addon_content ) {\n\t\t\t\t\t\taddons_msg += '\\n' + data.addon_content;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsupport_msg = data.message;\n\t\t\t\t\taddons_msg = data.addon_content;\n\t\t\t\t}\n\n\t\t\t\tif ( update_licence_content ) {\n\t\t\t\t\t$licence_content.stop().fadeOut( self.fade_duration, function() {\n\t\t\t\t\t\tif ( 'undefined' === typeof licence_msg ) {\n\t\t\t\t\t\t\t$( this ).css( { visibility: 'hidden', display: 'block' } ).slideUp();\n\t\t\t\t\t\t\tlicence_msg = '';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$( this )\n\t\t\t\t\t\t\t.empty()\n\t\t\t\t\t\t\t.html( licence_msg )\n\t\t\t\t\t\t\t.stop()\n\t\t\t\t\t\t\t.fadeIn( self.fade_duration );\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t$support_content.stop().fadeOut( self.fade_duration, function() {\n\t\t\t\t\t$( this )\n\t\t\t\t\t\t.empty()\n\t\t\t\t\t\t.html( support_msg )\n\t\t\t\t\t\t.stop()\n\t\t\t\t\t\t.fadeIn( self.fade_duration );\n\t\t\t\t} );\n\t\t\t\t$addons_content.stop().fadeOut( self.fade_duration, function() {\n\t\t\t\t\t$( this )\n\t\t\t\t\t\t.empty()\n\t\t\t\t\t\t.html( addons_msg )\n\t\t\t\t\t\t.stop()\n\t\t\t\t\t\t.fadeIn( self.fade_duration );\n\t\t\t\t} );\n\n\t\t\t\tif ( $( '#plugin-compatibility' ).is( ':not(:checked)' ) ) {\n\t\t\t\t\t$( '#compatibility-header' ).click();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\tshould_check_licence() {\n\t\treturn false === this.checked_licence && '1' === wpmdb_data.has_licence && 'true' === wpmdb_data.is_pro;\n\t}\n\n\tmaybe_show_mixed_cased_table_name_warning() {\n\t\tif ( 'undefined' === typeof wpmdb.common.connection_data || false === wpmdb.common.connection_data ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar migration_intent = wpmdb.functions.wpmdb_migration_type();\n\t\tvar tables_to_migrate = wpmdb.functions.get_tables_to_migrate( null, null );\n\n\t\t$( '.mixed-case-table-name-notice' ).hide();\n\n\t\tif ( null === tables_to_migrate ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttables_to_migrate = tables_to_migrate.join( '' );\n\n\t\t// The table names are all lowercase, no need to display the warning.\n\t\tif ( tables_to_migrate === tables_to_migrate.toLowerCase() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\t * Do not display the warning if the remote lower_case_table_names does not equal \"1\" (i.e the only problematic setting)\n\t\t * Applies to push/export migrations.\n\t\t */\n\t\tif ( '1' !== wpmdb.common.connection_data.lower_case_table_names && ('push' === migration_intent || 'savefile' === migration_intent) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\t * Do not display the warning if the local lower_case_table_names does not equal \"1\" (i.e the only problematic setting)\n\t\t * Only applies to pull migrations.\n\t\t */\n\t\tif ( '1' !== wpmdb_data.lower_case_table_names && 'pull' === migration_intent ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/*\n\t\t * At this stage we've determined:\n\t\t * 1. The source database contains at least one table that contains an uppercase character.\n\t\t * 2. The destination environment has lower_case_table_names set to 1.\n\t\t * 3. The source database table containing the uppercase letter will be converted to lowercase during the migration.\n\t\t */\n\n\t\tif ( 'push' === migration_intent || 'savefile' === migration_intent ) {\n\t\t\t$( '.mixed-case-table-name-notice.push' ).show();\n\t\t} else {\n\t\t\t$( '.mixed-case-table-name-notice.pull' ).show();\n\t\t}\n\t}\n\n\tenable_pro_licence( data, licence_key ) {\n\t\t$( '.licence-input, .register-licence' ).remove();\n\t\t$( '.licence-not-entered' ).prepend( data.masked_licence );\n\t\t$( '.support-content' ).empty().html( '

    ' + wpmdb_strings.fetching_license + '\"\"

    ' );\n\t\tthis.check_licence( licence_key );\n\n\t\t$( '.migrate-selection label' ).removeClass( 'disabled' );\n\t\t$( '.migrate-selection input' ).removeAttr( 'disabled' );\n\t}\n\n\tget_domain_name( url ) {\n\t\tvar temp_url = url;\n\t\tvar domain = temp_url.replace( /\\/\\/(.*)@/, '//' ).replace( 'http://', '' ).replace( 'https://', '' ).replace( 'www.', '' );\n\t\treturn domain;\n\t}\n\n\tupdate_domain_placeholder( label, url, stage ) {\n\t\tvar domain = this.get_domain_name( url );\n\n\t\tif ( 'completed' === stage ) {\n\t\t\treturn label.replace( /\\%s\\s?/, '' + domain + ' ' );\n\t\t}\n\n\t\treturn label.replace( /\\%s(\\S*)\\s?/, '' + domain + '$1 ' );\n\t}\n\n\tget_migration_status_label( url, intent, stage ) {\n\t\tvar migrating_stage_label = '';\n\t\tvar completed_stage_label = '';\n\n\t\tswitch ( intent ) {\n\t\t\tcase 'push':\n\t\t\t\tmigrating_stage_label = wpmdb_strings.push_migration_label_migrating;\n\t\t\t\tcompleted_stage_label = wpmdb_strings.push_migration_label_completed;\n\t\t\t\tbreak;\n\t\t\tcase 'pull':\n\t\t\t\tmigrating_stage_label = wpmdb_strings.pull_migration_label_migrating;\n\t\t\t\tcompleted_stage_label = wpmdb_strings.pull_migration_label_completed;\n\t\t\t\tbreak;\n\t\t\tcase 'find_replace':\n\t\t\t\tmigrating_stage_label = wpmdb_strings.find_replace_label_migrating;\n\t\t\t\tcompleted_stage_label = wpmdb_strings.find_replace_label_completed;\n\t\t\t\tbreak;\n\t\t\tcase 'savefile':\n\t\t\t\tmigrating_stage_label = wpmdb_strings.exporting_please_wait;\n\t\t\t\tcompleted_stage_label = wpmdb_strings.exporting_complete;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tvar label = migrating_stage_label;\n\n\t\tif ( 'completed' === stage ) {\n\t\t\tlabel = completed_stage_label;\n\t\t}\n\n\t\tif ( 'push' === intent || 'pull' === intent ) {\n\t\t\tlabel = this.update_domain_placeholder( label, url, stage );\n\t\t}\n\n\t\tlabel = $.wpmdb.apply_filters( 'wpmdb_get_migration_status_label', label, {\n\t\t\tintent: intent,\n\t\t\tstage: stage\n\t\t} );\n\n\t\treturn label;\n\t}\n\n\tdisable_export_type_controls() {\n\t\t$( '.option-group' ).each( function( index ) {\n\t\t\t$( 'input', this ).attr( 'disabled', 'disabled' );\n\t\t\t$( 'label', this ).css( 'cursor', 'default' );\n\t\t} );\n\t}\n\n\tenable_export_type_controls() {\n\t\t$( '.option-group' ).each( function( index ) {\n\t\t\t$( 'input', this ).removeAttr( 'disabled' );\n\t\t\t$( 'label', this ).css( 'cursor', 'pointer' );\n\t\t} );\n\t}\n\n\tset_slider_value( parent_selector, value, unit, display ) {\n\t\tvar display_value = value;\n\n\t\tif ( undefined !== display ) {\n\t\t\tdisplay_value = display;\n\t\t}\n\n\t\t$( '.slider', parent_selector ).slider( 'value', parseInt( value ) );\n\t\t$( '.amount', parent_selector ).html( wpmdb.functions.wpmdb_add_commas( display_value ) + ' ' + unit );\n\t}\n\n\tset_pause_resume_button( event, instance ) {\n\t\tif ( true === this.migration_paused ) {\n\t\t\tthis.migration_paused = false;\n\t\t\tthis.doing_ajax = true;\n\n\t\t\twpmdb.current_migration.setState( this.previous_progress_title, this.previous_progress_text_primary, 'active' );\n\t\t\t$( '.pause-resume' ).html( wpmdb_strings.pause );\n\n\t\t\t// Resume the timer\n\t\t\twpmdb.current_migration.resumeTimer();\n\n\t\t\twpmdb.functions.execute_next_step( instance );\n\t\t} else {\n\t\t\tthis.migration_paused = true;\n\t\t\tthis.doing_ajax = false;\n\t\t\tthis.paused_text = wpmdb_strings.migration_paused;\n\t\t\tthis.previous_progress_title = $( '.progress-title' ).html();\n\t\t\tthis.previous_progress_text_primary = $( '.progress-text', '.progress-wrapper-primary' ).html();\n\t\t\tthis.previous_progress_text_secondary = $( '.progress-text', '.progress-wrapper-secondary ' ).html();\n\n\t\t\tif ( 'find_replace' === this.migration_intent ) {\n\t\t\t\tthis.paused_text = wpmdb_strings.find_replace_paused;\n\t\t\t}\n\n\t\t\twpmdb.current_migration.setState( this.paused_text, wpmdb_strings.completing_current_request, null );\n\t\t\t$( 'body' ).off( 'click', '.pause-resume' ); // Is re-bound at execute_next_step when migration is finally paused\n\t\t\t$( 'body' ).off( 'click', '.cancel' ); // Is re-bound at execute_next_step when migration is finally paused\n\t\t}\n\t}\n\n\t/**\n\t * Filter temporary tables out of wpmdb.functions.create_table_select().\n\t *\n\t * @param exclude\n\t * @param table_name\n\t * @returns {bool}\n\t */\n\tfilter_temp_tables( exclude, table_name ) {\n\t\tvar temp_prefix = wpmdb_data.this_temp_prefix;\n\n\t\tif ( 'pull' === wpmdb.functions.wpmdb_migration_type() && 'undefined' !== typeof wpmdb.common.connection_data && 'undefined' !== typeof wpmdb.common.connection_data.temp_prefix ) {\n\t\t\ttemp_prefix = wpmdb.common.connection_data.temp_prefix;\n\t\t}\n\n\t\tif ( temp_prefix === table_name.substring( 0, temp_prefix.length ) ) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn exclude;\n\t}\n\n\tget_table_prefix( value, args ) {\n\t\treturn $( '.table-select-wrap .table-prefix' ).text();\n\t}\n\n\tlock_replace_url( lock ) {\n\t\tif ( true === lock ) {\n\t\t\t$( '.replace-row.pin .replace-right-col input[type=\"text\"]' ).attr( 'readonly', 'readonly' );\n\t\t\t$( '.replace-row.pin .arrow-col' ).addClass( 'disabled' );\n\t\t} else {\n\t\t\t$( '.replace-row.pin .replace-right-col input[type=\"text\"]' ).removeAttr( 'readonly' );\n\t\t\t$( '.replace-row.pin .arrow-col' ).removeClass( 'disabled' );\n\t\t}\n\t}\n\n\tset_connection_data( data ) {\n\t\twindow.wpmdb.common.previous_connection_data = wpmdb.common.connection_data;\n\t\twindow.wpmdb.common.connection_data = data;\n\t\t$.wpmdb.do_action( 'wpmdb_connection_data_updated', data );\n\t}\n\n\t/**\n\t * Returns formatted info for the Max Request Size slider.\n\t *\n\t * @param value\n\t * @return object\n\t */\n\tget_max_request_display_info( value ) {\n\t\tvar display_info = {};\n\n\t\tdisplay_info.unit = 'MB';\n\t\tdisplay_info.amount = (value / 1024).toFixed( 2 );\n\n\t\treturn display_info;\n\t}\n\n\testablish_remote_connection_from_saved_profile() {\n\t\tvar action = wpmdb.functions.wpmdb_migration_type();\n\t\tvar connection_info = $.trim( $( '.pull-push-connection-info' ).val() ).split( '\\n' );\n\t\tif ( 'undefined' === typeof wpmdb_default_profile ||\n\t\t true === wpmdb_default_profile ||\n\t\t 'savefile' === action ||\n\t\t 'find_replace' === action ||\n\t\t 'import' === action ||\n\t\t this.doing_ajax ||\n\t\t !wpmdb_data.is_pro ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.doing_ajax = true;\n\t\tthis.disable_export_type_controls();\n\n\t\t$( '.connection-status' ).html( wpmdb_strings.establishing_remote_connection );\n\t\t$( '.connection-status' ).removeClass( 'notification-message error-notice migration-error' );\n\t\t$( '.connection-status' ).append( this.ajax_spinner );\n\n\t\tvar intent = wpmdb.functions.wpmdb_migration_type();\n\t\t// Hack to keep object scope\n\t\tconst self = this;\n\n\t\t$.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tdataType: 'json',\n\t\t\tcache: false,\n\t\t\tdata: {\n\t\t\t\taction: 'wpmdb_verify_connection_to_remote_site',\n\t\t\t\turl: connection_info[ 0 ],\n\t\t\t\tkey: connection_info[ 1 ],\n\t\t\t\tintent: intent,\n\t\t\t\tnonce: wpmdb_data.nonces.verify_connection_to_remote_site,\n\t\t\t\tconvert_post_type_selection: wpmdb_convert_post_type_selection,\n\t\t\t\tprofile: wpmdb_data.profile\n\t\t\t},\n\t\t\terror( jqXHR, textStatus, errorThrown ){\n\t\t\t\t$( '.connection-status' ).html( self.get_ajax_errors( jqXHR.responseText, '(#102)', jqXHR ) );\n\t\t\t\t$( '.connection-status' ).addClass( 'notification-message error-notice migration-error' );\n\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\tself.doing_ajax = false;\n\t\t\t\tself.enable_export_type_controls();\n\t\t\t},\n\t\t\tsuccess( data ) {\n\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\tself.doing_ajax = false;\n\t\t\t\tself.enable_export_type_controls();\n\n\t\t\t\tif ( 'undefined' !== typeof data.wpmdb_error && 1 === data.wpmdb_error ) {\n\t\t\t\t\t$( '.connection-status' ).html( data.body );\n\t\t\t\t\t$( '.connection-status' ).addClass( 'notification-message error-notice migration-error' );\n\n\t\t\t\t\tif ( data.body.indexOf( '401 Unauthorized' ) > -1 ) {\n\t\t\t\t\t\t$( '.basic-access-auth-wrapper' ).show();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( true === self.maybe_show_mst_warning( data ) ) {\n\t\t\t\t\t$( '.connection-status' ).hide();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tself.maybe_show_ssl_warning( connection_info[ 0 ], connection_info[ 1 ], data.scheme );\n\t\t\t\twpmdb.functions.maybe_show_prefix_notice( data.prefix );\n\n\t\t\t\t$( '.pull-push-connection-info' ).addClass( 'temp-disabled' );\n\t\t\t\t$( '.pull-push-connection-info' ).attr( 'readonly', 'readonly' );\n\t\t\t\t$( '.connect-button' ).hide();\n\n\t\t\t\t$( '.connection-status' ).hide();\n\t\t\t\t$( '.step-two' ).show();\n\t\t\t\tself.connection_established = true;\n\t\t\t\tself.set_connection_data( data );\n\t\t\t\tself.move_connection_info_box();\n\n\t\t\t\tself.maybe_show_mixed_cased_table_name_warning();\n\n\t\t\t\tvar loaded_tables = '';\n\t\t\t\tif ( false === wpmdb_default_profile && 'undefined' !== typeof wpmdb_loaded_tables ) {\n\t\t\t\t\tloaded_tables = wpmdb_loaded_tables;\n\t\t\t\t}\n\n\t\t\t\tself.$pull_select = wpmdb.functions.create_table_select( wpmdb.common.connection_data.tables, wpmdb.common.connection_data.table_sizes_hr, loaded_tables );\n\t\t\t\tvar loaded_post_types = '';\n\t\t\t\tif ( false === wpmdb_default_profile && 'undefined' !== typeof wpmdb_loaded_post_types ) {\n\t\t\t\t\tif ( 'undefined' !== typeof data.select_post_types ) {\n\t\t\t\t\t\t$( '#exclude-post-types' ).attr( 'checked', 'checked' );\n\t\t\t\t\t\t$( '.post-type-select-wrap' ).show();\n\t\t\t\t\t\tloaded_post_types = data.select_post_types;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tloaded_post_types = wpmdb_loaded_post_types;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tvar $post_type_select = document.createElement( 'select' );\n\t\t\t\t$( $post_type_select ).attr( {\n\t\t\t\t\tmultiple: 'multiple',\n\t\t\t\t\tname: 'select_post_types[]',\n\t\t\t\t\tid: 'select-post-types',\n\t\t\t\t\tclass: 'multiselect'\n\t\t\t\t} );\n\n\t\t\t\t$.each( wpmdb.common.connection_data.post_types, function( index, value ) {\n\t\t\t\t\tvar selected = $.inArray( value, loaded_post_types );\n\t\t\t\t\tif ( -1 !== selected || (true === wpmdb_convert_exclude_revisions && 'revision' !== value) ) {\n\t\t\t\t\t\tselected = ' selected=\"selected\" ';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = ' ';\n\t\t\t\t\t}\n\t\t\t\t\t$( $post_type_select ).append( '' + value + '' );\n\t\t\t\t} );\n\n\t\t\t\tself.$pull_post_type_select = $post_type_select;\n\n\t\t\t\tvar loaded_tables_backup = '';\n\t\t\t\tif ( false === wpmdb_default_profile && 'undefined' !== typeof wpmdb_loaded_tables_backup ) {\n\t\t\t\t\tloaded_tables_backup = wpmdb_loaded_tables_backup;\n\t\t\t\t}\n\n\t\t\t\tvar $table_select_backup = document.createElement( 'select' );\n\t\t\t\t$( $table_select_backup ).attr( {\n\t\t\t\t\tmultiple: 'multiple',\n\t\t\t\t\tname: 'select_backup[]',\n\t\t\t\t\tid: 'select-backup',\n\t\t\t\t\tclass: 'multiselect'\n\t\t\t\t} );\n\n\t\t\t\t$.each( wpmdb.common.connection_data.tables, function( index, value ) {\n\t\t\t\t\tvar selected = $.inArray( value, loaded_tables_backup );\n\t\t\t\t\tif ( -1 !== selected ) {\n\t\t\t\t\t\tselected = ' selected=\"selected\" ';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = ' ';\n\t\t\t\t\t}\n\t\t\t\t\t$( $table_select_backup ).append( '' + value + ' (' + wpmdb.common.connection_data.table_sizes_hr[ value ] + ')' );\n\t\t\t\t} );\n\n\t\t\t\tself.$push_select_backup = $table_select_backup;\n\n\t\t\t\tif ( 'pull' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\t\t\t$.wpmdb.do_action( 'wpmdb_update_pull_table_select' );\n\t\t\t\t\t$( '#select-post-types' ).remove();\n\t\t\t\t\t$( '.exclude-post-types-warning' ).after( self.$pull_post_type_select );\n\t\t\t\t\t$( '#select-backup' ).remove();\n\t\t\t\t\t$( '.backup-tables-wrap' ).prepend( self.$pull_select_backup );\n\t\t\t\t\t$( '.table-prefix' ).html( data.prefix );\n\t\t\t\t\t$( '.uploads-dir' ).html( wpmdb_data.this_uploads_dir );\n\t\t\t\t} else {\n\t\t\t\t\t$( '#select-backup' ).remove();\n\t\t\t\t\t$( '.backup-tables-wrap' ).prepend( self.$push_select_backup );\n\t\t\t\t}\n\n\t\t\t\t$.wpmdb.do_action( 'verify_connection_to_remote_site', wpmdb.common.connection_data );\n\t\t\t}\n\t\t} );\n\t}\n\n\t/**\n\t * Main method that shows migration progress in the UI\n\t * @param current_row\n\t * @param primary_keys\n\t * @param iterator\n\t */\n\tmigrate_table_recursive( current_row, primary_keys, iterator ) {\n\t\tlet i = iterator || 0;\n\n\t\tif ( i >= this.tables_to_migrate.length ) {\n\n\t\t\tif ( 'upload' === this.stage && wpmdb.current_migration.model.getStageItems( 'find_replace' ).length ) {\n\t\t\t\tthis.stage = 'find_replace';\n\t\t\t\tthis.tables_to_migrate = wpmdb.current_migration.model.getStageItems( 'find_replace', 'name' );\n\t\t\t\tthis.tables_to_migrate = this.tables_to_migrate.map( function( table ) {\n\t\t\t\t\treturn '_mig_' + table;\n\t\t\t\t} );\n\t\t\t\ti = 0;\n\t\t\t} else if ( 'backup' === this.stage ) {\n\n\t\t\t\tif ( -1 !== $.inArray( this.migration_intent, [ 'push', 'pull' ] ) ) {\n\t\t\t\t\tthis.stage = 'migrate';\n\t\t\t\t} else if ( 'import' === this.migration_intent ) {\n\t\t\t\t\tthis.stage = 'upload';\n\t\t\t\t} else {\n\t\t\t\t\tthis.stage = this.migration_intent;\n\t\t\t\t}\n\n\t\t\t\twpmdb.current_migration.model.setActiveStage( this.stage );\n\n\t\t\t\tif ( 'find_replace' !== this.stage && 'migrate' !== this.stage ) {\n\t\t\t\t\twpmdb.functions.wpmdb_call_next_hook();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ti = 0;\n\n\t\t\t\t// should get from model\n\t\t\t\tthis.tables_to_migrate = wpmdb.functions.get_tables_to_migrate( null, null );\n\n\t\t\t} else {\n\t\t\t\t$( '.progress-label' ).removeClass( 'label-visible' );\n\n\t\t\t\twpmdb.common.hooks = $.wpmdb.apply_filters( 'wpmdb_before_migration_complete_hooks', wpmdb.common.hooks );\n\t\t\t\twpmdb.common.hooks.push( wpmdb.functions.migration_complete );\n\t\t\t\twpmdb.common.hooks.push( wpmdb.functions.wpmdb_flush );\n\t\t\t\twpmdb.common.hooks = $.wpmdb.apply_filters( 'wpmdb_after_migration_complete_hooks', wpmdb.common.hooks );\n\t\t\t\twpmdb.common.hooks.push( wpmdb.functions.migration_complete_events );\n\t\t\t\twpmdb.common.next_step_in_migration = { fn: wpmdb.functions.wpmdb_call_next_hook };\n\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tvar last_table = 0;\n\t\tif ( i === (this.tables_to_migrate.length - 1) ) {\n\t\t\tlast_table = 1;\n\t\t}\n\n\t\tvar gzip = 0;\n\t\tif ( -1 !== $.inArray( this.migration_intent, [\n\t\t\t\t'push',\n\t\t\t\t'pull'\n\t\t\t] ) && 1 === parseInt( wpmdb.common.connection_data.gzip ) ) {\n\t\t\tgzip = 1;\n\t\t}\n\n\t\tvar request_data = {\n\t\t\taction: 'wpmdb_migrate_table',\n\t\t\tmigration_state_id: wpmdb.migration_state_id,\n\t\t\ttable: this.tables_to_migrate[ i ],\n\t\t\tstage: this.stage,\n\t\t\tcurrent_row: current_row,\n\t\t\tlast_table: last_table,\n\t\t\tprimary_keys: primary_keys,\n\t\t\tgzip: gzip,\n\t\t\tnonce: wpmdb_data.nonces.migrate_table\n\t\t};\n\n\t\tif ( -1 !== $.inArray( this.migration_intent, [ 'push', 'pull' ] ) ) {\n\t\t\trequest_data.bottleneck = wpmdb.common.connection_data.bottleneck;\n\t\t\trequest_data.prefix = wpmdb.common.connection_data.prefix;\n\t\t}\n\n\t\tif ( wpmdb.common.connection_data && wpmdb.common.connection_data.path_current_site && wpmdb.common.connection_data.domain ) {\n\t\t\trequest_data.path_current_site = wpmdb.common.connection_data.path_current_site;\n\t\t\trequest_data.domain_current_site = wpmdb.common.connection_data.domain;\n\t\t}\n\n\t\tthis.doing_ajax = true;\n\n\t\t$.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tdataType: 'text',\n\t\t\tcache: false,\n\t\t\ttimeout: 0,\n\t\t\tdata: request_data,\n\t\t\terror: ( jqXHR, textStatus, errorThrown ) => {\n\t\t\t\tvar progress_text = wpmdb_strings.table_process_problem + ' ' + this.tables_to_migrate[ i ] + '

    ' + wpmdb_strings.status + ': ' + jqXHR.status + ' ' + jqXHR.statusText + '

    ' + wpmdb_strings.response + ':
    ' + jqXHR.responseText;\n\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, progress_text, 'error' );\n\n\t\t\t\tthis.doing_ajax = false;\n\t\t\t\tconsole.log( jqXHR );\n\t\t\t\tconsole.log( textStatus );\n\t\t\t\tconsole.log( errorThrown );\n\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\twpmdb.functions.migration_complete_events();\n\n\t\t\t},\n\t\t\tsuccess: ( data ) => {\n\t\t\t\tthis.doing_ajax = false;\n\t\t\t\tdata = $.trim( data );\n\t\t\t\tvar row_information = wpmdb.functions.wpmdb_parse_json( data );\n\t\t\t\tvar error_text = '';\n\n\t\t\t\tif ( false === row_information || null === row_information ) {\n\n\t\t\t\t\t// should update model\n\t\t\t\t\tif ( '' === data || null === data ) {\n\t\t\t\t\t\terror_text = wpmdb_strings.table_process_problem_empty_response + ' ' + this.tables_to_migrate[ i ];\n\t\t\t\t\t} else {\n\t\t\t\t\t\terror_text = this.get_ajax_errors( data, null, null );\n\t\t\t\t\t}\n\n\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, error_text, 'error' );\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( 'undefined' !== typeof row_information.wpmdb_error && 1 === row_information.wpmdb_error ) {\n\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, row_information.body, 'error' );\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar item_name = this.tables_to_migrate[ i ];\n\t\t\t\tif ( 'import' === this.migration_intent && 'find_replace' === this.stage ) {\n\t\t\t\t\titem_name = item_name.replace( wpmdb_data.this_temp_prefix, '' );\n\t\t\t\t}\n\n\t\t\t\t//successful iteration\n\t\t\t\twpmdb.current_migration.setText();\n\t\t\t\twpmdb.current_migration.model.getStageModel( this.stage ).setItemRowsTransferred( item_name, row_information.current_row );\n\n\t\t\t\t// We need the returned file name for delivery or display to the user.\n\t\t\t\tif ( 1 === last_table && 'savefile' === this.migration_intent ) {\n\t\t\t\t\tif ( 'undefined' !== typeof row_information.dump_filename ) {\n\t\t\t\t\t\tthis.dump_filename = row_information.dump_filename;\n\t\t\t\t\t}\n\t\t\t\t\tif ( 'undefined' !== typeof row_information.dump_path ) {\n\t\t\t\t\t\tthis.dump_path = row_information.dump_path;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( -1 === parseInt( row_information.current_row ) ) {\n\t\t\t\t\ti++;\n\t\t\t\t\trow_information.current_row = '';\n\t\t\t\t\trow_information.primary_keys = '';\n\t\t\t\t}\n\n\t\t\t\twpmdb.common.next_step_in_migration = {\n\t\t\t\t\tfn: wpmdb.functions.migrate_table_recursive,\n\t\t\t\t\targs: [ row_information.current_row, row_information.primary_keys, i ]\n\t\t\t\t};\n\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t}\n\t\t} );\n\n\t}\n\n\tmigration_complete_events() {\n\t\tif ( false === wpmdb.common.migration_error ) {\n\t\t\tif ( '' === wpmdb.common.non_fatal_errors ) {\n\t\t\t\tif ( 'savefile' !== this.migration_intent && true === $( '#save_computer' ).is( ':checked' ) ) {\n\t\t\t\t\twpmdb.current_migration.setText();\n\t\t\t\t}\n\n\t\t\t\tthis.completed_msg = this.completed_msg + ' 
    ';\n\n\t\t\t\tif ( true === this.migration_cancelled ) {\n\t\t\t\t\tvar cancel_success = wpmdb_strings.migration_cancelled_success;\n\n\t\t\t\t\tif ( 'find_replace' === this.migration_intent ) {\n\t\t\t\t\t\tcancel_success = wpmdb_strings.find_replace_cancelled_success;\n\t\t\t\t\t}\n\n\t\t\t\t\twpmdb.current_migration.setState( this.completed_msg, cancel_success, 'cancelled' );\n\t\t\t\t} else {\n\t\t\t\t\twpmdb.current_migration.setState( this.completed_msg, '', 'complete' );\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.completed_with_some_errors, wpmdb.common.non_fatal_errors, 'error' );\n\t\t\t}\n\t\t}\n\n\t\t$( '.migration-controls' ).addClass( 'hidden' );\n\n\t\t// reset migration variables so consecutive migrations work correctly\n\t\twpmdb.common.hooks = [];\n\t\twpmdb.common.call_stack = [];\n\t\twpmdb.common.migration_error = false;\n\t\tthis.currently_migrating = false;\n\t\tthis.migration_completed = true;\n\t\tthis.migration_paused = false;\n\t\tthis.migration_cancelled = false;\n\t\tthis.doing_ajax = false;\n\t\twpmdb.common.non_fatal_errors = '';\n\t\tthis.tables_to_migrate = [];\n\n\t\t$( '.progress-label' ).remove();\n\t\t$( '.migration-progress-ajax-spinner' ).remove();\n\t\t$( '.close-progress-content' ).show();\n\t\t$( '#overlay' ).css( 'cursor', 'pointer' );\n\t\twpmdb.current_migration.model.setMigrationComplete();\n\t}\n\n\tmigration_complete() {\n\n\t\t$( '.migration-controls' ).addClass( 'hidden' );\n\n\t\tif ( 'savefile' === this.migration_intent ) {\n\t\t\tthis.currently_migrating = false;\n\t\t\tvar migrate_complete_text = wpmdb_strings.migration_complete;\n\t\t\tif ( $( '#save_computer' ).is( ':checked' ) ) {\n\t\t\t\tvar url = wpmdb_data.this_download_url + encodeURIComponent( this.dump_filename );\n\t\t\t\tif ( $( '#gzip_file' ).is( ':checked' ) ) {\n\t\t\t\t\turl += '&gzip=1';\n\t\t\t\t}\n\t\t\t\twindow.location = url;\n\t\t\t} else {\n\t\t\t\tmigrate_complete_text = wpmdb_strings.completed_dump_located_at + ' ' + this.dump_path;\n\t\t\t}\n\n\t\t\tif ( false === wpmdb.common.migration_error ) {\n\n\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\twpmdb.current_migration.setState( this.completed_msg, migrate_complete_text, 'complete' );\n\n\t\t\t}\n\n\t\t} else { // rename temp tables, delete old tables\n\n\t\t\twpmdb.current_migration.setState( null, wpmdb_strings.finalizing_migration, 'finalizing' );\n\n\t\t\tvar request_data = {\n\t\t\t\taction: 'wpmdb_finalize_migration',\n\t\t\t\tmigration_state_id: wpmdb.migration_state_id,\n\t\t\t\ttables: this.tables_to_migrate.join( ',' ),\n\t\t\t\tnonce: wpmdb_data.nonces.finalize_migration\n\t\t\t};\n\n\t\t\tif ( -1 !== $.inArray( this.migration_intent, [ 'push', 'pull' ] ) ) {\n\t\t\t\trequest_data.prefix = wpmdb.common.connection_data.prefix;\n\t\t\t}\n\n\t\t\tthis.doing_ajax = true;\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: request_data,\n\t\t\t\terror: ( jqXHR, textStatus, errorThrown ) => {\n\t\t\t\t\tthis.doing_ajax = false;\n\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, wpmdb_strings.finalize_tables_problem, 'error' );\n\n\t\t\t\t\talert( jqXHR + ' : ' + textStatus + ' : ' + errorThrown );\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\n\t\t\t\t},\n\t\t\t\tsuccess: ( data ) => {\n\t\t\t\t\tthis.doing_ajax = false;\n\t\t\t\t\tif ( '1' !== $.trim( data ) ) {\n\t\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, data, 'error' );\n\n\t\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twpmdb.common.next_step_in_migration = { fn: wpmdb.functions.wpmdb_call_next_hook };\n\t\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\twpmdb_flush() {\n\t\tif ( 'savefile' !== this.migration_intent ) {\n\t\t\twpmdb.current_migration.setText( wpmdb_strings.flushing );\n\t\t\tthis.doing_ajax = true;\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_flush',\n\t\t\t\t\tmigration_state_id: wpmdb.migration_state_id,\n\t\t\t\t\tnonce: wpmdb_data.nonces.flush\n\t\t\t\t},\n\t\t\t\terror: ( jqXHR, textStatus, errorThrown ) => {\n\t\t\t\t\tthis.doing_ajax = false;\n\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, wpmdb_strings.flush_problem, 'error' );\n\n\t\t\t\t\talert( jqXHR + ' : ' + textStatus + ' : ' + errorThrown );\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\n\t\t\t\t},\n\t\t\t\tsuccess: ( data ) => {\n\t\t\t\t\tthis.doing_ajax = false;\n\t\t\t\t\tif ( '1' !== $.trim( data ) ) {\n\t\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, data, 'error' );\n\n\t\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twpmdb.common.next_step_in_migration = { fn: wpmdb.functions.wpmdb_call_next_hook };\n\t\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\texecute_next_step() {\n\n\t\t// if delay is set, set a timeout for delay to recall this function, then return\n\t\tif ( 0 < this.delay_between_requests && false === this.flag_skip_delay ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tthis.flag_skip_delay = true;\n\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t}, this.delay_between_requests );\n\t\t\treturn;\n\t\t} else {\n\t\t\tthis.flag_skip_delay = false;\n\t\t}\n\n\t\tif ( true === this.migration_paused ) {\n\t\t\t$( '.migration-progress-ajax-spinner' ).hide();\n\n\t\t\t// Pause the timer\n\t\t\twpmdb.current_migration.pauseTimer();\n\n\t\t\tvar pause_text = '';\n\t\t\tif ( true === this.is_auto_pause_before_finalize ) {\n\t\t\t\tpause_text = wpmdb_strings.paused_before_finalize;\n\t\t\t\tthis.is_auto_pause_before_finalize = false;\n\n\t\t\t\tif ( 'find_replace' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\t\t\tpause_text = wpmdb_strings.find_replace_paused_before_finalize;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tpause_text = wpmdb_strings.paused;\n\t\t\t}\n\n\t\t\twpmdb.current_migration.setState( null, pause_text, 'paused' );\n\n\t\t\t// Re-bind Pause/Resume button to Resume when we are finally Paused\n\t\t\t$( 'body' ).on( 'click', '.pause-resume', function( event ) {\n\t\t\t\tthis.set_pause_resume_button( event );\n\t\t\t} );\n\t\t\t$( 'body' ).on( 'click', '.cancel', function( event ) {\n\t\t\t\tthis.cancel_migration( event );\n\t\t\t} );\n\t\t\t$( '.pause-resume' ).html( wpmdb_strings.resume );\n\n\t\t} else if ( true === this.migration_cancelled ) {\n\t\t\tthis.migration_intent = wpmdb.functions.wpmdb_migration_type();\n\n\t\t\tvar progress_msg;\n\n\t\t\tif ( 'savefile' === this.migration_intent ) {\n\t\t\t\tprogress_msg = wpmdb_strings.removing_local_sql;\n\t\t\t} else if ( 'pull' === this.migration_intent ) {\n\t\t\t\tif ( 'backup' === this.stage ) {\n\t\t\t\t\tprogress_msg = wpmdb_strings.removing_local_backup;\n\t\t\t\t} else {\n\t\t\t\t\tprogress_msg = wpmdb_strings.removing_local_temp_tables;\n\t\t\t\t}\n\t\t\t} else if ( 'push' === this.migration_intent ) {\n\t\t\t\tif ( 'backup' === this.stage ) {\n\t\t\t\t\tprogress_msg = wpmdb_strings.removing_remote_sql;\n\t\t\t\t} else {\n\t\t\t\t\tprogress_msg = wpmdb_strings.removing_remote_temp_tables;\n\t\t\t\t}\n\t\t\t}\n\t\t\twpmdb.current_migration.setText( progress_msg );\n\n\t\t\tvar request_data = {\n\t\t\t\taction: 'wpmdb_cancel_migration',\n\t\t\t\tmigration_state_id: wpmdb.migration_state_id,\n\t\t\t\tnonce: wpmdb_data.nonces.cancel_migration\n\t\t\t};\n\n\t\t\tthis.doing_ajax = true;\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: request_data,\n\t\t\t\terror: ( jqXHR, textStatus, errorThrown ) => {\n\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_cancellation_failed, wpmdb_strings.manually_remove_temp_files + '

    ' + wpmdb_strings.status + ': ' + jqXHR.status + ' ' + jqXHR.statusText + '

    ' + wpmdb_strings.response + ':
    ' + jqXHR.responseText, 'error' );\n\t\t\t\t\tconsole.log( jqXHR );\n\t\t\t\t\tconsole.log( textStatus );\n\t\t\t\t\tconsole.log( errorThrown );\n\t\t\t\t\tthis.doing_ajax = false;\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\n\t\t\t\t},\n\t\t\t\tsuccess: ( data ) => {\n\t\t\t\t\tthis.doing_ajax = false;\n\t\t\t\t\tdata = $.trim( data );\n\n\t\t\t\t\tif ( ('push' === this.migration_intent && '1' !== data) || ('push' !== this.migration_intent && '' !== data) ) {\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof data && 'undefined' !== typeof data.wpmdb_error && 1 === data.wpmdb_error ) {\n\t\t\t\t\t\t\tdata = data.wpmdb_error;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_cancellation_failed, data, 'error' );\n\t\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.completed_msg = wpmdb_strings.migration_cancelled;\n\n\t\t\t\t\tif ( 'find_replace' === this.migration_intent ) {\n\t\t\t\t\t\tthis.completed_msg = wpmdb_strings.find_replace_cancelled;\n\t\t\t\t\t}\n\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\twpmdb.current_migration.setStatus( 'cancelled' );\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\twpmdb.common.next_step_in_migration.fn.apply( null, wpmdb.common.next_step_in_migration.args );\n\t\t}\n\t}\n\n\tmaybe_show_prefix_notice( prefix ) {\n\t\tvar $prefix_notice = $( '.prefix-notice' );\n\n\t\t$prefix_notice.hide();\n\n\t\tif ( prefix !== wpmdb_data.this_prefix ) {\n\t\t\t$( '.remote-prefix' ).html( prefix );\n\t\t\tthis.show_prefix_notice = true;\n\t\t\t$prefix_notice.show();\n\t\t}\n\t}\n\n\tmaybe_show_mst_warning( data ) {\n\t\tconst migration_type = wpmdb.functions.wpmdb_migration_type();\n\t\tlet show_mst_warning = false;\n\n\t\tif ( -1 !== $.inArray( migration_type, [ 'push', 'pull' ] ) && 'undefined' !== typeof data.site_details ) {\n\t\t\tif ( wpmdb_data.site_details.is_multisite !== data.site_details.is_multisite ) {\n\t\t\t\tif ( 'undefined' === typeof wpmdb.mst || 'undefined' === typeof data.mst_available || '1' !== data.mst_available ) {\n\t\t\t\t\tshow_mst_warning = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( 'import' === migration_type ) {\n\t\t\tif ( 'undefined' !== typeof data.multisite && 'undefined' !== typeof data.subsite_export ) {\n\t\t\t\tif (\n\t\t\t\t\t('false' === wpmdb_data.site_details.is_multisite && 'true' === data.multisite && 'true' !== data.subsite_export) ||\n\t\t\t\t\t('true' === wpmdb_data.site_details.is_multisite && 'false' === data.multisite)\n\t\t\t\t) {\n\t\t\t\t\tshow_mst_warning = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tshow_mst_warning = $.wpmdb.apply_filters( 'wpmdb_show_mst_warning', show_mst_warning );\n\n\t\tif ( show_mst_warning ) {\n\t\t\t$( '.mst-required' ).show();\n\t\t}\n\n\t\treturn show_mst_warning;\n\n\t}\n\n\tmaybe_show_select_table_notice() {\n\n\t\t// check that they've selected some tables to migrate\n\t\tif ( $( '#migrate-selected' ).is( ':checked' ) && null === $( '#select-tables' ).val() ) {\n\t\t\tif ( 'import' !== wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\t\talert( wpmdb_strings.please_select_one_table );\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\tif ( $( '#import-find-replace' ).is( ':checked' ) && $( '#select-tables' ).is( ':visible' ) ) {\n\t\t\t\t\talert( wpmdb_strings.please_select_one_table_import );\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// check that they've selected some tables to backup\n\t\tif ( 'savefile' !== wpmdb.functions.wpmdb_migration_type() && $( '#backup-manual-select' ).is( ':checked' ) && null === $( '#select-backup' ).val() ) {\n\t\t\talert( wpmdb_strings.please_select_one_table_backup );\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tremove_protocol( url ) {\n\t\treturn url.replace( /^https?:/i, '' );\n\t}\n\n\tcreate_table_select( tables, table_sizes_hr, selected_tables ) {\n\t\tvar $table_select = document.createElement( 'select' );\n\t\t$( $table_select ).attr( {\n\t\t\tmultiple: 'multiple',\n\t\t\tname: 'select_tables[]',\n\t\t\tid: 'select-tables',\n\t\t\tclass: 'multiselect'\n\t\t} );\n\n\t\tif ( 0 < tables.length ) {\n\t\t\t$.each( tables, function( index, table ) {\n\t\t\t\tif ( $.wpmdb.apply_filters( 'wpmdb_exclude_table', false, table ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar selected = ' ';\n\t\t\t\tif ( undefined !== selected_tables && null !== selected_tables && 0 < selected_tables.length && -1 !== $.inArray( table, selected_tables ) ) {\n\t\t\t\t\tselected = ' selected=\"selected\" ';\n\t\t\t\t}\n\n\t\t\t\tvar size = '';\n\t\t\t\tif ( 0 !== table_sizes_hr.length ) {\n\t\t\t\t\tsize = ' (' + table_sizes_hr[ table ] + ')';\n\t\t\t\t}\n\n\t\t\t\t$( $table_select ).append( '' + table + size + '' );\n\t\t\t} );\n\t\t}\n\n\t\treturn $table_select;\n\t}\n\n\t/**\n\t * Returns tables selected for migration.\n\t *\n\t * @returns {array}\n\t *\n\t * Also handler for wpmdb_get_tables_to_migrate filter, disregards input values as it is the primary source.\n\t */\n\tget_tables_to_migrate() {\n\t\tvar tables = [];\n\t\tvar mig_type = wpmdb.functions.wpmdb_migration_type();\n\t\tvar table_intent = $( 'input[name=table_migrate_option]:checked' ).val();\n\n\t\t// Grab tables as per what the user has selected from the multiselect box or all prefixed tables.\n\t\tif ( 'migrate_select' === table_intent ) {\n\t\t\ttables = $( '#select-tables' ).val();\n\t\t} else {\n\t\t\tif ( 'pull' !== mig_type && 'undefined' !== typeof wpmdb_data.this_prefixed_tables ) {\n\t\t\t\ttables = wpmdb_data.this_prefixed_tables;\n\t\t\t} else if ( 'pull' === mig_type && 'undefined' !== typeof wpmdb.common.connection_data && 'undefined' !== typeof wpmdb.common.connection_data.prefixed_tables ) {\n\t\t\t\ttables = wpmdb.common.connection_data.prefixed_tables;\n\t\t\t}\n\t\t}\n\n\t\treturn tables;\n\t}\n\n\tupdate_migrate_button_text() {\n\t\tvar migration_intent = wpmdb.functions.wpmdb_migration_type();\n\t\tvar save_string = ($( '#save-migration-profile' ).is( ':checked' )) ? '_save' : '';\n\t\tvar migrate_string = 'migrate_button_' + (('savefile' === migration_intent) ? 'export' : migration_intent) + save_string;\n\t\t$( '.migrate-db .button-primary' ).val( wpmdb_strings[ migrate_string ] );\n\t}\n\n\t// fired when the connection info box changes (e.g. gets pasted into)\n\tconnection_box_changed() {\n\t\tvar $this = $( '.pull-push-connection-info' );\n\n\t\tif ( -1 === $.inArray( wpmdb.functions.wpmdb_migration_type(), [ 'push', 'pull' ] ) ||\n\t\t (this.doing_ajax || $( $this ).hasClass( 'temp-disabled' )) && false === wpmdb.force_reconnect ) {\n\t\t\treturn;\n\t\t}\n\n\t\twpmdb.force_reconnect = false;\n\t\tvar data = $( '.pull-push-connection-info' ).val();\n\n\t\tvar connection_info = $.trim( data ).split( '\\n' );\n\t\tvar error = false;\n\t\tvar error_message = '';\n\n\t\tif ( '' === connection_info ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_missing;\n\t\t}\n\n\t\t// attempt to format the connection info from a single line\n\t\tif ( 1 === connection_info.length && !error ) {\n\t\t\tvar connection_words = $.trim( data ).split( ' ' );\n\t\t\tif ( 2 === connection_words.length ) {\n\t\t\t\tconnection_info = connection_words;\n\t\t\t}\n\t\t}\n\n\t\tif ( 2 !== connection_info.length && !error ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_incorrect;\n\t\t}\n\n\t\tif ( !error && !this.validate_url( connection_info[ 0 ] ) ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_url_invalid;\n\t\t}\n\n\t\tvar key_length = 0;\n\n\t\tif ( 'undefined' !== typeof connection_info[ 1 ] ) {\n\t\t\tkey_length = connection_info[ 1 ].length;\n\t\t}\n\n\t\tif ( !error && 32 !== key_length && 40 !== key_length ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_key_invalid;\n\t\t}\n\n\t\tif ( !error && connection_info[ 0 ] === wpmdb_data.connection_info[ 0 ] ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_local_url;\n\t\t}\n\n\t\tif ( !error && connection_info[ 1 ] === wpmdb_data.connection_info[ 1 ] ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_local_key;\n\t\t}\n\t\tif ( error ) {\n\t\t\t$( '.connection-status' ).html( error_message );\n\t\t\t$( '.connection-status' ).addClass( 'notification-message error-notice migration-error' );\n\t\t\treturn;\n\t\t}\n\n\t\tvar new_connection_info_contents = connection_info[ 0 ] + '\\n' + connection_info[ 1 ];\n\n\t\t// If connection info is a single line\n\t\tif ( 1 === $.trim( data ).split( '\\n' ).length ) {\n\n\t\t\t// Repopulate the input with the info on two lines\n\t\t\t$( '.pull-push-connection-info' ).val( new_connection_info_contents );\n\t\t}\n\n\t\tif ( false === wpmdb_data.openssl_available ) {\n\t\t\tconnection_info[ 0 ] = connection_info[ 0 ].replace( 'https://', 'http://' );\n\t\t\tnew_connection_info_contents = connection_info[ 0 ] + '\\n' + connection_info[ 1 ];\n\t\t\t$( '.pull-push-connection-info' ).val( new_connection_info_contents );\n\t\t}\n\n\t\tthis.show_prefix_notice = false;\n\t\tthis.doing_ajax = true;\n\t\tthis.disable_export_type_controls();\n\n\t\tif ( $( '.basic-access-auth-wrapper' ).is( ':visible' ) ) {\n\t\t\tconnection_info[ 0 ] = connection_info[ 0 ].replace( /\\/\\/(.*)@/, '//' );\n\t\t\tconnection_info[ 0 ] = connection_info[ 0 ].replace( '//', '//' + encodeURIComponent( $.trim( $( '.auth-username' ).val() ) ) + ':' + encodeURIComponent( $.trim( $( '.auth-password' ).val() ) ) + '@' );\n\t\t\tnew_connection_info_contents = connection_info[ 0 ] + '\\n' + connection_info[ 1 ];\n\t\t\t$( '.pull-push-connection-info' ).val( new_connection_info_contents );\n\t\t\t$( '.basic-access-auth-wrapper' ).hide();\n\t\t}\n\n\t\t$( '.step-two' ).hide();\n\t\t$( '.ssl-notice' ).hide();\n\t\t$( '.prefix-notice' ).hide();\n\t\t$( '.connection-status' ).show();\n\n\t\t$( '.connection-status' ).html( wpmdb_strings.establishing_remote_connection );\n\t\t$( '.connection-status' ).removeClass( 'notification-message error-notice migration-error' );\n\t\t$( '.connection-status' ).append( this.ajax_spinner );\n\n\t\tvar intent = wpmdb.functions.wpmdb_migration_type();\n\n\t\tthis.profile_name_edited = false;\n\n\t\treturn $.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tdataType: 'json',\n\t\t\tcache: false,\n\t\t\tdata: {\n\t\t\t\taction: 'wpmdb_verify_connection_to_remote_site',\n\t\t\t\turl: connection_info[ 0 ],\n\t\t\t\tkey: connection_info[ 1 ],\n\t\t\t\tintent: intent,\n\t\t\t\tnonce: wpmdb_data.nonces.verify_connection_to_remote_site\n\t\t\t},\n\t\t\terror: ( jqXHR, textStatus, errorThrown ) => {\n\t\t\t\t$( '.connection-status' ).html( this.get_ajax_errors( jqXHR.responseText, '(#100)', jqXHR ) );\n\t\t\t\t$( '.connection-status' ).addClass( 'notification-message error-notice migration-error' );\n\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\tthis.doing_ajax = false;\n\t\t\t\tthis.enable_export_type_controls();\n\t\t\t},\n\t\t\tsuccess: ( data ) => {\n\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\tthis.doing_ajax = false;\n\t\t\t\tthis.enable_export_type_controls();\n\n\t\t\t\tif ( 'undefined' !== typeof data.wpmdb_error && 1 === data.wpmdb_error ) {\n\t\t\t\t\t$( '.connection-status' ).html( data.body );\n\t\t\t\t\t$( '.connection-status' ).addClass( 'notification-message error-notice migration-error' );\n\n\t\t\t\t\tif ( data.body.indexOf( '401 Unauthorized' ) > -1 ) {\n\t\t\t\t\t\t$( '.basic-access-auth-wrapper' ).show();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !$( '.pull-push-connection-info' ).hasClass( 'temp-disabled' ) && !$( '.connect-button' ).is( ':visible' ) ) {\n\t\t\t\t\t\t$( '.pull-push-connection-info' ).removeAttr( 'readonly' );\n\t\t\t\t\t\t$( '.connect-button' ).show();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( true === this.maybe_show_mst_warning( data ) ) {\n\t\t\t\t\t$( '.connection-status' ).hide();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.maybe_show_ssl_warning( connection_info[ 0 ], connection_info[ 1 ], data.scheme );\n\n\t\t\t\tvar profile_name = this.get_domain_name( data.url );\n\t\t\t\t$( '.create-new-profile' ).val( profile_name );\n\n\t\t\t\t$( '.pull-push-connection-info' ).addClass( 'temp-disabled' );\n\t\t\t\t$( '.pull-push-connection-info' ).attr( 'readonly', 'readonly' );\n\t\t\t\t$( '.connect-button' ).hide();\n\n\t\t\t\t$( '.connection-status' ).hide();\n\t\t\t\t$( '.step-two' ).show();\n\n\t\t\t\twpmdb.functions.maybe_show_prefix_notice( data.prefix );\n\n\t\t\t\tthis.connection_established = true;\n\t\t\t\tthis.set_connection_data( data );\n\t\t\t\tthis.move_connection_info_box();\n\t\t\t\tthis.change_replace_values();\n\n\t\t\t\tthis.maybe_show_mixed_cased_table_name_warning();\n\n\t\t\t\tthis.refresh_table_selects( null, null, this );\n\n\t\t\t\tthis.$push_select_backup = $( this.$pull_select ).clone();\n\t\t\t\t$( this.$push_select_backup ).attr( {\n\t\t\t\t\tname: 'select_backup[]',\n\t\t\t\t\tid: 'select-backup'\n\t\t\t\t} );\n\n\t\t\t\tvar $post_type_select = document.createElement( 'select' );\n\t\t\t\t$( $post_type_select ).attr( {\n\t\t\t\t\tmultiple: 'multiple',\n\t\t\t\t\tname: 'select_post_types[]',\n\t\t\t\t\tid: 'select-post-types',\n\t\t\t\t\tclass: 'multiselect'\n\t\t\t\t} );\n\n\t\t\t\t$.each( wpmdb.common.connection_data.post_types, function( index, value ) {\n\t\t\t\t\t$( $post_type_select ).append( '' );\n\t\t\t\t} );\n\n\t\t\t\tthis.$pull_post_type_select = $post_type_select;\n\n\t\t\t\t$( '#new-path-missing-warning, #new-url-missing-warning' ).hide();\n\n\t\t\t\tif ( 'pull' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\t\t\t$( '#new-url' ).val( this.remove_protocol( wpmdb_data.this_url ) );\n\t\t\t\t\t$( '#new-path' ).val( wpmdb_data.this_path );\n\t\t\t\t\tif ( 'true' === wpmdb_data.is_multisite ) {\n\t\t\t\t\t\t$( '#new-domain' ).val( wpmdb_data.this_domain );\n\t\t\t\t\t\t$( '.replace-row.pin .old-replace-col input[type=\"text\"]' ).val( this.remove_protocol( data.url ) );\n\t\t\t\t\t}\n\t\t\t\t\t$( '#old-url' ).val( this.remove_protocol( data.url ) );\n\t\t\t\t\t$( '#old-path' ).val( data.path );\n\n\t\t\t\t\t$.wpmdb.do_action( 'wpmdb_update_pull_table_select' );\n\t\t\t\t\t$( '#select-post-types' ).remove();\n\t\t\t\t\t$( '.exclude-post-types-warning' ).after( this.$pull_post_type_select );\n\t\t\t\t\twpmdb.functions.exclude_post_types_warning();\n\t\t\t\t\t$( '.table-prefix' ).html( data.prefix );\n\t\t\t\t\t$( '.backup-table-prefix' ).html( wpmdb_data.site_details.prefix );\n\t\t\t\t\t$( '.uploads-dir' ).html( wpmdb_data.this_uploads_dir );\n\t\t\t\t} else {\n\t\t\t\t\t$( '#new-url' ).val( this.remove_protocol( data.url ) );\n\t\t\t\t\t$( '#new-path' ).val( data.path );\n\n\t\t\t\t\tif ( 'true' === wpmdb_data.is_multisite ) {\n\t\t\t\t\t\t$( '.replace-row.pin .old-replace-col input[type=\"text\"]' ).val( this.remove_protocol( wpmdb_data.this_url ) );\n\t\t\t\t\t}\n\t\t\t\t\t$.wpmdb.do_action( 'wpmdb_update_push_table_select' );\n\t\t\t\t\t$( '#select-backup' ).remove();\n\t\t\t\t\t$( '.backup-tables-wrap' ).prepend( this.$push_select_backup );\n\t\t\t\t}\n\n\t\t\t\twpmdb.common.next_step_in_migration = {\n\t\t\t\t\tfn: $.wpmdb.do_action,\n\t\t\t\t\targs: [ 'verify_connection_to_remote_site', wpmdb.common.connection_data ]\n\t\t\t\t};\n\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t}\n\t\t} );\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/helpers/wpmdbGlobals.js","(function( $ ) {\n\n\t$.wpmdb = {\n\t\t/**\n\t\t * Implement a WordPress-link Hook System for Javascript\n\t\t * TODO: Change 'tag' to 'args', allow number (priority), string (tag), object (priority+tag)\n\t\t */\n\t\thooks: { action: {}, filter: {} },\n\t\tadd_action: function( action, callable, tag, self ) {\n\t\t\tjQuery.wpmdb.add_hook( 'action', action, callable, tag, self );\n\t\t},\n\t\tadd_filter: function( action, callable, tag, self ) {\n\t\t\tjQuery.wpmdb.add_hook( 'filter', action, callable, tag, self );\n\t\t},\n\t\tdo_action: function( action, args ) {\n\t\t\tjQuery.wpmdb.do_hook( 'action', action, null, args );\n\t\t},\n\t\tapply_filters: function( action, value, args ) {\n\t\t\treturn jQuery.wpmdb.do_hook( 'filter', action, value, args );\n\t\t},\n\t\tremove_action: function( action, tag ) {\n\t\t\tjQuery.wpmdb.remove_hook( 'action', action, tag );\n\t\t},\n\t\tremove_filter: function( action, tag ) {\n\t\t\tjQuery.wpmdb.remove_hook( 'filter', action, tag );\n\t\t},\n\t\tadd_hook: function( hook_type, action, callable, tag, self ) {\n\t\t\tif ( undefined === jQuery.wpmdb.hooks[ hook_type ][ action ] ) {\n\t\t\t\tjQuery.wpmdb.hooks[ hook_type ][ action ] = [];\n\t\t\t}\n\t\t\tvar hooks = jQuery.wpmdb.hooks[ hook_type ][ action ];\n\t\t\tif ( undefined === tag ) {\n\t\t\t\ttag = action + '_' + hooks.length;\n\t\t\t}\n\t\t\tjQuery.wpmdb.hooks[ hook_type ][ action ].push( { tag: tag, callable: callable, instance: self } );\n\t\t},\n\t\tdo_hook: function( hook_type, action, value, args ) {\n\t\t\tif ( undefined !== jQuery.wpmdb.hooks[ hook_type ][ action ] ) {\n\t\t\t\tvar hooks = jQuery.wpmdb.hooks[ hook_type ][ action ];\n\t\t\t\tfor ( var i = 0; i < hooks.length; i++ ) {\n\t\t\t\t\tif ( 'action' === hook_type ) {\n\n\t\t\t\t\t\t// .call (value of this, arg1, arg2) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call\n\t\t\t\t\t\thooks[ i ].callable.call( hooks[ i ].instance, args, hooks[ i ].instance );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = hooks[ i ].callable.call( hooks[ i ].instance, value, args, hooks[ i ].instance );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( 'filter' === hook_type ) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t},\n\t\tremove_hook: function( hook_type, action, tag ) {\n\t\t\tif ( undefined !== jQuery.wpmdb.hooks[ hook_type ][ action ] ) {\n\t\t\t\tvar hooks = jQuery.wpmdb.hooks[ hook_type ][ action ];\n\t\t\t\tfor ( var i = hooks.length - 1; 0 < i; i-- ) {\n\t\t\t\t\tif ( undefined === tag || tag === hooks[ i ].tag ) {\n\t\t\t\t\t\thooks.splice( i, 1 );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n})( jQuery );\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/hook.js","(function( $, wpmdb ) {\n\n\tvar import_selected = false;\n\tvar $import_select = $( '#select-tables' ).clone();\n\tvar tables_to_search = [];\n\tvar tables_to_import = [];\n\tvar unrecognized_import_file = false;\n\tvar import_prefix = '';\n\tvar import_info = {};\n\tvar ajax_spinner = '\"\"';\n\n\t/**\n\t * Returns the migration status label for imports\n\t *\n\t * @param string label\n\t * @param object args\n\t *\n\t * @returns {string}\n\t */\n\tfunction import_migration_status_label( label, args ) {\n\t\tif ( 'import' === args.intent ) {\n\t\t\tif ( 'completed' === args.stage ) {\n\t\t\t\tlabel = wpmdb_strings.import_label_completed;\n\t\t\t} else {\n\t\t\t\tlabel = wpmdb_strings.import_label_migrating;\n\t\t\t}\n\t\t}\n\n\t\treturn label;\n\t}\n\t$.wpmdb.add_filter( 'wpmdb_get_migration_status_label', import_migration_status_label );\n\n\t/**\n\t * Updates the connection info box for imports\n\t *\n\t * @param object args\n\t */\n\tfunction import_connection_info_box( args ) {\n\t\tvar $import_file_status = $( '.import-file-status' );\n\n\t\tif ( 'import' === args.migration_type ) {\n\n\t\t\tif ( ! import_selected ) {\n\t\t\t\t$( '.step-two' ).hide();\n\n\t\t\t\tif ( $import_file_status.hasClass( 'profile-loaded' ) ) {\n\t\t\t\t\t$import_file_status.attr( 'class', 'import-file-status profile-loaded notification-message success-notice' );\n\t\t\t\t\t$import_file_status.html( wpmdb_strings.import_profile_loaded );\n\t\t\t\t} else {\n\t\t\t\t\t$import_file_status.html( wpmdb_strings.please_select_sql_file );\n\t\t\t\t}\n\n\t\t\t\t$import_file_status.show();\n\t\t\t} else {\n\t\t\t\tif ( unrecognized_import_file ) {\n\t\t\t\t\t$( '.unrecognized-import-file-notice' ).show();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tmaybe_show_find_replace_options();\n\n\t\t\t$( '.mst-options' ).hide();\n\t\t\t$( '.import-find-replace-option, .import-active-plugin-option' ).show();\n\t\t} else {\n\t\t\t$( '.find-replace-rows, .table-options, .advanced-options, .exclude-post-types-options, label[for=\"backup-selected\"]' ).show();\n\t\t\t$( '.import-find-replace-option, .find-replace-options, .import-file-status, .import-active-plugin-option, .unrecognized-import-file-notice' ).hide();\n\n\t\t\tif ( 'search_all_imported' === $( 'input[name=table_migrate_option]:checked' ).val() ) {\n\t\t\t\t$( 'input[name=table_migrate_option][value=migrate_only_with_prefix]' ).prop( 'checked', true );\n\t\t\t}\n\t\t}\n\t}\n\t$.wpmdb.add_action( 'move_connection_info_box', import_connection_info_box );\n\n\t/**\n\t * Starts the upload process for the import\n\t *\n\t * @param stage\n\t */\n\tfunction maybe_initiate_import( stage ) {\n\t\tif ( 'import' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\tif ( 'backup' === stage ) {\n\t\t\t\twpmdb.common.hooks.push( wpmdb.functions.migrate_table_recursive );\n\t\t\t}\n\n\t\t\twpmdb.common.hooks.push( wpmdb.functions.upload_file_recursive );\n\t\t\twpmdb.common.next_step_in_migration = { fn: wpmdb.functions.wpmdb_call_next_hook };\n\t\t\twpmdb.functions.execute_next_step();\n\t\t}\n\t}\n\t$.wpmdb.add_action( 'wpmdb_migration_initiated', maybe_initiate_import );\n\n\t/**\n\t * Restores the import select when changing migration types\n\t */\n\tfunction update_import_table_select() {\n\t\t$( '#select-tables' ).remove();\n\t\t$( '.select-tables-wrap' ).prepend( $import_select );\n\t\t$( '#select-tables' ).change();\n\t}\n\t$.wpmdb.add_action( 'wpmdb_update_import_table_select', update_import_table_select );\n\n\t/**\n\t * Updates the selected tables for the \"Backup tables that will be replaced during the import\" option\n\t *\n\t * @param tables_to_backup\n\t *\n\t * @return array\n\t */\n\tfunction backup_selected_for_import( tables_to_backup ) {\n\t\tif ( 'import' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\ttables_to_backup = tables_to_import;\n\t\t}\n\n\t\treturn tables_to_backup;\n\t}\n\t$.wpmdb.add_filter( 'wpmdb_backup_selected_tables', backup_selected_for_import );\n\n\t/**\n\t * Adds the import migration stage\n\t *\n\t * object args\n\t */\n\tfunction add_import_stage( args ) {\n\t\tif ( 'import' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\twpmdb.current_migration.model.addStage( 'upload', [], 'local', {\n\t\t\t\tstrings: {\n\t\t\t\t\tstage_title: wpmdb_strings.upload\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\twpmdb.current_migration.model.addStage( 'import', [], 'local', {\n\t\t\t\tstrings: {\n\t\t\t\t\tstage_title: wpmdb_strings.migrate_button_import\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( $( '#import-find-replace' ).is( ':checked' ) ) {\n\t\t\t\ttables_to_search = args.tables_to_migrate;\n\t\t\t\twpmdb.current_migration.model.addStage( 'find_replace', [], 'local', {\n\t\t\t\t\tstrings: {\n\t\t\t\t\t\tmigrated: wpmdb_strings.searched,\n\t\t\t\t\t\tstage_title: wpmdb_strings.migrate_button_find_replace\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}\n\t$.wpmdb.add_action( 'wpmdb_add_migration_stages', add_import_stage );\n\n\t/**\n\t * Adds any info necessary to begin an import\n\t *\n\t * @param object request_data\n\t *\n\t * @return {object}\n\t */\n\tfunction initiate_import_request_data( request_data ) {\n\t\tif ( 'import' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\trequest_data.import_info = import_info;\n\t\t}\n\n\t\treturn request_data;\n\t}\n\t$.wpmdb.add_filter( 'wpmdb_initiate_migration_request_data', initiate_import_request_data );\n\n\t/**\n\t * Gets more information about the import file and loads step-two\n\t *\n\t * @param event\n\t */\n\tfunction get_import_info( event ) {\n\t\tvar files = event.target.files; // FileList object\n\t\tvar file = files[0];\n\t\tvar reader = new FileReader();\n\t\tvar $import_file_status = $( '.import-file-status' );\n\t\tvar $backup_selected_option = $( 'label[for=\"backup-selected\"]' );\n\t\tvar $prefix_notice = $( '.prefix-notice' );\n\t\tvar $unrecognized_file_notice = $( '.unrecognized-import-file-notice' );\n\t\tvar $step_two = $( '.step-two' );\n\t\tvar $old_url = $( '#old-url' );\n\t\tvar $old_path = $( '#old-path' );\n\t\tvar $new_url = $( '#new-url' );\n\t\tvar $new_path = $( '#new-path' );\n\n\t\t$import_file_status.hide().attr( 'class', 'import-file-status' );\n\t\t$prefix_notice.hide();\n\t\t$unrecognized_file_notice.hide();\n\t\t$step_two.hide();\n\t\t$( '.mst-required ' ).hide();\n\n\t\tif ( ! files.length ) {\n\t\t\tif ( import_selected ) {\n\t\t\t\t$step_two.hide();\n\t\t\t\t$import_file_status.text( wpmdb_strings.please_select_sql_file ).show();\n\t\t\t\timport_selected = false;\n\t\t\t}\n\t\t\treturn;\n\t\t} else {\n\n\t\t\tif ( '.sql' === file.name.slice( -4 ) || '.sql.gz' === file.name.slice( -7 ) ) {\n\t\t\t\timport_selected = true;\n\t\t\t} else {\n\t\t\t\t$import_file_status.addClass( 'notification-message error-notice migration-error' ).text( wpmdb_strings.invalid_sql_file ).show();\n\t\t\t\t$step_two.hide();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\timport_prefix = '';\n\n\t\t$import_file_status.text( wpmdb_strings.parsing_sql_file ).append( ajax_spinner ).show();\n\n\t\treader.onloadend = function( event ) {\n\t\t\tif ( event.target.readyState !== FileReader.DONE ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_get_import_info',\n\t\t\t\t\tfile_data: event.target.result,\n\t\t\t\t\tnonce: wpmdb_data.nonces.import_file\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\tconsole.log( jqXHR, textStatus, errorThrown );\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\t\t$import_file_status.hide();\n\n\t\t\t\t\tif ( true === wpmdb.functions.maybe_show_mst_warning( data ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t$step_two.show();\n\n\t\t\t\t\tif ( 'undefined' !== typeof data.wpmdb_error && 1 === data.wpmdb_error ) {\n\t\t\t\t\t\t$import_file_status.text( data.body ).addClass( 'notification-message error-notice migration-error' ).show();\n\t\t\t\t\t\t$step_two.hide();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar localStorage_form_data = wpmdb.functions.get_localStorage_form_data();\n\t\t\t\t\t\timport_info = data;\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof data.prefix ) {\n\t\t\t\t\t\t\timport_prefix = data.prefix;\n\t\t\t\t\t\t\t$( '.table-prefix' ).text( data.prefix );\n\t\t\t\t\t\t\twpmdb.functions.maybe_show_prefix_notice( data.prefix );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof data.tables ) {\n\t\t\t\t\t\t\ttables_to_import = data.tables;\n\t\t\t\t\t\t\t$backup_selected_option.show();\n\n\t\t\t\t\t\t\t// Update the find & replace values\n\t\t\t\t\t\t\tif ( ! localStorage_form_data ) {\n\t\t\t\t\t\t\t\t$old_url.val( wpmdb.functions.remove_protocol( data.URL ) );\n\t\t\t\t\t\t\t\t$old_path.val( data.path );\n\t\t\t\t\t\t\t\t$new_url.val( wpmdb.functions.remove_protocol( wpmdb_data.this_url ) );\n\t\t\t\t\t\t\t\t$new_path.val( wpmdb_data.this_path );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Update the select with tables that will be imported\n\t\t\t\t\t\t\tvar loaded_tables = [];\n\t\t\t\t\t\t\tvar loaded_post_types = [];\n\n\t\t\t\t\t\t\tif ( localStorage_form_data ) {\n\t\t\t\t\t\t\t\tloaded_tables = localStorage_form_data.select_tables;\n\t\t\t\t\t\t\t\tloaded_post_types = localStorage_form_data.select_post_types;\n\t\t\t\t\t\t\t\twpmdb.functions.remove_localStorage_form_data();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif ( 'migrate_only_with_prefix' === $( 'input[name=table_migrate_option]:checked' ).val() && ! $import_file_status.hasClass( 'profile-loaded' ) ) {\n\t\t\t\t\t\t\t\t\t$( 'input[name=table_migrate_option][value=search_all_imported]' ).prop( 'checked', true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( false === wpmdb_default_profile && 'undefined' !== typeof wpmdb_loaded_tables ) {\n\t\t\t\t\t\t\t\tloaded_tables = wpmdb_loaded_tables;\n\t\t\t\t\t\t\t\tloaded_post_types = wpmdb_loaded_post_types;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$import_select = wpmdb.functions.create_table_select( data.tables, [], loaded_tables );\n\t\t\t\t\t\t\t$.wpmdb.do_action( 'wpmdb_update_import_table_select' );\n\n\t\t\t\t\t\t\tif ( 'undefined' !== typeof data.post_types ) {\n\t\t\t\t\t\t\t\tvar $post_type_select = document.createElement( 'select' );\n\t\t\t\t\t\t\t\t$( $post_type_select ).attr( {\n\t\t\t\t\t\t\t\t\tmultiple: 'multiple',\n\t\t\t\t\t\t\t\t\tname: 'select_post_types[]',\n\t\t\t\t\t\t\t\t\tid: 'select-post-types',\n\t\t\t\t\t\t\t\t\tclass: 'multiselect'\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t$.each( data.post_types, function( index, value ) {\n\t\t\t\t\t\t\t\t\tvar selected = $.inArray( value, loaded_post_types );\n\t\t\t\t\t\t\t\t\tif ( -1 !== selected || ( true === wpmdb_convert_exclude_revisions && 'revision' !== value ) ) {\n\t\t\t\t\t\t\t\t\t\tselected = true;\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tselected = false;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tvar opt = document.createElement( 'option' );\n\t\t\t\t\t\t\t\t\topt.value = value;\n\t\t\t\t\t\t\t\t\topt.text = value;\n\t\t\t\t\t\t\t\t\topt.selected = selected;\n\t\t\t\t\t\t\t\t\t$post_type_select.add( opt, null );\n\t\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\t\t$( '#select-post-types' ).remove();\n\t\t\t\t\t\t\t\t$( '.exclude-post-types-warning' ).after( $post_type_select );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( unrecognized_import_file ) {\n\t\t\t\t\t\t\t\tunrecognized_import_file = false;\n\t\t\t\t\t\t\t\tmaybe_show_find_replace_options();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$unrecognized_file_notice.show();\n\t\t\t\t\t\t\t$backup_selected_option.hide();\n\t\t\t\t\t\t\t$( '.table-options' ).hide();\n\t\t\t\t\t\t\tunrecognized_import_file = true;\n\n\t\t\t\t\t\t\t$new_url.val( $old_url.val() );\n\t\t\t\t\t\t\t$new_path.val( $old_path.val() );\n\t\t\t\t\t\t\t$old_url.val( '' );\n\t\t\t\t\t\t\t$old_path.val( '' );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\n\t\tvar blob = file.slice( 0, 1024 * 1000 );\n\t\treader.readAsDataURL( blob );\n\t}\n\t$( '#import-file' ).on( 'change', get_import_info );\n\n\t/**\n\t * Displays the find and replace options for imports\n\t */\n\tfunction maybe_show_find_replace_options() {\n\t\tvar find_replace_rows = $( '.find-replace-rows' );\n\t\treturn $( '#import-find-replace' ).is( ':checked' ) ? find_replace_rows.show() : find_replace_rows.hide();\n\t}\n\t$( '#import-find-replace' ).on( 'click', maybe_show_find_replace_options );\n\n\tfunction maybe_show_table_options() {\n\t\tif ( ! unrecognized_import_file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout( function() {\n\t\t\tif ( $( '.find-replace-options-toggle .expand-collapse-arrow' ).hasClass( 'collapsed' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$( '.table-options' ).hide();\n\t\t}, 1 );\n\t}\n\t$( '.find-replace-options-toggle' ).on( 'click', maybe_show_table_options );\n\n\t/**\n\t * Updates both `keep_active_plugins` checkboxes when one is changed.\n\t */\n\tfunction update_keep_active_plugins_option() {\n\t\t$( 'input[name=keep_active_plugins]' ).prop( 'checked', $( this ).is( ':checked' ) );\n\t}\n\t$( 'input[name=keep_active_plugins]' ).on( 'click', update_keep_active_plugins_option );\n\n\t/**\n\t * Recursively upload an import file\n\t *\n\t * @param int start\n\t */\n\twpmdb.functions.upload_file_recursive = function( start ) {\n\t\tstart = 'undefined' === typeof start ? 0 : start;\n\n\t\tvar file = document.getElementById( 'import-file' ).files[0];\n\t\tvar slice_size = 1000 * 1024; // 1 MB\n\t\tvar next_slice = start + slice_size + 1;\n\t\tvar reader = new FileReader();\n\n\t\tif ( 0 === start ) {\n\t\t\twpmdb.current_migration.model.addStageItem( 'upload', file.name, file.size / 1000, Math.ceil( file.size / slice_size ) );\n\t\t}\n\n\t\treader.onloadend = function( event ) {\n\t\t\tif ( event.target.readyState !== FileReader.DONE ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_upload_file',\n\t\t\t\t\tfile_data: event.target.result,\n\t\t\t\t\tfile: file.name,\n\t\t\t\t\tfile_type: file.type,\n\t\t\t\t\tmigration_state_id: wpmdb.migration_state_id,\n\t\t\t\t\tstage: 'import',\n\t\t\t\t\timport_info: import_info,\n\t\t\t\t\tnonce: wpmdb_data.nonces.import_file\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\tconsole.log( jqXHR, textStatus, errorThrown );\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\twpmdb.current_migration.setText();\n\n\t\t\t\t\tif ( 'undefined' !== typeof data.wpmdb_error && 1 === data.wpmdb_error ) {\n\t\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, data.body, 'error' );\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar size_done = start + slice_size;\n\n\t\t\t\t\twpmdb.current_migration.setText( wpmdb_strings.uploading_file_to_server );\n\t\t\t\t\twpmdb.current_migration.model.getStageModel( 'upload' ).setItemRowsTransferred( file.name, Math.ceil( size_done / slice_size ) );\n\n\t\t\t\t\tif ( next_slice < file.size ) {\n\t\t\t\t\t\twpmdb.common.next_step_in_migration = {\n\t\t\t\t\t\t\tfn: wpmdb.functions.upload_file_recursive,\n\t\t\t\t\t\t\targs: [ next_slice ]\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\twpmdb.common.next_step_in_migration = {\n\t\t\t\t\t\t\tfn: wpmdb.functions.upload_import_successful,\n\t\t\t\t\t\t\targs: [ file ]\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t\t}\n\t\t\t} );\n\t\t};\n\n\t\tvar blob = file.slice( start, next_slice );\n\t\treader.readAsDataURL( blob );\n\t};\n\n\t/**\n\t * Prepares the import stage\n\t *\n\t * @param file\n\t */\n\twpmdb.functions.upload_import_successful = function( file ) {\n\n\t\t$.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'wpmdb_prepare_import_file',\n\t\t\t\tmigration_state_id: wpmdb.migration_state_id,\n\t\t\t\tnonce: wpmdb_data.nonces.import_file\n\t\t\t},\n\t\t\tdataType: 'json',\n\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\tconsole.log( jqXHR, textStatus, errorThrown );\n\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t},\n\t\t\tsuccess: function( response ) {\n\t\t\t\tvar item_name = file.name;\n\t\t\t\tvar migration_text = wpmdb_strings.importing_file_to_db;\n\n\t\t\t\tif ( '.gz' === item_name.slice( -3 ) ) {\n\t\t\t\t\titem_name = file.name.slice( 0, -3 );\n\t\t\t\t}\n\n\t\t\t\tmigration_text = migration_text.replace( /\\%s\\s?/, item_name );\n\t\t\t\twpmdb.current_migration.setText( migration_text );\n\n\t\t\t\twpmdb.current_migration.model.addStageItem( 'import', item_name, response.import_size / 1000, response.num_chunks );\n\t\t\t\twpmdb.current_migration.model.setActiveStage( 'import' );\n\n\t\t\t\twpmdb.common.next_step_in_migration = {\n\t\t\t\t\tfn: wpmdb.functions.import_file_recursive,\n\t\t\t\t\targs: [ {\n\t\t\t\t\t\timport_filename: response.import_file,\n\t\t\t\t\t\titem_name: item_name,\n\t\t\t\t\t\tchunk: 0,\n\t\t\t\t\t\tcurrent_query: ''\n\t\t\t\t\t} ]\n\t\t\t\t};\n\n\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t}\n\t\t} );\n\t};\n\n\t/**\n\t * Recursively imports chunks to the database\n\t *\n\t * @param object args\n\t */\n\twpmdb.functions.import_file_recursive = function( args ) {\n\n\t\t$.ajax( {\n\t\t\ttype: 'POST',\n\t\t\turl: ajaxurl,\n\t\t\tdata: {\n\t\t\t\taction: 'wpmdb_import_file',\n\t\t\t\tmigration_state_id: wpmdb.migration_state_id,\n\t\t\t\tchunk: args.chunk,\n\t\t\t\tcurrent_query: args.current_query,\n\t\t\t\timport_file: args.import_filename,\n\t\t\t\tnonce: wpmdb_data.nonces.import_file\n\t\t\t},\n\t\t\tdataType: 'json',\n\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\tconsole.log( jqXHR, textStatus, errorThrown );\n\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t},\n\t\t\tsuccess: function( response ) {\n\t\t\t\tif ( 'undefined' !== typeof response.wpmdb_error && 1 === response.wpmdb_error ) {\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, response.body, 'error' );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\twpmdb.current_migration.model.getStageModel( 'import' ).setItemRowsTransferred( args.item_name, response.chunk );\n\n\t\t\t\tif ( response.chunk >= response.num_chunks ) {\n\n\t\t\t\t\twpmdb.current_migration.model.getStageModel( 'import' ).setItemRowsTransferred( args.item_name, ++response.chunk );\n\n\t\t\t\t\tif ( $( '#import-find-replace' ).is( ':checked' ) ) {\n\n\t\t\t\t\t\tif ( unrecognized_import_file ) {\n\t\t\t\t\t\t\t$.each( response.table_sizes, function( table, size ) {\n\t\t\t\t\t\t\t\tif ( table.startsWith( wpmdb_data.this_temp_prefix ) && wpmdb_data.alter_table_name !== table ) {\n\t\t\t\t\t\t\t\t\tvar table_name = table.replace( wpmdb_data.this_temp_prefix, '' );\n\t\t\t\t\t\t\t\t\twpmdb.current_migration.model.addStageItem( 'find_replace', table_name, response.table_sizes[ table ], response.table_rows[ table ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar table_migrate_option = $( 'input[name=table_migrate_option]:checked' ).val();\n\n\t\t\t\t\t\t\tif ( 'migrate_only_with_prefix' === table_migrate_option ) {\n\t\t\t\t\t\t\t\ttables_to_search = tables_to_import.filter( function( table ) {\n\t\t\t\t\t\t\t\t\treturn import_prefix === table.substring( 0, import_prefix.length );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else if ( 'search_all_imported' === table_migrate_option ) {\n\t\t\t\t\t\t\t\ttables_to_search = tables_to_import;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t$.each( tables_to_search, function( key, table ) {\n\t\t\t\t\t\t\t\tvar imported_table = wpmdb_data.this_temp_prefix + table;\n\t\t\t\t\t\t\t\tif ( response.table_sizes.hasOwnProperty( imported_table ) ) {\n\t\t\t\t\t\t\t\t\twpmdb.current_migration.model.addStageItem( 'find_replace', table, response.table_sizes[ imported_table ], response.table_rows[ imported_table ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ttables_to_search = [];\n\n\t\t\t\t\t\twpmdb.current_migration.model.setActiveStage( 'find_replace' );\n\t\t\t\t\t\tconst tables_to_migrate = wpmdb.functions.get_tables_to_migrate();\n\n\t\t\t\t\t\twpmdb.common.next_step_in_migration = {\n\t\t\t\t\t\t\tfn: wpmdb.functions.migrate_table_recursive,\n\t\t\t\t\t\t\targs: [ '-1', '', tables_to_migrate.length ]\n\t\t\t\t\t\t};\n\t\t\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$( '.progress-label' ).removeClass( 'label-visible' );\n\t\t\t\t\t\twpmdb.common.hooks = $.wpmdb.apply_filters( 'wpmdb_before_migration_complete_hooks', wpmdb.common.hooks );\n\t\t\t\t\t\twpmdb.common.hooks.push( wpmdb.functions.migration_complete );\n\t\t\t\t\t\twpmdb.common.hooks.push( wpmdb.functions.wpmdb_flush );\n\t\t\t\t\t\twpmdb.common.hooks = $.wpmdb.apply_filters( 'wpmdb_after_migration_complete_hooks', wpmdb.common.hooks );\n\t\t\t\t\t\twpmdb.common.hooks.push( wpmdb.functions.migration_complete_events );\n\t\t\t\t\t\twpmdb.common.next_step_in_migration = { fn: wpmdb.functions.wpmdb_call_next_hook };\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\t\t\t\t\twpmdb.common.next_step_in_migration = {\n\t\t\t\t\t\tfn: wpmdb.functions.import_file_recursive,\n\t\t\t\t\t\targs: [ {\n\t\t\t\t\t\t\timport_filename: args.import_filename,\n\t\t\t\t\t\t\titem_name: args.item_name,\n\t\t\t\t\t\t\tchunk: response.chunk,\n\t\t\t\t\t\t\tcurrent_query: response.current_query\n\t\t\t\t\t\t} ]\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t}\n\t\t} );\n\t};\n\n\twpmdb.functions.get_tables_to_import = function() {\n\t\treturn tables_to_import;\n\t};\n\n})( jQuery, wpmdb );\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/import.js","(function( $, wpmdb ) {\n\n\t$( document ).ready( function() {\n\n\t\twpmdb.functions.localStorage_available = function() {\n\t\t\ttry {\n\t\t\t\tlocalStorage.setItem( 'wpmdb_test', 'wpmdb_test' );\n\t\t\t\tlocalStorage.removeItem( 'wpmdb_test', 'wpmdb_test' );\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tcatch ( e ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t};\n\n\t\twpmdb.functions.maybe_reload_page = function() {\n\t\t\tvar migration_type = wpmdb.functions.wpmdb_migration_type();\n\n\t\t\tif ( ! wpmdb.functions.localStorage_available() ||\n\t\t\t 'cancelled' === wpmdb.current_migration.status ||\n\t\t\t true === wpmdb.common.migration_error ||\n\t\t\t $('.progress-overlay-container').hasClass('wpmdb-error') ||\n\t\t\t -1 === $.inArray( migration_type, [ 'pull', 'import', 'find_replace' ] )\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( 'true' === wpmdb_data.is_multisite &&\n\t\t\t $( '#mst-select-subsite' ).is( ':checked' ) &&\n\t\t\t wpmdb_data.this_domain !== $( '#mst-selected-subsite option:selected' ).text()\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar tables_to_migrate = wpmdb.functions.get_tables_to_migrate();\n\n\t\t\tif ( 'import' === migration_type ) {\n\t\t\t\ttables_to_migrate = wpmdb.functions.get_tables_to_import();\n\t\t\t}\n\n\t\t\tif ( -1 === $.inArray( wpmdb_data.this_prefix + 'options', tables_to_migrate ) &&\n\t\t\t -1 === $.inArray( wpmdb_data.this_prefix + 'usermeta', tables_to_migrate ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\twpmdb.functions.set_localStorage_form_data();\n\t\t\tlocation.reload();\n\t\t};\n\n\t\twpmdb.functions.set_localStorage_form_data = function() {\n\t\t\tvar data = {};\n\n\t\t\t$.each( $( '#migrate-form' ).serializeArray(), function( index, field ) {\n\t\t\t\tif ( '[]' === field.name.substr( -2 ) ) {\n\t\t\t\t\tvar field_name = field.name.slice( 0, -2 );\n\t\t\t\t\tif ( 'undefined' === typeof data[ field_name ] ) {\n\t\t\t\t\t\tdata[ field_name ] = [];\n\t\t\t\t\t}\n\t\t\t\t\tdata[ field_name ].push( field.value );\n\t\t\t\t} else {\n\t\t\t\t\tdata[ field.name ] = field.value;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tlocalStorage.setItem( 'wpmdb_migrate_form', JSON.stringify( data ) );\n\t\t};\n\n\t\twpmdb.functions.get_localStorage_form_data = function() {\n\t\t\tvar form_data = localStorage.getItem( 'wpmdb_migrate_form' );\n\n\t\t\tif ( null === form_data ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tform_data = JSON.parse( form_data );\n\t\t\t}\n\t\t\tcatch ( err ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn form_data;\n\t\t};\n\n\t\twpmdb.functions.remove_localStorage_form_data = function() {\n\t\t\tlocalStorage.removeItem( 'wpmdb_migrate_form' );\n\t\t};\n\n\t\twpmdb.functions.load_data_from_localStorage = function() {\n\t\t\tvar form_data = wpmdb.functions.get_localStorage_form_data();\n\n\t\t\tif ( ! form_data ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$.each( form_data, function( name, value ) {\n\t\t\t\tvar $input = $( '[name=\"' + name + '\"]' );\n\t\t\t\tvar input_type = $input.attr( 'type' );\n\n\t\t\t\tif ( 'action' === name ) {\n\t\t\t\t\twpmdb.migration_selection = value;\n\t\t\t\t\t$( '#' + value ).prop( 'checked', true );\n\t\t\t\t} else {\n\t\t\t\t\tif ( 'radio' === input_type ) {\n\t\t\t\t\t\t$( '[name=\"' + name + '\"][value=\"' + value + '\"]' ).prop( 'checked', true );\n\t\t\t\t\t} else if ( 'checkbox' === input_type ) {\n\t\t\t\t\t\t$input.prop( 'checked', true );\n\n\t\t\t\t\t\tif ( $input.parent().hasClass( 'checkbox-label' ) ) {\n\t\t\t\t\t\t\t$input.parent().next().show();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$input.val( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t$( '.option-group input[type=radio]' ).change();\n\t\t\t$( '.' + wpmdb.migration_selection + '-list ul' ).show();\n\n\t\t\t$.when( wpmdb.functions.connection_box_changed() ).done( function() {\n\t\t\t\tif ( 'migrate_select' === $( 'input[name=table_migrate_option]:checked' ).val() ) {\n\t\t\t\t\tif ( 'undefined' !== typeof form_data.select_tables ) {\n\t\t\t\t\t\t$( '#select-tables' ).val( form_data.select_tables );\n\t\t\t\t\t}\n\n\t\t\t\t\t$( '.table-options .expandable-content, .select-tables-wrap' ).show();\n\t\t\t\t\t$( '.table-options .expand-collapse-arrow' ).removeClass( 'collapsed' );\n\t\t\t\t} else {\n\t\t\t\t\t$( '.select-tables-wrap' ).hide();\n\t\t\t\t}\n\n\t\t\t\tif ( 'backup_manual_select' === $( 'input[name=backup_option]:checked' ).val() ) {\n\t\t\t\t\tif ( 'undefined' !== typeof form_data.select_backup ) {\n\t\t\t\t\t\t$( '#select-backup' ).val( form_data.select_backup );\n\t\t\t\t\t}\n\n\t\t\t\t\t$( '.backup-tables-wrap' ).show();\n\t\t\t\t}\n\n\t\t\t\tif ( 'undefined' !== typeof form_data.select_post_types ) {\n\t\t\t\t\t$( '#select-post-types' ).val( form_data.select_post_types );\n\t\t\t\t\twpmdb.functions.exclude_post_types_warning();\n\t\t\t\t}\n\n\t\t\t\tif ( 'undefined' !== typeof form_data.replace_old ) {\n\n\t\t\t\t\t$( '.replace-row' ).not( '.original-repeatable-field' ).remove();\n\n\t\t\t\t\tvar n = 1;\n\t\t\t\t\t$.each( form_data.replace_old, function( index, value ) {\n\t\t\t\t\t\tif ( ! $( '.replace-row:nth-child(' + n + ')' ).length ) {\n\t\t\t\t\t\t\t$( '.replace-row' ).last().after( $( '.original-repeatable-field' ).clone().removeClass( 'original-repeatable-field' ) );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$( '.replace-row:nth-child(' + n + ') [name=\"replace_old[]\"]' ).val( value );\n\t\t\t\t\t\t$( '.replace-row:nth-child(' + n + ') [name=\"replace_new[]\"]' ).val( form_data.replace_new[ index ] );\n\t\t\t\t\t\tn++;\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\twpmdb.functions.update_migrate_button_text();\n\n\t\t\tif ( 'import' !== wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\t\twpmdb.functions.remove_localStorage_form_data();\n\t\t\t}\n\t\t};\n\t\twpmdb.functions.load_data_from_localStorage();\n\n\t} );\n\n} )( jQuery, wpmdb );\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/localStorage.js","var $ = jQuery;\nvar MigrationProgressModel = require( './MigrationProgress-model' );\nvar MigrationProgressView = require( './MigrationProgress-view' );\nvar $overlayOriginal = $( '
    ' );\nvar $progressContentOriginal = $( '.progress-content' ).clone().addClass( 'hide' );\nvar $proVersion = $( '.pro-version' ).addClass( 'hide' );\n\n$overlayOriginal.append( $proVersion );\n\nvar MigrationProgressController = {\n\tmigration: {\n\t\tmodel: {},\n\t\tview: {},\n\t\t$progress: {},\n\t\t$wrapper: {},\n\t\t$overlay: {},\n\t\tstatus: 'active',\n\t\ttitle: '',\n\t\ttext: '',\n\t\ttimerCount: 0,\n\t\ttimerStart: 0,\n\t\telapsedInterval: 0,\n\t\tcurrentStageNum: 0,\n\t\tcounterDisplay: false,\n\t\toriginalTitle: document.title,\n\t\tsetTitle: function( title ) {\n\t\t\tthis.$progress.find( '.progress-title' ).html( title );\n\t\t\tthis.title = title;\n\t\t},\n\t\tsetStatus: function( status ) {\n\t\t\tthis.$progress\n\t\t\t\t.removeClass( this.status )\n\t\t\t\t.addClass( ( 'error' === status ) ? 'wpmdb-error' : status );\n\n\t\t\t// Possible statuses include: 'error', 'paused', 'complete', 'cancelling'\n\t\t\tif ( 'error' === status ) {\n\t\t\t\tthis.$progress.find( '.progress-text' ).addClass( 'migration-error' );\n\t\t\t}\n\n\t\t\tthis.status = status;\n\n\t\t\tthis.updateTitleElem();\n\t\t},\n\t\tsetText: function( text ) {\n\t\t\tif ( 'string' !== typeof text ) {\n\t\t\t\ttext = '';\n\t\t\t}\n\n\t\t\tif ( 0 >= text.indexOf( 'wpmdb_error' ) ) {\n\t\t\t\ttext = this.decodeErrorObject( text );\n\t\t\t}\n\n\t\t\tthis.$progress.find( '.progress-text' ).html( text );\n\t\t\tthis.text = text;\n\t\t},\n\t\tsetState: function( title, text, status ) {\n\t\t\tif ( null !== title ) {\n\t\t\t\tthis.setTitle( title );\n\t\t\t}\n\t\t\tif ( null !== text ) {\n\t\t\t\tthis.setText( text );\n\t\t\t}\n\t\t\tif ( null !== status ) {\n\t\t\t\tthis.setStatus( status );\n\t\t\t}\n\t\t},\n\t\tstartTimer: function() {\n\t\t\tthis.timerStart = Date.now();\n\t\t\tthis.timerCount = 0;\n\t\t\tthis.counterDisplay = $( '.timer' );\n\t\t\tthis.elapsedInterval = setInterval( this.incrementTimer.bind( this ), 1000 );\n\t\t},\n\t\tgetTimerCountInSeconds() {\n\t\t\treturn Math.floor( (Date.now() - this.timerStart) / 1000 );\n\t\t},\n\t\tpauseTimer: function() {\n\t\t\tthis.pausedAt = Date.now()\n\t\t\tclearInterval( this.elapsedInterval );\n\t\t},\n\t\tresumeTimer: function() {\n\t\t\tthis.timerStart += Date.now() - this.pausedAt;\n\t\t\tthis.elapsedInterval = setInterval( this.incrementTimer.bind( this ), 1000 );\n\t\t},\n\t\tincrementTimer: function() {\n\t\t\tthis.timerCount = this.getTimerCountInSeconds();\n\t\t\tthis.displayCount();\n\t\t},\n\t\tdisplayCount: function() {\n\t\t\tvar hours = Math.floor( this.timerCount / 3600 ) % 24;\n\t\t\tvar minutes = Math.floor( this.timerCount / 60 ) % 60;\n\t\t\tvar seconds = this.timerCount % 60;\n\t\t\tvar display = this.pad( hours, 2, 0 ) + ':' + this.pad( minutes, 2, 0 ) + ':' + this.pad( seconds, 2, 0 );\n\t\t\tthis.counterDisplay.html( display );\n\t\t},\n\t\tupdateTitleElem: function() {\n\t\t\tvar activeStage = this.model.get( 'activeStageName' );\n\t\t\tvar stageModel = this.model.getStageModel( activeStage );\n\t\t\tvar percentDone = Math.max( 0, stageModel.getTotalProgressPercent() );\n\t\t\tvar numStages = this.model.get( 'stages' ).length;\n\t\t\tvar currentStage = this.currentStageNum;\n\t\t\tvar currentStatus = this.status;\n\t\t\tvar progressText = wpmdb_strings.title_progress;\n\n\t\t\tif ( 'complete' === stageModel.get( 'status' ) && 0 === stageModel.get( 'totalSize' ) ) {\n\t\t\t\tpercentDone = 100;\n\t\t\t}\n\n\t\t\tprogressText = progressText.replace( '%1$s', percentDone + '%' );\n\t\t\tprogressText = progressText.replace( '%2$s', currentStage );\n\t\t\tprogressText = progressText.replace( '%3$s', numStages );\n\n\t\t\tif ( 1 === numStages ) {\n\t\t\t\tprogressText = percentDone + '%';\n\t\t\t}\n\n\t\t\tif ( wpmdb_strings[ 'title_' + currentStatus ] ) {\n\t\t\t\tprogressText = wpmdb_strings[ 'title_' + currentStatus ];\n\t\t\t}\n\n\t\t\tprogressText = progressText + ' - ' + this.originalTitle;\n\n\t\t\tdocument.title = progressText;\n\t\t},\n\t\trestoreTitleElem: function() {\n\t\t\tdocument.title = this.originalTitle;\n\t\t},\n\t\tpad: function( num, width, padChar ) {\n\t\t\tpadChar = padChar || '0';\n\t\t\tnum = num + '';\n\t\t\treturn num.length >= width ? num : new Array( width - num.length + 1 ).join( padChar ) + num;\n\t\t},\n\n\t\t// fixes error objects that have been mangled by html encoding\n\t\tdecodeErrorObject: function( input ) {\n\t\t\tvar inputDecoded = input\n\t\t\t\t.replace( /\\{"/g, '{#q!#' )\n\t\t\t\t.replace( /\\"}/g, '#q!#}' )\n\t\t\t\t.replace( /,"/g, ',#q!#' )\n\t\t\t\t.replace( /":/g, '#q!#:' )\n\t\t\t\t.replace( /:"/g, ':#q!#' )\n\t\t\t\t.replace( /"/g, '\\\\\"' )\n\t\t\t\t.replace( /#q!#/g, '\"' )\n\t\t\t\t.replace( />/g, '>' )\n\t\t\t\t.replace( /</g, '<' );\n\t\t\ttry {\n\t\t\t\tinputDecoded = JSON.parse( inputDecoded );\n\t\t\t} catch ( e ) {\n\t\t\t\treturn input;\n\t\t\t}\n\t\t\treturn ( 'object' === typeof inputDecoded && 'undefined' !== typeof inputDecoded.body ) ? inputDecoded : input;\n\t\t},\n\t\tfixProgressStageWidthForScrollBar: function() {\n\t\t\tvar scrollBarWidth = Math.abs( this.$wrapper[0].offsetWidth - this.$wrapper[0].clientWidth );\n\t\t\tvar visibleProgressItems = this.$wrapper.find( '.active .progress-items' );\n\t\t\tvar leftPad = parseInt( visibleProgressItems.css( 'padding-left' ), 10 );\n\t\t\tvar rightPad = parseInt( visibleProgressItems.css( 'padding-right' ), 10 );\n\n\t\t\tif ( 0 !== scrollBarWidth || ( 0 === scrollBarWidth && rightPad !== leftPad ) ) {\n\t\t\t\tvisibleProgressItems.css( 'padding-right', leftPad - scrollBarWidth + 'px' );\n\t\t\t}\n\t\t}\n\t},\n\tnewMigration: function( settings ) {\n\t\t$( '#overlay' ).remove();\n\t\t$( '.progress-content' ).remove();\n\t\tthis.migration.$overlay = $overlayOriginal.clone();\n\n\t\t$( '#wpwrap' ).append( this.migration.$overlay );\n\n\t\tthis.migration.model = new MigrationProgressModel( settings );\n\t\tthis.migration.view = new MigrationProgressView( {\n\t\t\tmodel: this.migration.model\n\t\t} );\n\n\t\tthis.migration.$progress = $progressContentOriginal.clone();\n\t\tthis.migration.$wrapper = this.migration.view.$el;\n\t\tthis.migration.$progress.find( '.migration-progress-stages' ).replaceWith( this.migration.$wrapper );\n\n\t\tthis.migration.$proVersion = this.migration.$overlay.find( '.pro-version' );\n\t\tvar proVersionIFrame = this.migration.$proVersion.find( 'iframe' ).remove().clone();\n\n\t\tthis.migration.$overlay.prepend( this.migration.$progress );\n\n\t\t// timeout needed so class is added after elements are appended to dom and transition runs.\n\t\tvar self = this;\n\t\tsetTimeout( function() {\n\t\t\tself.migration.$overlay.add( self.migration.$progress ).add( self.migration.$proVersion ).removeClass( 'hide' ).addClass( 'show' );\n\t\t\tif ( self.migration.$proVersion.length ) {\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\tself.migration.$proVersion.find( '.iframe' ).append( proVersionIFrame );\n\t\t\t\t}, 500 );\n\t\t\t}\n\t\t}, 0 );\n\n\t\tthis.migration.currentStageNum = 0;\n\n\t\tthis.migration.$proVersion.on( 'click', '.close-pro-version', function() {\n\t\t\tself.migration.$proVersion.find( 'iframe' ).remove();\n\t\t\tself.migration.$proVersion.addClass( 'hide remove' );\n\t\t\tsetTimeout( function() {\n\t\t\t\tself.migration.$proVersion.remove();\n\t\t\t}, 500 );\n\t\t} );\n\n\t\tthis.migration.model.on( 'migrationComplete', function() {\n\t\t\tself.utils.updateProgTableVisibilitySetting();\n\t\t\tself.utils.updatePauseBeforeFinalizeSetting();\n\t\t\tself.migration.pauseTimer();\n\t\t} );\n\n\t\t$( window ).on( 'resize', _.debounce( this.migration.fixProgressStageWidthForScrollBar.bind( this.migration ), 100 ) );\n\t\tthis.migration.model.on( 'change:activeStage', this.migration.fixProgressStageWidthForScrollBar.bind( this.migration ) );\n\n\t\treturn this.migration;\n\t},\n\tutils: require( './MigrationProgress-utils' )\n};\n\nmodule.exports = MigrationProgressController;\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/modules/MigrationProgress-controller.js","(function( $, wpmdb ) {\n\twpmdb.functions.update_multiselect = function( element, subsites, selected_subsite_ids ) {\n\t\t$( element ).empty();\n\n\t\tif ( 0 < Object.keys( subsites ).length ) {\n\t\t\tconst table_prefix = $.wpmdb.apply_filters( 'wpmdb_get_table_prefix', null, null );\n\t\t\tvar site_selected = false;\n\t\t\t$.each( subsites, function( blog_id, subsite_path ) {\n\t\t\t\tif ( $.wpmdb.apply_filters( 'wpmdb_exclude_subsite', false, blog_id ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar selected = ' ';\n\t\t\t\tif ( ( undefined === selected_subsite_ids || null === selected_subsite_ids || 0 === selected_subsite_ids.length ) ||\n\t\t\t\t ( undefined !== selected_subsite_ids && null !== selected_subsite_ids && 0 < selected_subsite_ids.length && -1 !== $.inArray( blog_id, selected_subsite_ids ) )\n\t\t\t\t) {\n\t\t\t\t\tselected = ' selected=\"selected\" ';\n\t\t\t\t\tsite_selected = true;\n\t\t\t\t}\n\t\t\t\tsubsite_path += ' (' + table_prefix + ( ( '1' !== blog_id ) ? blog_id + '_' : '' ) + ')';\n\t\t\t\t$( element ).append( '' + subsite_path + '' );\n\t\t\t} );\n\n\t\t\t// If nothing selected (maybe IDs differ between saved profile and current config) revert to default of all selected.\n\t\t\tif ( false === site_selected ) {\n\t\t\t\twpmdb.functions.update_multiselect( element, subsites, [] );\n\t\t\t}\n\t\t}\n\t};\n})( jQuery, wpmdb );\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/multisite.js","(function( $ ) {\n\n\tvar doing_check_licence = false;\n\tvar fade_duration = 650;\n\n\tvar admin_url = ajaxurl.replace( '/admin-ajax.php', '' );\n\tvar spinner_url = admin_url + '/images/spinner';\n\tvar spinner;\n\tif ( 2 < window.devicePixelRatio ) {\n\t\tspinner_url += '-2x';\n\t}\n\tspinner_url += '.gif';\n\tspinner = $( '\"\"' );\n\n\t$( document ).ready( function() {\n\n\t\t$( 'body' ).on( 'click', '.check-my-licence-again', function( e ) {\n\t\t\te.preventDefault();\n\t\t\t$( this ).blur();\n\n\t\t\tif ( doing_check_licence ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tdoing_check_licence = true;\n\n\t\t\t$( this ).hide();\n\t\t\tspinner.insertAfter( this );\n\n\t\t\tvar check_again_link = ' ' + wpmdb_update_strings.check_license_again + '';\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_check_licence',\n\t\t\t\t\tnonce: wpmdb_nonces.check_licence,\n\t\t\t\t\tcontext: 'update'\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\tdoing_check_licence = false;\n\t\t\t\t\t$( '.wpmdb-licence-error-notice' ).fadeOut( fade_duration, function() {\n\t\t\t\t\t\t$( '.wpmdb-licence-error-notice' ).empty()\n\t\t\t\t\t\t\t.html( wpmdb_update_strings.license_check_problem + check_again_link )\n\t\t\t\t\t\t\t.fadeIn( fade_duration );\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\tdoing_check_licence = false;\n\t\t\t\t\tif ( 'undefined' !== typeof data.errors ) {\n\t\t\t\t\t\tvar msg = '';\n\t\t\t\t\t\tfor ( var key in data.errors ) {\n\t\t\t\t\t\t\tmsg += data.errors[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$( '.wpmdb-licence-error-notice' ).fadeOut( fade_duration, function() {\n\t\t\t\t\t\t\t$( '.check-licence-spinner' ).remove();\n\t\t\t\t\t\t\t$( '.wpmdb-licence-error-notice' ).empty()\n\t\t\t\t\t\t\t\t.html( msg )\n\t\t\t\t\t\t\t\t.fadeIn( fade_duration );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Success\n\t\t\t\t\t\t// Fade out, empty wpmdb custom error content, swap back in the original wordpress upgrade message, fade in\n\t\t\t\t\t\t$( '.wpmdbpro-custom-visible' ).fadeOut( fade_duration, function() {\n\t\t\t\t\t\t\t$( '.check-licence-spinner' ).remove();\n\t\t\t\t\t\t\t$( '.wpmdbpro-custom-visible' ).empty()\n\t\t\t\t\t\t\t\t.html( $( '.wpmdb-original-update-row' ).html() )\n\t\t\t\t\t\t\t\t.fadeIn( fade_duration );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t} );\n\n\t\t$( '.wpmdbpro-custom' ).prev().addClass( 'wpmdbpro-has-message' );\n\n\t} );\n})( jQuery );\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/plugin-update.js","import WPMDBGlobals from './helpers/wpmdbGlobals';\nimport {jQueryAjaxError} from 'src/wp-migrate-db-pro/asset/src/js/helpers/utils';\nconst globals = new WPMDBGlobals();\nconst wpmdb = window.wpmdb || {};\n\n(function( $, wpmdb ) {\n\n\twpmdb.migration_progress_controller = require( './modules/MigrationProgress-controller' );\n\twpmdb.current_migration = null;\n\twpmdb.migration_selection = wpmdb.functions.wpmdb_migration_type();\n\n\twindow.onbeforeunload = function( e ) {\n\t\tif ( 'import' === wpmdb.functions.wpmdb_migration_type() && !$( '.step-two' ).is( ':visible' ) ) {\n\t\t\twpmdb.functions.remove_localStorage_form_data();\n\t\t}\n\n\t\tif ( globals.currently_migrating ) {\n\t\t\te = e || window.event;\n\n\t\t\t// For IE and Firefox prior to version 4\n\t\t\tif ( e ) {\n\t\t\t\te.returnValue = wpmdb_strings.sure;\n\t\t\t}\n\n\t\t\t// For Safari\n\t\t\treturn wpmdb_strings.sure;\n\t\t}\n\t};\n\n\twpmdb.functions.exclude_post_types_warning = function() {\n\t\tvar excluded_post_types = $( '#select-post-types' ).val();\n\t\tvar excluded_post_types_text = '';\n\t\tvar $exclude_post_types_warning = $( '.exclude-post-types-warning' );\n\n\t\tif ( excluded_post_types ) {\n\t\t\texcluded_post_types_text = '' + excluded_post_types.join( ', ' ) + '';\n\t\t\t$( '.excluded-post-types' ).html( excluded_post_types_text );\n\n\t\t\tif ( '0' === $exclude_post_types_warning.css( 'opacity' ) ) {\n\t\t\t\t$exclude_post_types_warning\n\t\t\t\t\t.css( { opacity: 0 } )\n\t\t\t\t\t.slideDown( 200 )\n\t\t\t\t\t.animate( { opacity: 1 } );\n\t\t\t}\n\t\t} else {\n\t\t\t$exclude_post_types_warning\n\t\t\t\t.css( { opacity: 0 } )\n\t\t\t\t.slideUp( 200 )\n\t\t\t\t.animate( { opacity: 0 } );\n\t\t}\n\t};\n\n\t//Main method that shows migration progress in the UI\n\twpmdb.functions.migrate_table_recursive = function( current_row, primary_keys, iterator ) {\n\t\tlet i = iterator || 0;\n\n\t\tif ( i >= globals.tables_to_migrate.length ) {\n\n\t\t\tif ( 'upload' === globals.stage && wpmdb.current_migration.model.getStageItems( 'find_replace' ).length ) {\n\t\t\t\tglobals.stage = 'find_replace';\n\t\t\t\tglobals.tables_to_migrate = wpmdb.current_migration.model.getStageItems( 'find_replace', 'name' );\n\t\t\t\tglobals.tables_to_migrate = globals.tables_to_migrate.map( function( table ) {\n\t\t\t\t\treturn '_mig_' + table;\n\t\t\t\t} );\n\t\t\t\ti = 0;\n\t\t\t} else if ( 'backup' === globals.stage ) {\n\n\t\t\t\tif ( -1 !== $.inArray( globals.migration_intent, [ 'push', 'pull' ] ) ) {\n\t\t\t\t\tglobals.stage = 'migrate';\n\t\t\t\t} else if ( 'import' === globals.migration_intent ) {\n\t\t\t\t\tglobals.stage = 'upload';\n\t\t\t\t} else {\n\t\t\t\t\tglobals.stage = globals.migration_intent;\n\t\t\t\t}\n\n\t\t\t\twpmdb.current_migration.model.setActiveStage( globals.stage );\n\n\t\t\t\tif ( 'find_replace' !== globals.stage && 'migrate' !== globals.stage ) {\n\t\t\t\t\twpmdb.functions.wpmdb_call_next_hook();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ti = 0;\n\n\t\t\t\t// should get from model\n\t\t\t\tglobals.tables_to_migrate = wpmdb.functions.get_tables_to_migrate( null, null );\n\n\t\t\t} else {\n\t\t\t\t$( '.progress-label' ).removeClass( 'label-visible' );\n\t\t\t\twpmdb.common.hooks = $.wpmdb.apply_filters( 'wpmdb_before_migration_complete_hooks', wpmdb.common.hooks );\n\t\t\t\twpmdb.common.hooks.push( wpmdb.functions.migration_complete );\n\t\t\t\twpmdb.common.hooks.push( wpmdb.functions.wpmdb_flush );\n\t\t\t\twpmdb.common.hooks = $.wpmdb.apply_filters( 'wpmdb_after_migration_complete_hooks', wpmdb.common.hooks );\n\t\t\t\twpmdb.common.hooks.push( wpmdb.functions.migration_complete_events );\n\t\t\t\twpmdb.common.next_step_in_migration = { fn: wpmdb.functions.wpmdb_call_next_hook };\n\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tvar last_table = 0;\n\t\tif ( i === ( globals.tables_to_migrate.length - 1 ) ) {\n\t\t\tlast_table = 1;\n\t\t}\n\n\t\tvar gzip = 0;\n\t\tif ( -1 !== $.inArray( globals.migration_intent, [\n\t\t\t\t'push',\n\t\t\t\t'pull'\n\t\t\t] ) && 1 === parseInt( wpmdb.common.connection_data.gzip ) ) {\n\t\t\tgzip = 1;\n\t\t}\n\n\t\tvar request_data = {\n\t\t\taction: 'wpmdb_migrate_table',\n\t\t\tmigration_state_id: wpmdb.migration_state_id,\n\t\t\ttable: globals.tables_to_migrate[ i ],\n\t\t\tstage: globals.stage,\n\t\t\tcurrent_row: current_row,\n\t\t\tlast_table: last_table,\n\t\t\tprimary_keys: primary_keys,\n\t\t\tgzip: gzip,\n\t\t\tnonce: wpmdb_data.nonces.migrate_table\n\t\t};\n\n\t\tif ( -1 !== $.inArray( globals.migration_intent, [ 'push', 'pull' ] ) ) {\n\t\t\trequest_data.bottleneck = wpmdb.common.connection_data.bottleneck;\n\t\t\trequest_data.prefix = wpmdb.common.connection_data.prefix;\n\t\t}\n\n\t\tif ( wpmdb.common.connection_data && wpmdb.common.connection_data.path_current_site && wpmdb.common.connection_data.domain ) {\n\t\t\trequest_data.path_current_site = wpmdb.common.connection_data.path_current_site;\n\t\t\trequest_data.domain_current_site = wpmdb.common.connection_data.domain;\n\t\t}\n\n\t\tglobals.doing_ajax = true;\n\n\t\t$.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tdataType: 'text',\n\t\t\tcache: false,\n\t\t\ttimeout: 0,\n\t\t\tdata: request_data,\n\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\tvar progress_text = wpmdb_strings.table_process_problem + ' ' + globals.tables_to_migrate[ i ] + '

    ' + wpmdb_strings.status + ': ' + jqXHR.status + ' ' + jqXHR.statusText + '

    ' + wpmdb_strings.response + ':
    ' + jqXHR.responseText;\n\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, progress_text, 'error' );\n\n\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\tconsole.log( jqXHR );\n\t\t\t\tconsole.log( textStatus );\n\t\t\t\tconsole.log( errorThrown );\n\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\twpmdb.functions.migration_complete_events();\n\n\t\t\t},\n\t\t\tsuccess: function( data ) {\n\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\tdata = $.trim( data );\n\t\t\t\tvar row_information = wpmdb.functions.wpmdb_parse_json( data );\n\t\t\t\tvar error_text = '';\n\n\t\t\t\tif ( false === row_information || null === row_information ) {\n\n\t\t\t\t\t// should update model\n\t\t\t\t\tif ( '' === data || null === data ) {\n\t\t\t\t\t\terror_text = wpmdb_strings.table_process_problem_empty_response + ' ' + globals.tables_to_migrate[ i ];\n\t\t\t\t\t} else {\n\t\t\t\t\t\terror_text = globals.get_ajax_errors( data, null, null );\n\t\t\t\t\t}\n\n\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, error_text, 'error' );\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( 'undefined' !== typeof row_information.wpmdb_error && 1 === row_information.wpmdb_error ) {\n\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, row_information.body, 'error' );\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar item_name = globals.tables_to_migrate[ i ];\n\t\t\t\tif ( 'import' === globals.migration_intent && 'find_replace' === globals.stage ) {\n\t\t\t\t\titem_name = item_name.replace( wpmdb_data.this_temp_prefix, '' );\n\t\t\t\t}\n\n\t\t\t\t//successful iteration\n\t\t\t\twpmdb.current_migration.setText();\n\t\t\t\twpmdb.current_migration.model.getStageModel( globals.stage ).setItemRowsTransferred( item_name, row_information.current_row );\n\n\t\t\t\t// We need the returned file name for delivery or display to the user.\n\t\t\t\tif ( 1 === last_table && 'savefile' === globals.migration_intent ) {\n\t\t\t\t\tif ( 'undefined' !== typeof row_information.dump_filename ) {\n\t\t\t\t\t\tglobals.dump_filename = row_information.dump_filename;\n\t\t\t\t\t}\n\t\t\t\t\tif ( 'undefined' !== typeof row_information.dump_path ) {\n\t\t\t\t\t\tglobals.dump_path = row_information.dump_path;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif ( -1 === parseInt( row_information.current_row ) ) {\n\t\t\t\t\ti++;\n\t\t\t\t\trow_information.current_row = '';\n\t\t\t\t\trow_information.primary_keys = '';\n\t\t\t\t}\n\n\t\t\t\twpmdb.common.next_step_in_migration = {\n\t\t\t\t\tfn: wpmdb.functions.migrate_table_recursive,\n\t\t\t\t\targs: [ row_information.current_row, row_information.primary_keys, i ]\n\t\t\t\t};\n\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t}\n\t\t} );\n\n\t};\n\n\twpmdb.functions.migration_complete_events = function() {\n\t\tif ( false === wpmdb.common.migration_error ) {\n\t\t\tif ( '' === wpmdb.common.non_fatal_errors ) {\n\t\t\t\tif ( 'savefile' !== globals.migration_intent && true === $( '#save_computer' ).is( ':checked' ) ) {\n\t\t\t\t\twpmdb.current_migration.setText();\n\t\t\t\t}\n\n\t\t\t\tglobals.completed_msg = globals.completed_msg + ' 
    ';\n\n\t\t\t\tif ( true === globals.migration_cancelled ) {\n\t\t\t\t\tvar cancel_success = wpmdb_strings.migration_cancelled_success;\n\n\t\t\t\t\tif ( 'find_replace' === globals.migration_intent ) {\n\t\t\t\t\t\tcancel_success = wpmdb_strings.find_replace_cancelled_success;\n\t\t\t\t\t}\n\n\t\t\t\t\twpmdb.current_migration.setState( globals.completed_msg, cancel_success, 'cancelled' );\n\t\t\t\t} else {\n\t\t\t\t\twpmdb.current_migration.setState( globals.completed_msg, '', 'complete' );\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.completed_with_some_errors, wpmdb.common.non_fatal_errors, 'error' );\n\t\t\t}\n\t\t}\n\n\t\t$( '.migration-controls' ).addClass( 'hidden' );\n\n\t\t// reset migration variables so consecutive migrations work correctly\n\t\twpmdb.common.hooks = [];\n\t\twpmdb.common.call_stack = [];\n\t\twpmdb.common.migration_error = false;\n\t\tglobals.currently_migrating = false;\n\t\tglobals.migration_completed = true;\n\t\tglobals.migration_paused = false;\n\t\tglobals.migration_cancelled = false;\n\t\tglobals.doing_ajax = false;\n\t\twpmdb.common.non_fatal_errors = '';\n\t\tglobals.tables_to_migrate = [];\n\n\t\t$( '.progress-label' ).remove();\n\t\t$( '.migration-progress-ajax-spinner' ).remove();\n\t\t$( '.close-progress-content' ).show();\n\t\t$( '#overlay' ).css( 'cursor', 'pointer' );\n\t\twpmdb.current_migration.model.setMigrationComplete();\n\t};\n\n\twpmdb.functions.migration_complete = function() {\n\n\t\t$( '.migration-controls' ).addClass( 'hidden' );\n\n\t\tif ( 'savefile' === globals.migration_intent ) {\n\t\t\tglobals.currently_migrating = false;\n\t\t\tvar migrate_complete_text = wpmdb_strings.migration_complete;\n\t\t\tif ( $( '#save_computer' ).is( ':checked' ) ) {\n\t\t\t\tvar url = wpmdb_data.this_download_url + encodeURIComponent( globals.dump_filename );\n\t\t\t\tif ( $( '#gzip_file' ).is( ':checked' ) ) {\n\t\t\t\t\turl += '&gzip=1';\n\t\t\t\t}\n\t\t\t\twindow.location = url;\n\t\t\t} else {\n\t\t\t\tmigrate_complete_text = wpmdb_strings.completed_dump_located_at + ' ' + globals.dump_path;\n\t\t\t}\n\n\t\t\tif ( false === wpmdb.common.migration_error ) {\n\n\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\twpmdb.current_migration.setState( globals.completed_msg, migrate_complete_text, 'complete' );\n\n\t\t\t}\n\n\t\t} else { // rename temp tables, delete old tables\n\n\t\t\twpmdb.current_migration.setState( null, wpmdb_strings.finalizing_migration, 'finalizing' );\n\n\t\t\tvar request_data = {\n\t\t\t\taction: 'wpmdb_finalize_migration',\n\t\t\t\tmigration_state_id: wpmdb.migration_state_id,\n\t\t\t\ttables: globals.tables_to_migrate.join( ',' ),\n\t\t\t\tnonce: wpmdb_data.nonces.finalize_migration\n\t\t\t};\n\n\t\t\tif ( -1 !== $.inArray( globals.migration_intent, [ 'push', 'pull' ] ) ) {\n\t\t\t\trequest_data.prefix = wpmdb.common.connection_data.prefix;\n\t\t\t}\n\n\t\t\tglobals.doing_ajax = true;\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcache: false,\n\t\t\t\tdata: request_data,\n\t\t\t\terror: function( jqXHR ) {\n\t\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\t\tlet responseText = wpmdb_strings.finalize_tables_problem;\n\t\t\t\t\tjQueryAjaxError( responseText, jqXHR );\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\t\tif ( 'undefined' !== typeof data && 'undefined' !== typeof data.wpmdb_error && 1 === data.wpmdb_error ) {\n\t\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, data.body, 'error' );\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twpmdb.common.next_step_in_migration = { fn: wpmdb.functions.wpmdb_call_next_hook };\n\t\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t};\n\n\twpmdb.functions.wpmdb_flush = function() {\n\t\tif ( 'savefile' !== globals.migration_intent ) {\n\t\t\twpmdb.current_migration.setText( wpmdb_strings.flushing );\n\t\t\tglobals.doing_ajax = true;\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_flush',\n\t\t\t\t\tmigration_state_id: wpmdb.migration_state_id,\n\t\t\t\t\tnonce: wpmdb_data.nonces.flush\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, wpmdb_strings.flush_problem, 'error' );\n\n\t\t\t\t\talert( jqXHR + ' : ' + textStatus + ' : ' + errorThrown );\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\t\tif ( '1' !== $.trim( data ) ) {\n\t\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, data, 'error' );\n\n\t\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twpmdb.common.next_step_in_migration = { fn: wpmdb.functions.wpmdb_call_next_hook };\n\t\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t};\n\n\twpmdb.functions.execute_next_step = function( instance = null, run_fn = true ) {\n\n\t\t// if delay is set, set a timeout for delay to recall this function, then return\n\t\tif ( 0 < globals.delay_between_requests && false === globals.flag_skip_delay ) {\n\t\t\tsetTimeout( function() {\n\t\t\t\tglobals.flag_skip_delay = true;\n\t\t\t\twpmdb.functions.execute_next_step( instance );\n\t\t\t}, globals.delay_between_requests );\n\t\t\treturn;\n\t\t} else {\n\t\t\tglobals.flag_skip_delay = false;\n\t\t}\n\n\t\tif ( true === globals.migration_paused ) {\n\t\t\t$( '.migration-progress-ajax-spinner' ).hide();\n\n\t\t\t// Pause the timer\n\t\t\twpmdb.current_migration.pauseTimer();\n\n\t\t\tvar pause_text = '';\n\t\t\tif ( true === globals.is_auto_pause_before_finalize ) {\n\t\t\t\tpause_text = wpmdb_strings.paused_before_finalize;\n\t\t\t\tglobals.is_auto_pause_before_finalize = false;\n\n\t\t\t\tif ( 'find_replace' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\t\t\tpause_text = wpmdb_strings.find_replace_paused_before_finalize;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tpause_text = wpmdb_strings.paused;\n\t\t\t}\n\n\t\t\twpmdb.current_migration.setState( null, pause_text, 'paused' );\n\n\t\t\t// Re-bind Pause/Resume button to Resume when we are finally Paused\n\t\t\t$( 'body' ).on( 'click', '.pause-resume', function( event ) {\n\t\t\t\tglobals.set_pause_resume_button( event, instance );\n\t\t\t} );\n\t\t\t$( 'body' ).on( 'click', '.cancel', function( event ) {\n\t\t\t\tglobals.cancel_migration( event );\n\t\t\t} );\n\t\t\t$( '.pause-resume' ).html( wpmdb_strings.resume );\n\n\t\t} else if ( true === globals.migration_cancelled ) {\n\t\t\tglobals.migration_intent = wpmdb.functions.wpmdb_migration_type();\n\n\t\t\tvar progress_msg;\n\n\t\t\tif ( 'savefile' === globals.migration_intent ) {\n\t\t\t\tprogress_msg = wpmdb_strings.removing_local_sql;\n\t\t\t} else if ( 'pull' === globals.migration_intent ) {\n\t\t\t\tif ( 'backup' === globals.stage ) {\n\t\t\t\t\tprogress_msg = wpmdb_strings.removing_local_backup;\n\t\t\t\t} else {\n\t\t\t\t\tprogress_msg = wpmdb_strings.removing_local_temp_tables;\n\t\t\t\t}\n\t\t\t} else if ( 'push' === globals.migration_intent ) {\n\t\t\t\tif ( 'backup' === globals.stage ) {\n\t\t\t\t\tprogress_msg = wpmdb_strings.removing_remote_sql;\n\t\t\t\t} else {\n\t\t\t\t\tprogress_msg = wpmdb_strings.removing_remote_temp_tables;\n\t\t\t\t}\n\t\t\t}\n\t\t\twpmdb.current_migration.setText( progress_msg );\n\n\t\t\tvar request_data = {\n\t\t\t\taction: 'wpmdb_cancel_migration',\n\t\t\t\tmigration_state_id: wpmdb.migration_state_id,\n\t\t\t\tnonce: wpmdb_data.nonces.cancel_migration\n\t\t\t};\n\n\t\t\tglobals.doing_ajax = true;\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: request_data,\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_cancellation_failed, wpmdb_strings.manually_remove_temp_files + '

    ' + wpmdb_strings.status + ': ' + jqXHR.status + ' ' + jqXHR.statusText + '

    ' + wpmdb_strings.response + ':
    ' + jqXHR.responseText, 'error' );\n\t\t\t\t\tconsole.log( jqXHR );\n\t\t\t\t\tconsole.log( textStatus );\n\t\t\t\t\tconsole.log( errorThrown );\n\t\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\t\tdata = $.trim( data );\n\n\t\t\t\t\tif ( ( 'push' === globals.migration_intent && '1' !== data ) || ( 'push' !== globals.migration_intent && '' !== data ) ) {\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof data && 'undefined' !== typeof data.wpmdb_error && 1 === data.wpmdb_error ) {\n\t\t\t\t\t\t\tdata = data.wpmdb_error;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_cancellation_failed, data, 'error' );\n\t\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tglobals.completed_msg = wpmdb_strings.migration_cancelled;\n\n\t\t\t\t\tif ( 'find_replace' === globals.migration_intent ) {\n\t\t\t\t\t\tglobals.completed_msg = wpmdb_strings.find_replace_cancelled;\n\t\t\t\t\t}\n\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\twpmdb.current_migration.setStatus( 'cancelled' );\n\t\t\t\t}\n\t\t\t} );\n\t\t} else {\n\t\t\tif(run_fn){\n\t\t\t\twpmdb.common.next_step_in_migration.fn.apply( instance, wpmdb.common.next_step_in_migration.args );\n\t\t\t}\n\n\t\t}\n\t};\n\n\twpmdb.functions.maybe_show_prefix_notice = ( prefix ) => {\n\t\tvar $prefix_notice = $( '.prefix-notice' );\n\n\t\t$prefix_notice.hide();\n\n\t\tif ( prefix !== wpmdb_data.this_prefix ) {\n\t\t\t$( '.remote-prefix' ).html( prefix );\n\t\t\tglobals.show_prefix_notice = true;\n\t\t\t$prefix_notice.show();\n\t\t}\n\t};\n\n\twpmdb.functions.maybe_show_mst_warning = function( data ) {\n\t\tconst migration_type = wpmdb.functions.wpmdb_migration_type();\n\t\tlet show_mst_warning = false;\n\n\t\tif ( -1 !== $.inArray( migration_type, [ 'push', 'pull' ] ) && 'undefined' !== typeof data.site_details ) {\n\t\t\tif ( wpmdb_data.site_details.is_multisite !== data.site_details.is_multisite ) {\n\t\t\t\tif ( 'undefined' === typeof wpmdb.mst || 'undefined' === typeof data.mst_available || '1' !== data.mst_available ) {\n\t\t\t\t\tshow_mst_warning = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( 'import' === migration_type ) {\n\t\t\tif ( 'undefined' !== typeof data.multisite && 'undefined' !== typeof data.subsite_export ) {\n\t\t\t\tif (\n\t\t\t\t\t( 'false' === wpmdb_data.site_details.is_multisite && 'true' === data.multisite && 'true' !== data.subsite_export ) ||\n\t\t\t\t\t( 'true' === wpmdb_data.site_details.is_multisite && 'false' === data.multisite )\n\t\t\t\t) {\n\t\t\t\t\tshow_mst_warning = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tshow_mst_warning = $.wpmdb.apply_filters( 'wpmdb_show_mst_warning', show_mst_warning );\n\n\t\tif ( show_mst_warning ) {\n\t\t\t$( '.mst-required' ).show();\n\t\t}\n\n\t\treturn show_mst_warning;\n\n\t};\n\n\twpmdb.functions.maybe_show_select_table_notice = function() {\n\n\t\t// check that they've selected some tables to migrate\n\t\tif ( $( '#migrate-selected' ).is( ':checked' ) && null === $( '#select-tables' ).val() ) {\n\t\t\tif ( 'import' !== wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\t\talert( wpmdb_strings.please_select_one_table );\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\tif ( $( '#import-find-replace' ).is( ':checked' ) && $( '#select-tables' ).is( ':visible' ) ) {\n\t\t\t\t\talert( wpmdb_strings.please_select_one_table_import );\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// check that they've selected some tables to backup\n\t\tif ( 'savefile' !== wpmdb.functions.wpmdb_migration_type() && $( '#backup-manual-select' ).is( ':checked' ) && null === $( '#select-backup' ).val() ) {\n\t\t\talert( wpmdb_strings.please_select_one_table_backup );\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t};\n\n\twpmdb.functions.remove_protocol = function( url ) {\n\t\treturn url.replace( /^https?:/i, '' );\n\t};\n\n\twpmdb.functions.create_table_select = function( tables, table_sizes_hr, selected_tables ) {\n\t\tvar $table_select = document.createElement( 'select' );\n\t\t$( $table_select ).attr( {\n\t\t\tmultiple: 'multiple',\n\t\t\tname: 'select_tables[]',\n\t\t\tid: 'select-tables',\n\t\t\tclass: 'multiselect'\n\t\t} );\n\n\t\tif ( 0 < tables.length ) {\n\t\t\t$.each( tables, function( index, table ) {\n\t\t\t\tif ( $.wpmdb.apply_filters( 'wpmdb_exclude_table', false, table ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tvar selected = ' ';\n\t\t\t\tif ( undefined !== selected_tables && null !== selected_tables && 0 < selected_tables.length && -1 !== $.inArray( table, selected_tables ) ) {\n\t\t\t\t\tselected = ' selected=\"selected\" ';\n\t\t\t\t}\n\n\t\t\t\tvar size = '';\n\t\t\t\tif ( 0 !== table_sizes_hr.length ) {\n\t\t\t\t\tsize = ' (' + table_sizes_hr[ table ] + ')';\n\t\t\t\t}\n\n\t\t\t\t$( $table_select ).append( '' + table + size + '' );\n\t\t\t} );\n\t\t}\n\n\t\treturn $table_select;\n\t};\n\n\t/**\n\t * Returns tables selected for migration.\n\t *\n\t * @returns {array}\n\t *\n\t * Also handler for wpmdb_get_tables_to_migrate filter, disregards input values as it is the primary source.\n\t */\n\twpmdb.functions.get_tables_to_migrate = function() {\n\t\tvar tables = [];\n\t\tvar mig_type = wpmdb.functions.wpmdb_migration_type();\n\t\tvar table_intent = $( 'input[name=table_migrate_option]:checked' ).val();\n\n\t\t// Grab tables as per what the user has selected from the multiselect box or all prefixed tables.\n\t\tif ( 'migrate_select' === table_intent ) {\n\t\t\ttables = $( '#select-tables' ).val();\n\t\t} else {\n\t\t\tif ( 'pull' !== mig_type && 'undefined' !== typeof wpmdb_data.this_prefixed_tables ) {\n\t\t\t\ttables = wpmdb_data.this_prefixed_tables;\n\t\t\t} else if ( 'pull' === mig_type && 'undefined' !== typeof wpmdb.common.connection_data && 'undefined' !== typeof wpmdb.common.connection_data.prefixed_tables ) {\n\t\t\t\ttables = wpmdb.common.connection_data.prefixed_tables;\n\t\t\t}\n\t\t}\n\n\t\treturn tables;\n\t};\n\n\twpmdb.functions.update_migrate_button_text = function() {\n\t\tvar migration_intent = wpmdb.functions.wpmdb_migration_type();\n\t\tvar save_string = ( $( '#save-migration-profile' ).is( ':checked' ) ) ? '_save' : '';\n\t\tvar migrate_string = 'migrate_button_' + ( ( 'savefile' === migration_intent ) ? 'export' : migration_intent ) + save_string;\n\t\t$( '.migrate-db .button-primary' ).val( wpmdb_strings[ migrate_string ] );\n\t};\n\n\t// fired when the connection info box changes (e.g. gets pasted into)\n\twpmdb.functions.connection_box_changed = function() {\n\t\tvar $this = $( '.pull-push-connection-info' );\n\n\t\tif ( -1 === $.inArray( wpmdb.functions.wpmdb_migration_type(), [ 'push', 'pull' ] ) ||\n\t\t ( globals.doing_ajax || $( $this ).hasClass( 'temp-disabled' ) ) && false === wpmdb.force_reconnect ) {\n\t\t\treturn;\n\t\t}\n\n\t\twpmdb.force_reconnect = false;\n\t\tvar data = $( '.pull-push-connection-info' ).val();\n\n\t\tvar connection_info = $.trim( data ).split( '\\n' );\n\t\tvar error = false;\n\t\tvar error_message = '';\n\n\t\tif ( '' === connection_info ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_missing;\n\t\t}\n\n\t\t// attempt to format the connection info from a single line\n\t\tif ( 1 === connection_info.length && !error ) {\n\t\t\tvar connection_words = $.trim( data ).split( ' ' );\n\t\t\tif ( 2 === connection_words.length ) {\n\t\t\t\tconnection_info = connection_words;\n\t\t\t}\n\t\t}\n\n\t\tif ( 2 !== connection_info.length && !error ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_incorrect;\n\t\t}\n\n\t\tif ( !error && !globals.validate_url( connection_info[ 0 ] ) ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_url_invalid;\n\t\t}\n\n\t\tvar key_length = 0;\n\n\t\tif ( 'undefined' !== typeof connection_info[ 1 ] ) {\n\t\t\tkey_length = connection_info[ 1 ].length;\n\t\t}\n\n\t\tif ( !error && 32 !== key_length && 40 !== key_length ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_key_invalid;\n\t\t}\n\n\t\tif ( !error && connection_info[ 0 ] === wpmdb_data.connection_info[ 0 ] ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_local_url;\n\t\t}\n\n\t\tif ( !error && connection_info[ 1 ] === wpmdb_data.connection_info[ 1 ] ) {\n\t\t\terror = true;\n\t\t\terror_message = wpmdb_strings.connection_info_local_key;\n\t\t}\n\t\tif ( error ) {\n\t\t\t$( '.connection-status' ).html( error_message );\n\t\t\t$( '.connection-status' ).addClass( 'notification-message error-notice migration-error' );\n\t\t\treturn;\n\t\t}\n\n\t\tvar new_connection_info_contents = connection_info[ 0 ] + '\\n' + connection_info[ 1 ];\n\n\t\t// If connection info is a single line\n\t\tif ( 1 === $.trim( data ).split( '\\n' ).length ) {\n\n\t\t\t// Repopulate the input with the info on two lines\n\t\t\t$( '.pull-push-connection-info' ).val( new_connection_info_contents );\n\t\t}\n\n\t\tif ( false === wpmdb_data.openssl_available ) {\n\t\t\tconnection_info[ 0 ] = connection_info[ 0 ].replace( 'https://', 'http://' );\n\t\t\tnew_connection_info_contents = connection_info[ 0 ] + '\\n' + connection_info[ 1 ];\n\t\t\t$( '.pull-push-connection-info' ).val( new_connection_info_contents );\n\t\t}\n\n\t\tglobals.show_prefix_notice = false;\n\t\tglobals.doing_ajax = true;\n\t\tglobals.disable_export_type_controls();\n\n\t\tif ( $( '.basic-access-auth-wrapper' ).is( ':visible' ) ) {\n\t\t\tconnection_info[ 0 ] = connection_info[ 0 ].replace( /\\/\\/(.*)@/, '//' );\n\t\t\tconnection_info[ 0 ] = connection_info[ 0 ].replace( '//', '//' + encodeURIComponent( $.trim( $( '.auth-username' ).val() ) ) + ':' + encodeURIComponent( $.trim( $( '.auth-password' ).val() ) ) + '@' );\n\t\t\tnew_connection_info_contents = connection_info[ 0 ] + '\\n' + connection_info[ 1 ];\n\t\t\t$( '.pull-push-connection-info' ).val( new_connection_info_contents );\n\t\t\t$( '.basic-access-auth-wrapper' ).hide();\n\t\t}\n\n\t\t$( '.step-two' ).hide();\n\t\t$( '.ssl-notice' ).hide();\n\t\t$( '.prefix-notice' ).hide();\n\t\t$( '.connection-status' ).show();\n\n\t\t$( '.connection-status' ).html( wpmdb_strings.establishing_remote_connection );\n\t\t$( '.connection-status' ).removeClass( 'notification-message error-notice migration-error' );\n\t\t$( '.connection-status' ).append( globals.ajax_spinner );\n\n\t\tvar intent = wpmdb.functions.wpmdb_migration_type();\n\n\t\tglobals.profile_name_edited = false;\n\n\t\treturn $.ajax( {\n\t\t\turl: ajaxurl,\n\t\t\ttype: 'POST',\n\t\t\tdataType: 'json',\n\t\t\tcache: false,\n\t\t\tdata: {\n\t\t\t\taction: 'wpmdb_verify_connection_to_remote_site',\n\t\t\t\turl: connection_info[ 0 ],\n\t\t\t\tkey: connection_info[ 1 ],\n\t\t\t\tintent: intent,\n\t\t\t\tnonce: wpmdb_data.nonces.verify_connection_to_remote_site\n\t\t\t},\n\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t$( '.connection-status' ).html( globals.get_ajax_errors( jqXHR.responseText, '(#100)', jqXHR ) );\n\t\t\t\t$( '.connection-status' ).addClass( 'notification-message error-notice migration-error' );\n\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\tglobals.enable_export_type_controls();\n\t\t\t},\n\t\t\tsuccess: function( data ) {\n\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\tglobals.enable_export_type_controls();\n\n\t\t\t\tif ( 'undefined' !== typeof data.wpmdb_error && 1 === data.wpmdb_error ) {\n\t\t\t\t\t$( '.connection-status' ).html( data.body );\n\t\t\t\t\t$( '.connection-status' ).addClass( 'notification-message error-notice migration-error' );\n\n\t\t\t\t\tif ( data.body.indexOf( '401 Unauthorized' ) > -1 ) {\n\t\t\t\t\t\t$( '.basic-access-auth-wrapper' ).show();\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !$( '.pull-push-connection-info' ).hasClass( 'temp-disabled' ) && !$( '.connect-button' ).is( ':visible' ) ) {\n\t\t\t\t\t\t$( '.pull-push-connection-info' ).removeAttr( 'readonly' );\n\t\t\t\t\t\t$( '.connect-button' ).show();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( true === wpmdb.functions.maybe_show_mst_warning( data ) ) {\n\t\t\t\t\t$( '.connection-status' ).hide();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tglobals.maybe_show_ssl_warning( connection_info[ 0 ], connection_info[ 1 ], data.scheme );\n\n\t\t\t\tvar profile_name = globals.get_domain_name( data.url );\n\t\t\t\t$( '.create-new-profile' ).val( profile_name );\n\n\t\t\t\t$( '.pull-push-connection-info' ).addClass( 'temp-disabled' );\n\t\t\t\t$( '.pull-push-connection-info' ).attr( 'readonly', 'readonly' );\n\t\t\t\t$( '.connect-button' ).hide();\n\n\t\t\t\t$( '.connection-status' ).hide();\n\t\t\t\t$( '.step-two' ).show();\n\n\t\t\t\twpmdb.functions.maybe_show_prefix_notice( data.prefix );\n\n\t\t\t\tglobals.connection_established = true;\n\t\t\t\tglobals.set_connection_data( data );\n\t\t\t\tglobals.move_connection_info_box();\n\t\t\t\tglobals.change_replace_values();\n\n\t\t\t\tglobals.maybe_show_mixed_cased_table_name_warning();\n\n\t\t\t\tglobals.refresh_table_selects(null, null, this);\n\n\t\t\t\tglobals.$push_select_backup = $( globals.$pull_select ).clone();\n\t\t\t\t$( globals.$push_select_backup ).attr( {\n\t\t\t\t\tname: 'select_backup[]',\n\t\t\t\t\tid: 'select-backup'\n\t\t\t\t} );\n\n\t\t\t\tvar $post_type_select = document.createElement( 'select' );\n\t\t\t\t$( $post_type_select ).attr( {\n\t\t\t\t\tmultiple: 'multiple',\n\t\t\t\t\tname: 'select_post_types[]',\n\t\t\t\t\tid: 'select-post-types',\n\t\t\t\t\tclass: 'multiselect'\n\t\t\t\t} );\n\n\t\t\t\t$.each( wpmdb.common.connection_data.post_types, function( index, value ) {\n\t\t\t\t\t$( $post_type_select ).append( '' );\n\t\t\t\t} );\n\n\t\t\t\tglobals.$pull_post_type_select = $post_type_select;\n\n\t\t\t\t$( '#new-path-missing-warning, #new-url-missing-warning' ).hide();\n\n\t\t\t\tif ( 'pull' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\t\t\t$( '#new-url' ).val( wpmdb.functions.remove_protocol( wpmdb_data.this_url ) );\n\t\t\t\t\t$( '#new-path' ).val( wpmdb_data.this_path );\n\t\t\t\t\tif ( 'true' === wpmdb_data.is_multisite ) {\n\t\t\t\t\t\t$( '#new-domain' ).val( wpmdb_data.this_domain );\n\t\t\t\t\t\t$( '.replace-row.pin .old-replace-col input[type=\"text\"]' ).val( wpmdb.functions.remove_protocol( data.url ) );\n\t\t\t\t\t}\n\t\t\t\t\t$( '#old-url' ).val( wpmdb.functions.remove_protocol( data.url ) );\n\t\t\t\t\t$( '#old-path' ).val( data.path );\n\n\t\t\t\t\t$.wpmdb.do_action( 'wpmdb_update_pull_table_select' );\n\t\t\t\t\t$( '#select-post-types' ).remove();\n\t\t\t\t\t$( '.exclude-post-types-warning' ).after( globals.$pull_post_type_select );\n\t\t\t\t\twpmdb.functions.exclude_post_types_warning();\n\t\t\t\t\t$( '.table-prefix' ).html( data.prefix );\n\t\t\t\t\t$( '.backup-table-prefix' ).html( wpmdb_data.site_details.prefix );\n\t\t\t\t\t$( '.uploads-dir' ).html( wpmdb_data.this_uploads_dir );\n\t\t\t\t} else {\n\t\t\t\t\t$( '#new-url' ).val( wpmdb.functions.remove_protocol( data.url ) );\n\t\t\t\t\t$( '#new-path' ).val( data.path );\n\n\t\t\t\t\tif ( 'true' === wpmdb_data.is_multisite ) {\n\t\t\t\t\t\t$( '.replace-row.pin .old-replace-col input[type=\"text\"]' ).val( wpmdb.functions.remove_protocol( wpmdb_data.this_url ) );\n\t\t\t\t\t}\n\t\t\t\t\t$.wpmdb.do_action( 'wpmdb_update_push_table_select' );\n\t\t\t\t\t$( '#select-backup' ).remove();\n\t\t\t\t\t$( '.backup-tables-wrap' ).prepend( globals.$push_select_backup );\n\t\t\t\t}\n\n\t\t\t\twpmdb.common.next_step_in_migration = {\n\t\t\t\t\tfn: $.wpmdb.do_action,\n\t\t\t\t\targs: [ 'verify_connection_to_remote_site', wpmdb.common.connection_data ]\n\t\t\t\t};\n\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t}\n\n\t\t} );\n\n\t};\n\n\t/**\n\t *\n\t * ========= DOM ready =========\n\t *\n\t * Mostly direct DOM manipulation specific code\n\t *\n\t */\n\t$( document ).ready( function() {\n\t\twpmdb.migration_state_id = '';\n\n\t\t$( '#plugin-compatibility' ).change( function( e ) {\n\t\t\tvar install = '1';\n\t\t\tvar $status = $( this ).closest( 'td' ).next( 'td' ).find( '.setting-status' );\n\n\t\t\tif ( !$( this ).is( ':checked' ) ) {\n\t\t\t\tinstall = '0';\n\t\t\t}\n\n\t\t\t$( '.plugin-compatibility-wrap' ).toggle();\n\n\t\t\t$status.find( '.ajax-success-msg' ).remove();\n\t\t\t$status.append( globals.ajax_spinner );\n\t\t\t$( '#plugin-compatibility' ).attr( 'disabled', 'disabled' );\n\t\t\t$( '.plugin-compatibility' ).addClass( 'disabled' );\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_plugin_compatibility',\n\t\t\t\t\tinstall: install,\n\t\t\t\t\tnonce: wpmdb_data.nonces.plugin_compatibility\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\talert( wpmdb_strings.plugin_compatibility_settings_problem + '\\r\\n\\r\\n' + wpmdb_strings.status + ' ' + jqXHR.status + ' ' + jqXHR.statusText + '\\r\\n\\r\\n' + wpmdb_strings.response + '\\r\\n' + jqXHR.responseText );\n\t\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\t\t$( '#plugin-compatibility' ).removeAttr( 'disabled' );\n\t\t\t\t\t$( '.plugin-compatibility' ).removeClass( 'disabled' );\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\tif ( '' !== $.trim( data ) ) {\n\t\t\t\t\t\talert( data );\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$status.append( '' + wpmdb_strings.saved + '' );\n\t\t\t\t\t\t$( '.ajax-success-msg' ).fadeOut( 2000, function() {\n\t\t\t\t\t\t\t$( this ).remove();\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\t\t$( '#plugin-compatibility' ).removeAttr( 'disabled' );\n\t\t\t\t\t$( '.plugin-compatibility' ).removeClass( 'disabled' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t} );\n\n\t\tif ( $( '#plugin-compatibility' ).is( ':checked' ) ) {\n\t\t\t$( '.plugin-compatibility-wrap' ).show();\n\t\t}\n\n\t\tif ( 0 <= navigator.userAgent.indexOf( 'MSIE' ) || 0 <= navigator.userAgent.indexOf( 'Trident' ) ) {\n\t\t\t$( '.ie-warning' ).show();\n\t\t}\n\n\t\tif ( 0 <= navigator.userAgent.indexOf( 'Edge' ) ) {\n\t\t\t$( '.edge-warning' ).show();\n\t\t}\n\n\t\tif ( 0 === wpmdb_data.valid_licence ) {\n\t\t\t$( '#savefile' ).prop( 'checked', true );\n\t\t}\n\t\tvar max_request_size_container = $( '.max-request-size' );\n\t\tvar max_request_size_slider = $( '.slider', max_request_size_container );\n\t\tmax_request_size_slider.slider( {\n\t\t\trange: 'min',\n\t\t\tvalue: parseInt( wpmdb_data.max_request / 1024 ),\n\t\t\tmin: 512,\n\t\t\tmax: parseInt( wpmdb_data.bottleneck / 1024 ),\n\t\t\tstep: 256,\n\t\t\tcreate: function( event, ui ) {\n\t\t\t\tvar display_info = globals.get_max_request_display_info( wpmdb_data.max_request / 1024 );\n\t\t\t\tglobals.set_slider_value( max_request_size_container, wpmdb_data.max_request / 1024, display_info.unit, display_info.amount );\n\t\t\t},\n\t\t\tslide: function( event, ui ) {\n\t\t\t\tvar display_info = globals.get_max_request_display_info( ui.value );\n\t\t\t\tglobals.set_slider_value( max_request_size_container, ui.value, display_info.unit, display_info.amount );\n\t\t\t},\n\t\t\tstop: function( event, ui ) {\n\t\t\t\t$( '.slider-success-msg' ).remove();\n\t\t\t\t$( '.amount', max_request_size_container ).after( '\"\"' );\n\t\t\t\tmax_request_size_slider.slider( 'disable' );\n\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: ajaxurl,\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: 'wpmdb_update_max_request_size',\n\t\t\t\t\t\tmax_request_size: parseInt( ui.value ),\n\t\t\t\t\t\tnonce: wpmdb_data.nonces.update_max_request_size\n\t\t\t\t\t},\n\t\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\t\tmax_request_size_slider.slider( 'enable' );\n\t\t\t\t\t\t$( '.slider-spinner', max_request_size_container ).remove();\n\t\t\t\t\t\talert( wpmdb_strings.max_request_size_problem );\n\t\t\t\t\t\tvar display_info = globals.get_max_request_display_info( wpmdb_data.max_request / 1024 );\n\t\t\t\t\t\tglobals.set_slider_value( max_request_size_container, wpmdb_data.max_request / 1024, display_info.unit, display_info.amount );\n\t\t\t\t\t\tmax_request_size_slider.slider( 'enable' );\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: function() {\n\t\t\t\t\t\tmax_request_size_slider.slider( 'enable' );\n\t\t\t\t\t\t$( '.slider-label-wrapper', max_request_size_container ).append( '' + wpmdb_strings.saved + '' );\n\t\t\t\t\t\t$( '.slider-success-msg', max_request_size_container ).fadeOut( 2000, function() {\n\t\t\t\t\t\t\t$( this ).remove();\n\t\t\t\t\t\t} );\n\t\t\t\t\t\t$( '.slider-spinner', max_request_size_container ).remove();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\tvar delay_between_requests_container = $( '.delay-between-requests' );\n\t\tvar delay_between_requests_slider = $( '.slider', delay_between_requests_container );\n\t\tdelay_between_requests_slider.slider( {\n\t\t\trange: 'min',\n\t\t\tvalue: parseInt( wpmdb_data.delay_between_requests / 1000 ),\n\t\t\tmin: 0,\n\t\t\tmax: 10,\n\t\t\tstep: 1,\n\t\t\tcreate: function( event, ui ) {\n\t\t\t\tglobals.set_slider_value( delay_between_requests_container, wpmdb_data.delay_between_requests / 1000, 's' );\n\t\t\t},\n\t\t\tslide: function( event, ui ) {\n\t\t\t\tglobals.set_slider_value( delay_between_requests_container, ui.value, 's' );\n\t\t\t},\n\t\t\tstop: function( event, ui ) {\n\t\t\t\t$( '.slider-success-msg' ).remove();\n\t\t\t\t$( '.amount', delay_between_requests_container ).after( '\"\"' );\n\t\t\t\tdelay_between_requests_slider.slider( 'disable' );\n\n\t\t\t\t$.ajax( {\n\t\t\t\t\turl: ajaxurl,\n\t\t\t\t\ttype: 'POST',\n\t\t\t\t\tcache: false,\n\t\t\t\t\tdata: {\n\t\t\t\t\t\taction: 'wpmdb_update_delay_between_requests',\n\t\t\t\t\t\tdelay_between_requests: parseInt( ui.value * 1000 ),\n\t\t\t\t\t\tnonce: wpmdb_data.nonces.update_delay_between_requests\n\t\t\t\t\t},\n\t\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\t\tdelay_between_requests_slider.slider( 'enable' );\n\t\t\t\t\t\t$( '.slider-spinner', delay_between_requests_container ).remove();\n\t\t\t\t\t\talert( wpmdb_strings.delay_between_requests_problem );\n\t\t\t\t\t\tglobals.set_slider_value( delay_between_requests_container, wpmdb_data.delay_between_requests / 1000, 's' );\n\t\t\t\t\t\tdelay_between_requests_slider.slider( 'enable' );\n\t\t\t\t\t},\n\t\t\t\t\tsuccess: function() {\n\t\t\t\t\t\twpmdb_data.delay_between_requests = parseInt( ui.value * 1000 );\n\t\t\t\t\t\tdelay_between_requests_slider.slider( 'enable' );\n\t\t\t\t\t\t$( '.slider-label-wrapper', delay_between_requests_container ).append( '' + wpmdb_strings.saved + '' );\n\t\t\t\t\t\t$( '.slider-success-msg', delay_between_requests_container ).fadeOut( 2000, function() {\n\t\t\t\t\t\t\t$( this ).remove();\n\t\t\t\t\t\t} );\n\t\t\t\t\t\t$( '.slider-spinner', delay_between_requests_container ).remove();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\n\t\t$( '.help-tab .video' ).each( function() {\n\t\t\tvar $container = $( this ),\n\t\t\t\t$viewer = $( '.video-viewer' );\n\n\t\t\t$( 'a', this ).click( function( e ) {\n\t\t\t\te.preventDefault();\n\n\t\t\t\t$viewer.attr( 'src', '//www.youtube.com/embed/' + $container.data( 'video-id' ) + '?autoplay=1' );\n\t\t\t\t$viewer.show();\n\t\t\t\tvar offset = $viewer.offset();\n\t\t\t\t$( window ).scrollTop( offset.top - 50 );\n\t\t\t} );\n\t\t} );\n\n\t\t$( '.backup-options' ).show();\n\t\t$( '.keep-active-plugins' ).show();\n\t\tif ( 'savefile' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\t$( '.backup-options' ).hide();\n\t\t\t$( '.keep-active-plugins' ).hide();\n\t\t}\n\n\t\tglobals.last_replace_switch = wpmdb.functions.wpmdb_migration_type();\n\n\t\t/**\n\t\t * Handle 'Check License Again' functionality found in expired license messages.\n\t\t */\n\t\t$( '.content-tab' ).on( 'click', '.check-my-licence-again', function( e ) {\n\t\t\te.preventDefault();\n\t\t\tglobals.checked_licence = false;\n\t\t\t$( e.target ).replaceWith( 'Checking... ' + globals.ajax_spinner );\n\t\t\tglobals.check_licence( null, 'all' );\n\t\t} );\n\n\t\t$.wpmdb.add_action( 'wpmdb_refresh_table_selects', globals.refresh_table_selects, '', globals );\n\n\t\tfunction update_push_table_select() {\n\t\t\t$( '#select-tables' ).remove();\n\t\t\t$( '.select-tables-wrap' ).prepend( globals.$push_select );\n\t\t\t$( '#select-tables' ).change();\n\t\t}\n\n\t\t$.wpmdb.add_action( 'wpmdb_update_push_table_select', update_push_table_select );\n\n\t\tfunction update_pull_table_select() {\n\t\t\t$( '#select-tables' ).remove();\n\t\t\t$( '.select-tables-wrap' ).prepend( globals.$pull_select );\n\t\t\t$( '#select-tables' ).change();\n\t\t}\n\n\t\t$.wpmdb.add_action( 'wpmdb_update_pull_table_select', update_pull_table_select );\n\n\t\tfunction disable_table_migration_options() {\n\t\t\t$( '#migrate-selected' ).parents( '.option-section' ).children( '.header-expand-collapse' ).children( '.expand-collapse-arrow' ).removeClass( 'collapsed' );\n\t\t\t$( '.table-select-wrap' ).show();\n\t\t\t$( '#migrate-only-with-prefix' ).prop( 'checked', false );\n\t\t\t$( '#migrate-selected' ).prop( 'checked', true );\n\t\t\t$( '.table-migrate-options' ).hide();\n\t\t\t$( '.select-tables-wrap' ).show();\n\t\t}\n\n\t\t$.wpmdb.add_action( 'wpmdb_disable_table_migration_options', disable_table_migration_options );\n\n\t\tfunction enable_table_migration_options() {\n\t\t\t$( '.table-migrate-options' ).show();\n\t\t}\n\n\t\t$.wpmdb.add_action( 'wpmdb_enable_table_migration_options', enable_table_migration_options );\n\n\t\tfunction select_all_tables() {\n\t\t\t$( '#select-tables' ).children( 'option' ).prop( 'selected', true );\n\t\t\t$( '#select-tables' ).change();\n\t\t}\n\n\t\t$.wpmdb.add_action( 'wpmdb_select_all_tables', select_all_tables );\n\n\t\tfunction base_old_url( value, args ) {\n\t\t\treturn globals.remove_protocol( wpmdb_data.this_url );\n\t\t}\n\n\t\t$.wpmdb.add_filter( 'wpmdb_base_old_url', base_old_url );\n\n\t\t// automatically validate connection info if we're loading a saved profile\n\t\tglobals.establish_remote_connection_from_saved_profile();\n\n\t\t// add to tags which act as JS event buttons, will not jump page to top and will deselect the button\n\t\t$( 'body' ).on( 'click', '.js-action-link', function( e ) {\n\t\t\te.preventDefault();\n\t\t\t$( this ).blur();\n\t\t} );\n\n\t\t$( '.licence-input' ).keypress( function( e ) {\n\t\t\tif ( 13 === e.which ) {\n\t\t\t\te.preventDefault();\n\t\t\t\t$( '.register-licence' ).click();\n\t\t\t}\n\t\t} );\n\n\t\t// registers your licence\n\t\t$( 'body' ).on( 'click', '.register-licence', function( e ) {\n\t\t\te.preventDefault();\n\n\t\t\tif ( globals.doing_licence_registration_ajax ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar licence_key = $.trim( $( '.licence-input' ).val() );\n\t\t\tvar $licence_status = $( '.licence-status' );\n\n\t\t\t$licence_status.removeClass( 'notification-message error-notice success-notice' );\n\n\t\t\tif ( '' === licence_key ) {\n\t\t\t\t$licence_status.html( '
    ' + wpmdb_strings.enter_license_key + '
    ' );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$licence_status.empty().removeClass( 'success' );\n\t\t\tglobals.doing_licence_registration_ajax = true;\n\t\t\t$( '.button.register-licence' ).after( '\"\"' );\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'JSON',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_activate_licence',\n\t\t\t\t\tlicence_key: licence_key,\n\t\t\t\t\tnonce: wpmdb_data.nonces.activate_licence,\n\t\t\t\t\tcontext: 'licence'\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\tglobals.doing_licence_registration_ajax = false;\n\t\t\t\t\t$( '.register-licence-ajax-spinner' ).remove();\n\t\t\t\t\t$licence_status.html( wpmdb_strings.register_license_problem );\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\t$( '.register-licence-ajax-spinner' ).remove();\n\n\t\t\t\t\tif ( 'undefined' !== typeof data.errors ) {\n\t\t\t\t\t\tvar msg = '';\n\t\t\t\t\t\tfor ( var key in data.errors ) {\n\t\t\t\t\t\t\tmsg += data.errors[ key ];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$licence_status.html( msg );\n\n\t\t\t\t\t\tif ( 'undefined' !== typeof data.masked_licence ) {\n\t\t\t\t\t\t\tglobals.enable_pro_licence( data, licence_key );\n\t\t\t\t\t\t\t$( '.migrate-tab .invalid-licence' ).hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( 'undefined' !== typeof data.wpmdb_error && 'undefined' !== typeof data.body ) {\n\t\t\t\t\t\t$licence_status.html( data.body );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif ( 1 === Number( data.is_first_activation ) ) {\n\t\t\t\t\t\t\twpmdb_strings.welcome_text = wpmdb_strings.welcome_text.replace( '%1$s', 'https://deliciousbrains.com/wp-migrate-db-pro/doc/quick-start-guide/?utm_campaign=support%2Bdocs&utm_source=MDB%2BPaid&utm_medium=insideplugin' );\n\t\t\t\t\t\t\twpmdb_strings.welcome_text = wpmdb_strings.welcome_text.replace( '%2$s', 'https://deliciousbrains.com/wp-migrate-db-pro/videos/?utm_campaign=support%2Bdocs&utm_source=MDB%2BPaid&utm_medium=insideplugin' );\n\n\t\t\t\t\t\t\t$licence_status.after(\n\t\t\t\t\t\t\t\t'
    ' +\n\t\t\t\t\t\t\t\t'' +\n\t\t\t\t\t\t\t\t'
    ' +\n\t\t\t\t\t\t\t\t'

    ' + wpmdb_strings.welcome_title + '

    ' +\n\t\t\t\t\t\t\t\t'

    ' + wpmdb_strings.welcome_text + '

    ' +\n\t\t\t\t\t\t\t\t'
    ' +\n\t\t\t\t\t\t\t\t'
    '\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t$licence_status.html( wpmdb_strings.license_registered ).delay( 5000 ).fadeOut( 1000, function() {\n\t\t\t\t\t\t\t$( this ).css( { visibility: 'hidden', display: 'block' } ).slideUp();\n\t\t\t\t\t\t} );\n\t\t\t\t\t\t$licence_status.addClass( 'success notification-message success-notice' );\n\t\t\t\t\t\tglobals.enable_pro_licence( data, licence_key );\n\t\t\t\t\t\t$( '.invalid-licence' ).hide();\n\t\t\t\t\t}\n\n\t\t\t\t\tglobals.doing_licence_registration_ajax = false;\n\t\t\t\t}\n\t\t\t} );\n\n\t\t} );\n\n\t\t// clears the debug log\n\t\t$( '.clear-log' ).click( function() {\n\t\t\t$( '.ajax-spinner, .ajax-success-msg' ).remove();\n\t\t\t$( this ).after( globals.ajax_spinner );\n\t\t\t$( '.debug-log-textarea' ).val( '' );\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_clear_log',\n\t\t\t\t\tnonce: wpmdb_data.nonces.clear_log\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\t\talert( wpmdb_strings.clear_log_problem );\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\t$( '.ajax-spinner, .ajax-success-msg' ).remove();\n\t\t\t\t\tglobals.refresh_debug_log();\n\t\t\t\t\t$( '.clear-log' ).after( '' + wpmdb_strings.clear_error_log + '' );\n\t\t\t\t\t$( '.ajax-success-msg' ).fadeOut( 2000, function() {\n\t\t\t\t\t\t$( this ).remove();\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\t// select all tables\n\t\t$( '.multiselect-select-all' ).click( function() {\n\t\t\tvar multiselect = $( this ).parents( '.select-wrap' ).children( '.multiselect' );\n\t\t\t$( 'option', multiselect ).prop( 'selected', 1 );\n\t\t\t$( multiselect ).focus().trigger( 'change' );\n\t\t} );\n\n\t\t// deselect all tables\n\t\t$( '.multiselect-deselect-all' ).click( function() {\n\t\t\tvar multiselect = $( this ).parents( '.select-wrap' ).children( '.multiselect' );\n\t\t\t$( 'option', multiselect ).removeAttr( 'selected' );\n\t\t\t$( multiselect ).focus().trigger( 'change' );\n\t\t} );\n\n\t\t// invert table selection\n\t\t$( '.multiselect-invert-selection' ).click( function() {\n\t\t\tvar multiselect = $( this ).parents( '.select-wrap' ).children( '.multiselect' );\n\t\t\t$( 'option', multiselect ).each( function() {\n\t\t\t\t$( this ).attr( 'selected', !$( this ).attr( 'selected' ) );\n\t\t\t} );\n\t\t\t$( multiselect ).focus().trigger( 'change' );\n\t\t} );\n\n\t\t// on option select hide all \"advanced\" option divs and show the correct div for the option selected\n\t\t$( '.option-group input[type=radio]' ).change( function() {\n\t\t\tvar group = $( this ).closest( '.option-group' );\n\t\t\t$( 'ul', group ).hide();\n\t\t\tvar parent = $( this ).closest( 'li' );\n\t\t\t$( 'ul', parent ).show();\n\t\t} );\n\n\t\t// on page load, expand hidden divs for selected options (browser form cache)\n\t\t$( '.option-group' ).each( function() {\n\t\t\t$( '.option-group input[type=radio]' ).each( function() {\n\t\t\t\tif ( $( this ).is( ':checked' ) ) {\n\t\t\t\t\tvar parent = $( this ).closest( 'li' );\n\t\t\t\t\t$( 'ul', parent ).show();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\t// expand and collapse content on click\n\t\t$( '.header-expand-collapse' ).click( function() {\n\t\t\tvar target = null;\n\n\t\t\tif ( undefined !== $( this ).data( 'next' ) ) {\n\t\t\t\ttarget = $( this ).data( 'next' );\n\t\t\t}\n\n\t\t\tif ( $( '.expand-collapse-arrow', this ).hasClass( 'collapsed' ) ) {\n\t\t\t\t$( '.expand-collapse-arrow', this ).removeClass( 'collapsed' );\n\t\t\t\tif ( target ) {\n\t\t\t\t\t$( target ).show();\n\t\t\t\t} else {\n\t\t\t\t\t$( this ).next().show();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$( '.expand-collapse-arrow', this ).addClass( 'collapsed' );\n\t\t\t\tif ( target ) {\n\t\t\t\t\t$( target ).hide();\n\t\t\t\t} else {\n\t\t\t\t\t$( this ).next().hide();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t$( '.checkbox-label input[type=checkbox]' ).change( function() {\n\t\t\tif ( $( this ).is( ':checked' ) ) {\n\t\t\t\t$( this ).parent().next().show();\n\t\t\t} else {\n\t\t\t\t$( this ).parent().next().hide();\n\t\t\t}\n\t\t} );\n\n\t\t// warning for excluding post types\n\t\t$( '.select-post-types-wrap' ).on( 'change', '#select-post-types', function() {\n\t\t\twpmdb.functions.exclude_post_types_warning();\n\t\t} );\n\n\t\tif ( $( '#exclude-post-types' ).is( ':checked' ) ) {\n\t\t\tif ( $( '#select-post-types' ).val() ) {\n\t\t\t\t$( '.exclude-post-types-warning' ).css( { display: 'block', opacity: 1 } );\n\t\t\t}\n\t\t}\n\n\t\t// special expand and collapse content on click for save migration profile\n\t\t$( '#save-migration-profile' ).change( function() {\n\t\t\twpmdb.functions.update_migrate_button_text();\n\t\t\tif ( $( this ).is( ':checked' ) ) {\n\t\t\t\t$( '.save-settings-button' ).show();\n\t\t\t} else {\n\t\t\t\t$( '.save-settings-button' ).hide();\n\t\t\t}\n\t\t} );\n\n\t\tif ( $( '#save-migration-profile' ).is( ':checked' ) ) {\n\t\t\t$( '.save-settings-button' ).show();\n\t\t}\n\n\t\t$( '.create-new-profile' ).focus( function() {\n\t\t\t$( '#create_new' ).prop( 'checked', true );\n\t\t} );\n\n\t\t$( '.checkbox-label input[type=checkbox]' ).each( function() {\n\t\t\tif ( $( this ).is( ':checked' ) ) {\n\t\t\t\t$( this ).parent().next().show();\n\t\t\t}\n\t\t} );\n\n\t\t// AJAX migrate button\n\t\t$( '.migrate-db-button' ).click( function( event ) {\n\t\t\t$( this ).blur();\n\n\t\t\tevent.preventDefault();\n\t\t\twpmdb.migration_state_id = '';\n\n\t\t\tif ( false === $.wpmdb.apply_filters( 'wpmdb_migration_profile_ready', true ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( true === wpmdb.functions.maybe_show_select_table_notice() ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar new_url_missing = false;\n\t\t\tvar new_file_path_missing = false;\n\t\t\tif ( $( '#new-url' ).length && !$( '#new-url' ).val() ) {\n\t\t\t\t$( '#new-url-missing-warning' ).show();\n\t\t\t\t$( '#new-url' ).focus();\n\t\t\t\t$( 'html,body' ).scrollTop( 0 );\n\t\t\t\tnew_url_missing = true;\n\t\t\t}\n\n\t\t\tif ( $( '#new-path' ).length && !$( '#new-path' ).val() ) {\n\t\t\t\t$( '#new-path-missing-warning' ).show();\n\t\t\t\tif ( false === new_url_missing ) {\n\t\t\t\t\t$( '#new-path' ).focus();\n\t\t\t\t\t$( 'html,body' ).scrollTop( 0 );\n\t\t\t\t}\n\t\t\t\tnew_file_path_missing = true;\n\t\t\t}\n\n\t\t\tif ( true === new_url_missing || true === new_file_path_missing ) {\n\t\t\t\tif ( 'import' === wpmdb.functions.wpmdb_migration_type() ) {\n\t\t\t\t\tif ( $( '#import-find-replace' ).is( ':checked' ) ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// also save profile\n\t\t\tif ( $( '#save-migration-profile' ).is( ':checked' ) ) {\n\t\t\t\tglobals.save_active_profile();\n\t\t\t}\n\n\t\t\tglobals.form_data = $( $( '#migrate-form' )[ 0 ].elements ).not( '.auth-credentials' ).serialize();\n\n\t\t\tglobals.migration_intent = wpmdb.functions.wpmdb_migration_type();\n\n\t\t\tglobals.stage = 'backup';\n\n\t\t\tif ( 'savefile' === globals.migration_intent ) {\n\t\t\t\tglobals.stage = 'migrate';\n\t\t\t}\n\n\t\t\tif ( false === $( '#create-backup' ).is( ':checked' ) ) {\n\t\t\t\tif ( -1 !== $.inArray( globals.migration_intent, [ 'savefile', 'push', 'pull' ] ) ) {\n\t\t\t\t\tglobals.stage = 'migrate';\n\t\t\t\t} else if ( 'import' === globals.migration_intent ) {\n\t\t\t\t\tglobals.stage = 'upload';\n\t\t\t\t} else {\n\t\t\t\t\tglobals.stage = globals.migration_intent;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\twpmdb.current_migration = wpmdb.migration_progress_controller.newMigration( {\n\t\t\t\tlocalTableSizes: wpmdb_data.this_table_sizes,\n\t\t\t\tlocalTableRows: wpmdb_data.this_table_rows,\n\t\t\t\tremoteTableSizes: 'undefined' !== typeof wpmdb.common.connection_data ? wpmdb.common.connection_data.table_sizes : null,\n\t\t\t\tremoteTableRows: 'undefined' !== typeof wpmdb.common.connection_data ? wpmdb.common.connection_data.table_rows : null,\n\t\t\t\tmigrationIntent: wpmdb.functions.wpmdb_migration_type()\n\t\t\t} );\n\n\t\t\tvar backup_option = $( 'input[name=backup_option]:checked' ).val();\n\t\t\tvar table_option = $( 'input[name=table_migrate_option]:checked' ).val();\n\t\t\tvar selected_tables = '';\n\t\t\tvar data_type = '';\n\n\t\t\t// set up backup stage\n\t\t\tif ( 'backup' === globals.stage ) {\n\t\t\t\tif ( 'migrate_only_with_prefix' === table_option && 'backup_selected' === backup_option && 'import' !== globals.migration_intent ) {\n\t\t\t\t\tbackup_option = 'backup_only_with_prefix';\n\t\t\t\t}\n\t\t\t\tif ( 'push' === globals.migration_intent ) {\n\t\t\t\t\tdata_type = 'remote';\n\t\t\t\t\tif ( 'backup_only_with_prefix' === backup_option ) {\n\t\t\t\t\t\tglobals.tables_to_migrate = wpmdb.common.connection_data.prefixed_tables;\n\t\t\t\t\t} else if ( 'backup_selected' === backup_option ) {\n\t\t\t\t\t\tselected_tables = $( '#select-tables' ).val();\n\t\t\t\t\t\tselected_tables = $.wpmdb.apply_filters( 'wpmdb_backup_selected_tables', selected_tables );\n\t\t\t\t\t\tglobals.tables_to_migrate = globals.get_intersect( selected_tables, wpmdb.common.connection_data.tables );\n\t\t\t\t\t} else if ( 'backup_manual_select' === backup_option ) {\n\t\t\t\t\t\tglobals.tables_to_migrate = $( '#select-backup' ).val();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tdata_type = 'local';\n\t\t\t\t\tif ( 'backup_only_with_prefix' === backup_option ) {\n\t\t\t\t\t\tglobals.tables_to_migrate = wpmdb_data.this_prefixed_tables;\n\t\t\t\t\t} else if ( 'backup_selected' === backup_option ) {\n\t\t\t\t\t\tselected_tables = $( '#select-tables' ).val();\n\t\t\t\t\t\tselected_tables = $.wpmdb.apply_filters( 'wpmdb_backup_selected_tables', selected_tables );\n\t\t\t\t\t\tglobals.tables_to_migrate = globals.get_intersect( selected_tables, wpmdb_data.this_tables );\n\t\t\t\t\t} else if ( 'backup_manual_select' === backup_option ) {\n\t\t\t\t\t\tglobals.tables_to_migrate = $( '#select-backup' ).val();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\twpmdb.current_migration.model.addStage( 'backup', globals.tables_to_migrate, data_type, {\n\t\t\t\t\tstrings: {\n\t\t\t\t\t\tmigrated: wpmdb_strings.backed_up\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// set up migration stage\n\t\t\tif ( 'pull' === globals.migration_intent ) {\n\t\t\t\tdata_type = 'remote';\n\t\t\t} else {\n\t\t\t\tdata_type = 'local';\n\t\t\t}\n\n\t\t\tif ( 'find_replace' === globals.migration_intent ) {\n\t\t\t\twpmdb.current_migration.model.addStage( 'find_replace', wpmdb.functions.get_tables_to_migrate( null, null ), data_type, {\n\t\t\t\t\tstrings: {\n\t\t\t\t\t\tmigrated: wpmdb_strings.searched,\n\t\t\t\t\t\tstage_title: wpmdb_strings.migrate_button_find_replace\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t} else if ( -1 !== $.inArray( globals.migration_intent, [ 'savefile', 'push', 'pull' ] ) ) {\n\t\t\t\twpmdb.current_migration.model.addStage( 'migrate', wpmdb.functions.get_tables_to_migrate( null, null ), data_type );\n\t\t\t}\n\n\t\t\t// add any additional migration stages via hook\n\t\t\t$.wpmdb.do_action( 'wpmdb_add_migration_stages', {\n\t\t\t\tdata_type: data_type,\n\t\t\t\ttables_to_migrate: wpmdb.functions.get_tables_to_migrate( null, null )\n\t\t\t} );\n\n\t\t\tvar table_intent = $( 'input[name=table_migrate_option]:checked' ).val();\n\t\t\tvar connection_info = $.trim( $( '.pull-push-connection-info' ).val() ).split( '\\n' );\n\t\t\tvar table_rows = '';\n\n\t\t\tglobals.remote_site = connection_info[ 0 ];\n\t\t\tglobals.secret_key = connection_info[ 1 ];\n\n\t\t\tvar static_migration_label = globals.get_migration_status_label( globals.remote_site, globals.migration_intent, 'migrating' );\n\t\t\tglobals.completed_msg = globals.get_migration_status_label( globals.remote_site, globals.migration_intent, 'completed' );\n\n\t\t\tif ( -1 !== $.inArray( globals.stage, [ 'find_replace', 'backup', 'migrate' ] ) ) {\n\t\t\t\tglobals.tables_to_migrate = wpmdb.current_migration.model.getStageItems( globals.stage, 'name' );\n\t\t\t}\n\n\t\t\twpmdb.current_migration.model.setActiveStage( globals.stage );\n\n\t\t\twpmdb.current_migration.setTitle( static_migration_label );\n\n\t\t\twpmdb.current_migration.startTimer();\n\n\t\t\tglobals.currently_migrating = true;\n\t\t\twpmdb.current_migration.setStatus( 'active' );\n\n\t\t\tvar request_data = {\n\t\t\t\taction: 'wpmdb_initiate_migration',\n\t\t\t\tintent: globals.migration_intent,\n\t\t\t\turl: globals.remote_site,\n\t\t\t\tkey: globals.secret_key,\n\t\t\t\tform_data: globals.form_data,\n\t\t\t\tstage: globals.stage,\n\t\t\t\tnonce: wpmdb_data.nonces.initiate_migration\n\t\t\t};\n\n\t\t\trequest_data.site_details = {\n\t\t\t\tlocal: wpmdb_data.site_details\n\t\t\t};\n\n\t\t\tif ( -1 !== $.inArray( globals.migration_intent, [ 'push', 'pull' ] ) ) {\n\t\t\t\trequest_data.temp_prefix = wpmdb.common.connection_data.temp_prefix;\n\t\t\t\trequest_data.site_details.remote = wpmdb.common.connection_data.site_details;\n\t\t\t}\n\n\t\t\t// site_details can have a very large number of elements that blows out PHP's max_input_vars\n\t\t\t// so we reduce it down to one variable for this one POST.\n\t\t\trequest_data.site_details = JSON.stringify( request_data.site_details );\n\n\t\t\trequest_data = $.wpmdb.apply_filters( 'wpmdb_initiate_migration_request_data', request_data, request_data );\n\n\t\t\tglobals.doing_ajax = true;\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcache: false,\n\t\t\t\tdata: request_data,\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\n\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, globals.get_ajax_errors( jqXHR.responseText, '(#112)', jqXHR ), 'error' );\n\n\t\t\t\t\tconsole.log( jqXHR );\n\t\t\t\t\tconsole.log( textStatus );\n\t\t\t\t\tconsole.log( errorThrown );\n\t\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\twpmdb.functions.migration_complete_events();\n\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\t\tif ( 'undefined' !== typeof data && 'undefined' !== typeof data.wpmdb_error && 1 === data.wpmdb_error ) {\n\t\t\t\t\t\twpmdb.common.migration_error = true;\n\t\t\t\t\t\twpmdb.functions.migration_complete_events();\n\t\t\t\t\t\twpmdb.current_migration.setState( wpmdb_strings.migration_failed, data.body, 'error' );\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\twpmdb.migration_state_id = data.migration_state_id;\n\n\t\t\t\t\tvar i = 0;\n\n\t\t\t\t\t// Set delay between requests - use max of local/remote values, 0 if doing export\n\t\t\t\t\tglobals.delay_between_requests = 0;\n\t\t\t\t\tif ( 'savefile' !== globals.migration_intent && 'undefined' !== typeof wpmdb.common.connection_data && 'undefined' !== typeof wpmdb.common.connection_data.delay_between_requests || 'import' === globals.migration_intent ) {\n\t\t\t\t\t\tif ( 'import' === globals.migration_intent ) {\n\t\t\t\t\t\t\tglobals.delay_between_requests = wpmdb_data.delay_between_requests;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tglobals.delay_between_requests = Math.max( parseInt( wpmdb_data.delay_between_requests ), parseInt( wpmdb.common.connection_data.delay_between_requests ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( -1 !== $.inArray( globals.migration_intent, [ 'savefile', 'push', 'pull', 'find_replace' ] ) ) {\n\t\t\t\t\t\twpmdb.common.next_step_in_migration = {\n\t\t\t\t\t\t\tfn: wpmdb.functions.migrate_table_recursive,\n\t\t\t\t\t\t\targs: [ '-1', '']\n\t\t\t\t\t\t};\n\t\t\t\t\t\twpmdb.functions.execute_next_step();\n\t\t\t\t\t}\n\n\t\t\t\t\t$.wpmdb.do_action( 'wpmdb_migration_initiated', globals.stage );\n\t\t\t\t}\n\n\t\t\t} ); // end ajax\n\n\t\t} );\n\n\t\tglobals.update_migrate_button_text();\n\n\t\t// close progress pop up once migration is completed\n\t\t$( 'body' ).on( 'click', '.close-progress-content-button', function( e ) {\n\t\t\tglobals.hide_overlay();\n\t\t\twpmdb.current_migration.restoreTitleElem();\n\t\t\twpmdb.functions.maybe_reload_page();\n\t\t} );\n\n\t\t$( 'body' ).on( 'click', '#overlay', function( e ) {\n\t\t\tif ( true === globals.migration_completed && e.target === this ) {\n\t\t\t\tglobals.hide_overlay();\n\t\t\t\twpmdb.current_migration.restoreTitleElem();\n\t\t\t\twpmdb.functions.maybe_reload_page();\n\t\t\t}\n\t\t} );\n\n\t\t// AJAX save button profile\n\t\t$( '.save-settings-button' ).click( function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\tif ( '' === $.trim( $( '.create-new-profile' ).val() ) && $( '#create_new' ).is( ':checked' ) ) {\n\t\t\t\talert( wpmdb_strings.enter_name_for_profile );\n\t\t\t\t$( '.create-new-profile' ).focus();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tglobals.save_active_profile();\n\t\t} );\n\n\t\t// move around textarea depending on whether or not the push/pull options are selected\n\t\tglobals.move_connection_info_box();\n\n\t\t$( '.migrate-selection.option-group input[type=radio]' ).change( function() {\n\t\t\tglobals.move_connection_info_box();\n\t\t\twpmdb.migration_selection = wpmdb.functions.wpmdb_migration_type();\n\t\t\tif ( globals.connection_established ) {\n\t\t\t\tglobals.change_replace_values();\n\t\t\t}\n\t\t\twpmdb.functions.update_migrate_button_text();\n\t\t} );\n\n\t\t// hide second section if pull or push is selected with no connection established\n\t\tif ( ( 'pull' === wpmdb.functions.wpmdb_migration_type() || 'push' === wpmdb.functions.wpmdb_migration_type() ) && !globals.connection_established ) {\n\t\t\t$( '.step-two' ).hide();\n\t\t\t$( '.connection-status' ).show();\n\t\t}\n\n\t\t// show / hide GUID helper description\n\t\t$( '.general-helper' ).click( function( e ) {\n\t\t\te.preventDefault();\n\t\t\tvar icon = $( this ),\n\t\t\t\tbubble = $( this ).next();\n\n\t\t\t// Close any that are already open\n\t\t\t$( '.helper-message' ).not( bubble ).hide();\n\n\t\t\tvar position = icon.position();\n\t\t\tif ( bubble.hasClass( 'bottom' ) ) {\n\t\t\t\tvar bubble_offset = 1;\n\n\t\t\t\tif ( true === bubble.hasClass( 'compatibility-help' ) ) {\n\t\t\t\t\tbubble_offset = 6;\n\t\t\t\t} else if ( $( this ).is( ':first-child' ) ) {\n\t\t\t\t\tbubble_offset = 3;\n\t\t\t\t}\n\t\t\t\tbubble.css( {\n\t\t\t\t\tleft: ( ( position.left - bubble.width() / 2 ) - bubble_offset ) + 'px',\n\t\t\t\t\ttop: ( position.top + icon.height() + 9 ) + 'px'\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tbubble.css( {\n\t\t\t\t\tleft: ( position.left + icon.width() + 9 ) + 'px',\n\t\t\t\t\ttop: ( position.top + icon.height() / 2 - 18 ) + 'px'\n\t\t\t\t} );\n\t\t\t}\n\t\t\tbubble.toggle();\n\t\t\te.stopPropagation();\n\t\t} );\n\n\t\t$( 'body' ).click( function() {\n\t\t\t$( '.helper-message' ).hide();\n\t\t} );\n\n\t\t$( '.helper-message' ).click( function( e ) {\n\t\t\te.stopPropagation();\n\t\t} );\n\n\t\t$( 'body' ).on( 'click', '.show-errors-toggle', function( e ) {\n\t\t\te.preventDefault();\n\t\t\t$( this ).next( '.migration-php-errors' ).toggle();\n\t\t} );\n\n\t\t// migrate / settings tabs\n\t\t$( '.nav-tab' ).click( function() {\n\t\t\tvar hash = $( this ).attr( 'data-div-name' );\n\t\t\thash = hash.replace( '-tab', '' );\n\t\t\twindow.location.hash = hash;\n\t\t\tglobals.switch_to_plugin_tab( hash, false );\n\t\t} );\n\n\t\t$( 'body' ).on( 'click', 'a[href^=\"#\"]', function( event ) {\n\t\t\tvar href = $( event.target ).attr( 'href' );\n\t\t\tvar tab_name = href.substr( 1 );\n\n\t\t\tif ( tab_name ) {\n\t\t\t\tvar nav_tab = $( '.' + tab_name );\n\t\t\t\tif ( 1 === nav_tab.length ) {\n\t\t\t\t\tnav_tab.trigger( 'click' );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// repeatable fields\n\t\t$( 'body' ).on( 'click', '.add-row', function() {\n\t\t\tvar $parent_tr = $( this ).parents( 'tr' );\n\t\t\t$parent_tr.before( $( '.original-repeatable-field' ).clone().removeClass( 'original-repeatable-field' ) );\n\t\t\t$parent_tr.prev().find( '.old-replace-col input' ).focus();\n\t\t} );\n\n\t\t// repeatable fields\n\t\t$( 'body' ).on( 'click', '.replace-remove-row', function() {\n\t\t\t$( this ).parents( 'tr' ).remove();\n\t\t\tif ( 2 >= $( '.replace-row' ).length ) {\n\t\t\t\t$( '.no-replaces-message' ).show();\n\t\t\t}\n\n\t\t\tvar prev_id = $( this ).prev().attr( 'id' );\n\t\t\tif ( 'new-url' === prev_id || 'new-path' === prev_id ) {\n\t\t\t\t$( '#' + prev_id + '-missing-warning' ).hide();\n\t\t\t}\n\t\t} );\n\n\t\t// Hide New URL & New Path Warnings on change.\n\t\t$( 'body' )\n\t\t\t.on( 'change', '#new-url', function() {\n\t\t\t\t$( '#new-url-missing-warning' ).hide();\n\t\t\t} )\n\t\t\t.on( 'change', '#new-path', function() {\n\t\t\t\t$( '#new-path-missing-warning' ).hide();\n\t\t\t} );\n\n\t\t// Copy Find field to associated Replace field on arrow click.\n\t\t$( 'body' ).on( 'click', '.arrow-col', function() {\n\t\t\tvar replace_row_arrow = this;\n\n\t\t\tif ( $( replace_row_arrow ).hasClass( 'disabled' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar original_value = $( replace_row_arrow ).prev( 'td' ).find( 'input' ).val();\n\t\t\tvar new_value_input = $( replace_row_arrow ).next( 'td' ).find( 'input' );\n\t\t\tnew_value_input.val( original_value );\n\n\t\t\t// Hide New URL or New Path Warning if changed.\n\t\t\tif ( 'new-url' === new_value_input.prop( 'id' ) ) {\n\t\t\t\t$( '#new-url-missing-warning' ).hide();\n\t\t\t} else if ( 'new-path' === new_value_input.prop( 'id' ) ) {\n\t\t\t\t$( '#new-path-missing-warning' ).hide();\n\t\t\t}\n\t\t} );\n\n\t\t$( '.add-replace' ).click( function() {\n\t\t\t$( '.replace-fields' ).prepend( $( '.original-repeatable-field' ).clone().removeClass( 'original-repeatable-field' ) );\n\t\t\t$( '.no-replaces-message' ).hide();\n\t\t} );\n\n\t\t$( '#find-and-replace-sort tbody' ).sortable( {\n\t\t\titems: '> tr:not(.pin)',\n\t\t\thandle: 'td:first',\n\t\t\tstart: function() {\n\t\t\t\t$( '.sort-handle' ).css( 'cursor', '-webkit-grabbing' );\n\t\t\t\t$( '.sort-handle' ).css( 'cursor', '-moz-grabbing' );\n\t\t\t},\n\t\t\tstop: function() {\n\t\t\t\t$( '.sort-handle' ).css( 'cursor', '-webkit-grab' );\n\t\t\t\t$( '.sort-handle' ).css( 'cursor', '-moz-grab' );\n\t\t\t}\n\t\t} );\n\n\t\tvar hash = '';\n\n\t\t// check for hash in url (settings || migrate) switch tabs accordingly\n\t\tif ( window.location.hash ) {\n\t\t\thash = window.location.hash.substring( 1 );\n\t\t\tglobals.switch_to_plugin_tab( hash, false );\n\t\t}\n\n\t\tif ( '' !== globals.get_query_var( 'install-plugin' ) ) {\n\t\t\thash = 'addons';\n\t\t\tglobals.checked_licence = true;\n\t\t\tglobals.switch_to_plugin_tab( hash, true );\n\t\t}\n\n\t\t// process notice links clicks, eg. dismiss, reminder\n\t\t$( '.notice-link' ).click( function( e ) {\n\t\t\te.preventDefault();\n\n\t\t\t// process notice links clicks, eg. dismiss, reminder\n\t\t\twpmdb.functions.ajax_handle_dismissible_notice( wpmdb_data.nonces.process_notice_link, function( ele ) {\n\t\t\t\t$( ele ).closest( '.inline-message' ).hide();\n\t\t\t}, $( this ) );\n\t\t} );\n\n\t\t// When read-only connection info is copied, convert it to one line\n\t\t$( '#connection_info' ).on( 'copy', function( e ) {\n\t\t\tvar $this = $( this );\n\n\t\t\t// Test for two lines\n\t\t\tvar lines = $this.val().split( '\\n' );\n\t\t\tif ( 2 === lines.length ) {\n\n\t\t\t\t// Wrapping in a try in case there's no browser support\n\t\t\t\ttry {\n\n\t\t\t\t\t// Combine the two lines into one\n\t\t\t\t\te.originalEvent.clipboardData.setData( 'text/plain', lines.join( ' ' ) );\n\t\t\t\t\te.preventDefault(); // Default behaviour is to copy any selected text\n\t\t\t\t}\n\t\t\t\tcatch ( err ) {\n\n\t\t\t\t\t// Do nothing. Allow normal copying\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// regenerates the saved secret key\n\t\t$( '.reset-api-key' ).click( function() {\n\t\t\tvar answer = confirm( wpmdb_strings.reset_api_key );\n\n\t\t\tif ( !answer || globals.doing_reset_api_key_ajax ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tglobals.doing_reset_api_key_ajax = true;\n\t\t\t$( '.reset-api-key' ).after( '\"\"' );\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_reset_api_key',\n\t\t\t\t\tnonce: wpmdb_data.nonces.reset_api_key\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\talert( wpmdb_strings.reset_api_key_problem );\n\t\t\t\t\t$( '.reset-api-key-ajax-spinner' ).remove();\n\t\t\t\t\tglobals.doing_reset_api_key_ajax = false;\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\t$( '.reset-api-key-ajax-spinner' ).remove();\n\t\t\t\t\tglobals.doing_reset_api_key_ajax = false;\n\t\t\t\t\t$( '.connection-info' ).html( data );\n\t\t\t\t\twpmdb_data.connection_info = $.trim( data ).split( '\\n' );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t} );\n\n\t\t// Copy the connection info to the clipboard\n\t\t$( '.copy-api-key' ).click( function() {\n\n\t\t\tvar $el = $( this );\n\n\t\t\t// Get connection_info input\n\t\t\tvar $connection_info = $( '#connection_info' );\n\n\t\t\t// Get the connection info\n\t\t\tvar two_lines = $connection_info.val();\n\n\t\t\t// Make it one line, if it's two\n\t\t\tvar one_line = two_lines.replace( '\\n', ' ' );\n\n\t\t\t// Replace two lines with one\n\t\t\t$connection_info.val( one_line );\n\n\t\t\t// Select the input val\n\t\t\t$connection_info.select();\n\n\t\t\ttry {\n\n\t\t\t\t// Copy connection_info\n\t\t\t\tdocument.execCommand( 'copy' );\n\n\t\t\t\t// Unselect connection_info input\n\t\t\t\t$connection_info.blur();\n\n\t\t\t\t// show confirmation\n\t\t\t\t$el.css( 'color', 'transparent' );\n\t\t\t\tvar $confirmation = $( '.copy-api-key-confirmation' ).show();\n\n\t\t\t\t// fadeout confirmation\n\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t$confirmation.fadeOut( 'fast' );\n\t\t\t\t\tsetTimeout( function() {\n\t\t\t\t\t\t$el.css( 'color', '' );\n\t\t\t\t\t}, 200 );\n\n\t\t\t\t}, 1000 );\n\t\t\t}\n\t\t\tcatch ( err ) {\n\t\t\t\talert( 'please press Ctrl/Cmd+C to copy' );\n\t\t\t}\n\n\t\t\t// Replace the input val with the two lines\n\t\t\t$connection_info.val( two_lines );\n\t\t} );\n\n\t\t$( 'input[name=table_migrate_option]' ).change( function() {\n\t\t\t$( '.select-tables-wrap' ).hide();\n\n\t\t\tif ( 'migrate_select' === $( this ).val() ) {\n\t\t\t\t$( '.select-tables-wrap' ).show();\n\t\t\t}\n\t\t} );\n\n\t\t$( '.show-multiselect' ).each( function() {\n\t\t\tif ( $( this ).is( ':checked' ) ) {\n\t\t\t\t$( this ).parents( '.option-section' ).children( '.header-expand-collapse' ).children( '.expand-collapse-arrow' ).removeClass( 'collapsed' );\n\t\t\t\t$( this ).parents( '.expandable-content' ).show();\n\t\t\t\t$( this ).parents( '.expandable-content' ).children( '.select-wrap' ).toggle();\n\t\t\t}\n\t\t} );\n\n\t\t$( 'input[name=backup_option]' ).change( function() {\n\t\t\t$( '.backup-tables-wrap' ).hide();\n\t\t\tif ( 'backup_manual_select' === $( this ).val() ) {\n\t\t\t\t$( '.backup-tables-wrap' ).show();\n\t\t\t}\n\t\t} );\n\n\t\tif ( $( '#backup-manual-select' ).is( ':checked' ) ) {\n\t\t\t$( '.backup-tables-wrap' ).show();\n\t\t}\n\n\t\t$( '.plugin-compatibility-save' ).click( function() {\n\t\t\tif ( globals.doing_plugin_compatibility_ajax ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t$( this ).addClass( 'disabled' );\n\t\t\tvar select_element = $( '#selected-plugins' );\n\t\t\t$( select_element ).attr( 'disabled', 'disabled' );\n\n\t\t\t$( '.plugin-compatibility-success-msg' ).remove();\n\n\t\t\tglobals.doing_plugin_compatibility_ajax = true;\n\t\t\t$( this ).after( '\"\"' );\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_whitelist_plugins',\n\t\t\t\t\twhitelist_plugins: $( select_element ).val(),\n\t\t\t\t\tnonce: wpmdb_data.nonces.whitelist_plugins\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\talert( wpmdb_strings.blacklist_problem + '\\r\\n\\r\\n' + wpmdb_strings.status + ' ' + jqXHR.status + ' ' + jqXHR.statusText + '\\r\\n\\r\\n' + wpmdb_strings.response + '\\r\\n' + jqXHR.responseText );\n\t\t\t\t\t$( select_element ).removeAttr( 'disabled' );\n\t\t\t\t\t$( '.plugin-compatibility-save' ).removeClass( 'disabled' );\n\t\t\t\t\tglobals.doing_plugin_compatibility_ajax = false;\n\t\t\t\t\t$( '.plugin-compatibility-spinner' ).remove();\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\tif ( '' !== $.trim( data ) ) {\n\t\t\t\t\t\talert( data );\n\t\t\t\t\t}\n\t\t\t\t\t$( select_element ).removeAttr( 'disabled' );\n\t\t\t\t\t$( '.plugin-compatibility-save' ).removeClass( 'disabled' );\n\t\t\t\t\tglobals.doing_plugin_compatibility_ajax = false;\n\t\t\t\t\t$( '.plugin-compatibility-spinner' ).remove();\n\t\t\t\t\t$( '.plugin-compatibility-save' ).after( '' + wpmdb_strings.saved + '' );\n\t\t\t\t\t$( '.plugin-compatibility-success-msg' ).fadeOut( 2000 );\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\t// delete a profile from the migrate form area\n\t\t$( 'body' ).on( 'click', '.delete-profile', function() {\n\t\t\tvar name = $( this ).next().clone();\n\t\t\t$( 'input', name ).remove();\n\t\t\tname = $.trim( $( name ).html() );\n\t\t\tvar answer = confirm( wpmdb_strings.remove_profile.replace( '{{profile}}', name ) );\n\n\t\t\tif ( !answer ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar $profile_li = $( this ).parent();\n\n\t\t\tif ( $profile_li.find( 'input:checked' ).length ) {\n\t\t\t\tvar $new_profile_li = $profile_li.siblings().last();\n\t\t\t\t$new_profile_li.find( 'input[type=radio]' ).prop( 'checked', 'checked' );\n\t\t\t\t$new_profile_li.find( 'input[type=text]' ).focus();\n\t\t\t\t$( '#migrate-form .crumbs .crumb:last' ).text( 'New Profile' );\n\n\t\t\t\tif ( 'function' === typeof window.history.pushState ) {\n\t\t\t\t\tvar updated_url = window.location.href.replace( '#migrate', '' ).replace( /&wpmdb-profile=-?\\d+/, '' ) + '&wpmdb-profile=-1';\n\t\t\t\t\twindow.history.pushState( { updated_profile_id: -1 }, null, updated_url );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$profile_li.fadeOut( 500 );\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_delete_migration_profile',\n\t\t\t\t\tprofile_id: $( this ).attr( 'data-profile-id' ),\n\t\t\t\t\tnonce: wpmdb_data.nonces.delete_migration_profile\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\talert( wpmdb_strings.remove_profile_problem );\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\tif ( '-1' === data ) {\n\t\t\t\t\t\talert( wpmdb_strings.remove_profile_not_found );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t} );\n\n\t\t// deletes a profile from the main profile selection screen\n\t\t$( '.main-list-delete-profile-link' ).click( function() {\n\t\t\tvar name = $( this ).prev().html();\n\t\t\tvar answer = confirm( wpmdb_strings.remove_profile.replace( '{{profile}}', name ) );\n\n\t\t\tif ( !answer ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$( this ).parent().fadeOut( 500 );\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_delete_migration_profile',\n\t\t\t\t\tprofile_id: $( this ).attr( 'data-profile-id' ),\n\t\t\t\t\tnonce: wpmdb_data.nonces.delete_migration_profile\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\talert( wpmdb_strings.remove_profile_problem );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t} );\n\n\t\t// warn the user when editing the connection info after a connection has been established\n\t\t$( 'body' ).on( 'click', '.temp-disabled', function() {\n\t\t\tvar answer = confirm( wpmdb_strings.change_connection_info );\n\n\t\t\tif ( answer ) {\n\t\t\t\t$( '.ssl-notice' ).hide();\n\t\t\t\t$( '.different-plugin-version-notice' ).hide();\n\t\t\t\t$( '.migrate-db-button' ).show();\n\t\t\t\t$( '.temp-disabled' ).removeAttr( 'readonly' );\n\t\t\t\t$( '.temp-disabled' ).removeClass( 'temp-disabled' );\n\t\t\t\t$( '.connect-button' ).show();\n\t\t\t\t$( '.step-two' ).hide();\n\t\t\t\t$( '.connection-status' ).show().html( wpmdb_strings.enter_connection_info );\n\t\t\t\tglobals.connection_established = false;\n\t\t\t}\n\t\t} );\n\n\t\t// ajax request for settings page when checking/unchecking setting radio buttons\n\t\t$( '.settings-tab input[type=checkbox]' ).change( function() {\n\t\t\tif ( 'plugin-compatibility' === $( this ).attr( 'id' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar checked = $( this ).is( ':checked' );\n\t\t\tvar setting = $( this ).attr( 'id' );\n\t\t\tvar $status = $( this ).closest( 'td' ).next( 'td' ).find( '.setting-status' );\n\n\t\t\t$( '.ajax-success-msg' ).remove();\n\t\t\t$status.after( globals.ajax_spinner );\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'text',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_save_setting',\n\t\t\t\t\tchecked: checked,\n\t\t\t\t\tsetting: setting,\n\t\t\t\t\tnonce: wpmdb_data.nonces.save_setting\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\talert( wpmdb_strings.save_settings_problem );\n\t\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\t\t$status.append( '' + wpmdb_strings.saved + '' );\n\t\t\t\t\t$( '.ajax-success-msg' ).fadeOut( 2000, function() {\n\t\t\t\t\t\t$( this ).remove();\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t} );\n\n\t\t// disable form submissions\n\t\t$( '.migrate-form' ).submit( function( e ) {\n\t\t\te.preventDefault();\n\t\t} );\n\n\t\t// fire connection_box_changed when the connect button is pressed\n\t\t$( '.connect-button' ).click( function( event ) {\n\t\t\tevent.preventDefault();\n\t\t\t$( this ).blur();\n\t\t\twpmdb.functions.connection_box_changed();\n\t\t} );\n\n\t\t// send paste even to connection_box_changed() function\n\t\t$( '.pull-push-connection-info' ).bind( 'paste', function( e ) {\n\t\t\tvar $this = this;\n\t\t\tsetTimeout( function() {\n\t\t\t\twpmdb.functions.connection_box_changed();\n\t\t\t}, 0 );\n\n\t\t} );\n\n\t\t$( 'body' ).on( 'click', '.try-again', function() {\n\t\t\t$( '.pull-push-connection-info' ).removeClass( 'temp-disabled' );\n\t\t\twpmdb.functions.connection_box_changed();\n\t\t} );\n\n\t\t$( 'body' ).on( 'click', '.try-http', function() {\n\t\t\tvar connection_info = $.trim( $( '.pull-push-connection-info' ).val() ).split( '\\n' );\n\t\t\tvar new_url = connection_info[ 0 ].replace( 'https', 'http' );\n\t\t\tvar new_contents = new_url + '\\n' + connection_info[ 1 ];\n\t\t\t$( '.pull-push-connection-info' ).val( new_contents );\n\t\t\twpmdb.functions.connection_box_changed();\n\t\t} );\n\n\t\t$( '.create-new-profile' ).change( function() {\n\t\t\tglobals.profile_name_edited = true;\n\t\t} );\n\n\t\t$( 'body' ).on( 'click', '.temporarily-disable-ssl', function() {\n\t\t\tvar hash = '';\n\t\t\tif ( window.location.hash ) {\n\t\t\t\thash = window.location.hash.substring( 1 );\n\t\t\t}\n\t\t\t$( this ).attr( 'href', $( this ).attr( 'href' ) + '&hash=' + hash );\n\t\t} );\n\n\t\t// Sets the initial Pause/Resume button event to Pause\n\t\t$( 'body' ).on( 'click', '.pause-resume', function( event ) {\n\t\t\tglobals.set_pause_resume_button( event );\n\t\t} );\n\n\t\t$( 'body' ).on( 'click', '.cancel', function( event ) {\n\t\t\tglobals.cancel_migration( event );\n\t\t} );\n\n\t\t$( '.enter-licence' ).click( function() {\n\t\t\t$( '.settings' ).click();\n\t\t\t$( '.licence-input' ).focus();\n\t\t} );\n\n\t\t$( 'body' ).on( 'click', '.copy-licence-to-remote-site', function() {\n\t\t\t$( '.connection-status' ).html( wpmdb_strings.copying_license );\n\t\t\t$( '.connection-status' ).removeClass( 'notification-message error-notice migration-error' );\n\t\t\t$( '.connection-status' ).append( globals.ajax_spinner );\n\n\t\t\tvar connection_info = $.trim( $( '.pull-push-connection-info' ).val() ).split( '\\n' );\n\n\t\t\tglobals.doing_ajax = true;\n\t\t\tglobals.disable_export_type_controls();\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_copy_licence_to_remote_site',\n\t\t\t\t\turl: connection_info[ 0 ],\n\t\t\t\t\tkey: connection_info[ 1 ],\n\t\t\t\t\tnonce: wpmdb_data.nonces.copy_licence_to_remote_site\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\t$( '.connection-status' ).html( globals.get_ajax_errors( jqXHR.responseText, '(#143)', jqXHR ) );\n\t\t\t\t\t$( '.connection-status' ).addClass( 'notification-message error-notice migration-error' );\n\t\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\t\tglobals.enable_export_type_controls();\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\t\tglobals.enable_export_type_controls();\n\n\t\t\t\t\tif ( 'undefined' !== typeof data.wpmdb_error && 1 === data.wpmdb_error ) {\n\t\t\t\t\t\t$( '.connection-status' ).html( data.body );\n\t\t\t\t\t\t$( '.connection-status' ).addClass( 'notification-message error-notice migration-error' );\n\n\t\t\t\t\t\tif ( data.body.indexOf( '401 Unauthorized' ) > -1 ) {\n\t\t\t\t\t\t\t$( '.basic-access-auth-wrapper' ).show();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\twpmdb.functions.connection_box_changed();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\n\t\t$( 'body' ).on( 'click', '.reactivate-licence', function( e ) {\n\t\t\tglobals.doing_ajax = true;\n\n\t\t\t$( '.invalid-licence' ).empty().html( wpmdb_strings.attempting_to_activate_licence );\n\t\t\t$( '.invalid-licence' ).append( globals.ajax_spinner );\n\n\t\t\t$.ajax( {\n\t\t\t\turl: ajaxurl,\n\t\t\t\ttype: 'POST',\n\t\t\t\tdataType: 'json',\n\t\t\t\tcache: false,\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'wpmdb_reactivate_licence',\n\t\t\t\t\tnonce: wpmdb_data.nonces.reactivate_licence\n\t\t\t\t},\n\t\t\t\terror: function( jqXHR, textStatus, errorThrown ) {\n\t\t\t\t\t$( '.invalid-licence' ).html( wpmdb_strings.activate_licence_problem );\n\t\t\t\t\t$( '.invalid-licence' ).append( '

    ' + wpmdb_strings.status + ': ' + jqXHR.status + ' ' + jqXHR.statusText + '

    ' + wpmdb_strings.response + '
    ' + jqXHR.responseText );\n\t\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\t\tglobals.doing_ajax = false;\n\t\t\t\t},\n\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\t$( '.ajax-spinner' ).remove();\n\t\t\t\t\tglobals.doing_ajax = false;\n\n\t\t\t\t\tif ( 'undefined' !== typeof data.wpmdb_error && 1 === data.wpmdb_error ) {\n\t\t\t\t\t\t$( '.invalid-licence' ).html( data.body );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( 'undefined' !== typeof data.wpmdb_dbrains_api_down && 1 === data.wpmdb_dbrains_api_down ) {\n\t\t\t\t\t\t$( '.invalid-licence' ).html( wpmdb_strings.temporarily_activated_licence );\n\t\t\t\t\t\t$( '.invalid-licence' ).append( data.body );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t$( '.invalid-licence' ).empty().html( wpmdb_strings.licence_reactivated );\n\t\t\t\t\tlocation.reload();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t} );\n\n\t\t$( 'input[name=table_migrate_option]' ).change( function() {\n\t\t\tglobals.maybe_show_mixed_cased_table_name_warning();\n\t\t\t$.wpmdb.do_action( 'wpmdb_tables_to_migrate_changed' );\n\t\t} );\n\n\t\t$( 'body' ).on( 'change', '#select-tables', function() {\n\t\t\tglobals.maybe_show_mixed_cased_table_name_warning();\n\t\t\t$.wpmdb.do_action( 'wpmdb_tables_to_migrate_changed' );\n\t\t} );\n\n\t\t$.wpmdb.add_filter( 'wpmdb_get_table_prefix', globals.get_table_prefix );\n\t\t$.wpmdb.add_filter( 'wpmdb_get_tables_to_migrate', wpmdb.functions.get_tables_to_migrate );\n\t\t$.wpmdb.add_action( 'wpmdb_lock_replace_url', globals.lock_replace_url );\n\t\t$.wpmdb.add_action( 'wpmdb_pin_replace_url', globals.pin_replace_url );\n\t\t$.wpmdb.add_action( 'move_connection_info_box', wpmdb.functions.exclude_post_types_warning );\n\n\t\t$.wpmdb.add_filter( 'wpmdb_before_migration_complete_hooks', function( hooks ) {\n\t\t\tglobals.pause_before_finalize = !!$( 'input[name=pause_before_finalize]:checked' ).length;\n\t\t\tif ( true === globals.pause_before_finalize && 'savefile' !== globals.migration_intent ) {\n\t\t\t\tglobals.set_pause_resume_button( null ); // don't just set migration_paused to true, since `set_pause_resume_button` will get double bound to clicking resume\n\t\t\t\twindow.is_auto_pause_before_finalize = true;\n\t\t\t}\n\t\t\treturn hooks;\n\t\t} );\n\n\t\t$( '.wpmdb-switch' ).on( 'click', function( e ) {\n\t\t\tif ( !$( this ).hasClass( 'disabled' ) ) {\n\t\t\t\tglobals.set_checkbox( $( this ).attr( 'id' ) );\n\t\t\t}\n\t\t} );\n\n\t\t$( '#beta_optin-wrap' ).on( 'click', function( e ) {\n\t\t\tvar switch_on = $( this ).find( 'span.on' ).hasClass( 'checked' );\n\t\t\tif ( switch_on ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( !wpmdb_data.is_beta_plugins_installed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar answer = confirm( wpmdb_strings.rollback_beta_to_stable );\n\n\t\t\tif ( !answer ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\twindow.location = wpmdb_data.rollback_to_stable_url;\n\t\t} );\n\n\t} );\n})( jQuery, wpmdb );\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/script.js","// allow enable/disable of usage tracking from non-dismissable notice\njQuery( function() {\n\tjQuery('.wpmdb-opt-usage-tracking').on( 'click', function(e) {\n\t\te.preventDefault();\n\t\tvar optIn = e.target.classList.contains('opt-yes') ? true : false\n\n\t\tjQuery('.wpmdb-usage-tracking-notice .links').text( (optIn) ? \"Thanks!\" : \"Done.\" );\n\t\tjQuery('.wpmdb-usage-tracking-notice').delay(1000).fadeOut(200);\n\n\t\tvar $switch = jQuery('#allow_tracking-wrap');\n\t\tif( optIn ) {\n\t\t\tif( ! $switch.hasClass('on') ) {\n\t\t\t\t$switch.trigger('click');\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\tif( $switch.hasClass('on') ) {\n\t\t\t\t$switch.trigger('click');\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t$switch.find('input[type=checkbox]').trigger('change');\n\t} );\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/wp-migrate-db-pro/asset/src/js/usage-tracking-notice.js","/*** IMPORTS FROM imports-loader ***/\nvar $ = window.jQuery;\n\n// removed by extract-text-webpack-plugin\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/imports-loader?$=>window.jQuery!./src/wp-migrate-db-pro/asset/src/sass/_migration-progress.scss\n// module id = 29\n// module chunks = 0","/*** IMPORTS FROM imports-loader ***/\nvar $ = window.jQuery;\n\n// removed by extract-text-webpack-plugin\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/imports-loader?$=>window.jQuery!./src/wp-migrate-db-pro/asset/src/sass/_progress-upgrade.scss\n// module id = 30\n// module chunks = 0","/*** IMPORTS FROM imports-loader ***/\nvar $ = window.jQuery;\n\n// removed by extract-text-webpack-plugin\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/imports-loader?$=>window.jQuery!./src/wp-migrate-db-pro/asset/src/sass/plugin-update-styles.scss\n// module id = 31\n// module chunks = 0","/*** IMPORTS FROM imports-loader ***/\nvar $ = window.jQuery;\n\n// removed by extract-text-webpack-plugin\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/imports-loader?$=>window.jQuery!./src/wp-migrate-db-pro/asset/src/sass/styles.scss\n// module id = 32\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/asset/build/js/bundle-104.js b/asset/build/js/bundle-104.js new file mode 100644 index 0000000..74ba735 --- /dev/null +++ b/asset/build/js/bundle-104.js @@ -0,0 +1,2 @@ +!function(e){var t={};function i(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=44)}([function(e,t){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,t,i){"use strict";t.__esModule=!0;var n=s(i(57)),o=s(i(74)),a="function"==typeof o.default&&"symbol"==typeof n.default?function(e){return typeof e}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":typeof e};function s(e){return e&&e.__esModule?e:{default:e}}t.default="function"==typeof o.default&&"symbol"===a(n.default)?function(e){return void 0===e?"undefined":a(e)}:function(e){return e&&"function"==typeof o.default&&e.constructor===o.default&&e!==o.default.prototype?"symbol":void 0===e?"undefined":a(e)}},function(e,t,i){var n=i(12),o=i(30),a=i(17),s=Object.defineProperty;t.f=i(3)?Object.defineProperty:function(e,t,i){if(n(e),t=a(t,!0),n(i),o)try{return s(e,t,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[t]=i.value),e}},function(e,t,i){e.exports=!i(13)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){var i={}.hasOwnProperty;e.exports=function(e,t){return i.call(e,t)}},function(e,t,i){var n=i(2),o=i(14);e.exports=i(3)?function(e,t,i){return n.f(e,t,o(1,i))}:function(e,t,i){return e[t]=i,e}},function(e,t,i){var n=i(63),o=i(19);e.exports=function(e){return n(o(e))}},function(e,t,i){var n=i(24)("wks"),o=i(15),a=i(0).Symbol,s="function"==typeof a;(e.exports=function(e){return n[e]||(n[e]=s&&a[e]||(s?a:o)("Symbol."+e))}).store=n},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,i){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,i){"use strict";t.__esModule=!0;var n=function(e){return e&&e.__esModule?e:{default:e}}(i(46));t.default=function(){function e(e,t){for(var i=0;i0?n:i)(e)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){e.exports=!0},function(e,t){e.exports={}},function(e,t,i){var n=i(35),o=i(25);e.exports=Object.keys||function(e){return n(e,o)}},function(e,t,i){var n=i(24)("keys"),o=i(15);e.exports=function(e){return n[e]||(n[e]=o(e))}},function(e,t,i){var n=i(0),o=n["__core-js_shared__"]||(n["__core-js_shared__"]={});e.exports=function(e){return o[e]||(o[e]={})}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,i){var n=i(2).f,o=i(4),a=i(7)("toStringTag");e.exports=function(e,t,i){e&&!o(e=i?e:e.prototype,a)&&n(e,a,{configurable:!0,value:t})}},function(e,t,i){t.f=i(7)},function(e,t,i){var n=i(0),o=i(11),a=i(20),s=i(27),r=i(2).f;e.exports=function(e){var t=o.Symbol||(o.Symbol=a?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||r(t,e,{value:s.f(e)})}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,i){e.exports=!i(3)&&!i(13)(function(){return 7!=Object.defineProperty(i(31)("div"),"a",{get:function(){return 7}}).a})},function(e,t,i){var n=i(8),o=i(0).document,a=n(o)&&n(o.createElement);e.exports=function(e){return a?o.createElement(e):{}}},function(e,t,i){"use strict";var n=i(20),o=i(16),a=i(33),s=i(5),r=i(4),l=i(21),c=i(61),p=i(26),d=i(68),m=i(7)("iterator"),_=!([].keys&&"next"in[].keys()),u=function(){return this};e.exports=function(e,t,i,g,h,f,b){c(i,t,g);var w,v,y,x=function(e){if(!_&&e in T)return T[e];switch(e){case"keys":case"values":return function(){return new i(this,e)}}return function(){return new i(this,e)}},k=t+" Iterator",j="values"==h,S=!1,T=e.prototype,$=T[m]||T["@@iterator"]||h&&T[h],C=!_&&$||x(h),F=h?j?x("entries"):C:void 0,z="Array"==t&&T.entries||$;if(z&&(y=d(z.call(new e)))!==Object.prototype&&y.next&&(p(y,k,!0),n||r(y,m)||s(y,m,u)),j&&$&&"values"!==$.name&&(S=!0,C=function(){return $.call(this)}),n&&!b||!_&&!S&&T[m]||s(T,m,C),l[t]=C,l[k]=u,h)if(w={values:j?C:x("values"),keys:f?C:x("keys"),entries:F},b)for(v in w)v in T||a(T,v,w[v]);else o(o.P+o.F*(_||S),t,w);return w}},function(e,t,i){e.exports=i(5)},function(e,t,i){var n=i(12),o=i(62),a=i(25),s=i(23)("IE_PROTO"),r=function(){},l=function(){var e,t=i(31)("iframe"),n=a.length;for(t.style.display="none",i(67).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("